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