public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Mark Wright" <gienah@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-mathematics/z3/
Date: Sat, 28 Jan 2017 08:49:39 +0000 (UTC)	[thread overview]
Message-ID: <1485593357.7cea2dfa7e45f8d6fb0a0fbd5b3ff808ca25a585.gienah@gentoo> (raw)

commit:     7cea2dfa7e45f8d6fb0a0fbd5b3ff808ca25a585
Author:     Mark Wright <gienah <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 28 08:48:44 2017 +0000
Commit:     Mark Wright <gienah <AT> gentoo <DOT> org>
CommitDate: Sat Jan 28 08:49:17 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7cea2dfa

sci-mathematics/z3: Fix python API, thanks to Jonas Jelten for reporting.

Create shared library soname symlinks.  Add examples USE flag.  Add || die
on cat of files, except in pkg_postinst() where we want it to ignore any
errors.

Gentoo-Bug: 605892

Package-Manager: portage-2.3.3

 sci-mathematics/z3/z3-4.4.1.ebuild | 51 ++++++++++++++++++++++++++++++++------
 sci-mathematics/z3/z3-4.5.0.ebuild | 37 ++++++++++++++++++++++-----
 2 files changed, 75 insertions(+), 13 deletions(-)

diff --git a/sci-mathematics/z3/z3-4.4.1.ebuild b/sci-mathematics/z3/z3-4.4.1.ebuild
index aacd12c..b5e329e 100644
--- a/sci-mathematics/z3/z3-4.4.1.ebuild
+++ b/sci-mathematics/z3/z3-4.4.1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://github.com/Z3Prover/z3/archive/${P}.tar.gz"
 SLOT="0"
 LICENSE="MIT"
 KEYWORDS="~amd64 ~x86"
-IUSE="doc gmp isabelle java python"
+IUSE="doc examples gmp isabelle java python"
 
 REQUIRED_USE="${PYTHON_REQUIRED_USE}"
 
@@ -27,7 +27,13 @@ DEPEND="${RDEPEND}
 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"
