From 0e7a59ce50c3202ff2c3a4bff22be3a9fe69f581 Mon Sep 17 00:00:00 2001 From: Michał Górny Date: Wed, 10 Apr 2019 19:44:38 +0200 Subject: sci-mathematics/z3: Revert "Drop old" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This broke sci-mathematics/isabelle. Reverts: 6785f3b5e8a6e7969ed07ed59c5b2e7a82aea188. Signed-off-by: Michał Górny --- 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(+) create mode 100644 sci-mathematics/z3/files/z3-4.4.1-gcc-6.patch create mode 100644 sci-mathematics/z3/z3-4.4.1.ebuild (limited to 'sci-mathematics/z3') diff --git a/sci-mathematics/z3/Manifest b/sci-mathematics/z3/Manifest index 6ef6cbd0cc1e..8fa3186e1cc2 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 000000000000..2dc0ddd12f26 --- /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::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 000000000000..8fd027f17feb --- /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 +} -- cgit v1.2.3-65-gdbad