diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..93032d2 --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + bootstrap + diff --git a/javacc.changes b/javacc.changes index 330e612..bf00b4f 100644 --- a/javacc.changes +++ b/javacc.changes @@ -1,7 +1,9 @@ ------------------------------------------------------------------- Tue Apr 9 14:37:13 UTC 2019 - Fridrich Strba -- Do not depend on itself. Bootstrap by the included bootstrap jar. +- Make this a multibuild package where the bootstrap version is + built using the included javacc.jar and the non-bootstrap version + uses the system javacc.jar ------------------------------------------------------------------- Wed Feb 6 09:12:23 UTC 2019 - Fridrich Strba diff --git a/javacc.spec b/javacc.spec index 1ad5395..e13e812 100644 --- a/javacc.spec +++ b/javacc.spec @@ -17,7 +17,13 @@ # -Name: javacc +%global flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "bootstrap" +%bcond_without bootstrap +%else +%bcond_with bootstrap +%endif +%global base_name javacc Version: 7.0.4 Release: 0 Summary: A Parser and Scanner Generator for Java @@ -32,6 +38,15 @@ BuildRequires: javapackages-local # /usr/share/java-utils/java-functions Requires: javapackages-tools BuildArch: noarch +%if %{with bootstrap} +Name: %{base_name}-bootstrap +Provides: %{base_name} +%else +Name: %{base_name} +BuildRequires: %{base_name} +Provides: %{base_name}-bootstrap +Obsoletes: %{base_name}-bootstrap +%endif %description Java Compiler Compiler (JavaCC) is the most popular parser generator @@ -65,7 +80,12 @@ Group: Documentation/HTML This package contains the API documentation for %{name}. %prep -%setup -q +%setup -q -n %{base_name}-%{version} +rm -f lib/*.jar +%if %{without bootstrap} +rm -f bootstrap/javacc.jar +build-jar-repository -s -p bootstrap javacc +%endif find ./examples -type f -exec sed -i 's/\r//' {} \; @@ -73,18 +93,25 @@ find ./examples -type f -exec sed -i 's/\r//' {} \; %pom_xpath_remove pom:project/pom:dependencies %build -ant \ +%{ant} \ -Dant.build.javac.source=1.6 -Dant.build.javac.target=1.6 \ +%if %{with bootstrap} + jar +%else jar javadoc +%endif %install # jar install -dm 0755 %{buildroot}%{_javadir} -install -pm 0644 target/%{name}-%{version}.jar %{buildroot}%{_javadir}/%{name}.jar +install -pm 0644 target/%{base_name}-%{version}.jar %{buildroot}%{_javadir}/%{base_name}.jar + +%if %{without bootstrap} + # pom install -dm 0755 %{buildroot}%{_mavenpomdir} -install -pm 0644 pom.xml %{buildroot}%{_mavenpomdir}/%{name}.pom -%add_maven_depmap %{name}.pom %{name}.jar +install -pm 0644 pom.xml %{buildroot}%{_mavenpomdir}/%{base_name}.pom +%add_maven_depmap %{base_name}.pom %{base_name}.jar # javadoc install -dm 0755 %{buildroot}%{_javadocdir}/%{name} cp -pr target/javadoc/* %{buildroot}%{_javadocdir}/%{name}/ @@ -97,14 +124,22 @@ ln -s %{_bindir}/javacc %{buildroot}%{_bindir}/javacc.sh %jpackage_script jjdoc '' '' javacc jjdoc true %jpackage_script jjtree '' '' javacc jjtree true +%endif + +%if %{with bootstrap} +%files +%{_javadir}/%{base_name}.jar +%else %files -f .mfiles -%license LICENSE -%doc README %{_bindir}/javacc %{_bindir}/javacc.sh %{_bindir}/jjdoc %{_bindir}/jjtree +%endif +%license LICENSE +%doc README +%if %{without bootstrap} %files manual %doc www/* @@ -114,5 +149,6 @@ ln -s %{_bindir}/javacc %{buildroot}%{_bindir}/javacc.sh %files javadoc %license LICENSE %{_javadocdir}/%{name} +%endif %changelog