SUMMARY="Array processing for numbers, strings, records, and objects" DESCRIPTION="NumPy is a general-purpose array-processing package designed to \ efficiently manipulate large multi-dimensional arrays of arbitrary records \ without sacrificing too much speed for small multi-dimensional arrays. NumPy is built on the Numeric code base and adds features introduced by \ numarray as well as an extended C-API and the ability to create arrays of \ arbitrary type which also makes NumPy suitable for interfacing with \ general-purpose data-base applications." HOMEPAGE="https://www.numpy.org/" COPYRIGHT="2005-2024, NumPy Developers." LICENSE="BSD (3-clause)" REVISION="1" SOURCE_URI="https://files.pythonhosted.org/packages/source/n/numpy/numpy-$portVersion.tar.gz" CHECKSUM_SHA256="45681fd7128c8ad1c379f0ca0776a8b0c6583d2f69889ddac01559dfe4390918" SOURCE_DIR="numpy-$portVersion" PATCHES="numpy-2.2.1.patchset" ARCHITECTURES="all !x86_gcc2" SECONDARY_ARCHITECTURES="x86" PROVIDES=" $portName = $portVersion " REQUIRES=" haiku$secondaryArchSuffix lib:liblapack$secondaryArchSuffix lib:libopenblas$secondaryArchSuffix " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel devel:liblapack$secondaryArchSuffix devel:libopenblas$secondaryArchSuffix " PYTHON_VERSIONS=(3.10) defaultVersion=3.10 for i in "${!PYTHON_VERSIONS[@]}"; do pythonVersion=${PYTHON_VERSIONS[$i]} pythonPackage=python${pythonVersion//.} eval "PROVIDES_${pythonPackage}=\" ${portName}_$pythonPackage = $portVersion cmd:f2py_$pythonVersion cmd:numpy_config_$pythonVersion \"" if [ $targetArchitecture = "x86_gcc2" ]; then eval "PROVIDES_${pythonPackage}+=\" numpy_$pythonPackage = $portVersion \"" fi # Provide f2py/f2py3 only for the default version if [ $pythonVersion = $defaultVersion ]; then eval "PROVIDES_${pythonPackage}+=\" cmd:f2py cmd:numpy_config \"" fi eval "REQUIRES_$pythonPackage=\" $REQUIRES cmd:cython$pythonVersion cmd:python$pythonVersion \"" BUILD_REQUIRES+=" build_$pythonPackage installer_$pythonPackage meson_python_$pythonPackage wheel_$pythonPackage " BUILD_PREREQUIRES+=" cmd:cython$pythonVersion cmd:g++$secondaryArchSuffix cmd:python$pythonVersion cmd:pkg_config$secondaryArchSuffix " done BUILD() { for i in "${!PYTHON_VERSIONS[@]}"; do pythonVersion=${PYTHON_VERSIONS[$i]} python=python$pythonVersion $python -m build --wheel --skip-dependency-check --no-isolation done } INSTALL() { for i in "${!PYTHON_VERSIONS[@]}"; do pythonVersion=${PYTHON_VERSIONS[$i]} pythonPackage=python${pythonVersion//.} python=python$pythonVersion # Wheel's name is in the form: "numpy-2.2.1-cp310-cp310-haiku_1_x86_64.whl" $python -m installer -p $prefix dist/*-cp${pythonVersion//.}-*.whl # Version suffix all the scripts for f in $binDir/*; do mv $f $f-$pythonVersion done # And provide suffix-less symlinks for the default version if [ $pythonVersion = $defaultVersion ]; then for f in $binDir/*; do ln -sr $f ${f%-$pythonVersion} done fi packageEntries $pythonPackage \ $prefix/lib/python* \ $prefix/bin done }