%global debug_package %{nil} # since we have only a static library Summary: ANother Tool for Language Recognition Name: antlr Version: 2.7.7 Release: %mkrel 18 Epoch: 0 License: Public Domain URL: http://www.antlr.org/ Group: Development/Java Source0: http://www.antlr2.org/download/antlr-%{version}.tar.gz Source1: %{name}-build.xml Source2: %{name}-script Patch1: %{name}-%{version}-newgcc.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot %ifarch %ix86 x86_64 ia64 armv4l BuildRequires: mono BuildRequires: mono-winforms %endif BuildRequires: ant BuildRequires: java-javadoc BuildRequires: jpackage-utils BuildRequires: java-devel Requires: jpackage-utils Requires: java %description ANTLR, 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 C++ or Java actions [You can use PCCTS 1.xx to generate C-based parsers]. %package tool Group: Development/Java Summary: ANother Tool for Language Recognition Provides: %{name} = 0:%{version}-%{release} Obsoletes: %{name} < 0%{version}-%{release} Requires: jpackage-utils Requires: java BuildArch: noarch %description tool ANTLR, 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 C++ or Java actions [You can use PCCTS 1.xx to generate C-based parsers]. %package manual Group: Development/Java Summary: Manual for %{name} BuildArch: noarch %description manual Documentation for %{name}. %package javadoc Group: Development/Java Summary: Javadoc for %{name} BuildArch: noarch %description javadoc Javadoc for %{name}. %package C++ Group: Development/Java Summary: C++ bindings for antlr2 generated parsers Provides: antlr-static = %{version}-%{release} %description C++ This package provides a static C++ library for parsers generated by ANTLR2. %package C++-doc Group: Development/Java Summary: Documentation for C++ bindings for antlr2 generated parsers BuildRequires: doxygen BuildArch: noarch %description C++-doc This package contains the documentation for the C++ bindings for parsers generated by ANTLR2. %package python Group: Development/Java Summary: Python runtime support for ANTLR-generated parsers BuildRequires: python-devel BuildRequires: python-setuptools BuildArch: noarch %description python Python runtime support for ANTLR-generated parsers %prep %setup -q # remove all binary libs find . -name "*.jar" -exec rm -f {} \; cp -p %{SOURCE1} build.xml %patch1 # CRLF->LF sed -i 's/\r//' LICENSE.txt %build ant -Dj2se.apidoc=%{_javadocdir}/java cp work/lib/antlr.jar . # make expects to find it here export CLASSPATH=. %configure --without-examples make CXXFLAGS="${CXXFLAGS} -fPIC" DEBUG=1 verbose=1 rm antlr.jar # no longer needed # fix doc permissions and remove Makefiles rm doc/{Makefile,Makefile.in} chmod 0644 doc/* # generate doxygen docs for C++ bindings pushd lib/cpp doxygen doxygen.cfg find gen_doc -type f -exec chmod 0644 {} \; popd # build python cd lib/python %{__python} setup.py build cd ../../ %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT{%{_includedir}/%{name},%{_libdir},%{_bindir}} # jars mkdir -p $RPM_BUILD_ROOT%{_javadir} cp -p work/lib/%{name}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar (cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done) # script install -p -m 755 %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/antlr # C++ lib and headers, antlr-config install -p -m 644 lib/cpp/antlr/*.hpp $RPM_BUILD_ROOT%{_includedir}/%{name} install -p -m 644 lib/cpp/src/libantlr.a $RPM_BUILD_ROOT%{_libdir} install -p -m 755 scripts/antlr-config $RPM_BUILD_ROOT%{_bindir} # javadoc mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} cp -pr work/api/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # python cd lib/python %{__python} setup.py install -O1 --skip-build --root %{buildroot} cd ../.. %clean rm -rf $RPM_BUILD_ROOT %files tool %defattr(-,root,root,-) %doc LICENSE.txt %{_javadir}/%{name}*.jar %{_bindir}/antlr # this is actually a development package for the C++ target # as we ship only a static library, it doesn't make sense # to have a separate -devel package for the headers %files C++ %defattr(-,root,root,-) %{_includedir}/%{name} %{_libdir}/libantlr.a %{_bindir}/antlr-config %files C++-doc %defattr(-,root,root,-) %doc lib/cpp/gen_doc/html/ %files manual %defattr(-,root,root,-) %doc doc/* %files javadoc %defattr(-,root,root,-) %doc %{_javadocdir}/%{name}-%{version} %doc %{_javadocdir}/%{name} %files python %defattr(-,root,root,-) %{python_sitelib}/antlr/* %{python_sitelib}/antlr-* %changelog * Wed Apr 27 2011 dmorgan <dmorgan> 0:2.7.7-18.mga1 + Revision: 92122 - Fix obsoletes * Wed Apr 27 2011 dmorgan <dmorgan> 0:2.7.7-17.mga1 + Revision: 92118 - Fix buildrequires - Fix buildrequires - Sync with fedora package * Tue Jan 11 2011 dmorgan <dmorgan> 0:2.7.7-11.mga1 + Revision: 6080 - imported package antlr * Sun Oct 17 2010 Funda Wang <fwang@mandriva.org> 0:2.7.7-11mdv2011.0 + Revision: 586334 - requires jre * Sun Oct 17 2010 Funda Wang <fwang@mandriva.org> 0:2.7.7-10mdv2011.0 + Revision: 586286 - antlr-native shouldnot provide main package * Sun Oct 17 2010 Funda Wang <fwang@mandriva.org> 0:2.7.7-9mdv2011.0 + Revision: 586251 - add more requires * Sun Oct 17 2010 Funda Wang <fwang@mandriva.org> 0:2.7.7-8mdv2011.0 + Revision: 586215 - fix requires * Sun Oct 17 2010 Funda Wang <fwang@mandriva.org> 0:2.7.7-7mdv2011.0 + Revision: 586211 - merge fedora spec so that we could build c++ interface and java interface at one time * Tue Mar 16 2010 Oden Eriksson <oeriksson@mandriva.com> 0:2.7.7-6mdv2010.1 + Revision: 521995 - rebuilt for 2010.1 * Sun Aug 09 2009 Oden Eriksson <oeriksson@mandriva.com> 0:2.7.7-5mdv2010.0 + Revision: 413028 - rebuild * Fri Mar 06 2009 Antoine Ginies <aginies@mandriva.com> 0:2.7.7-4mdv2009.1 + Revision: 349989 - 2009.1 rebuild * Thu Jul 24 2008 Thierry Vignaud <tv@mandriva.org> 0:2.7.7-3mdv2009.0 + Revision: 245440 - rebuild * Wed Jan 23 2008 Alexander Kurtakov <akurtakov@mandriva.org> 0:2.7.7-2.3.1mdv2008.1 + Revision: 157052 - fix build + Thierry Vignaud <tv@mandriva.org> - BuildRequires jakarta-commons-launcher - rebuild - kill re-definition of %%buildroot on Pixel's request - kill file require on update-alternatives + Olivier Blin <oblin@mandriva.com> - restore BuildRoot * Sat Sep 15 2007 Anssi Hannula <anssi@mandriva.org> 0:2.7.7-1.3mdv2008.0 + Revision: 87196 - rebuild to filter out autorequires of GCJ AOT objects - remove unnecessary Requires(post) on java-gcj-compat * Tue Jul 03 2007 Anssi Hannula <anssi@mandriva.org> 0:2.7.7-1.2mdv2008.0 + Revision: 47573 - rebuild with new libgcj * Sat Jan 20 2007 David Walluck <walluck@mandriva.org> 2.7.7-1.1mdv2007.0 + Revision: 111177 - 2.7.7 - Import antlr * Thu Aug 10 2006 David Walluck <walluck@mandriva.org> 0:2.7.6-4.1mdv2007.0 - add javadoc %%postun * Fri Aug 04 2006 David Walluck <walluck@mandriva.org> 0:2.7.6-2.2mdv2007.0 - use bcond * Tue Jul 18 2006 David Walluck <walluck@mandriva.org> 0:2.7.6-2.1mdv2007.0 - bump release for JPackage 1.7 * Mon Jul 17 2006 David Walluck <walluck@mandriva.org> 0:2.7.6-1.3mdv2007.0 - fix bootstrap * Sun Jun 04 2006 David Walluck <walluck@mandriva.org> 0:2.7.6-1.2mdv2007.0 - rebuild for libgcj.so.7 - aot-compile * Fri Jan 13 2006 David Walluck <walluck@mandriva.org> 0:2.7.6-1.1mdk - 2.7.6 * Thu Sep 15 2005 Götz Waschk <waschk@mandriva.org> 2.7.5-1mdk - update file list - New release 2.7.5 * Fri May 13 2005 David Walluck <walluck@mandriva.org> 0:2.7.4-2.2mdk - rebuild as non-bootstrap * Sun May 08 2005 David Walluck <walluck@mandriva.org> 0:2.7.4-2.1mdk - release * Sat Aug 21 2004 Ralph Apel <r.apel at r-apel.de> - 0:2.7.4-2jpp - Build with ant-1.6.2. - Made native scripts conditional * Wed May 19 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:2.7.4-1jpp - Update to 2.7.4. * Sat Apr 03 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:2.7.3-2jpp - Create alternatives also on upgrades. * Thu Apr 01 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:2.7.3-1jpp - Update to 2.7.3. - Include gcj build option and a native subpackage, build using "--with native" to get that. - Add /usr/bin/antlr alternative.