%global debug_package %{nil} # since we have only a static library Summary: ANother Tool for Language Recognition Summary(ja): 構文解析器生成ツール Name: antlr Version: 2.7.7 Release: 12%{?_dist_release} Group: Development/Tools License: Public Domain URL: http://www.antlr.org/ Source0: http://www.antlr2.org/download/antlr-%{version}.tar.gz Source1: %{name}-build.xml Source2: %{name}-script Patch1: %{name}-%{version}-newgcc.patch # see BZ#848662 Patch2: antlr-examples-license.patch BuildRoot: %{_tmppath}/%{name}-%{version}-root BuildRequires: ant BuildRequires: doxygen BuildRequires: java-javadoc BuildRequires: javapackages-tools BuildRequires: java-devel >= 1.7.0 BuildRequires: mono-core BuildRequires: mono-winforms BuildRequires: python-devel BuildRequires: python-setuptools Requires: javapackages-tools Requires: java-headless >= 1.7.0 %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 Summary: ANother Tool for Language Recognition Summary(ja): 構文解析器生成ツール Group: Development/Tools BuildArch: noarch Provides: %{name} = %{version}-%{release} %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 Summary: Manual for %{name} Summary(ja): %{name} のマニュアル Group: Applications/Documentation BuildArch: noarch %description manual Documentation for %{name}. %package javadoc Summary: Javadoc for %{name} Summary(ja): %{name} の Javadoc Group: Documentation BuildArch: noarch %description javadoc Javadoc for %{name}. %package C++ Summary: C++ bindings for antlr2 generated parsers Summary(ja): ANTLR が生成した構文解析器用の C++ バインディング Group: Development/Libraries Provides: antlr-static = %{version}-%{release} %description C++ This package provides a static C++ library for parsers generated by ANTLR2. %package C++-doc Summary: Documentation for C++ bindings for antlr2 generated parsers Summary(ja): ANTLR が生成した構文解析器用の C++ バインディングのドキュメント Group: Documentation BuildArch: noarch %description C++-doc This package contains the documentation for the C++ bindings for parsers generated by ANTLR2. %package python Summary: Python runtime support for ANTLR-generated parsers Summary(ja): ANTLR が生成した構文解析器用の Python ランタイムサポート Group: Development/Libraries 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 %patch2 -p1 # 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}.jar # 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} cp -pr work/api/* $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 %{_bindir}/antlr %{_javadir}/%{name}*.jar # 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,-) %doc LICENSE.txt %{_includedir}/%{name} %{_libdir}/libantlr.a %{_bindir}/antlr-config %files C++-doc %defattr(-,root,root,-) %doc LICENSE.txt %doc lib/cpp/gen_doc/html/ %files manual %defattr(-,root,root,-) %doc LICENSE.txt %doc doc/* %files javadoc %defattr(-,root,root,-) %doc LICENSE.txt %doc %{_javadocdir}/%{name} %files python %defattr(-,root,root,-) %doc LICENSE.txt %{python_sitelib}/antlr/* %{python_sitelib}/antlr-* %changelog * Sat Mar 21 2015 Ryoichi INAGAKI - 2.7.7-12 - rebuilt on current VineSeed - added Patch2 - added python subpackage * Sun Sep 5 2010 Ryoichi INAGAKI - 2.7.7-11 - Initial build for Vine Linux * Thu Apr 29 2010 Miloš Jakubíček - 0:2.7.7-10 - Use original upstream tarball, prebuilt jars are anyway removed in %%prep - Don't overuse macros - Added explanation about headers in the C++ subpackage - Remove unnecessary Makefile and Makefile.in from %%docs, permissions fixed - Added doxygen docs for C++ as a -C++-doc subpackage - antlr-config moved into the C++ subpackage - Removed %%post and %%postun javadoc relicts from JPackage * Tue Apr 27 2010 Miloš Jakubíček - 0:2.7.7-9 - Drop native build, alternatives, jedit, gcj bits and other jpackage crap - Disable debuginfo since we have only a static library. - Use %%global everywhere - Split the C++ bindings into a separate -C++ subpackage - Use -tool subpackage with Provide: antlr to make it possible to be noarch - Use sed instead of perl => drop BR: perl * Tue Apr 20 2010 Orion Poplawski 0:2.7.7-8 - Cannot be noarch * Wed Apr 7 2010 Alexander Kurtakov 0:2.7.7-7 - Disable gcj. - Use %%global. * Fri Jul 24 2009 Fedora Release Engineering - 0:2.7.7-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Fri Mar 20 2009 Deepak Bhole - 0:2.7.7-5 - Include cstdio in CharScanner.hpp (needed to build with GCC 4.4) - Merge changes from includestrings patch into the above one * Mon Feb 23 2009 Fedora Release Engineering - 0:2.7.7-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Fri Jan 09 2009 Dennis Gilmore 2.7.7-3 - exlcude using mono on sparc64 * Wed Jul 9 2008 Tom "spot" Callaway 2.7.7-2 - drop repotag * Wed Feb 27 2008 Deepak Bhole - 0:2.7.7-1jpp.7 - Add strings inclusion (for GCC 4.3) * Mon Sep 24 2007 Deepak Bhole - 0:2.7.7-1jpp.6 - Resolve bz# 242305: Remove libantlr-pic.a, and compile libantlr.a with fPIC * Wed Aug 29 2007 Fedora Release Engineering - 2.7.7-1jpp.5 - Rebuild for selinux ppc32 issue. * Tue Jun 12 2007 Deepak Bhole 2.7.7-1jpp.4.fc8 - Added a PIC compiled archive (bz# 242305) * Thu Jun 07 2007 Deepak Bhole 2.7.7-1jpp.3 - Applied patch to fix conditionals (from skasal at redhat dot com) * Mon Mar 26 2007 Deepak Bhole 2.7.7-1jpp.2 - Added unowned dir to files list * Fri Jan 19 2007 Deepak Bhole 0:2.7.7-1jpp.1 - Upgrade to 2.7.7 - Resolve 172456 with patches from Vadim Nasardinov and Radu Greab * Thu Aug 03 2006 Deepak Bhole = 0:2.7.6-4jpp.2 - Add missing postun for javadoc. * Thu Aug 03 2006 Deepak Bhole = 0:2.7.6-4jpp.1 - Add missing requirements. * Sat Jul 22 2006 Thomas Fitzsimmons - 0:2.7.6-3jpp_5fc - Unstub docs. * Sat Jul 22 2006 Jakub Jelinek - 0:2.7.6-3jpp_4fc - Remove hack-libgcj requirement. * Fri Jul 21 2006 Thomas Fitzsimmons - 0:2.7.6-3jpp_3fc - Stub docs. (dist-fc6-java) - Require hack-libgcj for build. (dist-fc6-java) - Bump release number. * Wed Jul 19 2006 Deepak Bhole = 0:2.7.6-3jpp_2fc - From gbenson@redhat: - Omit the jedit subpackage to fix dependencies. * Wed Jul 19 2006 Deepak Bhole = 0:2.7.6-3jpp_1fc - Added conditional native compilation. * Fri Jan 13 2006 Fernando Nasser - 0:2.7.6-2jpp - First JPP 1.7 build * Fri Jan 13 2006 Fernando Nasser - 0:2.7.6-1jpp - Update to 2.7.6. * Fri Aug 20 2004 Ralph Apel - 0:2.7.4-2jpp - Build with ant-1.6.2. - Made native scripts conditional * Tue May 18 2004 Ville Skyttä - 0:2.7.4-1jpp - Update to 2.7.4. * Fri Apr 2 2004 Ville Skyttä - 0:2.7.3-2jpp - Create alternatives also on upgrades. * Wed Mar 31 2004 Ville Skyttä - 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 %%{_bindir}/antlr alternative. * Mon Dec 15 2003 Ville Skyttä - 0:2.7.2-3jpp - Add non-versioned javadoc dir symlink. - Crosslink with local J2SE javadocs. - Spec cleanups, change to UTF-8. * Sun Mar 30 2003 Ville Skyttä - 0:2.7.2-2jpp - Rebuild for JPackage 1.5. * Sat Mar 1 2003 Ville Skyttä - 2.7.2-1jpp - Update to 2.7.2. - Include antlr script and jEdit mode (see antlr-jedit RPM description). - Use sed instead of bash 2 extension when symlinking jars during build. * Tue May 07 2002 Guillaume Rousse 2.7.1-8jpp - really section macro - hardcoded distribution and vendor tag - group tag again * Thu May 2 2002 Guillaume Rousse 2.7.1-7jpp - distribution tag - group tag - section macro * Fri Jan 18 2002 Guillaume Rousse 2.7.1-6jpp - versioned dir for javadoc - no dependencies for manual and javadoc packages - additional sources in individual archives * Sat Dec 1 2001 Guillaume Rousse 2.7.1-5jpp - javadoc in javadoc package * Wed Nov 21 2001 Christian Zoffoli 2.7.1-4jpp - removed packager tag - new jpp extension * Sat Oct 6 2001 Guillaume Rousse 2.7.1-3jpp - used a build file instead of makefile - build classes instead of blindly jared them ! - used original tarball - corrected license spelling * Sun Sep 30 2001 Guillaume Rousse 2.7.1-2jpp - first unified release - s/jPackage/JPackage * Tue Aug 28 2001 Guillaume Rousse 2.7.1-1mdk - first Mandrake release