commit:     0e7a59ce50c3202ff2c3a4bff22be3a9fe69f581
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 10 17:44:38 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Apr 10 17:45:17 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0e7a59ce

sci-mathematics/z3: Revert "Drop old"

This broke sci-mathematics/isabelle.

Reverts: 6785f3b5e8a6e7969ed07ed59c5b2e7a82aea188.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sci-mathematics/z3/Manifest                   |   1 +
 sci-mathematics/z3/files/z3-4.4.1-gcc-6.patch |  18 +++
 sci-mathematics/z3/z3-4.4.1.ebuild            | 178 ++++++++++++++++++++++++++
 3 files changed, 197 insertions(+)

diff --git a/sci-mathematics/z3/Manifest b/sci-mathematics/z3/Manifest
index 6ef6cbd0cc1..8fa3186e1cc 100644
--- a/sci-mathematics/z3/Manifest
+++ b/sci-mathematics/z3/Manifest
@@ -1,2 +1,3 @@
+DIST z3-4.4.1.tar.gz 3347371 BLAKE2B 
57f090b891618613c4647a89620d12f2ac05ea110268e63b343594f53fa2cc7aa347781001e2778ea7dc1ce475c964ddeced7a82c304b4be706ad164fd17a285
 SHA512 
76991a24f47f2b53ceb8d7a9a6be19913c57994ffb6cf6acfe30f61b2e73959cf02a99f656053594fccb5aaf4d1f44b3ae7e51f1c8953b213d738ceeeaea74f8
 DIST z3-4.5.0.tar.gz 3573695 BLAKE2B 
285cc4d1f998d61ddb0b854044b7c79c1bb4cccf51bbdcba7c4a45698d74d9591f84d0aa74c5ef7c8aea2c6539ac987f29e326b44037e954108df67644dff594
 SHA512 
1ebc2c908d90b6b879f1e819c864ff894613276af47a440f27cf94968c195656952434754c3eb20f4bdbdd8497d227d22e1b4821c0d320b11052b5648d9e2dc7
 DIST z3-4.8.4.tar.gz 4117081 BLAKE2B 
6912defbae0e5444c451c4d7c6fb5d51167a1ae166257c7bfc53044ce7e9b9c4bd9824986c2ae1e6abfd6fef495234c9bea60078f8db2c1faaae11f34d666831
 SHA512 
4660ba6ab33a6345b2e8396c332d4afcfc73eda66ceb2595a39f152df4d62a9ea0f349b0f9212389ba84ecba6bdae6ad9b62b376ba44dc4d9c74f80d7a818bf4

