Compare commits

..

No commits in common. "rawhide" and "f28" have entirely different histories.

12 changed files with 127 additions and 538 deletions

7
.gitignore vendored
View file

@ -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

View file

@ -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 <ebourg@apache.org>
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?

View file

@ -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 @@
<if(LEXER)>
LRECOVER();
<else>
+<! use following code to make it recover inline;
RECOVERFROMMISMATCHEDSET(&FOLLOW_set_in_<ruleName><elementIndex>);
+!>
<endif>
goto rule<ruleDescriptor.name>Ex;
}<\n>
@@ -2143,7 +2145,10 @@
EXCEPTION->type = ANTLR3_MISMATCHED_SET_EXCEPTION;
EXCEPTION->name = (void *)ANTLR3_MISMATCHED_SET_NAME;
<if(PARSER)>
+EXCEPTION->expectingSet = NULL;
+<! use following code to make it recover inline;
EXCEPTION->expectingSet = &FOLLOW_set_in_<ruleName><elementIndex>;
+!>
<endif>
>>
@@ -2510,7 +2515,7 @@
*/
static const ANTLR3_INT32 * const dfa<dfa.decisionNumber>_transitions[] =
{
- <dfa.transitionEdgeTables:{xref|dfa<dfa.decisionNumber>_T<xref>}; separator=", ", wrap="\n", null="_empty">
+ <dfa.transitionEdgeTables:{xref|dfa<dfa.decisionNumber>_T<xref>}; separator=", ", wrap="\n", null="NULL">
};
<if(dfa.specialStateSTs)>

View file

@ -1,13 +0,0 @@
Description: Keep the Token.EOF_TOKEN field to preserve the backward compatibility
Author: Emmanuel Bourg <ebourg@apache.org>
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);

View file

@ -1,42 +0,0 @@
Description: Replace the HashSets with LinkedHashSets to make the generated parsers reproducible
Author: Emmanuel Bourg <ebourg@apache.org>
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<String> exceptions]
@init
{
- $exceptions = new HashSet<String>();
+ $exceptions = new LinkedHashSet<String>();
}
: ^('throws' (ID {$exceptions.add($ID.text);})+ )
;
@@ -556,7 +557,7 @@
if ( state.backtracking == 0 )
{
if ( grammar.buildAST() )
- currentRewriteRule.rewriteRefsDeep = new HashSet<GrammarAST>();
+ currentRewriteRule.rewriteRefsDeep = new LinkedHashSet<GrammarAST>();
}
}
: ^( REWRITES
@@ -582,8 +583,8 @@
{
// don't do if guessing
currentRewriteBlock=$start; // pts to BLOCK node
- currentRewriteBlock.rewriteRefsShallow = new HashSet<GrammarAST>();
- currentRewriteBlock.rewriteRefsDeep = new HashSet<GrammarAST>();
+ currentRewriteBlock.rewriteRefsShallow = new LinkedHashSet<GrammarAST>();
+ currentRewriteBlock.rewriteRefsDeep = new LinkedHashSet<GrammarAST>();
}
}
: ^( BLOCK rewrite_alternative EOB )

View file

