diff --git a/.oebuild/manifest.yaml b/.oebuild/manifest.yaml index 1410f3dd3df70e0cc3c99b4e3b3aac1cb21432c4..8ebd3276899e1e890e52dd0005b2ac9e5b66b127 100644 --- a/.oebuild/manifest.yaml +++ b/.oebuild/manifest.yaml @@ -75,6 +75,9 @@ manifest_list: angles: remote_url: https://gitee.com/src-openeuler/angles.git version: 8dbc30a4776b2e3c66714f8f22424ed97337f102 + ansible: + remote_url: https://gitee.com/src-openeuler/ansible.git + version: f6ee39b30ecba3e344920780489fbc96b7cc6439 asio: remote_url: https://gitee.com/src-openeuler/asio.git version: 83ca23a30baf73865313fb81a2b1e675192bfb44 @@ -1064,7 +1067,7 @@ manifest_list: version: 42e783e24b0a018f81bb6c838ca7532862528a07 oee_archive: remote_url: https://gitee.com/openeuler/oee_archive.git - version: 81c49885def8384510c8878015bed761f932f97d + version: 47a7c941bad0100b291352db561ff880b66927ef ompl: remote_url: https://gitee.com/src-openeuler/ompl.git version: 42759f06c9a8d712a5ba86f1f3b22a569ec81232 @@ -1215,6 +1218,9 @@ manifest_list: python-blinker: remote_url: https://gitee.com/src-openeuler/python-blinker.git version: ea4f9c448825469f94824af1ec9e0a575d3073b5 + python-calver: + remote_url: https://gitee.com/src-openeuler/python-calver.git + version: 662e8c74d26d81a934512d6b17bfe01739244c41 python-click: remote_url: https://gitee.com/src-openeuler/python-click.git version: 972b6f0ae7cdb98c4e865793b259424102064fb1 @@ -1248,6 +1254,15 @@ manifest_list: python-gitdb: remote_url: https://gitee.com/src-openeuler/python-gitdb.git version: 6b9614006f4a6c259cfb899fac98aeb05158ed4b + python-hatchling: + remote_url: https://gitee.com/src-openeuler/python-hatchling.git + version: 1ba7ea9ea4b8fc60c6bf9f25e0823fa1a190fab7 + python-hatch_fancy_pypi_readme: + remote_url: https://gitee.com/src-openeuler/python-hatch-fancy-pypi-readme.git + version: 2bc6e6905d98987ae74f2a4838a167dfbbd09e24 + python-hatch_vcs: + remote_url: https://gitee.com/src-openeuler/python-hatch-vcs.git + version: 018075b44ae38123d20a8b48e13cc692f1bfbd37 python-humanfriendly: remote_url: https://gitee.com/src-openeuler/python-humanfriendly.git version: 08a6f88833ba4f41057974c8fb7221ce2b1973bc @@ -1259,10 +1274,10 @@ manifest_list: version: 92f8496912d5a344c659ea37feac57195f57eddd python-iniparse: remote_url: https://gitee.com/src-openeuler/python-iniparse.git - version: 7f933373d44b7df49933236aa77939542e95ce39 + version: 0d1bc911db7baa0bb3a2abdc9312d891a3c6c9e9 python-jinja2: remote_url: https://gitee.com/src-openeuler/python-jinja2.git - version: c096cefa76a079fd851cebb12a2f55f477035484 + version: c721c961aa99ad95b80f8b4aaf47fa2afe6ae526 python-lark-parser: remote_url: https://gitee.com/src-openeuler/python-lark-parser.git version: f7dc722c6e96f98dd0069fc708868d3c276157d9 @@ -1280,10 +1295,13 @@ manifest_list: version: a4863f6ee37ea430e851bf1da5b7db51b9d310fc python-mock: remote_url: https://gitee.com/src-openeuler/python-mock.git - version: 83a1c8f1587b295887f606eab4bf57f1ee6c5277 + version: 1b8dfdce67b0b180c8e9cfb0b905250ebde9db85 python-more-itertools: remote_url: https://gitee.com/src-openeuler/python-more-itertools.git version: 7fb647f672955a07e81744381e8a922f6734173e + python-netaddr: + remote_url: https://gitee.com/src-openeuler/python-netaddr.git + version: 695bed2adf8814dd71407bf8575b1adb7a64d5a2 python-netifaces: remote_url: https://gitee.com/src-openeuler/python-netifaces.git version: 1aba8efda29a28c4b502a6d5789fb76d847d54bb @@ -1293,6 +1311,9 @@ manifest_list: python-pathlib2: remote_url: https://gitee.com/src-openeuler/python-pathlib2.git version: 678955fa7a0433bd52acb1b5f85c4d625ef6e453 + python-pathspec: + remote_url: https://gitee.com/src-openeuler/python-pathspec.git + version: 82ebff9fec724c0f4d0a337a41bff715d457e4fc python-pbr: remote_url: https://gitee.com/src-openeuler/python-pbr.git version: 70cd76dce9121a5d0bae8742ba7cdfd49fee4871 @@ -1307,7 +1328,7 @@ manifest_list: version: 66541e9b0acc14bf099effcee75cb98157a4ecf3 python-prettytable: remote_url: https://gitee.com/src-openeuler/python-prettytable.git - version: f7acfcc543ed569c4951b6fdbd8b85388c589dd7 + version: 7fc2e0f7c55b3650129ee897a3538765942694dd python-psutil: remote_url: https://gitee.com/src-openeuler/python-psutil.git version: 1392ee6b443778adf720be524fb3e9879e31538b @@ -1319,10 +1340,13 @@ manifest_list: version: 4ed2696baa82bbf7417fd248d08838cd8f357a82 python-pygments: remote_url: https://gitee.com/src-openeuler/python-pygments.git - version: 24e1f8e4f26a729bdcdbb7d5299b704f658f0b60 + version: 538c5c7f8991daf1f5d0d904f69353c315ec1766 python-pyperclip: remote_url: https://gitee.com/src-openeuler/python-pyperclip.git version: cb041fe487585defd152683ca01d5cbc4823b3b1 + python-pyproject_hooks: + remote_url: https://gitee.com/src-openeuler/pyproject-hooks.git + version: e85ab905196091b0f927413bbc247b9f95b98a1a python-setuptools: remote_url: https://gitee.com/src-openeuler/python-setuptools.git version: fc139c9624dbb0959399a538ae9587ff89a6eafe @@ -1347,6 +1371,9 @@ manifest_list: python-tomli: remote_url: https://gitee.com/src-openeuler/python-tomli.git version: b6f38e4209a930cfce87d2a7a0afaa4116fcf8d4 + python-trove-classifiers: + remote_url: https://gitee.com/src-openeuler/python-trove-classifiers.git + version: e3d6658e7e2149b79363a858b51dbaf6e443283d python-wheel: remote_url: https://gitee.com/src-openeuler/python-wheel.git version: e95f83ca70f66df15a98dd3abce118fe967ca096 @@ -1364,10 +1391,10 @@ manifest_list: version: 11c4347339cb998201af161ea3146014a508c47f python-attrs: remote_url: https://gitee.com/src-openeuler/python-attrs.git - version: 4f3b44809131fca392bc1daedda76a21ebc66944 + version: cd3b0ed93480eeb78b496dadc563ff8c165a20f7 python3: remote_url: https://gitee.com/src-openeuler/python3.git - version: 5f848e0a95c52a971c1d11e6a4910905320ae73e + version: 2437090cb22413f516fd3a5a7ef5d5d26385057d python3-catkin-pkg: remote_url: https://gitee.com/src-openeuler/python-catkin_pkg.git version: 03beb5f5a7e79a6d54c9ce29754be8cc753f8252 @@ -1913,7 +1940,7 @@ manifest_list: version: 1d04472046d0225e013dd7e18c62dddf82025969 yocto-poky: remote_url: https://gitee.com/openeuler/yocto-poky.git - version: 7b754892121f91a63f5bd6f2b7d89e608589fba9 + version: 4bf0e3ea7a5cd4577ae43c510870f235a39eedc0 yocto-pseudo: remote_url: https://gitee.com/src-openeuler/yocto-pseudo.git version: 3c4978a07fbb5a0c6288e77ae5b24ee33ddf34f9 diff --git a/meta-openeuler/dynamic-layers/meta-python/recipes-devtools/python/python3-cmd2_%.bbappend b/meta-openeuler/dynamic-layers/meta-python/recipes-devtools/python/python3-cmd2_%.bbappend index b92e3cdf7fa4493cf5f432448d44c491241c662b..ff66f0f8090d2a7bdf1a5832a421a943d08c9271 100644 --- a/meta-openeuler/dynamic-layers/meta-python/recipes-devtools/python/python3-cmd2_%.bbappend +++ b/meta-openeuler/dynamic-layers/meta-python/recipes-devtools/python/python3-cmd2_%.bbappend @@ -10,5 +10,4 @@ require pypi-src-openeuler.inc FILESEXTRAPATHS:prepend := "${THISDIR}/python3-cmd2/:" SRC_URI:append = " \ file://0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch \ - file://backport-Fix-Nonetype-error-when-building-with-PyInstaller-and-no-console-flag-2.4.3.patch \ " diff --git a/meta-openeuler/dynamic-layers/meta-python/recipes-devtools/python/python3-mock_%.bbappend b/meta-openeuler/dynamic-layers/meta-python/recipes-devtools/python/python3-mock_%.bbappend index 584caf0c6bc8ebaf4e6eee8ed8ec47c9e45dd878..9a2a79bbec6a85808bb236bcf5b395e65255443f 100644 --- a/meta-openeuler/dynamic-layers/meta-python/recipes-devtools/python/python3-mock_%.bbappend +++ b/meta-openeuler/dynamic-layers/meta-python/recipes-devtools/python/python3-mock_%.bbappend @@ -1,4 +1,4 @@ -PV = "4.0.3" +PV = "5.1.0" SRC_URI[md5sum] = "aa1da7f967fc9a23b8f2ef76b9793065" SRC_URI[sha256sum] = "7d3fbbde18228f4ff2f1f119a45cdffa458b4c0dee32eb4d2bb2f82554bac7bc" require pypi-src-openeuler.inc diff --git a/meta-openeuler/dynamic-layers/meta-python/recipes-devtools/python/python3-netaddr_%.bbappend b/meta-openeuler/dynamic-layers/meta-python/recipes-devtools/python/python3-netaddr_%.bbappend new file mode 100644 index 0000000000000000000000000000000000000000..b6c1cd74e11ba63625bd57409b63c70dc64828f6 --- /dev/null +++ b/meta-openeuler/dynamic-layers/meta-python/recipes-devtools/python/python3-netaddr_%.bbappend @@ -0,0 +1,12 @@ +PV = "0.10.1" + +# repo name containes "python3" +require pypi-src-openeuler.inc + +# for 0.10.1 +RDEPENDS:${PN} += " \ + python3-io \ +" + +SRC_URI[sha256sum] = "f4da4222ca8c3f43c8e18a8263e5426c750a3a837fdfeccf74c68d0408eaa3bf" +SRC_URI:append = " file://disable-test-oui-information.patch" diff --git a/meta-openeuler/dynamic-layers/meta-python/recipes-devtools/python/python3-prettytable_%.bbappend b/meta-openeuler/dynamic-layers/meta-python/recipes-devtools/python/python3-prettytable_%.bbappend index 9aa8c7578b8edcc2600cc2da99d9ee28b84ad21a..dc4f9ec5afbd776d887c7f52f79d341b6c82b530 100644 --- a/meta-openeuler/dynamic-layers/meta-python/recipes-devtools/python/python3-prettytable_%.bbappend +++ b/meta-openeuler/dynamic-layers/meta-python/recipes-devtools/python/python3-prettytable_%.bbappend @@ -1,16 +1,6 @@ -PV = "2.4.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=c9a6829fcd174d9535b46211917c7671" -SRC_URI[md5sum] = "c4784a3ea8bd6b326932d112458e051a" -SRC_URI[sha256sum] = "18e56447f636b447096977d468849c1e2d3cfa0af8e7b5acfcf83a64790c0aca" +PV = "3.9.0" OPENEULER_LOCAL_NAME = "python-prettytable" SRC_URI:prepend = "file://prettytable-${PV}.tar.gz " - -# remove the setup_requires for setuptools-scm(same as python3-pytest): -# The setup_requires argument forces the download of the egg file for setuptools-scm -# during the do_compile phase. This download is incompatible with the typical fetch -# and mirror structure. The only usage of scm is the generation of the _version.py -# file and in the release tarball it is already correctly created -FILESEXTRAPATHS:prepend := "${THISDIR}/python3-prettytable/:" -SRC_URI:append = "file://0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch" +SRC_URI:remove = "file://run-ptest" diff --git a/meta-openeuler/dynamic-layers/meta-python/recipes-devtools/python/python3-prettytable_3.9.0.bb b/meta-openeuler/dynamic-layers/meta-python/recipes-devtools/python/python3-prettytable_3.9.0.bb new file mode 100644 index 0000000000000000000000000000000000000000..c1e394d9b3e4f827155c64dedf3f7aada234123a --- /dev/null +++ b/meta-openeuler/dynamic-layers/meta-python/recipes-devtools/python/python3-prettytable_3.9.0.bb @@ -0,0 +1,43 @@ +SUMMARY = "Python library for displaying tabular data in a ASCII table format" +HOMEPAGE = "http://code.google.com/p/prettytable" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c9a6829fcd174d9535b46211917c7671" + +SRC_URI[sha256sum] = "f4ed94803c23073a90620b201965e5dc0bccf1760b7a7eaf3158cab8aaffdf34" + +do_install:append() { + perm_files=`find "${D}${PYTHON_SITEPACKAGES_DIR}/" -name "*.txt" -o -name "PKG-INFO"` + for f in $perm_files; do + chmod 644 "${f}" + done +} + +BBCLASSEXTEND = "native nativesdk" +inherit pypi ptest python_hatchling + +SRC_URI += " \ + file://run-ptest \ +" + +DEPENDS += "\ + ${PYTHON_PN}-hatch-vcs-native \ +" + +RDEPENDS:${PN} += " \ + ${PYTHON_PN}-math \ + ${PYTHON_PN}-html \ + ${PYTHON_PN}-wcwidth \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-compression \ + ${PYTHON_PN}-importlib-metadata \ +" + +RDEPENDS:${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-pytest-lazy-fixture \ + ${PYTHON_PN}-sqlite3 \ +" + +do_install_ptest() { + cp -f ${S}/tests/test_prettytable.py ${D}${PTEST_PATH}/ +} diff --git a/meta-openeuler/recipes-devtools/python/python-ansible.inc b/meta-openeuler/recipes-devtools/python/python-ansible.inc new file mode 100644 index 0000000000000000000000000000000000000000..0bb663ae2b7360fc317375d5002c4121ffb7a6b6 --- /dev/null +++ b/meta-openeuler/recipes-devtools/python/python-ansible.inc @@ -0,0 +1,76 @@ +DESCRIPTION = "Ansible is a simple IT automation platform that makes your applications and systems easier to deploy." +HOMEPAGE = "https://github.com/ansible/ansible/" +SECTION = "devel/python" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a" + +SRCNAME = "ansible" + +SRC_URI = "http://releases.ansible.com/ansible/${SRCNAME}-${PV}.tar.gz" + +SRC_URI[md5sum] = "b1be8f05864a07c06b8a767dcd48ba1b" +SRC_URI[sha256sum] = "cd4b8f53720fcd0c351156b840fdd15ecfbec22c951b5406ec503de49d40b9f5" + + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +ANSIBLE_WHITELIST_MODULES ?= "commands files system network/ovs __pycache__ service" + +do_install:append() { + set +e + + # install hosts and conf + install -d ${D}/${sysconfdir}/ansible + + # There is no default inventory configuration installed for ansible, + # so we use the example as a template to improve OOBE. + install ${S}/examples/hosts ${D}/${sysconfdir}/ansible/ + install ${S}/examples/ansible.cfg ${D}/${sysconfdir}/ansible/ + + # do not gather machine's information, which could reduce setup time + sed -i "s|^#gathering = implicit|gathering = explicit|g" \ + ${D}/${sysconfdir}/ansible/ansible.cfg + + for d in $(ls ${D}/${libdir}/python${PYTHON_BASEVERSION}/site-packages/ansible/modules); do + if [ -d ${D}/${libdir}/python${PYTHON_BASEVERSION}/site-packages/ansible/modules/$d ]; then + match= + rm_target= + for w in ${ANSIBLE_WHITELIST_MODULES}; do + m=$(echo $w | grep $d) + if [ $? -eq 0 ]; then + match=t + match_word=$m + fi + done + if [ -n "$match" ]; then + echo $match_word | grep -q "/" + if [ $? -eq 0 ]; then + for d2 in $(ls ${D}/${libdir}/python${PYTHON_BASEVERSION}/site-packages/ansible/modules/$d); do + if [ -d ${D}/${libdir}/python${PYTHON_BASEVERSION}/site-packages/ansible/modules/$d/$d2 ]; then + sub_remove=t + for w in ${ANSIBLE_WHITELIST_MODULES}; do + m=$(echo $w | grep $d2) + if [ $? -eq 0 ]; then + sub_remove= + fi + done + if [ -n "$sub_remove" ]; then + echo "[info]: removing $d/$d2" + rm -rf ${D}/${libdir}/python${PYTHON_BASEVERSION}/site-packages/ansible/modules/$d/$d2 + else + echo "[info]: whitlisting $d/$d2" + fi + fi + done + else + echo "[info]: whitlisting $d" + fi + else + echo "[info]: removing $d" + rm -rf ${D}/${libdir}/python${PYTHON_BASEVERSION}/site-packages/ansible/modules/$d + fi + fi + done +} + +CLEANBROKEN = "1" diff --git a/meta-openeuler/recipes-devtools/python/python3-ansible_%.bbappend b/meta-openeuler/recipes-devtools/python/python3-ansible_%.bbappend new file mode 100644 index 0000000000000000000000000000000000000000..0eb4d0da45662d0f29f74fef79d98dc7919b9928 --- /dev/null +++ b/meta-openeuler/recipes-devtools/python/python3-ansible_%.bbappend @@ -0,0 +1,21 @@ +PV = "2.9.27" + +OPENEULER_LOCAL_NAME = "ansible" +SRC_URI[sha256sum] = "479159e50b3bd90920d06bc59410c3a51d3f9be9b4e1029e11d1e4a2d0705736" + +# From src-openeuler +SRC_URI = " \ + file://ansible-${PV}.tar.gz \ + file://ansible-2.9.22-rocky.patch \ + file://ansible-2.9.6-disable-test_build_requirement_from_path_no_version.patch \ + file://fix-python-3.9-compatibility.patch \ + file://ansible-2.9.23-sphinx4.patch \ + file://hostname-module-support-openEuler.patch \ + file://Fix-build-error-for-sphinx-7.0.patch \ + file://CVE-2024-0690.patch \ + file://CVE-2024-8775.patch \ + file://CVE-2024-9902.patch \ + file://CVE-2022-3697.patch \ + file://CVE-2023-5115.patch \ + file://CVE-2023-5764.patch \ +" diff --git a/meta-openeuler/recipes-devtools/python/python3-ansible_2.3.1.0.bb b/meta-openeuler/recipes-devtools/python/python3-ansible_2.3.1.0.bb new file mode 100644 index 0000000000000000000000000000000000000000..ea0fdbe52004e32ba5dad42e72676ed0f09a1aff --- /dev/null +++ b/meta-openeuler/recipes-devtools/python/python3-ansible_2.3.1.0.bb @@ -0,0 +1,8 @@ +inherit setuptools3 +require python-ansible.inc + +RDEPENDS:${PN} += "python3-pyyaml python3-jinja2 python3-modules" + +SRC_URI += " \ + file://python3-ensure-py-scripts-use-py3-for-shebang.patch \ +" diff --git a/meta-openeuler/recipes-devtools/python/python3-attrs_%.bbappend b/meta-openeuler/recipes-devtools/python/python3-attrs_%.bbappend index 51b1705ce3433eb5548da1ada6eb1dd59a050017..006bc2f043981df620516e46ce0ebfaaea9f6b29 100644 --- a/meta-openeuler/recipes-devtools/python/python3-attrs_%.bbappend +++ b/meta-openeuler/recipes-devtools/python/python3-attrs_%.bbappend @@ -1,5 +1,14 @@ -PV = "22.1.0" +PV = "23.2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=5e55731824cf9205cfabeab9a0600887" require pypi-src-openeuler.inc + +SRC_URI:append = " \ + file://backport-Remove-pytest-deprecated_call.patch \ +" +SRC_URI:remove = " \ + file://0001-test_funcs-skip-test_unknown-for-pytest-8.patch \ + file://0001-conftest.py-disable-deadline.patch \ + file://run-ptest \ +" diff --git a/meta-openeuler/recipes-devtools/python/python3-attrs_23.2.0.bb b/meta-openeuler/recipes-devtools/python/python3-attrs_23.2.0.bb new file mode 100644 index 0000000000000000000000000000000000000000..e39b64306c27bde393f67367484fcba296767b2a --- /dev/null +++ b/meta-openeuler/recipes-devtools/python/python3-attrs_23.2.0.bb @@ -0,0 +1,38 @@ +SUMMARY = "Classes Without Boilerplate" +HOMEPAGE = "http://www.attrs.org/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5e55731824cf9205cfabeab9a0600887" + +SRC_URI[sha256sum] = "935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30" + +inherit pypi ptest python_hatchling + +SRC_URI += " \ + file://0001-test_funcs-skip-test_unknown-for-pytest-8.patch \ + file://0001-conftest.py-disable-deadline.patch \ + file://run-ptest \ +" + +DEPENDS += " \ + python3-hatch-vcs-native \ + python3-hatch-fancy-pypi-readme-native \ +" + +RDEPENDS:${PN}+= " \ + python3-compression \ + python3-crypt \ +" + +RDEPENDS:${PN}-ptest += " \ + python3-hypothesis \ + python3-pytest \ + python3-unittest-automake-output \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ + install ${S}/conftest.py ${D}${PTEST_PATH}/ +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openeuler/recipes-devtools/python/python3-build_%.bbappend b/meta-openeuler/recipes-devtools/python/python3-build_%.bbappend new file mode 100644 index 0000000000000000000000000000000000000000..514d84c8aab909898939cae0ed44a95109af7aa9 --- /dev/null +++ b/meta-openeuler/recipes-devtools/python/python3-build_%.bbappend @@ -0,0 +1,10 @@ +PV = "0.10.0" + +inherit oee-archive + +SRC_URI[sha256sum] = "248a092b06b97a6377ba457264c86c1925a89bbd225da3b03da0c0d42b90974c" + +# upstream source +SRC_URI:prepend = " \ + file://build-${PV}.zip \ + " diff --git a/meta-openeuler/recipes-devtools/python/python3-calver_%.bbappend b/meta-openeuler/recipes-devtools/python/python3-calver_%.bbappend new file mode 100644 index 0000000000000000000000000000000000000000..3b4794b87442a070dfa14ea8563b5d268f1642c3 --- /dev/null +++ b/meta-openeuler/recipes-devtools/python/python3-calver_%.bbappend @@ -0,0 +1,7 @@ +PV = "2022.6.26" + +OPENEULER_LOCAL_NAME = "python-calver" +SRC_URI = "file://calver-${PV}.tar.gz " +SRC_URI[sha256sum] = "e05493a3b17517ef1748fbe610da11f10485faa7c416b9d33fd4a52d74894f8b" + +S = "${WORKDIR}/calver-${PV}" diff --git a/meta-openeuler/recipes-devtools/python/python3-calver_2022.6.26.bb b/meta-openeuler/recipes-devtools/python/python3-calver_2022.6.26.bb new file mode 100644 index 0000000000000000000000000000000000000000..71b5431400b5045635aec38964860368d09cbd7f --- /dev/null +++ b/meta-openeuler/recipes-devtools/python/python3-calver_2022.6.26.bb @@ -0,0 +1,28 @@ +SUMMARY = "Setuptools extension for CalVer package versions" +HOMEPAGE = "https://github.com/di/calver" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRC_URI = " \ + git://github.com/di/calver;branch=master;protocol=https \ + file://run-ptest \ + file://0001-setup.py-hard-code-version.patch \ +" +SRCREV = "3268d8acf2c345f32a1c5f08ba25dc67f76cca81" + +inherit python_setuptools_build_meta ptest + +S = "${WORKDIR}/git" + +RDEPENDS:${PN}-ptest += " \ + python3-pretend \ + python3-pytest \ + python3-unittest-automake-output \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests ${D}${PTEST_PATH}/ +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openeuler/recipes-devtools/python/python3-hatch-fancy-pypi-readme_%.bbappend b/meta-openeuler/recipes-devtools/python/python3-hatch-fancy-pypi-readme_%.bbappend new file mode 100644 index 0000000000000000000000000000000000000000..b3035df7e269e320a05c6dfae58282c60f26bf5c --- /dev/null +++ b/meta-openeuler/recipes-devtools/python/python3-hatch-fancy-pypi-readme_%.bbappend @@ -0,0 +1,5 @@ +PV = "24.1.0" +require pypi-src-openeuler.inc + +SRC_URI[md5sum] = "f5f9e639f066c91f8e623ec6231beae9" +SRC_URI[sha256sum] = "44dd239f1a779b9dcf8ebc9401a611fd7f7e3e14578dcf22c265dfaf7c1514b8" diff --git a/meta-openeuler/recipes-devtools/python/python3-hatch-vcs_%.bbappend b/meta-openeuler/recipes-devtools/python/python3-hatch-vcs_%.bbappend new file mode 100644 index 0000000000000000000000000000000000000000..7f594ef3e45f4bd975ebc9b8b1b02601bfc04ed0 --- /dev/null +++ b/meta-openeuler/recipes-devtools/python/python3-hatch-vcs_%.bbappend @@ -0,0 +1,6 @@ +PV = "0.3.0" +require pypi-src-openeuler.inc + +SRC_URI[sha256sum] = "cec5107cfce482c67f8bc96f18bbc320c9aa0d068180e14ad317bbee5a153fee" + +SRC_URI:append = " file://Fix-setuptools_scm-7.1.0-test-incompatible.patch" diff --git a/meta-openeuler/recipes-devtools/python/python3-hatchling_%.bbappend b/meta-openeuler/recipes-devtools/python/python3-hatchling_%.bbappend new file mode 100644 index 0000000000000000000000000000000000000000..4c8293ebdfeb884452bdb29442dde16dc228f8ac --- /dev/null +++ b/meta-openeuler/recipes-devtools/python/python3-hatchling_%.bbappend @@ -0,0 +1,5 @@ +PV = "1.21.1" +require pypi-src-openeuler.inc + +SRC_URI[sha256sum] = "bba440453a224e7d4478457fa2e8d8c3633765bafa02975a6b53b9bf917980bc" +DEPENDS += "python3-trove-classifiers-native" diff --git a/meta-openeuler/recipes-devtools/python/python3-iniparse_%.bbappend b/meta-openeuler/recipes-devtools/python/python3-iniparse_%.bbappend index e7eb9721aa25698a90a39344c206a3ff3945a66a..4b7cc68954a399681a3495bde32d61cfffec5a86 100644 --- a/meta-openeuler/recipes-devtools/python/python3-iniparse_%.bbappend +++ b/meta-openeuler/recipes-devtools/python/python3-iniparse_%.bbappend @@ -7,7 +7,10 @@ SRC_URI[sha256sum] = "932e5239d526e7acb504017bb707be67019ac428a6932368e685169109 # delete useless patch for version 0.4 SRC_URI:remove = "file://0001-Add-python-3-compatibility.patch " -SRC_URI:prepend = "file://backport-fix-bug-in-classifiers.patch " +SRC_URI:prepend = "file://backport-fix-bug-in-classifiers.patch \ + file://backport-Fix-compatibility-issues-with-Python-3.11.patch \ + file://backport-Fix-tests-with-python-3.12.1.patch \ +" # fix ModuleNotFoundError: No module named 'setuptools' inherit setuptools3 diff --git a/meta-openeuler/recipes-devtools/python/python3-installer_%.bbappend b/meta-openeuler/recipes-devtools/python/python3-installer_%.bbappend index 045bf3f80c2f0294442da02b2cae9b0cff5ea9b0..cedc7d1a8363526738137f999c493f127c9d7058 100644 --- a/meta-openeuler/recipes-devtools/python/python3-installer_%.bbappend +++ b/meta-openeuler/recipes-devtools/python/python3-installer_%.bbappend @@ -1,9 +1,8 @@ -PV = "0.5.1" +PV = "0.6.0" inherit oee-archive -# from version 0.5.1, compare the differences in upstream recipe -SRC_URI[sha256sum] = "f970995ec2bb815e2fdaf7977b26b2091e1e386f0f42eafd5ac811953dc5d445" +SRC_URI[sha256sum] = "b4df8cf5a649ff6f25cb885a7a93662f38229e05f1859db663f752a6203014f6" # upstream source SRC_URI:prepend = " \ diff --git a/meta-openeuler/recipes-devtools/python/python3-jinja2_%.bbappend b/meta-openeuler/recipes-devtools/python/python3-jinja2_%.bbappend index 950bbee7fc0f1b3364351d3e27edfe62ea6de716..e28e2c573ebc8d127cf45905d746f2d599e0ffe1 100644 --- a/meta-openeuler/recipes-devtools/python/python3-jinja2_%.bbappend +++ b/meta-openeuler/recipes-devtools/python/python3-jinja2_%.bbappend @@ -8,3 +8,9 @@ OPENEULER_LOCAL_NAME = "python-jinja2" RDEPENDS:${PN}-ptest += " \ python3-unittest-automake-output \ " + +SRC_URI:append = " \ + file://0001-disallow-invalid-characters-in-keys-to-xmlattr-filte.patch;patchdir=${S}/.. \ + file://backport-CVE-2024-56326.patch;patchdir=${S}/.. \ + file://backport-CVE-2024-56201.patch;patchdir=${S}/.. \ +" diff --git a/meta-openeuler/recipes-devtools/python/python3-more-itertools_9.1.0.bb b/meta-openeuler/recipes-devtools/python/python3-more-itertools_9.1.0.bb deleted file mode 100644 index f5d107c78dbf44dc2955f0b0d208b939ccdb411c..0000000000000000000000000000000000000000 --- a/meta-openeuler/recipes-devtools/python/python3-more-itertools_9.1.0.bb +++ /dev/null @@ -1,29 +0,0 @@ -DESCRIPTION = "More routines for operating on iterables, beyond itertools" -HOMEPAGE = "https://github.com/erikrose/more-itertools" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3396ea30f9d21389d7857719816f83b5" - -SRC_URI[sha256sum] = "cabaa341ad0389ea83c17a94566a53ae4c9d07349861ecb14dc6d0345cf9ac5d" - -inherit pypi python_flit_core ptest - -SRC_URI += " \ - file://run-ptest \ -" - -RDEPENDS:${PN} += " \ - ${PYTHON_PN}-asyncio \ - " - -RDEPENDS:${PN}-ptest += " \ - ${PYTHON_PN}-statistics \ - ${PYTHON_PN}-pytest \ - ${PYTHON_PN}-unittest-automake-output \ - " - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openeuler/recipes-devtools/python/python3-numpy/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch b/meta-openeuler/recipes-devtools/python/python3-numpy/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch deleted file mode 100644 index 00873ea023fb02af67e111668ec74514ff35af12..0000000000000000000000000000000000000000 --- a/meta-openeuler/recipes-devtools/python/python3-numpy/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 27f6687e49bf555fc494d2f14bae6ecd0fa30f14 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Thu, 10 Dec 2015 13:20:30 +0200 -Subject: [PATCH] Don't search /usr and so on for libraries by default to - - avoid host contamination. - -Upstream-Status: Inappropriate (As the code stands, this is a hack) -Signed-off-by: Ross Burton -Signed-off-by: Alexander Kanavin ---- - numpy/distutils/system_info.py | 42 +++++----------------------------- - 1 file changed, 6 insertions(+), 36 deletions(-) - -diff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py -index 82e864a..135246d 100644 ---- a/numpy/distutils/system_info.py -+++ b/numpy/distutils/system_info.py -@@ -323,44 +323,14 @@ if sys.platform == 'win32': - add_system_root(os.path.join(conda_dir, 'Library')) - - else: -- default_lib_dirs = libpaths(['/usr/local/lib', '/opt/lib', '/usr/lib', -- '/opt/local/lib', '/sw/lib'], platform_bits) - default_runtime_dirs = [] -- default_include_dirs = ['/usr/local/include', -- '/opt/include', -- # path of umfpack under macports -- '/opt/local/include/ufsparse', -- '/opt/local/include', '/sw/include', -- '/usr/include/suitesparse'] -- default_src_dirs = ['.', '/usr/local/src', '/opt/src', '/sw/src'] -- -- default_x11_lib_dirs = libpaths(['/usr/X11R6/lib', '/usr/X11/lib', -- '/usr/lib'], platform_bits) -- default_x11_include_dirs = ['/usr/X11R6/include', '/usr/X11/include'] -- -- if os.path.exists('/usr/lib/X11'): -- globbed_x11_dir = glob('/usr/lib/*/libX11.so') -- if globbed_x11_dir: -- x11_so_dir = os.path.split(globbed_x11_dir[0])[0] -- default_x11_lib_dirs.extend([x11_so_dir, '/usr/lib/X11']) -- default_x11_include_dirs.extend(['/usr/lib/X11/include', -- '/usr/include/X11']) -- -- with open(os.devnull, 'w') as tmp: -- try: -- p = subprocess.Popen(["gcc", "-print-multiarch"], stdout=subprocess.PIPE, -- stderr=tmp) -- except (OSError, DistutilsError): -- # OSError if gcc is not installed, or SandboxViolation (DistutilsError -- # subclass) if an old setuptools bug is triggered (see gh-3160). -- pass -- else: -- triplet = str(p.communicate()[0].decode().strip()) -- if p.returncode == 0: -- # gcc supports the "-print-multiarch" option -- default_x11_lib_dirs += [os.path.join("/usr/lib/", triplet)] -- default_lib_dirs += [os.path.join("/usr/lib/", triplet)] - -+ default_lib_dirs = libpaths(['/deadir/lib'], platform_bits) -+ default_include_dirs = ['/deaddir/include'] -+ default_src_dirs = ['.', '/deaddir/src'] -+ -+ default_x11_lib_dirs = libpaths(['/deaddir/lib'], platform_bits) -+ default_x11_include_dirs = ['/deaddir/include'] - - if os.path.join(sys.prefix, 'lib') not in default_lib_dirs: - default_lib_dirs.insert(0, os.path.join(sys.prefix, 'lib')) --- -2.25.1 diff --git a/meta-openeuler/recipes-devtools/python/python3-numpy/0001-numpy-core-Define-RISCV-32-support.patch b/meta-openeuler/recipes-devtools/python/python3-numpy/0001-numpy-core-Define-RISCV-32-support.patch deleted file mode 100644 index 1f2d6584745b82f7535998579991d528cd6dc961..0000000000000000000000000000000000000000 --- a/meta-openeuler/recipes-devtools/python/python3-numpy/0001-numpy-core-Define-RISCV-32-support.patch +++ /dev/null @@ -1,49 +0,0 @@ -From eb6d6579150bf4684603ce377c51e90ad3bb8109 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 15 Nov 2020 15:32:39 -0800 -Subject: [PATCH] numpy/core: Define RISCV-32 support - -Helps compile on riscv32 - -Upstream-Status: Submitted [https://github.com/numpy/numpy/pull/17780] -Signed-off-by: Khem Raj ---- - numpy/core/include/numpy/npy_cpu.h | 3 +++ - numpy/core/include/numpy/npy_endian.h | 1 + - 2 files changed, 4 insertions(+) - -diff --git a/numpy/core/include/numpy/npy_cpu.h b/numpy/core/include/numpy/npy_cpu.h -index 78d229e..04be511 100644 ---- a/numpy/core/include/numpy/npy_cpu.h -+++ b/numpy/core/include/numpy/npy_cpu.h -@@ -19,6 +19,7 @@ - * NPY_CPU_ARCEB - * NPY_CPU_RISCV64 - * NPY_CPU_LOONGARCH -+ * NPY_CPU_RISCV32 - * NPY_CPU_WASM - */ - #ifndef NUMPY_CORE_INCLUDE_NUMPY_NPY_CPU_H_ -@@ -104,6 +105,8 @@ - #define NPY_CPU_ARCEB - #elif defined(__riscv) && defined(__riscv_xlen) && __riscv_xlen == 64 - #define NPY_CPU_RISCV64 -+#elif defined(__riscv) && defined(__riscv_xlen) && __riscv_xlen == 32 -+ #define NPY_CPU_RISCV32 - #elif defined(__loongarch__) - #define NPY_CPU_LOONGARCH - #elif defined(__EMSCRIPTEN__) -diff --git a/numpy/core/include/numpy/npy_endian.h b/numpy/core/include/numpy/npy_endian.h -index 5e58a7f..0926212 100644 ---- a/numpy/core/include/numpy/npy_endian.h -+++ b/numpy/core/include/numpy/npy_endian.h -@@ -49,6 +49,7 @@ - || defined(NPY_CPU_PPC64LE) \ - || defined(NPY_CPU_ARCEL) \ - || defined(NPY_CPU_RISCV64) \ -+ || defined(NPY_CPU_RISCV32) \ - || defined(NPY_CPU_LOONGARCH) \ - || defined(NPY_CPU_WASM) - #define NPY_BYTE_ORDER NPY_LITTLE_ENDIAN --- -2.20.1 diff --git a/meta-openeuler/recipes-devtools/python/python3-numpy/0001-simd.inc.src-Change-NPY_INLINE-to-inline.patch b/meta-openeuler/recipes-devtools/python/python3-numpy/0001-simd.inc.src-Change-NPY_INLINE-to-inline.patch deleted file mode 100644 index bb0075190e75b66e60e095a78002688a9657451e..0000000000000000000000000000000000000000 --- a/meta-openeuler/recipes-devtools/python/python3-numpy/0001-simd.inc.src-Change-NPY_INLINE-to-inline.patch +++ /dev/null @@ -1,134 +0,0 @@ -From f2a722aa30a29709bb9b5f60fc6d20a10fe6b4f5 Mon Sep 17 00:00:00 2001 -From: Mingli Yu -Date: Wed, 28 Jun 2023 17:58:52 +0800 -Subject: [PATCH] simd.inc.src: Change NPY_INLINE to inline -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fixes: - | numpy/core/src/umath/simd.inc.src:977:20: note: called from here - | 977 | @vtype@ zeros = _mm512_setzero_@vsuffix@(); - | ^~~~~~~~~~~~~~~~~~~ - | numpy/core/src/umath/simd.inc.src:596:1: error: inlining failed in call to ‘always_inline’ ‘avx512_get_full_load_mask_ps’: target specific option mismatch - 596 | avx512_get_full_load_mask_ps(void) - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ - | numpy/core/src/umath/simd.inc.src:976:27: note: called from here - 976 | @mask@ load_mask = avx512_get_full_load_mask_@vsuffix@(); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - | /usr/lib/gcc/x86_64-redhat-linux/13/include/avx512fintrin.h:6499:1: error: inlining failed in call to ‘always_inline’ ‘_mm512_loadu_si512’: target specific option mismatch - -Upstream-Status: Inappropriate [The file simd.inc.src have been removed in new version as - https://github.com/numpy/numpy/commit/640e85017aa8eac3e9be68b475acf27d623b16b7] - -Signed-off-by: Mingli Yu ---- - numpy/core/src/umath/simd.inc.src | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - -diff --git a/numpy/core/src/umath/simd.inc.src b/numpy/core/src/umath/simd.inc.src -index d6c9a7e..39aec9a 100644 ---- a/numpy/core/src/umath/simd.inc.src -+++ b/numpy/core/src/umath/simd.inc.src -@@ -61,11 +61,11 @@ - */ - - #if defined HAVE_ATTRIBUTE_TARGET_AVX512F_WITH_INTRINSICS && defined NPY_HAVE_SSE2_INTRINSICS --static NPY_INLINE NPY_GCC_TARGET_AVX512F void -+static inline NPY_GCC_TARGET_AVX512F void - AVX512F_@func@_@TYPE@(@type@*, @type@*, const npy_intp n, const npy_intp stride); - #endif - --static NPY_INLINE int -+static inline int - run_unary_avx512f_@func@_@TYPE@(char **args, const npy_intp *dimensions, const npy_intp *steps) - { - #if defined HAVE_ATTRIBUTE_TARGET_AVX512F_WITH_INTRINSICS && defined NPY_HAVE_SSE2_INTRINSICS -@@ -99,11 +99,11 @@ run_unary_avx512f_@func@_@TYPE@(char **args, const npy_intp *dimensions, const n - */ - - #if defined HAVE_ATTRIBUTE_TARGET_AVX512_SKX_WITH_INTRINSICS && defined NPY_HAVE_SSE2_INTRINSICS && @EXISTS@ --static NPY_INLINE NPY_GCC_TARGET_AVX512_SKX void -+static inline NPY_GCC_TARGET_AVX512_SKX void - AVX512_SKX_@func@_@TYPE@(npy_bool*, @type@*, const npy_intp n, const npy_intp stride); - #endif - --static NPY_INLINE int -+static inline int - run_@func@_avx512_skx_@TYPE@(char **args, npy_intp const *dimensions, npy_intp const *steps) - { - #if defined HAVE_ATTRIBUTE_TARGET_AVX512_SKX_WITH_INTRINSICS && defined NPY_HAVE_SSE2_INTRINSICS && @EXISTS@ -@@ -144,7 +144,7 @@ sse2_@func@_@TYPE@(@type@ *, @type@ *, const npy_intp n); - - #endif - --static NPY_INLINE int -+static inline int - run_@name@_simd_@func@_@TYPE@(char **args, npy_intp const *dimensions, npy_intp const *steps) - { - #if @vector@ && defined NPY_HAVE_SSE2_INTRINSICS -@@ -169,7 +169,7 @@ sse2_@kind@_@TYPE@(npy_bool * op, @type@ * ip1, npy_intp n); - - #endif - --static NPY_INLINE int -+static inline int - run_@kind@_simd_@TYPE@(char **args, npy_intp const *dimensions, npy_intp const *steps) - { - #if @vector@ && defined NPY_HAVE_SSE2_INTRINSICS -@@ -205,7 +205,7 @@ static void - sse2_reduce_@kind@_BOOL(npy_bool * op, npy_bool * ip, npy_intp n); - #endif - --static NPY_INLINE int -+static inline int - run_binary_simd_@kind@_BOOL(char **args, npy_intp const *dimensions, npy_intp const *steps) - { - #if defined NPY_HAVE_SSE2_INTRINSICS -@@ -220,7 +220,7 @@ run_binary_simd_@kind@_BOOL(char **args, npy_intp const *dimensions, npy_intp co - } - - --static NPY_INLINE int -+static inline int - run_reduce_simd_@kind@_BOOL(char **args, npy_intp const *dimensions, npy_intp const *steps) - { - #if defined NPY_HAVE_SSE2_INTRINSICS -@@ -245,7 +245,7 @@ static void - sse2_@kind@_BOOL(npy_bool *, npy_bool *, const npy_intp n); - #endif - --static NPY_INLINE int -+static inline int - run_unary_simd_@kind@_BOOL(char **args, npy_intp const *dimensions, npy_intp const *steps) - { - #if defined NPY_HAVE_SSE2_INTRINSICS -@@ -875,7 +875,7 @@ NPY_FINLINE NPY_GCC_OPT_3 NPY_GCC_TARGET_@ISA@ @vtype@d - */ - - #if defined HAVE_ATTRIBUTE_TARGET_AVX512_SKX_WITH_INTRINSICS && defined NPY_HAVE_SSE2_INTRINSICS --static NPY_INLINE NPY_GCC_TARGET_AVX512_SKX void -+static inline NPY_GCC_TARGET_AVX512_SKX void - AVX512_SKX_@func@_@TYPE@(npy_bool* op, @type@* ip, const npy_intp array_size, const npy_intp steps) - { - const npy_intp stride_ip = steps/(npy_intp)sizeof(@type@); -@@ -954,7 +954,7 @@ AVX512_SKX_@func@_@TYPE@(npy_bool* op, @type@* ip, const npy_intp array_size, co - */ - - #if defined HAVE_ATTRIBUTE_TARGET_AVX512F_WITH_INTRINSICS && defined NPY_HAVE_SSE2_INTRINSICS --static NPY_GCC_OPT_3 NPY_INLINE NPY_GCC_TARGET_AVX512F void -+static NPY_GCC_OPT_3 inline NPY_GCC_TARGET_AVX512F void - AVX512F_@func@_@TYPE@(@type@ * op, - @type@ * ip, - const npy_intp array_size, -@@ -1001,7 +1001,7 @@ AVX512F_@func@_@TYPE@(@type@ * op, - /**end repeat1**/ - - #if defined HAVE_ATTRIBUTE_TARGET_AVX512F_WITH_INTRINSICS && defined NPY_HAVE_SSE2_INTRINSICS --static NPY_GCC_OPT_3 NPY_INLINE NPY_GCC_TARGET_AVX512F void -+static NPY_GCC_OPT_3 inline NPY_GCC_TARGET_AVX512F void - AVX512F_absolute_@TYPE@(@type@ * op, - @type@ * ip, - const npy_intp array_size, --- -2.25.1 \ No newline at end of file diff --git a/meta-openeuler/recipes-devtools/python/python3-numpy/run-ptest b/meta-openeuler/recipes-devtools/python/python3-numpy/run-ptest deleted file mode 100644 index 7a205817f98d16817ad3506fcff9a72a5c05d46f..0000000000000000000000000000000000000000 --- a/meta-openeuler/recipes-devtools/python/python3-numpy/run-ptest +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env python3 - -import numpy -numpy.test(label='full', verbose=2) diff --git a/meta-openeuler/recipes-devtools/python/python3-numpy_1.24.2.bb b/meta-openeuler/recipes-devtools/python/python3-numpy_1.24.2.bb deleted file mode 100644 index 589609625b9e6f9ddb9ecdf0b017348b08a20e2e..0000000000000000000000000000000000000000 --- a/meta-openeuler/recipes-devtools/python/python3-numpy_1.24.2.bb +++ /dev/null @@ -1,74 +0,0 @@ -SUMMARY = "A sophisticated Numeric Processing Package for Python" -HOMEPAGE = "https://numpy.org/" -DESCRIPTION = "NumPy is the fundamental package needed for scientific computing with Python." -SECTION = "devel/python" -LICENSE = "BSD-3-Clause & BSD-2-Clause & PSF-2.0 & Apache-2.0 & MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8026691468924fb6ec155dadfe2a1a7f" - -SRCNAME = "numpy" - -SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${SRCNAME}-${PV}.tar.gz \ - file://0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch \ - file://0001-numpy-core-Define-RISCV-32-support.patch \ - file://0001-simd.inc.src-Change-NPY_INLINE-to-inline.patch \ - file://run-ptest \ - " -SRC_URI[sha256sum] = "003a9f530e880cb2cd177cba1af7220b9aa42def9c4afc2a2fc3ee6be7eb2b22" - -GITHUB_BASE_URI = "https://github.com/numpy/numpy/releases" -UPSTREAM_CHECK_REGEX = "releases/tag/v?(?P\d+(\.\d+)+)$" - -DEPENDS += "python3-cython-native" - -inherit ptest setuptools3 - -S = "${WORKDIR}/numpy-${PV}" - -CLEANBROKEN = "1" - -do_compile:prepend() { - export NPY_DISABLE_SVML=1 -} - -# Unfortunately the following pyc files are non-deterministc due to 'frozenset' -# being written without strict ordering, even with PYTHONHASHSEED = 0 -# Upstream is discussing ways to solve the issue properly, until then let's -# just not install the problematic files. -# More info: http://benno.id.au/blog/2013/01/15/python-determinism -do_install:append() { - rm ${D}${PYTHON_SITEPACKAGES_DIR}/numpy/typing/tests/data/pass/__pycache__/literal.cpython* -} - -FILES:${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/numpy/core/lib/*.a ${PYTHON_SITEPACKAGES_DIR}/numpy/random/lib/*.a" - -# install what is needed for numpy.test() -RDEPENDS:${PN} = "${PYTHON_PN}-unittest \ - ${PYTHON_PN}-difflib \ - ${PYTHON_PN}-pprint \ - ${PYTHON_PN}-pickle \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-doctest \ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-distutils \ - ${PYTHON_PN}-misc \ - ${PYTHON_PN}-mmap \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-pydoc \ - ${PYTHON_PN}-pkgutil \ - ${PYTHON_PN}-email \ - ${PYTHON_PN}-compression \ - ${PYTHON_PN}-ctypes \ - ${PYTHON_PN}-threading \ - ${PYTHON_PN}-multiprocessing \ - ${PYTHON_PN}-json \ -" -RDEPENDS:${PN}-ptest += "${PYTHON_PN}-pytest \ - ${PYTHON_PN}-hypothesis \ - ${PYTHON_PN}-sortedcontainers \ - ${PYTHON_PN}-resource \ - ${PYTHON_PN}-typing-extensions \ - ldd \ -" - -BBCLASSEXTEND = "native nativesdk" \ No newline at end of file diff --git a/meta-openeuler/recipes-devtools/python/python3-pathspec_%.bbappend b/meta-openeuler/recipes-devtools/python/python3-pathspec_%.bbappend new file mode 100644 index 0000000000000000000000000000000000000000..27742c1b07a4558643806d5e49581ec10ede2a7d --- /dev/null +++ b/meta-openeuler/recipes-devtools/python/python3-pathspec_%.bbappend @@ -0,0 +1,4 @@ +PV = "0.11.2" +require pypi-src-openeuler.inc + +SRC_URI[sha256sum] = "e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3" diff --git a/meta-openeuler/recipes-devtools/python/python3-pygments_%.bbappend b/meta-openeuler/recipes-devtools/python/python3-pygments_%.bbappend index 35f6f0a327601a6296f89083d99c087c31cd3594..8f22ca37e1baa66a9393d2d9ed8e419829939db1 100644 --- a/meta-openeuler/recipes-devtools/python/python3-pygments_%.bbappend +++ b/meta-openeuler/recipes-devtools/python/python3-pygments_%.bbappend @@ -1,5 +1,3 @@ require pypi-src-openeuler.inc -OPENEULER_LOCAL_NAME = "python-pygments" - -PV = "2.15.1" +PV = "2.17.2" diff --git a/meta-openeuler/recipes-devtools/python/python3-pygments_2.15.1.bb b/meta-openeuler/recipes-devtools/python/python3-pygments_2.17.2.bb similarity index 61% rename from meta-openeuler/recipes-devtools/python/python3-pygments_2.15.1.bb rename to meta-openeuler/recipes-devtools/python/python3-pygments_2.17.2.bb index dc4b5452ff392f7a8f7c030de8a2914d585383f0..6efc67c2f28bfbb3e0f60a199032e3bf9695ef68 100644 --- a/meta-openeuler/recipes-devtools/python/python3-pygments_2.15.1.bb +++ b/meta-openeuler/recipes-devtools/python/python3-pygments_2.17.2.bb @@ -4,15 +4,10 @@ HOMEPAGE = "http://pygments.org/" LICENSE = "BSD-2-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=36a13c90514e2899f1eba7f41c3ee592" -inherit python_setuptools_build_meta -SRC_URI[sha256sum] = "8ace4d3c1dd481894b2005f560ead0f9f19ee64fe983366be1a21e171d12775c" - -DEPENDS += "\ - ${PYTHON_PN} \ - " - -PYPI_PACKAGE = "Pygments" +inherit python_hatchling +SRC_URI[sha256sum] = "da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367" +UPSTREAM_CHECK_PYPI_PACKAGE = "Pygments" inherit pypi BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openeuler/recipes-devtools/python/python3-pyparsing_3.0.9.bb b/meta-openeuler/recipes-devtools/python/python3-pyparsing_3.0.9.bb deleted file mode 100644 index b858073c3b6312c4302500c92ef5b64a75325cac..0000000000000000000000000000000000000000 --- a/meta-openeuler/recipes-devtools/python/python3-pyparsing_3.0.9.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "Python parsing module" -DESCRIPTION = "The pyparsing module is an alternative approach to creating \ -and executing simple grammars, vs. the traditional lex/yacc approach, or \ -the use of regular expressions. The pyparsing module provides a library of \ -classes that client code uses to construct the grammar directly in Python \ -code." -HOMEPAGE = "https://github.com/pyparsing/pyparsing/" -BUGTRACKER = "https://github.com/pyparsing/pyparsing/issues" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=657a566233888513e1f07ba13e2f47f1" - -SRC_URI[sha256sum] = "2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb" - -UPSTREAM_CHECK_REGEX = "pyparsing-(?P.*)\.tar" - -inherit pypi python_flit_core - -RDEPENDS:${PN} += " \ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-debugger \ - ${PYTHON_PN}-html \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-pprint \ - ${PYTHON_PN}-stringold \ - ${PYTHON_PN}-threading \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openeuler/recipes-devtools/python/python3-pyproject-hooks_%.bbappend b/meta-openeuler/recipes-devtools/python/python3-pyproject-hooks_%.bbappend new file mode 100644 index 0000000000000000000000000000000000000000..4272662c11ac535221218334a56dbdfe7483a562 --- /dev/null +++ b/meta-openeuler/recipes-devtools/python/python3-pyproject-hooks_%.bbappend @@ -0,0 +1,6 @@ +PV = "1.0.0" + +SRC_URI[md5sum] = "69b0b6de189bc04c3f9e304281765741" +SRC_URI[sha256sum] = "f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5" + +require pypi-src-openeuler.inc diff --git a/meta-openeuler/recipes-devtools/python/python3-pyyaml/0001-Fix-builds-with-Cython-3.patch b/meta-openeuler/recipes-devtools/python/python3-pyyaml/0001-Fix-builds-with-Cython-3.patch new file mode 100644 index 0000000000000000000000000000000000000000..a87d588b6a1bf9ebe31b4bfb5ca5d2056713ef19 --- /dev/null +++ b/meta-openeuler/recipes-devtools/python/python3-pyyaml/0001-Fix-builds-with-Cython-3.patch @@ -0,0 +1,54 @@ +From 9cc23db56add79357b8f8257fe6fc0d6879d4579 Mon Sep 17 00:00:00 2001 +From: "Andrew J. Hesford" +Date: Fri, 21 Jul 2023 09:50:00 -0400 +Subject: [PATCH] Fix builds with Cython 3 + +This is a *de minimis* fix for building with Cython 3. Recent Cython<3 +releases provided `Cython.Distutils.build_ext` as an alias to +`Cython.Distutils.old_build_ext.old_build_ext`; Cython 3 drops this +alias and instead uses a wholly new `Cython.Distutils.build_ext` that +does not provide the `cython_sources` function used in `setup.py`. + +Explicitly importing `old_build_ext` preserves the existing behavior for +recent Cython<3 and uses the correct behavior for Cython 3. Should the +import fail (*e.g.*, because the version of Cython available predates +the availability of `old_build_ext`), the import falls back to just +`Cython.Distutils.build_ext`. + +Signed-off-by: Andrew J. Hesford +Upstream-Status: Denied [https://github.com/yaml/pyyaml/pull/731] +Signed-off-by: Alexander Kanavin +--- + pyproject.toml | 2 +- + setup.py | 6 +++++- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/pyproject.toml b/pyproject.toml +index 4bc04c0..2bf5ec8 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -1,3 +1,3 @@ + [build-system] +-requires = ["setuptools", "wheel", "Cython<3.0"] ++requires = ["setuptools", "wheel", "Cython"] + build-backend = "setuptools.build_meta" +diff --git a/setup.py b/setup.py +index 65b0ea0..4461580 100644 +--- a/setup.py ++++ b/setup.py +@@ -82,7 +82,11 @@ if 'sdist' in sys.argv or os.environ.get('PYYAML_FORCE_CYTHON') == '1': + with_cython = True + try: + from Cython.Distutils.extension import Extension as _Extension +- from Cython.Distutils import build_ext as _build_ext ++ try: ++ from Cython.Distutils.old_build_ext import old_build_ext as _build_ext ++ except ImportError: ++ from Cython.Distutils import build_ext as _build_ext ++ + with_cython = True + except ImportError: + if with_cython: +-- +2.39.2 + diff --git a/meta-openeuler/recipes-devtools/python/python3-pyyaml_%.bbappend b/meta-openeuler/recipes-devtools/python/python3-pyyaml_%.bbappend index 8535eacf7e3c9895c3f6dfb1871654ba4ef8b643..e4e215eb02a81fde098b7c675c7b42ef37eecec3 100644 --- a/meta-openeuler/recipes-devtools/python/python3-pyyaml_%.bbappend +++ b/meta-openeuler/recipes-devtools/python/python3-pyyaml_%.bbappend @@ -4,6 +4,7 @@ SRC_URI[md5sum] = "1d19c798f25e58e3e582f0f8c977dbb8" SRC_URI[sha256sum] = "68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2" SRC_URI:prepend = " \ file://PyYAML-${PV}.tar.gz \ - file://Fix-build-Error-due-to-cython-updated.patch \ + file://0001-Fix-builds-with-Cython-3.patch \ " +FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" S = "${WORKDIR}/PyYAML-${PV}" diff --git a/meta-openeuler/recipes-devtools/python/python3-setuptools/0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch b/meta-openeuler/recipes-devtools/python/python3-setuptools/0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch deleted file mode 100644 index d1daeb744f4981327efaefb71750a183b0005ec3..0000000000000000000000000000000000000000 --- a/meta-openeuler/recipes-devtools/python/python3-setuptools/0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff --git a/setuptools/_distutils/sysconfig.py b/setuptools/_distutils/sysconfig.py -index a40a723..14f35e7 100644 ---- a/setuptools/_distutils/sysconfig.py -+++ b/setuptools/_distutils/sysconfig.py -@@ -119,6 +119,8 @@ def get_python_inc(plat_specific=0, prefix=None): - sys.base_exec_prefix -- i.e., ignore 'plat_specific'. - """ - default_prefix = BASE_EXEC_PREFIX if plat_specific else BASE_PREFIX -+ if os.environ.get('STAGING_INCDIR', ""): -+ default_prefix = os.environ['STAGING_INCDIR'].rstrip('include') - resolved_prefix = prefix if prefix is not None else default_prefix - try: - getter = globals()[f'_get_python_inc_{os.name}'] -@@ -238,7 +240,13 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None): - - early_prefix = prefix - -- if prefix is None: -+ if os.environ.get('STAGING_LIBDIR', ""): -+ lib_basename = os.environ['STAGING_LIBDIR'].split('/')[-1] -+ else: -+ lib_basename = "lib" -+ if prefix is None and os.environ.get('STAGING_LIBDIR', ""): -+ prefix = os.environ['STAGING_LIBDIR'].rstrip(lib_basename) -+ elif prefix is None: - if standard_lib: - prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX - else: -@@ -253,7 +261,7 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None): - # Pure Python - libdir = "lib" - implementation = 'pypy' if IS_PYPY else 'python' -- libpython = os.path.join(prefix, libdir, implementation + get_python_version()) -+ libpython = os.path.join(prefix, lib_basename, implementation + get_python_version()) - return _posix_lib(standard_lib, libpython, early_prefix, prefix) - elif os.name == "nt": - if standard_lib: diff --git a/meta-openeuler/recipes-devtools/python/python3-setuptools/0001-conditionally-do-not-fetch-code-by-easy_install.patch b/meta-openeuler/recipes-devtools/python/python3-setuptools/0001-conditionally-do-not-fetch-code-by-easy_install.patch deleted file mode 100644 index ec95f959ed90a9c0e1ceb483eebb61379c92c856..0000000000000000000000000000000000000000 --- a/meta-openeuler/recipes-devtools/python/python3-setuptools/0001-conditionally-do-not-fetch-code-by-easy_install.patch +++ /dev/null @@ -1,34 +0,0 @@ - -From 5e603da9c01ccb828a03ea3e82d15599971f794f Mon Sep 17 00:00:00 2001 -From: Hongxu Jia -Date: Tue, 17 Jul 2018 10:13:38 +0800 -Subject: [PATCH] conditionally do not fetch code by easy_install - -If var-NO_FETCH_BUILD is set, do not allow to fetch code from -internet by easy_install. - -Upstream-Status: Inappropriate [oe specific] - -Signed-off-by: Hongxu Jia ---- - setuptools/command/easy_install.py | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py -index 0b8d1159..93308060 100644 ---- a/setuptools/command/easy_install.py -+++ b/setuptools/command/easy_install.py -@@ -644,6 +644,11 @@ class easy_install(Command): - os.path.exists(tmpdir) and _rmtree(tmpdir) - - def easy_install(self, spec, deps=False): -+ if os.environ.get('NO_FETCH_BUILD', None): -+ log.error("ERROR: Do not try to fetch `%s' for building. " -+ "Please add its native recipe to DEPENDS." % spec) -+ return None -+ - with self._tmpdir() as tmpdir: - if not isinstance(spec, Requirement): - if URL_SCHEME(spec): --- -2.41.0 diff --git a/meta-openeuler/recipes-devtools/python/python3-setuptools_%.bbappend b/meta-openeuler/recipes-devtools/python/python3-setuptools_%.bbappend index 071717312403ce3290e8ca4df03bcb815f7dfb4a..806b7539f91fb301d15d020af8629eacf2c71324 100644 --- a/meta-openeuler/recipes-devtools/python/python3-setuptools_%.bbappend +++ b/meta-openeuler/recipes-devtools/python/python3-setuptools_%.bbappend @@ -14,10 +14,6 @@ SRC_URI:remove = " \ SRC_URI[sha256sum] = "baf1fdb41c6da4cd2eae722e135500da913332ab3f2f5c7d33af9b492acb5235" -# the upstream patch -# SRC_URI:append:class-native = " file://0001-conditionally-do-not-fetch-code-by-easy_install.patch" -SRC_URI:append = " file://0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch" - # the openeuler patch SRC_URI:append = " file://bugfix-eliminate-random-order-in-metadata.patch \ file://backport-CVE-2024-6345.patch \ diff --git a/meta-openeuler/recipes-devtools/python/python3-trove-classifiers_%.bbappend b/meta-openeuler/recipes-devtools/python/python3-trove-classifiers_%.bbappend new file mode 100644 index 0000000000000000000000000000000000000000..b10f70ad98a7eeede9fea6a9b43137f8f784de55 --- /dev/null +++ b/meta-openeuler/recipes-devtools/python/python3-trove-classifiers_%.bbappend @@ -0,0 +1,5 @@ +PV = "2024.1.8" +require pypi-src-openeuler.inc + +SRC_URI[sha256sum] = "6e36caf430ff6485c4b57a4c6b364a13f6a898d16b9417c6c37467e59c14b05a" +SRC_URI:remove = "file://run-ptest" diff --git a/meta-openeuler/recipes-devtools/python/python3-trove-classifiers_2024.2.23.bb b/meta-openeuler/recipes-devtools/python/python3-trove-classifiers_2024.2.23.bb new file mode 100644 index 0000000000000000000000000000000000000000..8514a526167f3e100bb3b76ee5d144cb57aff16e --- /dev/null +++ b/meta-openeuler/recipes-devtools/python/python3-trove-classifiers_2024.2.23.bb @@ -0,0 +1,26 @@ +SUMMARY = "Canonical source for classifiers on PyPI (pypi.org)." +HOMEPAGE = "https://github.com/pypa/trove-classifiers" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +SRC_URI[sha256sum] = "8385160a12aac69c93fff058fb613472ed773a24a27eb3cd4b144cfbdd79f38c" + +inherit pypi python_setuptools_build_meta ptest + +DEPENDS += " python3-calver-native" + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS:${PN}-ptest += " \ + python3-pytest \ + python3-unittest-automake-output \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openeuler/recipes-devtools/python/python3/distutils-sysconfig-append-STAGING_LIBDIR-with-lib64-python-sys.patch b/meta-openeuler/recipes-devtools/python/python3/distutils-sysconfig-append-STAGING_LIBDIR-with-lib64-python-sys.patch deleted file mode 100644 index 25cf97e97fb06918f35f307bd6b3c5b1486d5c14..0000000000000000000000000000000000000000 --- a/meta-openeuler/recipes-devtools/python/python3/distutils-sysconfig-append-STAGING_LIBDIR-with-lib64-python-sys.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py -index 046447f..5123040 100644 ---- a/Lib/sysconfig.py -+++ b/Lib/sysconfig.py -@@ -527,6 +527,7 @@ def _init_posix(vars): - name = _get_sysconfigdata_name() - if 'STAGING_LIBDIR' in os.environ: - sys.path.append(os.environ['STAGING_LIBDIR']+'/python-sysconfigdata') -+ sys.path.append(os.environ['STAGING_LIBDIR']+'/../lib64/python-sysconfigdata') - _temp = __import__(name, globals(), locals(), ['build_time_vars'], 0) - build_time_vars = _temp.build_time_vars - vars.update(build_time_vars) diff --git a/meta-openeuler/recipes-devtools/python/python3_%.bbappend b/meta-openeuler/recipes-devtools/python/python3_%.bbappend index 9c0ecdc29bcdfdd67d4c13c2a299ae1b5a68c3ea..21c5812f780f414d0a238905562a9bc5ab7b8647 100644 --- a/meta-openeuler/recipes-devtools/python/python3_%.bbappend +++ b/meta-openeuler/recipes-devtools/python/python3_%.bbappend @@ -1,27 +1,44 @@ -PV = "3.10.9" +PV = "3.11.6" -FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" - - -SRC_URI += "file://Python-3.10.9.tar.xz \ +SRC_URI:prepend = "file://Python-${PV}.tar.xz \ " # remove conflicting patch -SRC_URI:remove = "file://cve-2023-24329.patch" - -SRC_URI:prepend = " file://00001-rpath.patch \ - file://00251-change-user-install-location.patch \ - file://backport-Make-urllib.parse.urlparse-enforce-that-a-scheme-mus.patch \ - file://add-the-sm3-method-for-obtaining-the-salt-value.patch \ - file://fix-CVE-2023-24329.patch \ +SRC_URI:remove = "file://0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch" + +SRC_URI:prepend = " \ + file://00001-rpath.patch \ + file://00251-change-user-install-location.patch \ + file://backport-CVE-2024-0397-gh-114572-Fix-locking-in-cert_store_stats-and-g.patch \ + file://backport-CVE-2024-4032-gh-113171-gh-65056-Fix-private-non-global-IP-ad.patch \ + file://backport-fix_xml_tree_assert_error.patch \ + file://backport-CVE-2024-6923-gh-121650-Encode-newlines-in-headers-and-verify-head.patch \ + file://backport-CVE-2024-7592-gh-123067-Fix-quadratic-complexity-in-parsing-quoted.patch \ + file://backport-CVE-2024-8088-gh-123270-Replaced-SanitizedNames-with-a-more-surgic.patch \ + file://backport-CVE-2024-6232-gh-121285-Remove-backtracking-when-parsing-tarf.patch \ + file://backport-CVE-2024-3219-1-gh-122133-Authenticate-socket-connection-for-so.patch \ + file://backport-CVE-2024-3219-2-gh-122133-Rework-pure-Python-socketpair-tests-t.patch \ + file://backport-CVE-2023-6597-gh-91133-tempfile.TemporaryDirectory-fix-symlin.patch \ + file://backport-CVE-2024-0450-gh-109858-Protect-zipfile-from-quoted-overlap-z.patch \ + file://backport-CVE-2024-9287.patch \ + file://backport-Fix-parsing-errors-in-email-_parseaddr.py.patch \ + file://backport-Revert-fixes-for-CVE-2023-27043.patch \ + file://backport-CVE-2023-27043.patch \ + file://backport-CVE-2025-0938.patch \ + file://add-the-sm3-method-for-obtaining-the-salt-value.patch \ + file://0001-add-loongarch64-support-for-python.patch \ + file://0001-expected_algs-list-to-include-TLS_SM4.patch \ " # add sysconfigdata patch with lib64 to path, else will put error that can not found _sysconfigdata module # the result is libdir in openeuler is /usr/lib64, but in ros is /usr/lib, so if a python package in openeuler # has a relation with a python package in ros, it can not find openeuler python package in /usr/lib path -SRC_URI:append:class-native = " \ - file://distutils-sysconfig-append-STAGING_LIBDIR-with-lib64-python-sys.patch \ -" +# Note: There is no need to patch native python so that it looks in the target sysroot; the same can be +# achieved with just an environment variable. Reference: poky's commit af4284d39d8(python3targetconfig.bbclass: +# use PYTHONPATH to point to the target config) +setup_target_config:append:class-native () { + export PYTHONPATH=${STAGING_LIBDIR}/../lib64/python-sysconfigdata:$PYTHONPATH +} # meta-openeuler layer does not need to build python3-native dependency packages, # but gets them directly from the nativesdk tool