# Need to set this when bootstrapping due to self-dependency %bcond_with bootstrap %global bootstrap_version 3.1.3 Name: antlr32 Version: 3.2 Release: %mkrel 21 Group: Development/Java Summary: ANother Tool for Language Recognition License: BSD URL: https://www.antlr3.org/ Source0: https://www.antlr3.org/download/antlr-%{version}.tar.gz %if %{with bootstrap} # These artifacts are taken verbatim from maven central with the exception of the # jar in source 2, which additionally has the java 8 compatibility patch given below # These sources are only used for bootstrapping antlr32 into a new distro Source1: https://repo1.maven.org/maven2/org/antlr/antlr-master/%{bootstrap_version}/antlr-master-%{bootstrap_version}.pom Source2: https://repo1.maven.org/maven2/org/antlr/antlr/%{bootstrap_version}/antlr-%{bootstrap_version}.jar Source3: https://repo1.maven.org/maven2/org/antlr/antlr/%{bootstrap_version}/antlr-%{bootstrap_version}.pom Source4: https://repo1.maven.org/maven2/org/antlr/antlr-runtime/%{bootstrap_version}/antlr-runtime-%{bootstrap_version}.jar Source5: https://repo1.maven.org/maven2/org/antlr/antlr-runtime/%{bootstrap_version}/antlr-runtime-%{bootstrap_version}.pom Source6: https://repo1.maven.org/maven2/org/antlr/antlr3-maven-plugin/%{bootstrap_version}-1/antlr3-maven-plugin-%{bootstrap_version}-1.jar Source7: https://repo1.maven.org/maven2/org/antlr/antlr3-maven-plugin/%{bootstrap_version}-1/antlr3-maven-plugin-%{bootstrap_version}-1.pom %endif # This is backported from upstream antlr 3.5.2 for java 8 compatibility # See https://github.com/antlr/antlr3/commit/e88907c259c43d42fa5e9f5ad0e486a2c1e004bb Patch0: java8-compat.patch # Generate OSGi metadata Patch1: osgi-manifest.patch # Patch to use exec maven plugin as alternative to unavailable antlr2 maven plugin Patch2: antlr2-usage.patch BuildRequires: maven-local BuildRequires: ant-antlr BuildRequires: exec-maven-plugin BuildRequires: maven-plugin-build-helper BuildRequires: maven-plugin-bundle BuildRequires: maven-plugin-plugin BuildRequires: stringtemplate >= 3.2 # Cannot require ourself when bootstrapping %if %{without bootstrap} BuildRequires: %{name}-maven-plugin = %{version} %endif BuildArch: noarch %description ANother Tool for Language Recognition, is a grammar parser generator. This package is compatibility package containing an older version of in order to support jython. No other packages should declare a dependency on this one. %package maven-plugin Summary: Maven plug-in for creating ANTLR-generated parsers Requires: %{name}-tool = %{version}-%{release} %description maven-plugin Maven plug-in for creating ANTLR-generated parsers. %package tool Summary: Command line tool for creating ANTLR-generated parsers Requires: %{name}-java = %{version}-%{release} Requires: stringtemplate >= 3.2 %description tool Command line tool for creating ANTLR-generated parsers. %package java Summary: Java run-time support for ANTLR-generated parsers %description java Java run-time support for ANTLR-generated parsers. %package javadoc Summary: API documentation for ANTLR %description javadoc %{summary}. %prep %setup -q -n antlr-%{version} %patch0 -b .orig %patch1 -b .orig %patch2 -b .orig # remove pre-built artifacts find -type f -a -name *.jar -delete find -type f -a -name *.class -delete # remove corrupted files find -name "._*" -delete # disable stuff we don't need %pom_disable_module gunit %pom_disable_module gunit-maven-plugin %pom_remove_plugin org.codehaus.mojo:buildnumber-maven-plugin %pom_xpath_remove pom:build/pom:extensions %pom_xpath_remove pom:build/pom:extensions runtime/Java %pom_xpath_remove pom:build/pom:extensions antlr3-maven-plugin # remove compiler plugin configurations that break builds with Java 11 %pom_remove_plugin -r :maven-compiler-plugin # Avoid unnecessary dep on stringtemplate from the runtime sub-package # It's only needed there for the DotGraph utility, it's not an actual runtime dep %pom_xpath_inject "pom:dependency[pom:artifactId='stringtemplate']" "<optional>true</optional>" runtime/Java %pom_add_dep org.antlr:stringtemplate:3.2 tool # separate artifacts into sub-packages %mvn_package :antlr tool %mvn_package :antlr-master java %mvn_package :antlr-runtime java %mvn_package :antlr3-maven-plugin maven-plugin # use a valid build target find -name "pom.xml" | xargs sed -i -e "s|>jsr14<|>1.5<|" # set a build number sed -i -e "s|\${buildNumber}|%{release}|" tool/src/main/resources/org/antlr/antlr.properties %mvn_compat_version 'org.antlr:antlr3-maven-plugin' %{version} %{bootstrap_version}-1 %mvn_compat_version 'org.antlr:antlr{,-master,-runtime}' %{version} %{bootstrap_version} %build mkdir -p .m2/org/antlr/antlr-master/%{version}/ cp -p pom.xml .m2/org/antlr/antlr-master/%{version}/antlr-master-%{version}.pom %if %{with bootstrap} mkdir -p .m2/org/antlr/antlr-master/%{bootstrap_version}/ cp -p %{SOURCE1} .m2/org/antlr/antlr-master/%{bootstrap_version}/. mkdir -p .m2/org/antlr/antlr/%{bootstrap_version}/ cp -p %{SOURCE2} %{SOURCE3} .m2/org/antlr/antlr/%{bootstrap_version}/. mkdir -p .m2/org/antlr/antlr-runtime/%{bootstrap_version}/ cp -p %{SOURCE4} %{SOURCE5} .m2/org/antlr/antlr-runtime/%{bootstrap_version}/. mkdir -p .m2/org/antlr/antlr3-maven-plugin/%{bootstrap_version}-1/ cp -p %{SOURCE6} %{SOURCE7} .m2/org/antlr/antlr3-maven-plugin/%{bootstrap_version}-1/. %endif # a small number of tests always fail for reasons I don't fully understand %mvn_build -f -- -Dmaven.compiler.source=1.8 -Dmaven.compiler.target=1.8 %install %mvn_install %files tool -f .mfiles-tool %license tool/LICENSE.txt %files maven-plugin -f .mfiles-maven-plugin %license tool/LICENSE.txt %files java -f .mfiles-java %license tool/LICENSE.txt %files javadoc -f .mfiles-javadoc %license tool/LICENSE.txt %changelog * Sun Mar 27 2022 umeabot <umeabot> 3.2-21.mga9 + Revision: 1828985 - Mageia 9 Mass Rebuild * Fri Sep 11 2020 daviddavid <daviddavid> 3.2-20.mga8 + Revision: 1624515 - Avoid unnecessary dep on stringtemplate from the runtime sub-package - Rebuilt for JDK-11 - Override javac source and target with 1.8 to fix build with OpenJDK 11 - Use bcond for bootstrapping and employ use of license macro * Tue Feb 11 2020 umeabot <umeabot> 3.2-19.mga8 + Revision: 1489271 - Mageia 8 Mass Rebuild * Tue Sep 18 2018 umeabot <umeabot> 3.2-18.mga7 + Revision: 1259577 - Mageia 7 Mass Rebuild * Thu May 18 2017 neoclust <neoclust> 3.2-17.mga6 + Revision: 1103051 - Fix buildRequires * Wed Mar 02 2016 neoclust <neoclust> 3.2-16.mga6 + Revision: 982300 - Second rebuild of the java stack * Wed Mar 02 2016 neoclust <neoclust> 3.2-15.mga6 + Revision: 981761 - Second rebuild of the java stack * Sun Feb 21 2016 neoclust <neoclust> 3.2-14.mga6 + Revision: 975472 - First rebuild of the java stack - sync package antlr32 with fedora - imported package antlr32