@@ -51,15 +57,28 @@ src_prepare() {
 		-i scripts/*mk* || die
 
 	sed \
-		-e "s:SLIBEXTRAFLAGS = '':SLIBEXTRAFLAGS = '-Wl,-soname,lib${PN}.so.0.1':" \
+		-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() {
-	python_setup
-	python_export PYTHON_SITEDIR
 	export Z3_INSTALL_LIB_DIR="$(get_libdir)"
 	export Z3_INSTALL_INCLUDE_DIR="include/z3"
 	set -- \
@@ -84,11 +103,29 @@ src_install() {
 	dodir /usr/include/${PN}
 	insinto /usr/include/${PN}
 	doins src/api/z3*.h src/api/c++/z3*.h
-	dolib.so build/*.so
+	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}/examples
+		doins -r examples
+	fi
+
 	if use python; then
-		python_foreach_impl python_domodule src/api/python/*.py
+		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
@@ -96,7 +133,7 @@ src_install() {
 	if use isabelle; then
 		ISABELLE_HOME="${ROOT}usr/share/Isabelle"
 		dodir "${ISABELLE_HOME}/contrib/${PN}-${PV}/etc"
-		cat <<- EOF >> "${S}/settings"
+		cat <<- EOF >> "${S}/settings" || die
 			Z3_COMPONENT="\$COMPONENT"
 			Z3_HOME="${ROOT}usr/bin"
 			Z3_SOLVER="${ROOT}usr/bin/z3"

diff --git a/sci-mathematics/z3/z3-4.5.0.ebuild b/sci-mathematics/z3/z3-4.5.0.ebuild
index 98a18ca..fce9a72 100644
--- a/sci-mathematics/z3/z3-4.5.0.ebuild
+++ b/sci-mathematics/z3/z3-4.5.0.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://github.com/Z3Prover/z3/archive/${P}.tar.gz"
 SLOT="0"
 LICENSE="MIT"
 KEYWORDS="~amd64 ~x86"
-IUSE="doc gmp isabelle java python"
+IUSE="doc examples gmp isabelle java python"
 
 REQUIRED_USE="${PYTHON_REQUIRED_USE}"
 
@@ -28,7 +28,13 @@ DEPEND="${RDEPEND}
 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"
@@ -51,7 +57,7 @@ src_prepare() {
 		-i scripts/*mk* || die
 
 	sed \
-		-e "s:SLIBEXTRAFLAGS = '':SLIBEXTRAFLAGS = '-Wl,-soname,lib${PN}.so.0.1':" \
+		-e "s:SLIBEXTRAFLAGS = '':SLIBEXTRAFLAGS = '-Wl,-soname,lib${PN}.so.${SOVER}':" \
 		-i scripts/mk_util.py || die
 
 	sed -e 's:api\\html\\ml:api/html/ml:' \
@@ -62,12 +68,12 @@ src_prepare() {
 }
 
 src_configure() {
-	python_setup
+	local PYTHON_SITEDIR
 	python_export PYTHON_SITEDIR
 	export Z3_INSTALL_LIB_DIR="$(get_libdir)"
 	export Z3_INSTALL_INCLUDE_DIR="include/z3"
 	set -- \
-		--pypkgdir="${PYTHON_SITEDIR}" \
+		--pypkgdir="${PYTHON_SITEDIR}/${PN}" \
 		--prefix="${ROOT}usr" \
 		$(usex gmp --gmp "") \
 		$(usex python --python "") \
@@ -101,8 +107,27 @@ src_install() {
 		LINK_FLAGS="${LDFLAGS}" \
 		install DESTDIR="${D}"
 
+	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"
+
+	if use examples; then
+		insinto /usr/share/${PN}/examples
+		doins -r examples
+	fi
+
 	if use python; then
-		python_foreach_impl python_domodule src/api/python/*.py
+		python_moduleinto "${PN}"
+		instpybind() {
+			python_domodule src/api/python/z3/*.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
@@ -110,7 +135,7 @@ src_install() {
 	if use isabelle; then
 		ISABELLE_HOME="${ROOT}usr/share/Isabelle"
 		dodir "${ISABELLE_HOME}/contrib/${PN}-${PV}/etc"
-		cat <<- EOF >> "${S}/settings"
+		cat <<- EOF >> "${S}/settings" || die
 			Z3_COMPONENT="\$COMPONENT"
 			Z3_HOME="${ROOT}usr/bin"
 			Z3_SOLVER="${ROOT}usr/bin/z3"


             reply	other threads:[~2017-01-28  8:49 UTC|newest]

Thread overview: 173+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-28  8:49 Mark Wright [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-03-23 14:36 [gentoo-commits] repo/gentoo:master commit in: sci-mathematics/z3/ Michał Górny
2024-03-23 13:39 Sam James
2024-03-23 11:53 Michał Górny
2024-03-23 11:53 Michał Górny
2024-03-23 11:53 Michał Górny
2024-03-23 11:53 Michał Górny
2024-03-23 11:53 Michał Górny
2024-03-16 18:14 Michał Górny
2024-03-16 17:16 Arthur Zamarin
2024-03-16 17:08 Arthur Zamarin
2024-03-16 16:52 Arthur Zamarin
2024-03-16 16:35 Arthur Zamarin
2024-03-16 11:48 Arthur Zamarin
2024-03-16 10:23 Arthur Zamarin
2024-03-08 11:09 Sam James
2024-03-08  5:40 Michał Górny
2024-03-04  4:14 Sam James
2024-02-26 17:48 Michał Górny
2024-02-09  3:38 Michał Górny
2024-02-09  1:04 Sam James
2024-02-08 14:48 Michał Górny
2024-02-08 14:48 Michał Górny
2024-02-08 14:43 Michał Górny
2024-02-08 14:43 Michał Górny
2024-02-08 14:43 Michał Górny
2024-01-22  3:40 Michał Górny
2024-01-06 19:50 Michał Górny
2024-01-06 18:46 Michał Górny
2024-01-06 18:46 Michał Górny
2024-01-06 12:22 Arthur Zamarin
2024-01-06 11:54 Sam James
2024-01-06 11:54 Sam James
2024-01-06 11:54 Sam James
2023-12-21  7:27 Arthur Zamarin
2023-12-21  6:52 Sam James
2023-12-21  6:52 Sam James
2023-12-21  6:52 Sam James
2023-12-21  6:52 Sam James
2023-12-21  6:52 Sam James
2023-12-07  4:18 Michał Górny
2023-12-05 14:32 Michał Górny
2023-12-02 12:02 Michał Górny
2023-12-02 11:31 Arthur Zamarin
2023-12-02 10:43 Michał Górny
2023-12-02 10:35 Arthur Zamarin
2023-12-02 10:16 Arthur Zamarin
2023-12-02 10:14 Arthur Zamarin
2023-12-02 10:14 Arthur Zamarin
2023-04-08 18:45 Michał Górny
2023-04-08 17:57 Arthur Zamarin
2023-04-08 17:50 Arthur Zamarin
2023-04-08 17:42 Arthur Zamarin
2023-04-08 17:37 Arthur Zamarin
2023-04-08 17:31 Arthur Zamarin
2023-04-08 16:59 Arthur Zamarin
2023-01-19  6:08 Michał Górny
2023-01-15  7:02 Michał Górny
2023-01-10  4:22 Maciej Barć
2022-11-27  2:45 WANG Xuerui
2022-09-23 13:51 Michał Górny
2022-09-23 10:05 Michał Górny
2022-09-23 10:05 Michał Górny
2022-09-23  8:11 Michał Górny
2022-09-23  6:58 Arthur Zamarin
2022-09-22 17:03 Arthur Zamarin
2022-09-22  8:05 Jakov Smolić
2022-09-22  8:05 Jakov Smolić
2022-09-22  8:04 Jakov Smolić
2022-09-22  8:04 Jakov Smolić
2022-09-04 16:22 Michał Górny
2022-08-19 16:54 Sam James
2022-08-19 16:54 Sam James
2022-08-19 10:38 Arthur Zamarin
2022-08-19 10:34 Arthur Zamarin
2022-08-19  9:27 Michał Górny
2022-08-02 19:50 Arthur Zamarin
2022-07-30  6:11 Michał Górny
2022-07-23  6:22 Michał Górny
2022-07-07 10:02 Michał Górny
2022-07-07  8:26 Michał Górny
2022-06-06 11:33 Michał Górny
2022-06-06 10:22 Jakov Smolić
2022-06-06 10:22 Jakov Smolić
2022-06-06 10:20 Jakov Smolić
2022-06-06 10:20 Jakov Smolić
2022-06-06 10:20 Jakov Smolić
2022-05-05  7:09 Michał Górny
2022-04-26 14:01 Arthur Zamarin
2022-04-26  3:48 Sam James
2022-04-25 19:38 Arthur Zamarin
2022-04-25 19:37 Arthur Zamarin
2022-04-25  2:40 Sam James
2022-04-25  2:40 Sam James
2022-04-24 20:35 Michał Górny
2022-03-21 13:36 Maciej Barć
2022-03-21  8:54 Michał Górny
2022-02-12  9:15 Michał Górny
2022-02-11 21:32 Arthur Zamarin
2022-02-11 20:13 Arthur Zamarin
2022-02-10 11:43 Sam James
2022-02-10 11:43 Sam James
2022-02-10 10:45 Jakov Smolić
2022-01-11  9:59 Michał Górny
2022-01-10 23:00 Sam James
2022-01-09  1:11 Sam James
2022-01-09  1:11 Sam James
2022-01-08 18:03 Jakov Smolić
2022-01-08 18:03 Jakov Smolić
2021-12-24  9:05 Michał Górny
2021-11-19  9:03 Michał Górny
2021-10-20  2:42 Sam James
2021-08-06  3:32 Michał Górny
2021-08-06  0:30 Sam James
2021-08-03 15:36 Agostino Sarubbo
2021-07-11  6:17 Michał Górny
2021-06-18 13:15 David Seifert
2021-06-05  8:28 Michał Górny
2021-05-17  1:37 Sam James
2021-03-06 10:45 Michał Górny
2021-03-06  7:26 Sam James
2021-03-05 21:42 Sam James
2021-03-05 20:33 Sam James
2021-03-05 15:02 Agostino Sarubbo
2021-03-05 14:19 Agostino Sarubbo
2021-01-21 10:52 Michał Górny
2020-12-04 14:24 Mikle Kolyada
2020-11-03 11:00 Michał Górny
2020-11-03 10:57 Sam James
2020-10-26 23:49 Sergei Trofimovich
2020-10-26  2:51 Sam James
2020-10-26  0:15 Sam James
2020-10-25 23:42 Thomas Deutschmann
2020-09-11  7:17 Michał Górny
2020-08-05 15:18 Michał Górny
2020-08-05 14:17 Agostino Sarubbo
2020-08-01  9:01 Sergei Trofimovich
2020-07-31 19:34 Sam James
2020-07-30 20:23 Sam James
2020-06-21 20:54 Sergei Trofimovich
2020-06-08  8:56 Michał Górny
2020-05-14  6:26 Michał Górny
2020-05-14  6:26 Michał Górny
2020-03-20 19:17 Patrick McLean
2020-02-10 12:12 Michał Górny
2019-12-08 11:20 Michał Górny
2019-12-07 23:50 David Seifert
2019-11-23 18:48 Aaron Bauman
2019-11-22 10:00 Mikle Kolyada
2019-11-20 11:21 Agostino Sarubbo
2019-11-18 11:50 Agostino Sarubbo
2019-09-20  7:34 Michał Górny
2019-09-16 22:13 Aaron Bauman
2019-09-13 15:47 Mikle Kolyada
2019-09-11 11:06 Agostino Sarubbo
2019-09-10  7:10 Agostino Sarubbo
2019-09-10  7:06 Agostino Sarubbo
2019-06-08  8:00 Michał Górny
2019-06-01  8:15 Michał Górny
2019-03-21 17:43 Michał Górny
2019-03-10  8:08 Michał Górny
2019-02-28 14:35 Mikle Kolyada
2019-02-17 17:09 Sergei Trofimovich
2019-02-13 14:28 Michał Górny
2019-01-09 20:30 Michał Górny
2018-12-13 20:52 Michał Górny
2018-12-13 20:52 Michał Górny
2018-12-13 20:52 Michał Górny
2018-12-13 20:52 Michał Górny
2017-04-26  8:13 Mark Wright
2017-01-28 10:34 Mark Wright
2017-01-03 10:25 Mark Wright
2017-01-02 13:48 Mark Wright

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1485593357.7cea2dfa7e45f8d6fb0a0fbd5b3ff808ca25a585.gienah@gentoo \
    --to=gienah@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox