Compare commits

..

1 commit

View file

@ -1,10 +1,10 @@
%global antlr_version 3.5.3
%global c_runtime_version 3.4
%global javascript_runtime_version 3.1
%global baserelease 16
%global baserelease 10
# This package needs itself to build. Use this to bootstrap on a new system.
%bcond bootstrap 0
%bcond_with bootstrap
# Component versions to use when bootstrapping
%global antlr2_version 2.7.7
@ -13,8 +13,6 @@
%global ST4ver2 4.0.8
%global stringtemplatever 3.2.1
%global giturl https://github.com/antlr/antlr3
Summary: ANother Tool for Language Recognition
Name: antlr3
Epoch: 1
@ -22,9 +20,8 @@ Version: %{antlr_version}
Release: %{baserelease}%{?dist}
License: BSD-3-Clause
URL: https://www.antlr3.org/
VCS: git:%{giturl}.git
Source0: %{giturl}/archive/%{antlr_version}/%{name}-%{antlr_version}.tar.gz
Source0: https://github.com/antlr/antlr3/archive/%{antlr_version}/%{name}-%{antlr_version}.tar.gz
Source1: http://www.antlr3.org/download/antlr-javascript-runtime-%{javascript_runtime_version}.zip
%if %{with bootstrap}
# Get prebuilt versions to bootstrap
@ -45,28 +42,28 @@ Source15: https://repo1.maven.org/maven2/antlr/antlr/%{antlr2_version}/ant
Source16: https://repo1.maven.org/maven2/antlr/antlr/%{antlr2_version}/antlr-%{antlr2_version}.pom
%endif
Patch: 0001-java8-fix.patch
Patch0: 0001-java8-fix.patch
# Generate OSGi metadata
Patch: osgi-manifest.patch
Patch1: osgi-manifest.patch
# Increase the default conversion timeout to avoid build failures when complex
# grammars are processed on slow architectures. Patch from Debian.
Patch: 0002-conversion-timeout.patch
Patch2: 0002-conversion-timeout.patch
# Fix problems with the C template. Patch from Debian.
Patch: 0003-fix-c-template.patch
Patch3: 0003-fix-c-template.patch
# Keep Token.EOF_TOKEN for backwards compatibility. Patch from Debian.
Patch: 0004-eof-token.patch
Patch4: 0004-eof-token.patch
# Make parsers reproducible. Patch from Debian.
Patch: 0005-reproducible-parsers.patch
Patch5: 0005-reproducible-parsers.patch
# Fix for C++20
Patch: 0006-antlr3memory.hpp-fix-for-C-20-mode.patch
Patch6: 0006-antlr3memory.hpp-fix-for-C-20-mode.patch
# Compile for target 1.8 to fix build with JDK 11
Patch: 0007-update-java-target.patch
Patch7: 0007-update-java-target.patch
# Fix source for tighter gcc template checks
Patch: 0008-unconst-cyclicdfa-gcc-14.patch
Patch8: 0008-unconst-cyclicdfa-gcc-14.patch
BuildRequires: ant-openjdk25
BuildRequires: ant
BuildRequires: make
BuildRequires: maven-local-openjdk25
BuildRequires: maven-local
%if %{without bootstrap}
BuildRequires: mvn(org.antlr:antlr)
BuildRequires: mvn(org.antlr:antlr3-maven-plugin)
@ -74,6 +71,7 @@ BuildRequires: mvn(org.antlr:ST4)
BuildRequires: mvn(org.antlr:stringtemplate)
%endif
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-enforcer-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin)
BuildRequires: mvn(org.apache.maven:maven-plugin-api)
BuildRequires: mvn(org.codehaus.plexus:plexus-compiler-api)
@ -86,14 +84,13 @@ BuildRequires: libtool
ExclusiveArch: %{java_arches}
%description
ANother Tool for Language Recognition, is a language tool that provides a
framework for constructing recognizers, interpreters, compilers, and
translators from grammatical descriptions containing actions in a variety of
target languages.
ANother Tool for Language Recognition, is a language tool
that provides a framework for constructing recognizers,
interpreters, compilers, and translators from grammatical
descriptions containing actions in a variety of target languages.
%package tool
Summary: ANother Tool for Language Recognition
License: BSD-3-Clause AND Apache-2.0
BuildArch: noarch
Provides: %{name} = %{epoch}:%{antlr_version}-%{release}
Obsoletes: %{name} < %{epoch}:%{antlr_version}-%{release}
@ -103,10 +100,10 @@ Requires: %{name}-java = %{epoch}:%{antlr_version}-%{release}
Requires: javapackages-tools
%description tool
ANother Tool for Language Recognition, is a language tool that provides a
framework for constructing recognizers, interpreters, compilers, and
translators from grammatical descriptions containing actions in a variety of
target languages.
ANother Tool for Language Recognition, is a language tool
that provides a framework for constructing recognizers,
interpreters, compilers, and translators from grammatical
descriptions containing actions in a variety of target languages.
%package java
Summary: Java run-time support for ANTLR-generated parsers
@ -189,9 +186,9 @@ Version: %{c_runtime_version}
Release: %{antlr_version}.%{baserelease}%{?dist}
%description C-docs
This package contains doxygen documentation with instruction on how to use the
C target in ANTLR and complete API description of the C run-time support for
ANTLR-generated parsers.
This package contains doxygen documentation with instruction
on how to use the C target in ANTLR and complete API description of the
C run-time support for ANTLR-generated parsers.
%package C++-devel
Summary: C++ runtime support for ANTLR-generated parsers
@ -201,8 +198,6 @@ C++ runtime support for ANTLR-generated parsers.
%prep
%autosetup -p1 -n antlr3-%{antlr_version} -a 1
%conf
sed -i "s,\${buildNumber},`cat %{_sysconfdir}/fedora-release` `date`," tool/src/main/resources/org/antlr/antlr.properties
# remove pre-built artifacts
@ -217,7 +212,6 @@ find -type f -a -name *.class -delete
%pom_disable_module antlr-complete
%pom_remove_plugin :maven-source-plugin
%pom_remove_plugin :maven-enforcer-plugin
%pom_remove_plugin -r :maven-javadoc-plugin
# workarounds bug in filtering (Mark invalid)
@ -358,29 +352,7 @@ install -pm 644 runtime/Cpp/include/* $RPM_BUILD_ROOT/%{_includedir}/
%doc tool/LICENSE.txt
%changelog
* Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.5.3-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Tue Sep 23 2025 Jerry James <loganjerry@gmail.com> - 1:3.5.3-15
- Remove build dependency on maven-enforcer-plugin
* Tue Jul 29 2025 jiri vanek <jvanek@redhat.com> - 1:3.5.3-14
- Rebuilt for java-25-openjdk as preffered jdk
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.5.3-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.5.3-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Mon Jan 13 2025 Jerry James <loganjerry@gmail.com> - 1:3.5.3-11
- Clarify license of the tool subpackage
- Move configuration actions to %%conf
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.5.3-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Tue Feb 27 2024 Jiri Vanek <jvanek@redhat.com> - 1:3.5.3-10
* Sat Mar 02 2024 Jiri Vanek <jvanek@redhat.com> - 1:3.5.3-10
- Rebuilt for java-21-openjdk as system jdk
* Thu Feb 1 2024 Avi Kivity <avi@scylladb.com> - 1:3.5.3-9