From e6f144767f364ad247b6d0ed3d4e74c11e4d5d65 Mon Sep 17 00:00:00 2001 From: Alastair Hogge Date: Fri, 17 Apr 2026 16:29:15 +0800 Subject: [PATCH] science/py-scipy: Migrate to py-numpy-2.x science/py-scipy: * Add devel/xsimd dependency * Modernise Port PR: 294586 --- science/py-scipy/Makefile | 59 ++++++++++++++++++++++----------------- 1 file changed, 33 insertions(+), 26 deletions(-) diff --git a/science/py-scipy/Makefile b/science/py-scipy/Makefile index 12c32344888a..c7e36ed4e9ec 100644 --- a/science/py-scipy/Makefile +++ b/science/py-scipy/Makefile @@ -1,6 +1,6 @@ PORTNAME= scipy DISTVERSION= 1.17.1 -PORTREVISION= 1 +PORTREVISION= 2 PORTEPOCH= 1 CATEGORIES= science python MASTER_SITES= https://docs.scipy.org/doc/${PORTNAME}-1.17.0/:doc \ @@ -19,50 +19,55 @@ LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE.txt BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}meson-python>=0.15.0:devel/meson-python@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}numpy>0:math/py-numpy@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pybind11>=2.13.2:devel/py-pybind11@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pythran>=0.14.0:devel/py-pythran@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}numpy1>=1.26.4:math/py-numpy1@${PY_FLAVOR} \ - boost-libs>=1.89.0:devel/boost-libs + boost-libs>=1.89.0:devel/boost-libs \ + xsimd>0:devel/xsimd LIB_DEPENDS= libqhull_r.so:math/qhull -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy1>=1.26.4:math/py-numpy1@${PY_FLAVOR} -TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest-cov>0:devel/py-pytest-cov@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pytest-timeout>0:devel/py-pytest-timeout@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pytest-xdist>0:devel/py-pytest-xdist@${PY_FLAVOR} \ +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy>0:math/py-numpy@${PY_FLAVOR} +TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}array-api-strict>=2.3.1:devel/py-array-api-strict@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}asv>0:benchmarks/py-asv@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}mpmath>0:math/py-mpmath@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}gmpy2>0:math/py-gmpy2@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}threadpoolctl>0:devel/py-threadpoolctl@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}scikit-umfpack>0:math/py-scikit-umfpack@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pooch>0:devel/py-pooch@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}hypothesis>=6.30:devel/py-hypothesis@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}array-api-strict>=2.3.1:devel/py-array-api-strict@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}mpmath>0:math/py-mpmath@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pooch>0:devel/py-pooch@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pytest-cov>0:devel/py-pytest-cov@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pytest-timeout>0:devel/py-pytest-timeout@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pytest-xdist>0:devel/py-pytest-xdist@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}scikit-umfpack>0:math/py-scikit-umfpack@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}sympy>0:math/py-sympy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}threadpoolctl>0:devel/py-threadpoolctl@${PY_FLAVOR} \ + meson>0:devel/meson \ + ninja>0:devel/ninja -USES= compiler:c++17-lang cpe fortran pkgconfig python:3.11+ shebangfix +USES= compiler:c++17-lang cpe fortran pkgconfig python:3.11+ \ + shebangfix USE_PYTHON= autoplist concurrent cython pep517 pytest - -PEP517_BUILD_CONFIG_SETTING= -Csetup-args=-Duse-system-libraries=all - -TEST_WRKSRC= ${WRKDIR} -TEST_ARGS= --pyargs scipy PYTEST_BROKEN_TESTS= test_threading +TEST_ARGS= --pyargs \ + scipy + BINARY_ALIAS= cython=cython-${PYTHON_VER} \ pybind11-config=pybind11-config-${PYTHON_VER} \ pythran=pythran-${PYTHON_VER} +TEST_WRKSRC= ${WRKDIR} + PORTDOCS= * -OPTIONS_DEFINE= DOCS -OPTIONS_SINGLE= BLASLIB -OPTIONS_SINGLE_BLASLIB= BLIS FLEXIBLAS NETLIB OPENBLAS +OPTIONS_DEFINE= DOCS OPTIONS_DEFAULT= OPENBLAS -BLIS_DESC= BLIS BLAS-like implementation -FLEXIBLAS_DESC= FlexiBLAS BLAS implementation +OPTIONS_SINGLE= BLASLIB +OPTIONS_SINGLE_BLASLIB= BLIS FLEXIBLAS NETLIB OPENBLAS +BLIS_DESC= BLIS BLAS-like implementation +FLEXIBLAS_DESC= FlexiBLAS BLAS implementation +BLIS_BROKEN= math/libflame does not provide a pkg-config file BLIS_USES= blaslapack:blis BLIS_VARS= PEP517_BUILD_CONFIG_SETTING+="-Csetup-args=-Dblas=blis -Csetup-args=-Dlapack=flame" -BLIS_BROKEN= math/libflame does not provide a pkg-config file FLEXIBLAS_USES= blaslapack:flexiblas FLEXIBLAS_VARS= PEP517_BUILD_CONFIG_SETTING+="-Csetup-args=-Dblas=flexiblas -Csetup-args=-Dlapack=flexiblas" NETLIB_USES= blaslapack:netlib @@ -70,16 +75,18 @@ NETLIB_VARS= PEP517_BUILD_CONFIG_SETTING+="-Csetup-args=-Dblas=blas -Csetup-args OPENBLAS_USES= blaslapack:openblas OPENBLAS_VARS= PEP517_BUILD_CONFIG_SETTING+="-Csetup-args=-Dblas=openblas -Csetup-args=-Dlapack=openblas" +PEP517_BUILD_CONFIG_SETTING= -Csetup-args=-Duse-system-libraries=all + post-patch: @${REINPLACE_CMD} -e 's|pythran>=0.14.0,<0.19.0|pythran>=0.14.0|' \ -e 's|Cython>=3.0.8,<3.3.0|Cython>=3.0.8|' \ - -e 's|numpy>=2.0.0|numpy>=1.26.4|g' \ ${WRKSRC}/pyproject.toml @${REINPLACE_CMD} -e "s|'boost', version : '1.89.0'|'boost'|g" \ ${WRKSRC}/meson.build post-install: - ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name '*.so' -exec ${STRIP_CMD} {} + + ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name '*.so' -exec ${STRIP_CMD} \ + {} + post-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} -- 2.53.0