Patrick Williams | 92b42cb | 2022-09-03 06:53:57 -0500 | [diff] [blame] | 1 | SUMMARY = "A sophisticated Numeric Processing Package for Python" |
| 2 | HOMEPAGE = "https://numpy.org/" |
| 3 | DESCRIPTION = "NumPy is the fundamental package needed for scientific computing with Python." |
| 4 | SECTION = "devel/python" |
| 5 | LICENSE = "BSD-3-Clause & BSD-2-Clause & PSF-2.0 & Apache-2.0 & MIT" |
| 6 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8026691468924fb6ec155dadfe2a1a7f" |
| 7 | |
| 8 | SRCNAME = "numpy" |
| 9 | |
| 10 | SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/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 \ |
| 13 | file://run-ptest \ |
| 14 | file://0001-generate_umath.py-do-not-write-full-path-to-output-f.patch \ |
| 15 | " |
| 16 | SRC_URI[sha256sum] = "b78d00e48261fbbd04aa0d7427cf78d18401ee0abd89c7559bbf422e5b1c7d01" |
| 17 | |
| 18 | UPSTREAM_CHECK_URI = "https://github.com/numpy/numpy/releases" |
| 19 | UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar" |
| 20 | |
| 21 | DEPENDS += "python3-cython-native" |
| 22 | |
| 23 | inherit ptest setuptools3 |
| 24 | |
| 25 | S = "${WORKDIR}/numpy-${PV}" |
| 26 | |
| 27 | CLEANBROKEN = "1" |
| 28 | |
| 29 | do_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 |
| 38 | do_install:append() { |
| 39 | rm ${D}${PYTHON_SITEPACKAGES_DIR}/numpy/typing/tests/data/pass/__pycache__/literal.cpython* |
| 40 | } |
| 41 | |
| 42 | FILES:${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() |
| 45 | RDEPENDS:${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 | " |
| 66 | RDEPENDS:${PN}-ptest += "${PYTHON_PN}-pytest \ |
| 67 | ${PYTHON_PN}-hypothesis \ |
| 68 | ${PYTHON_PN}-sortedcontainers \ |
| 69 | ${PYTHON_PN}-resource \ |
| 70 | ldd \ |
| 71 | " |
| 72 | |
| 73 | BBCLASSEXTEND = "native nativesdk" |