commit
8274bad01b
@ -0,0 +1 @@
|
|||||||
|
25699b17d8fe3c30bd87018f51230dc277debca6 SOURCES/antlr4-4.13.2.tar.gz
|
@ -0,0 +1 @@
|
|||||||
|
SOURCES/antlr4-4.13.2.tar.gz
|
@ -0,0 +1,188 @@
|
|||||||
|
--- antlr4-4.13.1/antlr4-maven-plugin/src/main/java/org/antlr/mojo/antlr4/MojoUtils.java.orig 2023-09-04 16:10:49.000000000 -0600
|
||||||
|
+++ antlr4-4.13.1/antlr4-maven-plugin/src/main/java/org/antlr/mojo/antlr4/MojoUtils.java 2023-10-17 10:57:44.988344449 -0600
|
||||||
|
@@ -55,7 +55,7 @@ class MojoUtils {
|
||||||
|
* directory and reflect the input organization of the grammar files.
|
||||||
|
*
|
||||||
|
* @param sourceDirectory The source directory {@link File} object
|
||||||
|
- * @param grammarFileName The full path to the input grammar file
|
||||||
|
+ * @param grammarFile The full path to the input grammar file
|
||||||
|
*
|
||||||
|
* @return The path to the grammar file relative to the source directory
|
||||||
|
*/
|
||||||
|
--- antlr4-4.13.1/runtime/Java/src/org/antlr/v4/runtime/atn/ArrayPredictionContext.java.orig 2023-09-04 16:10:49.000000000 -0600
|
||||||
|
+++ antlr4-4.13.1/runtime/Java/src/org/antlr/v4/runtime/atn/ArrayPredictionContext.java 2024-07-10 12:42:52.855200630 -0600
|
||||||
|
@@ -10,7 +10,7 @@ import java.util.Arrays;
|
||||||
|
|
||||||
|
public class ArrayPredictionContext extends PredictionContext {
|
||||||
|
/** Parent can be null only if full ctx mode and we make an array
|
||||||
|
- * from {@link #EMPTY} and non-empty. We merge {@link #EMPTY} by using null parent and
|
||||||
|
+ * from {@link org.antlr.v4.runtime.ParserRuleContext#EMPTY} and non-empty. We merge {@link org.antlr.v4.runtime.ParserRuleContext#EMPTY} by using null parent and
|
||||||
|
* returnState == {@link #EMPTY_RETURN_STATE}.
|
||||||
|
*/
|
||||||
|
public final PredictionContext[] parents;
|
||||||
|
--- antlr4-4.13.1/runtime/Java/src/org/antlr/v4/runtime/atn/CodePointTransitions.java.orig 2023-09-04 16:10:49.000000000 -0600
|
||||||
|
+++ antlr4-4.13.1/runtime/Java/src/org/antlr/v4/runtime/atn/CodePointTransitions.java 2023-10-17 10:57:44.989344435 -0600
|
||||||
|
@@ -11,8 +11,8 @@ package org.antlr.v4.runtime.atn;
|
||||||
|
* and {@link SetTransition} appropriately based on the range of the input.
|
||||||
|
*
|
||||||
|
* Previously, we distinguished between atom and range transitions for
|
||||||
|
- * Unicode code points <= U+FFFF and those above. We used a set
|
||||||
|
- * transition for a Unicode code point > U+FFFF. Now that we can serialize
|
||||||
|
+ * Unicode code points ≤ U+FFFF and those above. We used a set
|
||||||
|
+ * transition for a Unicode code point > U+FFFF. Now that we can serialize
|
||||||
|
* 32-bit int/chars in the ATN serialization, this is no longer necessary.
|
||||||
|
*/
|
||||||
|
public abstract class CodePointTransitions {
|
||||||
|
--- antlr4-4.13.1/runtime/Java/src/org/antlr/v4/runtime/CharStreams.java.orig 2023-09-04 16:10:49.000000000 -0600
|
||||||
|
+++ antlr4-4.13.1/runtime/Java/src/org/antlr/v4/runtime/CharStreams.java 2023-10-17 10:57:44.989344435 -0600
|
||||||
|
@@ -24,7 +24,7 @@ import java.nio.file.Paths;
|
||||||
|
|
||||||
|
/** This class represents the primary interface for creating {@link CharStream}s
|
||||||
|
* from a variety of sources as of 4.7. The motivation was to support
|
||||||
|
- * Unicode code points > U+FFFF. {@link ANTLRInputStream} and
|
||||||
|
+ * Unicode code points > U+FFFF. {@link ANTLRInputStream} and
|
||||||
|
* {@link ANTLRFileStream} are now deprecated in favor of the streams created
|
||||||
|
* by this interface.
|
||||||
|
*
|
||||||
|
--- antlr4-4.13.1/runtime/Java/src/org/antlr/v4/runtime/CodePointCharStream.java.orig 2023-09-04 16:10:49.000000000 -0600
|
||||||
|
+++ antlr4-4.13.1/runtime/Java/src/org/antlr/v4/runtime/CodePointCharStream.java 2023-10-17 10:57:44.989344435 -0600
|
||||||
|
@@ -16,7 +16,7 @@ import java.nio.charset.StandardCharsets
|
||||||
|
* code units.
|
||||||
|
*
|
||||||
|
* Use this if you need to parse input which potentially contains
|
||||||
|
- * Unicode values > U+FFFF.
|
||||||
|
+ * Unicode values > U+FFFF.
|
||||||
|
*/
|
||||||
|
public abstract class CodePointCharStream implements CharStream {
|
||||||
|
protected final int size;
|
||||||
|
--- antlr4-4.13.1/runtime/Java/src/org/antlr/v4/runtime/ParserInterpreter.java.orig 2023-09-04 16:10:49.000000000 -0600
|
||||||
|
+++ antlr4-4.13.1/runtime/Java/src/org/antlr/v4/runtime/ParserInterpreter.java 2023-10-17 10:57:44.990344420 -0600
|
||||||
|
@@ -69,7 +69,7 @@ public class ParserInterpreter extends P
|
||||||
|
protected final Deque<Pair<ParserRuleContext, Integer>> _parentContextStack =
|
||||||
|
new ArrayDeque<Pair<ParserRuleContext, Integer>>();
|
||||||
|
|
||||||
|
- /** We need a map from (decision,inputIndex)->forced alt for computing ambiguous
|
||||||
|
+ /** We need a map from (decision,inputIndex)→forced alt for computing ambiguous
|
||||||
|
* parse trees. For now, we allow exactly one override.
|
||||||
|
*/
|
||||||
|
protected int overrideDecision = -1;
|
||||||
|
--- antlr4-4.13.1/runtime/Java/src/org/antlr/v4/runtime/Parser.java.orig 2023-09-04 16:10:49.000000000 -0600
|
||||||
|
+++ antlr4-4.13.1/runtime/Java/src/org/antlr/v4/runtime/Parser.java 2023-10-17 10:57:44.990344420 -0600
|
||||||
|
@@ -82,7 +82,7 @@ public abstract class Parser extends Rec
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This field holds the deserialized {@link ATN} with bypass alternatives, created
|
||||||
|
- * lazily upon first demand. In 4.10 I changed from map<serializedATNstring, ATN>
|
||||||
|
+ * lazily upon first demand. In 4.10 I changed from map<serializedATNstring, ATN>
|
||||||
|
* since we only need one per parser object and also it complicates other targets
|
||||||
|
* that don't use ATN strings.
|
||||||
|
*
|
||||||
|
--- antlr4-4.13.1/runtime/Java/src/org/antlr/v4/runtime/RuleContext.java.orig 2023-09-04 16:10:49.000000000 -0600
|
||||||
|
+++ antlr4-4.13.1/runtime/Java/src/org/antlr/v4/runtime/RuleContext.java 2023-10-17 10:57:44.990344420 -0600
|
||||||
|
@@ -31,10 +31,10 @@ import java.util.List;
|
||||||
|
* Parser._ctx.
|
||||||
|
*
|
||||||
|
* public final SContext s() throws RecognitionException {
|
||||||
|
- * SContext _localctx = new SContext(_ctx, getState()); <-- create new node
|
||||||
|
- * enterRule(_localctx, 0, RULE_s); <-- push it
|
||||||
|
+ * SContext _localctx = new SContext(_ctx, getState()); ← create new node
|
||||||
|
+ * enterRule(_localctx, 0, RULE_s); ← push it
|
||||||
|
* ...
|
||||||
|
- * exitRule(); <-- pop back to _localctx
|
||||||
|
+ * exitRule(); ← pop back to _localctx
|
||||||
|
* return _localctx;
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
@@ -48,9 +48,9 @@ import java.util.List;
|
||||||
|
* symbol s then call r1, which calls r2, the would look like
|
||||||
|
* this:
|
||||||
|
*
|
||||||
|
- * SContext[-1] <- root node (bottom of the stack)
|
||||||
|
- * R1Context[p] <- p in rule s called r1
|
||||||
|
- * R2Context[q] <- q in rule r1 called r2
|
||||||
|
+ * SContext[-1] ← root node (bottom of the stack)
|
||||||
|
+ * R1Context[p] ← p in rule s called r1
|
||||||
|
+ * R2Context[q] ← q in rule r1 called r2
|
||||||
|
*
|
||||||
|
* So the top of the stack, _ctx, represents a call to the current
|
||||||
|
* rule and it holds the return address from another rule that invoke
|
||||||
|
@@ -161,7 +161,7 @@ public class RuleContext implements Rule
|
||||||
|
*/
|
||||||
|
public void setAltNumber(int altNumber) { }
|
||||||
|
|
||||||
|
- /** @since 4.7. {@see ParseTree#setParent} comment */
|
||||||
|
+ /** @since 4.7. @see ParseTree#setParent comment */
|
||||||
|
@Override
|
||||||
|
public void setParent(RuleContext parent) {
|
||||||
|
this.parent = parent;
|
||||||
|
--- antlr4-4.13.1/runtime/Java/src/org/antlr/v4/runtime/tree/ParseTreeListener.java.orig 2023-09-04 16:10:49.000000000 -0600
|
||||||
|
+++ antlr4-4.13.1/runtime/Java/src/org/antlr/v4/runtime/tree/ParseTreeListener.java 2023-10-17 10:57:44.990344420 -0600
|
||||||
|
@@ -12,7 +12,7 @@ import org.antlr.v4.runtime.ParserRuleCo
|
||||||
|
* by {@link ParseTreeWalker}. E.g.,
|
||||||
|
*
|
||||||
|
* ParseTreeWalker walker = new ParseTreeWalker();
|
||||||
|
- * walker.walk(myParseTreeListener, myParseTree); <-- triggers events in your listener
|
||||||
|
+ * walker.walk(myParseTreeListener, myParseTree); ← triggers events in your listener
|
||||||
|
*
|
||||||
|
* If you want to trigger events in multiple listeners during a single
|
||||||
|
* tree walk, you can use the ParseTreeDispatcher object available at
|
||||||
|
--- antlr4-4.13.1/tool/src/org/antlr/v4/codegen/Target.java.orig 2023-09-04 16:10:49.000000000 -0600
|
||||||
|
+++ antlr4-4.13.1/tool/src/org/antlr/v4/codegen/Target.java 2023-10-17 10:57:44.991344406 -0600
|
||||||
|
@@ -9,6 +9,7 @@ package org.antlr.v4.codegen;
|
||||||
|
import org.antlr.v4.Tool;
|
||||||
|
import org.antlr.v4.codegen.model.RuleFunction;
|
||||||
|
import org.antlr.v4.codegen.model.SerializedATN;
|
||||||
|
+import org.antlr.v4.codegen.model.SerializedJavaATN;
|
||||||
|
import org.antlr.v4.misc.CharSupport;
|
||||||
|
import org.antlr.v4.misc.Utils;
|
||||||
|
import org.antlr.v4.parse.ANTLRParser;
|
||||||
|
@@ -519,7 +520,7 @@ public abstract class Target {
|
||||||
|
* This is primarily needed by Java target to limit size of any single ATN string
|
||||||
|
* to 65k length.
|
||||||
|
*
|
||||||
|
- * @see SerializedATN#getSegments
|
||||||
|
+ * @see SerializedJavaATN#getSegments
|
||||||
|
*
|
||||||
|
* @return the serialized ATN segment limit
|
||||||
|
*/
|
||||||
|
--- antlr4-4.13.1/tool/src/org/antlr/v4/semantics/SymbolChecks.java.orig 2023-09-04 16:10:49.000000000 -0600
|
||||||
|
+++ antlr4-4.13.1/tool/src/org/antlr/v4/semantics/SymbolChecks.java 2023-10-17 10:57:44.991344406 -0600
|
||||||
|
@@ -373,7 +373,8 @@ public class SymbolChecks {
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
- * {@return} list of simple string literals for rule {@param rule}
|
||||||
|
+ * @param rule the rule
|
||||||
|
+ * @return list of simple string literals for the rule
|
||||||
|
*/
|
||||||
|
private List<String> getSingleTokenValues(Rule rule)
|
||||||
|
{
|
||||||
|
--- antlr4-4.13.1/tool/src/org/antlr/v4/tool/ErrorType.java.orig 2023-09-04 16:10:49.000000000 -0600
|
||||||
|
+++ antlr4-4.13.1/tool/src/org/antlr/v4/tool/ErrorType.java 2023-10-17 10:57:44.991344406 -0600
|
||||||
|
@@ -989,7 +989,7 @@ public enum ErrorType {
|
||||||
|
*
|
||||||
|
* <p><em>name</em> is not a recognized token name</p>
|
||||||
|
*
|
||||||
|
- * <pre>TOKEN: 'a' -> type(CHANNEL1); // error 175</pre>
|
||||||
|
+ * <pre>TOKEN: 'a' → type(CHANNEL1); // error 175</pre>
|
||||||
|
*/
|
||||||
|
CONSTANT_VALUE_IS_NOT_A_RECOGNIZED_TOKEN_NAME(175, "<arg> is not a recognized token name", ErrorSeverity.ERROR),
|
||||||
|
/**
|
||||||
|
@@ -997,7 +997,7 @@ public enum ErrorType {
|
||||||
|
*
|
||||||
|
* <p><em>name</em>is not a recognized mode name</p>
|
||||||
|
*
|
||||||
|
- * <pre>TOKEN: 'a' -> mode(MODE1); // error 176</pre>
|
||||||
|
+ * <pre>TOKEN: 'a' → mode(MODE1); // error 176</pre>
|
||||||
|
*/
|
||||||
|
CONSTANT_VALUE_IS_NOT_A_RECOGNIZED_MODE_NAME(176, "<arg> is not a recognized mode name", ErrorSeverity.ERROR),
|
||||||
|
/**
|
||||||
|
@@ -1005,7 +1005,7 @@ public enum ErrorType {
|
||||||
|
*
|
||||||
|
* <p><em>name</em> is not a recognized channel name</p>
|
||||||
|
*
|
||||||
|
- * <pre>TOKEN: 'a' -> channel(TOKEN1); // error 177</pre>
|
||||||
|
+ * <pre>TOKEN: 'a' → channel(TOKEN1); // error 177</pre>
|
||||||
|
*/
|
||||||
|
CONSTANT_VALUE_IS_NOT_A_RECOGNIZED_CHANNEL_NAME(177, "<arg> is not a recognized channel name", ErrorSeverity.ERROR),
|
||||||
|
/*
|
@ -0,0 +1,533 @@
|
|||||||
|
## START: Set by rpmautospec
|
||||||
|
## (rpmautospec version 0.6.5)
|
||||||
|
## RPMAUTOSPEC: autorelease, autochangelog
|
||||||
|
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
|
||||||
|
release_number = 1;
|
||||||
|
base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
|
||||||
|
print(release_number + base_release_number - 1);
|
||||||
|
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
|
||||||
|
## END: Set by rpmautospec
|
||||||
|
|
||||||
|
# OTHER LANGUAGE RUNTIMES:
|
||||||
|
# - A PHP runtime is available as a separate project:
|
||||||
|
# https://github.com/antlr/antlr-php-runtime/
|
||||||
|
# - A dart target is available, should dart ever be added to Fedora.
|
||||||
|
# - A C# target is available. It can be built into a DLL successfully with the
|
||||||
|
# dotnet package, but we don't seem to be able to create a nupkg with the
|
||||||
|
# current tooling, nor is there a well-defined place where a nupkg should be
|
||||||
|
# installed.
|
||||||
|
|
||||||
|
%global giturl https://github.com/antlr/antlr4
|
||||||
|
%global swiftarches x86_64 aarch64
|
||||||
|
%global swiftdir %{_prefix}/lib/swift/linux
|
||||||
|
|
||||||
|
Name: antlr4-project
|
||||||
|
Version: 4.13.2
|
||||||
|
Release: %autorelease
|
||||||
|
Summary: Parser generator (ANother Tool for Language Recognition)
|
||||||
|
|
||||||
|
License: BSD-3-Clause
|
||||||
|
URL: https://www.antlr.org/
|
||||||
|
VCS: git:%{giturl}.git
|
||||||
|
Source: %{giturl}/archive/%{version}/antlr4-%{version}.tar.gz
|
||||||
|
# Fix some javadoc problems
|
||||||
|
# https://github.com/antlr/antlr4/pull/2960
|
||||||
|
Patch: antlr4-javadoc.patch
|
||||||
|
|
||||||
|
BuildRequires: cmake
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
BuildRequires: help2man
|
||||||
|
BuildRequires: make
|
||||||
|
BuildRequires: maven-local
|
||||||
|
BuildRequires: mvn(com.google.code.maven-replacer-plugin:replacer)
|
||||||
|
BuildRequires: mvn(com.ibm.icu:icu4j)
|
||||||
|
BuildRequires: mvn(com.webguys:string-template-maven-plugin)
|
||||||
|
BuildRequires: mvn(jakarta.json:jakarta.json-api)
|
||||||
|
BuildRequires: mvn(junit:junit)
|
||||||
|
BuildRequires: mvn(org.abego.treelayout:org.abego.treelayout.core)
|
||||||
|
BuildRequires: mvn(org.antlr:ST4)
|
||||||
|
BuildRequires: mvn(org.antlr:antlr-runtime)
|
||||||
|
BuildRequires: mvn(org.antlr:antlr3-maven-plugin)
|
||||||
|
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
|
||||||
|
BuildRequires: mvn(org.apache.maven.plugin-tools:maven-plugin-annotations)
|
||||||
|
BuildRequires: mvn(org.apache.maven.plugins:maven-compiler-plugin)
|
||||||
|
BuildRequires: mvn(org.apache.maven.plugins:maven-jar-plugin)
|
||||||
|
BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin)
|
||||||
|
BuildRequires: mvn(org.apache.maven.plugins:maven-source-plugin)
|
||||||
|
BuildRequires: mvn(org.apache.maven:maven-compat)
|
||||||
|
BuildRequires: mvn(org.apache.maven:maven-core)
|
||||||
|
BuildRequires: mvn(org.apache.maven:maven-plugin-api)
|
||||||
|
BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
|
||||||
|
BuildRequires: mvn(org.codehaus.plexus:plexus-compiler-api)
|
||||||
|
BuildRequires: mvn(org.codehaus.plexus:plexus-utils)
|
||||||
|
BuildRequires: mvn(org.slf4j:slf4j-api)
|
||||||
|
BuildRequires: mvn(org.slf4j:slf4j-simple)
|
||||||
|
BuildRequires: mvn(org.sonatype.plexus:plexus-build-api)
|
||||||
|
BuildRequires: mvn(org.twdata.maven:mojo-executor)
|
||||||
|
BuildRequires: python3-devel
|
||||||
|
BuildRequires: utf8cpp-devel
|
||||||
|
|
||||||
|
# https://fedoraproject.org/wiki/Changes/Drop_i686_JDKs
|
||||||
|
ExclusiveArch: %{java_arches}
|
||||||
|
|
||||||
|
# Subpackages removed in 4.10. This can be removed when F40 reaches EOL.
|
||||||
|
Obsoletes: antlr4-runtime-test-annotations < 4.10
|
||||||
|
Obsoletes: antlr4-runtime-test-annotation-processors < 4.10
|
||||||
|
|
||||||
|
%global _desc %{expand:
|
||||||
|
ANTLR (ANother Tool for Language Recognition) is a powerful parser
|
||||||
|
generator for reading, processing, executing, or translating structured
|
||||||
|
text or binary files. It is widely used to build languages, tools, and
|
||||||
|
frameworks. From a grammar, ANTLR generates a parser that can build
|
||||||
|
and walk parse trees.}
|
||||||
|
|
||||||
|
%description %_desc
|
||||||
|
|
||||||
|
%package -n antlr4-runtime
|
||||||
|
Summary: ANTLR runtime
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description -n antlr4-runtime %_desc
|
||||||
|
|
||||||
|
This package provides the runtime library used by Java ANTLR parsers.
|
||||||
|
|
||||||
|
%package -n antlr4
|
||||||
|
Summary: Parser generator (ANother Tool for Language Recognition)
|
||||||
|
BuildArch: noarch
|
||||||
|
Requires: antlr4-runtime = %{version}-%{release}
|
||||||
|
Requires: javapackages-tools
|
||||||
|
|
||||||
|
%description -n antlr4 %_desc
|
||||||
|
|
||||||
|
This package provides the ANTLR parser generator.
|
||||||
|
|
||||||
|
%package -n antlr4-javadoc
|
||||||
|
Summary: API Documentation for antlr4
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description -n antlr4-javadoc %_desc
|
||||||
|
|
||||||
|
This package contains API documentation for antlr4.
|
||||||
|
|
||||||
|
%package -n antlr4-maven-plugin
|
||||||
|
Summary: ANTLR plugin for Apache Maven
|
||||||
|
BuildArch: noarch
|
||||||
|
Requires: antlr4 = %{version}-%{release}
|
||||||
|
|
||||||
|
%description -n antlr4-maven-plugin %_desc
|
||||||
|
|
||||||
|
This package provides a plugin for Apache Maven which can be used to
|
||||||
|
generate ANTLR parsers during project build.
|
||||||
|
|
||||||
|
%package -n antlr4-doc
|
||||||
|
Summary: ANTLR4 documentation
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description -n antlr4-doc %_desc
|
||||||
|
|
||||||
|
This package contains ANTLR4 documentation.
|
||||||
|
|
||||||
|
%package -n antlr4-cpp-runtime
|
||||||
|
Summary: ANTLR runtime for C++
|
||||||
|
|
||||||
|
%description -n antlr4-cpp-runtime %_desc
|
||||||
|
|
||||||
|
This package provides the runtime library used by C++ ANTLR parsers.
|
||||||
|
|
||||||
|
%package -n antlr4-cpp-runtime-devel
|
||||||
|
Summary: Header files for programs that use C++ ANTLR parsers
|
||||||
|
Requires: antlr4-cpp-runtime%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description -n antlr4-cpp-runtime-devel %_desc
|
||||||
|
|
||||||
|
This package provides header files for programs that use C++ ANTLR
|
||||||
|
parsers.
|
||||||
|
|
||||||
|
%ifarch %go_arches
|
||||||
|
%global goipath github.com/antlr4-go/antlr
|
||||||
|
|
||||||
|
%package -n golang-github-antlr4-antlr-devel
|
||||||
|
Summary: ANTLR runtime for Go
|
||||||
|
BuildArch: noarch
|
||||||
|
BuildRequires: go-rpm-macros
|
||||||
|
|
||||||
|
# This can be removed when F44 reaches EOL
|
||||||
|
Obsoletes: golang-antlr4-runtime-devel < 4.13
|
||||||
|
Provides: golang-antlr4-runtime-devel = %{version}-%{release}
|
||||||
|
|
||||||
|
%description -n golang-github-antlr4-antlr-devel %_desc
|
||||||
|
|
||||||
|
This package provides the runtime library used by Go ANTLR parsers.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%ifarch %nodejs_arches
|
||||||
|
%package -n nodejs-antlr4
|
||||||
|
# The entire project is BSD-3-Clause.
|
||||||
|
# codepointat.js and fromcodepoint.js are MIT.
|
||||||
|
License: BSD-3-Clause AND MIT
|
||||||
|
Summary: ANTLR runtime for JavaScript
|
||||||
|
BuildArch: noarch
|
||||||
|
BuildRequires: nodejs
|
||||||
|
BuildRequires: nodejs-packaging
|
||||||
|
Requires: nodejs
|
||||||
|
|
||||||
|
%description -n nodejs-antlr4 %_desc
|
||||||
|
|
||||||
|
This package provides the runtime library used by JavaScript ANTLR
|
||||||
|
parsers.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%package -n python3-antlr4-runtime
|
||||||
|
Summary: ANTLR runtime for Python 3
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description -n python3-antlr4-runtime %_desc
|
||||||
|
|
||||||
|
This package provides the runtime library used by Python 3 ANTLR parsers.
|
||||||
|
|
||||||
|
%ifarch %swiftarches
|
||||||
|
%package -n swift-antlr4-runtime
|
||||||
|
Summary: ANTLR runtime for swift
|
||||||
|
BuildRequires: chrpath
|
||||||
|
BuildRequires: swift-lang
|
||||||
|
|
||||||
|
%description -n swift-antlr4-runtime %_desc
|
||||||
|
|
||||||
|
This package provides the runtime library used by swift ANTLR parsers.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -n antlr4-%{version} -p1
|
||||||
|
find -name \*.jar -delete
|
||||||
|
|
||||||
|
# sonatype-oss-parent is deprecated in Fedora
|
||||||
|
%pom_remove_parent
|
||||||
|
|
||||||
|
# Xmvn javadoc mojo is in use
|
||||||
|
%pom_remove_plugin -r :maven-javadoc-plugin
|
||||||
|
|
||||||
|
# Missing test deps: org.seleniumhq.selenium:selenium-java
|
||||||
|
%pom_disable_module runtime-testsuite
|
||||||
|
%pom_disable_module tool-testsuite
|
||||||
|
|
||||||
|
# Missing test dep:
|
||||||
|
# io.takari.maven.plugins:takari-plugin-testing
|
||||||
|
%pom_remove_dep -r :takari-plugin-testing
|
||||||
|
|
||||||
|
# Adapt to jakarta-json 2.x
|
||||||
|
%pom_change_dep org.glassfish:javax.json jakarta.json:jakarta.json-api runtime-testsuite
|
||||||
|
|
||||||
|
# Missing plugins
|
||||||
|
# io.takari.maven.plugins:takari-lifecycle-plugin
|
||||||
|
%pom_remove_plugin -r :takari-lifecycle-plugin
|
||||||
|
# us.bryon:graphviz-maven-plugin
|
||||||
|
%pom_remove_plugin :graphviz-maven-plugin runtime/Java
|
||||||
|
|
||||||
|
# Don't bundle dependencies
|
||||||
|
%pom_remove_plugin :maven-shade-plugin tool
|
||||||
|
|
||||||
|
%mvn_package :antlr4-master antlr4-runtime
|
||||||
|
|
||||||
|
# Use utf8cpp instead of the deprecated wstring_convert
|
||||||
|
sed -i 's/# \(.*DUSE_UTF8_INSTEAD_OF_CODECVT.*\)/\1/' runtime/Cpp/CMakeLists.txt
|
||||||
|
|
||||||
|
%generate_buildrequires
|
||||||
|
cd runtime/Python3
|
||||||
|
%pyproject_buildrequires
|
||||||
|
|
||||||
|
%build
|
||||||
|
export JAVA_HOME=%{_jvmdir}/java
|
||||||
|
|
||||||
|
# Build for Java
|
||||||
|
# Due to the missing takari packages, we cannot run the tests
|
||||||
|
%mvn_build -s -f -- -Dsource=1.8
|
||||||
|
|
||||||
|
# Build the C++ runtime
|
||||||
|
# Disable building tests, because that tries to download googletest from github
|
||||||
|
cd runtime/Cpp
|
||||||
|
%cmake \
|
||||||
|
-DANTLR_BUILD_CPP_TESTS:BOOL=OFF \
|
||||||
|
-DANTLR_BUILD_SHARED:BOOL=ON \
|
||||||
|
-DANTLR_BUILD_STATIC:BOOL=OFF \
|
||||||
|
-DANTLR4_INSTALL:BOOL=ON \
|
||||||
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||||
|
-DCMAKE_INSTALL_LIBDIR=%{_libdir}
|
||||||
|
%cmake_build
|
||||||
|
cd -
|
||||||
|
|
||||||
|
# Build the Python 3 runtime
|
||||||
|
cd runtime/Python3
|
||||||
|
%pyproject_wheel
|
||||||
|
cd -
|
||||||
|
|
||||||
|
%ifarch %swiftarches
|
||||||
|
# Build the Swift runtime
|
||||||
|
cd runtime/Swift
|
||||||
|
# Swift insists on a space between -j and the number, so cannot use _smp_mflags
|
||||||
|
swift build -c release %{?_smp_build_ncpus:-j %_smp_build_ncpus} \
|
||||||
|
-Xlinker --build-id -Xlinker --as-needed -Xlinker -z -Xlinker relro \
|
||||||
|
-Xlinker -z -Xlinker now
|
||||||
|
cd -
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%install
|
||||||
|
# Install for Java; cannot use %%mvn_install as it passes %%name to -n
|
||||||
|
xmvn-install -R .xmvn-reactor -n antlr4 -d %{buildroot}
|
||||||
|
jdir=target/site/apidocs
|
||||||
|
[ -d .xmvn/apidocs ] && jdir=.xmvn/apidocs
|
||||||
|
mkdir -p %{buildroot}%{_licensedir}
|
||||||
|
if [ -d "${jdir}" ]; then
|
||||||
|
install -dm755 %{buildroot}%{_javadocdir}/antlr4
|
||||||
|
cp -pr "${jdir}"/* %{buildroot}%{_javadocdir}/antlr4
|
||||||
|
echo '%{_javadocdir}/antlr4' >>.mfiles-javadoc
|
||||||
|
fi
|
||||||
|
|
||||||
|
%jpackage_script org.antlr.v4.Tool "" "" antlr4/antlr4:antlr3-runtime:antlr4/antlr4-runtime:stringtemplate4:treelayout antlr4 true
|
||||||
|
|
||||||
|
# Install the C++ runtime
|
||||||
|
cd runtime/Cpp
|
||||||
|
%cmake_install
|
||||||
|
cd -
|
||||||
|
|
||||||
|
# Install the Go runtime
|
||||||
|
%ifarch %go_arches
|
||||||
|
mkdir -p %{buildroot}%{gopath}/src/%{goipath}
|
||||||
|
cp -a runtime/Go/antlr/v* %{buildroot}%{gopath}/src/%{goipath}
|
||||||
|
cat > %{buildroot}%{gopath}/src/%{goipath}/.goipath << EOF
|
||||||
|
version:%{version}-%{release}
|
||||||
|
excluderegex:.*example.*
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# Install the JavaScript runtime
|
||||||
|
%ifarch %nodejs_arches
|
||||||
|
mkdir -p %{buildroot}%{nodejs_sitelib}
|
||||||
|
cp -a runtime/JavaScript/src/antlr4 %{buildroot}%{nodejs_sitelib}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# Install the Python 3 runtime
|
||||||
|
cd runtime/Python3
|
||||||
|
%pyproject_install
|
||||||
|
%pyproject_save_files antlr4
|
||||||
|
cd -
|
||||||
|
|
||||||
|
%ifarch %swiftarches
|
||||||
|
# Install the Swift runtime
|
||||||
|
mkdir -p %{buildroot}%{swiftdir}/%{_arch}
|
||||||
|
cp -p .build/release/libAntlr4Dynamic.so %{buildroot}%{swiftdir}
|
||||||
|
cp -p .build/release/libAntlr4Static.a %{buildroot}%{swiftdir}
|
||||||
|
cp -p .build/release/Antlr4.swift{doc,module,sourceinfo} %{buildroot}%{swiftdir}/%{_arch}
|
||||||
|
cp -p .build/release/description.json %{buildroot}%{swiftdir}/%{_arch}
|
||||||
|
|
||||||
|
# Fix the rpath to have $ORIGIN first
|
||||||
|
oldrunpath=$(chrpath %{buildroot}%{swiftdir}/libAntlr4Dynamic.so | cut -d= -f2 | cut -d: -f1)
|
||||||
|
chrpath -r "\$ORIGIN:$oldrunpath" %{buildroot}%{swiftdir}/libAntlr4Dynamic.so
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# Create man pages
|
||||||
|
export PYTHONPATH=%{buildroot}%{python3_sitelib}
|
||||||
|
mkdir -p %{buildroot}%{_mandir}/man1
|
||||||
|
cat > antlr4 << EOF
|
||||||
|
java -cp %{buildroot}%{_javadir}/antlr4/antlr4.jar:%{buildroot}%{_javadir}/antlr4/antlr4-runtime.jar:$(build-classpath antlr3-runtime stringtemplate4 treelayout) org.antlr.v4.Tool
|
||||||
|
EOF
|
||||||
|
chmod a+x antlr4
|
||||||
|
help2man -N --version-string=%{version} -h '' ./antlr4 \
|
||||||
|
-n 'Parser generator (ANother Tool for Language Recognition)' \
|
||||||
|
> %{buildroot}%{_mandir}/man1/antlr4.1
|
||||||
|
cd %{buildroot}%{_bindir}
|
||||||
|
help2man -N --version-string=%{version} ./pygrun \
|
||||||
|
-n 'Parser generator (ANother Tool for Language Recognition)' \
|
||||||
|
> %{buildroot}%{_mandir}/man1/pygrun.1
|
||||||
|
cd -
|
||||||
|
|
||||||
|
# Clean up bits we do not want
|
||||||
|
rm -fr %{buildroot}%{_docdir}/libantlr4
|
||||||
|
|
||||||
|
%files -n antlr4-runtime -f .mfiles-antlr4-runtime
|
||||||
|
%doc README.md
|
||||||
|
%license LICENSE.txt
|
||||||
|
|
||||||
|
%files -n antlr4 -f .mfiles-antlr4
|
||||||
|
%doc CHANGES.txt
|
||||||
|
%{_bindir}/antlr4
|
||||||
|
%{_mandir}/man1/antlr4.1*
|
||||||
|
|
||||||
|
%files -n antlr4-javadoc -f .mfiles-javadoc
|
||||||
|
%doc CHANGES.txt
|
||||||
|
%license LICENSE.txt
|
||||||
|
|
||||||
|
%files -n antlr4-maven-plugin -f .mfiles-antlr4-maven-plugin
|
||||||
|
|
||||||
|
%files -n antlr4-doc
|
||||||
|
%doc doc
|
||||||
|
%license LICENSE.txt
|
||||||
|
|
||||||
|
%files -n antlr4-cpp-runtime
|
||||||
|
%doc runtime/Cpp/README.md
|
||||||
|
%license LICENSE.txt
|
||||||
|
%{_libdir}/libantlr4-runtime.so.%{version}
|
||||||
|
|
||||||
|
%files -n antlr4-cpp-runtime-devel
|
||||||
|
%doc runtime/Cpp/cmake/Antlr4Package.md runtime/Cpp/cmake/README.md
|
||||||
|
%{_includedir}/antlr4-runtime/
|
||||||
|
%{_libdir}/libantlr4-runtime.so
|
||||||
|
%{_libdir}/cmake/antlr4-generator/
|
||||||
|
%{_libdir}/cmake/antlr4-runtime/
|
||||||
|
|
||||||
|
%ifarch %go_arches
|
||||||
|
%files -n golang-github-antlr4-antlr-devel
|
||||||
|
%license LICENSE.txt
|
||||||
|
%{gopath}/src/github.com/
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%ifarch %nodejs_arches
|
||||||
|
%files -n nodejs-antlr4
|
||||||
|
%doc runtime/JavaScript/README.md
|
||||||
|
%license LICENSE.txt
|
||||||
|
%{nodejs_sitelib}/antlr4/
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%files -n python3-antlr4-runtime -f %{pyproject_files}
|
||||||
|
%doc runtime/Python3/README.txt
|
||||||
|
%license LICENSE.txt
|
||||||
|
%{_bindir}/pygrun
|
||||||
|
%{_mandir}/man1/pygrun.1*
|
||||||
|
|
||||||
|
%ifarch %swiftarches
|
||||||
|
%files -n swift-antlr4-runtime
|
||||||
|
%license LICENSE.txt
|
||||||
|
%{swiftdir}/
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Sat Jan 04 2025 Arkady L. Shane <tigro@msvsphere-os.ru> - 4.13.2-1
|
||||||
|
- Rebuilt for MSVSphere 10
|
||||||
|
|
||||||
|
## START: Generated by rpmautospec
|
||||||
|
* Sun Aug 04 2024 Jerry James <loganjerry@gmail.com> - 4.13.2-1
|
||||||
|
- Version 4.13.2
|
||||||
|
|
||||||
|
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.13.1-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jul 16 2024 Jerry James <loganjerry@gmail.com> - 4.13.1-2
|
||||||
|
- Build with maven-replacer-plugin support
|
||||||
|
|
||||||
|
* Thu Jul 11 2024 Jerry James <loganjerry@gmail.com> - 4.13.1-1
|
||||||
|
- Version 4.13.1
|
||||||
|
- Drop unneeded static-library patch
|
||||||
|
- Build javadoc documentation again
|
||||||
|
- Change name of the golang package
|
||||||
|
|
||||||
|
* Wed Jun 26 2024 Jerry James <loganjerry@gmail.com> - 4.10.1-16
|
||||||
|
- Remove reference to static library from cmake files
|
||||||
|
|
||||||
|
* Mon Jun 10 2024 Python Maint <python-maint@redhat.com> - 4.10.1-15
|
||||||
|
- Rebuilt for Python 3.13
|
||||||
|
|
||||||
|
* Tue Feb 27 2024 Jiri Vanek <jvanek@redhat.com> - 4.10.1-14
|
||||||
|
- Rebuilt for java-21-openjdk as system jdk
|
||||||
|
|
||||||
|
* Sun Feb 11 2024 Maxwell G <maxwell@gtmx.me> - 4.10.1-13
|
||||||
|
- Rebuild for golang 1.22.0
|
||||||
|
|
||||||
|
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.10.1-12
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.10.1-11
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Aug 1 2023 Jerry James <loganjerry@gmail.com> - 4.10.1-10
|
||||||
|
- Remove maven-clean-plugin BR
|
||||||
|
|
||||||
|
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.10.1-9
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jun 30 2023 Python Maint <python-maint@redhat.com> - 4.10.1-8
|
||||||
|
- Rebuilt for Python 3.12
|
||||||
|
|
||||||
|
* Mon Feb 27 2023 Jerry James <loganjerry@gmail.com> - 4.10.1-7
|
||||||
|
- Dynamically generate python BuildRequires
|
||||||
|
|
||||||
|
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.10.1-7
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Nov 29 2022 Jerry James <loganjerry@gmail.com> - 4.10.1-6
|
||||||
|
- Adapt to jakarta-json 2.x
|
||||||
|
|
||||||
|
* Wed Nov 2 2022 Jerry James <loganjerry@gmail.com> - 4.10.1-5
|
||||||
|
- BR nodejs-packaging to fix FTBFS
|
||||||
|
|
||||||
|
* Thu Aug 11 2022 Jerry James <loganjerry@gmail.com> - 4.10.1-4
|
||||||
|
- Convert License tag to SPDX
|
||||||
|
|
||||||
|
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.10.1-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jul 19 2022 Jerry James <loganjerry@gmail.com> - 4.10.1-3
|
||||||
|
- Remove i686 support (https://fedoraproject.org/wiki/Changes/Drop_i686_JDKs)
|
||||||
|
|
||||||
|
* Tue Jun 21 2022 Jerry James <loganjerry@gmail.com> - 4.10.1-2
|
||||||
|
- Adapt to changed Provides in javapackages-tools
|
||||||
|
|
||||||
|
* Mon Jun 20 2022 Jerry James <loganjerry@gmail.com> - 4.10.1-1
|
||||||
|
- Version 4.10.1
|
||||||
|
- Add generated cmake files to antlr4-cpp-runtime-devel (rhbz#2098357)
|
||||||
|
|
||||||
|
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 4.9.3-5
|
||||||
|
- Rebuilt for Python 3.11
|
||||||
|
|
||||||
|
* Wed Apr 27 2022 Jerry James <loganjerry@gmail.com> - 4.9.3-4
|
||||||
|
- Remove . from %%cmake to fix FTBFS (rhbz#2070433)
|
||||||
|
|
||||||
|
* Sat Feb 05 2022 Jiri Vanek <jvanek@redhat.com> - 4.9.3-3
|
||||||
|
- Rebuilt for java-17-openjdk as system jdk
|
||||||
|
|
||||||
|
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.9.3-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sun Nov 7 2021 Jerry James <loganjerry@gmail.com> - 4.9.3-1
|
||||||
|
- Version 4.9.3
|
||||||
|
- Drop upstreamed -unicode-properties and -utf8cpp patches
|
||||||
|
|
||||||
|
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.9.2-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jun 10 2021 Jerry James <loganjerry@gmail.com> - 4.9.2-2
|
||||||
|
- Drop the javadoc subpackage due to xmvn errors
|
||||||
|
- Fix an invalid RPATH in the swift runtime library
|
||||||
|
|
||||||
|
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 4.9.2-2
|
||||||
|
- Rebuilt for Python 3.10
|
||||||
|
|
||||||
|
* Fri Mar 12 2021 Jerry James <loganjerry@gmail.com> - 4.9.2-1
|
||||||
|
- Version 4.9.2
|
||||||
|
|
||||||
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.9.1-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jan 7 2021 Jerry James <loganjerry@gmail.com> - 4.9.1-1
|
||||||
|
- Version 4.9.1
|
||||||
|
- Remove the mono runtime, which no longer builds on Fedora
|
||||||
|
|
||||||
|
* Mon Nov 30 2020 Jerry James <loganjerry@gmail.com> - 4.9-1
|
||||||
|
- Version 4.9
|
||||||
|
- Add the JavaScript runtime
|
||||||
|
- Add -utf8cpp patch
|
||||||
|
|
||||||
|
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.8-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jul 23 2020 Jerry James <loganjerry@gmail.com> - 4.8-4
|
||||||
|
- Fix cmake and javadoc issues
|
||||||
|
|
||||||
|
* Tue Jul 21 2020 Mat Booth <mat.booth@redhat.com> - 4.8-3
|
||||||
|
- Allow building against JDK 11
|
||||||
|
|
||||||
|
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 4.8-2
|
||||||
|
- Rebuilt for Python 3.9
|
||||||
|
|
||||||
|
* Tue Jan 21 2020 Jerry James <loganjerry@gmail.com> - 4.8-1
|
||||||
|
- Initial RPM, based on old antlr4.spec
|
||||||
|
|
||||||
|
## END: Generated by rpmautospec
|
Loading…
Reference in new issue