diff --git a/0008-unconst-cyclicdfa-gcc-14.patch b/0008-unconst-cyclicdfa-gcc-14.patch new file mode 100644 index 0000000..1a78820 --- /dev/null +++ b/0008-unconst-cyclicdfa-gcc-14.patch @@ -0,0 +1,29 @@ +--- a/runtime/Cpp/include/antlr3cyclicdfa.hpp.orig 2024-02-01 14:13:33.243312124 +0200 ++++ b/runtime/Cpp/include/antlr3cyclicdfa.hpp 2024-02-01 14:12:28.493542243 +0200 +@@ -61,18 +61,18 @@ + /// Decision number that a particular static structure + /// represents. + /// ++ ANTLR_INT32 m_decisionNumber; +- const ANTLR_INT32 m_decisionNumber; + + /// What this decision represents + /// + const ANTLR_UCHAR* m_description; ++ const ANTLR_INT32* m_eot; ++ const ANTLR_INT32* m_eof; ++ const ANTLR_INT32* m_min; ++ const ANTLR_INT32* m_max; ++ const ANTLR_INT32* m_accept; ++ const ANTLR_INT32* m_special; ++ const ANTLR_INT32* const * m_transition; +- const ANTLR_INT32* const m_eot; +- const ANTLR_INT32* const m_eof; +- const ANTLR_INT32* const m_min; +- const ANTLR_INT32* const m_max; +- const ANTLR_INT32* const m_accept; +- const ANTLR_INT32* const m_special; +- const ANTLR_INT32* const *const m_transition; + + public: + CyclicDFA( ANTLR_INT32 decisionNumber diff --git a/antlr3.spec b/antlr3.spec index 8ecdf63..6837262 100644 --- a/antlr3.spec +++ b/antlr3.spec @@ -1,10 +1,10 @@ %global antlr_version 3.5.3 %global c_runtime_version 3.4 %global javascript_runtime_version 3.1 -%global baserelease 4 +%global baserelease 16 # This package needs itself to build. Use this to bootstrap on a new system. -%bcond_with bootstrap +%bcond bootstrap 0 # Component versions to use when bootstrapping %global antlr2_version 2.7.7 @@ -13,6 +13,8 @@ %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 @@ -20,8 +22,9 @@ Version: %{antlr_version} Release: %{baserelease}%{?dist} License: BSD-3-Clause URL: https://www.antlr3.org/ +VCS: git:%{giturl}.git -Source0: https://github.com/antlr/antlr3/archive/%{antlr_version}/%{name}-%{antlr_version}.tar.gz +Source0: %{giturl}/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 @@ -42,26 +45,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 -Patch0: 0001-java8-fix.patch +Patch: 0001-java8-fix.patch # Generate OSGi metadata -Patch1: osgi-manifest.patch +Patch: osgi-manifest.patch # Increase the default conversion timeout to avoid build failures when complex # grammars are processed on slow architectures. Patch from Debian. -Patch2: 0002-conversion-timeout.patch +Patch: 0002-conversion-timeout.patch # Fix problems with the C template. Patch from Debian. -Patch3: 0003-fix-c-template.patch +Patch: 0003-fix-c-template.patch # Keep Token.EOF_TOKEN for backwards compatibility. Patch from Debian. -Patch4: 0004-eof-token.patch +Patch: 0004-eof-token.patch # Make parsers reproducible. Patch from Debian. -Patch5: 0005-reproducible-parsers.patch +Patch: 0005-reproducible-parsers.patch # Fix for C++20 -Patch6: 0006-antlr3memory.hpp-fix-for-C-20-mode.patch +Patch: 0006-antlr3memory.hpp-fix-for-C-20-mode.patch # Compile for target 1.8 to fix build with JDK 11 -Patch7: 0007-update-java-target.patch +Patch: 0007-update-java-target.patch +# Fix source for tighter gcc template checks +Patch: 0008-unconst-cyclicdfa-gcc-14.patch -BuildRequires: ant +BuildRequires: ant-openjdk25 BuildRequires: make -BuildRequires: maven-local +BuildRequires: maven-local-openjdk25 %if %{without bootstrap} BuildRequires: mvn(org.antlr:antlr) BuildRequires: mvn(org.antlr:antlr3-maven-plugin) @@ -69,10 +74,8 @@ 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.apache.maven:maven-project) BuildRequires: mvn(org.codehaus.plexus:plexus-compiler-api) BuildRequires: autoconf @@ -83,13 +86,14 @@ 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} @@ -99,10 +103,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 @@ -185,9 +189,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 @@ -197,6 +201,8 @@ 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 @@ -211,6 +217,7 @@ 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) @@ -351,10 +358,50 @@ install -pm 644 runtime/Cpp/include/* $RPM_BUILD_ROOT/%{_includedir}/ %doc tool/LICENSE.txt %changelog +* Fri Jan 16 2026 Fedora Release Engineering - 1:3.5.3-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Tue Sep 23 2025 Jerry James - 1:3.5.3-15 +- Remove build dependency on maven-enforcer-plugin + +* Tue Jul 29 2025 jiri vanek - 1:3.5.3-14 +- Rebuilt for java-25-openjdk as preffered jdk + +* Wed Jul 23 2025 Fedora Release Engineering - 1:3.5.3-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Thu Jan 16 2025 Fedora Release Engineering - 1:3.5.3-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Mon Jan 13 2025 Jerry James - 1:3.5.3-11 +- Clarify license of the tool subpackage +- Move configuration actions to %%conf + +* Wed Jul 17 2024 Fedora Release Engineering - 1:3.5.3-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Feb 27 2024 Jiri Vanek - 1:3.5.3-10 +- Rebuilt for java-21-openjdk as system jdk + +* Thu Feb 1 2024 Avi Kivity - 1:3.5.3-9 +- Remove const specifiers in templates that are now flagged by gcc 14. + +* Mon Jan 22 2024 Fedora Release Engineering - 1:3.5.3-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 1:3.5.3-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jul 19 2023 Fedora Release Engineering - 1:3.5.3-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sun Jun 11 2023 Jerry James - 1:3.5.3-5 +- Remove unneeded maven 2 dependency + * Wed Jan 18 2023 Fedora Release Engineering - 1:3.5.3-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild -* Thu Aug 11 2022 Jerry James - 1:3.5.3-3%{?dist} +* Thu Aug 11 2022 Jerry James - 1:3.5.3-3 - Convert License tag to SPDX * Wed Jul 20 2022 Fedora Release Engineering - 1:3.5.3-3