diff --git a/.gitignore b/.gitignore index ecf0026..92afa17 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ -/*.zip -/*.tar.gz +/libantlr3c-3.4.tar.gz +/antlr-3.4.tar.gz +/antlr_python_runtime-3.1.3.tar.gz +/antlr-3.5.tar.gz +/3.5.2.tar.gz /*.src.rpm diff --git a/0002-conversion-timeout.patch b/0002-conversion-timeout.patch deleted file mode 100644 index 8bd8536..0000000 --- a/0002-conversion-timeout.patch +++ /dev/null @@ -1,14 +0,0 @@ -Description: Increase the default conversion timeout to avoid build failures when complex grammars are processed on slow architectures. -Author: Emmanuel Bourg -Forwarded: no ---- a/tool/src/main/java/org/antlr/analysis/DFA.java -+++ b/tool/src/main/java/org/antlr/analysis/DFA.java -@@ -57,7 +57,7 @@ - */ - - /** Set to 0 to not terminate early (time in ms) */ -- public static int MAX_TIME_PER_DFA_CREATION = 1*1000; -+ public static int MAX_TIME_PER_DFA_CREATION = 30*1000; - - /** How many edges can each DFA state have before a "special" state - * is created that uses IF expressions instead of a table? diff --git a/0003-fix-c-template.patch b/0003-fix-c-template.patch deleted file mode 100644 index 6eabc08..0000000 --- a/0003-fix-c-template.patch +++ /dev/null @@ -1,35 +0,0 @@ -Description: Fix various issues with the C template (backports of patchs proposed upstream) -Origin: backport, https://github.com/stephengaito/antlr3/commit/adc5e54 - https://github.com/stephengaito/antlr3/commit/71df80c ---- a/tool/src/main/resources/org/antlr/codegen/templates/C/C.stg -+++ b/tool/src/main/resources/org/antlr/codegen/templates/C/C.stg -@@ -2132,7 +2132,9 @@ - - LRECOVER(); - -+); -+!> - - goto ruleEx; - }<\n> -@@ -2143,7 +2145,10 @@ - EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION; - EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME; - -+EXCEPTION->expectingSet = NULL; -+expectingSet = &FOLLOW_set_in_; -+!> - - >> - -@@ -2510,7 +2515,7 @@ - */ - static const ANTLR3_INT32 * const dfa_transitions[] = - { -- _T}; separator=", ", wrap="\n", null="_empty"> -+ _T}; separator=", ", wrap="\n", null="NULL"> - }; - - diff --git a/0004-eof-token.patch b/0004-eof-token.patch deleted file mode 100644 index 2602ca6..0000000 --- a/0004-eof-token.patch +++ /dev/null @@ -1,13 +0,0 @@ -Description: Keep the Token.EOF_TOKEN field to preserve the backward compatibility -Author: Emmanuel Bourg -Forwarded: no ---- a/runtime/Java/src/main/java/org/antlr/runtime/Token.java -+++ b/runtime/Java/src/main/java/org/antlr/runtime/Token.java -@@ -38,6 +38,7 @@ - public static final int MIN_TOKEN_TYPE = UP+1; - - public static final int EOF = CharStream.EOF; -+ public static final Token EOF_TOKEN = new CommonToken(EOF); - - public static final int INVALID_TOKEN_TYPE = 0; - public static final Token INVALID_TOKEN = new CommonToken(INVALID_TOKEN_TYPE); diff --git a/0005-reproducible-parsers.patch b/0005-reproducible-parsers.patch deleted file mode 100644 index a06bcaf..0000000 --- a/0005-reproducible-parsers.patch +++ /dev/null @@ -1,42 +0,0 @@ -Description: Replace the HashSets with LinkedHashSets to make the generated parsers reproducible -Author: Emmanuel Bourg -Forwarded: no ---- a/tool/src/main/antlr3/org/antlr/grammar/v3/DefineGrammarItemsWalker.g -+++ b/tool/src/main/antlr3/org/antlr/grammar/v3/DefineGrammarItemsWalker.g -@@ -45,6 +45,7 @@ - package org.antlr.grammar.v3; - import org.antlr.tool.*; - import java.util.HashSet; -+import java.util.LinkedHashSet; - import java.util.Set; - } - -@@ -279,7 +280,7 @@ - throwsSpec returns [HashSet exceptions] - @init - { -- $exceptions = new HashSet(); -+ $exceptions = new LinkedHashSet(); - } - : ^('throws' (ID {$exceptions.add($ID.text);})+ ) - ; -@@ -556,7 +557,7 @@ - if ( state.backtracking == 0 ) - { - if ( grammar.buildAST() ) -- currentRewriteRule.rewriteRefsDeep = new HashSet(); -+ currentRewriteRule.rewriteRefsDeep = new LinkedHashSet(); - } - } - : ^( REWRITES -@@ -582,8 +583,8 @@ - { - // don't do if guessing - currentRewriteBlock=$start; // pts to BLOCK node -- currentRewriteBlock.rewriteRefsShallow = new HashSet(); -- currentRewriteBlock.rewriteRefsDeep = new HashSet(); -+ currentRewriteBlock.rewriteRefsShallow = new LinkedHashSet(); -+ currentRewriteBlock.rewriteRefsDeep = new LinkedHashSet(); - } - } - : ^( BLOCK rewrite_alternative EOB ) diff --git a/0006-antlr3memory.hpp-fix-for-C-20-mode.patch b/0006-antlr3memory.hpp-fix-for-C-20-mode.patch deleted file mode 100644 index fd0870c..0000000 --- a/0006-antlr3memory.hpp-fix-for-C-20-mode.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 478902a7e57e2283c57410f5aa14939e743b5102 Mon Sep 17 00:00:00 2001 -From: Avi Kivity -Date: Tue, 12 May 2020 14:51:18 +0300 -Subject: [PATCH] antlr3memory.hpp: fix for C++20 mode - -gcc 10 in C++20 mode requires that the allocator type match -the type used to allocate, so do that by adding "const" to the -key type. ---- - runtime/Cpp/include/antlr3memory.hpp | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/runtime/Cpp/include/antlr3memory.hpp b/runtime/Cpp/include/antlr3memory.hpp -index 7713613..4667a00 100755 ---- a/runtime/Cpp/include/antlr3memory.hpp -+++ b/runtime/Cpp/include/antlr3memory.hpp -@@ -98,17 +98,17 @@ public: - { - }; - - template - class UnOrderedMapType : public std::map< KeyType, ValueType, std::less, -- AllocatorType > > -+ AllocatorType > > - { - }; - - template - class OrderedMapType : public std::map< KeyType, ValueType, std::less, -- AllocatorType > > -+ AllocatorType > > - { - }; - - ANTLR_INLINE static void* operator new (std::size_t bytes) - { --- -2.26.2 - diff --git a/0007-update-java-target.patch b/0007-update-java-target.patch deleted file mode 100644 index b2a8b56..0000000 --- a/0007-update-java-target.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/antlr3-maven-archetype/src/main/resources/archetype-resources/pom.xml -+++ b/antlr3-maven-archetype/src/main/resources/archetype-resources/pom.xml -@@ -106,8 +106,8 @@ - maven-compiler-plugin - 2.0.2 - -- 1.6 -- jsr14 -+ 1.8 -+ 1.8 - src - - diff --git a/0008-unconst-cyclicdfa-gcc-14.patch b/0008-unconst-cyclicdfa-gcc-14.patch deleted file mode 100644 index 1a78820..0000000 --- a/0008-unconst-cyclicdfa-gcc-14.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- 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/README.md b/README.md deleted file mode 100644 index d572416..0000000 --- a/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# antlr3 - -[ANTLR version 3](https://www.antlr3.org/), 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. diff --git a/antlr3.spec b/antlr3.spec index 6837262..2831f56 100644 --- a/antlr3.spec +++ b/antlr3.spec @@ -1,224 +1,152 @@ -%global antlr_version 3.5.3 +%global antlr_version 3.5.2 %global c_runtime_version 3.4 %global javascript_runtime_version 3.1 -%global baserelease 16 +%global baserelease 17 -# This package needs itself to build. Use this to bootstrap on a new system. -%bcond bootstrap 0 +Summary: ANother Tool for Language Recognition +Name: antlr3 +Epoch: 1 +Version: %{antlr_version} +Release: %{baserelease}%{?dist} +License: BSD +URL: http://www.antlr3.org/ -# Component versions to use when bootstrapping -%global antlr2_version 2.7.7 -%global bootstrap_version 3.5 -%global ST4ver1 4.0.7 -%global ST4ver2 4.0.8 -%global stringtemplatever 3.2.1 +Source0: https://github.com/antlr/antlr3/archive/%{antlr_version}.tar.gz +#Source2: http://www.antlr3.org/download/Python/antlr_python_runtime-%{python_runtime_version}.tar.gz +Source3: http://www.antlr3.org/download/antlr-javascript-runtime-%{javascript_runtime_version}.zip -%global giturl https://github.com/antlr/antlr3 - -Summary: ANother Tool for Language Recognition -Name: antlr3 -Epoch: 1 -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 -Source1: http://www.antlr3.org/download/antlr-javascript-runtime-%{javascript_runtime_version}.zip -%if %{with bootstrap} -# Get prebuilt versions to bootstrap -Source2: https://repo1.maven.org/maven2/org/antlr/ST4/%{ST4ver1}/ST4-%{ST4ver1}.jar -Source3: https://repo1.maven.org/maven2/org/antlr/ST4/%{ST4ver1}/ST4-%{ST4ver1}.pom -Source4: https://repo1.maven.org/maven2/org/antlr/ST4/%{ST4ver2}/ST4-%{ST4ver2}.jar -Source5: https://repo1.maven.org/maven2/org/antlr/ST4/%{ST4ver2}/ST4-%{ST4ver2}.pom -Source6: https://repo1.maven.org/maven2/org/antlr/antlr/%{bootstrap_version}/antlr-%{bootstrap_version}.jar -Source7: https://repo1.maven.org/maven2/org/antlr/antlr/%{bootstrap_version}/antlr-%{bootstrap_version}.pom -Source8: https://repo1.maven.org/maven2/org/antlr/antlr-master/%{bootstrap_version}/antlr-master-%{bootstrap_version}.pom -Source9: https://repo1.maven.org/maven2/org/antlr/antlr-runtime/%{bootstrap_version}/antlr-runtime-%{bootstrap_version}.jar -Source10: https://repo1.maven.org/maven2/org/antlr/antlr-runtime/%{bootstrap_version}/antlr-runtime-%{bootstrap_version}.pom -Source11: https://repo1.maven.org/maven2/org/antlr/antlr3-maven-plugin/%{bootstrap_version}/antlr3-maven-plugin-%{bootstrap_version}.jar -Source12: https://repo1.maven.org/maven2/org/antlr/antlr3-maven-plugin/%{bootstrap_version}/antlr3-maven-plugin-%{bootstrap_version}.pom -Source13: https://repo1.maven.org/maven2/org/antlr/stringtemplate/%{stringtemplatever}/stringtemplate-%{stringtemplatever}.jar -Source14: https://repo1.maven.org/maven2/org/antlr/stringtemplate/%{stringtemplatever}/stringtemplate-%{stringtemplatever}.pom -Source15: https://repo1.maven.org/maven2/antlr/antlr/%{antlr2_version}/antlr-%{antlr2_version}.jar -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 -# 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 -# Fix problems with the C template. Patch from Debian. -Patch: 0003-fix-c-template.patch -# Keep Token.EOF_TOKEN for backwards compatibility. Patch from Debian. -Patch: 0004-eof-token.patch -# Make parsers reproducible. Patch from Debian. -Patch: 0005-reproducible-parsers.patch -# Fix for C++20 -Patch: 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 -# Fix source for tighter gcc template checks -Patch: 0008-unconst-cyclicdfa-gcc-14.patch +Patch1: osgi-manifest.patch -BuildRequires: ant-openjdk25 -BuildRequires: make -BuildRequires: maven-local-openjdk25 -%if %{without bootstrap} +BuildRequires: maven-local BuildRequires: mvn(org.antlr:antlr) BuildRequires: mvn(org.antlr:antlr3-maven-plugin) 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-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: mvn(org.sonatype.oss:oss-parent:pom:) +BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin) -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: libtool +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool -# https://fedoraproject.org/wiki/Changes/Drop_i686_JDKs -ExclusiveArch: %{java_arches} +# we don't build it now +Obsoletes: antlr3-gunit < 3.2-15 %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} -Requires: %{name}-java = %{epoch}:%{antlr_version}-%{release} -# Explicit requires for javapackages-tools since antlr3-script -# uses /usr/share/java-utils/java-functions -Requires: javapackages-tools +%package tool +Summary: ANother Tool for Language Recognition +BuildArch: noarch +Provides: %{name} = %{epoch}:%{antlr_version}-%{release} +Obsoletes: %{name} < %{epoch}:%{antlr_version}-%{release} +Requires: %{name}-java = %{epoch}:%{antlr_version}-%{release} -%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. +Provides: ant-antlr3 = %{epoch}:%{antlr_version}-%{release} +Obsoletes: ant-antlr3 < %{epoch}:%{antlr_version}-%{release} -%package java -Summary: Java run-time support for ANTLR-generated parsers -BuildArch: noarch +%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. -%description java +%package java +Summary: Java run-time support for ANTLR-generated parsers +BuildArch: noarch + +%description java Java run-time support for ANTLR-generated parsers -%package javadoc +%package javadoc Summary: API documentation for %{name} BuildArch: noarch -%description javadoc +%description javadoc %{summary}. -%package javascript -Summary: Javascript run-time support for ANTLR-generated parsers -Version: %{javascript_runtime_version} -Release: %{antlr_version}.%{baserelease}%{?dist} -BuildArch: noarch +%package javascript +Summary: Javascript run-time support for ANTLR-generated parsers +Version: %{javascript_runtime_version} +Release: %{antlr_version}.%{baserelease}%{?dist} +BuildArch: noarch -%description javascript +%description javascript Javascript run-time support for ANTLR-generated parsers -%package C -Summary: C run-time support for ANTLR-generated parsers -Version: %{c_runtime_version} -Release: %{antlr_version}.%{baserelease}%{?dist} +%package C +Summary: C run-time support for ANTLR-generated parsers +Version: %{c_runtime_version} +Release: %{antlr_version}.%{baserelease}%{?dist} -%description C +%description C C run-time support for ANTLR-generated parsers -%package C-devel -Summary: Header files for the C bindings for ANTLR-generated parsers -Requires: %{name}-C = %{epoch}:%{c_runtime_version}-%{release} -Version: %{c_runtime_version} -Release: %{antlr_version}.%{baserelease}%{?dist} +%package C-devel +Summary: Header files for the C bindings for ANTLR-generated parsers +Requires: %{name}-C = %{epoch}:%{c_runtime_version}-%{release} +Version: %{c_runtime_version} +Release: %{antlr_version}.%{baserelease}%{?dist} -%description C-devel +%description C-devel Header files for the C bindings for ANTLR-generated parsers %package C-docs -# The content is BSD-3-Clause. Other licenses are due to files installed by -# doxygen. -# api/bc_s.png: GPL-1.0-or-later -# api/bdwn.png: GPL-1.0-or-later -# api/closed.png: GPL-1.0-or-later -# api/doc.png: GPL-1.0-or-later -# api/doxygen.css: GPL-1.0-or-later -# api/doxygen.svg: GPL-1.0-or-later -# api/dynsections.js: MIT -# api/folderclosed.png: GPL-1.0-or-later -# api/folderopen.png: GPL-1.0-or-later -# api/jquery.js: MIT -# api/menu.js: MIT -# api/menudata.js: MIT -# api/nav_f.png: GPL-1.0-or-later -# api/nav_g.png: GPL-1.0-or-later -# api/nav_h.png: GPL-1.0-or-later -# api/navtree.css: GPL-1.0-or-later -# api/navtree.js: MIT -# api/open.png: GPL-1.0-or-later -# api/resize.js: MIT -# api/splitbar.png: GPL-1.0-or-later -# api/sync_off.png: GPL-1.0-or-later -# api/sync_on.png: GPL-1.0-or-later -# api/tab_a.png: GPL-1.0-or-later -# api/tab_b.png: GPL-1.0-or-later -# api/tab_h.png: GPL-1.0-or-later -# api/tab_s.png: GPL-1.0-or-later -# api/tabs.css: GPL-1.0-or-later -License: BSD-3-Clause AND GPL-1.0-or-later AND MIT Summary: API documentation for the C run-time support for ANTLR-generated parsers BuildArch: noarch BuildRequires: graphviz BuildRequires: doxygen Requires: %{name}-C = %{epoch}:%{c_runtime_version}-%{release} -Version: %{c_runtime_version} -Release: %{antlr_version}.%{baserelease}%{?dist} +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 +%package C++-devel Summary: C++ runtime support for ANTLR-generated parsers -%description C++-devel +%description C++-devel C++ runtime support for ANTLR-generated parsers. %prep -%autosetup -p1 -n antlr3-%{antlr_version} -a 1 - -%conf +%setup -q -n antlr3-%{antlr_version} -a 3 sed -i "s,\${buildNumber},`cat %{_sysconfdir}/fedora-release` `date`," tool/src/main/resources/org/antlr/antlr.properties +%patch0 -p1 +%patch1 # remove pre-built artifacts find -type f -a -name *.jar -delete find -type f -a -name *.class -delete -%pom_remove_parent - %pom_disable_module antlr3-maven-archetype %pom_disable_module gunit %pom_disable_module gunit-maven-plugin %pom_disable_module antlr-complete %pom_remove_plugin :maven-source-plugin -%pom_remove_plugin :maven-enforcer-plugin -%pom_remove_plugin -r :maven-javadoc-plugin +%pom_remove_plugin :maven-javadoc-plugin + +# compile for target 1.6, see BZ#842572 +sed -i 's/jsr14/1.6/' antlr3-maven-archetype/src/main/resources/archetype-resources/pom.xml \ + antlr3-maven-plugin/pom.xml \ + gunit/pom.xml \ + gunit-maven-plugin/pom.xml \ + pom.xml \ + runtime/Java/pom.xml \ + tool/pom.xml # workarounds bug in filtering (Mark invalid) %pom_xpath_remove pom:resource/pom:filtering @@ -230,31 +158,6 @@ find -type f -a -name *.class -delete %mvn_file :antlr-runtime antlr3-runtime %mvn_file :antlr-maven-plugin antlr3-maven-plugin -%if %{with bootstrap} -# Make the bootstrap JARs and POMs available -mkdir -p .m2/org/antlr/ST4/%{ST4ver1} -cp -p %{SOURCE2} %{SOURCE3} .m2/org/antlr/ST4/%{ST4ver1} -mkdir -p .m2/org/antlr/ST4/%{ST4ver2} -cp -p %{SOURCE4} %{SOURCE5} .m2/org/antlr/ST4/%{ST4ver2} -mkdir -p .m2/org/antlr/antlr/%{bootstrap_version} -cp -p %{SOURCE6} %{SOURCE7} .m2/org/antlr/antlr/%{bootstrap_version} -mkdir -p .m2/org/antlr/antlr-master/%{bootstrap_version} -cp -p %{SOURCE8} .m2/org/antlr/antlr-master/%{bootstrap_version} -mkdir -p .m2/org/antlr/antlr-runtime/%{bootstrap_version} -cp -p %{SOURCE9} %{SOURCE10} .m2/org/antlr/antlr-runtime/%{bootstrap_version} -mkdir -p .m2/org/antlr/antlr3-maven-plugin/%{bootstrap_version} -cp -p %{SOURCE11} %{SOURCE12} .m2/org/antlr/antlr3-maven-plugin/%{bootstrap_version} -mkdir -p .m2/org/antlr/stringtemplate/%{stringtemplatever} -cp -p %{SOURCE13} %{SOURCE14} .m2/org/antlr/stringtemplate/%{stringtemplatever} -mkdir -p .m2/antlr/antlr/%{antlr2_version} -cp -p %{SOURCE15} %{SOURCE16} .m2/antlr/antlr/%{antlr2_version} - -# We don't need the parent POM -%pom_remove_parent .m2/org/antlr/ST4/%{ST4ver1}/ST4-%{ST4ver1}.pom -%pom_remove_parent .m2/org/antlr/ST4/%{ST4ver2}/ST4-%{ST4ver2}.pom -%pom_remove_parent .m2/org/antlr/antlr-master/%{bootstrap_version}/antlr-master-%{bootstrap_version}.pom -%endif - %build %mvn_build -f @@ -268,8 +171,8 @@ autoreconf -i %{nil} %endif -sed -i 's#CFLAGS = .*#CFLAGS = %{build_cflags}#' Makefile -%make_build +sed -i "s#CFLAGS = .*#CFLAGS = $RPM_OPT_FLAGS#" Makefile +make %{?_smp_mflags} doxygen -u # update doxygen configuration file doxygen # build doxygen documentation popd @@ -277,8 +180,7 @@ popd # build ant task pushd antlr-ant/main/antlr3-task/ export CLASSPATH=$(build-classpath ant) -javac -encoding ISO-8859-1 -source 1.8 -target 1.8 \ - antlr3-src/org/apache/tools/ant/antlr/ANTLR3.java +javac -encoding ISO-8859-1 antlr3-src/org/apache/tools/ant/antlr/ANTLR3.java jar cvf ant-antlr3.jar \ -C antlr3-src org/apache/tools/ant/antlr/antlib.xml \ -C antlr3-src org/apache/tools/ant/antlr/ANTLR3.class @@ -302,7 +204,7 @@ EOF # install C runtime pushd runtime/C -%make_install +make DESTDIR=$RPM_BUILD_ROOT install rm $RPM_BUILD_ROOT%{_libdir}/libantlr3c.{a,la} pushd api/man/man3 for file in `ls -1 * | grep -vi "^antlr3"`; do @@ -324,6 +226,10 @@ popd mkdir -p $RPM_BUILD_ROOT/%{_includedir}/%{name} install -pm 644 runtime/Cpp/include/* $RPM_BUILD_ROOT/%{_includedir}/ +%post C -p /sbin/ldconfig + +%postun C -p /sbin/ldconfig + %files tool -f .mfiles-tool %doc README.txt tool/{LICENSE.txt,CHANGES.txt} %{_bindir}/antlr3 @@ -335,17 +241,16 @@ install -pm 644 runtime/Cpp/include/* $RPM_BUILD_ROOT/%{_includedir}/ %{_libdir}/libantlr3c.so %files C-devel -%{_mandir}/man3/ANTLR3* -%{_mandir}/man3/antlr3* -%{_includedir}/antlr3*.h +%{_mandir}/man3/* +%{_includedir}/*.h %files C-docs %doc runtime/C/api %files C++-devel %doc tool/LICENSE.txt -%{_includedir}/antlr3*.hpp -%{_includedir}/antlr3*.inl +%{_includedir}/*.hpp +%{_includedir}/*.inl %files java -f .mfiles-java %doc tool/LICENSE.txt @@ -358,121 +263,6 @@ 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 -- Convert License tag to SPDX - -* Wed Jul 20 2022 Fedora Release Engineering - 1:3.5.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Tue Jul 19 2022 Jerry James - 1:3.5.3-2 -- Remove i686 support (https://fedoraproject.org/wiki/Changes/Drop_i686_JDKs) - -* Sun Apr 10 2022 Jerry James - 1:3.5.3-1 -- Version 3.5.3 -- Drop ancient obsoletes -- Minor spec file cleanups - -* Sat Feb 05 2022 Jiri Vanek - 1:3.5.2-35 -- Rebuilt for java-17-openjdk as system jdk - -* Wed Jan 19 2022 Fedora Release Engineering - 1:3.5.2-34 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Wed Jul 21 2021 Fedora Release Engineering - 1:3.5.2-33 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Fri Mar 12 2021 Jerry James - 1:3.5.2-32 -- Add bootstrap conditional (bz 1847093) - -* Tue Jan 26 2021 Fedora Release Engineering - 1:3.5.2-31 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Mon Jul 27 2020 Fedora Release Engineering - 1:3.5.2-30 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Fri Jul 10 2020 Jiri Vanek - 1:3.5.2-29 -- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 - -* Wed Jun 03 2020 Fabio Valentini - 1:3.5.2-28 -- Actually apply Patch7. - -* Tue May 12 2020 Jerry James - 1:3.5.2-27 -- Add 0007-update-java-target.patch to fix JDK 11 build - -* Tue May 12 2020 Avi Kivity - 1:3.5.2-27 -- Fix for C++20 mode (#1834782) - -* Sat Apr 25 2020 Fabio Valentini - 1:3.5.2-26 -- Remove unnecessary dependency on deprecated parent pom. - -* Tue Jan 28 2020 Fedora Release Engineering - 1:3.5.2-25 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Thu Aug 1 2019 Jerry James - 1:3.5.2-24 -- BR ant to fix FTBFS. Thanks to Fabio Valentini for the hint. - -* Wed Jul 24 2019 Fedora Release Engineering - 1:3.5.2-23 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Sat Apr 27 2019 Jerry James - 1:3.5.2-22 -- Add Debian patches - -* Thu Jan 31 2019 Fedora Release Engineering - 1:3.5.2-21 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Thu Aug 30 2018 Severin Gehwolf - 1:3.5.2-20 -- Explicit requires for javapackages-tools since antlr3 script uses - java-functions. See RHBZ#1600426. - -* Thu Jul 12 2018 Fedora Release Engineering - 1:3.5.2-19 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Thu Jun 28 2018 Michael Simacek - 1:3.5.2-18 -- Remove ldconfig scriptlets - * Wed Feb 07 2018 Fedora Release Engineering - 1:3.5.2-17 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild diff --git a/osgi-manifest.patch b/osgi-manifest.patch index ff9bceb..9c68224 100644 --- a/osgi-manifest.patch +++ b/osgi-manifest.patch @@ -1,38 +1,25 @@ ---- a/runtime/Java/pom.xml 2022-04-10 17:09:47.418531841 -0600 -+++ b/runtime/Java/pom.xml 2022-04-10 17:16:58.890381092 -0600 -@@ -81,6 +81,35 @@ - - - -+ -+ org.apache.felix -+ maven-bundle-plugin -+ -+ -+ bundle-manifest -+ process-classes -+ -+ manifest -+ -+ -+ -+ -+ ${project.build.directory}/osgi -+ -+ org.antlr.runtime -+ !org.antlr.stringtemplate,* -+ -+ -+ -+ -+ org.apache.maven.plugins -+ maven-jar-plugin -+ -+ -+ ${project.build.directory}/osgi/MANIFEST.MF -+ -+ -+ - - +--- runtime/Java/pom.xml.orig 2015-11-24 22:48:17.908747868 +0000 ++++ runtime/Java/pom.xml 2015-11-24 22:48:37.201489113 +0000 +@@ -64,4 +64,22 @@ + + + ++ ++ ++ ++ org.apache.felixmaven-bundle-plugin ++ bundle-manifestprocess-classesmanifest ++ ++ ${project.build.directory}/osgi ++ org.antlr.runtime!org.antlr.stringtemplate,* ++ ++ ++ ++ org.apache.maven.pluginsmaven-jar-plugin ++ ++ ${project.build.directory}/osgi/MANIFEST.MF ++ ++ ++ ++ diff --git a/sources b/sources index b2ec866..1dbfcb6 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (antlr3-3.5.3.tar.gz) = c565e1ade7a62bb127df707015afded9a9cea54cbf5488730a327671c57e8718f93f76c4fa28edd856810cb9c7ccbcb27b53a7c8f7e3efc8169e64cfcc535a4c -SHA512 (antlr-javascript-runtime-3.1.zip) = 4bc7129d3eb1d864c05d91bf33d02f0fa03362ddb1b750157be04e5279891272d34b3fb18b421631b74dfafa48723e080b213a9acb993c6f17cec4c9e94f10ed +8c644afcdd7c7ec9f255b603d15163db 3.5.2.tar.gz +5f58e5f8c8a052225d57d518d77742fc antlr-javascript-runtime-3.1.zip