xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-devtools/python/python3-numpy_1.22.3.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunSUMMARY = "A sophisticated Numeric Processing Package for Python"
2*4882a593SmuzhiyunHOMEPAGE = "https://numpy.org/"
3*4882a593SmuzhiyunDESCRIPTION = "NumPy is the fundamental package needed for scientific computing with Python."
4*4882a593SmuzhiyunSECTION = "devel/python"
5*4882a593SmuzhiyunLICENSE = "BSD-3-Clause & BSD-2-Clause & PSF-2.0 & Apache-2.0 & MIT"
6*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8026691468924fb6ec155dadfe2a1a7f"
7*4882a593Smuzhiyun
8*4882a593SmuzhiyunSRCNAME = "numpy"
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunSRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/v${PV}/${SRCNAME}-${PV}.tar.gz \
11*4882a593Smuzhiyun           file://0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch \
12*4882a593Smuzhiyun           file://0001-numpy-core-Define-RISCV-32-support.patch \
13*4882a593Smuzhiyun           file://run-ptest \
14*4882a593Smuzhiyun           "
15*4882a593SmuzhiyunSRC_URI[sha256sum] = "a906c0b4301a3d62ccf66d058fe779a65c1c34f6719ef2058f96e1856f48bca5"
16*4882a593Smuzhiyun
17*4882a593SmuzhiyunUPSTREAM_CHECK_URI = "https://github.com/numpy/numpy/releases"
18*4882a593SmuzhiyunUPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
19*4882a593Smuzhiyun
20*4882a593SmuzhiyunDEPENDS += "python3-cython-native"
21*4882a593Smuzhiyun
22*4882a593Smuzhiyuninherit ptest setuptools3
23*4882a593Smuzhiyun
24*4882a593SmuzhiyunS = "${WORKDIR}/numpy-${PV}"
25*4882a593Smuzhiyun
26*4882a593SmuzhiyunCLEANBROKEN = "1"
27*4882a593Smuzhiyun
28*4882a593Smuzhiyundo_compile:prepend() {
29*4882a593Smuzhiyun    export NPY_DISABLE_SVML=1
30*4882a593Smuzhiyun}
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun# Unfortunately the following pyc files are non-deterministc due to 'frozenset'
33*4882a593Smuzhiyun# being written without strict ordering, even with PYTHONHASHSEED = 0
34*4882a593Smuzhiyun# Upstream is discussing ways to solve the issue properly, until then let's
35*4882a593Smuzhiyun# just not install the problematic files.
36*4882a593Smuzhiyun# More info: http://benno.id.au/blog/2013/01/15/python-determinism
37*4882a593Smuzhiyundo_install:append() {
38*4882a593Smuzhiyun	rm ${D}${PYTHON_SITEPACKAGES_DIR}/numpy/typing/tests/data/pass/__pycache__/literal.cpython*
39*4882a593Smuzhiyun}
40*4882a593Smuzhiyun
41*4882a593SmuzhiyunFILES:${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/numpy/core/lib/*.a ${PYTHON_SITEPACKAGES_DIR}/numpy/random/lib/*.a"
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun# install what is needed for numpy.test()
44*4882a593SmuzhiyunRDEPENDS:${PN} = "${PYTHON_PN}-unittest \
45*4882a593Smuzhiyun                  ${PYTHON_PN}-difflib \
46*4882a593Smuzhiyun                  ${PYTHON_PN}-pprint \
47*4882a593Smuzhiyun                  ${PYTHON_PN}-pickle \
48*4882a593Smuzhiyun                  ${PYTHON_PN}-shell \
49*4882a593Smuzhiyun                  ${PYTHON_PN}-doctest \
50*4882a593Smuzhiyun                  ${PYTHON_PN}-datetime \
51*4882a593Smuzhiyun                  ${PYTHON_PN}-distutils \
52*4882a593Smuzhiyun                  ${PYTHON_PN}-misc \
53*4882a593Smuzhiyun                  ${PYTHON_PN}-mmap \
54*4882a593Smuzhiyun                  ${PYTHON_PN}-netclient \
55*4882a593Smuzhiyun                  ${PYTHON_PN}-numbers \
56*4882a593Smuzhiyun                  ${PYTHON_PN}-pydoc \
57*4882a593Smuzhiyun                  ${PYTHON_PN}-pkgutil \
58*4882a593Smuzhiyun                  ${PYTHON_PN}-email \
59*4882a593Smuzhiyun                  ${PYTHON_PN}-compression \
60*4882a593Smuzhiyun                  ${PYTHON_PN}-ctypes \
61*4882a593Smuzhiyun                  ${PYTHON_PN}-threading \
62*4882a593Smuzhiyun                  ${PYTHON_PN}-multiprocessing \
63*4882a593Smuzhiyun                  ${PYTHON_PN}-json \
64*4882a593Smuzhiyun"
65*4882a593SmuzhiyunRDEPENDS:${PN}-ptest += "${PYTHON_PN}-pytest \
66*4882a593Smuzhiyun                         ${PYTHON_PN}-hypothesis \
67*4882a593Smuzhiyun                         ${PYTHON_PN}-sortedcontainers \
68*4882a593Smuzhiyun                         ${PYTHON_PN}-resource \
69*4882a593Smuzhiyun                         ldd \
70*4882a593Smuzhiyun"
71*4882a593Smuzhiyun
72*4882a593SmuzhiyunBBCLASSEXTEND = "native nativesdk"
73