From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id CAD15138350 for ; Sat, 25 Jan 2020 03:25:15 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id BFB56E083B; Sat, 25 Jan 2020 03:25:14 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 988B9E083B for ; Sat, 25 Jan 2020 03:25:12 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 6C41034E23C for ; Sat, 25 Jan 2020 03:25:10 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 0B0D03E for ; Sat, 25 Jan 2020 03:25:08 +0000 (UTC) From: "Benda XU" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Benda XU" Message-ID: <1579922696.261f747b27a57db8c9da8fc9f2d1a991a5db350e.heroxbd@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/numpy/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-python/numpy/numpy-1.17.4-r2.ebuild X-VCS-Directories: dev-python/numpy/ X-VCS-Committer: heroxbd X-VCS-Committer-Name: Benda XU X-VCS-Revision: 261f747b27a57db8c9da8fc9f2d1a991a5db350e X-VCS-Branch: master Date: Sat, 25 Jan 2020 03:25:08 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 6aa2a31a-aacd-438a-9628-4698e9fe1cca X-Archives-Hash: 893358ececb614bb3e501482d3672367 commit: 261f747b27a57db8c9da8fc9f2d1a991a5db350e Author: Benda Xu gentoo org> AuthorDate: Sat Jan 25 03:20:43 2020 +0000 Commit: Benda XU gentoo org> CommitDate: Sat Jan 25 03:24:56 2020 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=261f747b dev-python/numpy: replace pc_incdir() with plain names. Same goes to pc_libs() and pc_libdir(). pkg-config mechanism is not necessary any more with the introduction of eselect-ldso. All the compile and linking time operation are done against standard blas and lapack headers and libraries. Closes: https://bugs.gentoo.org/700848 Package-Manager: Portage-2.3.79, Repoman-2.3.18 Signed-off-by: Benda Xu gentoo.org> dev-python/numpy/numpy-1.17.4-r2.ebuild | 139 ++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) diff --git a/dev-python/numpy/numpy-1.17.4-r2.ebuild b/dev-python/numpy/numpy-1.17.4-r2.ebuild new file mode 100644 index 00000000000..06da8045df1 --- /dev/null +++ b/dev-python/numpy/numpy-1.17.4-r2.ebuild @@ -0,0 +1,139 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8} ) +PYTHON_REQ_USE="threads(+)" + +FORTRAN_NEEDED=lapack + +inherit distutils-r1 flag-o-matic fortran-2 multiprocessing toolchain-funcs + +DOC_PV="1.16.4" +DESCRIPTION="Fast array and numerical python library" +HOMEPAGE="https://www.numpy.org" +SRC_URI=" + mirror://pypi/${PN:0:1}/${PN}/${P}.zip + doc? ( + https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-html.zip -> numpy-html-${DOC_PV}.zip + https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-ref.pdf -> numpy-ref-${DOC_PV}.pdf + https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-user.pdf -> numpy-user-${DOC_PV}.pdf + )" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" +IUSE="doc lapack test" +RESTRICT="!test? ( test )" + +RDEPEND=" + lapack? ( + >=virtual/cblas-3.8 + >=virtual/lapack-3.8 + )" +DEPEND="${RDEPEND}" +BDEPEND="app-arch/unzip + dev-python/setuptools[${PYTHON_USEDEP}] + lapack? ( virtual/pkgconfig ) + test? ( + dev-python/pytest[${PYTHON_USEDEP}] + )" + +PATCHES=( + "${FILESDIR}"/${PN}-1.17.4-no-hardcode-blasv2.patch +) + +src_unpack() { + default + if use doc; then + unzip -qo "${DISTDIR}"/numpy-html-${DOC_PV}.zip -d html || die + fi +} + +python_prepare_all() { + if use lapack; then + local incdir="${EPREFIX}"/usr/include + local libdir="${EPREFIX}"/usr/$(get_libdir) + cat >> site.cfg <<-EOF || die + [blas] + include_dirs = ${incdir} + library_dirs = ${libdir} + blas_libs = cblas,blas + [lapack] + library_dirs = ${libdir} + lapack_libs = lapack + EOF + else + export {ATLAS,PTATLAS,BLAS,LAPACK,MKL}=None + fi + + export CC="$(tc-getCC) ${CFLAGS}" + + append-flags -fno-strict-aliasing + + # See progress in http://projects.scipy.org/scipy/numpy/ticket/573 + # with the subtle difference that we don't want to break Darwin where + # -shared is not a valid linker argument + if [[ ${CHOST} != *-darwin* ]]; then + append-ldflags -shared + fi + + # only one fortran to link with: + # linking with cblas and lapack library will force + # autodetecting and linking to all available fortran compilers + append-fflags -fPIC + if use lapack; then + NUMPY_FCONFIG="config_fc --noopt --noarch" + # workaround bug 335908 + [[ $(tc-getFC) == *gfortran* ]] && NUMPY_FCONFIG+=" --fcompiler=gnu95" + fi + + # don't version f2py, we will handle it. + sed -i -e '/f2py_exe/s: + os\.path.*$::' numpy/f2py/setup.py || die + + # disable fuzzed tests + find numpy/*/tests -name '*.py' -exec sed -i \ + -e 's:def \(.*_fuzz\):def _\1:' {} + || die + # very memory- and disk-hungry + sed -i -e 's:test_large_zip:_&:' numpy/lib/tests/test_io.py || die + + distutils-r1_python_prepare_all +} + +python_compile() { + export MAKEOPTS=-j1 #660754 + + local python_makeopts_jobs="" + python_is_python3 || python_makeopts_jobs="-j $(makeopts_jobs)" + distutils-r1_python_compile \ + ${python_makeopts_jobs} \ + ${NUMPY_FCONFIG} +} + +python_test() { + distutils_install_for_testing --single-version-externally-managed \ + --record "${TMPDIR}/record.txt" ${NUMPY_FCONFIG} + + cd "${TMPDIR}" || die + + "${EPYTHON}" -c " +import numpy, sys +r = numpy.test(label='full', verbose=3) +sys.exit(0 if r else 1)" || die "Tests fail with ${EPYTHON}" +} + +python_install() { + distutils-r1_python_install ${NUMPY_FCONFIG} + python_optimize +} + +python_install_all() { + local DOCS=( THANKS.txt ) + + if use doc; then + local HTML_DOCS=( "${WORKDIR}"/html/. ) + DOCS+=( "${DISTDIR}"/${PN}-{user,ref}-${DOC_PV}.pdf ) + fi + + distutils-r1_python_install_all +}