diff --git a/sci-mathematics/z3/files/z3-4.4.1-gcc-6.patch 
b/sci-mathematics/z3/files/z3-4.4.1-gcc-6.patch
new file mode 100644
index 00000000000..2dc0ddd12f2
--- /dev/null
+++ b/sci-mathematics/z3/files/z3-4.4.1-gcc-6.patch
@@ -0,0 +1,18 @@
+diff --git a/src/util/debug.cpp b/src/util/debug.cpp
+index 54c67fe..66676c6 100644
+--- a/src/util/debug.cpp
++++ b/src/util/debug.cpp
+@@ -78,3 +78,3 @@ void invoke_gdb() {
+         char result;
+-        bool ok = (std::cin >> result);
++        bool ok = bool(std::cin >> result);
+         if (!ok) exit(ERR_INTERNAL_FATAL); // happens if std::cin is eof or 
unattached.
+diff --git a/src/util/mpz.cpp b/src/util/mpz.cpp
+index 8559279..7dca14b 100644
+--- a/src/util/mpz.cpp
++++ b/src/util/mpz.cpp
+@@ -136,3 +136,3 @@ mpz_manager<SYNCH>::mpz_manager():
+     mpz one(1);
+-    set(m_two64, UINT64_MAX);
++    set(m_two64, (uint64)UINT64_MAX);
+     add(m_two64, one, m_two64);

diff --git a/sci-mathematics/z3/z3-4.4.1.ebuild 
b/sci-mathematics/z3/z3-4.4.1.ebuild
new file mode 100644
index 00000000000..8fd027f17fe
--- /dev/null
+++ b/sci-mathematics/z3/z3-4.4.1.ebuild
@@ -0,0 +1,178 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit flag-o-matic java-pkg-2 java-pkg-simple python-r1 toolchain-funcs
+
+DESCRIPTION="An efficient theorem prover"
+HOMEPAGE="http://z3.codeplex.com/";
+SRC_URI="https://github.com/Z3Prover/z3/archive/${P}.tar.gz";
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples gmp isabelle java python"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+       gmp? ( dev-libs/gmp:0 )"
+DEPEND="${RDEPEND}
+       java? ( >=virtual/jdk-1.8 )"
+
+S=${WORKDIR}/${PN}-${P}
+JAVA_SRC_DIR=${S}/src/api/java
+
+SO1="0"
+SO2="1"
+SOVER="${SO1}.${SO2}"
+
+pkg_setup() {
+       python_setup
+
+       if [[ ${MERGE_TYPE} != binary ]]; then
+               if [[ $(tc-getCXX)$ == *g++* ]] && ! tc-has-openmp; then
+                       ewarn "Please use an openmp compatible compiler"
+                       ewarn "like >gcc-4.2 with USE=openmp"
+                       die "Openmp support missing in compiler"
+               fi
+       fi
+}
+
+src_prepare() {
+       eapply "${FILESDIR}"/${P}-gcc-6.patch
+       default
+
+       sed \
+               -e 's:-O3::g' \
+               -e 's:-fomit-frame-pointer::' \
+               -e 's:-msse2::g' \
+               -e 's:-msse::g' \
+               -e "/LINK_EXTRA_FLAGS/s:@LDFLAGS@:-lrt $(usex gmp -lgmp ""):g" \
+               -e 's:t@\$:t\$:g' \
+               -i scripts/*mk* || die
+
+       sed \
+               -e "s:SLIBEXTRAFLAGS = '':SLIBEXTRAFLAGS = 
'-Wl,-soname,lib${PN}.so.${SOVER}':" \
+               -i scripts/mk_util.py || die
+
+       append-ldflags -fopenmp
+
+       cat <<- EOF > "${S}/src/api/python/__init__.py" || die
+               from .z3 import *
+
+               from . import z3num
+               from . import z3poly
+               from . import z3printer
+               from . import z3rcf
+               from . import z3types
+               from . import z3util
+
+               # generated files
+               from . import z3core
+               from . import z3consts
+       EOF
+}
+
+src_configure() {
+       export Z3_INSTALL_LIB_DIR="$(get_libdir)"
+       export Z3_INSTALL_INCLUDE_DIR="include/z3"
+       set -- \
+               $(usex gmp --gmp "") \
+               $(usex java --java "")
+       echo ./configure "$@" >&2
+       ./configure "$@" || die
+       ${EPYTHON} scripts/mk_make.py || die
+}
+
+src_compile() {
+       emake \
+               --directory="build" \
+               CXX=$(tc-getCXX) \
+               LINK="$(tc-getCXX) ${LDFLAGS}" \
+               LINK_FLAGS="${LDFLAGS}"
+
+       use java && java-pkg-simple_src_compile
+}
+
+src_install() {
+       dodir /usr/include/${PN}
+       insinto /usr/include/${PN}
+       doins src/api/z3*.h src/api/c++/z3*.h
+       dolib.so build/lib${PN}.so
+       dosym "/usr/$(get_libdir)/lib${PN}.so" \
+                 "/usr/$(get_libdir)/lib${PN}.so.${SO1}" \
+                 || die "Could not create 
/usr/$(get_libdir)/lib${PN}.so.${SO1} symlink"
+       dosym "/usr/$(get_libdir)/lib${PN}.so" \
+                 "/usr/$(get_libdir)/lib${PN}.so.${SOVER}" \
+                 || die "Could not create libz3.so soname symlink"
+       dobin build/z3
+
+       if use examples; then
+               insinto /usr/share/${PN}
+               doins -r examples
+       fi
+
+       if use python; then
+               python_moduleinto "${PN}"
+               instpybind() {
+                       python_domodule src/api/python/*.py
+                       dosym "/usr/$(get_libdir)/lib${PN}.so" \
+                                 "$(python_get_sitedir)/${PN}/lib${PN}.so" \
+                               || die "Could not create 
$(python_get_sitedir)/lib${PN}.so symlink for python module"
+               }
+               python_foreach_impl instpybind
+       fi
+
+       use java && java-pkg-simple_src_install
+
+       if use isabelle; then
+               ISABELLE_HOME="${ROOT}usr/share/Isabelle"
+               dodir "${ISABELLE_HOME}/contrib/${PN}-${PV}/etc"
+               cat <<- EOF >> "${S}/settings" || die
+                       Z3_COMPONENT="\$COMPONENT"
+                       Z3_HOME="${ROOT}usr/bin"
+                       Z3_SOLVER="${ROOT}usr/bin/z3"
+                       Z3_REMOTE_SOLVER="z3"
+                       Z3_VERSION="${PV}"
+                       Z3_INSTALLED="yes"
+                       Z3_NON_COMMERCIAL="yes"
+               EOF
+               insinto "${ISABELLE_HOME}/contrib/${PN}-${PV}/etc"
+               doins "${S}/settings"
+       fi
+
+       local DOCS=( "README" "RELEASE_NOTES" )
+       use doc && einstalldocs
+}
+
+pkg_postinst() {
+       if use isabelle; then
+               if [ -f "${ROOT}etc/isabelle/components" ]; then
+                       if egrep "contrib/${PN}-[0-9.]*" 
"${ROOT}etc/isabelle/components"; then
+                               sed -e "/contrib\/${PN}-[0-9.]*/d" \
+                                       -i "${ROOT}etc/isabelle/components"
+                       fi
+                       cat <<- EOF >> "${ROOT}etc/isabelle/components"
+                               contrib/${PN}-${PV}
+                       EOF
+               fi
+       fi
+}
+
+pkg_postrm() {
+       if use isabelle; then
+               if [ ! -f "${ROOT}usr/bin/Z3" ]; then
+                       if [ -f "${ROOT}etc/isabelle/components" ]; then
+                               # Note: this sed should only match the version 
of this ebuild
+                               # Which is what we want as we do not want to 
remove the line
+                               # of a new Isabelle component being installed 
during an upgrade.
+                               sed -e "/contrib\/${PN}-${PV}/d" \
+                                       -i "${ROOT}etc/isabelle/components"
+                       fi
+               fi
+       fi
+}

Reply via email to