Compare commits

...

6 Commits
rawhide ... f33

Author SHA1 Message Date
Jerry James dc29bbe7e3 Fix the python interface (bz 1910923). 2020-12-26 09:15:22 -07:00
Jerry James 7fc71e141c Rebuild for ocaml-zarith 1.11. 2020-11-23 14:15:08 -07:00
Jerry James 046bb852ea Explicitly BR make. 2020-11-23 14:15:08 -07:00
Jerry James 5ef0ea97d2 Rebuild for ocaml-zarith 1.10. 2020-11-23 14:15:08 -07:00
Jerry James a628da3ca4 Version 4.8.9. 2020-09-26 21:02:50 -06:00
Richard W.M. Jones 2a57573720 Bump release and rebuild. 2020-09-02 21:18:19 +01:00
3 changed files with 59 additions and 8 deletions

View File

@ -1 +1 @@
SHA512 (z3-4.8.8.tar.gz) = a6823cadb7cdad11b8f0db1530676c0ec4853886dfb3c4dbc5b798c5dbd445afb0c61675f81cb7f99c1b1734d9cd0ec96a07c68a948da3c25801fc6767fea47f
SHA512 (z3-4.8.9.tar.gz) = a50da5c3f9e27d3e804c1b71f648a3dbd5a55223b7344d66f191a1b34a4d787810abd976840d3ab3878aaf5c96d89f5a517cac0781b82aa927a9d8d54836d54f

21
z3-python.patch Normal file
View File

@ -0,0 +1,21 @@
--- a/scripts/update_api.py 2020-09-10 12:51:28.000000000 -0600
+++ b/scripts/update_api.py 2020-12-25 17:03:00.196777823 -0700
@@ -1755,15 +1755,15 @@ def write_core_py_preamble(core_py):
# Automatically generated file
import sys, os
import ctypes
-import pkg_resources
+import sysconfig
from .z3types import *
from .z3consts import *
-_ext = 'dll' if sys.platform in ('win32', 'cygwin') else 'dylib' if sys.platform == 'darwin' else 'so'
+_ext = 'dll' if sys.platform in ('win32', 'cygwin') else 'dylib' if sys.platform == 'darwin' else 'so.@MAJVER@'
_lib = None
_default_dirs = ['.',
os.path.dirname(os.path.abspath(__file__)),
- pkg_resources.resource_filename('z3', 'lib'),
+ sysconfig.get_config_var('LIBDIR'),
os.path.join(sys.prefix, 'lib'),
None]
_all_dirs = []

44
z3.spec
View File

@ -1,19 +1,23 @@
Name: z3
Version: 4.8.8
Release: 7%{?dist}
Version: 4.8.9
Release: 4%{?dist}
Summary: Satisfiability Modulo Theories (SMT) solver
License: MIT
URL: https://github.com/Z3Prover/z3
Source0: https://github.com/Z3Prover/z3/archive/%{name}-%{version}.tar.gz
# Change the way python finds the shared object; see bz 1910923
Patch0: %{name}-python.patch
BuildRequires: cmake
BuildRequires: doxygen
BuildRequires: gcc-c++
BuildRequires: gmp-devel
BuildRequires: graphviz
BuildRequires: help2man
BuildRequires: java-devel
BuildRequires: javapackages-tools
BuildRequires: make
BuildRequires: ninja-build
BuildRequires: ocaml
BuildRequires: ocaml-findlib
@ -98,13 +102,18 @@ sed \
-e "s/OCAML_FLAGS = ''/OCAML_FLAGS = '-g'/" \
-i scripts/mk_util.py
# Comply with the Java packaging guidelines
sed -e '/catch/s,\(System\.load\)Library("\(.*\)"),\1("%{_libdir}/z3/\2.so"),' \
# Comply with the Java packaging guidelines and fill in the version for python
majver=$(cut -d. -f-2 <<< %{version})
sed -e '/libz3java/s,\(System\.load\)Library("\(.*\)"),\1("%{_libdir}/z3/\2.so"),' \
-e "s/@MAJVER@/$majver/" \
-i scripts/update_api.py
# Update an OCaml interface
sed -i 's/Pervasives/Stdlib/' src/api/ml/z3.ml
# FIXME: For unknown reasons, cmake replaces the version with nothing at all
sed -i 's/@VERSION@/%{version}/' z3.pc.cmake.in
# Fix character encoding
iconv -f iso8859-1 -t utf-8 RELEASE_NOTES > RELEASE_NOTES.utf8
touch -r RELEASE_NOTES RELEASE_NOTES.utf8
@ -113,7 +122,7 @@ mv -f RELEASE_NOTES.utf8 RELEASE_NOTES
%build
export CXXFLAGS="$RPM_OPT_FLAGS"
export LANG="C.UTF-8"
export PYTHON="%{__python3}"
export PYTHON="%{python3}"
%cmake -G Ninja \
-DCMAKE_INSTALL_INCLUDEDIR=%{_includedir}/%{name} \
@ -135,7 +144,7 @@ export PYTHON="%{__python3}"
# Second, to prevent make from rebuilding the entire library, copy the
# cmake-built library to where make expects it.
cp -dp %{__cmake_builddir}/libz3.so* build
cp -dp %{_vpath_builddir}/libz3.so* build
# Third, make wants to rebuild libz3.so since its dependencies do not exist.
# Do selective Makefile surgery to prevent this.
@ -168,6 +177,10 @@ popd
# We handle the documentation files below
rm -rf %{buildroot}%{_docdir}/Z3
# Make a man page
mkdir -p %{buildroot}%{_mandir}/man1
help2man -N -o %{buildroot}%{_mandir}/man1/%{name}.1 %{_vpath_builddir}/%{name}
#%%check
# Some of the tests require more memory than the koji builders have available.
#
@ -180,6 +193,7 @@ rm -rf %{buildroot}%{_docdir}/Z3
%files
%doc README.md RELEASE_NOTES
%{_bindir}/%{name}
%{_mandir}/man1/%{name}.1*
%files libs
%license LICENSE.txt
@ -189,9 +203,10 @@ rm -rf %{buildroot}%{_docdir}/Z3
%{_includedir}/%{name}/
%{_libdir}/lib%{name}.so
%{_libdir}/cmake/%{name}/
%{_libdir}/pkgconfig/%{name}.pc
%files doc
%doc %{__cmake_builddir}/doc/api/html examples
%doc %{_vpath_builddir}/doc/api/html examples
%license LICENSE.txt
%files -n java-%{name}
@ -216,6 +231,21 @@ rm -rf %{buildroot}%{_docdir}/Z3
%{python3_sitelib}/%{name}/
%changelog
* Fri Dec 25 2020 Jerry James <loganjerry@gmail.com> - 4.8.9-4
- Fix the python interface (bz 1910923)
* Mon Nov 16 2020 Jerry James <loganjerry@gmail.com> - 4.8.9-3
- Rebuild for ocaml-zarith 1.11
* Fri Sep 25 2020 Jerry James <loganjerry@gmail.com> - 4.8.9-2
- Rebuild for ocaml-zarith 1.10
* Fri Sep 11 2020 Jerry James <loganjerry@gmail.com> - 4.8.9-1
- Version 4.8.9
* Wed Sep 02 2020 Richard W.M. Jones <rjones@redhat.com> - 4.8.8-7.1
- Bump release and rebuild.
* Tue Sep 01 2020 Richard W.M. Jones <rjones@redhat.com> - 4.8.8-7
- OCaml 4.11.1 rebuild