blob: 4e1e34e8df32df943a2e5168e7b7b1fe1098c53c [file] [log] [blame]
Andrew Geissler517393d2023-01-13 08:55:19 -06001SUMMARY = "A sophisticated Numeric Processing Package for Python"
2HOMEPAGE = "https://numpy.org/"
3DESCRIPTION = "NumPy is the fundamental package needed for scientific computing with Python."
4SECTION = "devel/python"
5LICENSE = "BSD-3-Clause & BSD-2-Clause & PSF-2.0 & Apache-2.0 & MIT"
Andrew Geissler220dafd2023-10-04 10:18:08 -05006LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a752eb20459cf74a9d84ee4825e8317c"
Andrew Geissler517393d2023-01-13 08:55:19 -06007
8SRCNAME = "numpy"
9
10SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${SRCNAME}-${PV}.tar.gz \
11 file://0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch \
12 file://0001-numpy-core-Define-RISCV-32-support.patch \
Andrew Geissler220dafd2023-10-04 10:18:08 -050013 file://fix_reproducibility.patch \
Andrew Geissler517393d2023-01-13 08:55:19 -060014 file://run-ptest \
15 "
Andrew Geissler220dafd2023-10-04 10:18:08 -050016SRC_URI[sha256sum] = "f93fc78fe8bf15afe2b8d6b6499f1c73953169fad1e9a8dd086cdff3190e7fdf"
Andrew Geissler517393d2023-01-13 08:55:19 -060017
18GITHUB_BASE_URI = "https://github.com/numpy/numpy/releases"
19UPSTREAM_CHECK_REGEX = "releases/tag/v?(?P<pver>\d+(\.\d+)+)$"
20
21DEPENDS += "python3-cython-native"
22
23inherit ptest setuptools3 github-releases
24
25S = "${WORKDIR}/numpy-${PV}"
26
27CLEANBROKEN = "1"
28
29do_compile:prepend() {
30 export NPY_DISABLE_SVML=1
31}
32
33# Unfortunately the following pyc files are non-deterministc due to 'frozenset'
34# being written without strict ordering, even with PYTHONHASHSEED = 0
35# Upstream is discussing ways to solve the issue properly, until then let's
36# just not install the problematic files.
37# More info: http://benno.id.au/blog/2013/01/15/python-determinism
38do_install:append() {
39 rm ${D}${PYTHON_SITEPACKAGES_DIR}/numpy/typing/tests/data/pass/__pycache__/literal.cpython*
40}
41
42FILES:${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/numpy/core/lib/*.a ${PYTHON_SITEPACKAGES_DIR}/numpy/random/lib/*.a"
43
44# install what is needed for numpy.test()
45RDEPENDS:${PN} = "${PYTHON_PN}-unittest \
46 ${PYTHON_PN}-difflib \
47 ${PYTHON_PN}-pprint \
48 ${PYTHON_PN}-pickle \
49 ${PYTHON_PN}-shell \
50 ${PYTHON_PN}-doctest \
51 ${PYTHON_PN}-datetime \
52 ${PYTHON_PN}-distutils \
53 ${PYTHON_PN}-misc \
54 ${PYTHON_PN}-mmap \
55 ${PYTHON_PN}-netclient \
56 ${PYTHON_PN}-numbers \
57 ${PYTHON_PN}-pydoc \
58 ${PYTHON_PN}-pkgutil \
59 ${PYTHON_PN}-email \
60 ${PYTHON_PN}-compression \
61 ${PYTHON_PN}-ctypes \
62 ${PYTHON_PN}-threading \
63 ${PYTHON_PN}-multiprocessing \
64 ${PYTHON_PN}-json \
65"
66RDEPENDS:${PN}-ptest += "${PYTHON_PN}-pytest \
67 ${PYTHON_PN}-hypothesis \
68 ${PYTHON_PN}-sortedcontainers \
69 ${PYTHON_PN}-resource \
Andrew Geisslerfc113ea2023-03-31 09:59:46 -050070 ${PYTHON_PN}-typing-extensions \
Andrew Geissler517393d2023-01-13 08:55:19 -060071 ldd \
72"
73
74BBCLASSEXTEND = "native nativesdk"