aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Lecher <jlec@gentoo.org>2013-12-02 17:16:56 +0100
committerJustin Lecher <jlec@gentoo.org>2013-12-02 17:16:56 +0100
commitd5bc424a65eca8d0a8097971559084c66ff42a14 (patch)
tree1e9ef895b08aa7c7da0692a6e58a98283ba44e17 /sci-mathematics
parentAdd MSR-LA (diff)
downloadsci-d5bc424a65eca8d0a8097971559084c66ff42a14.tar.gz
sci-d5bc424a65eca8d0a8097971559084c66ff42a14.tar.bz2
sci-d5bc424a65eca8d0a8097971559084c66ff42a14.zip
sci-mathematics/z3: Make build verbose; respect CXX, CXXFLAGS, LDFLAGS; use EPYTHON instead of a direct python call; check for openmp compatibility of the c++ compiler; add USE=gmp; drop unnecessary eclass; add missing metadata.xml
Package-Manager: portage-2.2.7
Diffstat (limited to 'sci-mathematics')
-rw-r--r--sci-mathematics/z3/ChangeLog10
-rw-r--r--sci-mathematics/z3/metadata.xml5
-rw-r--r--sci-mathematics/z3/z3-4.3.1.ebuild47
-rw-r--r--sci-mathematics/z3/z3-9999.ebuild59
4 files changed, 103 insertions, 18 deletions
diff --git a/sci-mathematics/z3/ChangeLog b/sci-mathematics/z3/ChangeLog
new file mode 100644
index 000000000..a078c2ad6
--- /dev/null
+++ b/sci-mathematics/z3/ChangeLog
@@ -0,0 +1,10 @@
+# ChangeLog for sci-mathematics/z3
+# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+ 02 Dec 2013; Justin Lecher <jlec@gentoo.org> z3-4.3.1.ebuild, z3-9999.ebuild,
+ +metadata.xml:
+ Make build verbose; respect CXX, CXXFLAGS, LDFLAGS; use EPYTHON instead of a
+ direct python call; check for openmp compatibility of the c++ compiler; add
+ USE=gmp; drop unnecessary eclass; add missing metadata.xml
+
diff --git a/sci-mathematics/z3/metadata.xml b/sci-mathematics/z3/metadata.xml
new file mode 100644
index 000000000..897aa2e6b
--- /dev/null
+++ b/sci-mathematics/z3/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+</pkgmetadata>
diff --git a/sci-mathematics/z3/z3-4.3.1.ebuild b/sci-mathematics/z3/z3-4.3.1.ebuild
index 749e8e0e8..adf4f6eda 100644
--- a/sci-mathematics/z3/z3-4.3.1.ebuild
+++ b/sci-mathematics/z3/z3-4.3.1.ebuild
@@ -6,7 +6,7 @@ EAPI=5
PYTHON_COMPAT=( python2_7 )
-inherit autotools python-r1 vcs-snapshot
+inherit autotools flag-o-matic python-r1 toolchain-funcs vcs-snapshot
DESCRIPTION="An efficient theorem prover"
HOMEPAGE="http://z3.codeplex.com/"
@@ -15,28 +15,59 @@ SRC_URI="http://dev.gentoo.org/~jlec/distfiles/${P}.tar.xz"
SLOT="0"
LICENSE="MSR-LA"
KEYWORDS="~amd64 ~x86"
-IUSE=""
+IUSE="gmp"
-RDEPEND="${PYTHON_DEPS}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ gmp? ( dev-libs/gmp )"
DEPEND="${RDEPEND}"
+pkg_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() {
+ 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
+
+ append-ldflags -fopenmp
+
eautoreconf
}
src_configure() {
python_export_best
- econf --host="" --with-python="${PYTHON}"
- python2 scripts/mk_make.py
+ econf \
+ --host="" \
+ --with-python="${PYTHON}" \
+ $(use_with gmp) \
+ SLIBFLAGS=" -Wl,-soname,lib${PN}.so.0.1 "
+ ${EPYTHON} scripts/mk_make.py || die
}
src_compile() {
- emake --directory="build"
+ emake \
+ --directory="build" \
+ CXX=$(tc-getCXX) \
+ LINK="$(tc-getCXX) ${LDFLAGS}" \
+ LINK_FLAGS="${LDFLAGS}"
}
src_install() {
- doheader src/api/z3*.h
- doheader src/api/c++/z3*.h
+ doheader src/api/z3*.h src/api/c++/z3*.h
dolib.so build/*.so
dobin build/z3
diff --git a/sci-mathematics/z3/z3-9999.ebuild b/sci-mathematics/z3/z3-9999.ebuild
index 434e8667e..15c338b4f 100644
--- a/sci-mathematics/z3/z3-9999.ebuild
+++ b/sci-mathematics/z3/z3-9999.ebuild
@@ -1,40 +1,79 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
EAPI=5
PYTHON_COMPAT=( python2_7 )
-inherit eutils git-r3 autotools python-r1
+inherit autotools flag-o-matic git-r3 python-r1 toolchain-funcs
DESCRIPTION="An efficient theorem prover"
HOMEPAGE="http://z3.codeplex.com/"
+SRC_URI=""
EGIT_REPO_URI="https://git01.codeplex.com/z3"
-EGIT_NONSHALLOW=1
-KEYWORDS=""
SLOT="0"
-IUSE=""
+LICENSE="MSR-LA"
+KEYWORDS=""
+IUSE="gmp"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ gmp? ( dev-libs/gmp )"
# A new curl is needed because codeplex has a bug and early version of libcurl
# will cause a failed git clone.
-RDEPEND="${PYTHON_DEPS}"
DEPEND="${RDEPEND}
>=net-misc/curl-7.33"
+EGIT_NONSHALLOW=1
+
+pkg_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() {
+ 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
+
+ append-ldflags -fopenmp
+
eautoreconf
}
src_configure() {
python_export_best
- econf --host="" --with-python="${PYTHON}"
- python2 scripts/mk_make.py
+ econf \
+ --host="" \
+ --with-python="${PYTHON}" \
+ $(use_with gmp) \
+ SLIBFLAGS=" -Wl,-soname,lib${PN}.so.0.1 "
+ ${EPYTHON} scripts/mk_make.py || die
}
src_compile() {
- emake --directory="build"
+ emake \
+ --directory="build" \
+ CXX=$(tc-getCXX) \
+ LINK="$(tc-getCXX) ${LDFLAGS}" \
+ LINK_FLAGS="${LDFLAGS}"
}
src_install() {
- doheader src/api/z3*.h
- doheader src/api/c++/z3*.h
+ doheader src/api/z3*.h src/api/c++/z3*.h
dolib.so build/*.so
dobin build/z3