350 lines
10 KiB
RPMSpec
350 lines
10 KiB
RPMSpec
%define repodir %{_javadir}/repository.jboss.com/antlr/2.7.6-brew
|
|
%define repodirlib %{repodir}/lib
|
|
%define repodirsrc %{repodir}/src
|
|
Name: antlr
|
|
Version: 2.7.7
|
|
Release: 9mamba
|
|
Summary: ANother Tool for Language Recognition
|
|
Group: Development/Tools
|
|
Vendor: openmamba
|
|
Distribution: openmamba
|
|
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
|
|
URL: http://antlr.org/
|
|
Source0: http://www.antlr2.org/download/antlr-%{version}.tar.gz
|
|
Source1: antlr-2.7.7-build.xml
|
|
#http://www.antlr.org/share/1069557132934/makefile.gcj
|
|
#Source2: makefile.gcj
|
|
Source3: http://www.ibiblio.org/maven/antlr/poms/antlr-%{version}.pom
|
|
Source4: java-component-info3.xml
|
|
Patch0: antlr-2.7.5-gcc4.patch
|
|
Patch1: antlr-2.7.7-includestrings.patch
|
|
# requires jedit
|
|
Patch2: antlr-2.7.7-jedit.patch
|
|
Patch3: antlr-2.7.7-newgcc.patch
|
|
License: Public Domain
|
|
## AUTOBUILDREQ-BEGIN
|
|
## AUTOBUILDREQ-END
|
|
BuildRequires: apache-ant
|
|
BuildRequires: doxygen
|
|
BuildRequires: graphviz
|
|
BuildRequires: jpackage-utils
|
|
BuildRequires: libpython-devel
|
|
BuildRequires: mono-core
|
|
BuildRequires: mono-winforms
|
|
#BuildRequires: java-gcj-compat
|
|
#BuildRequires: gcc-java
|
|
#BuildRequires: java-gcj-compat
|
|
#BuildRequires: libgcj4-devel
|
|
#BuildRequires: /usr/bin/javadoc
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
|
|
|
%description
|
|
ANother Tool for Language Recognition, (formerly PCCTS) is a language tool that provides a framework for constructing recognizers, compilers, and translators from grammatical descriptions containing Java, C#, C++, or Python actions. ANTLR provides excellent support for tree construction, tree walking, and translation.
|
|
|
|
%package manual
|
|
Group: Development/Tools
|
|
Summary: Manual for %{name}
|
|
|
|
%description manual
|
|
ANother Tool for Language Recognition.
|
|
This package contains documentation for %{name}.
|
|
|
|
%package javadoc
|
|
Group: Documentation
|
|
Summary: Javadoc for %{name}
|
|
|
|
%description javadoc
|
|
ANother Tool for Language Recognition.
|
|
This package contains javadoc for %{name}.
|
|
|
|
%package C++
|
|
Group: Development/Libraries
|
|
Summary: C++ run-time support for ANTLR-generated parsers
|
|
|
|
%description C++
|
|
ANother Tool for Language Recognition.
|
|
This package contains C++ run-time support for ANTLR-generated parsers
|
|
|
|
%package C++-doc
|
|
Group: Documentation
|
|
Summary: Development documentation for the C++ bindings for ANTLR-generated parsers
|
|
|
|
%description C++-doc
|
|
ANother Tool for Language Recognition.
|
|
This package contains development documentation for the C++ bindings for ANTLR-generated parsers
|
|
|
|
%package -n python-antlr
|
|
Group: Development/Libraries/Python
|
|
Summary: Python run-time support for ANTLR-generated parsers
|
|
|
|
%description -n python-antlr
|
|
ANother Tool for Language Recognition.
|
|
This package contains Python run-time support for ANTLR-generated parsers
|
|
|
|
%package repolib
|
|
Group: Development/Libraries/Java
|
|
Summary: Artifacts to be uploaded to a repository library
|
|
|
|
%description repolib
|
|
ANother Tool for Language Recognition.
|
|
This package contains artifacts to be uploaded to a repository library.
|
|
This package is not meant to be installed but so its contents can be extracted through rpm2cpio.
|
|
|
|
%package sharp
|
|
Group: Development/Libraries
|
|
Summary: C# run-time support for ANTLR-generated parsers
|
|
|
|
%description sharp
|
|
ANother Tool for Language Recognition.
|
|
This package contains C# run-time support for ANTLR-generated parsers
|
|
|
|
%package gcj
|
|
Summary: GCJ %{name} support
|
|
Group: System/Libraries/Java
|
|
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
|
|
Requires: java-gcj-compat
|
|
Requires: jpackage-utils
|
|
|
|
%description gcj
|
|
%{name} - ANother Tool for Language Recognition.
|
|
This package contains GCJ %{name} support.
|
|
|
|
%prep
|
|
%setup -q
|
|
#-D -T
|
|
#:<< ____EOF
|
|
#%patch0 -p1
|
|
#%patch1 -p1
|
|
#%patch2 -p1
|
|
%patch3 -p1
|
|
|
|
find . -type f -name "*.class" -exec rm -f {} \;
|
|
|
|
for j in $(find -name "*.jar"); do
|
|
mv $j $j.no
|
|
done
|
|
|
|
cp -p %{S:1} build.xml
|
|
sed -i 's/\r//' LICENSE.txt
|
|
%{__perl} -pi -e 's|"doc/|"%{_docdir}/%{name}-manual-%{version}/|g' install.html
|
|
|
|
for p in $(find . -name "*.py"); do
|
|
sed -i 's|#!/usr/bin/python|#!%{__python}|' $p
|
|
sed -i 's|#!/usr/bin/env python|#!%{__python}|' $p
|
|
sed -i 's|#!python|#!%{__python}|' $p
|
|
sed -i 's|#!/usr/local/bin/python2.1|#!%{__python}|' $p
|
|
sed -i 's|#!/usr/local/bin/python|#!%{__python}|' $p
|
|
done
|
|
|
|
sed -i 's|#!/usr/bin/env python|#!%{__python}|' scripts/pyinst.sh.in
|
|
|
|
|
|
%patch2 -p1
|
|
|
|
%build
|
|
export JAVA_HOME=%{java_home}
|
|
ant -Dj2se.apidoc=%{_javadocdir}/java
|
|
cp work/lib/antlr.jar .
|
|
export CLASSPATH=.
|
|
%configure \
|
|
--disable-examples \
|
|
--with-bootclasspath=$JAVA_HOME/jre/lib/rt.jar \
|
|
--with-java=$JAVA_HOME/bin/java \
|
|
--with-javac=$JAVA_HOME/bin/javac \
|
|
--with-jar=$JAVA_HOME/bin/jar \
|
|
--with-python=%{__python}
|
|
|
|
rm antlr.jar
|
|
make CXXFLAGS="${CXXFLAGS:-%optflags} -fPIC"
|
|
|
|
%ifnarch arm
|
|
pushd lib/cpp
|
|
doxygen doxygen.cfg
|
|
find gen_doc -type f -exec chmod 0644 {} \;
|
|
popd
|
|
%endif
|
|
|
|
#cd lib/python
|
|
# %{__python} setup.py build
|
|
#cd ../../
|
|
|
|
%install
|
|
[ "%{buildroot}" != / ] && rm -rf %{buildroot}
|
|
%makeoldinstall
|
|
|
|
mkdir -p %{buildroot}%{_javadir}
|
|
mkdir -p %{buildroot}%{_datadir}/maven2/poms
|
|
|
|
install -pm 644 work/lib/antlr.jar \
|
|
%{buildroot}%{_javadir}/antlr-%{version}.jar
|
|
|
|
|
|
#cd lib/python
|
|
# %{__python} setup.py install -O1 --skip-build --root %{buildroot}
|
|
#cd ../..
|
|
|
|
rm -rf %{buildroot}%{_libdir}/antlr.jar
|
|
ln -sf ../share/java/antlr-%{version}.jar %{buildroot}%{_libdir}/antlr.jar
|
|
|
|
%{_bindir}/aot-compile-rpm
|
|
|
|
(
|
|
cd %{buildroot}%{_javadir}/
|
|
for jar in *-%{version}.jar; do
|
|
ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`
|
|
done
|
|
)
|
|
|
|
install -m 644 %{SOURCE3} %{buildroot}%{_datadir}/maven2/poms/JPP-antlr.pom
|
|
%add_to_maven_depmap antlr antlr %{version} JPP antlr
|
|
|
|
mkdir -p %{buildroot}%{_javadocdir}/antlr-%{version}
|
|
cp -pr work/api/* %{buildroot}%{_javadocdir}/antlr-%{version}
|
|
ln -s antlr-%{version} %{buildroot}%{_javadocdir}/antlr
|
|
|
|
rm -rf %{buildroot}%{_docdir}/
|
|
|
|
rm doc/{Makefile,Makefile.in}
|
|
chmod 0644 doc/*
|
|
|
|
mkdir -p %{buildroot}%{_datadir}/jedit/modes
|
|
cp -p extras/antlr-jedit.xml %{buildroot}%{_datadir}/jedit/modes/antlr.xml
|
|
|
|
mkdir -p %{buildroot}%{repodir}
|
|
mkdir -p %{buildroot}%{repodirlib}
|
|
install -p -m 644 %{SOURCE4} %{buildroot}%{repodir}/component-info.xml
|
|
tag=`echo %{name}-%{version}-%{release} | sed 's|\.|_|g'`
|
|
sed -i "s/@TAG@/$tag/g" %{buildroot}%{repodir}/component-info.xml
|
|
sed -i "s/@NAME@/antlr-component-info/g" %{buildroot}%{repodir}/component-info.xml
|
|
sed -i "s/@ID@/antlr/g" %{buildroot}%{repodir}/component-info.xml
|
|
sed -i "s/@VERSION@/%{version}%{rel}-brew/g" %{buildroot}%{repodir}/component-info.xml
|
|
sed -i "s/@LICENSE@/antlr/g" %{buildroot}%{repodir}/component-info.xml
|
|
sed -i "s|@PROJECTHOME@|%{url}|g" %{buildroot}%{repodir}/component-info.xml
|
|
sed -i "s/@DESCRIPTION@/ANother Tool for Language Recognition/g" %{buildroot}%{repodir}/component-info.xml
|
|
sed -i "s/@ARTIFACTID@/antlr.jar/g" %{buildroot}%{repodir}/component-info.xml
|
|
sed -i "s/@INCLUDEINPUT@/antlr.jar/g" %{buildroot}%{repodir}/component-info.xml
|
|
mkdir -p %{buildroot}%{repodirsrc}
|
|
install -pm 644 %{PATCH0} %{buildroot}%{repodirsrc}
|
|
install -pm 644 %{PATCH1} %{buildroot}%{repodirsrc}
|
|
install -pm 644 %{PATCH2} %{buildroot}%{repodirsrc}
|
|
install -pm 644 %{PATCH3} %{buildroot}%{repodirsrc}
|
|
cp %{SOURCE0} %{buildroot}%{repodirsrc}
|
|
cp %{SOURCE1} %{buildroot}%{repodirsrc}
|
|
cp -p %{buildroot}%{_javadir}/antlr-%{version}.jar %{buildroot}%{repodirlib}/antlr.jar
|
|
|
|
%clean
|
|
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
|
|
|
%post
|
|
%update_maven_depmap
|
|
|
|
%postun
|
|
%update_maven_depmap
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
%{_bindir}/antlr
|
|
%{_javadir}/antlr-%{version}.jar
|
|
%{_javadir}/antlr.jar
|
|
%{_libdir}/antlr.jar
|
|
%dir %{_datadir}/antlr-%{version}/
|
|
%{_datadir}/antlr-%{version}/antlr-mode.el
|
|
%{_datadir}/antlr-%{version}/antlr.jar
|
|
%{_datadir}/antlr-%{version}/antlr-jedit.xml
|
|
%{_datadir}/jedit/modes/antlr.xml
|
|
%{_datadir}/maven2/poms
|
|
%{_mavendepmapfragdir}
|
|
%doc LICENSE.txt README.txt
|
|
|
|
%post gcj
|
|
/sbin/ldconfig
|
|
if [ -x %{_bindir}/rebuild-gcj-db ]; then
|
|
%{_bindir}/rebuild-gcj-db
|
|
fi
|
|
|
|
%postun gcj
|
|
/sbin/ldconfig
|
|
if [ -x %{_bindir}/rebuild-gcj-db ]; then
|
|
%{_bindir}/rebuild-gcj-db
|
|
fi
|
|
|
|
%files gcj
|
|
%defattr(-,root,root)
|
|
%{_libdir}/gcj/antlr/antlr*.jar.db
|
|
%{_libdir}/gcj/antlr/antlr*.jar.so
|
|
|
|
%files manual
|
|
%defattr(-,root,root)
|
|
%doc doc
|
|
|
|
%files C++
|
|
%defattr(-,root,root)
|
|
%{_bindir}/antlr-config
|
|
%dir %{_includedir}/antlr
|
|
%{_includedir}/antlr/*.hpp
|
|
%{_libdir}/libantlr.a
|
|
|
|
%if "%{stage1}" != "1"
|
|
%files C++-doc
|
|
%defattr(-,root,root)
|
|
%doc lib/cpp/gen_doc/html/
|
|
%endif
|
|
|
|
%files -n python-antlr
|
|
%defattr(-,root,root)
|
|
%{_libdir}/antlr.py
|
|
%{_sbindir}/pyantlr.sh
|
|
%{_datadir}/antlr-%{version}/*.py
|
|
#%dir %{python_sitearch}/antlr
|
|
#%{python_sitearch}/antlr/*.py*
|
|
#%{python_sitearch}/antlr-*-py%{python_version}.egg-info
|
|
|
|
%files sharp
|
|
%defattr(-,root,root)
|
|
%{_libdir}/antlr.astframe.dll
|
|
%{_libdir}/antlr.runtime.dll
|
|
%{_datadir}/antlr-%{version}/antlr.*.dll
|
|
|
|
%files javadoc
|
|
%defattr(-,root,root)
|
|
%{_javadocdir}/antlr-%{version}
|
|
%{_javadocdir}/antlr
|
|
|
|
%files repolib
|
|
%defattr(-,root,root)
|
|
%{repodir}
|
|
|
|
%changelog
|
|
* Fri Feb 25 2011 gil <puntogil@libero.it> 2.7.7-9mamba
|
|
- rebuilt with java-gcj-compat 1.0.80-20mamba support
|
|
|
|
* Thu Nov 25 2010 gil <puntogil@libero.it> 2.7.7-8mamba
|
|
- rebuilt devel
|
|
|
|
* Sun Aug 29 2010 gil <puntogil@libero.it> 2.7.7-7mamba
|
|
- added new sub package: C++ C++-doc python-antlr sharp
|
|
|
|
* Thu Nov 12 2009 gil <puntogil@libero.it> 2.7.7-6mamba
|
|
- new sub package antlr-repolib
|
|
|
|
* Sat Sep 05 2009 gil <puntogil@libero.it> 2.7.7-5mamba
|
|
- rebuilt
|
|
|
|
* Sat May 30 2009 gil <puntogil@libero.it> 2.7.7-4mamba
|
|
- add maven2 pom
|
|
|
|
* Sat May 30 2009 gil <puntogil@libero.it> 2.7.7-3mamba
|
|
- linked jar files in %{_libdir}
|
|
|
|
* Wed Mar 11 2009 gil <puntogil@libero.it> 2.7.7-2mamba
|
|
- moved the jar files in %{_javadir}
|
|
|
|
* Fri Feb 20 2009 gil <puntogil@libero.it> 2.7.7-1mamba
|
|
- update to 2.7.7
|
|
- added packages: manual, javadoc
|
|
- added mono support
|
|
- added http://www.jedit.org/ support
|
|
|
|
* Wed Aug 17 2005 Silvan Calarco <silvan.calarco@mambasoft.it> 2.7.5-1qilnx
|
|
- package created by autospec
|