Sync from SUSE:SLFO:Main antlr revision 797d2777678013818ce3c8a50f706b8c

This commit is contained in:
Adrian Schröter 2024-05-03 10:56:53 +02:00
commit 69e1e68038
15 changed files with 1095 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

4
_multibuild Normal file
View File

@ -0,0 +1,4 @@
<multibuild>
<package>antlr-bootstrap</package>
</multibuild>

22
antlr-2.7.7.pom Normal file
View File

@ -0,0 +1,22 @@
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>antlr</groupId>
<artifactId>antlr</artifactId>
<packaging>jar</packaging>
<version>2.7.7</version>
<name>AntLR Parser Generator</name>
<description>
A framework for constructing recognizers, compilers,
and translators from grammatical descriptions containing
Java, C#, C++, or Python actions.
</description>
<url>http://www.antlr.org/</url>
<licenses>
<license>
<name>BSD License</name>
<url>http://www.antlr.org/license.html</url>
<distribution>repo</distribution>
</license>
</licenses>
<dependencies/>
</project>

BIN
antlr-2.7.7.tar.bz2 (Stored with Git LFS) Normal file

Binary file not shown.

130
antlr-bootstrap.changes Normal file
View File

@ -0,0 +1,130 @@
-------------------------------------------------------------------
Tue Oct 17 11:07:22 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Clean the spec file and use javapackages-local >= 6 features
-------------------------------------------------------------------
Thu May 4 12:54:42 UTC 2023 - Frederic Crozat <fcrozat@suse.com>
- Add _multibuild to define additional spec files as additional
flavors.
Eliminates the need for source package links in OBS.
-------------------------------------------------------------------
Fri Aug 2 06:53:31 UTC 2019 - Martin Liška <mliska@suse.cz>
- Use FAT LTO objects in order to provide proper static library.
-------------------------------------------------------------------
Thu May 9 12:54:52 UTC 2019 - Bernhard Wiedemann <bwiedemann@suse.com>
- Drop unused BuildRequires: zip+unzip
-------------------------------------------------------------------
Fri Feb 1 11:19:37 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Speed-up build by compiling all *.java files in one javac
invocation
-------------------------------------------------------------------
Tue May 15 05:55:58 UTC 2018 - fstrba@suse.com
- Build with source and target 8 to prepare for a possible removal
of 1.6 compatibility
-------------------------------------------------------------------
Thu Dec 7 11:38:17 UTC 2017 - dimstar@opensuse.org
- Escape the usage of %{VERSION} when calling out to rpm.
RPM 4.14 has %{VERSION} defined as 'the main packages version'.
-------------------------------------------------------------------
Mon Oct 9 09:56:54 UTC 2017 - fstrba@suse.com
- Remove requirement of gcc-java all together and build with
any java version that exists and is able to use source and target
1.6
-------------------------------------------------------------------
Wed Sep 20 17:39:46 UTC 2017 - fstrba@suse.com
- Remove requirements of ecj-bootstrap and fastjar
* use the gcj.jar that comes with gccN-java
* use gjar-N instead of fastjar
-------------------------------------------------------------------
Fri Jul 4 11:17:30 UTC 2014 - tchvatal@suse.com
- Cleanup a bit with spec-cleaner
-------------------------------------------------------------------
Wed Jul 17 13:14:27 UTC 2013 - schwab@suse.de
- Fix quoting of $
-------------------------------------------------------------------
Tue Aug 31 09:09:28 UTC 2010 - mvyskocil@suse.cz
- Do not install antlr.jar to avoid conflicts with a regular
antlr-java packages. Packages using antlr-bootstrap needs to have
antlr-bootstrap in their CLASSPATH
-------------------------------------------------------------------
Mon Aug 23 08:18:40 UTC 2010 - mvyskocil@suse.cz
- do not Provide antlr
-------------------------------------------------------------------
Mon Mar 3 11:02:14 CET 2008 - mvyskocil@suse.cz
- updated to 2.7.7
-------------------------------------------------------------------
Wed Jan 30 08:09:43 CET 2008 - adrian@suse.de
- add Provides: antlr on sugggestion of dbornkessel
-------------------------------------------------------------------
Fri May 4 09:12:00 CEST 2007 - dbornkessel@suse.de
- added unzip to BuildRequires
-------------------------------------------------------------------
Wed Nov 15 14:33:57 CET 2006 - dbornkessel@suse.de
- delete "Provides: antlr" ... packages that need the bootstrap package should have a hard require on it
-------------------------------------------------------------------
Thu Oct 12 20:28:43 CEST 2006 - ro@suse.de
- change buildreq to ">=" for ecj-bootstrap
-------------------------------------------------------------------
Sat Oct 7 11:55:37 CEST 2006 - dbornkessel@suse.de
- added check that checks whether deleted files ShowString.java and StreamConverter.java are really not in place
-------------------------------------------------------------------
Thu Oct 5 11:21:47 CEST 2006 - dbornkessel@suse.de
- deleted
antlr-2.7.6/examples/java/unicode.IDENTs/ShowString.java
antlr-2.7.6/examples/java/unicode.IDENTs/StreamConverter.java
from tar ball due to licensing issues (Bug #207621)
-------------------------------------------------------------------
Thu Sep 28 01:00:26 CEST 2006 - ro@suse.de
- added gcc-gij to BuildRequires
-------------------------------------------------------------------
Wed Sep 20 10:34:54 CEST 2006 - dbornkessel@suse.de
- renamed antlr-bootstrap.jar to antlr.jar
-------------------------------------------------------------------
Mon Sep 18 11:33:12 CEST 2006 - dbornkessel@suse.de
- created bootstrapping package

106
antlr-bootstrap.spec Normal file
View File

@ -0,0 +1,106 @@
#
# spec file for package antlr-bootstrap
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define gccbinsuffix %(rpm -q --qf "-%%{VERSION}" gcc-java)
%define real_name antlr
Name: antlr-bootstrap
Version: 2.7.7
Release: 0
Summary: Antlr for bootstrapping purposes
License: BSD-3-Clause AND SUSE-Public-Domain
Group: Development/Libraries/Java
URL: https://www.antlr.org
Source0: antlr-%{version}.tar.bz2
Source1: manifest.antlr
BuildRequires: java-devel >= 1.8
BuildArch: noarch
%description
This antlr package is used for bootstrapping purposes only.
%prep
%setup -q -n %{real_name}-%{version}
find | grep "\(ShowString.java$\|StreamConverter.java$\)" && exit 42 || :
%build
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
#>>> some useful functions ... used throughout bootstrap packages
# variables:
TARGET_DIR=`pwd`
CLASSPATH_ORIG="$CLASSPATH"
#>>> delete binary file and files not needed
function delBinaryFiles() {
set +x
echo deleting binary files ...
find . -name "*.class" -o -name "*.jar" -o -name "*DELETED-BY-PACKAGER*" -delete
set -x
}
#>>> make %{?_smp_mflags} a string with all jar files found in target folder that can be used for a classpath string
# string is saved in JAR_CLASSPATH
function mkTargetClasspath() {
set +x
JAR_CLASSPATH=""
for file in `find %{_javadir} -name "*.jar"`
do
JAR_CLASSPATH=$file:$JAR_CLASSPATH
done
set -x
}
#>>> compiles all *.java file in the current directory tree
# uses mkTargetClasspath for CLASSPATH variable
function compileFiles() {
mkTargetClasspath
set +x
COMPILE_CLASSPATH_PATH=.:${JAR_CLASSPATH}
echo -e "$COMPILER_COMMAND $COMPILE_CLASSPATH_PATH $(find . -name "*.java" | xargs)"
$COMPILER_COMMAND $COMPILE_CLASSPATH_PATH $(find . -name "*.java" | xargs)
# check for errors
if [ $? != 0 ]
then
echo ERROR
exit 1;
fi
echo done
set -x
}
#>>> make %{?_smp_mflags} jar archive
# PARAM#1: name of jar archive (without .jar suffix)
# uses $TARGET_DIR to move created jar to
function mkJar() {
find -name "version.txt" -or -name "*.class" -or -name "*.properties" -or -name "*.rsc" -or -name "*manifest*" |\
xargs jar cfm ${1}.jar manifest.* ;
mv ${1}.jar $TARGET_DIR
}
COMPILER_COMMAND="javac -source 8 -target 8 -cp "
delBinaryFiles
mkdir src
mv antlr src
cd src
cp %{SOURCE1} .
compileFiles
mkJar %{name}
delBinaryFiles
%install
install -d -m 0755 %{buildroot}%{_javadir}
install -m 0644 %{name}.jar %{buildroot}%{_javadir}/
%files
%{_javadir}/%{name}.jar
%changelog

71
antlr-build.xml Normal file
View File

@ -0,0 +1,71 @@
<!-- simple generic build file -->
<project name="antlr" default="all" basedir=".">
<!-- Properties -->
<property name="name" value="antlr"/>
<property name="src" value="src"/>
<property name="build" value="work"/>
<property name="build.classes" value="${build}/classes"/>
<property name="build.doc" value="${build}/api"/>
<property name="build.lib" value="${build}/lib"/>
<property name="packagenames" value="antlr.*"/>
<property name="j2se.apidoc" value="http://java.sun.com/j2se/1.4/docs/api/"/>
<!-- Targets -->
<!-- Prepare build directories -->
<target name="prepare">
<mkdir dir="${src}"/>
<mkdir dir="${build}"/>
<mkdir dir="${build.classes}"/>
<mkdir dir="${build.lib}"/>
<mkdir dir="${build.doc}"/>
<copy todir="${src}/antlr">
<fileset dir="antlr"/>
</copy>
</target>
<!-- Kill all the created directories -->
<target name="clean">
<delete dir="${build}"/>
<delete dir="${src}"/>
</target>
<!-- Build classes -->
<target name="classes" depends="prepare">
<javac srcdir="${src}" destdir="${build.classes}"
debug="off" optimize="on" deprecation="on"/>
</target>
<!-- Build jar archives -->
<target name="jar" depends="classes">
<jar jarfile="${build.lib}/${name}.jar" basedir="${build.classes}"
index="true">
<manifest>
<attribute name="Main-Class" value="antlr.Tool"/>
</manifest>
</jar>
</target>
<!-- Build the full JavaDocs -->
<target name="javadoc" depends="prepare">
<javadoc sourcepath="${src}"
destdir="${build.doc}"
doctitle="${name} Javadoc"
windowtitle="${name} Javadoc"
package="true"
author="true"
version="true"
packagenames="${packagenames}"
splitindex="true"
use="true">
<link href="${j2se.apidoc}"/>
</javadoc>
</target>
<!-- Build everything -->
<target name="all" depends="jar,javadoc"/>
</project>

33
antlr-jedit.patch Normal file
View File

@ -0,0 +1,33 @@
--- extras/antlr-jedit.xml~ 2003-03-01 23:28:04.000000000 +0200
+++ extras/antlr-jedit.xml 2003-03-01 23:38:17.000000000 +0200
@@ -16,9 +16,6 @@
</PROPS>
<RULES DEFAULT="KEYWORD1">
- <!-- whitespace: (space and tab) -->
- <WHITESPACE> </WHITESPACE>
- <WHITESPACE> </WHITESPACE>
<!-- antlr specific rules -->
<SPAN DELEGATE="java::MAIN" TYPE="KEYWORD1">
@@ -97,9 +94,7 @@
</RULES>
<RULES DEFAULT="KEYWORD2" SET="PRODUCTION">
- <!-- whitespace: (space and tab) -->
- <WHITESPACE> </WHITESPACE>
- <WHITESPACE> </WHITESPACE>
+
<!-- Silly comment -->
<SEQ TYPE="COMMENT1">/**/</SEQ>
@@ -149,9 +144,6 @@
</RULES>
<RULES SET="KEYVALUE">
- <!-- whitespace: (space and tab) -->
- <WHITESPACE> </WHITESPACE>
- <WHITESPACE> </WHITESPACE>
<SEQ TYPE="KEYWORD1">{</SEQ>

3
antlr-rpmlintrc Normal file
View File

@ -0,0 +1,3 @@
addFilter("zero-length /usr/share/doc/packages/antlr-manual/examples/csharp/csharp_v1/testfiles/Empty.cs")
addFilter("wrong-file-end-of-line-encoding /usr/share/doc/packages/antlr-manual/examples/")
addFilter("no-binary")

25
antlr-script Normal file
View File

@ -0,0 +1,25 @@
#!/bin/sh
#
# antlr script
# JPackage Project <http://www.jpackage.org/>
# Source functions library
if [ -f /usr/share/java-utils/java-functions ] ; then
. /usr/share/java-utils/java-functions
else
echo "Can't find functions library, aborting"
exit 1
fi
# Configuration
MAIN_CLASS="antlr.Tool"
BASE_FLAGS=""
BASE_JARS="antlr.jar"
# Set parameters
set_jvm
set_classpath $BASE_JARS
set_flags $BASE_FLAGS
# Let's start
run "$@"

267
antlr.changes Normal file
View File

@ -0,0 +1,267 @@
-------------------------------------------------------------------
Tue Oct 17 11:07:22 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Clean the spec file and use javapackages-local >= 6 features
-------------------------------------------------------------------
Thu May 4 12:54:42 UTC 2023 - Frederic Crozat <fcrozat@suse.com>
- Add _multibuild to define additional spec files as additional
flavors.
Eliminates the need for source package links in OBS.
-------------------------------------------------------------------
Thu May 7 19:43:34 UTC 2020 - Pedro Monreal Gonzalez <pmonrealgonzalez@suse.com>
- Build antlr-manual package without examples files [bsc#1120360]
- Remove not needed files
-------------------------------------------------------------------
Mon Jan 6 09:32:44 UTC 2020 - Fridrich Strba <fstrba@suse.com>
- Not only provide python-antlr, but also obsolete it
-------------------------------------------------------------------
Wed Jul 31 08:51:20 UTC 2019 - Martin Liška <mliska@suse.cz>
- Use FAT LTO objects in order to provide proper static library.
-------------------------------------------------------------------
Sun Nov 18 19:43:07 UTC 2018 - Fridrich Strba <fstrba@suse.com>
- Install as maven artifact using the pom file from maven central
-------------------------------------------------------------------
Thu Sep 13 08:55:01 UTC 2018 - Tomáš Chvátal <tchvatal@suse.com>
- Do not create compat symlink for python stuff as it was not working
before anyway
- Rename python package to python2-antlr (provide old symbol)
-------------------------------------------------------------------
Fri Jul 20 15:27:49 UTC 2018 - tchvatal@suse.com
- Do not use old compat macros for python directories
-------------------------------------------------------------------
Tue May 15 05:54:51 UTC 2018 - fstrba@suse.com
- Build with source and target 8 to prepare for a possible removal
of 1.6 compatibility
-------------------------------------------------------------------
Fri Jan 12 11:53:47 UTC 2018 - tchvatal@suse.com
- Add condition about python2 module, the rewrite happened in antlr4
for python3 support and it is completely different than the antlr2
* The python module is not used by any package in TW bsc#1068226
-------------------------------------------------------------------
Thu Dec 7 14:35:50 UTC 2017 - dimstar@opensuse.org
- Fix build with RPM 4.14: a command that exits with error > 0
aborts the build (and grep not finding a string is retval 1).
-------------------------------------------------------------------
Fri Nov 3 10:03:12 UTC 2017 - mpluskal@suse.com
- Explicitly require python2 [bsc#1068226, fate#323526]
-------------------------------------------------------------------
Fri Sep 29 13:23:59 UTC 2017 - fstrba@suse.com
- Require java-devel >= 1.6 to build, because of the source and
target level
-------------------------------------------------------------------
Wed Sep 6 18:02:30 UTC 2017 - fstrba@suse.com
- fixes necessary to compile with Java 9
* set javac source and target to 1.6
-------------------------------------------------------------------
Fri Jun 9 09:43:34 UTC 2017 - tchvatal@suse.com
- Drop the javadoc so we can be build with java bootstrapping reducing
the cycle/failures
-------------------------------------------------------------------
Fri May 19 13:28:56 UTC 2017 - tchvatal@suse.com
- Reduce dependencies a bit
-------------------------------------------------------------------
Thu Dec 4 18:06:26 UTC 2014 - p.drouand@gmail.com
- Remove java-devel dependency; not needed anymore
-------------------------------------------------------------------
Fri Jul 4 11:17:42 UTC 2014 - tchvatal@suse.com
- Cleanup with spec-cleaner and fix the sle11 build properly.
-------------------------------------------------------------------
Wed Apr 30 13:58:14 UTC 2014 - darin@darins.net
- Set buildarch on SLE_11 or the python subpackage is packaged
as noarch when they need be arch specific.
http://lists.opensuse.org/opensuse-packaging/2014-04/msg00055.html
-------------------------------------------------------------------
Tue Apr 29 12:54:39 UTC 2014 - darin@darins.net
- supporess bytecode version check on SLE
- fix perms for SLES
-------------------------------------------------------------------
Mon Sep 9 11:05:26 UTC 2013 - tchvatal@suse.com
- Move from jpackage-utils to javapackage-tools
-------------------------------------------------------------------
Thu Jul 11 13:04:14 UTC 2013 - dmueller@suse.com
- drop antlr-cshap, entirely unused and removes mono dependency
-------------------------------------------------------------------
Wed Oct 31 10:23:55 UTC 2012 - mvyskocil@suse.com
- examples files are now 0644 to beeing able to fdupes them properly (bnc#784670)
-------------------------------------------------------------------
Thu Jul 21 13:56:03 UTC 2011 - toddrme2178@gmail.com
- Modify descriptions (fix for RPMLINT warnings)
- Check for duplicate files (fix for RPMLINT warnings)
-------------------------------------------------------------------
Mon Aug 23 08:18:09 UTC 2010 - mvyskocil@suse.cz
- add missing java requires of antlr-java package
-------------------------------------------------------------------
Thu Aug 19 12:43:18 UTC 2010 - mvyskocil@suse.cz
- enabled the python (python-antlr) and csharp (antlr-csharp) support
- moved jar files to new antlr-java package, which is required by main antlr
one. This is to have jar files in noarch package
- do not use default make install, but install files manually with a
compatibility links to /usr/share/antlr-2.7.7
-------------------------------------------------------------------
Wed Aug 18 18:32:11 UTC 2010 - tittiatcoke@opensuse.org
- Ensure that the development files are build too. The package is now a build
requirement for the KDESDK4 package.
- Removed the structure to build just the native version.
-------------------------------------------------------------------
Mon Mar 3 11:02:35 CET 2008 - mvyskocil@suse.cz
- updated to 2.7.7
* updated BaseAST.java to make the doWorkForAll method static. Same
behaviour, except no ClassCastExceptions when sibling.getFirstChild()
happens to return an AST that doesn't extend BaseAST. Oliver Wong contributed
the patch.
* updated TokenStreamRewriteEngine.java to reflect bug fixes discovered
in v3 counterpart.
-------------------------------------------------------------------
Wed Feb 20 16:34:59 CET 2008 - adrian@suse.de
- do not PreReq files to fix build env setup for other packages
- remove SL-9.1 traces
-------------------------------------------------------------------
Fri May 4 08:58:37 CEST 2007 - dbornkessel@suse.de
- added unzip to BuildRequires
-------------------------------------------------------------------
Sat Oct 7 11:54:36 CEST 2006 - dbornkessel@suse.de
- added check that checks whether deleted files ShowString.java and StreamConverter.java are really not in place
-------------------------------------------------------------------
Thu Oct 5 17:27:00 CEST 2006 - dbornkessel@suse.de
- deleted
antlr-2.7.6/examples/java/unicode.IDENTs/ShowString.java
antlr-2.7.6/examples/java/unicode.IDENTs/StreamConverter.java
from tar ball due to licensing issues (Bug #207621)
-------------------------------------------------------------------
Mon Sep 25 17:35:36 CEST 2006 - dbornkessel@suse.de
- fixes necessary to compile with Java 1.5.0
- set source="1.4" and target="1.4" for ant "javac" tasks
- set source="1.4" for ant "javadoc" tasks
-------------------------------------------------------------------
Wed Sep 20 10:35:11 CEST 2006 - dbornkessel@suse.de
- Provide: antlr-bootstrap
Obsoletes: antlr-bootstrap
-------------------------------------------------------------------
Mon Sep 18 11:32:54 CEST 2006 - dbornkessel@suse.de
- update to 2.7.6
- added size, index methods to TokenStreamRewriteEngine.java
- bug in syn preds for tree parsers. Submitted by Ole Kniemeyer.
- all Class.forName yanked out; uses thread context loader
- option to prevent System.exit termination
- added recover() method to lexers
- fixed code gen bug for syn preds in tree parsers. Thanks to Marc Horowitz.
- BaseAST was not checking for null text in toString()
- Scott added java line ouput in code gen
- Prashant tweaked a few things for ANTLRStudio; a few new classes in ASdebug package
- Give errors if the user attempts to set k>1 in a TreeWalker
- Added missing Makefile.in for C++ heteroAST example and enabled it
in configure.in
- Many small C++ support code and codegen tweaks fixes to increase
portability. (Compaq Tru64 UNIX V5.1, VC's)
- Prevent '\' entering the bitset dump comments, might occur at end of
line. Some compilers continue the comment to the next line (not sure
if this is a compiler bug, should look it up)
-------------------------------------------------------------------
Wed Jan 25 21:45:44 CET 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
-------------------------------------------------------------------
Tue Oct 25 14:01:10 CEST 2005 - jsmeix@suse.de
- removed sub-package antlr-jedit because since jedit version 4.2
/usr/share/jedit/modes/antlr.xml is included in jedit.
-------------------------------------------------------------------
Wed Jul 27 14:11:08 CEST 2005 - jsmeix@suse.de
- Adjustments in the spec file.
-------------------------------------------------------------------
Tue Jul 19 17:35:03 CEST 2005 - jsmeix@suse.de
- Current version 2.7.4 from JPackage.org
-------------------------------------------------------------------
Wed Mar 2 16:14:37 CET 2005 - skh@suse.de
- added support for C++ output (#67164)
-------------------------------------------------------------------
Thu Sep 16 15:11:14 CEST 2004 - skh@suse.de
- Fix prerequires of javadoc subpackage
- conflict with pccts
-------------------------------------------------------------------
Thu Sep 2 15:58:43 CEST 2004 - skh@suse.de
- Initial package created with version 2.7.4 (JPackage 1.5)

197
antlr.spec Normal file
View File

@ -0,0 +1,197 @@
#
# spec file for package antlr
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{!?make_build:%global make_build make %{?_smp_mflags}}
%bcond_without python2
Name: antlr
Version: 2.7.7
Release: 0
Summary: Another Tool for Language Recognition
License: GPL-2.0-or-later AND SUSE-Public-Domain AND MIT
Group: Development/Tools/Other
URL: https://www.antlr.org/
Source0: antlr-%{version}.tar.bz2
Source1: %{name}-build.xml
Source2: %{name}-script
Source3: https://repo1.maven.org/maven2/%{name}/%{name}/%{version}/%{name}-%{version}.pom
Source1000: antlr-rpmlintrc
Patch0: %{name}-jedit.patch
Patch1: gcc45fix.diff
Patch2: fix-docpath.diff
BuildRequires: ant
BuildRequires: gcc-c++
BuildRequires: java-devel >= 1.8
BuildRequires: javapackages-local >= 6
BuildRequires: xml-commons-apis
Requires: %{name}-java
Provides: %{name}-bootstrap = %{version}
Obsoletes: %{name}-bootstrap < %{version}
Obsoletes: %{name}-javadoc
%if %{with python2}
BuildRequires: python2-base
%endif
%description
ANTLR, Another Tool for Language Recognition, (formerly PCCTS) is a
language tool that provides a framework for constructing recognizers,
compilers, and translators from grammatical descriptions containing C++
or Java actions (you can use PCCTS 1.xx to generate C-based parsers).
%package java
Summary: ANother Tool for Language Recognition (Manual)
Group: Development/Tools/Other
Requires: java >= 1.8
BuildArch: noarch
%description java
ANTLR, Another Tool for Language Recognition, (formerly PCCTS) is a
language tool that provides a framework for constructing recognizers,
compilers, and translators from grammatical descriptions containing C++
or Java actions (you can use PCCTS 1.xx to generate C-based parsers).
This package provides the Java runtime for antlr
%package manual
Summary: ANother Tool for Language Recognition (Manual)
Group: Development/Tools/Other
BuildArch: noarch
%description manual
ANTLR, Another Tool for Language Recognition, (formerly PCCTS) is a
language tool that provides a framework for constructing recognizers,
compilers, and translators from grammatical descriptions containing C++
or Java actions (you can use PCCTS 1.xx to generate C-based parsers).
This package provides the manual for antlr.
%package devel
Summary: ANother Tool for Language Recognition (c++ runtime)
Group: Development/Tools/Other
Requires: antlr
%description devel
ANTLR, Another Tool for Language Recognition, (formerly PCCTS) is a
language tool that provides a framework for constructing recognizers,
compilers, and translators from grammatical descriptions containing C++
or Java actions (you can use PCCTS 1.xx to generate C-based parsers).
This package provides the C++ runtime (libantlr.a) and a headers files
of antlr
%package -n python2-%{name}
Summary: ANother Tool for Language Recognition (python runtime)
Group: Development/Tools/Other
Requires: antlr
Provides: python-%{name}
Obsoletes: python-%{name}
%description -n python2-%{name}
Python support for generating your Lexers, Parsers and TreeParsers in Python.
This feature extends the benefits of ANTLR's predicated-LL(k) parsing
technology to the Python language and platform.
ANTLR Python support was contributed (and is to be maintained) by Wolfgang
Haefelinger and Marq Kole.
%prep
%setup -q
# remove all binary libs
find . -name "*.jar" -exec rm -f {} \;
find . -name "*.exe" -exec rm -f {} \;
find . -name "*.dll" -exec rm -f {} \;
find . -name Makefile.in | xargs chmod 0644
%patch0
cp -p %{SOURCE1} build.xml
#Fix the source so that it compiles with GCC 4.5
%patch1 -p1
#Ensure that the manuals are installed in the correct openSUSE docpath
%patch2
# check for license problematic files:
find | grep "\(ShowString.java$\|StreamConverter.java$\)" && exit 42 || :
%build
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
ant \
-Dj2se.apidoc=%{_javadocdir}/java \
-Dant.build.javac.source=8 -Dant.build.javac.target=8 \
jar
%configure --without-examples
%make_build -j1
%if %{with python2}
%py_compile lib/python/antlr
%endif
%install
### jars ###
install -d -m 0755 %{buildroot}%{_javadir}
install -pm 0644 work/lib/%{name}.jar %{buildroot}%{_javadir}/%{name}.jar
install -d -m 0755 %{buildroot}%{_datadir}/%{name}-%{version}/
ln -s -f %{_javadir}/%{name}.jar %{buildroot}%{_datadir}/%{name}-%{version}/%{name}.jar
### pom ###
install -d -m 0755 %{buildroot}%{_mavenpomdir}
%{mvn_install_pom} %{SOURCE3} %{buildroot}%{_mavenpomdir}/%{name}-%{version}.pom
%add_maven_depmap %{name}-%{version}.pom %{name}.jar -a %{name}:%{name}all -f java
### scripts ###
install -d -m 0755 %{buildroot}%{_bindir}/
install -m 0755 %{SOURCE2} %{buildroot}%{_bindir}/%{name}
install -m 0755 scripts/%{name}-config %{buildroot}%{_bindir}/
### python runtime ###
%if %{with python2}
install -d -m 0755 %{buildroot}%{python_sitearch}/%{name}
cp -a lib/python/antlr/* %{buildroot}%{python_sitearch}/%{name}
%endif
### cpp runtime ###
mkdir -p %{buildroot}%{_libdir}
install -m 0755 lib/cpp/src/lib%{name}.a %{buildroot}%{_libdir}
install -d -m 0755 %{buildroot}%{_includedir}/%{name}
install -m 0644 lib/cpp/%{name}/*hpp %{buildroot}%{_includedir}/%{name}
### doc permissions ###
rm doc/{Makefile,Makefile.in}
find doc -type f | xargs chmod 0644
%files
%license LICENSE.txt
%doc README.txt CHANGES.txt
%dir %{_datadir}/%{name}-%{version}
%{_bindir}/antlr
%{_bindir}/antlr-config
%files java -f .mfiles-java
%dir %{_datadir}/%{name}-%{version}
%{_datadir}/%{name}-%{version}/*jar
%files manual
%doc doc
%files devel
%{_libdir}/libantlr.a
%{_includedir}/%{name}
%if %{with python2}
%files -n python2-%{name}
%dir %{_datadir}/%{name}-%{version}
%{python_sitearch}/%{name}
%endif
%changelog

11
fix-docpath.diff Normal file
View File

@ -0,0 +1,11 @@
--- doc/Makefile.in 2006-11-01 22:37:17.000000000 +0100
+++ doc/Makefile.in 2010-08-18 16:03:51.767735508 +0200
@@ -10,7 +10,7 @@
## get configured rules
@stdmake@
-antlr_doc_DIR = $(datadir)/doc/$(versioneddir)
+antlr_doc_DIR = $(datadir)/doc/packages/antlr/
antlr_doc_FILES = \
@abs_top_srcdir@/doc/closure.gif \

189
gcc45fix.diff Normal file
View File

@ -0,0 +1,189 @@
diff -urB antlr-2.7.7/antlr/Makefile.in new/antlr/Makefile.in
--- antlr-2.7.7/antlr/Makefile.in 2006-11-01 22:37:17.000000000 +0100
+++ new/antlr/Makefile.in 2010-08-02 16:52:40.515132125 +0200
@@ -321,11 +321,11 @@
## install antlr.jar in libdirectory if exists
install :: @ANTLR_JAR@
- -$(MKDIR) -p "$(libdir)"
- -$(MKDIR) -p "$(datadir)/$(versioneddir)"
+ -$(MKDIR) -p "$(DESTDIR)$(libdir)"
+ -$(MKDIR) -p "$(DESTDIR)$(datadir)/$(versioneddir)"
-test -f @ANTLR_JAR@ && {\
- $(INSTALL) -m 444 @ANTLR_JAR@ "$(datadir)/$(versioneddir)" ; \
- $(INSTALL) -m 444 @ANTLR_JAR@ "$(libdir)" ; \
+ $(INSTALL) -m 444 @ANTLR_JAR@ "$(DESTDIR)$(datadir)/$(versioneddir)" ; \
+ $(INSTALL) -m 444 @ANTLR_JAR@ "$(DESTDIR)$(libdir)" ; \
}
distclean :: clean
diff -urB antlr-2.7.7/doc/Makefile.in new/doc/Makefile.in
--- antlr-2.7.7/doc/Makefile.in 2006-11-01 22:37:17.000000000 +0100
+++ new/doc/Makefile.in 2010-08-02 16:53:27.179728157 +0200
@@ -43,12 +43,12 @@
$(eol)
install ::
- @$(MKDIR) -p "$(antlr_doc_DIR)"
+ @$(MKDIR) -p "$(DESTDIR)$(antlr_doc_DIR)"
@@ECHO@ "install doc files .. "
@for f in $(antlr_doc_FILES) ; do \
@ECHO@ "install $${f}" ; \
if test -f "$${f}" ; then \
- $(INSTALL) -m 444 "$${f}" "$(antlr_doc_DIR)" ; \
+ $(INSTALL) -m 444 "$${f}" "$(DESTDIR)$(antlr_doc_DIR)" ; \
fi ;\
done
diff -urB antlr-2.7.7/lib/cpp/antlr/CharScanner.hpp new/lib/cpp/antlr/CharScanner.hpp
--- antlr-2.7.7/lib/cpp/antlr/CharScanner.hpp 2006-11-01 22:37:17.000000000 +0100
+++ new/lib/cpp/antlr/CharScanner.hpp 2010-08-02 15:37:59.888152499 +0200
@@ -11,6 +11,8 @@
#include <antlr/config.hpp>
#include <map>
+#include <stdio.h>
+#include <string.h>
#ifdef HAS_NOT_CCTYPE_H
#include <ctype.h>
diff -urB antlr-2.7.7/lib/cpp/antlr/Makefile.in new/lib/cpp/antlr/Makefile.in
--- antlr-2.7.7/lib/cpp/antlr/Makefile.in 2006-11-01 22:37:17.000000000 +0100
+++ new/lib/cpp/antlr/Makefile.in 2010-08-02 16:54:40.276072824 +0200
@@ -75,11 +75,11 @@
install:
@@ECHO@ "install hpp files .. "
- @$(MKDIR) -p "$(includedir)/antlr"
+ @$(MKDIR) -p "$(DESTDIR)$(includedir)/antlr"
@for f in $(antlr_hpp_FILES) ; do \
@ECHO@ "install $${f}" ; \
if test -f "$${f}" ; then \
- $(INSTALL) -m 444 "$${f}" "$(includedir)/antlr" ; \
+ $(INSTALL) -m 444 "$${f}" "$(DESTDIR)$(includedir)/antlr" ; \
fi ;\
done
diff -urB antlr-2.7.7/lib/cpp/src/Makefile.in new/lib/cpp/src/Makefile.in
--- antlr-2.7.7/lib/cpp/src/Makefile.in 2006-11-01 22:37:17.000000000 +0100
+++ new/lib/cpp/src/Makefile.in 2010-08-02 16:54:09.396352933 +0200
@@ -114,12 +114,12 @@
$(eol)
this-install: @ANTLR_LIB@
- @$(MKDIR) -p "$(libdir)"
+ @$(MKDIR) -p "$(DESTDIR)$(libdir)"
@@ECHO@ "install C++ core files .. "
@for f in $(antlr_lib_FILES) ; do \
@ECHO@ "install $${f}" ; \
if test -f "$${f}" ; then \
- $(INSTALL) -m 444 "$${f}" "$(libdir)" ; \
+ $(INSTALL) -m 444 "$${f}" "$(DESTDIR)$(libdir)" ; \
fi ;\
done
diff -urB antlr-2.7.7/lib/csharp/antlr.astframe/Makefile.in new/lib/csharp/antlr.astframe/Makefile.in
--- antlr-2.7.7/lib/csharp/antlr.astframe/Makefile.in 2006-11-01 22:37:17.000000000 +0100
+++ new/lib/csharp/antlr.astframe/Makefile.in 2010-08-02 16:55:58.989338267 +0200
@@ -45,13 +45,13 @@
## install our target ..
install :: @ASTFRAME_NET@
- @$(MKDIR) -p "$(libdir)"
+ @$(MKDIR) -p "$(DESTDIR)$(libdir)"
@@ECHO@ "install C# core files .. "
@for f in @ASTFRAME_NET@ ; do \
@ECHO@ "install $${f}" ; \
if test -f "$${f}" ; then \
- $(INSTALL) -m 444 "$${f}" "$(libdir)" ; \
- $(INSTALL) -m 444 "$${f}" "$(datadir)/$(versioneddir)" ; \
+ $(INSTALL) -m 444 "$${f}" "$(DESTDIR)$(libdir)" ; \
+ $(INSTALL) -m 444 "$${f}" "$(DESTDIR)$(datadir)/$(versioneddir)" ; \
fi ;\
done
diff -urB antlr-2.7.7/lib/csharp/antlr.runtime/Makefile.in new/lib/csharp/antlr.runtime/Makefile.in
--- antlr-2.7.7/lib/csharp/antlr.runtime/Makefile.in 2006-11-01 22:37:17.000000000 +0100
+++ new/lib/csharp/antlr.runtime/Makefile.in 2010-08-02 16:56:29.183049014 +0200
@@ -135,13 +135,13 @@
@RMF@ Makefile
install :: @ANTLR_NET@
- @$(MKDIR) -p "$(libdir)"
+ @$(MKDIR) -p "$(DESTDIR)$(libdir)"
@@ECHO@ "install C# core files .. "
@for f in @ANTLR_NET@ ; do \
@ECHO@ "install $${f}" ; \
if test -f "$${f}" ; then \
- $(INSTALL) -m 444 "$${f}" "$(libdir)" ; \
- $(INSTALL) -m 444 "$${f}" "$(datadir)/$(versioneddir)" ; \
+ $(INSTALL) -m 444 "$${f}" "$(DESTDIR)$(libdir)" ; \
+ $(INSTALL) -m 444 "$${f}" "$(DESTDIR)$(datadir)/$(versioneddir)" ; \
fi ;\
done
diff -urB antlr-2.7.7/lib/python/Makefile.in new/lib/python/Makefile.in
--- antlr-2.7.7/lib/python/Makefile.in 2006-11-01 22:37:17.000000000 +0100
+++ new/lib/python/Makefile.in 2010-08-02 16:55:21.052695892 +0200
@@ -41,26 +41,26 @@
extradir = $(datadir)/$(versioneddir)
install-this:
- $(MKDIR) -p "$(antlr_py_DIR)"
- $(MKDIR) -p "$(libdir)"
+ $(MKDIR) -p "$(DESTDIR)$(antlr_py_DIR)"
+ $(MKDIR) -p "$(DESTDIR)$(libdir)"
@@ECHO@ "install python files .. "
@for f in $(antlr_py_FILES) ; do \
@ECHO@ "install $${f}" ; \
if test -f "$${f}" ; then \
- $(INSTALL) -m 444 "$${f}" "$(libdir)" ; \
+ $(INSTALL) -m 444 "$${f}" "$(DESTDIR)$(libdir)" ; \
fi ;\
done
@for f in $(antlr_py1_FILES) ; do \
@ECHO@ "install $${f}" ; \
if test -f "$${f}" ; then \
- $(INSTALL) -m 444 "$${f}" "$(antlr_py_DIR)" ; \
+ $(INSTALL) -m 444 "$${f}" "$(DESTDIR)$(antlr_py_DIR)" ; \
fi ;\
done
@f="$(objdir)/scripts/pyantlr.sh"; \
if test -f "$${f}" ; then \
@ECHO@ "install Python installer" ; \
$(MKDIR) -p "$(sbindir)" ; \
- $(INSTALL) -m 555 "$${f}" "$(sbindir)" ; \
+ $(INSTALL) -m 555 "$${f}" "$(DESTDIR)$(sbindir)" ; \
fi
diff -urB antlr-2.7.7/Makefile.in new/Makefile.in
--- antlr-2.7.7/Makefile.in 2006-11-01 22:37:18.000000000 +0100
+++ new/Makefile.in 2010-08-02 16:52:05.892424224 +0200
@@ -124,16 +124,16 @@
extradir = $(datadir)/$(versioneddir)
install ::
- $(MKDIR) -p "$(bindir)"
- $(MKDIR) -p "$(extradir)"
- $(MKDIR) -p "$(docdir)"
- $(INSTALL) -m 755 scripts/run-antlr "$(bindir)/antlr"
- $(INSTALL) -m 755 scripts/antlr-config "$(bindir)/antlr-config"
- $(INSTALL) -m 444 @abs_top_srcdir@/extras/antlr-mode.el "$(extradir)"
- $(INSTALL) -m 444 @abs_top_srcdir@/extras/antlr-jedit.xml "$(extradir)"
- $(INSTALL) -m 444 @abs_top_srcdir@/LICENSE.txt "$(docdir)"
- $(INSTALL) -m 444 @abs_top_srcdir@/README.txt "$(docdir)"
- $(INSTALL) -m 444 @abs_top_srcdir@/INSTALL.txt "$(docdir)"
+ $(MKDIR) -p "$(DESTDIR)$(bindir)"
+ $(MKDIR) -p "$(DESTDIR)$(extradir)"
+ $(MKDIR) -p "$(DESTDIR)$(docdir)"
+ $(INSTALL) -m 755 scripts/run-antlr "$(DESTDIR)$(bindir)/antlr"
+ $(INSTALL) -m 755 scripts/antlr-config "$(DESTDIR)$(bindir)/antlr-config"
+ $(INSTALL) -m 444 @abs_top_srcdir@/extras/antlr-mode.el "$(DESTDIR)$(extradir)"
+ $(INSTALL) -m 444 @abs_top_srcdir@/extras/antlr-jedit.xml "$(DESTDIR)$(extradir)"
+ $(INSTALL) -m 444 @abs_top_srcdir@/LICENSE.txt "$(DESTDIR)$(docdir)"
+ $(INSTALL) -m 444 @abs_top_srcdir@/README.txt "$(DESTDIR)$(docdir)"
+ $(INSTALL) -m 444 @abs_top_srcdir@/INSTALL.txt "$(DESTDIR)$(docdir)"
install ::
@ECHO@ "installation done"

11
manifest.antlr Normal file
View File

@ -0,0 +1,11 @@
Manifest-Version: 1.0
Created-By:
Main-Class: antlr.Tool
Name: antlr
Comment: ANother Tool for Language Recognition
Implementation-Title: antlr
Implementation-Version: 2.7.6
Implementation-Vendor: Terence Parr, University of San Francisco
Implementation-URL: http://www.antlr.org/