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.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 61193158020 for ; Fri, 25 Nov 2022 17:06:27 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 4F08EE0A53; Fri, 25 Nov 2022 17:05:18 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id C9CC3E0A49 for ; Fri, 25 Nov 2022 17:05:17 +0000 (UTC) From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= To: gentoo-dev@lists.gentoo.org Cc: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Subject: [gentoo-dev] [PATCH 3/7] dev-python/scipy: Pass -Dblas, -Dlapack via DISTUTILS_ARGS Date: Fri, 25 Nov 2022 18:05:04 +0100 Message-Id: <20221125170508.23064-4-mgorny@gentoo.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221125170508.23064-1-mgorny@gentoo.org> References: <20221125170508.23064-1-mgorny@gentoo.org> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Archives-Salt: 9f9c1dba-f77d-4492-87c8-dce54e9bab1a X-Archives-Hash: 59babafc20f9a3908f777125abe69ac8 Signed-off-by: Michał Górny --- dev-python/scipy/scipy-1.9.3-r1.ebuild | 109 +++++++++++++++++++++++++ dev-python/scipy/scipy-1.9.9999.ebuild | 11 ++- 2 files changed, 114 insertions(+), 6 deletions(-) create mode 100644 dev-python/scipy/scipy-1.9.3-r1.ebuild diff --git a/dev-python/scipy/scipy-1.9.3-r1.ebuild b/dev-python/scipy/scipy-1.9.3-r1.ebuild new file mode 100644 index 000000000000..7c62ef8bb35f --- /dev/null +++ b/dev-python/scipy/scipy-1.9.3-r1.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FORTRAN_NEEDED=fortran +DISTUTILS_USE_PEP517=meson-python +PYTHON_COMPAT=( python3_{8..11} ) +PYTHON_REQ_USE="threads(+)" + +inherit fortran-2 distutils-r1 multiprocessing + +DESCRIPTION="Scientific algorithms library for Python" +HOMEPAGE=" + https://scipy.org/ + https://github.com/scipy/scipy/ + https://pypi.org/project/scipy/ +" + +if [[ ${PV} == *9999* ]] ; then + inherit git-r3 + + # Need submodules, so git for now. + EGIT_REPO_URI="https://github.com/scipy/scipy" + EGIT_BRANCH="maintenance/$(ver_cut 1-2).x" + EGIT_SUBMODULES=( '*' ) +else + # Upstream is often behind with doc updates + DOC_PV=1.8.1 + MY_PV=${PV/_rc/rc} + MY_P=${PN}-${MY_PV} + + SRC_URI=" + mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz + doc? ( + https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${DOC_PV}.zip + https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-ref-${DOC_PV}.pdf + )" + S="${WORKDIR}"/${MY_P} + + if [[ ${PV} != *rc* ]] ; then + KEYWORDS="~amd64 ~arm ~arm64 -hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + fi +fi + +LICENSE="BSD LGPL-2" +SLOT="0" +IUSE="doc +fortran" + +# umfpack is technically optional but it's preferred to have it available. +DEPEND=" + >=dev-python/numpy-1.18.5[lapack,${PYTHON_USEDEP}] + sci-libs/arpack:= + sci-libs/umfpack + virtual/cblas + >=virtual/lapack-3.8 +" +RDEPEND=" + ${DEPEND} + dev-python/pillow[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-lang/swig + >=dev-python/cython-0.29.18[${PYTHON_USEDEP}] + >=dev-python/meson-python-0.11[${PYTHON_USEDEP}] + dev-python/pybind11[${PYTHON_USEDEP}] + >=dev-util/meson-0.62.2 + dev-util/patchelf + virtual/pkgconfig + doc? ( app-arch/unzip ) + fortran? ( dev-python/pythran[${PYTHON_USEDEP}] ) + test? ( dev-python/pytest-xdist[${PYTHON_USEDEP}] )" + +EPYTEST_DESELECT=( + linalg/tests/test_decomp.py::TestSchur::test_sort + linalg/tests/test_solvers.py::test_solve_discrete_are +) + +distutils_enable_tests pytest + +src_unpack() { + default + + if use doc; then + unzip -qo "${DISTDIR}"/${PN}-html-${DOC_PV}.zip -d html || die + fi +} + +python_configure_all() { + export SCIPY_USE_PYTHRAN=$(usex fortran 1 0) + DISTUTILS_ARGS=( + -Dblas=blas + -Dlapack=lapack + ) +} + +python_test() { + cd "${T}" || die + + epytest -n "$(makeopts_jobs)" --pyargs scipy +} + +python_install_all() { + use doc && \ + local DOCS=( "${DISTDIR}"/${PN}-ref-${DOC_PV}.pdf ) \ + local HTML_DOCS=( "${WORKDIR}"/html/. ) + + distutils-r1_python_install_all +} diff --git a/dev-python/scipy/scipy-1.9.9999.ebuild b/dev-python/scipy/scipy-1.9.9999.ebuild index 6396c461e4e3..b85e9495ebc9 100644 --- a/dev-python/scipy/scipy-1.9.9999.ebuild +++ b/dev-python/scipy/scipy-1.9.9999.ebuild @@ -62,6 +62,7 @@ RDEPEND=" BDEPEND=" dev-lang/swig >=dev-python/cython-0.29.18[${PYTHON_USEDEP}] + >=dev-python/meson-python-0.11[${PYTHON_USEDEP}] dev-python/pybind11[${PYTHON_USEDEP}] >=dev-util/meson-0.62.2 dev-util/patchelf @@ -70,10 +71,6 @@ BDEPEND=" fortran? ( dev-python/pythran[${PYTHON_USEDEP}] ) test? ( dev-python/pytest-xdist[${PYTHON_USEDEP}] )" -PATCHES=( - "${FILESDIR}"/${PN}-1.9.9999-meson-options-lapack.patch -) - EPYTEST_DESELECT=( linalg/tests/test_decomp.py::TestSchur::test_sort linalg/tests/test_solvers.py::test_solve_discrete_are @@ -90,9 +87,11 @@ src_unpack() { } python_configure_all() { - # workaround stupid numpy distutils overrides, indirectly via pythran - export SETUPTOOLS_USE_DISTUTILS=stdlib export SCIPY_USE_PYTHRAN=$(usex fortran 1 0) + DISTUTILS_ARGS=( + -Dblas=blas + -Dlapack=lapack + ) } python_test() { -- 2.38.1