SUMMARY = "orjson is a fast, correct JSON library for Python" HOMEPAGE = "https://pypi.org/project/orjson/" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE-MIT;md5=b377b220f43d747efdec40d69fcaa69d" SRCREV = "6737895a1a4e3e26df0569a40147893a786f9a58" PYPI_SRC_URI = "git://github.com/ijl/orjson;protocol=https;branch=master;tag=${PV};destsuffix=orjson-${PV}" CVE_PRODUCT = "orjson" require ${BPN}-crates.inc inherit pypi python_maturin cargo-update-recipe-crates ptest-python-pytest SRC_URI += " \ file://0001-Guard-avx512-module-with-x86-target-cfg.patch \ file://0002-Guard-x86-feature-detection-macro-in-pystrref-object.patch \ " DEPENDS = "python3-maturin-native" RDEPENDS:${PN} += "python3-maturin python3-mypy" do_compile:prepend() { sed -i "/panic = \"abort\"/d" ${S}/Cargo.toml } do_install_ptest:append() { install -d ${D}${PTEST_PATH}/data cp -rf ${S}/data/* ${D}${PTEST_PATH}/data/ install -d ${D}${PTEST_PATH}/test cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/ # test_dict_empty round-trips a 4096x4096 nested structure through JSON, # materializing ~16.7M real dict objects on loads() (~900MB+ RSS) which # gets OOM-killed on the memory-constrained qemu ptest target. # test_fake.py instantiates Faker with 9 locales at once, pulling in a # similarly large amount of locale provider data, for what is a # Unicode-robustness smoke test rather than core JSON logic. sed -i \ -e "/--automake/ s/$/ --ignore=test\/test_fake.py -k 'not test_dict_empty'/" \ ${D}${PTEST_PATH}/run-ptest } RDEPENDS:${PN}-ptest += "\ python3-dateutil \ python3-dateutil-zoneinfo \ python3-faker \ python3-numpy \ python3-pandas \ python3-pendulum \ python3-psutil \ python3-pytz \ python3-tzdata \ " BBCLASSEXTEND = "native nativesdk"