Compare commits

..

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

13 changed files with 167 additions and 494 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,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,86 +1,41 @@
%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 3
%global baserelease 5
# This package needs itself to build. Use this to bootstrap on a new system.
%bcond_with bootstrap
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 automake libtool
# 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
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/
Source0: https://github.com/antlr/antlr3/archive/%{antlr_version}/%{name}-%{antlr_version}.tar.gz
Source1: http://www.antlr3.org/download/antlr-javascript-runtime-%{javascript_runtime_version}.zip
%if %{with bootstrap}
# Get prebuilt versions to bootstrap
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
Patch0: 0001-java8-fix.patch
# Generate OSGi metadata
Patch1: osgi-manifest.patch
# Increase the default conversion timeout to avoid build failures when complex
# grammars are processed on slow architectures. Patch from Debian.
Patch2: 0002-conversion-timeout.patch
# Fix problems with the C template. Patch from Debian.
Patch3: 0003-fix-c-template.patch
# Keep Token.EOF_TOKEN for backwards compatibility. Patch from Debian.
Patch4: 0004-eof-token.patch
# Make parsers reproducible. Patch from Debian.
Patch5: 0005-reproducible-parsers.patch
# Fix for C++20
Patch6: 0006-antlr3memory.hpp-fix-for-C-20-mode.patch
# Compile for target 1.8 to fix build with JDK 11
Patch7: 0007-update-java-target.patch
BuildRequires: ant
BuildRequires: make
BuildRequires: maven-local
%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-enforcer-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin)
BuildRequires: mvn(org.apache.maven:maven-plugin-api)
BuildRequires: mvn(org.apache.maven:maven-project)
BuildRequires: mvn(org.codehaus.plexus:plexus-compiler-api)
BuildRequires: autoconf
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
@ -88,61 +43,58 @@ 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
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
%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
@ -151,29 +103,36 @@ 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.
%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
%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
@ -181,7 +140,16 @@ find -type f -a -name *.class -delete
%pom_disable_module antlr-complete
%pom_remove_plugin :maven-source-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
@ -193,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
@ -231,21 +179,19 @@ autoreconf -i
%{nil}
%endif
sed -i "s#CFLAGS = .*#CFLAGS = $RPM_OPT_FLAGS#" 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}
@ -253,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
@ -287,11 +232,18 @@ 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
@ -320,119 +272,6 @@ install -pm 644 runtime/Cpp/include/* $RPM_BUILD_ROOT/%{_includedir}/
%doc tool/LICENSE.txt
%changelog
* Thu Aug 11 2022 Jerry James <loganjerry@gmail.com> - 1:3.5.3-3%{?dist}
- 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

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