@ -1,39 +0,0 @@
From 478902a7e57e2283c57410f5aa14939e743b5102 Mon Sep 17 00:00:00 2001
From: Avi Kivity <avi@scylladb.com>
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 KeyType, class ValueType>
class UnOrderedMapType : public std::map< KeyType, ValueType, std::less<KeyType>,
- AllocatorType<std::pair<KeyType, ValueType> > >
+ AllocatorType<std::pair<const KeyType, ValueType> > >
{
};
template<class KeyType, class ValueType>
class OrderedMapType : public std::map< KeyType, ValueType, std::less<KeyType>,
- AllocatorType<std::pair<KeyType, ValueType> > >
+ AllocatorType<std::pair<const KeyType, ValueType> > >
{
};
ANTLR_INLINE static void* operator new (std::size_t bytes)
{
--
2.26.2

View file

@ -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 @@
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
- <source>1.6</source>
- <target>jsr14</target>
+ <source>1.8</source>
+ <target>1.8</target>
<sourceDirectory>src</sourceDirectory>
</configuration>
</plugin>

View file

@ -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

View file

@ -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.

View file

@ -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 <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
- Rebuilt for java-21-openjdk as system jdk
* Thu Feb 1 2024 Avi Kivity <avi@scylladb.com> - 1:3.5.3-9
- Remove const specifiers in templates that are now flagged by gcc 14.
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.5.3-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.5.3-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.5.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sun Jun 11 2023 Jerry James <loganjerry@gmail.com> - 1:3.5.3-5
- Remove unneeded maven 2 dependency
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.5.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Aug 11 2022 Jerry James <loganjerry@gmail.com> - 1:3.5.3-3
- Convert License tag to SPDX
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.5.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Tue Jul 19 2022 Jerry James <loganjerry@gmail.com> - 1:3.5.3-2
- Remove i686 support (https://fedoraproject.org/wiki/Changes/Drop_i686_JDKs)
* Sun Apr 10 2022 Jerry James <loganjerry@gmail.com> - 1:3.5.3-1
- Version 3.5.3
- Drop ancient obsoletes
- Minor spec file cleanups
* Sat Feb 05 2022 Jiri Vanek <jvanek@redhat.com> - 1:3.5.2-35
- Rebuilt for java-17-openjdk as system jdk
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.5.2-34
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.5.2-33
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri Mar 12 2021 Jerry James <loganjerry@gmail.com> - 1:3.5.2-32
- Add bootstrap conditional (bz 1847093)
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.5.2-31
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.5.2-30
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jul 10 2020 Jiri Vanek <jvanek@redhat.com> - 1:3.5.2-29
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
* Wed Jun 03 2020 Fabio Valentini <decathorpe@gmail.com> - 1:3.5.2-28
- Actually apply Patch7.
* Tue May 12 2020 Jerry James <loganjerry@gmail.com> - 1:3.5.2-27
- Add 0007-update-java-target.patch to fix JDK 11 build
* Tue May 12 2020 Avi Kivity <avi@scylladb.com> - 1:3.5.2-27
- Fix for C++20 mode (#1834782)
* Sat Apr 25 2020 Fabio Valentini <decathorpe@gmail.com> - 1:3.5.2-26
- Remove unnecessary dependency on deprecated parent pom.
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.5.2-25
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Aug 1 2019 Jerry James <loganjerry@gmail.com> - 1:3.5.2-24
- BR ant to fix FTBFS. Thanks to Fabio Valentini for the hint.
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.5.2-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sat Apr 27 2019 Jerry James <loganjerry@gmail.com> - 1:3.5.2-22
- Add Debian patches
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.5.2-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Aug 30 2018 Severin Gehwolf <sgehwolf@redhat.com> - 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 <releng@fedoraproject.org> - 1:3.5.2-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Jun 28 2018 Michael Simacek <msimacek@redhat.com> - 1:3.5.2-18
- Remove ldconfig scriptlets
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.5.2-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

View file

@ -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 @@
</execution>
</executions>
</plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>bundle-manifest</id>
+ <phase>process-classes</phase>
+ <goals>
+ <goal>manifest</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <manifestLocation>${project.build.directory}/osgi</manifestLocation>
+ <instructions>
+ <Bundle-SymbolicName>org.antlr.runtime</Bundle-SymbolicName>
+ <Import-Package>!org.antlr.stringtemplate,*</Import-Package>
+ </instructions>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <configuration>
+ <archive>
+ <manifestFile>${project.build.directory}/osgi/MANIFEST.MF</manifestFile>
+ </archive>
+ </configuration>
+ </plugin>
</plugins>
</build>
--- 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 @@
</dependencies>
+<build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId><artifactId>maven-bundle-plugin</artifactId>
+ <executions><execution><id>bundle-manifest</id><phase>process-classes</phase><goals><goal>manifest</goal></goals></execution></executions>
+ <configuration>
+ <manifestLocation>${project.build.directory}/osgi</manifestLocation>
+ <instructions><Bundle-SymbolicName>org.antlr.runtime</Bundle-SymbolicName><Import-Package>!org.antlr.stringtemplate,*</Import-Package></instructions>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId>
+ <configuration>
+ <archive><manifestFile>${project.build.directory}/osgi/MANIFEST.MF</manifestFile></archive>
+ </configuration>
+ </plugin>
+ </plugins>
+</build>
</project>

View file

@ -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