summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2020-09-18 12:07:08 +0200
committerMichał Górny <mgorny@gentoo.org>2020-09-18 12:08:06 +0200
commit51a7be728639841f69b134f8acebeaa0fd3e4fe9 (patch)
tree15ae2cb3b1eb74c172093475792509c0168a6e0b /dev-python/scipy
parentapp-eselect/eselect-python: amd64/arm64/arm/hppa/ppc64/ppc/s390/sparc/x86 sta... (diff)
downloadgentoo-51a7be728639841f69b134f8acebeaa0fd3e4fe9.tar.gz
gentoo-51a7be728639841f69b134f8acebeaa0fd3e4fe9.tar.bz2
gentoo-51a7be728639841f69b134f8acebeaa0fd3e4fe9.zip
Move {sci-libs → dev-python}/scipy
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/scipy')
-rw-r--r--dev-python/scipy/Manifest15
-rw-r--r--dev-python/scipy/metadata.xml27
-rw-r--r--dev-python/scipy/scipy-1.1.0.ebuild148
-rw-r--r--dev-python/scipy/scipy-1.4.1.ebuild154
-rw-r--r--dev-python/scipy/scipy-1.5.0.ebuild154
-rw-r--r--dev-python/scipy/scipy-1.5.1.ebuild154
-rw-r--r--dev-python/scipy/scipy-1.5.2.ebuild160
7 files changed, 812 insertions, 0 deletions
diff --git a/dev-python/scipy/Manifest b/dev-python/scipy/Manifest
new file mode 100644
index 000000000000..9ed4593e3fc8
--- /dev/null
+++ b/dev-python/scipy/Manifest
@@ -0,0 +1,15 @@
+DIST scipy-1.1.0-html.zip 49851258 BLAKE2B 528df7ed8aa8e56662f436f31ee9e1d6d72d6fe962f9f0f6f84b7a2704b53009ce333b2102ec73bb7795110f8a61b18246aab95b1e21055f2b68c0ff2225b7bb SHA512 a03894a22a67c1359ee6206e9e1c9de1f926a7f829f5039f161e78df735708da09b0e51cdad3bf36bfede701d0bc5dc44f8cc0f249b6bfb80c9d8c9fe23aed46
+DIST scipy-1.1.0-ref.pdf 34360806 BLAKE2B f82807879d5d36d91d74e8983a0f4104bcb4b69cb7787fe5190f73fbbfcb8635a9399686b3c75736d3b0b5dd877b5280ff6fba728520e3b47c13ffc7835f8cd6 SHA512 c792064c986dffafa3c5d0741f30715028e655761d099f0fdd472270cf34642b367dfa2178ddceba13043a471e3aeb1db20d65308dbb40c704dab576aaadeb3e
+DIST scipy-1.1.0.tar.gz 15583560 BLAKE2B 477753e622ee26a3bc8c2cb6829410152df84b29ce17a6d53a66348f5536f7993fedf5d32b782405b54b3af3feabf9bc91c381ed39546076849c2fdb71039404 SHA512 72fe32c6c009613cb78202598e5db14f8e630b3218839cfe18d43d40550d94cc5aa100c6f5d41f40e86ae148e9b6a13431bb91b0f9be44b0569ccd7b725fe973
+DIST scipy-1.4.1-html.zip 61414053 BLAKE2B e1f0c1a7a8941958512dcc3c0f40ef4a590bab0b44b33f842bc6e1c5d103c17f223d8b0a2f4e564f57645d601d4d74005c1ec605be2dd3bf4db19d2ac1f614d1 SHA512 9eeae83cd723d63aa1dc7a610ce3118cb68a2336be24cbfeaa8e57b34de413b2efa2fdad0978eb5bdac0ebca6b15f564b9509637efbd87d1007c969ae954e3ae
+DIST scipy-1.4.1-ref.pdf 41100747 BLAKE2B 8e56af69d0bffbe6eff73bfc5bb674aed3b80bdd80d59b58a1835f996c992306a059c2992d74c411e762490c526262753d33273613ed389928845c65eb6546b2 SHA512 76946f3b506fe22a595b70e5a418982257dd59db1a2e9af508cc1cab59d47ba4fc5951388e676f2a513043a6b3391ef853242e78d7feb99a6c21d19f6dca2b58
+DIST scipy-1.4.1.tar.gz 24555206 BLAKE2B e35f6234404839cbd24d463c8cc2f1ea66aed91534e700fd54a623df40d069b14fc220f96af04c78d13b773bfc5461559e59b0bd9b836d7953f9249ccd7cae54 SHA512 79407a2cbb4ba29c0941570181df4d7835e5791e50a3abef9b63c2fc5b15308a2e4964eb71cdebbee8cd2dcb8e497cf92fe50ee21fb12cac3013ea5e0466b25d
+DIST scipy-1.5.0-html.zip 23579592 BLAKE2B 6e35a881967d38db67278d6990fbb1912238bca05c7064585aaaf849861371680c2cd5d3e9a150301c29984aa12db0eeebf5f23cb7d2a438edb28fed9654ac79 SHA512 a1dcf9c2d003b1f722a216c8bf0fda7022765c01505343e86da64ec9a4dbda4eb7da74ad09147e5b79e610f090740d19bda6017d6f894f2566547a42e8aa97b3
+DIST scipy-1.5.0-ref.pdf 33694300 BLAKE2B a7701cdfd8f6da71b59efcefca5c080426b175976429cb64d47f05f42795fea3abb6764c2e2d1807f215c9e00ccd5b2de254f1c68269b266492dfaf76f887972 SHA512 3208ab84421fbec0597931c6050666e9da7d21c6e73a685f084e9570a39539e9c2e5f7fbdfe27951b2ba8e51a1bc42b06ddd6c906a6a13c81a34a16dc0672dda
+DIST scipy-1.5.0.tar.gz 25573194 BLAKE2B f505e5f0627687aeefe0af0886b03eead9f6426f17bca21a3f73cc0d4957ac574e0123b86424ccf0d5f8f4a963b707a1443ddcd6e149f2a4e747daa55b1be95c SHA512 4c981a3125a88593cbc5a17417022a5db8f6ccb4c1c24e78afeb9bb26428b81d2d0fe9965caa418753b1bbbda2fa30533fa1307aac6ab168458d68f7b46049be
+DIST scipy-1.5.1-html.zip 23582280 BLAKE2B 97b256bc7367836f35ce7e0ac47436dd72c1afe249dea1a2f437ea883e74ecb8f5bbe22e20bb804aac66b86fb35e8b4f0e329c44d9d601318ef1accc82e8e850 SHA512 eb0c7736d2bdc9f45926d19f4a22e1168d0f06e21b338cd7e7884af79c7634885350c510251d4cd1629b2a294003e93f8e71bafd8ec64c1aea4d4174c3946597
+DIST scipy-1.5.1-ref.pdf 33698325 BLAKE2B 6ff0d13474acf2960352580765c86ef54faa9bb616b4b8097665fa3b8a3a6033acb524d5bb76757b23d0ea9550b556293509a91e5cbeb7b0a388ea75d1bec29b SHA512 c0fbebb5dec19aebe7783507ccebf28134227096caad915e1f28f963386a07b1246fa624e4680691809c5ba31a09d3dd6e4f27f9e86f5985f8a7eecb1eea82d3
+DIST scipy-1.5.1.tar.gz 25575560 BLAKE2B e431a54f1810590b75d0f115bdbcd3c561d0d918664d91654fa4f2583d4d2807deae36b3293be0a5add650fb5d99f744e1d893d369f6053741d863e2826dcc3c SHA512 d46abaaa52e5521d8f3f6d79f58c8473a8649faa01e93d250d2ee19d5778e31c13aaa855bd8f059ddc1424ae13001f15a41f240fa6b0acf3ffd911ea30da1040
+DIST scipy-1.5.2-html.zip 23166876 BLAKE2B a90d6a2eb25c56147c0c1cccb58cddd230c20cd70dcc5c39b7307acaeac5320ff1c6ed46e3027ec40f604db503a90620cf87212e45f3158c667ec20d95bac649 SHA512 35c675821675844b163eacdaf448173edb78adb5e9f3e438a70809b8b59425a987fd3ed7d6f7863612111ece4a6a36504279ef4492166f5e24a9b2c7ea9d21e7
+DIST scipy-1.5.2-ref.pdf 33462200 BLAKE2B 5784612eb41221a02520778d72341702a7dd4ee8c0147592e170054107219b03af4ccebe1f5e2a57f90f3b892455f95ec45d8eac8e4a7155e21e9ae0526b302f SHA512 15961b7280eb903d2db7a05915b94b3c298cabf68a6694da217680e23fe621885dd169dc88a033ee001a89bc6e6b13ef787ec61009f6ffe38aeaa2dfb84f8a47
+DIST scipy-1.5.2.tar.gz 25423944 BLAKE2B 0a4987da0cde4f33bbb0e2be571b59e9064b1c6554c61c1655100abdecfde54d64845cd30c5b3fcac3ae7426572757aa9a66065dd3b48e6e4cdd4d0ea847868e SHA512 45463df30a0f6270d9f4cf52235f31607904a6ae1375e12600e7f1ab2d27b1dc25a6211b49dceb71506be22c756890adaf9f81d9e6be7455def86c9caf0dc923
diff --git a/dev-python/scipy/metadata.xml b/dev-python/scipy/metadata.xml
new file mode 100644
index 000000000000..f1d093c366af
--- /dev/null
+++ b/dev-python/scipy/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <longdescription lang="en">
+ SciPy is an open source library of scientific tools for Python. SciPy
+ supplements the popular numpy module, gathering a variety of high level
+ science and engineering modules together as a single package.
+ SciPy includes modules for graphics and plotting, optimization,
+ integration, special functions, signal and image processing, genetic
+ algorithms, ODE solvers, and others.
+</longdescription>
+ <use>
+ <flag name="sparse">Adds support for sparse solving with <pkg>sci-libs/umfpack</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="pypi">scipy</remote-id>
+ <remote-id type="sourceforge">scipy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/scipy/scipy-1.1.0.ebuild b/dev-python/scipy/scipy-1.1.0.ebuild
new file mode 100644
index 000000000000..119210dc4f00
--- /dev/null
+++ b/dev-python/scipy/scipy-1.1.0.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python3_{6,7} )
+PYTHON_REQ_USE="threads(+)"
+
+DOC_PV=${PV}
+
+inherit fortran-2 distutils-r1 flag-o-matic multiprocessing toolchain-funcs
+
+DESCRIPTION="Scientific algorithms library for Python"
+HOMEPAGE="https://www.scipy.org/"
+SRC_URI="
+ mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ doc? (
+ https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${PV}.zip -> ${PN}-${DOC_PV}-html.zip
+ https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-ref-${PV}.pdf -> ${PN}-${DOC_PV}-ref.pdf
+ )"
+
+LICENSE="BSD LGPL-2"
+SLOT="0"
+IUSE="doc sparse test"
+RESTRICT="!test? ( test )"
+KEYWORDS="amd64 ~arm ~arm64 ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+
+CDEPEND="
+ >=dev-python/numpy-1.10[lapack,${PYTHON_USEDEP}]
+ sci-libs/arpack:0=
+ virtual/cblas
+ virtual/lapack
+ sparse? ( sci-libs/umfpack:0= )"
+DEPEND="${CDEPEND}
+ dev-lang/swig
+ >=dev-python/cython-0.22[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-36[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ doc? ( app-arch/unzip )
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${CDEPEND}
+ dev-python/pillow[${PYTHON_USEDEP}]"
+
+DOCS=( HACKING.rst.txt THANKS.txt )
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+src_unpack() {
+ default
+ if use doc; then
+ unzip -qo "${DISTDIR}"/${PN}-${DOC_PV}-html.zip -d html || die
+ fi
+}
+
+pc_incdir() {
+ $(tc-getPKG_CONFIG) --cflags-only-I $@ | \
+ sed -e 's/^-I//' -e 's/[ ]*-I/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libdir() {
+ $(tc-getPKG_CONFIG) --libs-only-L $@ | \
+ sed -e 's/^-L//' -e 's/[ ]*-L/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libs() {
+ $(tc-getPKG_CONFIG) --libs-only-l $@ | \
+ sed -e 's/[ ]-l*\(pthread\|m\)\([ ]\|$\)//g' \
+ -e 's/^-l//' -e 's/[ ]*-l/,/g' -e 's/[ ]*$//' \
+ | tr ',' '\n' | sort -u | tr '\n' ',' | sed -e 's|,$||'
+}
+
+python_prepare_all() {
+ # scipy automatically detects libraries by default
+ export {FFTW,FFTW3,UMFPACK}=None
+ use sparse && unset UMFPACK
+ # the missing symbols are in -lpythonX.Y, but since the version can
+ # differ, we just introduce the same scaryness as on Linux/ELF
+ [[ ${CHOST} == *-darwin* ]] \
+ && append-ldflags -bundle "-undefined dynamic_lookup" \
+ || append-ldflags -shared
+ [[ -z ${FC} ]] && export FC="$(tc-getFC)"
+ # hack to force F77 to be FC until bug #278772 is fixed
+ [[ -z ${F77} ]] && export F77="$(tc-getFC)"
+ export F90="${FC}"
+ export SCIPY_FCONFIG="config_fc --noopt --noarch"
+ append-fflags -fPIC
+
+ local libdir="${EPREFIX}"/usr/$(get_libdir)
+ cat >> site.cfg <<-EOF || die
+ [blas]
+ include_dirs = $(pc_incdir cblas)
+ library_dirs = $(pc_libdir cblas blas):${libdir}
+ blas_libs = $(pc_libs cblas blas)
+ [lapack]
+ library_dirs = $(pc_libdir lapack):${libdir}
+ lapack_libs = $(pc_libs lapack)
+ EOF
+
+ # Drop hashes to force rebuild of cython based .c code
+ rm cythonize.dat || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ # bug 721860
+ test-flag-FC -fallow-argument-mismatch &&
+ append-fflags -fallow-argument-mismatch
+}
+
+python_compile() {
+ # FIXME: parallel python building fails, bug #614464
+ ${EPYTHON} tools/cythonize.py || die
+ distutils-r1_python_compile \
+ ${SCIPY_FCONFIG}
+}
+
+python_test() {
+ # fails with bdist_egg. should it be fixed in distutils-r1 eclass?
+ distutils_install_for_testing ${SCIPY_FCONFIG}
+ cd "${TEST_DIR}" || die "no ${TEST_DIR} available"
+ "${PYTHON}" -c \
+ 'import numpy as np; print("relaxed strides checking:", np.ones((10,1),order="C").flags.f_contiguous)' \
+ || die
+ "${EPYTHON}" -c \
+ "import scipy, sys; r = scipy.test('fast', verbose=2); sys.exit(r)" \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && \
+ local DOCS=( "${DISTDIR}"/${PN}-${DOC_PV}-ref.pdf ) \
+ local HTML_DOCS=( "${WORKDIR}"/html/. )
+ distutils-r1_python_install_all
+}
+
+python_install() {
+ distutils-r1_python_install ${SCIPY_FCONFIG}
+}
+
+pkg_postinst() {
+ elog "You might want to set the variable SCIPY_PIL_IMAGE_VIEWER"
+ elog "to your prefered image viewer. Example:"
+ elog "\t echo \"export SCIPY_PIL_IMAGE_VIEWER=display\" >> ~/.bashrc"
+}
diff --git a/dev-python/scipy/scipy-1.4.1.ebuild b/dev-python/scipy/scipy-1.4.1.ebuild
new file mode 100644
index 000000000000..90fb741b4d73
--- /dev/null
+++ b/dev-python/scipy/scipy-1.4.1.ebuild
@@ -0,0 +1,154 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python3_{6..9} )
+PYTHON_REQ_USE="threads(+)"
+
+DOC_PV=${PV}
+
+inherit fortran-2 distutils-r1 flag-o-matic multiprocessing toolchain-funcs
+
+DESCRIPTION="Scientific algorithms library for Python"
+HOMEPAGE="https://www.scipy.org/"
+SRC_URI="
+ mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ doc? (
+ https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${PV}.zip -> ${PN}-${DOC_PV}-html.zip
+ https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-ref-${PV}.pdf -> ${PN}-${DOC_PV}-ref.pdf
+ )"
+
+LICENSE="BSD LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="doc sparse test"
+RESTRICT="!test? ( test )"
+
+CDEPEND="
+ >=dev-python/numpy-1.10[lapack,${PYTHON_USEDEP}]
+ sci-libs/arpack:0=
+ virtual/cblas
+ virtual/lapack
+ sparse? ( sci-libs/umfpack:0= )"
+DEPEND="${CDEPEND}
+ dev-lang/swig
+ >=dev-python/cython-0.29.13[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-36[${PYTHON_USEDEP}]
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ doc? ( app-arch/unzip )
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${CDEPEND}
+ dev-python/pillow[${PYTHON_USEDEP}]"
+
+DOCS=( HACKING.rst.txt THANKS.txt )
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+src_unpack() {
+ default
+ if use doc; then
+ unzip -qo "${DISTDIR}"/${PN}-${DOC_PV}-html.zip -d html || die
+ fi
+}
+
+pc_incdir() {
+ $(tc-getPKG_CONFIG) --cflags-only-I $@ | \
+ sed -e 's/^-I//' -e 's/[ ]*-I/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libdir() {
+ $(tc-getPKG_CONFIG) --libs-only-L $@ | \
+ sed -e 's/^-L//' -e 's/[ ]*-L/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libs() {
+ $(tc-getPKG_CONFIG) --libs-only-l $@ | \
+ sed -e 's/[ ]-l*\(pthread\|m\)\([ ]\|$\)//g' \
+ -e 's/^-l//' -e 's/[ ]*-l/,/g' -e 's/[ ]*$//' \
+ | tr ',' '\n' | sort -u | tr '\n' ',' | sed -e 's|,$||'
+}
+
+python_prepare_all() {
+ # scipy automatically detects libraries by default
+ export {FFTW,FFTW3,UMFPACK}=None
+ use sparse && unset UMFPACK
+ # the missing symbols are in -lpythonX.Y, but since the version can
+ # differ, we just introduce the same scaryness as on Linux/ELF
+ [[ ${CHOST} == *-darwin* ]] \
+ && append-ldflags -bundle "-undefined dynamic_lookup" \
+ || append-ldflags -shared
+ [[ -z ${FC} ]] && export FC="$(tc-getFC)"
+ # hack to force F77 to be FC until bug #278772 is fixed
+ [[ -z ${F77} ]] && export F77="$(tc-getFC)"
+ export F90="${FC}"
+ export SCIPY_FCONFIG="config_fc --noopt --noarch"
+ append-fflags -fPIC
+
+ local libdir="${EPREFIX}"/usr/$(get_libdir)
+ cat >> site.cfg <<-EOF || die
+ [blas]
+ include_dirs = $(pc_incdir cblas)
+ library_dirs = $(pc_libdir cblas blas):${libdir}
+ blas_libs = $(pc_libs cblas blas)
+ [lapack]
+ library_dirs = $(pc_libdir lapack):${libdir}
+ lapack_libs = $(pc_libs lapack)
+ EOF
+ cat >> setup.cfg <<-EOF || die
+ [options]
+ zip_safe = False
+ EOF
+
+ # Drop hashes to force rebuild of cython based .c code
+ rm cythonize.dat || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ # bug 721860
+ test-flag-FC -fallow-argument-mismatch &&
+ append-fflags -fallow-argument-mismatch
+}
+
+python_compile() {
+ # FIXME: parallel python building fails, bug #614464
+ export MAKEOPTS=-j1
+
+ ${EPYTHON} tools/cythonize.py || die
+ distutils-r1_python_compile \
+ ${SCIPY_FCONFIG}
+}
+
+python_test() {
+ # fails with bdist_egg. should it be fixed in distutils-r1 eclass?
+ distutils_install_for_testing ${SCIPY_FCONFIG}
+ cd "${TEST_DIR}/lib" || die "no ${TEST_DIR} available"
+ PYTHONPATH=. "${EPYTHON}" -c "
+import scipy, sys
+r = scipy.test('fast', verbose=2)
+sys.exit(0 if r else 1)" || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && \
+ local DOCS=( "${DISTDIR}"/${PN}-${DOC_PV}-ref.pdf ) \
+ local HTML_DOCS=( "${WORKDIR}"/html/. )
+ distutils-r1_python_install_all
+}
+
+python_install() {
+ distutils-r1_python_install ${SCIPY_FCONFIG}
+ python_optimize
+}
+
+pkg_postinst() {
+ elog "You might want to set the variable SCIPY_PIL_IMAGE_VIEWER"
+ elog "to your prefered image viewer. Example:"
+ elog "\t echo \"export SCIPY_PIL_IMAGE_VIEWER=display\" >> ~/.bashrc"
+}
diff --git a/dev-python/scipy/scipy-1.5.0.ebuild b/dev-python/scipy/scipy-1.5.0.ebuild
new file mode 100644
index 000000000000..21948a8eb2c5
--- /dev/null
+++ b/dev-python/scipy/scipy-1.5.0.ebuild
@@ -0,0 +1,154 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python3_{6..9} )
+PYTHON_REQ_USE="threads(+)"
+
+DOC_PV=${PV}
+
+inherit fortran-2 distutils-r1 flag-o-matic multiprocessing toolchain-funcs
+
+DESCRIPTION="Scientific algorithms library for Python"
+HOMEPAGE="https://www.scipy.org/"
+SRC_URI="
+ mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ doc? (
+ https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${PV}.zip -> ${PN}-${DOC_PV}-html.zip
+ https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-ref-${PV}.pdf -> ${PN}-${DOC_PV}-ref.pdf
+ )"
+
+LICENSE="BSD LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="doc sparse test"
+RESTRICT="!test? ( test )"
+
+CDEPEND="
+ >=dev-python/numpy-1.10[lapack,${PYTHON_USEDEP}]
+ sci-libs/arpack:0=
+ virtual/cblas
+ virtual/lapack
+ sparse? ( sci-libs/umfpack:0= )"
+DEPEND="${CDEPEND}
+ dev-lang/swig
+ >=dev-python/cython-0.29.13[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-36[${PYTHON_USEDEP}]
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ doc? ( app-arch/unzip )
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${CDEPEND}
+ dev-python/pillow[${PYTHON_USEDEP}]"
+
+DOCS=( HACKING.rst.txt THANKS.txt )
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+src_unpack() {
+ default
+ if use doc; then
+ unzip -qo "${DISTDIR}"/${PN}-${DOC_PV}-html.zip -d html || die
+ fi
+}
+
+pc_incdir() {
+ $(tc-getPKG_CONFIG) --cflags-only-I $@ | \
+ sed -e 's/^-I//' -e 's/[ ]*-I/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libdir() {
+ $(tc-getPKG_CONFIG) --libs-only-L $@ | \
+ sed -e 's/^-L//' -e 's/[ ]*-L/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libs() {
+ $(tc-getPKG_CONFIG) --libs-only-l $@ | \
+ sed -e 's/[ ]-l*\(pthread\|m\)\([ ]\|$\)//g' \
+ -e 's/^-l//' -e 's/[ ]*-l/,/g' -e 's/[ ]*$//' \
+ | tr ',' '\n' | sort -u | tr '\n' ',' | sed -e 's|,$||'
+}
+
+python_prepare_all() {
+ # scipy automatically detects libraries by default
+ export {FFTW,FFTW3,UMFPACK}=None
+ use sparse && unset UMFPACK
+ # the missing symbols are in -lpythonX.Y, but since the version can
+ # differ, we just introduce the same scaryness as on Linux/ELF
+ [[ ${CHOST} == *-darwin* ]] \
+ && append-ldflags -bundle "-undefined dynamic_lookup" \
+ || append-ldflags -shared
+ [[ -z ${FC} ]] && export FC="$(tc-getFC)"
+ # hack to force F77 to be FC until bug #278772 is fixed
+ [[ -z ${F77} ]] && export F77="$(tc-getFC)"
+ export F90="${FC}"
+ export SCIPY_FCONFIG="config_fc --noopt --noarch"
+ append-fflags -fPIC
+
+ local libdir="${EPREFIX}"/usr/$(get_libdir)
+ cat >> site.cfg <<-EOF || die
+ [blas]
+ include_dirs = $(pc_incdir cblas)
+ library_dirs = $(pc_libdir cblas blas):${libdir}
+ blas_libs = $(pc_libs cblas blas)
+ [lapack]
+ library_dirs = $(pc_libdir lapack):${libdir}
+ lapack_libs = $(pc_libs lapack)
+ EOF
+ cat >> setup.cfg <<-EOF || die
+ [options]
+ zip_safe = False
+ EOF
+
+ # Drop hashes to force rebuild of cython based .c code
+ rm cythonize.dat || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ # bug 721860
+ test-flag-FC -fallow-argument-mismatch &&
+ append-fflags -fallow-argument-mismatch
+}
+
+python_compile() {
+ # FIXME: parallel python building fails, bug #614464
+ export MAKEOPTS=-j1
+
+ ${EPYTHON} tools/cythonize.py || die
+ distutils-r1_python_compile \
+ ${SCIPY_FCONFIG}
+}
+
+python_test() {
+ # fails with bdist_egg. should it be fixed in distutils-r1 eclass?
+ distutils_install_for_testing ${SCIPY_FCONFIG}
+ cd "${TEST_DIR}/lib" || die "no ${TEST_DIR} available"
+ PYTHONPATH=. "${EPYTHON}" -c "
+import scipy, sys
+r = scipy.test('fast', verbose=2)
+sys.exit(0 if r else 1)" || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && \
+ local DOCS=( "${DISTDIR}"/${PN}-${DOC_PV}-ref.pdf ) \
+ local HTML_DOCS=( "${WORKDIR}"/html/. )
+ distutils-r1_python_install_all
+}
+
+python_install() {
+ distutils-r1_python_install ${SCIPY_FCONFIG}
+ python_optimize
+}
+
+pkg_postinst() {
+ elog "You might want to set the variable SCIPY_PIL_IMAGE_VIEWER"
+ elog "to your prefered image viewer. Example:"
+ elog "\t echo \"export SCIPY_PIL_IMAGE_VIEWER=display\" >> ~/.bashrc"
+}
diff --git a/dev-python/scipy/scipy-1.5.1.ebuild b/dev-python/scipy/scipy-1.5.1.ebuild
new file mode 100644
index 000000000000..21948a8eb2c5
--- /dev/null
+++ b/dev-python/scipy/scipy-1.5.1.ebuild
@@ -0,0 +1,154 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python3_{6..9} )
+PYTHON_REQ_USE="threads(+)"
+
+DOC_PV=${PV}
+
+inherit fortran-2 distutils-r1 flag-o-matic multiprocessing toolchain-funcs
+
+DESCRIPTION="Scientific algorithms library for Python"
+HOMEPAGE="https://www.scipy.org/"
+SRC_URI="
+ mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ doc? (
+ https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${PV}.zip -> ${PN}-${DOC_PV}-html.zip
+ https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-ref-${PV}.pdf -> ${PN}-${DOC_PV}-ref.pdf
+ )"
+
+LICENSE="BSD LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="doc sparse test"
+RESTRICT="!test? ( test )"
+
+CDEPEND="
+ >=dev-python/numpy-1.10[lapack,${PYTHON_USEDEP}]
+ sci-libs/arpack:0=
+ virtual/cblas
+ virtual/lapack
+ sparse? ( sci-libs/umfpack:0= )"
+DEPEND="${CDEPEND}
+ dev-lang/swig
+ >=dev-python/cython-0.29.13[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-36[${PYTHON_USEDEP}]
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ doc? ( app-arch/unzip )
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${CDEPEND}
+ dev-python/pillow[${PYTHON_USEDEP}]"
+
+DOCS=( HACKING.rst.txt THANKS.txt )
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+src_unpack() {
+ default
+ if use doc; then
+ unzip -qo "${DISTDIR}"/${PN}-${DOC_PV}-html.zip -d html || die
+ fi
+}
+
+pc_incdir() {
+ $(tc-getPKG_CONFIG) --cflags-only-I $@ | \
+ sed -e 's/^-I//' -e 's/[ ]*-I/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libdir() {
+ $(tc-getPKG_CONFIG) --libs-only-L $@ | \
+ sed -e 's/^-L//' -e 's/[ ]*-L/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libs() {
+ $(tc-getPKG_CONFIG) --libs-only-l $@ | \
+ sed -e 's/[ ]-l*\(pthread\|m\)\([ ]\|$\)//g' \
+ -e 's/^-l//' -e 's/[ ]*-l/,/g' -e 's/[ ]*$//' \
+ | tr ',' '\n' | sort -u | tr '\n' ',' | sed -e 's|,$||'
+}
+
+python_prepare_all() {
+ # scipy automatically detects libraries by default
+ export {FFTW,FFTW3,UMFPACK}=None
+ use sparse && unset UMFPACK
+ # the missing symbols are in -lpythonX.Y, but since the version can
+ # differ, we just introduce the same scaryness as on Linux/ELF
+ [[ ${CHOST} == *-darwin* ]] \
+ && append-ldflags -bundle "-undefined dynamic_lookup" \
+ || append-ldflags -shared
+ [[ -z ${FC} ]] && export FC="$(tc-getFC)"
+ # hack to force F77 to be FC until bug #278772 is fixed
+ [[ -z ${F77} ]] && export F77="$(tc-getFC)"
+ export F90="${FC}"
+ export SCIPY_FCONFIG="config_fc --noopt --noarch"
+ append-fflags -fPIC
+
+ local libdir="${EPREFIX}"/usr/$(get_libdir)
+ cat >> site.cfg <<-EOF || die
+ [blas]
+ include_dirs = $(pc_incdir cblas)
+ library_dirs = $(pc_libdir cblas blas):${libdir}
+ blas_libs = $(pc_libs cblas blas)
+ [lapack]
+ library_dirs = $(pc_libdir lapack):${libdir}
+ lapack_libs = $(pc_libs lapack)
+ EOF
+ cat >> setup.cfg <<-EOF || die
+ [options]
+ zip_safe = False
+ EOF
+
+ # Drop hashes to force rebuild of cython based .c code
+ rm cythonize.dat || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ # bug 721860
+ test-flag-FC -fallow-argument-mismatch &&
+ append-fflags -fallow-argument-mismatch
+}
+
+python_compile() {
+ # FIXME: parallel python building fails, bug #614464
+ export MAKEOPTS=-j1
+
+ ${EPYTHON} tools/cythonize.py || die
+ distutils-r1_python_compile \
+ ${SCIPY_FCONFIG}
+}
+
+python_test() {
+ # fails with bdist_egg. should it be fixed in distutils-r1 eclass?
+ distutils_install_for_testing ${SCIPY_FCONFIG}
+ cd "${TEST_DIR}/lib" || die "no ${TEST_DIR} available"
+ PYTHONPATH=. "${EPYTHON}" -c "
+import scipy, sys
+r = scipy.test('fast', verbose=2)
+sys.exit(0 if r else 1)" || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && \
+ local DOCS=( "${DISTDIR}"/${PN}-${DOC_PV}-ref.pdf ) \
+ local HTML_DOCS=( "${WORKDIR}"/html/. )
+ distutils-r1_python_install_all
+}
+
+python_install() {
+ distutils-r1_python_install ${SCIPY_FCONFIG}
+ python_optimize
+}
+
+pkg_postinst() {
+ elog "You might want to set the variable SCIPY_PIL_IMAGE_VIEWER"
+ elog "to your prefered image viewer. Example:"
+ elog "\t echo \"export SCIPY_PIL_IMAGE_VIEWER=display\" >> ~/.bashrc"
+}
diff --git a/dev-python/scipy/scipy-1.5.2.ebuild b/dev-python/scipy/scipy-1.5.2.ebuild
new file mode 100644
index 000000000000..52f1cb13642f
--- /dev/null
+++ b/dev-python/scipy/scipy-1.5.2.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python3_{6..9} )
+PYTHON_REQ_USE="threads(+)"
+
+DOC_PV=${PV}
+
+inherit fortran-2 distutils-r1 flag-o-matic multiprocessing toolchain-funcs
+
+DESCRIPTION="Scientific algorithms library for Python"
+HOMEPAGE="https://www.scipy.org/"
+SRC_URI="
+ mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ doc? (
+ https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${PV}.zip -> ${PN}-${DOC_PV}-html.zip
+ https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-ref-${PV}.pdf -> ${PN}-${DOC_PV}-ref.pdf
+ )"
+
+LICENSE="BSD LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="doc sparse test"
+RESTRICT="!test? ( test )"
+
+CDEPEND="
+ >=dev-python/numpy-1.10[lapack,${PYTHON_USEDEP}]
+ sci-libs/arpack:0=
+ virtual/cblas
+ virtual/lapack
+ sparse? ( sci-libs/umfpack:0= )"
+DEPEND="${CDEPEND}
+ dev-lang/swig
+ >=dev-python/cython-0.29.13[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-36[${PYTHON_USEDEP}]
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ doc? ( app-arch/unzip )
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${CDEPEND}
+ dev-python/pillow[${PYTHON_USEDEP}]"
+
+DOCS=( HACKING.rst.txt THANKS.txt )
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+src_unpack() {
+ default
+ if use doc; then
+ unzip -qo "${DISTDIR}"/${PN}-${DOC_PV}-html.zip -d html || die
+ fi
+}
+
+pc_incdir() {
+ $(tc-getPKG_CONFIG) --cflags-only-I $@ | \
+ sed -e 's/^-I//' -e 's/[ ]*-I/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libdir() {
+ $(tc-getPKG_CONFIG) --libs-only-L $@ | \
+ sed -e 's/^-L//' -e 's/[ ]*-L/:/g' -e 's/[ ]*$//' -e 's|^:||'
+}
+
+pc_libs() {
+ $(tc-getPKG_CONFIG) --libs-only-l $@ | \
+ sed -e 's/[ ]-l*\(pthread\|m\)\([ ]\|$\)//g' \
+ -e 's/^-l//' -e 's/[ ]*-l/,/g' -e 's/[ ]*$//' \
+ | tr ',' '\n' | sort -u | tr '\n' ',' | sed -e 's|,$||'
+}
+
+python_prepare_all() {
+ # scipy automatically detects libraries by default
+ export {FFTW,FFTW3,UMFPACK}=None
+ use sparse && unset UMFPACK
+ # the missing symbols are in -lpythonX.Y, but since the version can
+ # differ, we just introduce the same scaryness as on Linux/ELF
+ [[ ${CHOST} == *-darwin* ]] \
+ && append-ldflags -bundle "-undefined dynamic_lookup" \
+ || append-ldflags -shared
+ [[ -z ${FC} ]] && export FC="$(tc-getFC)"
+ # hack to force F77 to be FC until bug #278772 is fixed
+ [[ -z ${F77} ]] && export F77="$(tc-getFC)"
+ export F90="${FC}"
+ export SCIPY_FCONFIG="config_fc --noopt --noarch"
+ append-fflags -fPIC
+
+ local libdir="${EPREFIX}"/usr/$(get_libdir)
+ cat >> site.cfg <<-EOF || die
+ [blas]
+ include_dirs = $(pc_incdir cblas)
+ library_dirs = $(pc_libdir cblas blas):${libdir}
+ blas_libs = $(pc_libs cblas blas)
+ [lapack]
+ library_dirs = $(pc_libdir lapack):${libdir}
+ lapack_libs = $(pc_libs lapack)
+ EOF
+ cat >> setup.cfg <<-EOF || die
+ [options]
+ zip_safe = False
+ EOF
+
+ # Drop hashes to force rebuild of cython based .c code
+ rm cythonize.dat || die
+
+ # TODO
+ sed -e 's:test_magic_square_sparse_no_presolve:_&:' \
+ -i scipy/optimize/tests/test_linprog.py || die
+ sed -e "s:== 'levy_stable':in ('levy_stable', 'crystalball', 'ncf'):" \
+ -i scipy/stats/tests/test_continuous_basic.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ # bug 721860
+ test-flag-FC -fallow-argument-mismatch &&
+ append-fflags -fallow-argument-mismatch
+}
+
+python_compile() {
+ # FIXME: parallel python building fails, bug #614464
+ export MAKEOPTS=-j1
+
+ ${EPYTHON} tools/cythonize.py || die
+ distutils-r1_python_compile \
+ ${SCIPY_FCONFIG}
+}
+
+python_test() {
+ # fails with bdist_egg. should it be fixed in distutils-r1 eclass?
+ distutils_install_for_testing ${SCIPY_FCONFIG}
+ cd "${TEST_DIR}/lib" || die "no ${TEST_DIR} available"
+ PYTHONPATH=. "${EPYTHON}" -c "
+import scipy, sys
+r = scipy.test('fast', verbose=2)
+sys.exit(0 if r else 1)" || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && \
+ local DOCS=( "${DISTDIR}"/${PN}-${DOC_PV}-ref.pdf ) \
+ local HTML_DOCS=( "${WORKDIR}"/html/. )
+ distutils-r1_python_install_all
+}
+
+python_install() {
+ distutils-r1_python_install ${SCIPY_FCONFIG}
+ python_optimize
+}
+
+pkg_postinst() {
+ elog "You might want to set the variable SCIPY_PIL_IMAGE_VIEWER"
+ elog "to your prefered image viewer. Example:"
+ elog "\t echo \"export SCIPY_PIL_IMAGE_VIEWER=display\" >> ~/.bashrc"
+}