From 013801252ff50cecfbf1b8ed132d60c8fad25a7f Mon Sep 17 00:00:00 2001 From: Jerry James Date: Tue, 5 Jul 2022 13:23:31 -0600 Subject: [PATCH] Do not support Java on i686 (rhbz#2104112). Use new OCaml macros. --- z3.spec | 51 ++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 36 insertions(+), 15 deletions(-) diff --git a/z3.spec b/z3.spec index 789968d..797888c 100644 --- a/z3.spec +++ b/z3.spec @@ -7,7 +7,7 @@ Name: z3 Version: 4.8.17 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Satisfiability Modulo Theories (SMT) solver License: MIT @@ -22,8 +22,10 @@ BuildRequires: gcc-c++ BuildRequires: gmp-devel BuildRequires: graphviz BuildRequires: help2man +%ifarch %{java_arches} BuildRequires: java-devel BuildRequires: javapackages-tools +%endif BuildRequires: make BuildRequires: ninja-build BuildRequires: ocaml @@ -44,6 +46,11 @@ uninterpreted functions, and quantifiers. %package libs Summary: Library for applications that use z3 functionality +# This can be removed when F40 reaches EOL +%ifnarch %{java_arches} +Obsoletes: java-%{name} < 4.8.17-5 +%endif + %description libs Library for applications that use z3 functionality. @@ -62,6 +69,7 @@ Summary: API documentation for Z3 %description doc API documentation for Z3. +%ifarch %{java_arches} %package -n java-%{name} Summary: Java interface to z3 Requires: %{name}-libs%{?_isa} = %{version}-%{release} @@ -70,6 +78,7 @@ Requires: javapackages-tools %description -n java-%{name} Java interface to z3. +%endif %package -n ocaml-%{name} Summary: Ocaml interface to z3 @@ -129,7 +138,11 @@ export PYTHON="%{python3}" -DCMAKE_INSTALL_INCLUDEDIR=%{_includedir}/%{name} \ -DCMAKE_JAVA_COMPILE_FLAGS="-source;1.8;-target;1.8" \ -DZ3_BUILD_DOCUMENTATION:BOOL=ON \ +%ifarch %{java_arches} -DZ3_BUILD_JAVA_BINDINGS:BOOL=ON \ +%else + -DZ3_BUILD_JAVA_BINDINGS:BOOL=OFF \ +%endif -DZ3_BUILD_PYTHON_BINDINGS:BOOL=ON \ -DZ3_INCLUDE_GIT_HASH:BOOL=OFF \ -DZ3_INCLUDE_GIT_DESCRIBE:BOOL=OFF \ @@ -160,19 +173,21 @@ export LANG="C.UTF-8" # Install the C++, python3, and Java interfaces %cmake_install +%ifarch %{java_arches} # Move the Java interface to its correct location mkdir -p %{buildroot}%{_libdir}/%{name} mkdir -p %{buildroot}%{_jnidir} mv %{buildroot}%{_javadir}/*.jar %{buildroot}%{_jnidir} ln -s %{_jnidir}/com.microsoft.z3.jar %{buildroot}%{_libdir}/%{name} mv %{buildroot}%{_libdir}/lib%{name}java.so %{buildroot}%{_libdir}/%{name} +%endif # Install the OCaml interface pushd build/api/ml -mkdir -p %{buildroot}%{_libdir}/ocaml/Z3 -cp -p META *.{a,cma,cmi,cmx,cmxa,cmxs,mli} %{buildroot}%{_libdir}/ocaml/Z3 -mkdir -p %{buildroot}%{_libdir}/ocaml/stublibs -cp -p *.so %{buildroot}%{_libdir}/ocaml/stublibs +mkdir -p %{buildroot}%{ocamldir}/Z3 +cp -p META *.{a,cma,cmi,cmx,cmxa,cmxs,mli} %{buildroot}%{ocamldir}/Z3 +mkdir -p %{buildroot}%{ocamldir}/stublibs +cp -p *.so %{buildroot}%{ocamldir}/stublibs popd # We handle the documentation files below @@ -210,28 +225,34 @@ cd - %doc %{_vpath_builddir}/doc/api/html examples %license LICENSE.txt +%ifarch %{java_arches} %files -n java-%{name} %{_libdir}/%{name}/ %{_jnidir}/com.microsoft.z3*jar +%endif %files -n ocaml-%{name} -%dir %{_libdir}/ocaml/Z3/ -%{_libdir}/ocaml/Z3/META -%{_libdir}/ocaml/Z3/*.cma -%{_libdir}/ocaml/Z3/*.cmi -%{_libdir}/ocaml/Z3/*.cmxs -%{_libdir}/ocaml/stublibs/*.so +%dir %{ocamldir}/Z3/ +%{ocamldir}/Z3/META +%{ocamldir}/Z3/*.cma +%{ocamldir}/Z3/*.cmi +%{ocamldir}/Z3/*.cmxs +%{ocamldir}/stublibs/*.so %files -n ocaml-%{name}-devel -%{_libdir}/ocaml/Z3/*.a -%{_libdir}/ocaml/Z3/*.cmx -%{_libdir}/ocaml/Z3/*.cmxa -%{_libdir}/ocaml/Z3/*.mli +%{ocamldir}/Z3/*.a +%{ocamldir}/Z3/*.cmx +%{ocamldir}/Z3/*.cmxa +%{ocamldir}/Z3/*.mli %files -n python3-%{name} %{python3_sitelib}/%{name}/ %changelog +* Tue Jun 28 2022 Jerry James - 4.8.17-5 +- Do not support Java on i686 (rhbz#2104112) +- Use new OCaml macros + * Mon Jun 20 2022 Python Maint - 4.8.17-4 - Rebuilt for Python 3.11