From 69e1e68038ac0bd13439074fb2064d2b983ea487c6edf2312bcd1553a0032c6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Fri, 3 May 2024 10:56:53 +0200 Subject: [PATCH] Sync from SUSE:SLFO:Main antlr revision 797d2777678013818ce3c8a50f706b8c --- .gitattributes | 23 ++++ _multibuild | 4 + antlr-2.7.7.pom | 22 ++++ antlr-2.7.7.tar.bz2 | 3 + antlr-bootstrap.changes | 130 +++++++++++++++++++ antlr-bootstrap.spec | 106 ++++++++++++++++ antlr-build.xml | 71 +++++++++++ antlr-jedit.patch | 33 +++++ antlr-rpmlintrc | 3 + antlr-script | 25 ++++ antlr.changes | 267 ++++++++++++++++++++++++++++++++++++++++ antlr.spec | 197 +++++++++++++++++++++++++++++ fix-docpath.diff | 11 ++ gcc45fix.diff | 189 ++++++++++++++++++++++++++++ manifest.antlr | 11 ++ 15 files changed, 1095 insertions(+) create mode 100644 .gitattributes create mode 100644 _multibuild create mode 100644 antlr-2.7.7.pom create mode 100644 antlr-2.7.7.tar.bz2 create mode 100644 antlr-bootstrap.changes create mode 100644 antlr-bootstrap.spec create mode 100644 antlr-build.xml create mode 100644 antlr-jedit.patch create mode 100644 antlr-rpmlintrc create mode 100644 antlr-script create mode 100644 antlr.changes create mode 100644 antlr.spec create mode 100644 fix-docpath.diff create mode 100644 gcc45fix.diff create mode 100644 manifest.antlr diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -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 diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..2d2777b --- /dev/null +++ b/_multibuild @@ -0,0 +1,4 @@ + + antlr-bootstrap + + diff --git a/antlr-2.7.7.pom b/antlr-2.7.7.pom new file mode 100644 index 0000000..fd0ee10 --- /dev/null +++ b/antlr-2.7.7.pom @@ -0,0 +1,22 @@ + + 4.0.0 + antlr + antlr + jar + 2.7.7 + AntLR Parser Generator + + A framework for constructing recognizers, compilers, + and translators from grammatical descriptions containing + Java, C#, C++, or Python actions. + + http://www.antlr.org/ + + + BSD License + http://www.antlr.org/license.html + repo + + + + diff --git a/antlr-2.7.7.tar.bz2 b/antlr-2.7.7.tar.bz2 new file mode 100644 index 0000000..d936664 --- /dev/null +++ b/antlr-2.7.7.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93c0f0cb64c5c3558d97cc5c30b4dbe11074fb1689c4defa8f7d7fcd35473099 +size 1517895 diff --git a/antlr-bootstrap.changes b/antlr-bootstrap.changes new file mode 100644 index 0000000..632f04a --- /dev/null +++ b/antlr-bootstrap.changes @@ -0,0 +1,130 @@ +------------------------------------------------------------------- +Tue Oct 17 11:07:22 UTC 2023 - Fridrich Strba + +- Clean the spec file and use javapackages-local >= 6 features + +------------------------------------------------------------------- +Thu May 4 12:54:42 UTC 2023 - Frederic Crozat + +- 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 + +- Use FAT LTO objects in order to provide proper static library. + +------------------------------------------------------------------- +Thu May 9 12:54:52 UTC 2019 - Bernhard Wiedemann + +- Drop unused BuildRequires: zip+unzip + +------------------------------------------------------------------- +Fri Feb 1 11:19:37 UTC 2019 - Fridrich Strba + +- 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 + diff --git a/antlr-bootstrap.spec b/antlr-bootstrap.spec new file mode 100644 index 0000000..a5f407e --- /dev/null +++ b/antlr-bootstrap.spec @@ -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 diff --git a/antlr-build.xml b/antlr-build.xml new file mode 100644 index 0000000..ec08f61 --- /dev/null +++ b/antlr-build.xml @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/antlr-jedit.patch b/antlr-jedit.patch new file mode 100644 index 0000000..f1a14ec --- /dev/null +++ b/antlr-jedit.patch @@ -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 @@ + + + +- +- +- + + + +@@ -97,9 +94,7 @@ + + + +- +- +- ++ + + /**/ + +@@ -149,9 +144,6 @@ + + + +- +- +- + + { + diff --git a/antlr-rpmlintrc b/antlr-rpmlintrc new file mode 100644 index 0000000..57ff797 --- /dev/null +++ b/antlr-rpmlintrc @@ -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") diff --git a/antlr-script b/antlr-script new file mode 100644 index 0000000..163655c --- /dev/null +++ b/antlr-script @@ -0,0 +1,25 @@ +#!/bin/sh +# +# antlr script +# JPackage Project + +# 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 "$@" diff --git a/antlr.changes b/antlr.changes new file mode 100644 index 0000000..3b4a2ac --- /dev/null +++ b/antlr.changes @@ -0,0 +1,267 @@ +------------------------------------------------------------------- +Tue Oct 17 11:07:22 UTC 2023 - Fridrich Strba + +- Clean the spec file and use javapackages-local >= 6 features + +------------------------------------------------------------------- +Thu May 4 12:54:42 UTC 2023 - Frederic Crozat + +- 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 + +- Build antlr-manual package without examples files [bsc#1120360] +- Remove not needed files + +------------------------------------------------------------------- +Mon Jan 6 09:32:44 UTC 2020 - Fridrich Strba + +- Not only provide python-antlr, but also obsolete it + +------------------------------------------------------------------- +Wed Jul 31 08:51:20 UTC 2019 - Martin Liška + +- Use FAT LTO objects in order to provide proper static library. + +------------------------------------------------------------------- +Sun Nov 18 19:43:07 UTC 2018 - Fridrich Strba + +- Install as maven artifact using the pom file from maven central + +------------------------------------------------------------------- +Thu Sep 13 08:55:01 UTC 2018 - Tomáš Chvátal + +- 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) + diff --git a/antlr.spec b/antlr.spec new file mode 100644 index 0000000..bbaf572 --- /dev/null +++ b/antlr.spec @@ -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 diff --git a/fix-docpath.diff b/fix-docpath.diff new file mode 100644 index 0000000..40ffa26 --- /dev/null +++ b/fix-docpath.diff @@ -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 \ diff --git a/gcc45fix.diff b/gcc45fix.diff new file mode 100644 index 0000000..cf05b20 --- /dev/null +++ b/gcc45fix.diff @@ -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 + + #include ++#include ++#include + + #ifdef HAS_NOT_CCTYPE_H + #include +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" diff --git a/manifest.antlr b/manifest.antlr new file mode 100644 index 0000000..8ac282e --- /dev/null +++ b/manifest.antlr @@ -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/ +