diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2020-09-23 10:22:15 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2020-09-23 10:22:15 +0100 |
commit | 8b4ace9c50842c5b83401ea7b179dcab940387e1 (patch) | |
tree | 230f3135ceaace633cf93e9838b185c4a6664c2e /dev-python/scipy | |
parent | 9ee6d97c2883d42f204a533a8bc1f4562df778fb (diff) |
gentoo resync : 23.09.2020
Diffstat (limited to 'dev-python/scipy')
-rw-r--r-- | dev-python/scipy/Manifest | 13 | ||||
-rw-r--r-- | dev-python/scipy/metadata.xml | 27 | ||||
-rw-r--r-- | dev-python/scipy/scipy-1.1.0.ebuild | 148 | ||||
-rw-r--r-- | dev-python/scipy/scipy-1.4.1.ebuild | 154 | ||||
-rw-r--r-- | dev-python/scipy/scipy-1.5.2.ebuild | 160 |
5 files changed, 502 insertions, 0 deletions
diff --git a/dev-python/scipy/Manifest b/dev-python/scipy/Manifest new file mode 100644 index 000000000000..94a93b19466d --- /dev/null +++ b/dev-python/scipy/Manifest @@ -0,0 +1,13 @@ +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.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 +EBUILD scipy-1.1.0.ebuild 4112 BLAKE2B 1dec8bf858c2051c3ca18bd77759b5add6ee996331e14f1a8c1831be44f5a5b95340bdefccfba44f0753bef43e07ec445e93d2955dce05e305dc5cba505b0846 SHA512 e99d842e6d558907e0e17164edba323e94ff8fe12bbcab8f9c3f840c25a36822f9d507a2fd3ae30870aefbe8e143a2b90155c8c094bb91b62f99b89edf2fa2d2 +EBUILD scipy-1.4.1.ebuild 4150 BLAKE2B 4f7ee074825feb1c58c2d297b6817137c95b2c12b97112adfe4006996e6ca6a20325cc2b7e19c99ba09cf0dd9fc42cec9c917bc3abae0a89e4152a834326c9e6 SHA512 2f7473b792726c709f1a62b2d465168ffeba66891117c1d203f1dc2f1b2de6f9dfd945580e539ffdc2e5d8254bfcd0a05d5abdc0b1216b4e94a5b31f2adeb5bb +EBUILD scipy-1.5.2.ebuild 4392 BLAKE2B 51188b124be5d4c4c577caf30b8f4c813a4a14be9a51f5fb6238838b6acbb692c9d7b03bfddc09e9a4ec3a7e79b2a9581f7b2ab129ed2bb29d56eca88cbeed31 SHA512 371e38b7c270831675dbd7d5d42062ab0ae985d810fe239cb27e8a0b2c75a40904c6366f25db9f65793507683356b4bfacb5db08416a7803eb27d2933d09f645 +MISC metadata.xml 1038 BLAKE2B a17718312d2d1ead8646e838b2704c14a9f21be8c59fbc0cd8544ab45bdb28005443be05f3a9f5671581f0f28e3cf7507131e2baad5e7b128a452d1ca3fae19e SHA512 2ee6a44a4f32d34f52eb1a0bb787907c31d22c15af597c8db8820df72cafcbba72201c5157b60dede7df4ff0ba48847e8f764c5a67a0b7efacabe1b9fa9bd74a 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.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" +} |