Compare commits

..

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

14 changed files with 182 additions and 622 deletions

14
.gitignore vendored
View file

@ -1,3 +1,11 @@
/*.zip
/*.tar.gz
/*.src.rpm
antlr-3.2.tar.gz
libantlr3c-3.2.tar.gz
antlr-javascript-runtime-3.1.zip
antlr_python_runtime-3.1.2.tar.gz
antlr3-maven-plugin-3.2.jar
antlr-3.2.jar
/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

View file

@ -1,4 +1,4 @@
From 33f662c60e6e7b703e197854d2478a8747f044f0 Mon Sep 17 00:00:00 2001
From d0aa3d0a4f323cb1464c02d53711c2a0cd24c10d Mon Sep 17 00:00:00 2001
From: Michael Simacek <msimacek@redhat.com>
Date: Tue, 17 Jun 2014 19:36:24 +0200
Subject: [PATCH] java8 fix
@ -6,12 +6,13 @@ Subject: [PATCH] java8 fix
Signed-off-by: Michael Simacek <msimacek@redhat.com>
---
tool/src/main/java/org/antlr/codegen/CodeGenerator.java | 2 +-
tool/src/main/java/org/antlr/tool/ErrorManager.java | 1 -
tool/src/main/java/org/antlr/tool/Grammar.java | 4 ++--
tool/src/main/java/org/antlr/tool/Strip.java | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
4 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/tool/src/main/java/org/antlr/codegen/CodeGenerator.java b/tool/src/main/java/org/antlr/codegen/CodeGenerator.java
index b279bd5..566e33c 100644
index 57495b2..eada38e 100644
--- a/tool/src/main/java/org/antlr/codegen/CodeGenerator.java
+++ b/tool/src/main/java/org/antlr/codegen/CodeGenerator.java
@@ -1087,7 +1087,7 @@ public class CodeGenerator {
@ -23,8 +24,20 @@ index b279bd5..566e33c 100644
// then translate via codegen.g
CodeGenTreeWalker gen = new CodeGenTreeWalker(new CommonTreeNodeStream(rewriteTree));
diff --git a/tool/src/main/java/org/antlr/tool/ErrorManager.java b/tool/src/main/java/org/antlr/tool/ErrorManager.java
index d3223ae..122c861 100644
--- a/tool/src/main/java/org/antlr/tool/ErrorManager.java
+++ b/tool/src/main/java/org/antlr/tool/ErrorManager.java
@@ -385,7 +385,6 @@ public class ErrorManager {
public void runTimeError(STMessage msg) {
switch (msg.error) {
case NO_SUCH_ATTRIBUTE:
- case NO_SUCH_ATTRIBUTE_PASS_THROUGH:
case NO_SUCH_PROPERTY:
ErrorManager.warning(ErrorManager.MSG_STRING_TEMPLATE_ERROR, msg.toString());
return;
diff --git a/tool/src/main/java/org/antlr/tool/Grammar.java b/tool/src/main/java/org/antlr/tool/Grammar.java
index 667ebb2..4ca4328 100644
index 91bbad9..dc4774a 100644
--- a/tool/src/main/java/org/antlr/tool/Grammar.java
+++ b/tool/src/main/java/org/antlr/tool/Grammar.java
@@ -706,7 +706,7 @@ public class Grammar {
@ -59,5 +72,5 @@ index f411090..ddda4ed 100644
rewrite(g.getTreeAdaptor(),t,g.getTokenNames());
}
--
2.7.4
1.9.3

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.

13
antlr-runtime-MANIFEST.MF Normal file
View file

@ -0,0 +1,13 @@
Manifest-Version: 1.0
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: J2SE-1.3
Bundle-Name: %pluginName
Bundle-SymbolicName: org.antlr.runtime
Eclipse-SourceReferences: scm:cvs:pserver:dev.eclipse.org:/cvsroot/too
ls:org.eclipse.orbit/org.antlr.runtime;tag=v201101311130
Export-Package: org.antlr.runtime;version="3.2.0",org.antlr.runtime.de
bug;version="3.2.0",org.antlr.runtime.misc;version="3.2.0",org.antlr.
runtime.tree;version="3.2.0"
Bundle-Version: 3.2.0.v201101311130
Bundle-ManifestVersion: 2

View file

@ -1,215 +1,138 @@
%global antlr_version 3.5.3
#%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
%global antlr_version 3.5.2
%global c_runtime_version 3.4
#%global python_runtime_version 3.1.3
%global javascript_runtime_version 3.1
%global baserelease 16
%global baserelease 4
# 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
Version: %{antlr_version}
Release: %{baserelease}%{?dist}
Epoch: 1
URL: http://www.antlr3.org/
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
Source9: antlr-runtime-MANIFEST.MF
Patch1: 0001-java8-fix.patch
License: BSD
BuildRequires: maven-local
BuildRequires: maven-enforcer-plugin
BuildRequires: maven-plugin-bundle
BuildRequires: maven-assembly-plugin
BuildRequires: maven-shared-reporting-impl
BuildRequires: maven-surefire-provider-junit
BuildRequires: maven-install-plugin
BuildRequires: buildnumber-maven-plugin
BuildRequires: junit
BuildRequires: tomcat-servlet-3.0-api
BuildRequires: stringtemplate4
BuildRequires: stringtemplate
BuildRequires: felix-parent
BuildRequires: antlr3-tool
BuildRequires: autoconf
# 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
%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
# 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
BuildRequires: ant-openjdk25
BuildRequires: make
BuildRequires: maven-local-openjdk25
%if %{without bootstrap}
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.codehaus.plexus:plexus-compiler-api)
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.
%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.
%package java
Summary: Java run-time support for ANTLR-generated parsers
BuildArch: noarch
%package java
Summary: Java run-time support for ANTLR-generated parsers
BuildArch: noarch
%description java
%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.
#%package python
#Group: Development/Libraries
#Summary: Python run-time support for ANTLR-generated parsers
#BuildRequires: python-devel
#BuildRequires: python-setuptools-devel
#BuildArch: noarch
#Version: %{python_runtime_version}
#
#%description python
#Python run-time 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
# remove pre-built artifacts
find -type f -a -name *.jar -delete
find -type f -a -name *.class -delete
%pom_remove_parent
%patch1 -p1
%pom_disable_module antlr3-maven-archetype
%pom_disable_module gunit
@ -217,8 +140,16 @@ 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
%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,34 +161,14 @@ 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
## Build the python runtime
#pushd antlr_python_runtime-%{python_runtime_version}
#%{__python} setup.py build
#popd
# Build the C runtime
pushd runtime/C
autoreconf -i
@ -268,21 +179,19 @@ 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
# 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
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
popd
# inject OSGi manifests
mkdir -p META-INF
cp -p %{SOURCE9} META-INF/MANIFEST.MF
touch META-INF/MANIFEST.MF
zip runtime/Java/target/antlr-runtime-%{antlr_version}.jar META-INF/MANIFEST.MF
%install
mkdir -p $RPM_BUILD_ROOT/%{_mandir}
@ -290,19 +199,18 @@ mkdir -p $RPM_BUILD_ROOT/%{_datadir}/antlr
%mvn_install
# install ant task
install -m 644 antlr-ant/main/antlr3-task/ant-antlr3.jar -D $RPM_BUILD_ROOT%{_javadir}/ant/ant-antlr3.jar
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ant.d
cat > $RPM_BUILD_ROOT%{_sysconfdir}/ant.d/ant-antlr3 << EOF
ant/ant-antlr3 antlr3
EOF
# install wrapper script
%jpackage_script org.antlr.Tool '' '' 'stringtemplate4/ST4.jar:antlr3.jar:antlr3-runtime.jar' antlr3 true
%jpackage_script org.antlr.Tool '' '' 'stringtemplate4.jar:antlr3.jar:antlr3-runtime.jar' antlr3 true
## install python runtime
#pushd antlr_python_runtime-%{python_runtime_version}
#%{__python} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT
#chmod a+x $RPM_BUILD_ROOT%{python_sitelib}/antlr_python_runtime-*
#popd
# 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,28 +232,34 @@ 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
%{_javadir}/ant/ant-antlr3.jar
%config(noreplace) %{_sysconfdir}/ant.d/ant-antlr3
#%files python
#%doc tool/LICENSE.txt
#%{python_sitelib}/antlr3/*
#%{python_sitelib}/antlr_python_runtime-*
%files C
%doc tool/LICENSE.txt
%{_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,165 +272,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
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.5.2-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.5.2-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.5.2-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Tue Oct 04 2016 David Geiger <daviddavid> - 1:3.5.2-13
- Fix stringtemplate4 jar classpath in shell script (stringtemplate4/ST4.jar)
* Tue Sep 27 2016 Michael Simacek <msimacek@redhat.com> - 1:3.5.2-12
- Fix Java 8 patch
* Wed Jun 15 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 1:3.5.2-11
- Regenerate build-requires
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.5.2-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Tue Nov 24 2015 Mat Booth <mat.booth@redhat.com> - 1:3.5.2-10
- Fix OSGi metadata
- Delete some commented out sections
* Wed Jun 17 2015 Mat Booth <mat.booth@redhat.com> - 1:3.5.2-9
- Build and ship the antlr3 ant task
- Add provides/obsoletes for separate ant-antlr3 package
* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:3.5.2-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Wed Apr 29 2015 Michal Srb <msrb@redhat.com> - 1:3.5.2-7
- Fix FTBFS (Resolves: rhbz#1204672)
* Mon Mar 30 2015 Michael Simacek <msimacek@redhat.com> - 1:3.5.2-6
- Fix FTBFS
* Mon Mar 23 2015 Dan Horák <dan[at]danny.cz> - 1:3.5.2-5
- update BR - whole autotools chain is required explicitly
* Fri Oct 31 2014 Yaakov Selkowitz <yselkowi@redhat.com> - 1:3.5.2-4
- Avoid timestamp conflicts when updating jar manifest

View file

@ -1,38 +0,0 @@
--- 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>
</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