Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Backports:SLE-15-SP4:RebuildFactoryUpdates
antlr4
antlr4.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File antlr4.spec of Package antlr4
# # spec file for package antlr4 # # 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}} %define libver 4_13_0 %define runtime_cpp_lib libantlr4-runtime %define runtime_cpp_libver %{runtime_cpp_lib}%{libver} Name: antlr4 Version: 4.13.0 Release: 0 Summary: Java parser generator # C# runtime is MIT-licensed, but currently it is not used in this package License: BSD-3-Clause URL: https://www.antlr.org/ Source0: https://github.com/antlr/antlr4/archive/%{version}.tar.gz#/antlr4-%{version}.tar.gz Source100: antlr4-install-path.patch.in Patch0: unicodedata.patch BuildRequires: cmake BuildRequires: fdupes %if 0%{?suse_version} >= 1500 BuildRequires: gcc >= 7 BuildRequires: gcc-c++ >= 7 %else BuildRequires: gcc7 BuildRequires: gcc7-c++ %endif BuildRequires: libstdc++-devel BuildRequires: maven-local BuildRequires: pkgconfig BuildRequires: utfcpp-devel BuildRequires: mvn(com.google.code.maven-replacer-plugin:maven-replacer-plugin) BuildRequires: mvn(com.ibm.icu:icu4j) 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-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.glassfish:javax.json) BuildRequires: mvn(org.sonatype.oss:oss-parent:pom:) BuildRequires: mvn(org.sonatype.plexus:plexus-build-api) BuildRequires: pkgconfig(uuid) #!BuildRequires: stringtemplate4 antlr3-tool %description ANTLR (ANother Tool for Language Recognition) is a parser generator for reading, processing, executing, or translating structured text or binary files. It can be used to build languages, tools, and frameworks. From a grammar, ANTLR generates a parser that can build and walk parse trees. %package java Summary: ANTLR 4 Java runtime Provides: %{name}-runtime = %{version}-%{release} Obsoletes: %{name}-runtime < %{version}-%{release} BuildArch: noarch %description java This package provides Java runtime library used by parsers generated by ANTLR 4. %package tool Summary: ANTLR 4 Tool # Explicit requires for javapackages-tools since antlr4-script # uses /usr/share/java-utils/java-functions Requires: javapackages-tools Provides: %{name} = %{version}-%{release} Obsoletes: %{name} < %{version}-%{release} BuildArch: noarch %description tool ANTLR (ANother Tool for Language Recognition) is a parser generator for reading, processing, executing, or translating structured text or binary files. It can be used to build languages, tools, and frameworks. From a grammar, ANTLR generates a parser that can build and walk parse trees. This package provides the ANTLR 4 grammar compiler. %package maven-plugin Summary: ANTLR 4 plugin for Apache Maven BuildArch: noarch %description maven-plugin This package provides plugin for Apache Maven which can be used to generate ANTLR parsers during build. %package javadoc Summary: API documentation for %{name} BuildArch: noarch %description javadoc This package contains %{summary}. %package -n %{runtime_cpp_libver} Summary: Runtime C++ ANTRL libraries %description -n %{runtime_cpp_libver} ANTLR runtime libraries for C++. ANTLR (ANother Tool for Language Recognition) is a parser generator for reading, processing, executing, or translating structured text or binary files. %package -n %{runtime_cpp_lib}-devel Summary: Development files for the ANTRL libraries Requires: %{runtime_cpp_libver} = %{version} Requires: utfcpp-devel %description -n %{runtime_cpp_lib}-devel ANTLR runtime libraries for C++. ANTLR (ANother Tool for Language Recognition) is a parser generator for reading, processing, executing, or translating structured text or binary files. %prep %setup -q cat %{SOURCE100} | sed 's#@LIBVER@#%{libver}#g' | patch -p1 -u find -name \*.jar -delete perl -pi -e 's#\\>#>#g' tool/resources/org/antlr/v4/tool/templates/unicodedata.st # Temporary solution to a proble of code too big when generated with newer ICU4J versions %pom_remove_plugin :string-template-maven-plugin tool %patch -P 0 # Missing test deps: org.seleniumhq.selenium:selenium-java %pom_disable_module runtime-testsuite %pom_disable_module tool-testsuite # Don't bundle dependencies %pom_remove_plugin :maven-shade-plugin tool # Don't use the takari lifecycle, use the usual maven lifecycle instead %pom_remove_plugin :takari-lifecycle-plugin antlr4-maven-plugin # Don't use graphviz %pom_remove_plugin :graphviz-maven-plugin runtime/Java %pom_remove_plugin -r :maven-javadoc-plugin %{mvn_package} :antlr4-master antlr4-runtime %build %{mvn_build} -s -f -- \ -Dproject.build.outputTimestamp=$(date -u -d @${SOURCE_DATE_EPOCH:-$(date +%%s)} +%%Y-%%m-%%dT%%H:%%M:%%SZ) \ -Dsource=8 pushd runtime/Cpp %if 0%{?suse_version} < 1500 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fstack-clash-protection//g'` RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'` export CXX=g++-7 export CFLAGS="$RPM_OPT_FLAGS" export CXXFLAGS="$RPM_OPT_FLAGS" %endif %cmake -DWITH_DEMO=OFF -DANTLR_BUILD_CPP_TESTS=OFF -DANTLR_BUILD_SHARED=ON -DANTLR_BUILD_STATIC=OFF %make_build popd %install %mvn_install %fdupes -s %{buildroot}%{_javadocdir} %jpackage_script org.antlr.v4.Tool "" "" antlr4/antlr4:antlr3-runtime:antlr4/antlr4-runtime:stringtemplate4:treelayout %{name} true pushd runtime/Cpp %cmake_install popd %post -n %{runtime_cpp_libver} -p /sbin/ldconfig %postun -n %{runtime_cpp_libver} -p /sbin/ldconfig %files tool -f .mfiles-antlr4 %{_bindir}/%{name} %files java -f .mfiles-antlr4-runtime %doc CHANGES.txt README.md %license LICENSE.txt %files maven-plugin -f .mfiles-antlr4-maven-plugin %files javadoc -f .mfiles-javadoc %license LICENSE.txt %files -n %{runtime_cpp_libver} %license LICENSE.txt %doc runtime/Cpp/README.md runtime/Cpp/VERSION %{_libdir}/lib%{name}-runtime.so.%{version} %files -n %{runtime_cpp_lib}-devel %{_libdir}/lib%{name}-runtime.so %{_includedir}/%{name}-runtime/ %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor