Blob Blame History Raw
%global debug_package %{nil}
# since we have only a static library

Summary:       ANother Tool for Language Recognition
Name:          antlr
Version:       2.7.7
Release:       76%{?dist}
License:       ANTLR-PD
URL:           http://www.antlr2.org/
ExclusiveArch: %{java_arches}

# ./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
Patch2:        %{name}-%{version}-configure-c99.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
%patch2
# 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
* Tue Feb 27 2024 Jiri Vanek <jvanek@redhat.com> - 2.7.7-76
- Rebuilt for java-21-openjdk as system jdk

* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.7-75
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.7-74
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.7-73
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild

* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.7-72
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

* Tue Dec 06 2022 Peter Fordham <peter.fordham@gmail.com> - 2.7.7-71
- Port configure script to C99.

* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.7-70
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Sat Feb 05 2022 Jiri Vanek <jvanek@redhat.com> - 2.7.7-69
- Rebuilt for java-17-openjdk as system jdk

* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.7-68
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Wed Aug 11 2021 Marian Koncek <mkoncek@redhat.com> - 2.7.7-67
- Remove files with proprietary license headers

* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.7-66
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Mon Jun 28 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.7.7-65
- Remove Python runtime

* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.7.7-64
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.7.7-63
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Tue Jul 21 2020 Fabio Valentini <decathorpe@gmail.com> - 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 <jvanek@redhat.com> - 0:2.7.7-61
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11

* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.7.7-60
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Tue Nov 05 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.7.7-58
- Mass rebuild for javapackages-tools 201902

* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.7.7-59
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Fri May 24 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.7.7-57
- Mass rebuild for javapackages-tools 201901

* Wed Mar 27 2019 Miro Hrončok <mhroncok@redhat.com> - 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 <releng@fedoraproject.org> - 0:2.7.7-57
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Mon Jul 30 2018 Severin Gehwolf <sgehwolf@redhat.com> - 0:2.7.7-56
- Add explicit requirement of javapackages-tools.

* Tue Jul 24 2018 Michael Simacek <msimacek@redhat.com> - 0:2.7.7-55
- Repack the tarball without binaries

* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.7.7-54
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.7.7-53
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Tue Nov  7 2017 Mikolaj Izdebski <mizdebsk@redhat.com> - 0:2.7.7-52
- Switch to new license tag: ANTLR-PD

* Sat Sep 23 2017 Mikolaj Izdebski <mizdebsk@redhat.com> - 0:2.7.7-51
- Conditionally allow building without C++ docs

* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.7.7-50
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.7.7-49
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Wed Jul 12 2017 Miro Hrončok <mhroncok@redhat.com> - 0:2.7.7-48
- Proper python2 subpackage name

* Thu Feb 16 2017 Michael Simacek <msimacek@redhat.com> - 0:2.7.7-47
- Add conditional for python

* Wed Feb 15 2017 Mikolaj Izdebski <mizdebsk@redhat.com> - 0:2.7.7-46
- Generalize requires on python2 packages

* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.7.7-45
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Tue Jan 31 2017 Mikolaj Izdebski <mizdebsk@redhat.com> - 0:2.7.7-44
- Add missing build-requires on GCC

* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:2.7.7-43
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages

* Tue Mar 01 2016 gil cattaneo <puntogil@libero.it> 0:2.7.7-42
- fix URL field (rhbz#1313275)

* Mon Feb 29 2016 gil cattaneo <puntogil@libero.it> 0:2.7.7-41
- use python macros

* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0:2.7.7-40
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Fri Oct 02 2015 gil cattaneo <puntogil@libero.it> 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 <mjuszkiewicz@redhat.com> - 0:2.7.7-38
- use %%{mono_archs} instead of hardcoding list (rhbz#1255726)

* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:2.7.7-37
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Fri Apr 24 2015 Orion Poplawski <orion@cora.nwra.com> - 0:2.7.7-36
- Rebuild for gcc 5 C++11 ABI again

* Sun Feb 22 2015 Orion Poplawski <orion@cora.nwra.com> - 0:2.7.7-35
- Rebuild for gcc 5 C++11 ABI

* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:2.7.7-34
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Mon Jun 30 2014 Toshio Kuratomi <toshio@fedoraproject.org> - 2.7.7-33
- Change python-setuptools-devel BR into python-setuptools.

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:2.7.7-32
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Wed May 21 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 0:2.7.7-31
- Use .mfiles generated during build

* Tue Mar 04 2014 Stanislav Ochotnicky <sochotnicky@redhat.com> - 0:2.7.7-30
- Use Requires: java-headless rebuild (#1067528)

* Mon Nov 11 2013 Stanislav Ochotnicky <sochotnicky@redhat.com> - 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 <mgoldman@redhat.com> - 0:2.7.7-28
- Rebuild

* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:2.7.7-27
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:2.7.7-26
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Sun Nov 25 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 0:2.7.7-25
- Move maven files from C++ to tool subpackage, resolves: rhbz#879885

* Thu Nov  1 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 0:2.7.7-24
- Add maven POM

* Sat Aug 18 2012 Miloš Jakubíček <xjakub@fi.muni.cz> - 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 <rel-eng@lists.fedoraproject.org> - 0:2.7.7-22
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Wed Feb 01 2012 Jaroslav Reznik <jreznik@redhat.com> 0:2.7.7-21
- wrong version for jpackage-utils

* Wed Feb 01 2012 Jaroslav Reznik <jreznik@redhat.com> 0:2.7.7-20
- Versioned Java (build)/requires for -tool too

* Mon Jan 30 2012 Jaroslav Reznik <jreznik@redhat.com> 0:2.7.7-19
- Versioned Java (build)/requires

* Fri Jan 27 2012 Alexander Kurtakov <akurtako@redhat.com> 0:2.7.7-18
- Disable c# part for rhel builds.

* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:2.7.7-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Fri Mar 25 2011 Miloš Jakubíček <xjakub@fi.muni.cz> - 0:2.7.7-16
- Fixed wrong Obsoletes: antlr on antlr-tool (fix #689703)

* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:2.7.7-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Mon Feb 07 2011 Miloš Jakubíček <xjakub@fi.muni.cz> - 0:2.7.7-14
- Remove INSTALL.txt (fix BZ#661626)
- add python subpackage (fix BZ#505312)

* Mon Feb 07 2011 Miloš Jakubíček <xjakub@fi.muni.cz> - 0:2.7.7-13
- Added missing Obsoletes: antlr on antlr-tool (fix BZ#603466)

* Mon Dec 13 2010 Dan Horák <dan[at]danny.cz> - 0:2.7.7-12
- sync the architecture list in BR with the mono package

* Tue Nov 23 2010 Rex Dieter <rdieter@fedoraproject.org> - 0:2.7.7-11
- -tool: +Requires: java jpackage-utils (#595504)

* Thu Apr 29 2010 Miloš Jakubíček <xjakub@fi.muni.cz> - 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 <xjakub@fi.muni.cz> - 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 <orion@cora.nwra.com> 0:2.7.7-8
- Cannot be noarch

* Wed Apr 7 2010 Alexander Kurtakov <akurtako@redhat.com> 0:2.7.7-7
- Disable gcj.
- Use %%global.

* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0:2.7.7-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Fri Mar 20 2009 Deepak Bhole <dbhole@redhat.com> - 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 <rel-eng@lists.fedoraproject.org> - 0:2.7.7-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Fri Jan 09 2009 Dennis Gilmore <dennis@ausil.us> 2.7.7-3
- exlcude using mono on sparc64

* Wed Jul  9 2008 Tom "spot" Callaway <tcallawa@redhat.com> 2.7.7-2
- drop repotag

* Wed Feb 27 2008 Deepak Bhole <dbhole@redhat.com> - 0:2.7.7-1jpp.7
- Add strings inclusion (for GCC 4.3)

* Mon Sep 24 2007 Deepak Bhole <dbhole@redhat.com> - 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 <rel-eng at fedoraproject dot org> - 2.7.7-1jpp.5
- Rebuild for selinux ppc32 issue.

* Tue Jun 12 2007 Deepak Bhole <dbhole@redhat.com> 2.7.7-1jpp.4.fc8
- Added a PIC compiled archive (bz# 242305)

* Thu Jun 07 2007 Deepak Bhole <dbhole@redhat.com> 2.7.7-1jpp.3
- Applied patch to fix conditionals (from skasal at redhat dot com)

* Mon Mar 26 2007 Deepak Bhole <dbhole@redhat.com> 2.7.7-1jpp.2
- Added unowned dir to files list

* Fri Jan 19 2007 Deepak Bhole <dbhole@redhat.com> 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 <dbhole@redhat.com> = 0:2.7.6-4jpp.2
- Add missing postun for javadoc.

* Thu Aug 03 2006 Deepak Bhole <dbhole@redhat.com> = 0:2.7.6-4jpp.1
- Add missing requirements.

* Sat Jul 22 2006 Thomas Fitzsimmons <fitzsim@redhat.com> - 0:2.7.6-3jpp_5fc
- Unstub docs.

* Sat Jul 22 2006 Jakub Jelinek <jakub@redhat.com> - 0:2.7.6-3jpp_4fc
- Remove hack-libgcj requirement.

* Fri Jul 21 2006 Thomas Fitzsimmons <fitzsim@redhat.com> - 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 <dbhole@redhat.com> = 0:2.7.6-3jpp_2fc
- From gbenson@redhat:
- Omit the jedit subpackage to fix dependencies. 

* Wed Jul 19 2006 Deepak Bhole <dbhole@redhat.com> = 0:2.7.6-3jpp_1fc
- Added conditional native compilation.

* Fri Jan 13 2006 Fernando Nasser <fnasser@redhat.com> - 0:2.7.6-2jpp
- First JPP 1.7 build

* Fri Jan 13 2006 Fernando Nasser <fnasser@redhat.com> - 0:2.7.6-1jpp
- Update to 2.7.6.

* Fri Aug 20 2004 Ralph Apel <r.apel at r-apel.de> - 0:2.7.4-2jpp
- Build with ant-1.6.2.
- Made native scripts conditional

* Tue May 18 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:2.7.4-1jpp
- Update to 2.7.4.

* Fri Apr  2 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:2.7.3-2jpp
- Create alternatives also on upgrades.

* Wed Mar 31 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 %%{_bindir}/antlr alternative.

* Mon Dec 15 2003 Ville Skyttä <ville.skytta at iki.fi> - 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ä <ville.skytta at iki.fi> - 0:2.7.2-2jpp
- Rebuild for JPackage 1.5.

* Sat Mar  1 2003 Ville Skyttä <ville.skytta at iki.fi> - 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 <guillomovitch@users.sourceforge.net> 2.7.1-8jpp
- really section macro
- hardcoded distribution and vendor tag
- group tag again

* Thu May 2 2002 Guillaume Rousse <guillomovitch@users.sourceforge.net> 2.7.1-7jpp
- distribution tag
- group tag
- section macro

* Fri Jan 18 2002 Guillaume Rousse <guillomovitch@users.sourceforge.net> 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 <guillomovitch@users.sourceforge.net> 2.7.1-5jpp
- javadoc in javadoc package

* Wed Nov 21 2001 Christian Zoffoli <czoffoli@littlepenguin.org> 2.7.1-4jpp
- removed packager tag
- new jpp extension

* Sat Oct 6 2001 Guillaume Rousse <guillomovitch@users.sourceforge.net> 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 <guillomovitch@users.sourceforge.net> 2.7.1-2jpp
- first unified release
- s/jPackage/JPackage

* Tue Aug 28 2001 Guillaume Rousse <guillomovitch@users.sourceforge.net> 2.7.1-1mdk
- first Mandrake release