diff --git a/.antlr.metadata b/.antlr.metadata new file mode 100644 index 0000000..1c56242 --- /dev/null +++ b/.antlr.metadata @@ -0,0 +1 @@ +827fa0f818141cfb8c648af7b6d033f708a717be SOURCES/antlr-2.7.7.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..95a8082 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/antlr-2.7.7.tar.gz diff --git a/SOURCES/antlr-2.7.7-newgcc.patch b/SOURCES/antlr-2.7.7-newgcc.patch new file mode 100644 index 0000000..c501bd0 --- /dev/null +++ b/SOURCES/antlr-2.7.7-newgcc.patch @@ -0,0 +1,12 @@ +diff -up ./lib/cpp/antlr/CharScanner.hpp.sav ./lib/cpp/antlr/CharScanner.hpp +--- ./lib/cpp/antlr/CharScanner.hpp.sav 2009-03-20 14:42:43.000000000 -0400 ++++ ./lib/cpp/antlr/CharScanner.hpp 2009-03-20 14:43:29.000000000 -0400 +@@ -11,6 +11,8 @@ + #include + + #include ++#include ++#include + + #ifdef HAS_NOT_CCTYPE_H + #include diff --git a/SOURCES/antlr-2.7.7.pom b/SOURCES/antlr-2.7.7.pom new file mode 100644 index 0000000..354e82d --- /dev/null +++ b/SOURCES/antlr-2.7.7.pom @@ -0,0 +1,22 @@ + + 4.0.0 + antlr + antlr + jar + 2.7.7 + AntLR Parser Generator + + A framework for constructing recognizers, compilers, + and translators from grammatical descriptions containing + Java, C#, C++, or Python actions. + + http://www.antlr.org/ + + + BSD License + http://www.antlr.org/license.html + repo + + + + diff --git a/SOURCES/antlr-build.xml b/SOURCES/antlr-build.xml new file mode 100644 index 0000000..d280255 --- /dev/null +++ b/SOURCES/antlr-build.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SOURCES/antlr-script b/SOURCES/antlr-script new file mode 100644 index 0000000..6389106 --- /dev/null +++ b/SOURCES/antlr-script @@ -0,0 +1,25 @@ +#!/bin/sh +# +# antlr script +# JPackage Project + +# Source functions library +if [ -f /usr/share/java-utils/java-functions ] ; then + . /usr/share/java-utils/java-functions +else + echo "Can't find functions library, aborting" + exit 1 +fi + +# Configuration +MAIN_CLASS="antlr.Tool" +BASE_FLAGS="" +BASE_JARS="antlr.jar" + +# Set parameters +set_jvm +set_classpath $BASE_JARS +set_flags $BASE_FLAGS + +# Let's start +run "$@" diff --git a/SOURCES/generate-tarball.sh b/SOURCES/generate-tarball.sh new file mode 100755 index 0000000..0404e77 --- /dev/null +++ b/SOURCES/generate-tarball.sh @@ -0,0 +1,29 @@ +#!/bin/bash +set -e + +name=antlr +version="$(sed -n 's/Version:\s*//p' *.spec)" + +# RETRIEVE +wget "http://www.antlr2.org/download/antlr-${version}.tar.gz" -O "${name}-${version}.orig.tar.gz" + +rm -rf tarball-tmp +mkdir tarball-tmp +cd tarball-tmp +tar -xf "../${name}-${version}.orig.tar.gz" + +# CLEAN TARBALL +# contain questionable things, such as csflex.exe +find -name '*.jar' -delete +find -name '*.class' -delete +find -name '*.exe' -delete +find -name '*.dll' -delete +find -name '*.so' -delete + +# rhbz#1986062 +rm "antlr-${version}/examples/java/unicode.IDENTs/StreamConverter.java" +rm "antlr-${version}/examples/java/unicode.IDENTs/ShowString.java" + +tar -czf "../${name}-${version}.tar.gz" * +cd .. +rm -r tarball-tmp "${name}-${version}.orig.tar.gz" diff --git a/SPECS/antlr.spec b/SPECS/antlr.spec new file mode 100644 index 0000000..9c8cacc --- /dev/null +++ b/SPECS/antlr.spec @@ -0,0 +1,473 @@ +%global debug_package %{nil} +# since we have only a static library + +Summary: ANother Tool for Language Recognition +Name: antlr +Version: 2.7.7 +Release: 68%{?dist} +License: ANTLR-PD +URL: http://www.antlr2.org/ +# ./generate-tarball.sh +Source0: antlr-%{version}.tar.gz +Source1: %{name}-build.xml +Source2: %{name}-script +Source3: http://repo2.maven.org/maven2/antlr/antlr/%{version}/%{name}-%{version}.pom +# Repack the tarball without prebuilt binaries of unknown origin +Source4: generate-tarball.sh +Patch1: %{name}-%{version}-newgcc.patch + +BuildRequires: gcc-c++ +BuildRequires: make +BuildRequires: ant +BuildRequires: java-devel +BuildRequires: javapackages-local + +%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 +Provides: %{name} = %{version}-%{release} +# Explicit requires for javapackages-tools since antlr-script +# uses /usr/share/java-utils/java-functions +Requires: javapackages-tools +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 +Summary: Manual for %{name} +BuildArch: noarch + +%description manual +Documentation for %{name}. + +%package javadoc +Summary: Javadoc for %{name} +BuildArch: noarch + +%description javadoc +Javadoc for %{name}. + +%package C++ +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. + +%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 + +# set jar location +%mvn_file %{name}:%{name} %{name} + +%build +ant -Dj2se.apidoc=%{_javadocdir}/java +# make expects to find it here +cp work/lib/antlr.jar . +export CLASSPATH=. +%configure --without-examples +make CXXFLAGS="${CXXFLAGS} -fPIC" DEBUG=1 verbose=1 +# no longer needed +rm antlr.jar + +# fix doc permissions and remove Makefiles +rm doc/{Makefile,Makefile.in} +chmod 0644 doc/* + +%install +# jars, POM and depmap +%mvn_artifact %{SOURCE3} work/lib/%{name}.jar +%mvn_alias %{name}:%{name} %{name}:%{name}all +%mvn_install -J work/api + +mkdir -p $RPM_BUILD_ROOT{%{_includedir}/%{name},%{_libdir},%{_bindir}} +# 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} + +%files tool -f .mfiles +%license LICENSE.txt +%{_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++ +%license LICENSE.txt +%{_includedir}/%{name} +%{_libdir}/libantlr.a +%{_bindir}/antlr-config + +%files manual +%license LICENSE.txt +%doc doc/* + +%files javadoc -f .mfiles-javadoc +%license LICENSE.txt + +%changelog +* Mon Aug 09 2021 Mohan Boddu - 2.7.7-68 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Thu Jul 29 2021 Marian Koncek - 2.7.7-67 +- Remove files with proprietary license headers + +* Mon Jun 28 2021 Mikolaj Izdebski - 2.7.7-66 +- Remove Python runtime + +* Thu Apr 15 2021 Mohan Boddu - 0:2.7.7-65 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Tue Jan 26 2021 Fedora Release Engineering - 0:2.7.7-64 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 0:2.7.7-63 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 21 2020 Fabio Valentini - 0:2.7.7-62 +- Set javac source / target version to 1.8 to fix issues with Java 11. + +* Fri Jul 10 2020 Jiri Vanek - 0:2.7.7-61 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Tue Jan 28 2020 Fedora Release Engineering - 0:2.7.7-60 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Nov 05 2019 Mikolaj Izdebski - 2.7.7-58 +- Mass rebuild for javapackages-tools 201902 + +* Wed Jul 24 2019 Fedora Release Engineering - 0:2.7.7-59 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri May 24 2019 Mikolaj Izdebski - 2.7.7-57 +- Mass rebuild for javapackages-tools 201901 + +* Wed Mar 27 2019 Miro Hrončok - 0:2.7.7-58 +- Subpackage python2-antlr was removed + https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal + +* Thu Jan 31 2019 Fedora Release Engineering - 0:2.7.7-57 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Jul 30 2018 Severin Gehwolf - 0:2.7.7-56 +- Add explicit requirement of javapackages-tools. + +* Tue Jul 24 2018 Michael Simacek - 0:2.7.7-55 +- Repack the tarball without binaries + +* Thu Jul 12 2018 Fedora Release Engineering - 0:2.7.7-54 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Fedora Release Engineering - 0:2.7.7-53 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Nov 7 2017 Mikolaj Izdebski - 0:2.7.7-52 +- Switch to new license tag: ANTLR-PD + +* Sat Sep 23 2017 Mikolaj Izdebski - 0:2.7.7-51 +- Conditionally allow building without C++ docs + +* Wed Aug 02 2017 Fedora Release Engineering - 0:2.7.7-50 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 0:2.7.7-49 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Wed Jul 12 2017 Miro Hrončok - 0:2.7.7-48 +- Proper python2 subpackage name + +* Thu Feb 16 2017 Michael Simacek - 0:2.7.7-47 +- Add conditional for python + +* Wed Feb 15 2017 Mikolaj Izdebski - 0:2.7.7-46 +- Generalize requires on python2 packages + +* Fri Feb 10 2017 Fedora Release Engineering - 0:2.7.7-45 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Jan 31 2017 Mikolaj Izdebski - 0:2.7.7-44 +- Add missing build-requires on GCC + +* Tue Jul 19 2016 Fedora Release Engineering - 0:2.7.7-43 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Tue Mar 01 2016 gil cattaneo 0:2.7.7-42 +- fix URL field (rhbz#1313275) + +* Mon Feb 29 2016 gil cattaneo 0:2.7.7-41 +- use python macros + +* Wed Feb 03 2016 Fedora Release Engineering - 0:2.7.7-40 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Oct 02 2015 gil cattaneo 0:2.7.7-39 +- adapt to current guideline +- remove some rpmlint problems +- disable javadoc doclint +- introduce license macro + +* Fri Aug 21 2015 Marcin Juszkiewicz - 0:2.7.7-38 +- use %%{mono_archs} instead of hardcoding list (rhbz#1255726) + +* Tue Jun 16 2015 Fedora Release Engineering - 0:2.7.7-37 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Fri Apr 24 2015 Orion Poplawski - 0:2.7.7-36 +- Rebuild for gcc 5 C++11 ABI again + +* Sun Feb 22 2015 Orion Poplawski - 0:2.7.7-35 +- Rebuild for gcc 5 C++11 ABI + +* Fri Aug 15 2014 Fedora Release Engineering - 0:2.7.7-34 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Mon Jun 30 2014 Toshio Kuratomi - 2.7.7-33 +- Change python-setuptools-devel BR into python-setuptools. + +* Sat Jun 07 2014 Fedora Release Engineering - 0:2.7.7-32 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed May 21 2014 Mikolaj Izdebski - 0:2.7.7-31 +- Use .mfiles generated during build + +* Tue Mar 04 2014 Stanislav Ochotnicky - 0:2.7.7-30 +- Use Requires: java-headless rebuild (#1067528) + +* Mon Nov 11 2013 Stanislav Ochotnicky - 0:2.7.7-29 +- Do not install versioned jar (#1022080) +- Install LICENSE files in each independent subpackage +- Minor spec cleanups + +* Fri Nov 08 2013 Marek Goldmann - 0:2.7.7-28 +- Rebuild + +* Sat Aug 03 2013 Fedora Release Engineering - 0:2.7.7-27 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Feb 13 2013 Fedora Release Engineering - 0:2.7.7-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sun Nov 25 2012 Mikolaj Izdebski - 0:2.7.7-25 +- Move maven files from C++ to tool subpackage, resolves: rhbz#879885 + +* Thu Nov 1 2012 Mikolaj Izdebski - 0:2.7.7-24 +- Add maven POM + +* Sat Aug 18 2012 Miloš Jakubíček - 0:2.7.7-23 +- Add patch updating license on ShowString.java and StreamConverter.java + examples (thanks to Tom Callaway, see BZ#848662) + +* Wed Jul 18 2012 Fedora Release Engineering - 0:2.7.7-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed Feb 01 2012 Jaroslav Reznik 0:2.7.7-21 +- wrong version for jpackage-utils + +* Wed Feb 01 2012 Jaroslav Reznik 0:2.7.7-20 +- Versioned Java (build)/requires for -tool too + +* Mon Jan 30 2012 Jaroslav Reznik 0:2.7.7-19 +- Versioned Java (build)/requires + +* Fri Jan 27 2012 Alexander Kurtakov 0:2.7.7-18 +- Disable c# part for rhel builds. + +* Thu Jan 12 2012 Fedora Release Engineering - 0:2.7.7-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Fri Mar 25 2011 Miloš Jakubíček - 0:2.7.7-16 +- Fixed wrong Obsoletes: antlr on antlr-tool (fix #689703) + +* Mon Feb 07 2011 Fedora Release Engineering - 0:2.7.7-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Feb 07 2011 Miloš Jakubíček - 0:2.7.7-14 +- Remove INSTALL.txt (fix BZ#661626) +- add python subpackage (fix BZ#505312) + +* Mon Feb 07 2011 Miloš Jakubíček - 0:2.7.7-13 +- Added missing Obsoletes: antlr on antlr-tool (fix BZ#603466) + +* Mon Dec 13 2010 Dan Horák - 0:2.7.7-12 +- sync the architecture list in BR with the mono package + +* Tue Nov 23 2010 Rex Dieter - 0:2.7.7-11 +- -tool: +Requires: java jpackage-utils (#595504) + +* 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