Gentoo Archives: gentoo-commits

From: Jason Zaman <perfinion@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-libs/scipy/
Date: Thu, 26 Dec 2019 02:42:32
Message-Id: 1577327699.13667ba3376f90ab5b236b1f60adf0079734f41d.perfinion@gentoo
1 commit: 13667ba3376f90ab5b236b1f60adf0079734f41d
2 Author: Jason Zaman <perfinion <AT> gentoo <DOT> org>
3 AuthorDate: Wed Dec 25 10:36:40 2019 +0000
4 Commit: Jason Zaman <perfinion <AT> gentoo <DOT> org>
5 CommitDate: Thu Dec 26 02:34:59 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=13667ba3
7
8 sci-libs/scipy: bump 1.4.1
9
10 Package-Manager: Portage-2.3.79, Repoman-2.3.16
11 Signed-off-by: Jason Zaman <perfinion <AT> gentoo.org>
12
13 sci-libs/scipy/Manifest | 3 +
14 sci-libs/scipy/scipy-1.4.1.ebuild | 145 ++++++++++++++++++++++++++++++++++++++
15 2 files changed, 148 insertions(+)
16
17 diff --git a/sci-libs/scipy/Manifest b/sci-libs/scipy/Manifest
18 index 8e51ea760a6..755da305b08 100644
19 --- a/sci-libs/scipy/Manifest
20 +++ b/sci-libs/scipy/Manifest
21 @@ -13,3 +13,6 @@ DIST scipy-1.0.0.tar.gz 15246397 BLAKE2B 37cd50c59830c91f0516c72cf11b367670faf5c
22 DIST scipy-1.1.0-html.zip 49851258 BLAKE2B 528df7ed8aa8e56662f436f31ee9e1d6d72d6fe962f9f0f6f84b7a2704b53009ce333b2102ec73bb7795110f8a61b18246aab95b1e21055f2b68c0ff2225b7bb SHA512 a03894a22a67c1359ee6206e9e1c9de1f926a7f829f5039f161e78df735708da09b0e51cdad3bf36bfede701d0bc5dc44f8cc0f249b6bfb80c9d8c9fe23aed46
23 DIST scipy-1.1.0-ref.pdf 34360806 BLAKE2B f82807879d5d36d91d74e8983a0f4104bcb4b69cb7787fe5190f73fbbfcb8635a9399686b3c75736d3b0b5dd877b5280ff6fba728520e3b47c13ffc7835f8cd6 SHA512 c792064c986dffafa3c5d0741f30715028e655761d099f0fdd472270cf34642b367dfa2178ddceba13043a471e3aeb1db20d65308dbb40c704dab576aaadeb3e
24 DIST scipy-1.1.0.tar.gz 15583560 BLAKE2B 477753e622ee26a3bc8c2cb6829410152df84b29ce17a6d53a66348f5536f7993fedf5d32b782405b54b3af3feabf9bc91c381ed39546076849c2fdb71039404 SHA512 72fe32c6c009613cb78202598e5db14f8e630b3218839cfe18d43d40550d94cc5aa100c6f5d41f40e86ae148e9b6a13431bb91b0f9be44b0569ccd7b725fe973
25 +DIST scipy-1.4.1-html.zip 61414053 BLAKE2B e1f0c1a7a8941958512dcc3c0f40ef4a590bab0b44b33f842bc6e1c5d103c17f223d8b0a2f4e564f57645d601d4d74005c1ec605be2dd3bf4db19d2ac1f614d1 SHA512 9eeae83cd723d63aa1dc7a610ce3118cb68a2336be24cbfeaa8e57b34de413b2efa2fdad0978eb5bdac0ebca6b15f564b9509637efbd87d1007c969ae954e3ae
26 +DIST scipy-1.4.1-ref.pdf 41100747 BLAKE2B 8e56af69d0bffbe6eff73bfc5bb674aed3b80bdd80d59b58a1835f996c992306a059c2992d74c411e762490c526262753d33273613ed389928845c65eb6546b2 SHA512 76946f3b506fe22a595b70e5a418982257dd59db1a2e9af508cc1cab59d47ba4fc5951388e676f2a513043a6b3391ef853242e78d7feb99a6c21d19f6dca2b58
27 +DIST scipy-1.4.1.tar.gz 24555206 BLAKE2B e35f6234404839cbd24d463c8cc2f1ea66aed91534e700fd54a623df40d069b14fc220f96af04c78d13b773bfc5461559e59b0bd9b836d7953f9249ccd7cae54 SHA512 79407a2cbb4ba29c0941570181df4d7835e5791e50a3abef9b63c2fc5b15308a2e4964eb71cdebbee8cd2dcb8e497cf92fe50ee21fb12cac3013ea5e0466b25d
28
29 diff --git a/sci-libs/scipy/scipy-1.4.1.ebuild b/sci-libs/scipy/scipy-1.4.1.ebuild
30 new file mode 100644
31 index 00000000000..a655ea5de4a
32 --- /dev/null
33 +++ b/sci-libs/scipy/scipy-1.4.1.ebuild
34 @@ -0,0 +1,145 @@
35 +# Copyright 1999-2019 Gentoo Authors
36 +# Distributed under the terms of the GNU General Public License v2
37 +
38 +EAPI=6
39 +
40 +PYTHON_COMPAT=( python3_{5,6,7,8} )
41 +PYTHON_REQ_USE="threads(+)"
42 +
43 +DOC_PV=${PV}
44 +
45 +inherit fortran-2 distutils-r1 flag-o-matic multiprocessing toolchain-funcs
46 +
47 +DESCRIPTION="Scientific algorithms library for Python"
48 +HOMEPAGE="https://www.scipy.org/"
49 +SRC_URI="
50 + mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
51 + doc? (
52 + https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${PV}.zip -> ${PN}-${DOC_PV}-html.zip
53 + https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-ref-${PV}.pdf -> ${PN}-${DOC_PV}-ref.pdf
54 + )"
55 +
56 +LICENSE="BSD LGPL-2"
57 +SLOT="0"
58 +IUSE="doc sparse test"
59 +RESTRICT="!test? ( test )"
60 +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
61 +
62 +CDEPEND="
63 + >=dev-python/numpy-1.10[lapack,${PYTHON_USEDEP}]
64 + sci-libs/arpack:0=
65 + virtual/cblas
66 + virtual/lapack
67 + sparse? ( sci-libs/umfpack:0= )"
68 +DEPEND="${CDEPEND}
69 + dev-lang/swig
70 + >=dev-python/cython-0.29.13[${PYTHON_USEDEP}]
71 + >=dev-python/setuptools-36[${PYTHON_USEDEP}]
72 + dev-python/pybind11[${PYTHON_USEDEP}]
73 + virtual/pkgconfig
74 + doc? ( app-arch/unzip )
75 + test? (
76 + dev-python/nose[${PYTHON_USEDEP}]
77 + dev-python/pytest[${PYTHON_USEDEP}]
78 + )"
79 +RDEPEND="${CDEPEND}
80 + dev-python/pillow[${PYTHON_USEDEP}]"
81 +
82 +DOCS=( HACKING.rst.txt THANKS.txt )
83 +
84 +DISTUTILS_IN_SOURCE_BUILD=1
85 +
86 +src_unpack() {
87 + default
88 + if use doc; then
89 + unzip -qo "${DISTDIR}"/${PN}-${DOC_PV}-html.zip -d html || die
90 + fi
91 +}
92 +
93 +pc_incdir() {
94 + $(tc-getPKG_CONFIG) --cflags-only-I $@ | \
95 + sed -e 's/^-I//' -e 's/[ ]*-I/:/g' -e 's/[ ]*$//' -e 's|^:||'
96 +}
97 +
98 +pc_libdir() {
99 + $(tc-getPKG_CONFIG) --libs-only-L $@ | \
100 + sed -e 's/^-L//' -e 's/[ ]*-L/:/g' -e 's/[ ]*$//' -e 's|^:||'
101 +}
102 +
103 +pc_libs() {
104 + $(tc-getPKG_CONFIG) --libs-only-l $@ | \
105 + sed -e 's/[ ]-l*\(pthread\|m\)\([ ]\|$\)//g' \
106 + -e 's/^-l//' -e 's/[ ]*-l/,/g' -e 's/[ ]*$//' \
107 + | tr ',' '\n' | sort -u | tr '\n' ',' | sed -e 's|,$||'
108 +}
109 +
110 +python_prepare_all() {
111 + # scipy automatically detects libraries by default
112 + export {FFTW,FFTW3,UMFPACK}=None
113 + use sparse && unset UMFPACK
114 + # the missing symbols are in -lpythonX.Y, but since the version can
115 + # differ, we just introduce the same scaryness as on Linux/ELF
116 + [[ ${CHOST} == *-darwin* ]] \
117 + && append-ldflags -bundle "-undefined dynamic_lookup" \
118 + || append-ldflags -shared
119 + [[ -z ${FC} ]] && export FC="$(tc-getFC)"
120 + # hack to force F77 to be FC until bug #278772 is fixed
121 + [[ -z ${F77} ]] && export F77="$(tc-getFC)"
122 + export F90="${FC}"
123 + export SCIPY_FCONFIG="config_fc --noopt --noarch"
124 + append-fflags -fPIC
125 +
126 + local libdir="${EPREFIX}"/usr/$(get_libdir)
127 + cat >> site.cfg <<-EOF || die
128 + [blas]
129 + include_dirs = $(pc_incdir cblas)
130 + library_dirs = $(pc_libdir cblas blas):${libdir}
131 + blas_libs = $(pc_libs cblas blas)
132 + [lapack]
133 + library_dirs = $(pc_libdir lapack):${libdir}
134 + lapack_libs = $(pc_libs lapack)
135 + EOF
136 +
137 + # Drop hashes to force rebuild of cython based .c code
138 + rm cythonize.dat || die
139 +
140 + distutils-r1_python_prepare_all
141 +}
142 +
143 +python_compile() {
144 + # FIXME: parallel python building fails, bug #614464
145 + # $(usex python_targets_python3_5 "" "-j $(makeopts_jobs)") \
146 + ${EPYTHON} tools/cythonize.py || die
147 + distutils-r1_python_compile \
148 + ${SCIPY_FCONFIG}
149 +}
150 +
151 +python_test() {
152 + # fails with bdist_egg. should it be fixed in distutils-r1 eclass?
153 + distutils_install_for_testing ${SCIPY_FCONFIG}
154 + cd "${TEST_DIR}" || die "no ${TEST_DIR} available"
155 + "${PYTHON}" -c \
156 + 'import numpy as np; print("relaxed strides checking:", np.ones((10,1),order="C").flags.f_contiguous)' \
157 + || die
158 + "${EPYTHON}" -c \
159 + "import scipy, sys; r = scipy.test('fast', verbose=2); sys.exit(r)" \
160 + || die "Tests fail with ${EPYTHON}"
161 +}
162 +
163 +python_install_all() {
164 + use doc && \
165 + local DOCS=( "${DISTDIR}"/${PN}-${DOC_PV}-ref.pdf ) \
166 + local HTML_DOCS=( "${WORKDIR}"/html/. )
167 + distutils-r1_python_install_all
168 +}
169 +
170 +python_install() {
171 + distutils-r1_python_install ${SCIPY_FCONFIG}
172 + python_optimize
173 +}
174 +
175 +pkg_postinst() {
176 + elog "You might want to set the variable SCIPY_PIL_IMAGE_VIEWER"
177 + elog "to your prefered image viewer. Example:"
178 + elog "\t echo \"export SCIPY_PIL_IMAGE_VIEWER=display\" >> ~/.bashrc"
179 +}