diff options
Diffstat (limited to 'meta/recipes-devtools/python')
245 files changed, 5225 insertions, 1868 deletions
diff --git a/meta/recipes-devtools/python/python-async.inc b/meta/recipes-devtools/python/python-async.inc deleted file mode 100644 index fde864601c..0000000000 --- a/meta/recipes-devtools/python/python-async.inc +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "Python framework to process interdependent tasks in a pool of workers" -HOMEPAGE = "http://github.com/gitpython-developers/async" -SECTION = "devel/python" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=88df8e78b9edfd744953862179f2d14e" - -inherit pypi - -SRC_URI[md5sum] = "9b06b5997de2154f3bc0273f80bcef6b" -SRC_URI[sha256sum] = "ac6894d876e45878faae493b0cf61d0e28ec417334448ac0a6ea2229d8343051" - -RDEPENDS:${PN} += "${PYTHON_PN}-threading" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python-cython.inc b/meta/recipes-devtools/python/python-cython.inc index 5a8ec2a0ff..87a2e88a1a 100644 --- a/meta/recipes-devtools/python/python-cython.inc +++ b/meta/recipes-devtools/python/python-cython.inc @@ -5,38 +5,41 @@ It's designed to bridge the gap between the nice, high-level, easy-to-use world and the messy, low-level world of C." SECTION = "devel/python" LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e23fadd6ceef8c618fc1c65191d846fa" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=61c3ee8961575861fa86c7e62bc9f69c" PYPI_PACKAGE = "Cython" BBCLASSEXTEND = "native nativesdk" -SRC_URI[sha256sum] = "cdf04d07c3600860e8c2ebaad4e8f52ac3feb212453c1764a49ac08c827e8443" +SRC_URI[sha256sum] = "dcc96739331fb854dcf503f94607576cfe8488066c61ca50dfd55836f132de99" UPSTREAM_CHECK_REGEX = "Cython-(?P<pver>.*)\.tar" inherit pypi RDEPENDS:${PN}:class-target += "\ - ${PYTHON_PN}-misc \ - ${PYTHON_PN}-netserver \ - ${PYTHON_PN}-pkgutil \ - ${PYTHON_PN}-pyparsing \ - ${PYTHON_PN}-setuptools \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-xml \ + python3-misc \ + python3-netserver \ + python3-pkgutil \ + python3-pyparsing \ + python3-setuptools \ + python3-shell \ + python3-xml \ " RDEPENDS:${PN}:class-nativesdk += "\ - nativesdk-${PYTHON_PN}-misc \ - nativesdk-${PYTHON_PN}-netserver \ - nativesdk-${PYTHON_PN}-pkgutil \ - nativesdk-${PYTHON_PN}-pyparsing \ - nativesdk-${PYTHON_PN}-setuptools \ - nativesdk-${PYTHON_PN}-shell \ - nativesdk-${PYTHON_PN}-xml \ + nativesdk-python3-misc \ + nativesdk-python3-netserver \ + nativesdk-python3-pkgutil \ + nativesdk-python3-pyparsing \ + nativesdk-python3-setuptools \ + nativesdk-python3-shell \ + nativesdk-python3-xml \ " do_install:append() { # Make sure we use /usr/bin/env python for PYTHSCRIPT in `grep -rIl '^#!.*python' ${D}`; do - sed -i -e '1s|^#!.*|#!/usr/bin/env ${PYTHON_PN}|' $PYTHSCRIPT + sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' $PYTHSCRIPT done + + # remove build paths from generated sources + sed -i -e 's|${WORKDIR}||' ${S}/Cython/*.c ${S}/Cython/Compiler/*.c ${S}/Cython/Plex/*.c } diff --git a/meta/recipes-devtools/python/python-gitdb.inc b/meta/recipes-devtools/python/python-gitdb.inc deleted file mode 100644 index 5b24a1f4a3..0000000000 --- a/meta/recipes-devtools/python/python-gitdb.inc +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "A pure-Python git object database" -HOMEPAGE = "http://github.com/gitpython-developers/gitdb" -SECTION = "devel/python" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=59e5ecb13339a936eedf83282eaf4528" - -inherit pypi - -PYPI_PACKAGE = "gitdb" - -SRC_URI[sha256sum] = "96bf5c08b157a666fec41129e6d327235284cca4c81e92109260f353ba138005" - -DEPENDS = "${PYTHON_PN}-async ${PYTHON_PN}-setuptools-native ${PYTHON_PN}-smmap" - -RDEPENDS:${PN} += "${PYTHON_PN}-async \ - ${PYTHON_PN}-compression \ - ${PYTHON_PN}-crypt \ - ${PYTHON_PN}-io \ - ${PYTHON_PN}-mmap \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-smmap \ -" -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python-nose.inc b/meta/recipes-devtools/python/python-nose.inc deleted file mode 100644 index dfae202299..0000000000 --- a/meta/recipes-devtools/python/python-nose.inc +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Extends Python unittest to make testing easier" -HOMEPAGE = "http://readthedocs.org/docs/nose/" -DESCRIPTION = "nose extends the test loading and running features of unittest, \ -making it easier to write, find and run tests." -SECTION = "devel/python" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://lgpl.txt;md5=a6f89e2100d9b6cdffcea4f398e37343" - -SRC_URI[md5sum] = "4d3ad0ff07b61373d2cefc89c5d0b20b" -SRC_URI[sha256sum] = "f1bffef9cbc82628f6e7d7b40d7e255aefaa1adb6a1b1d26c69a8b79e6208a98" - -inherit pypi - -RDEPENDS:${PN} = "\ - ${PYTHON_PN}-unittest \ - " - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python-pbr.inc b/meta/recipes-devtools/python/python-pbr.inc index 59fbc6dce4..f08d9fd381 100644 --- a/meta/recipes-devtools/python/python-pbr.inc +++ b/meta/recipes-devtools/python/python-pbr.inc @@ -9,6 +9,6 @@ SRC_URI += "file://0001-change-shebang-to-python3.patch" inherit pypi -RDEPENDS:${PN} += "${PYTHON_PN}-pip" +RDEPENDS:${PN} += "python3-pip" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python-pyasn1.inc b/meta/recipes-devtools/python/python-pyasn1.inc new file mode 100644 index 0000000000..7b269f2940 --- /dev/null +++ b/meta/recipes-devtools/python/python-pyasn1.inc @@ -0,0 +1,31 @@ +SUMMARY = "Python library implementing ASN.1 types." +HOMEPAGE = "http://pyasn1.sourceforge.net/" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=190f79253908c986e6cacf380c3a5f6d" + +SRC_URI[sha256sum] = "3a35ab2c4b5ef98e17dfdec8ab074046fbda76e281c5a706ccd82328cfc8f64c" + +RDEPENDS:${PN}:class-target += " \ + python3-codecs \ + python3-logging \ + python3-math \ + python3-shell \ +" + +BBCLASSEXTEND = "native nativesdk" + +inherit ptest + +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/ +} diff --git a/meta/recipes-devtools/python/python-pycryptodome.inc b/meta/recipes-devtools/python/python-pycryptodome.inc index 3f4c6e9fca..8d9b6d911e 100644 --- a/meta/recipes-devtools/python/python-pycryptodome.inc +++ b/meta/recipes-devtools/python/python-pycryptodome.inc @@ -3,17 +3,21 @@ DESCRIPTION = "PyCryptodome is a self-contained Python package of low-level\ cryptographic primitives." HOMEPAGE = "http://www.pycryptodome.org" LICENSE = "PD & BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=accfa6aeaceb3ba96676edf18e78302c" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=29242a70410a4eeff488a28164e7ab93" inherit pypi +PYPI_PACKAGE_EXT = "tar.gz" + RDEPENDS:${PN} += " \ - ${PYTHON_PN}-io \ - ${PYTHON_PN}-math \ + python3-cffi \ + python3-ctypes \ + python3-io \ + python3-math \ " RDEPENDS:${PN}-tests += " \ - ${PYTHON_PN}-unittest \ + python3-unittest \ " PACKAGES =+ "${PN}-tests" diff --git a/meta/recipes-devtools/python/python-pyparsing.inc b/meta/recipes-devtools/python/python-pyparsing.inc deleted file mode 100644 index 330bf7e39a..0000000000 --- a/meta/recipes-devtools/python/python-pyparsing.inc +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Python parsing module" -HOMEPAGE = "http://pyparsing.wikispaces.com/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=657a566233888513e1f07ba13e2f47f1" - -SRC_URI[md5sum] = "f0953e47a0112f7a65aec2305ffdf7b4" -SRC_URI[sha256sum] = "c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1" -UPSTREAM_CHECK_REGEX = "pyparsing-(?P<pver>.*)\.tar" - -inherit pypi - -RDEPENDS:${PN} += " \ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-debugger \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-pprint \ - ${PYTHON_PN}-stringold \ - ${PYTHON_PN}-threading \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python-rfc3986-validator/0001-setup.py-move-pytest-runner-to-test_requirements.patch b/meta/recipes-devtools/python/python-rfc3986-validator/0001-setup.py-move-pytest-runner-to-test_requirements.patch new file mode 100644 index 0000000000..8a646874e8 --- /dev/null +++ b/meta/recipes-devtools/python/python-rfc3986-validator/0001-setup.py-move-pytest-runner-to-test_requirements.patch @@ -0,0 +1,32 @@ +From 3531ff73631a0d59234eb4713e7b3a7f5ea57bbb Mon Sep 17 00:00:00 2001 +From: Nicola Lunghi <nicola.lunghi@jci.com> +Date: Thu, 14 Nov 2019 12:17:51 +0000 +Subject: [PATCH] setup.py: move pytest-runner to test_requirements + +This fixes an issue with yocto build. +pytest-runner is only needed when running tests. + +Upstream-Status: Pending +--- + setup.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/setup.py b/setup.py +index 53ebea7..ebb0de2 100644 +--- a/setup.py ++++ b/setup.py +@@ -10,9 +10,9 @@ with open('README.md') as readme_file: + + requirements = [] + +-setup_requirements = ['pytest-runner', ] ++setup_requirements = [] + +-test_requirements = ['pytest>=3', ] ++test_requirements = ['pytest>=3', 'pytest-runner'] + + setup( + author="Nicolas Aimetti", +-- +2.20.1 + diff --git a/meta/recipes-devtools/python/python-six.inc b/meta/recipes-devtools/python/python-six.inc index aac6765149..6b1b4ba481 100644 --- a/meta/recipes-devtools/python/python-six.inc +++ b/meta/recipes-devtools/python/python-six.inc @@ -6,6 +6,6 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=43cfc9e4ac0e377acfb9b76f56b8415d" inherit pypi -RDEPENDS:${PN} = "${PYTHON_PN}-io" +RDEPENDS:${PN} = "python3-io" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python-subunit.inc b/meta/recipes-devtools/python/python-subunit.inc deleted file mode 100644 index a2f9c5c3ff..0000000000 --- a/meta/recipes-devtools/python/python-subunit.inc +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "Python implementation of subunit test streaming protocol" -HOMEPAGE = "https://pypi.org/project/python-subunit/" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://README.rst;beginline=1;endline=20;md5=909c08e291647fd985fbe5d9836d51b6" - -PYPI_PACKAGE = "python-subunit" - -SRC_URI[md5sum] = "30f1ab20651d94442dd9a7f8c9e8d633" -SRC_URI[sha256sum] = "042039928120fbf392e8c983d60f3d8ae1b88f90a9f8fd7188ddd9c26cad1e48" - -inherit pypi - -BBCLASSEXTEND = "nativesdk" diff --git a/meta/recipes-devtools/python/python-testtools.inc b/meta/recipes-devtools/python/python-testtools.inc deleted file mode 100644 index ef5e15cc3a..0000000000 --- a/meta/recipes-devtools/python/python-testtools.inc +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "Extensions to the Python standard library unit testing framework" -HOMEPAGE = "https://pypi.org/project/testtools/" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e2c9d3e8ba7141c83bfef190e0b9379a" - -inherit pypi - -SRC_URI[sha256sum] = "57c13433d94f9ffde3be6534177d10fb0c1507cc499319128958ca91a65cb23f" - -DEPENDS += " \ - ${PYTHON_PN}-pbr \ - " - -# Satisfy setup.py 'setup_requires' -DEPENDS += " \ - ${PYTHON_PN}-pbr-native \ - " - -RDEPENDS:${PN} += "\ - ${PYTHON_PN}-doctest \ - ${PYTHON_PN}-extras \ - ${PYTHON_PN}-pbr \ - ${PYTHON_PN}-six \ - " - -BBCLASSEXTEND = "nativesdk" diff --git a/meta/recipes-devtools/python/python3-alabaster_0.7.16.bb b/meta/recipes-devtools/python/python3-alabaster_0.7.16.bb new file mode 100644 index 0000000000..c61fce454f --- /dev/null +++ b/meta/recipes-devtools/python/python3-alabaster_0.7.16.bb @@ -0,0 +1,12 @@ +SUMMARY = "Alabaster is a visually (c)lean, responsive, configurable theme for the Sphinx documentation system." +HOMEPAGE = "https://alabaster.readthedocs.io/en/latest/" +BUGTRACKER = "https://github.com/sphinx-doc/alabaster/issues" +SECTION = "devel/python" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=21860fdb805bf4e0bfaf94b566b747fa" + +SRC_URI[sha256sum] = "75a8b99c28a5dad50dd7f8ccdd447a121ddb3892da9e53d1ca5cca3106d58d65" + +inherit python_flit_core pypi + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-asn1crypto_1.5.1.bb b/meta/recipes-devtools/python/python3-asn1crypto_1.5.1.bb new file mode 100644 index 0000000000..322497b09b --- /dev/null +++ b/meta/recipes-devtools/python/python3-asn1crypto_1.5.1.bb @@ -0,0 +1,24 @@ +SUMMARY = "A fast, pure Python library for parsing and serializing ASN.1 structures" +HOMEPAGE = "https://github.com/wbond/asn1crypto" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b5cda97fbd7959ad47a952651a87051a" + +PYPI_PACKAGE = "asn1crypto" + +SRC_URI[sha256sum] = "13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c" + +inherit pypi setuptools3 + +RDEPENDS:${PN}:class-target += " \ + python3-codecs \ + python3-crypt \ + python3-ctypes \ + python3-datetime \ + python3-io \ + python3-netclient \ + python3-numbers \ + python3-shell \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-async_0.6.2.bb b/meta/recipes-devtools/python/python3-async_0.6.2.bb deleted file mode 100644 index 0da5fdecdc..0000000000 --- a/meta/recipes-devtools/python/python3-async_0.6.2.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools3 -require python-async.inc diff --git a/meta/recipes-devtools/python/python3-atomicwrites/run-ptest b/meta/recipes-devtools/python/python3-atomicwrites/run-ptest index b63c4de0d9..8d2017d39c 100644 --- a/meta/recipes-devtools/python/python3-atomicwrites/run-ptest +++ b/meta/recipes-devtools/python/python3-atomicwrites/run-ptest @@ -1,3 +1,3 @@ #!/bin/sh -pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}' +pytest --automake diff --git a/meta/recipes-devtools/python/python3-atomicwrites_1.4.0.bb b/meta/recipes-devtools/python/python3-atomicwrites_1.4.1.bb index 065a2c7b4f..848f74d612 100644 --- a/meta/recipes-devtools/python/python3-atomicwrites_1.4.0.bb +++ b/meta/recipes-devtools/python/python3-atomicwrites_1.4.1.bb @@ -1,10 +1,9 @@ -DESCRIPTION = "Powerful Python library for atomic file writes" +SUMMARY = "Powerful Python library for atomic file writes" HOMEPAGE = "https://github.com/untitaker/python-atomicwrites" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=91cc36cfafeefb7863673bcfcb1d4da4" -SRC_URI[md5sum] = "b5cc15c8f9f180a48665f9aacf91d817" -SRC_URI[sha256sum] = "ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a" +SRC_URI[sha256sum] = "81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11" inherit pypi setuptools3 ptest @@ -13,8 +12,9 @@ SRC_URI += " \ " RDEPENDS:${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ - ${PYTHON_PN}-unixadmin \ + python3-pytest \ + python3-unittest-automake-output \ + python3-unixadmin \ " do_install_ptest() { @@ -22,4 +22,6 @@ do_install_ptest() { cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ } -RDEPENDS:${PN} = "${PYTHON_PN}-misc" +RDEPENDS:${PN} = "python3-misc" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-attrs/0001-conftest.py-disable-deadline.patch b/meta/recipes-devtools/python/python3-attrs/0001-conftest.py-disable-deadline.patch new file mode 100644 index 0000000000..b1e6d99916 --- /dev/null +++ b/meta/recipes-devtools/python/python3-attrs/0001-conftest.py-disable-deadline.patch @@ -0,0 +1,45 @@ +From 41103f017f6a233ebb477dd1712fe82ea8f1c84c Mon Sep 17 00:00:00 2001 +From: Tim Orling <tim.orling@konsulko.com> +Date: Thu, 29 Feb 2024 08:45:54 -0800 +Subject: [PATCH] conftest.py: disable deadline + +The deadline is by default 200ms, but this is intended to be useful to +the developer and not necessarily recommended for heavily loaded CI +systems. Avoid warnings by disabling the deadline completely. + +https://github.com/HypothesisWorks/hypothesis/issues/3713 +https://hypothesis.readthedocs.io/en/latest/settings.html#hypothesis.settings.deadline +https://lists.openembedded.org/g/openembedded-core/topic/104640034#196437 + +Fixes: +""" +Unreliable test timings! On an initial run, this test took 268.29ms, +which exceeded the deadline of 200.00ms, but on a subsequent run it +took 2.63 ms, which did not. If you expect this sort of variability in +your test timings, consider turning deadlines off for this test by +setting deadline=None. +""" + +Upstream-Status: Submitted [https://github.com/python-attrs/attrs/pull/1252] + +Signed-off-by: Tim Orling <tim.orling@konsulko.com> +--- + conftest.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/conftest.py b/conftest.py +index 144e5f3..fdead3d 100644 +--- a/conftest.py ++++ b/conftest.py +@@ -20,7 +20,7 @@ def _frozen(request): + def pytest_configure(config): + # HealthCheck.too_slow causes more trouble than good -- especially in CIs. + settings.register_profile( +- "patience", settings(suppress_health_check=[HealthCheck.too_slow]) ++ "patience", settings(suppress_health_check=[HealthCheck.too_slow], deadline=None) + ) + settings.load_profile("patience") + +-- +2.34.1 + diff --git a/meta/recipes-devtools/python/python3-attrs/0001-test_funcs-skip-test_unknown-for-pytest-8.patch b/meta/recipes-devtools/python/python3-attrs/0001-test_funcs-skip-test_unknown-for-pytest-8.patch new file mode 100644 index 0000000000..bb69c0f157 --- /dev/null +++ b/meta/recipes-devtools/python/python3-attrs/0001-test_funcs-skip-test_unknown-for-pytest-8.patch @@ -0,0 +1,30 @@ +From cbe95e1aa6d95195dce13406a6f0522b2964babc Mon Sep 17 00:00:00 2001 +From: Tim Orling <tim.orling@konsulko.com> +Date: Fri, 16 Feb 2024 07:17:19 -0800 +Subject: [PATCH] test_funcs: skip test_unknown for pytest 8 + +https://github.com/python-attrs/attrs/issues/1233 + +Upstream-Status: Inappropriate [Test case needs to be properly fixed upstream] + +Signed-off-by: Tim Orling <tim.orling@konsulko.com> +--- + tests/test_funcs.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/test_funcs.py b/tests/test_funcs.py +index 044aaab..0872c31 100644 +--- a/tests/test_funcs.py ++++ b/tests/test_funcs.py +@@ -593,7 +593,7 @@ class TestAssoc: + for k, v in change_dict.items(): + assert getattr(changed, k) == v + +- @given(simple_classes()) ++ @pytest.mark.skip('Broken with pytest 8. See https://github.com/python-attrs/attrs/issues/1233') + def test_unknown(self, C): + """ + Wanting to change an unknown attribute raises an +-- +2.34.1 + diff --git a/meta/recipes-devtools/python/python3-attrs/run-ptest b/meta/recipes-devtools/python/python3-attrs/run-ptest new file mode 100644 index 0000000000..8d2017d39c --- /dev/null +++ b/meta/recipes-devtools/python/python3-attrs/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +pytest --automake diff --git a/meta/recipes-devtools/python/python3-attrs_21.2.0.bb b/meta/recipes-devtools/python/python3-attrs_21.2.0.bb deleted file mode 100644 index d52237f267..0000000000 --- a/meta/recipes-devtools/python/python3-attrs_21.2.0.bb +++ /dev/null @@ -1,19 +0,0 @@ -DESCRIPTION = "Classes Without Boilerplate" -HOMEPAGE = "http://www.attrs.org/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d4ab25949a73fe7d4fdee93bcbdbf8ff" - -SRC_URI[sha256sum] = "ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb" - -inherit pypi setuptools3 - -RDEPENDS:${PN}:class-target += " \ - ${PYTHON_PN}-crypt \ - ${PYTHON_PN}-ctypes \ -" -RDEPENDS:${PN}:class-nativesdk += " \ - ${PYTHON_PN}-crypt \ - ${PYTHON_PN}-ctypes \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-attrs_23.2.0.bb b/meta/recipes-devtools/python/python3-attrs_23.2.0.bb new file mode 100644 index 0000000000..a638097988 --- /dev/null +++ b/meta/recipes-devtools/python/python3-attrs_23.2.0.bb @@ -0,0 +1,39 @@ +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-ctypes \ + 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/recipes-devtools/python/python3-babel_2.14.0.bb b/meta/recipes-devtools/python/python3-babel_2.14.0.bb new file mode 100644 index 0000000000..cd40d4222b --- /dev/null +++ b/meta/recipes-devtools/python/python3-babel_2.14.0.bb @@ -0,0 +1,26 @@ +SUMMARY = "A collection of tools for internationalizing Python applications" +HOMEPAGE = "http://babel.edgewall.org/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=0f97d9a63e91407b4c0d01efde91cfc0" + +SRC_URI[sha256sum] = "6919867db036398ba21eb5c7a0f6b28ab8cbc3ae7a73a44ebe34ae74a4e7d363" + +PYPI_PACKAGE = "Babel" + +inherit pypi setuptools3 + +CLEANBROKEN = "1" + +RDEPENDS:${PN} += " \ + python3-codecs \ + python3-difflib \ + python3-netserver \ + python3-numbers \ + python3-pickle \ + python3-pytz \ + python3-setuptools \ + python3-shell \ + python3-threading \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-bcrypt-crates.inc b/meta/recipes-devtools/python/python3-bcrypt-crates.inc new file mode 100644 index 0000000000..0e7479f0b5 --- /dev/null +++ b/meta/recipes-devtools/python/python3-bcrypt-crates.inc @@ -0,0 +1,114 @@ +# Autogenerated with 'bitbake -c update_crates python3-bcrypt' + +# from src/_bcrypt/Cargo.lock +SRC_URI += " \ + crate://crates.io/autocfg/1.1.0 \ + crate://crates.io/base64/0.21.5 \ + crate://crates.io/bcrypt/0.15.0 \ + crate://crates.io/bcrypt-pbkdf/0.10.0 \ + crate://crates.io/bitflags/1.3.2 \ + crate://crates.io/block-buffer/0.10.4 \ + crate://crates.io/blowfish/0.9.1 \ + crate://crates.io/byteorder/1.5.0 \ + crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/cipher/0.4.4 \ + crate://crates.io/cpufeatures/0.2.11 \ + crate://crates.io/crypto-common/0.1.6 \ + crate://crates.io/digest/0.10.7 \ + crate://crates.io/generic-array/0.14.7 \ + crate://crates.io/getrandom/0.2.11 \ + crate://crates.io/heck/0.4.1 \ + crate://crates.io/indoc/2.0.4 \ + crate://crates.io/inout/0.1.3 \ + crate://crates.io/libc/0.2.151 \ + crate://crates.io/lock_api/0.4.11 \ + crate://crates.io/memoffset/0.9.0 \ + crate://crates.io/once_cell/1.19.0 \ + crate://crates.io/parking_lot/0.12.1 \ + crate://crates.io/parking_lot_core/0.9.9 \ + crate://crates.io/pbkdf2/0.12.2 \ + crate://crates.io/portable-atomic/1.6.0 \ + crate://crates.io/proc-macro2/1.0.70 \ + crate://crates.io/pyo3/0.20.3 \ + crate://crates.io/pyo3-build-config/0.20.3 \ + crate://crates.io/pyo3-ffi/0.20.3 \ + crate://crates.io/pyo3-macros/0.20.3 \ + crate://crates.io/pyo3-macros-backend/0.20.3 \ + crate://crates.io/quote/1.0.33 \ + crate://crates.io/redox_syscall/0.4.1 \ + crate://crates.io/scopeguard/1.2.0 \ + crate://crates.io/sha2/0.10.8 \ + crate://crates.io/smallvec/1.11.2 \ + crate://crates.io/subtle/2.5.0 \ + crate://crates.io/syn/2.0.41 \ + crate://crates.io/target-lexicon/0.12.12 \ + crate://crates.io/typenum/1.17.0 \ + crate://crates.io/unicode-ident/1.0.12 \ + crate://crates.io/unindent/0.2.3 \ + crate://crates.io/version_check/0.9.4 \ + crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ + crate://crates.io/windows-targets/0.48.5 \ + crate://crates.io/windows_aarch64_gnullvm/0.48.5 \ + crate://crates.io/windows_aarch64_msvc/0.48.5 \ + crate://crates.io/windows_i686_gnu/0.48.5 \ + crate://crates.io/windows_i686_msvc/0.48.5 \ + crate://crates.io/windows_x86_64_gnu/0.48.5 \ + crate://crates.io/windows_x86_64_gnullvm/0.48.5 \ + crate://crates.io/windows_x86_64_msvc/0.48.5 \ + crate://crates.io/zeroize/1.7.0 \ +" + +SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +SRC_URI[base64-0.21.5.sha256sum] = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" +SRC_URI[bcrypt-0.15.0.sha256sum] = "28d1c9c15093eb224f0baa400f38fcd713fc1391a6f1c389d886beef146d60a3" +SRC_URI[bcrypt-pbkdf-0.10.0.sha256sum] = "6aeac2e1fe888769f34f05ac343bbef98b14d1ffb292ab69d4608b3abc86f2a2" +SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +SRC_URI[blowfish-0.9.1.sha256sum] = "e412e2cd0f2b2d93e02543ceae7917b3c70331573df19ee046bcbc35e45e87d7" +SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +SRC_URI[cipher-0.4.4.sha256sum] = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +SRC_URI[cpufeatures-0.2.11.sha256sum] = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" +SRC_URI[crypto-common-0.1.6.sha256sum] = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +SRC_URI[getrandom-0.2.11.sha256sum] = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" +SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +SRC_URI[indoc-2.0.4.sha256sum] = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8" +SRC_URI[inout-0.1.3.sha256sum] = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +SRC_URI[libc-0.2.151.sha256sum] = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4" +SRC_URI[lock_api-0.4.11.sha256sum] = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +SRC_URI[memoffset-0.9.0.sha256sum] = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +SRC_URI[once_cell-1.19.0.sha256sum] = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +SRC_URI[parking_lot-0.12.1.sha256sum] = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +SRC_URI[parking_lot_core-0.9.9.sha256sum] = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +SRC_URI[pbkdf2-0.12.2.sha256sum] = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" +SRC_URI[portable-atomic-1.6.0.sha256sum] = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" +SRC_URI[proc-macro2-1.0.70.sha256sum] = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" +SRC_URI[pyo3-0.20.3.sha256sum] = "53bdbb96d49157e65d45cc287af5f32ffadd5f4761438b527b055fb0d4bb8233" +SRC_URI[pyo3-build-config-0.20.3.sha256sum] = "deaa5745de3f5231ce10517a1f5dd97d53e5a2fd77aa6b5842292085831d48d7" +SRC_URI[pyo3-ffi-0.20.3.sha256sum] = "62b42531d03e08d4ef1f6e85a2ed422eb678b8cd62b762e53891c05faf0d4afa" +SRC_URI[pyo3-macros-0.20.3.sha256sum] = "7305c720fa01b8055ec95e484a6eca7a83c841267f0dd5280f0c8b8551d2c158" +SRC_URI[pyo3-macros-backend-0.20.3.sha256sum] = "7c7e9b68bb9c3149c5b0cade5d07f953d6d125eb4337723c4ccdb665f1f96185" +SRC_URI[quote-1.0.33.sha256sum] = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +SRC_URI[redox_syscall-0.4.1.sha256sum] = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +SRC_URI[scopeguard-1.2.0.sha256sum] = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +SRC_URI[sha2-0.10.8.sha256sum] = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +SRC_URI[smallvec-1.11.2.sha256sum] = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" +SRC_URI[subtle-2.5.0.sha256sum] = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" +SRC_URI[syn-2.0.41.sha256sum] = "44c8b28c477cc3bf0e7966561e3460130e1255f7a1cf71931075f1c5e7a7e269" +SRC_URI[target-lexicon-0.12.12.sha256sum] = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" +SRC_URI[typenum-1.17.0.sha256sum] = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +SRC_URI[unicode-ident-1.0.12.sha256sum] = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +SRC_URI[unindent-0.2.3.sha256sum] = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce" +SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +SRC_URI[windows-targets-0.48.5.sha256sum] = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +SRC_URI[windows_aarch64_gnullvm-0.48.5.sha256sum] = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +SRC_URI[windows_aarch64_msvc-0.48.5.sha256sum] = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +SRC_URI[windows_i686_gnu-0.48.5.sha256sum] = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +SRC_URI[windows_i686_msvc-0.48.5.sha256sum] = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +SRC_URI[windows_x86_64_gnu-0.48.5.sha256sum] = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +SRC_URI[windows_x86_64_gnullvm-0.48.5.sha256sum] = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +SRC_URI[windows_x86_64_msvc-0.48.5.sha256sum] = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +SRC_URI[zeroize-1.7.0.sha256sum] = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" diff --git a/meta/recipes-devtools/python/python3-bcrypt/0001-Bump-pyo3-from-0.20.0-to-0.20.3-in-src-_bcrypt-746.patch b/meta/recipes-devtools/python/python3-bcrypt/0001-Bump-pyo3-from-0.20.0-to-0.20.3-in-src-_bcrypt-746.patch new file mode 100644 index 0000000000..3f671fcc98 --- /dev/null +++ b/meta/recipes-devtools/python/python3-bcrypt/0001-Bump-pyo3-from-0.20.0-to-0.20.3-in-src-_bcrypt-746.patch @@ -0,0 +1,111 @@ +From cfdd98b3215cc12e66190a9c7f0a32c052e3c2e7 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 26 Feb 2024 18:26:30 -0800 +Subject: [PATCH] Bump pyo3 from 0.20.0 to 0.20.3 in /src/_bcrypt (#746) + +It fixes build on hosts without 64bit atomics + +Upstream-Status: Backport [https://github.com/pyca/bcrypt/commit/c2ef9350798ab59b18e8a0e04a01389858578fe0] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/_bcrypt/Cargo.lock | 22 ++++++++++++++-------- + src/_bcrypt/Cargo.toml | 2 +- + 2 files changed, 15 insertions(+), 9 deletions(-) + +--- a/src/_bcrypt/Cargo.lock ++++ b/src/_bcrypt/Cargo.lock +@@ -233,6 +233,12 @@ dependencies = [ + ] + + [[package]] ++name = "portable-atomic" ++version = "1.6.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" ++ ++[[package]] + name = "proc-macro2" + version = "1.0.70" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -243,15 +249,16 @@ dependencies = [ + + [[package]] + name = "pyo3" +-version = "0.20.0" ++version = "0.20.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "04e8453b658fe480c3e70c8ed4e3d3ec33eb74988bd186561b0cc66b85c3bc4b" ++checksum = "53bdbb96d49157e65d45cc287af5f32ffadd5f4761438b527b055fb0d4bb8233" + dependencies = [ + "cfg-if", + "indoc", + "libc", + "memoffset", + "parking_lot", ++ "portable-atomic", + "pyo3-build-config", + "pyo3-ffi", + "pyo3-macros", +@@ -260,9 +267,9 @@ dependencies = [ + + [[package]] + name = "pyo3-build-config" +-version = "0.20.0" ++version = "0.20.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a96fe70b176a89cff78f2fa7b3c930081e163d5379b4dcdf993e3ae29ca662e5" ++checksum = "deaa5745de3f5231ce10517a1f5dd97d53e5a2fd77aa6b5842292085831d48d7" + dependencies = [ + "once_cell", + "target-lexicon", +@@ -270,9 +277,9 @@ dependencies = [ + + [[package]] + name = "pyo3-ffi" +-version = "0.20.0" ++version = "0.20.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "214929900fd25e6604661ed9cf349727c8920d47deff196c4e28165a6ef2a96b" ++checksum = "62b42531d03e08d4ef1f6e85a2ed422eb678b8cd62b762e53891c05faf0d4afa" + dependencies = [ + "libc", + "pyo3-build-config", +@@ -280,9 +287,9 @@ dependencies = [ + + [[package]] + name = "pyo3-macros" +-version = "0.20.0" ++version = "0.20.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "dac53072f717aa1bfa4db832b39de8c875b7c7af4f4a6fe93cdbf9264cf8383b" ++checksum = "7305c720fa01b8055ec95e484a6eca7a83c841267f0dd5280f0c8b8551d2c158" + dependencies = [ + "proc-macro2", + "pyo3-macros-backend", +@@ -292,12 +299,13 @@ dependencies = [ + + [[package]] + name = "pyo3-macros-backend" +-version = "0.20.0" ++version = "0.20.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7774b5a8282bd4f25f803b1f0d945120be959a36c72e08e7cd031c792fdfd424" ++checksum = "7c7e9b68bb9c3149c5b0cade5d07f953d6d125eb4337723c4ccdb665f1f96185" + dependencies = [ + "heck", + "proc-macro2", ++ "pyo3-build-config", + "quote", + "syn", + ] +--- a/src/_bcrypt/Cargo.toml ++++ b/src/_bcrypt/Cargo.toml +@@ -6,7 +6,7 @@ edition = "2018" + publish = false + + [dependencies] +-pyo3 = { version = "0.20.0", features = ["abi3"] } ++pyo3 = { version = "0.20.3", features = ["abi3"] } + bcrypt = "0.15" + bcrypt-pbkdf = "0.10.0" + base64 = "0.21.5" diff --git a/meta/recipes-devtools/python/python3-bcrypt/run-ptest b/meta/recipes-devtools/python/python3-bcrypt/run-ptest new file mode 100644 index 0000000000..8d2017d39c --- /dev/null +++ b/meta/recipes-devtools/python/python3-bcrypt/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +pytest --automake diff --git a/meta/recipes-devtools/python/python3-bcrypt_4.1.2.bb b/meta/recipes-devtools/python/python3-bcrypt_4.1.2.bb new file mode 100644 index 0000000000..93fa645f33 --- /dev/null +++ b/meta/recipes-devtools/python/python3-bcrypt_4.1.2.bb @@ -0,0 +1,37 @@ +SUMMARY = "Modern password hashing for your software and your servers." +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8f7bb094c7232b058c7e9f2e431f389c" +HOMEPAGE = "https://pypi.org/project/bcrypt/" + +DEPENDS += "python3-cffi-native" +LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', ' -fuse-ld=bfd', '', d)}" + +SRC_URI[sha256sum] = "33313a1200a3ae90b75587ceac502b048b840fc69e7f7a0905b5f87fac7a1258" + +inherit pypi python_setuptools3_rust ptest-cargo cargo-update-recipe-crates + +SRC_URI += " \ + file://0001-Bump-pyo3-from-0.20.0-to-0.20.3-in-src-_bcrypt-746.patch \ + file://run-ptest \ +" + +CARGO_SRC_DIR = "src/_bcrypt" + +require ${BPN}-crates.inc + +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/ +} + +RDEPENDS:${PN}:class-target += "\ + python3-cffi \ + python3-ctypes \ + python3-shell \ + python3-six \ +" diff --git a/meta/recipes-devtools/python/python3-beartype_0.18.5.bb b/meta/recipes-devtools/python/python3-beartype_0.18.5.bb new file mode 100644 index 0000000000..04fbd3139f --- /dev/null +++ b/meta/recipes-devtools/python/python3-beartype_0.18.5.bb @@ -0,0 +1,11 @@ +SUMMARY = "Unbearably fast runtime type checking in pure Python." +HOMEPAGE = "https://beartype.readthedocs.io" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e71f94261c1b39896cacacfeaf60560e" + +SRC_URI[sha256sum] = "264ddc2f1da9ec94ff639141fbe33d22e12a9f75aa863b83b7046ffff1381927" + +inherit setuptools3 pypi + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-booleanpy_4.0.bb b/meta/recipes-devtools/python/python3-booleanpy_4.0.bb new file mode 100644 index 0000000000..41fd3d960a --- /dev/null +++ b/meta/recipes-devtools/python/python3-booleanpy_4.0.bb @@ -0,0 +1,13 @@ +SUMMARY = "Define boolean algebras, create and parse boolean expressions and create custom boolean DSL" +HOMEPAGE = "https://github.com/bastikr/boolean.py" + +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d118b5feceee598ebeca76e13395c2bd" + +SRC_URI[sha256sum] = "17b9a181630e43dde1851d42bef546d616d5d9b4480357514597e78b203d06e4" + +PYPI_PACKAGE = "boolean.py" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-build_1.2.1.bb b/meta/recipes-devtools/python/python3-build_1.2.1.bb new file mode 100644 index 0000000000..0156861201 --- /dev/null +++ b/meta/recipes-devtools/python/python3-build_1.2.1.bb @@ -0,0 +1,32 @@ +SUMMARY = "A simple, correct PEP517 package builder" +HOMEPAGE = "https://github.com/pypa/build" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=310439af287b0fb4780b2ad6907c256c" + +SRC_URI[sha256sum] = "526263f4870c26f26c433545579475377b2b7588b6f1eac76a001e873ae3e19d" + +inherit pypi python_flit_core + +DEPENDS += "python3-pyproject-hooks-native" + +DEPENDS:remove:class-native = "python3-build-native" + +# Skip dependencies as we're doing a minimal build to bootstrap +PEP517_BUILD_OPTS:class-native = "--skip-dependency-check" + +do_compile:prepend:class-native() { + export PYTHONPATH="${S}/src" +} + +RDEPENDS:${PN} += " \ + python3-compression \ + python3-difflib \ + python3-ensurepip \ + python3-logging \ + python3-packaging \ + python3-pyproject-hooks \ + python3-tomllib \ + python3-venv \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-calver/0001-setup.py-hard-code-version.patch b/meta/recipes-devtools/python/python3-calver/0001-setup.py-hard-code-version.patch new file mode 100644 index 0000000000..43f8a78ef0 --- /dev/null +++ b/meta/recipes-devtools/python/python3-calver/0001-setup.py-hard-code-version.patch @@ -0,0 +1,32 @@ +From 390a233ed969f82b2ef209b23bfb523e785603f9 Mon Sep 17 00:00:00 2001 +From: Trevor Gamblin <tgamblin@baylibre.com> +Date: Tue, 9 May 2023 10:19:41 -0400 +Subject: [PATCH] setup.py: hard-code version + +setup.py is pulling the build version from the current date rather than +a release tag or other predictable method, causing reproducibility +issues in builds. Patch this to make reproducible builds work while +discussing this with upstream maintainer (or developing a patch that can +make calver rely on a more standard pyproject.toml solution). + +Upstream-Status: Inappropriate (configuration) + +Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> +--- + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 73f6b10..2e27cf1 100644 +--- a/setup.py ++++ b/setup.py +@@ -42,5 +42,5 @@ setup( + "use_calver = calver.integration:version", + ], + }, +- version=calver_version(True), ++ version=calver_version("2022.6.26"), + ) +-- +2.40.0 + diff --git a/meta/recipes-devtools/python/python3-calver/run-ptest b/meta/recipes-devtools/python/python3-calver/run-ptest new file mode 100644 index 0000000000..8d2017d39c --- /dev/null +++ b/meta/recipes-devtools/python/python3-calver/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +pytest --automake diff --git a/meta/recipes-devtools/python/python3-calver_2022.6.26.bb b/meta/recipes-devtools/python/python3-calver_2022.6.26.bb new file mode 100644 index 0000000000..71b5431400 --- /dev/null +++ b/meta/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/recipes-devtools/python/python3-certifi_2024.2.2.bb b/meta/recipes-devtools/python/python3-certifi_2024.2.2.bb new file mode 100644 index 0000000000..4e61b8d9d4 --- /dev/null +++ b/meta/recipes-devtools/python/python3-certifi_2024.2.2.bb @@ -0,0 +1,16 @@ +SUMMARY = "Python package for providing Mozilla's CA Bundle." +DESCRIPTION = "This installable Python package contains a CA Bundle that you can reference in your \ +Python code. This is useful for verifying HTTP requests, for example. This is the same CA Bundle \ +which ships with the Requests codebase, and is derived from Mozilla Firefox's canonical set." +HOMEPAGE = " http://certifi.io/" + +LICENSE = "ISC" +LIC_FILES_CHKSUM = "file://LICENSE;md5=11618cb6a975948679286b1211bd573c" + +SRC_URI[sha256sum] = "0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" + +RDEPENDS:${PN} += "python3-io" diff --git a/meta/recipes-devtools/python/python3-cffi_1.16.0.bb b/meta/recipes-devtools/python/python3-cffi_1.16.0.bb new file mode 100644 index 0000000000..c5f6578ab2 --- /dev/null +++ b/meta/recipes-devtools/python/python3-cffi_1.16.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "Foreign Function Interface for Python calling C code" +HOMEPAGE = "http://cffi.readthedocs.org/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5677e2fdbf7cdda61d6dd2b57df547bf" +DEPENDS += "libffi python3-pycparser" + +SRC_URI[sha256sum] = "bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0" + +inherit pypi setuptools3 + +RDEPENDS:${PN}:class-target = " \ + python3-ctypes \ + python3-io \ + python3-pycparser \ + python3-shell \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-chardet_5.2.0.bb b/meta/recipes-devtools/python/python3-chardet_5.2.0.bb new file mode 100644 index 0000000000..ed792b1c7e --- /dev/null +++ b/meta/recipes-devtools/python/python3-chardet_5.2.0.bb @@ -0,0 +1,24 @@ +SUMMARY = "Universal encoding detector for Python 2 and 3" +HOMEPAGE = "https://pypi.org/project/chardet/" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI[sha256sum] = "1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7" + +# setup.py of chardet needs this. +DEPENDS += "python3-pytest-runner-native" + +inherit pypi python_setuptools_build_meta + +PACKAGES =+ "${PN}-cli" +FILES:${PN}-cli += " \ + ${PYTHON_SITEPACKAGES_DIR}/chardet/cli \ +" + +RDEPENDS:${PN}-cli = "${PN} " + +RDEPENDS:${PN}:class-target += " \ + python3-logging \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-click/run-ptest b/meta/recipes-devtools/python/python3-click/run-ptest new file mode 100644 index 0000000000..b63c4de0d9 --- /dev/null +++ b/meta/recipes-devtools/python/python3-click/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}' diff --git a/meta/recipes-devtools/python/python3-click_8.1.7.bb b/meta/recipes-devtools/python/python3-click_8.1.7.bb new file mode 100644 index 0000000000..7d91e1af83 --- /dev/null +++ b/meta/recipes-devtools/python/python3-click_8.1.7.bb @@ -0,0 +1,39 @@ +SUMMARY = "A simple wrapper around optparse for powerful command line utilities." +DESCRIPTION = "\ +Click is a Python package for creating beautiful command line interfaces \ +in a composable way with as little code as necessary. It's the "Command \ +Line Interface Creation Kit". It's highly configurable but comes with \ +sensible defaults out of the box." +HOMEPAGE = "http://click.pocoo.org/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=1fa98232fd645608937a0fdc82e999b8" + +SRC_URI[sha256sum] = "ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de" + +inherit pypi setuptools3 ptest + +SRC_URI += "file://run-ptest" + +RDEPENDS:${PN}-ptest += " \ + python3-pytest \ + python3-terminal \ + python3-unixadmin \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ + cp -rf ${S}/setup.cfg ${D}${PTEST_PATH}/ + cp -rf ${S}/docs ${D}${PTEST_PATH}/ +} + +UPSTREAM_CHECK_REGEX = "click/(?P<pver>\d+(\.\d+)+)/" + +CLEANBROKEN = "1" + +RDEPENDS:${PN} += "\ + python3-io \ + python3-threading \ + " + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-cryptography-crates.inc b/meta/recipes-devtools/python/python3-cryptography-crates.inc new file mode 100644 index 0000000000..b26e22b70c --- /dev/null +++ b/meta/recipes-devtools/python/python3-cryptography-crates.inc @@ -0,0 +1,102 @@ +# Autogenerated with 'bitbake -c update_crates python3-cryptography' + +# from src/rust/Cargo.lock +SRC_URI += " \ + crate://crates.io/asn1/0.15.5 \ + crate://crates.io/asn1_derive/0.15.5 \ + crate://crates.io/autocfg/1.1.0 \ + crate://crates.io/base64/0.21.7 \ + crate://crates.io/bitflags/1.3.2 \ + crate://crates.io/bitflags/2.4.2 \ + crate://crates.io/cc/1.0.83 \ + crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/foreign-types/0.3.2 \ + crate://crates.io/foreign-types-shared/0.1.1 \ + crate://crates.io/heck/0.4.1 \ + crate://crates.io/indoc/2.0.4 \ + crate://crates.io/libc/0.2.152 \ + crate://crates.io/lock_api/0.4.11 \ + crate://crates.io/memoffset/0.9.0 \ + crate://crates.io/once_cell/1.19.0 \ + crate://crates.io/openssl/0.10.63 \ + crate://crates.io/openssl-macros/0.1.1 \ + crate://crates.io/openssl-sys/0.9.99 \ + crate://crates.io/parking_lot/0.12.1 \ + crate://crates.io/parking_lot_core/0.9.9 \ + crate://crates.io/pem/3.0.3 \ + crate://crates.io/pkg-config/0.3.29 \ + crate://crates.io/portable-atomic/1.6.0 \ + crate://crates.io/proc-macro2/1.0.78 \ + crate://crates.io/pyo3/0.20.3 \ + crate://crates.io/pyo3-build-config/0.20.3 \ + crate://crates.io/pyo3-ffi/0.20.3 \ + crate://crates.io/pyo3-macros/0.20.3 \ + crate://crates.io/pyo3-macros-backend/0.20.3 \ + crate://crates.io/quote/1.0.35 \ + crate://crates.io/redox_syscall/0.4.1 \ + crate://crates.io/scopeguard/1.2.0 \ + crate://crates.io/self_cell/1.0.3 \ + crate://crates.io/smallvec/1.13.1 \ + crate://crates.io/syn/2.0.48 \ + crate://crates.io/target-lexicon/0.12.13 \ + crate://crates.io/unicode-ident/1.0.12 \ + crate://crates.io/unindent/0.2.3 \ + crate://crates.io/vcpkg/0.2.15 \ + crate://crates.io/windows-targets/0.48.5 \ + crate://crates.io/windows_aarch64_gnullvm/0.48.5 \ + crate://crates.io/windows_aarch64_msvc/0.48.5 \ + crate://crates.io/windows_i686_gnu/0.48.5 \ + crate://crates.io/windows_i686_msvc/0.48.5 \ + crate://crates.io/windows_x86_64_gnu/0.48.5 \ + crate://crates.io/windows_x86_64_gnullvm/0.48.5 \ + crate://crates.io/windows_x86_64_msvc/0.48.5 \ +" + +SRC_URI[asn1-0.15.5.sha256sum] = "ae3ecbce89a22627b5e8e6e11d69715617138290289e385cde773b1fe50befdb" +SRC_URI[asn1_derive-0.15.5.sha256sum] = "861af988fac460ac69a09f41e6217a8fb9178797b76fcc9478444be6a59be19c" +SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +SRC_URI[base64-0.21.7.sha256sum] = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" +SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +SRC_URI[bitflags-2.4.2.sha256sum] = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" +SRC_URI[cc-1.0.83.sha256sum] = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +SRC_URI[foreign-types-0.3.2.sha256sum] = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +SRC_URI[foreign-types-shared-0.1.1.sha256sum] = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +SRC_URI[indoc-2.0.4.sha256sum] = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8" +SRC_URI[libc-0.2.152.sha256sum] = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" +SRC_URI[lock_api-0.4.11.sha256sum] = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +SRC_URI[memoffset-0.9.0.sha256sum] = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +SRC_URI[once_cell-1.19.0.sha256sum] = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +SRC_URI[openssl-0.10.63.sha256sum] = "15c9d69dd87a29568d4d017cfe8ec518706046a05184e5aea92d0af890b803c8" +SRC_URI[openssl-macros-0.1.1.sha256sum] = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +SRC_URI[openssl-sys-0.9.99.sha256sum] = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae" +SRC_URI[parking_lot-0.12.1.sha256sum] = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +SRC_URI[parking_lot_core-0.9.9.sha256sum] = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +SRC_URI[pem-3.0.3.sha256sum] = "1b8fcc794035347fb64beda2d3b462595dd2753e3f268d89c5aae77e8cf2c310" +SRC_URI[pkg-config-0.3.29.sha256sum] = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb" +SRC_URI[portable-atomic-1.6.0.sha256sum] = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" +SRC_URI[proc-macro2-1.0.78.sha256sum] = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +SRC_URI[pyo3-0.20.3.sha256sum] = "53bdbb96d49157e65d45cc287af5f32ffadd5f4761438b527b055fb0d4bb8233" +SRC_URI[pyo3-build-config-0.20.3.sha256sum] = "deaa5745de3f5231ce10517a1f5dd97d53e5a2fd77aa6b5842292085831d48d7" +SRC_URI[pyo3-ffi-0.20.3.sha256sum] = "62b42531d03e08d4ef1f6e85a2ed422eb678b8cd62b762e53891c05faf0d4afa" +SRC_URI[pyo3-macros-0.20.3.sha256sum] = "7305c720fa01b8055ec95e484a6eca7a83c841267f0dd5280f0c8b8551d2c158" +SRC_URI[pyo3-macros-backend-0.20.3.sha256sum] = "7c7e9b68bb9c3149c5b0cade5d07f953d6d125eb4337723c4ccdb665f1f96185" +SRC_URI[quote-1.0.35.sha256sum] = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +SRC_URI[redox_syscall-0.4.1.sha256sum] = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +SRC_URI[scopeguard-1.2.0.sha256sum] = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +SRC_URI[self_cell-1.0.3.sha256sum] = "58bf37232d3bb9a2c4e641ca2a11d83b5062066f88df7fed36c28772046d65ba" +SRC_URI[smallvec-1.13.1.sha256sum] = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" +SRC_URI[syn-2.0.48.sha256sum] = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" +SRC_URI[target-lexicon-0.12.13.sha256sum] = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae" +SRC_URI[unicode-ident-1.0.12.sha256sum] = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +SRC_URI[unindent-0.2.3.sha256sum] = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce" +SRC_URI[vcpkg-0.2.15.sha256sum] = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" +SRC_URI[windows-targets-0.48.5.sha256sum] = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +SRC_URI[windows_aarch64_gnullvm-0.48.5.sha256sum] = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +SRC_URI[windows_aarch64_msvc-0.48.5.sha256sum] = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +SRC_URI[windows_i686_gnu-0.48.5.sha256sum] = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +SRC_URI[windows_i686_msvc-0.48.5.sha256sum] = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +SRC_URI[windows_x86_64_gnu-0.48.5.sha256sum] = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +SRC_URI[windows_x86_64_gnullvm-0.48.5.sha256sum] = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +SRC_URI[windows_x86_64_msvc-0.48.5.sha256sum] = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" diff --git a/meta/recipes-devtools/python/python3-cryptography-vectors_42.0.5.bb b/meta/recipes-devtools/python/python3-cryptography-vectors_42.0.5.bb new file mode 100644 index 0000000000..ee522af08e --- /dev/null +++ b/meta/recipes-devtools/python/python3-cryptography-vectors_42.0.5.bb @@ -0,0 +1,31 @@ +SUMMARY = "Test vectors for the cryptography package." +HOMEPAGE = "https://cryptography.io/" +SECTION = "devel/python" +LICENSE = "Apache-2.0 | BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8c3617db4fb6fae01f1d253ab91511e4 \ + file://LICENSE.APACHE;md5=4e168cce331e5c827d4c2b68a6200e1b \ + file://LICENSE.BSD;md5=5ae30ba4123bc4f2fa49aa0b0dce887b" + +# NOTE: Make sure to keep this recipe at the same version as python3-cryptography +# Upgrade both recipes at the same time + +SRC_URI[sha256sum] = "505cd5e3b0cb32da1526f07042b7fc38a4b6c356710cb73d2b5f76b037a38ed1" + +PYPI_PACKAGE = "cryptography_vectors" + +inherit pypi python_setuptools_build_meta + +DEPENDS += " \ + python3-cryptography \ +" + +do_install:append () { + # Remove the sha256 checksum lines for pycache files + sed ${D}${PYTHON_SITEPACKAGES_DIR}/cryptography_vectors-${PV}.dist-info/RECORD -e '/__pycache__/d' -i +} + +BBCLASSEXTEND = "native nativesdk" + +UPSTREAM_CHECK_REGEX = "" + +RECIPE_NO_UPDATE_REASON = "Must be updated in sync with python3-cryptography." diff --git a/meta/recipes-devtools/python/python3-cryptography/0001-pyproject.toml-remove-benchmark-disable-option.patch b/meta/recipes-devtools/python/python3-cryptography/0001-pyproject.toml-remove-benchmark-disable-option.patch new file mode 100644 index 0000000000..f9c8d1393d --- /dev/null +++ b/meta/recipes-devtools/python/python3-cryptography/0001-pyproject.toml-remove-benchmark-disable-option.patch @@ -0,0 +1,43 @@ +From b7dd3ce1d75d1e6255e1aca82aa7f401d4246a75 Mon Sep 17 00:00:00 2001 +From: Mingli Yu <mingli.yu@windriver.com> +Date: Tue, 17 May 2022 17:22:48 +0800 +Subject: [PATCH] pyproject.toml: remove --benchmark-disable option + +The new version introduced below change, so remove the option +to avoid python3-pytest-benchmark rdepends to fix the gap. +496703c8 Refs #7079 -- added basic scaffholding for benchmarks (#7087) + +Fixes: + # ./run-ptest + Free memory: 31.283 GB + ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] + pytest: error: unrecognized arguments: --benchmark-disable + inifile: /usr/lib/python3-cryptography/ptest/pyproject.toml + rootdir: /usr/lib/python3-cryptography/ptest + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> + +Refresh for 42.02 +Signed-off-by: Tim Orling <tim.orling@konsulko.com> +--- + pyproject.toml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pyproject.toml b/pyproject.toml +index c9a7979bd..dec4b7157 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -92,7 +92,7 @@ rust-version = ">=1.63.0" + + + [tool.pytest.ini_options] +-addopts = "-r s --capture=no --strict-markers --benchmark-disable" ++addopts = "-r s --capture=no --strict-markers" + console_output_style = "progress-even-when-capture-no" + markers = [ + "skip_fips: this test is not executed in FIPS mode", +-- +2.34.1 + diff --git a/meta/recipes-devtools/python/python3-cryptography/check-memfree.py b/meta/recipes-devtools/python/python3-cryptography/check-memfree.py new file mode 100755 index 0000000000..ed680d8d5b --- /dev/null +++ b/meta/recipes-devtools/python/python3-cryptography/check-memfree.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python3 +# https://stackoverflow.com/questions/22102999/get-total-physical-memory-in-python/28161352 +import sys +meminfo = dict((i.split()[0].rstrip(':'),int(i.split()[1])) for i in open('/proc/meminfo').readlines()) +mem_free = meminfo['MemTotal']/1024./1024. +if mem_free < 2.: + print("Insufficient free memory({:.3f}): requires > 2 GB".format(mem_free)) + sys.exit(1) +else: + print("Free memory: {:.3f} GB".format(mem_free)) diff --git a/meta/recipes-devtools/python/python3-cryptography/run-ptest b/meta/recipes-devtools/python/python3-cryptography/run-ptest new file mode 100644 index 0000000000..fe191a5dc4 --- /dev/null +++ b/meta/recipes-devtools/python/python3-cryptography/run-ptest @@ -0,0 +1,9 @@ +#!/bin/sh + +if ./check-memfree.py; then + # Skip the bench test module, we don't yet have pytest3-benchmark in core + # and these are more benchmarks than unit tests. + pytest --automake -k 'not bench' +else + echo "SKIP: crytography.not_enough_memory" +fi diff --git a/meta/recipes-devtools/python/python3-cryptography_42.0.5.bb b/meta/recipes-devtools/python/python3-cryptography_42.0.5.bb new file mode 100644 index 0000000000..732f925d92 --- /dev/null +++ b/meta/recipes-devtools/python/python3-cryptography_42.0.5.bb @@ -0,0 +1,67 @@ +SUMMARY = "Provides cryptographic recipes and primitives to python developers" +HOMEPAGE = "https://cryptography.io/" +SECTION = "devel/python" +LICENSE = "Apache-2.0 | BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8c3617db4fb6fae01f1d253ab91511e4 \ + file://LICENSE.APACHE;md5=4e168cce331e5c827d4c2b68a6200e1b \ + file://LICENSE.BSD;md5=5ae30ba4123bc4f2fa49aa0b0dce887b \ + " +LDSHARED += "-pthread" + +SRC_URI[sha256sum] = "6fe07eec95dfd477eb9530aef5bead34fec819b3aaf6c5bd6d20565da607bfe1" + +SRC_URI += "file://0001-pyproject.toml-remove-benchmark-disable-option.patch \ + file://check-memfree.py \ + file://run-ptest \ + " + +require ${BPN}-crates.inc + +inherit pypi python_setuptools3_rust cargo-update-recipe-crates pkgconfig + +DEPENDS += " \ + python3-cffi-native \ +" + +RDEPENDS:${PN} += " \ + python3-cffi \ +" + +RDEPENDS:${PN}:append:class-target = " \ + python3-numbers \ + python3-threading \ +" + +RDEPENDS:${PN}-ptest += " \ + python3-bcrypt \ + python3-cryptography-vectors (= ${PV}) \ + python3-hypothesis \ + python3-iso8601 \ + python3-mmap \ + python3-pretend \ + python3-psutil \ + python3-pytest \ + python3-unittest-automake-output \ + python3-pytest-subtests \ + python3-pytz \ +" + +inherit ptest + +do_install_ptest() { + install -D ${WORKDIR}/check-memfree.py ${D}${PTEST_PATH}/ + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ + # remove test_x509.py as it needs benchmark and we don't + # want to introduce the benchmark dependency + rm -rf ${D}${PTEST_PATH}/tests/bench/test_x509.py + install -d ${D}${PTEST_PATH}/tests/hazmat + cp -rf ${S}/tests/hazmat/* ${D}${PTEST_PATH}/tests/hazmat/ + cp -r ${S}/pyproject.toml ${D}${PTEST_PATH}/ +} + +FILES:${PN}-dbg += " \ + ${PYTHON_SITEPACKAGES_DIR}/${SRCNAME}/hazmat/bindings/.debug \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-cython_0.29.24.bb b/meta/recipes-devtools/python/python3-cython_0.29.24.bb deleted file mode 100644 index b1d21bd15c..0000000000 --- a/meta/recipes-devtools/python/python3-cython_0.29.24.bb +++ /dev/null @@ -1,37 +0,0 @@ -inherit setuptools3 -require python-cython.inc - -RDEPENDS:${PN} += "\ - python3-setuptools \ -" - -# running build_ext a second time during install fails, because Python -# would then attempt to import cythonized modules built for the target -# architecture. -DISTUTILS_INSTALL_ARGS += "--skip-build" - -do_install:append() { - # rename scripts that would conflict with the Python 2 build of Cython - mv ${D}${bindir}/cython ${D}${bindir}/cython3 - mv ${D}${bindir}/cythonize ${D}${bindir}/cythonize3 - mv ${D}${bindir}/cygdb ${D}${bindir}/cygdb3 -} - -PACKAGEBUILDPKGD += "cython_fix_sources" - -cython_fix_sources () { - for f in ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/FlowControl.c \ - ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/FusedNode.c \ - ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/Scanning.c \ - ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/Visitor.c \ - ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Plex/Actions.c \ - ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Plex/Scanners.c \ - ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Runtime/refnanny.c \ - ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Tempita/_tempita.c \ - ${PKGD}${libdir}/${PYTHON_DIR}/site-packages/Cython*/SOURCES.txt; do - if [ -e $f ]; then - sed -i -e 's#${WORKDIR}#/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}#g' $f - fi - done -} - diff --git a/meta/recipes-devtools/python/python3-cython_3.0.10.bb b/meta/recipes-devtools/python/python3-cython_3.0.10.bb new file mode 100644 index 0000000000..07638d7ad7 --- /dev/null +++ b/meta/recipes-devtools/python/python3-cython_3.0.10.bb @@ -0,0 +1,37 @@ +inherit setuptools3 +require python-cython.inc + +RDEPENDS:${PN} += "\ + python3-setuptools \ +" + +# running build_ext a second time during install fails, because Python +# would then attempt to import cythonized modules built for the target +# architecture. +SETUPTOOLS_INSTALL_ARGS += "--skip-build" + +do_install:append() { + # rename scripts that would conflict with the Python 2 build of Cython + mv ${D}${bindir}/cython ${D}${bindir}/cython3 + mv ${D}${bindir}/cythonize ${D}${bindir}/cythonize3 + mv ${D}${bindir}/cygdb ${D}${bindir}/cygdb3 +} + +PACKAGESPLITFUNCS =+ "cython_fix_sources" + +cython_fix_sources () { + for f in ${PKGD}${TARGET_DBGSRC_DIR}/Cython/Compiler/FlowControl.c \ + ${PKGD}${TARGET_DBGSRC_DIR}/Cython/Compiler/FusedNode.c \ + ${PKGD}${TARGET_DBGSRC_DIR}/Cython/Compiler/Scanning.c \ + ${PKGD}${TARGET_DBGSRC_DIR}/Cython/Compiler/Visitor.c \ + ${PKGD}${TARGET_DBGSRC_DIR}/Cython/Plex/Actions.c \ + ${PKGD}${TARGET_DBGSRC_DIR}/Cython/Plex/Scanners.c \ + ${PKGD}${TARGET_DBGSRC_DIR}/Cython/Runtime/refnanny.c \ + ${PKGD}${TARGET_DBGSRC_DIR}/Cython/Tempita/_tempita.c \ + ${PKGD}${libdir}/${PYTHON_DIR}/site-packages/Cython*/SOURCES.txt; do + if [ -e $f ]; then + sed -i -e 's#${WORKDIR}/Cython-${PV}#${TARGET_DBGSRC_DIR}#g' $f + fi + done +} + diff --git a/meta/recipes-devtools/python/python3-dbus_1.2.18.bb b/meta/recipes-devtools/python/python3-dbus_1.3.2.bb index 9592fbf716..e0cf64c70e 100644 --- a/meta/recipes-devtools/python/python3-dbus_1.2.18.bb +++ b/meta/recipes-devtools/python/python3-dbus_1.3.2.bb @@ -2,21 +2,19 @@ SUMMARY = "Python bindings for the DBus inter-process communication system" SECTION = "devel/python" HOMEPAGE = "http://www.freedesktop.org/Software/dbus" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=b03240518994df6d8c974675675e5ca4" +LIC_FILES_CHKSUM = "file://COPYING;md5=97f58951300aa52a9f9e3a62bd5c846c" DEPENDS = "expat dbus glib-2.0 virtual/libintl" SRC_URI = "http://dbus.freedesktop.org/releases/dbus-python/dbus-python-${PV}.tar.gz" -SRC_URI[sha256sum] = "92bdd1e68b45596c833307a5ff4b217ee6929a1502f5341bae28fd120acf7260" +SRC_URI[sha256sum] = "ad67819308618b5069537be237f8e68ca1c7fcc95ee4a121fe6845b1418248f8" S = "${WORKDIR}/dbus-python-${PV}" -inherit distutils3-base autotools pkgconfig - -# documentation needs python3-sphinx, which is not in oe-core or meta-python for now -# change to use PACKAGECONFIG when python3-sphinx is added to oe-core -EXTRA_OECONF += "--disable-documentation" +inherit setuptools3-base meson pkgconfig +# requires dbus-run-session +EXTRA_OEMESON += "-Dtests=false" RDEPENDS:${PN} = "python3-io python3-logging python3-stringold python3-threading python3-xml" diff --git a/meta/recipes-devtools/python/python3-dbusmock_0.24.0.bb b/meta/recipes-devtools/python/python3-dbusmock_0.24.0.bb deleted file mode 100644 index 271a2b105f..0000000000 --- a/meta/recipes-devtools/python/python3-dbusmock_0.24.0.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "With this program/Python library you can easily create mock objects on D-Bus" -HOMEPAGE = "https://pypi.org/project/python-dbusmock/" - -LICENSE = "GPL-3.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02" - -SRC_URI[sha256sum] = "0be0d51dba4aee050bb2cd9074a377bf9308306df1eb7918038c6ffe7153c272" - -PYPI_PACKAGE = "python-dbusmock" - -inherit pypi setuptools3 - -RDEPENDS:${PN} += "\ - ${PYTHON_PN}-dbus \ - ${PYTHON_PN}-pygobject \ - ${PYTHON_PN}-unittest \ - ${PYTHON_PN}-xml \ - " diff --git a/meta/recipes-devtools/python/python3-dbusmock_0.31.1.bb b/meta/recipes-devtools/python/python3-dbusmock_0.31.1.bb new file mode 100644 index 0000000000..fc32c6bbb6 --- /dev/null +++ b/meta/recipes-devtools/python/python3-dbusmock_0.31.1.bb @@ -0,0 +1,22 @@ +SUMMARY = "With this program/Python library you can easily create mock objects on D-Bus" +HOMEPAGE = "https://pypi.org/project/python-dbusmock/" + +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02" + +SRC_URI[sha256sum] = "b23b8e1b51fe2a9b13e617fff6b60b3ed8e536c080cf3498019d223678d5ea49" + +PYPI_PACKAGE = "python-dbusmock" + +inherit pypi python_setuptools_build_meta +DEPENDS += "python3-setuptools-scm-native" + +RDEPENDS:${PN} += "\ + python3-dbus \ + python3-unittest \ + python3-xml \ + " + +RRECOMMENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'gobject-introspection-data', '${MLPREFIX}python3-pygobject', '', d)}" + +BBCLASSEXTEND = "native" diff --git a/meta/recipes-devtools/python/python3-docutils_0.17.1.bb b/meta/recipes-devtools/python/python3-docutils_0.17.1.bb deleted file mode 100644 index 54a809847f..0000000000 --- a/meta/recipes-devtools/python/python3-docutils_0.17.1.bb +++ /dev/null @@ -1,11 +0,0 @@ -SUMMARY = "Docutils is a modular system for processing documentation into useful formats" -HOMEPAGE = "http://docutils.sourceforge.net" -SECTION = "devel/python" -LICENSE = "PSF & BSD-2-Clause & GPLv3" -LIC_FILES_CHKSUM = "file://COPYING.txt;md5=836a1950177996968a49ff477a4a61c4" - -SRC_URI[sha256sum] = "686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125" - -inherit pypi setuptools3 - -BBCLASSEXTEND = "native" diff --git a/meta/recipes-devtools/python/python3-docutils_0.20.1.bb b/meta/recipes-devtools/python/python3-docutils_0.20.1.bb new file mode 100644 index 0000000000..6038732cc4 --- /dev/null +++ b/meta/recipes-devtools/python/python3-docutils_0.20.1.bb @@ -0,0 +1,20 @@ +SUMMARY = "Docutils is a modular system for processing documentation into useful formats" +HOMEPAGE = "http://docutils.sourceforge.net" +SECTION = "devel/python" +LICENSE = "PSF-2.0 & BSD-2-Clause & GPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING.txt;md5=08f5f8aa6a1db2500c08a2bb558e45af" + +SRC_URI[sha256sum] = "f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b" + +inherit pypi setuptools3 + +do_install:append() { + for f in rst2html rst2html4 rst2html5 rst2latex rst2man \ + rst2odt rst2odt_prepstyles rst2pseudoxml rst2s5 rst2xetex rst2xml \ + rstpep2html + do + mv ${D}${bindir}/$f.py ${D}${bindir}/$f; + done +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-dtc/0001-Revert-libfdt-overlay-make-overlay_get_target-public.patch b/meta/recipes-devtools/python/python3-dtc/0001-Revert-libfdt-overlay-make-overlay_get_target-public.patch new file mode 100644 index 0000000000..a2df482e3a --- /dev/null +++ b/meta/recipes-devtools/python/python3-dtc/0001-Revert-libfdt-overlay-make-overlay_get_target-public.patch @@ -0,0 +1,132 @@ +From 4d4703e0199fb3556c37694e4d951785abca22fd Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield <bruce.ashfield@gmail.com> +Date: Wed, 19 Jan 2022 12:46:42 -0500 +Subject: [PATCH] Revert "libfdt: overlay: make overlay_get_target() public" + +This reverts commit 45f3d1a095dd3440578d5c6313eba555a791f3fb. + +Upstream-Status: Inappropriate [embedded specific] + +--- + libfdt/fdt_overlay.c | 29 ++++++++++++++++++++++------- + libfdt/libfdt.h | 18 ------------------ + libfdt/version.lds | 1 - + 3 files changed, 22 insertions(+), 26 deletions(-) + +diff --git a/libfdt/fdt_overlay.c b/libfdt/fdt_overlay.c +index 5c0c398..d217e79 100644 +--- a/libfdt/fdt_overlay.c ++++ b/libfdt/fdt_overlay.c +@@ -40,22 +40,37 @@ static uint32_t overlay_get_target_phandle(const void *fdto, int fragment) + return fdt32_to_cpu(*val); + } + +-int fdt_overlay_target_offset(const void *fdt, const void *fdto, +- int fragment_offset, char const **pathp) ++/** ++ * overlay_get_target - retrieves the offset of a fragment's target ++ * @fdt: Base device tree blob ++ * @fdto: Device tree overlay blob ++ * @fragment: node offset of the fragment in the overlay ++ * @pathp: pointer which receives the path of the target (or NULL) ++ * ++ * overlay_get_target() retrieves the target offset in the base ++ * device tree of a fragment, no matter how the actual targeting is ++ * done (through a phandle or a path) ++ * ++ * returns: ++ * the targeted node offset in the base device tree ++ * Negative error code on error ++ */ ++static int overlay_get_target(const void *fdt, const void *fdto, ++ int fragment, char const **pathp) + { + uint32_t phandle; + const char *path = NULL; + int path_len = 0, ret; + + /* Try first to do a phandle based lookup */ +- phandle = overlay_get_target_phandle(fdto, fragment_offset); ++ phandle = overlay_get_target_phandle(fdto, fragment); + if (phandle == (uint32_t)-1) + return -FDT_ERR_BADPHANDLE; + + /* no phandle, try path */ + if (!phandle) { + /* And then a path based lookup */ +- path = fdt_getprop(fdto, fragment_offset, "target-path", &path_len); ++ path = fdt_getprop(fdto, fragment, "target-path", &path_len); + if (path) + ret = fdt_path_offset(fdt, path); + else +@@ -621,7 +636,7 @@ static int overlay_merge(void *fdt, void *fdto) + if (overlay < 0) + return overlay; + +- target = fdt_overlay_target_offset(fdt, fdto, fragment, NULL); ++ target = overlay_get_target(fdt, fdto, fragment, NULL); + if (target < 0) + return target; + +@@ -764,7 +779,7 @@ static int overlay_symbol_update(void *fdt, void *fdto) + return -FDT_ERR_BADOVERLAY; + + /* get the target of the fragment */ +- ret = fdt_overlay_target_offset(fdt, fdto, fragment, &target_path); ++ ret = overlay_get_target(fdt, fdto, fragment, &target_path); + if (ret < 0) + return ret; + target = ret; +@@ -786,7 +801,7 @@ static int overlay_symbol_update(void *fdt, void *fdto) + + if (!target_path) { + /* again in case setprop_placeholder changed it */ +- ret = fdt_overlay_target_offset(fdt, fdto, fragment, &target_path); ++ ret = overlay_get_target(fdt, fdto, fragment, &target_path); + if (ret < 0) + return ret; + target = ret; +diff --git a/libfdt/libfdt.h b/libfdt/libfdt.h +index a7f432c..7f117e8 100644 +--- a/libfdt/libfdt.h ++++ b/libfdt/libfdt.h +@@ -2116,24 +2116,6 @@ int fdt_del_node(void *fdt, int nodeoffset); + */ + int fdt_overlay_apply(void *fdt, void *fdto); + +-/** +- * fdt_overlay_target_offset - retrieves the offset of a fragment's target +- * @fdt: Base device tree blob +- * @fdto: Device tree overlay blob +- * @fragment_offset: node offset of the fragment in the overlay +- * @pathp: pointer which receives the path of the target (or NULL) +- * +- * fdt_overlay_target_offset() retrieves the target offset in the base +- * device tree of a fragment, no matter how the actual targeting is +- * done (through a phandle or a path) +- * +- * returns: +- * the targeted node offset in the base device tree +- * Negative error code on error +- */ +-int fdt_overlay_target_offset(const void *fdt, const void *fdto, +- int fragment_offset, char const **pathp); +- + /**********************************************************************/ + /* Debugging / informational functions */ + /**********************************************************************/ +diff --git a/libfdt/version.lds b/libfdt/version.lds +index cbce5d4..7ab85f1 100644 +--- a/libfdt/version.lds ++++ b/libfdt/version.lds +@@ -77,7 +77,6 @@ LIBFDT_1.2 { + fdt_appendprop_addrrange; + fdt_setprop_inplace_namelen_partial; + fdt_create_with_flags; +- fdt_overlay_target_offset; + local: + *; + }; +-- +2.19.1 + diff --git a/meta/recipes-devtools/python/python3-dtc_1.7.0.bb b/meta/recipes-devtools/python/python3-dtc_1.7.0.bb new file mode 100644 index 0000000000..85e48d4694 --- /dev/null +++ b/meta/recipes-devtools/python/python3-dtc_1.7.0.bb @@ -0,0 +1,25 @@ +SUMMARY = "Python Library for the Device Tree Compiler" +HOMEPAGE = "https://devicetree.org/" +DESCRIPTION = "A python library for the Device Tree Compiler, a tool used to manipulate Device Tree files which contain a data structure for describing hardware." +SECTION = "bootloader" +LICENSE = "GPL-2.0-only | BSD-2-Clause" + +DEPENDS = "flex-native bison-native swig-native python3-setuptools-scm-native libyaml dtc" + +SRC_URI = "git://git.kernel.org/pub/scm/utils/dtc/dtc.git;branch=master \ + file://0001-Revert-libfdt-overlay-make-overlay_get_target-public.patch \ + " + +UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" + +LIC_FILES_CHKSUM = "file://pylibfdt/libfdt.i;beginline=1;endline=6;md5=afda088c974174a29108c8d80b5dce90" + +SRCREV = "039a99414e778332d8f9c04cbd3072e1dcc62798" + +S = "${WORKDIR}/git" + +PYPA_WHEEL = "${S}/dist/libfdt-1.6.2*.whl" + +inherit setuptools3 pkgconfig + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-dtschema_2024.4.bb b/meta/recipes-devtools/python/python3-dtschema_2024.4.bb new file mode 100644 index 0000000000..9583cd57b9 --- /dev/null +++ b/meta/recipes-devtools/python/python3-dtschema_2024.4.bb @@ -0,0 +1,20 @@ +SUMMARY = "Tooling for devicetree validation using YAML and jsonschema" +HOMEPAGE = "https://github.com/devicetree-org/dt-schema" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=457495c8fa03540db4a576bf7869e811" + +inherit pypi python_setuptools_build_meta + +PYPI_PACKAGE = "dtschema" + +SRC_URI[sha256sum] = "18dd1d34b4a5e451291e5444e9ceb4a6febc605871cdaef22673b6f80aa4a131" + +DEPENDS += "python3-setuptools-scm-native" +RDEPENDS:${PN} += "\ + python3-dtc \ + python3-jsonschema \ + python3-rfc3987 \ + python3-ruamel-yaml \ + " + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-editables_0.5.bb b/meta/recipes-devtools/python/python3-editables_0.5.bb new file mode 100644 index 0000000000..f3261183cb --- /dev/null +++ b/meta/recipes-devtools/python/python3-editables_0.5.bb @@ -0,0 +1,15 @@ +SUMMARY = "A Python library for creating editable wheels" +HOMEPAGE = "https://github.com/pfmoore/editables" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=41bc1be47b7bb8240db3ef928c7cb0bf" + +SRC_URI[sha256sum] = "309627d9b5c4adc0e668d8c6fa7bac1ba7c8c5d415c2d27f60f081f8e80d1de2" + +inherit pypi python_setuptools_build_meta + +RDEPENDS:${PN} += "\ + python3-io \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-flit-core_3.9.0.bb b/meta/recipes-devtools/python/python3-flit-core_3.9.0.bb new file mode 100644 index 0000000000..b0bef4b6b6 --- /dev/null +++ b/meta/recipes-devtools/python/python3-flit-core_3.9.0.bb @@ -0,0 +1,37 @@ +SUMMARY = "This provides a PEP 517 build backend for packages using Flit." +DESCRIPTION = "This provides a PEP 517 build backend for packages using \ +Flit. The only public interface is the API specified by PEP 517, at \ +flit_core.buildapi." +HOMEPAGE = "https://github.com/pypa/flit" +BUGTRACKER = "https://github.com/pypa/flit/issues" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=41eb78fa8a872983a882c694a8305f08" + +SRC_URI[sha256sum] = "d75edf5eb324da20d53570a6a6f87f51e606eee8384925cd66a90611140844c7" + +inherit pypi python_flit_core + +# Need to install by hand as there's a dependency loop +DEPENDS:remove:class-native = " python3-build-native python3-installer-native" +DEPENDS:append:class-native = " unzip-native" + +# We need the full flit tarball +PYPI_PACKAGE = "flit" +PEP517_SOURCE_PATH = "${S}/flit_core" + +do_compile:class-native () { + python_flit_core_do_manual_build +} + +do_install:class-native () { + python_pep517_do_bootstrap_install +} + +PACKAGES =+ "${PN}-tests" + +FILES:${PN}-tests += "\ + ${PYTHON_SITEPACKAGES_DIR}/flit_core/tests/* \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-git_3.1.24.bb b/meta/recipes-devtools/python/python3-git_3.1.24.bb deleted file mode 100644 index 445c7b0235..0000000000 --- a/meta/recipes-devtools/python/python3-git_3.1.24.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "Python library used to interact with Git repositories" -DESCRIPTION = "GitPython provides object model read and write access to \ -a git repository. Access repository information conveniently, alter the \ -index directly, handle remotes, or go down to low-level object database \ -access with big-files support." -HOMEPAGE = "http://github.com/gitpython-developers/GitPython" -SECTION = "devel/python" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=8b8d26c37c1d5a04f9b0186edbebc183" - -PYPI_PACKAGE = "GitPython" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "df83fdf5e684fef7c6ee2c02fc68a5ceb7e7e759d08b694088d0cacb4eba59e5" - -DEPENDS += " ${PYTHON_PN}-gitdb" - -RDEPENDS:${PN} += " \ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-gitdb \ - ${PYTHON_PN}-io \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-math \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-stringold \ - ${PYTHON_PN}-unittest \ - ${PYTHON_PN}-unixadmin \ - git \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-git_3.1.43.bb b/meta/recipes-devtools/python/python3-git_3.1.43.bb new file mode 100644 index 0000000000..45c988117b --- /dev/null +++ b/meta/recipes-devtools/python/python3-git_3.1.43.bb @@ -0,0 +1,32 @@ +SUMMARY = "Python library used to interact with Git repositories" +DESCRIPTION = "GitPython provides object model read and write access to \ +a git repository. Access repository information conveniently, alter the \ +index directly, handle remotes, or go down to low-level object database \ +access with big-files support." +HOMEPAGE = "http://github.com/gitpython-developers/GitPython" +SECTION = "devel/python" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5279a7ab369ba336989dcf2a107e5c8e" + +PYPI_PACKAGE = "GitPython" + +inherit pypi python_setuptools_build_meta + +SRC_URI[sha256sum] = "35f314a9f878467f5453cc1fee295c3e18e52f1b99f10f6cf5b1682e968a9e7c" + +DEPENDS += " python3-gitdb" + +RDEPENDS:${PN} += " \ + python3-datetime \ + python3-gitdb \ + python3-io \ + python3-logging \ + python3-math \ + python3-netclient \ + python3-stringold \ + python3-unittest \ + python3-unixadmin \ + git \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-gitdb_4.0.11.bb b/meta/recipes-devtools/python/python3-gitdb_4.0.11.bb new file mode 100644 index 0000000000..25e1a2df7e --- /dev/null +++ b/meta/recipes-devtools/python/python3-gitdb_4.0.11.bb @@ -0,0 +1,22 @@ +SUMMARY = "A pure-Python git object database" +HOMEPAGE = "http://github.com/gitpython-developers/gitdb" +SECTION = "devel/python" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=59e5ecb13339a936eedf83282eaf4528" + +DEPENDS = "python3-smmap" + +inherit pypi setuptools3 + +PYPI_PACKAGE = "gitdb" + +SRC_URI[sha256sum] = "bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b" + +RDEPENDS:${PN} += "python3-compression \ + python3-crypt \ + python3-io \ + python3-mmap \ + python3-shell \ + python3-smmap \ +" +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-gitdb_4.0.7.bb b/meta/recipes-devtools/python/python3-gitdb_4.0.7.bb deleted file mode 100644 index 988d67b5f1..0000000000 --- a/meta/recipes-devtools/python/python3-gitdb_4.0.7.bb +++ /dev/null @@ -1,4 +0,0 @@ -inherit setuptools3 -require python-gitdb.inc - -SRC_URI[md5sum] = "3f52187435ab0b6e64a15782ffaf29ab" diff --git a/meta/recipes-devtools/python/python3-hatch-fancy-pypi-readme_24.1.0.bb b/meta/recipes-devtools/python/python3-hatch-fancy-pypi-readme_24.1.0.bb new file mode 100644 index 0000000000..1e5c67f832 --- /dev/null +++ b/meta/recipes-devtools/python/python3-hatch-fancy-pypi-readme_24.1.0.bb @@ -0,0 +1,14 @@ +SUMMARY = "Hatch plugin for fancy PyPI readmes " +HOMEPAGE = "https://pypi.org/project/hatch-fancy-pypi-readme/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ba5633c60bd3e243091013aa83b4d807" + +inherit pypi python_hatchling + +PYPI_PACKAGE = "hatch_fancy_pypi_readme" + +SRC_URI[sha256sum] = "44dd239f1a779b9dcf8ebc9401a611fd7f7e3e14578dcf22c265dfaf7c1514b8" + +BBCLASSEXTEND = "native nativesdk" + +UPSTREAM_CHECK_REGEX = "/hatch-fancy-pypi-readme/(?P<pver>(\d+[\.\-_]*)+)/" diff --git a/meta/recipes-devtools/python/python3-hatch-vcs_0.4.0.bb b/meta/recipes-devtools/python/python3-hatch-vcs_0.4.0.bb new file mode 100644 index 0000000000..2e49aba469 --- /dev/null +++ b/meta/recipes-devtools/python/python3-hatch-vcs_0.4.0.bb @@ -0,0 +1,14 @@ +SUMMARY = "Hatch plugin for versioning with your preferred VCS" +HOMEPAGE = "https://pypi.org/project/hatch-vcs/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=26501cfd0bbddf830ee820e95551fa3d" + +inherit pypi python_hatchling + +PYPI_PACKAGE = "hatch_vcs" + +SRC_URI[sha256sum] = "093810748fe01db0d451fabcf2c1ac2688caefd232d4ede967090b1c1b07d9f7" + +BBCLASSEXTEND = "native nativesdk" + +UPSTREAM_CHECK_REGEX = "/hatch-vcs/(?P<pver>(\d+[\.\-_]*)+)/" diff --git a/meta/recipes-devtools/python/python3-hatchling_1.24.1.bb b/meta/recipes-devtools/python/python3-hatchling_1.24.1.bb new file mode 100644 index 0000000000..fc8d953281 --- /dev/null +++ b/meta/recipes-devtools/python/python3-hatchling_1.24.1.bb @@ -0,0 +1,17 @@ +SUMMARY = "The extensible, standards compliant build backend used by Hatch" +HOMEPAGE = "https://hatch.pypa.io/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cbe2fd33fc9297692812fc94b7d27fd9" + +inherit pypi python_hatchling + +DEPENDS += "python3-pluggy-native python3-pathspec-native python3-packaging-native python3-editables-native python3-trove-classifiers-native" +DEPENDS:remove:class-native = "python3-hatchling-native" + +SRC_URI[sha256sum] = "51f861891e98c4044eb455163a737e5d2328d7aa74890b182db2d80fee22a497" + +do_compile:prepend() { + export PYTHONPATH=src +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-hypothesis/run-ptest b/meta/recipes-devtools/python/python3-hypothesis/run-ptest index 8d44d7c49a..54f6e7930f 100644 --- a/meta/recipes-devtools/python/python3-hypothesis/run-ptest +++ b/meta/recipes-devtools/python/python3-hypothesis/run-ptest @@ -7,4 +7,4 @@ # # Instead we run two test suites imported from examples/ -pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}' +pytest --automake diff --git a/meta/recipes-devtools/python/python3-hypothesis_6.23.2.bb b/meta/recipes-devtools/python/python3-hypothesis_6.100.1.bb index 4ffba1c612..af7facfe7e 100644 --- a/meta/recipes-devtools/python/python3-hypothesis_6.23.2.bb +++ b/meta/recipes-devtools/python/python3-hypothesis_6.100.1.bb @@ -13,20 +13,21 @@ SRC_URI += " \ file://test_rle.py \ " -SRC_URI[sha256sum] = "b71b257916c91484716a10220ed2b9a0cf82acc3ed8ef421bb2aa0a671761053" +SRC_URI[sha256sum] = "ebff09d7fa4f1fb6a855a812baf17e578b4481b7b70ec6d96496210d1a4c6c35" RDEPENDS:${PN} += " \ python3-attrs \ python3-compression \ python3-core \ python3-json \ + python3-pytest \ python3-sortedcontainers \ python3-statistics \ python3-unittest \ " RDEPENDS:${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ + python3-unittest-automake-output \ " do_install_ptest() { diff --git a/meta/recipes-devtools/python/python3-idna_3.7.bb b/meta/recipes-devtools/python/python3-idna_3.7.bb new file mode 100644 index 0000000000..729aff1c46 --- /dev/null +++ b/meta/recipes-devtools/python/python3-idna_3.7.bb @@ -0,0 +1,14 @@ +SUMMARY = "Internationalised Domain Names in Applications" +HOMEPAGE = "https://github.com/kjd/idna" +LICENSE = "BSD-3-Clause & Python-2.0 & Unicode-TOU" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=204c0612e40a4dd46012a78d02c80fb1" + +SRC_URI[sha256sum] = "028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc" + +inherit pypi python_flit_core + +RDEPENDS:${PN}:class-target = "\ + python3-codecs \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-imagesize_1.4.1.bb b/meta/recipes-devtools/python/python3-imagesize_1.4.1.bb new file mode 100644 index 0000000000..4edac0a533 --- /dev/null +++ b/meta/recipes-devtools/python/python3-imagesize_1.4.1.bb @@ -0,0 +1,13 @@ +SUMMARY = "Parses image files’ header and return image size." +HOMEPAGE = "https://github.com/shibukawa/imagesize_py" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=0c128f0f7e8a02e1b83884c0b5a41cda" + +SRC_URI[sha256sum] = "69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a" + +inherit setuptools3 pypi + +BBCLASSEXTEND = "native nativesdk" + +RDEPENDS:${PN} = "python3-xml" diff --git a/meta/recipes-devtools/python/python3-importlib-metadata_4.8.1.bb b/meta/recipes-devtools/python/python3-importlib-metadata_7.1.0.bb index 3f75668431..fdb37cecef 100644 --- a/meta/recipes-devtools/python/python3-importlib-metadata_4.8.1.bb +++ b/meta/recipes-devtools/python/python3-importlib-metadata_7.1.0.bb @@ -1,19 +1,19 @@ -DESCRIPTION = "Read metadata from Python packages" +SUMMARY = "Read metadata from Python packages" HOMEPAGE = "https://pypi.org/project/importlib-metadata/" LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e88ae122f3925d8bde8319060f2ddb8e" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" -inherit pypi setuptools3 +inherit pypi python_setuptools_build_meta PYPI_PACKAGE = "importlib_metadata" UPSTREAM_CHECK_REGEX = "/importlib-metadata/(?P<pver>(\d+[\.\-_]*)+)/" -SRC_URI[sha256sum] = "f284b3e11256ad1e5d03ab86bb2ccd6f5339688ff17a4d797a0fe7df326f23b1" +SRC_URI[sha256sum] = "b78938b926ee8d5f020fc4772d487045805a55ddbad2ecf21c6d60938dc7fcd2" S = "${WORKDIR}/importlib_metadata-${PV}" -DEPENDS += "${PYTHON_PN}-setuptools-scm-native ${PYTHON_PN}-toml-native" -RDEPENDS:${PN} += "${PYTHON_PN}-zipp ${PYTHON_PN}-pathlib2" +DEPENDS += "python3-setuptools-scm-native python3-toml-native" +RDEPENDS:${PN} += "python3-zipp python3-pathlib2" RDEPENDS:${PN}:append:class-target = " python3-misc" RDEPENDS:${PN}:append:class-nativesdk = " python3-misc" diff --git a/meta/recipes-devtools/python/python3-iniconfig_1.1.1.bb b/meta/recipes-devtools/python/python3-iniconfig_2.0.0.bb index 6b3359712f..2abeec62f4 100644 --- a/meta/recipes-devtools/python/python3-iniconfig_1.1.1.bb +++ b/meta/recipes-devtools/python/python3-iniconfig_2.0.0.bb @@ -4,7 +4,10 @@ HOMEPAGE = "https://pypi.org/project/iniconfig/" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=a6bb0320b04a0a503f12f69fea479de9" -SRC_URI[md5sum] = "0b7f3be87481211c183eae095bcea6f1" -SRC_URI[sha256sum] = "bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32" +SRC_URI[sha256sum] = "2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3" -inherit pypi setuptools3 +DEPENDS += "python3-hatch-vcs-native" + +inherit pypi python_hatchling + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-iniparse_0.5.bb b/meta/recipes-devtools/python/python3-iniparse_0.5.bb index b5812d90c3..c18949014b 100644 --- a/meta/recipes-devtools/python/python3-iniparse_0.5.bb +++ b/meta/recipes-devtools/python/python3-iniparse_0.5.bb @@ -1,6 +1,6 @@ SUMMARY = "Accessing and Modifying INI files" HOMEPAGE = "https://pypi.org/project/iniparse/" -LICENSE = "MIT & PSF" +LICENSE = "MIT & PSF-2.0" LIC_FILES_CHKSUM = "file://LICENSE-PSF;md5=1c78a5bb3584b353496d5f6f34edb4b2 \ file://LICENSE;md5=52f28065af11d69382693b45b5a8eb54" diff --git a/meta/recipes-devtools/python/python3-installer/interpreter.patch b/meta/recipes-devtools/python/python3-installer/interpreter.patch new file mode 100644 index 0000000000..7906769b90 --- /dev/null +++ b/meta/recipes-devtools/python/python3-installer/interpreter.patch @@ -0,0 +1,71 @@ +From 74fe171fa4a25c120607e9f8450cbdfee675c959 Mon Sep 17 00:00:00 2001 +From: Ross Burton <ross.burton@arm.com> +Date: Mon, 14 Mar 2022 14:39:22 +0000 +Subject: [PATCH] python3-installer: add installer module + +Let us override the hashbang directly (possibly upstreamable), and don't +play games with hashbangs: for now assume that even hashbangs with spaces +are simple (assume the spaces are only used to separate arguments) and +we don't have long hashbangs. + +Upstream-Status: Inappropriate +Signed-off-by: Ross Burton <ross.burton@arm.com> + +--- + src/installer/__main__.py | 9 ++++++++- + src/installer/scripts.py | 15 +-------------- + 2 files changed, 9 insertions(+), 15 deletions(-) + +diff --git a/src/installer/__main__.py b/src/installer/__main__.py +index 51014b9..38de286 100644 +--- a/src/installer/__main__.py ++++ b/src/installer/__main__.py +@@ -30,6 +30,13 @@ def _get_main_parser() -> argparse.ArgumentParser: + type=str, + help="override prefix to install packages to", + ) ++ parser.add_argument( ++ "--interpreter", ++ "-i", ++ type=str, ++ default=sys.executable, ++ help=f"interpreter (defaults to {sys.executable})", ++ ) + parser.add_argument( + "--compile-bytecode", + action="append", +@@ -86,7 +93,7 @@ def _main(cli_args: Sequence[str], program: Optional[str] = None) -> None: + with WheelFile.open(args.wheel) as source: + destination = SchemeDictionaryDestination( + scheme_dict=_get_scheme_dict(source.distribution, prefix=args.prefix), +- interpreter=sys.executable, ++ interpreter=args.interpreter, + script_kind=get_launcher_kind(), + bytecode_optimization_levels=bytecode_levels, + destdir=args.destdir, +diff --git a/src/installer/scripts.py b/src/installer/scripts.py +index 7e3c8fc..ba6ed5a 100644 +--- a/src/installer/scripts.py ++++ b/src/installer/scripts.py +@@ -59,20 +59,7 @@ def _build_shebang(executable: str, forlauncher: bool) -> bytes: + https://bitbucket.org/pypa/distlib/src/58cd5c6/distlib/scripts.py#lines-124 + """ + executable_bytes = executable.encode("utf-8") +- if forlauncher: # The launcher can just use the command as-is. +- return b"#!" + executable_bytes +- if _is_executable_simple(executable_bytes): +- return b"#!" + executable_bytes +- +- # Shebang support for an executable with a space in it is under-specified +- # and platform-dependent, so we use a clever hack to generate a script to +- # run in ``/bin/sh`` that should work on all reasonably modern platforms. +- # Read the following message to understand how the hack works: +- # https://github.com/pradyunsg/installer/pull/4#issuecomment-623668717 +- +- quoted = shlex.quote(executable).encode("utf-8") +- # I don't understand a lick what this is trying to do. +- return b"#!/bin/sh\n'''exec' " + quoted + b' "$0" "$@"\n' + b"' '''" ++ return b"#!" + executable_bytes + + + class InvalidScript(ValueError): diff --git a/meta/recipes-devtools/python/python3-installer_0.7.0.bb b/meta/recipes-devtools/python/python3-installer_0.7.0.bb new file mode 100644 index 0000000000..9429705b1f --- /dev/null +++ b/meta/recipes-devtools/python/python3-installer_0.7.0.bb @@ -0,0 +1,34 @@ +SUMMARY = "Library and tool for installing Python wheels" +DESCRIPTION = "A low-level library for installing a Python package from a wheel distribution." +HOMEPAGE = "https://installer.readthedocs.io/" +BUGTRACKER = "https://github.com/pypa/installer/issues" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5038641aec7a77451e31da828ebfae00" + +SRC_URI += "file://interpreter.patch" + +SRC_URI[sha256sum] = "a26d3e3116289bb08216e0d0f7d925fcef0b0194eedfa0c944bcaaa106c4b631" + +inherit pypi python_flit_core + +# Bootstrap the native build +DEPENDS:remove:class-native = "python3-build-native python3-installer-native" + +RDEPENDS:${PN} += " \ + python3-compile \ + python3-compression \ + python3-netclient \ +" + +INSTALL_WHEEL_COMPILE_BYTECODE:class-native = "--no-compile-bytecode" + +do_compile:class-native () { + python_flit_core_do_manual_build +} + +do_install:prepend:class-native() { + export PYTHONPATH="${S}/src" +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-iso8601_2.1.0.bb b/meta/recipes-devtools/python/python3-iso8601_2.1.0.bb new file mode 100644 index 0000000000..d7ab4a5a77 --- /dev/null +++ b/meta/recipes-devtools/python/python3-iso8601_2.1.0.bb @@ -0,0 +1,15 @@ +SUMMARY = "Simple module to parse ISO 8601 dates" +HOMEPAGE = "http://pyiso8601.readthedocs.org/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=aab31f2ef7ba214a5a341eaa47a7f367" + +SRC_URI[sha256sum] = "6b1d3829ee8921c4301998c909f7829fa9ed3cbdac0d3b16af2d743aed1ba8df" + +inherit pypi python_poetry_core + +RDEPENDS:${PN} += "\ + python3-datetime \ + python3-numbers \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-isodate_0.6.1.bb b/meta/recipes-devtools/python/python3-isodate_0.6.1.bb new file mode 100644 index 0000000000..293fb08277 --- /dev/null +++ b/meta/recipes-devtools/python/python3-isodate_0.6.1.bb @@ -0,0 +1,16 @@ +SUMMARY = "ISO 8601 date/time parser" +HOMEPAGE = "https://github.com/gweis/isodate/" +SECTION = "devel/python" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e910b35b0ef4e1f665b9a75d6afb7709" + +SRC_URI[sha256sum] = "48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9" + +inherit pypi setuptools3 + +RDEPENDS:${PN} += " \ + python3-numbers \ + python3-six \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-jinja2/run-ptest b/meta/recipes-devtools/python/python3-jinja2/run-ptest index 5cec711696..8d2017d39c 100644 --- a/meta/recipes-devtools/python/python3-jinja2/run-ptest +++ b/meta/recipes-devtools/python/python3-jinja2/run-ptest @@ -1,3 +1,3 @@ #!/bin/sh -pytest +pytest --automake diff --git a/meta/recipes-devtools/python/python3-jinja2_3.0.1.bb b/meta/recipes-devtools/python/python3-jinja2_3.0.1.bb deleted file mode 100644 index abb89c9a30..0000000000 --- a/meta/recipes-devtools/python/python3-jinja2_3.0.1.bb +++ /dev/null @@ -1,48 +0,0 @@ -DESCRIPTION = "Python Jinja2: A small but fast and easy to use stand-alone template engine written in pure python." -HOMEPAGE = "https://pypi.org/project/Jinja/" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=5dc88300786f1c214c1e9827a5229462" - -SRC_URI[sha256sum] = "703f484b47a6af502e743c9122595cc812b0271f661722403114f71a79d0f5a4" - -PYPI_PACKAGE = "Jinja2" - -CVE_PRODUCT = "jinja2 jinja" - -CLEANBROKEN = "1" - -inherit pypi setuptools3 -inherit ${@bb.utils.filter('DISTRO_FEATURES', 'ptest', d)} - -SRC_URI += " \ - file://run-ptest \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} - -RDEPENDS:${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ - ${PYTHON_PN}-toml \ - ${PYTHON_PN}-unixadmin \ -" - -RDEPENDS:${PN} += " \ - ${PYTHON_PN}-asyncio \ - ${PYTHON_PN}-crypt \ - ${PYTHON_PN}-io \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-markupsafe \ - ${PYTHON_PN}-math \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-numbers\ - ${PYTHON_PN}-pickle \ - ${PYTHON_PN}-pprint \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-threading \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-jinja2_3.1.3.bb b/meta/recipes-devtools/python/python3-jinja2_3.1.3.bb new file mode 100644 index 0000000000..636fb35811 --- /dev/null +++ b/meta/recipes-devtools/python/python3-jinja2_3.1.3.bb @@ -0,0 +1,48 @@ +SUMMARY = "Python Jinja2: A small but fast and easy to use stand-alone template engine written in pure python." +HOMEPAGE = "https://pypi.org/project/Jinja2/" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=5dc88300786f1c214c1e9827a5229462" + +SRC_URI[sha256sum] = "ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90" + +PYPI_PACKAGE = "Jinja2" + +CVE_PRODUCT = "jinja2 jinja" + +CLEANBROKEN = "1" + +inherit pypi setuptools3 ptest + +SRC_URI += " \ + file://run-ptest \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} + +RDEPENDS:${PN}-ptest += " \ + python3-pytest \ + python3-unittest-automake-output \ + python3-toml \ + python3-unixadmin \ +" + +RDEPENDS:${PN} += " \ + python3-asyncio \ + python3-crypt \ + python3-io \ + python3-json \ + python3-markupsafe \ + python3-math \ + python3-netclient \ + python3-numbers\ + python3-pickle \ + python3-pprint \ + python3-shell \ + python3-threading \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-jsonpointer/run-ptest b/meta/recipes-devtools/python/python3-jsonpointer/run-ptest new file mode 100644 index 0000000000..7ebd69231f --- /dev/null +++ b/meta/recipes-devtools/python/python3-jsonpointer/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +python3 -mputao.unittest tests.py diff --git a/meta/recipes-devtools/python/python3-jsonpointer_2.4.bb b/meta/recipes-devtools/python/python3-jsonpointer_2.4.bb new file mode 100644 index 0000000000..062fa5243f --- /dev/null +++ b/meta/recipes-devtools/python/python3-jsonpointer_2.4.bb @@ -0,0 +1,28 @@ +SUMMARY = "Resolve JSON Pointers in Python" +HOMEPAGE = "https://github.com/stefankoegl/python-json-pointer" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=32b15c843b7a329130f4e266a281ebb3" + +inherit pypi ptest setuptools3 + +SRC_URI[sha256sum] = "585cee82b70211fa9e6043b7bb89db6e1aa49524340dde8ad6b63206ea689d88" + +RDEPENDS:${PN} += " \ + python3-json \ +" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS:${PN}-ptest += " \ + python3-doctest \ + python3-unittest \ + python3-unittest-automake-output \ +" + +do_install_ptest() { + cp -f ${S}/tests.py ${D}${PTEST_PATH}/ +} diff --git a/meta/recipes-devtools/python/python3-jsonschema-specifications_2023.12.1.bb b/meta/recipes-devtools/python/python3-jsonschema-specifications_2023.12.1.bb new file mode 100644 index 0000000000..4ee0dd9b12 --- /dev/null +++ b/meta/recipes-devtools/python/python3-jsonschema-specifications_2023.12.1.bb @@ -0,0 +1,16 @@ +SUMMARY = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" +DESCRIPTION = "JSON support files from the JSON Schema Specifications (metaschemas, \ +vocabularies, etc.), packaged for runtime access from Python as a referencing-based Schema Registry." +HOMEPAGE = "https://pypi.org/project/jsonschema-specifications/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=93eb9740964b59e9ba30281255b044e2" + +SRC_URI[sha256sum] = "48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc" + +inherit pypi python_hatchling + +PYPI_PACKAGE = "jsonschema_specifications" + +DEPENDS += "python3-hatch-vcs-native" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-jsonschema_4.21.1.bb b/meta/recipes-devtools/python/python3-jsonschema_4.21.1.bb new file mode 100644 index 0000000000..381148f4bb --- /dev/null +++ b/meta/recipes-devtools/python/python3-jsonschema_4.21.1.bb @@ -0,0 +1,50 @@ +SUMMARY = "An implementation of JSON Schema validation for Python" +HOMEPAGE = "https://github.com/python-jsonschema/jsonschema" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=7a60a81c146ec25599a3e1dabb8610a8 \ + file://json/LICENSE;md5=9d4de43111d33570c8fe49b4cb0e01af" + +SRC_URI[sha256sum] = "85727c00279f5fa6bedbe6238d2aa6403bedd8b4864ab11207d07df3cc1b2ee5" + +inherit pypi python_hatchling + +PACKAGES =+ "${PN}-tests" +FILES:${PN}-tests = "${libdir}/${PYTHON_DIR}/site-packages/jsonschema/tests" + +DEPENDS += "python3-hatch-fancy-pypi-readme-native python3-hatch-vcs-native " + +PACKAGECONFIG ??= "format" +PACKAGECONFIG[format] = ",,,\ + python3-idna \ + python3-jsonpointer \ + python3-webcolors \ + python3-rfc3987 \ + python3-rfc3339-validator \ +" +PACKAGECONFIG[nongpl] = ",,,\ + python3-idna \ + python3-jsonpointer \ + python3-webcolors \ + python3-rfc3986-validator \ + python3-rfc3339-validator \ +" + +RDEPENDS:${PN} += " \ + python3-attrs \ + python3-core \ + python3-datetime \ + python3-importlib-metadata \ + python3-io \ + python3-json \ + python3-jsonschema-specifications \ + python3-netclient \ + python3-numbers \ + python3-pprint \ + python3-pyrsistent \ + python3-referencing \ + python3-zipp \ +" + +RDEPENDS:${PN}-tests = "${PN}" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-libarchive-c_3.1.bb b/meta/recipes-devtools/python/python3-libarchive-c_5.1.bb index ac8466e63b..4e318e52f4 100644 --- a/meta/recipes-devtools/python/python3-libarchive-c_3.1.bb +++ b/meta/recipes-devtools/python/python3-libarchive-c_5.1.bb @@ -9,14 +9,13 @@ PYPI_PACKAGE = "libarchive-c" inherit pypi setuptools3 -SRC_URI[md5sum] = "8c62da42a8b9bd24642e5430427e6f5a" -SRC_URI[sha256sum] = "618a7ecfbfb58ca15e11e3138d4a636498da3b6bc212811af158298530fbb87e" +SRC_URI[sha256sum] = "7bcce24ea6c0fa3bc62468476c6d2f6264156db2f04878a372027c10615a2721" RDEPENDS:${PN} += "\ libarchive \ - ${PYTHON_PN}-ctypes \ - ${PYTHON_PN}-mmap \ - ${PYTHON_PN}-logging \ + python3-ctypes \ + python3-mmap \ + python3-logging \ " BBCLASSEXTEND = "native" diff --git a/meta/recipes-devtools/python/python3-license-expression/run-ptest b/meta/recipes-devtools/python/python3-license-expression/run-ptest new file mode 100644 index 0000000000..8d2017d39c --- /dev/null +++ b/meta/recipes-devtools/python/python3-license-expression/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +pytest --automake diff --git a/meta/recipes-devtools/python/python3-license-expression_30.3.0.bb b/meta/recipes-devtools/python/python3-license-expression_30.3.0.bb new file mode 100644 index 0000000000..f36336b592 --- /dev/null +++ b/meta/recipes-devtools/python/python3-license-expression_30.3.0.bb @@ -0,0 +1,38 @@ +SUMMARY = "Utility library to parse, compare, simplify and normalize license expressions" +HOMEPAGE = "https://github.com/nexB/license-expression" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://apache-2.0.LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +SRC_URI[sha256sum] = "1295406f736b4f395ff069aec1cebfad53c0fcb3cf57df0f5ec58fc7b905aea5" + +inherit pypi ptest python_setuptools_build_meta + +DEPENDS += "python3-setuptools-scm-native" + +RDEPENDS:${PN} += "\ + python3-booleanpy \ + python3-core \ + python3-json \ + python3-stringold \ + python3-logging \ +" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS:${PN}-ptest += " \ + python3-pytest \ + python3-unittest-automake-output \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + install -d ${D}${PTEST_PATH}/src + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ + cp -rf ${S}/src/* ${D}${PTEST_PATH}/src/ + cp -rf ${S}/setup.cfg ${D}${PTEST_PATH}/ +} diff --git a/meta/recipes-devtools/python/python3-lxml_5.2.1.bb b/meta/recipes-devtools/python/python3-lxml_5.2.1.bb new file mode 100644 index 0000000000..44a10505f3 --- /dev/null +++ b/meta/recipes-devtools/python/python3-lxml_5.2.1.bb @@ -0,0 +1,42 @@ +SUMMARY = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." +DESCRIPTION = "lxml is a Pythonic, mature binding for the libxml2 and \ +libxslt libraries. It provides safe and convenient access to these \ +libraries using the ElementTree API. It extends the ElementTree API \ +significantly to offer support for XPath, RelaxNG, XML Schema, XSLT, \ +C14N and much more." +HOMEPAGE = "https://lxml.de/" +SECTION = "devel/python" +LICENSE = "BSD-3-Clause & GPL-2.0-only & MIT & PSF-2.0" +LIC_FILES_CHKSUM = "file://LICENSES.txt;md5=e4c045ebad958ead4b48008f70838403 \ + file://doc/licenses/elementtree.txt;md5=eb34d036a6e3d56314ee49a6852ac891 \ + file://doc/licenses/BSD.txt;md5=700a1fc17f4797d4f2d34970c8ee694b \ + file://doc/licenses/GPL.txt;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://src/lxml/isoschematron/resources/rng/iso-schematron.rng;beginline=2;endline=7;md5=fc85684a8dd5fa272c086bceb0d99e10 \ + file://src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl;beginline=2;endline=24;md5=cc86b7b2bbc678e13f58ea403eb9929b \ + file://src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl;beginline=2;endline=7;md5=5b03236d293dc3784205542b409d2f53 \ + " + +DEPENDS += "libxml2 libxslt" + +SRC_URI[sha256sum] = "3f7765e69bbce0906a7c74d5fe46d2c7a7596147318dbc08e4a2431f3060e306" + +SRC_URI += "${PYPI_SRC_URI}" +inherit pkgconfig pypi setuptools3 + +# {standard input}: Assembler messages: +# {standard input}:1488805: Error: branch out of range +DEBUG_OPTIMIZATION:remove:mips = " -Og" +DEBUG_OPTIMIZATION:append:mips = " -O" +BUILD_OPTIMIZATION:remove:mips = " -Og" +BUILD_OPTIMIZATION:append:mips = " -O" + +DEBUG_OPTIMIZATION:remove:mipsel = " -Og" +DEBUG_OPTIMIZATION:append:mipsel = " -O" +BUILD_OPTIMIZATION:remove:mipsel = " -Og" +BUILD_OPTIMIZATION:append:mipsel = " -O" + +BBCLASSEXTEND = "native nativesdk" + +RDEPENDS:${PN} += "libxml2 libxslt python3-compression" + +CLEANBROKEN = "1" diff --git a/meta/recipes-devtools/python/python3-magic_0.4.24.bb b/meta/recipes-devtools/python/python3-magic_0.4.27.bb index ae895fbd53..2e561e69d7 100644 --- a/meta/recipes-devtools/python/python3-magic_0.4.24.bb +++ b/meta/recipes-devtools/python/python3-magic_0.4.27.bb @@ -11,12 +11,12 @@ PYPI_PACKAGE = "python-magic" inherit pypi setuptools3 -SRC_URI[sha256sum] = "de800df9fb50f8ec5974761054a708af6e4246b03b4bdaee993f948947b0ebcf" +SRC_URI[sha256sum] = "c1ba14b08e4a5f5c31a302b7721239695b2f0f058d125bd5ce1ee36b9d9d3c3b" RDEPENDS:${PN} += "file \ - ${PYTHON_PN}-ctypes \ - ${PYTHON_PN}-io \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-shell" + python3-ctypes \ + python3-io \ + python3-logging \ + python3-shell" BBCLASSEXTEND = "native" diff --git a/meta/recipes-devtools/python/python3-mako_1.1.5.bb b/meta/recipes-devtools/python/python3-mako_1.1.5.bb deleted file mode 100644 index f8be44a837..0000000000 --- a/meta/recipes-devtools/python/python3-mako_1.1.5.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Templating library for Python" -HOMEPAGE = "http://www.makotemplates.org/" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=943eb67718222db21d44a4ef1836675f" - -PYPI_PACKAGE = "Mako" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "169fa52af22a91900d852e937400e79f535496191c63712e3b9fda5a9bed6fc3" - -RDEPENDS:${PN} = "${PYTHON_PN}-html \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-threading \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-mako_1.3.3.bb b/meta/recipes-devtools/python/python3-mako_1.3.3.bb new file mode 100644 index 0000000000..7545cbef99 --- /dev/null +++ b/meta/recipes-devtools/python/python3-mako_1.3.3.bb @@ -0,0 +1,20 @@ +SUMMARY = "Templating library for Python" +HOMEPAGE = "http://www.makotemplates.org/" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d0995d6f7ba3f186a03118f244e88f57" + +PYPI_PACKAGE = "Mako" + +inherit pypi python_setuptools_build_meta + +SRC_URI[sha256sum] = "e16c01d9ab9c11f7290eef1cfefc093fb5a45ee4a3da09e2fec2e4d1bae54e73" + +RDEPENDS:${PN} = "python3-html \ + python3-markupsafe \ + python3-netclient \ + python3-pygments \ + python3-threading \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-markdown_3.3.4.bb b/meta/recipes-devtools/python/python3-markdown_3.3.4.bb deleted file mode 100644 index ec1d139ab0..0000000000 --- a/meta/recipes-devtools/python/python3-markdown_3.3.4.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "A Python implementation of John Gruber's Markdown." -HOMEPAGE = "https://python-markdown.github.io/" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=745aaad0c69c60039e638bff9ffc59ed" - -inherit pypi setuptools3 - -PYPI_PACKAGE = "Markdown" -SRC_URI[sha256sum] = "31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed387a49" - -BBCLASSEXTEND = "native" - -RDEPENDS:${PN} += "${PYTHON_PN}-logging ${PYTHON_PN}-setuptools" diff --git a/meta/recipes-devtools/python/python3-markdown_3.6.bb b/meta/recipes-devtools/python/python3-markdown_3.6.bb new file mode 100644 index 0000000000..7c64837395 --- /dev/null +++ b/meta/recipes-devtools/python/python3-markdown_3.6.bb @@ -0,0 +1,13 @@ +SUMMARY = "A Python implementation of John Gruber's Markdown." +HOMEPAGE = "https://python-markdown.github.io/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=ec58cdf7cfed06a21f7a9362627a5480" + +inherit pypi python_setuptools_build_meta + +PYPI_PACKAGE = "Markdown" +SRC_URI[sha256sum] = "ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224" + +BBCLASSEXTEND = "native nativesdk" + +RDEPENDS:${PN} += "python3-logging python3-setuptools" diff --git a/meta/recipes-devtools/python/python3-markupsafe/run-ptest b/meta/recipes-devtools/python/python3-markupsafe/run-ptest index 5cec711696..8d2017d39c 100644 --- a/meta/recipes-devtools/python/python3-markupsafe/run-ptest +++ b/meta/recipes-devtools/python/python3-markupsafe/run-ptest @@ -1,3 +1,3 @@ #!/bin/sh -pytest +pytest --automake diff --git a/meta/recipes-devtools/python/python3-markupsafe_2.0.1.bb b/meta/recipes-devtools/python/python3-markupsafe_2.1.5.bb index 857472cc7b..821332fe7c 100644 --- a/meta/recipes-devtools/python/python3-markupsafe_2.0.1.bb +++ b/meta/recipes-devtools/python/python3-markupsafe_2.1.5.bb @@ -1,15 +1,14 @@ -DESCRIPTION = "Implements a XML/HTML/XHTML Markup safe string for Python" +SUMMARY = "Implements a XML/HTML/XHTML Markup safe string for Python" HOMEPAGE = "http://github.com/mitsuhiko/markupsafe" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ffeffa59c90c9c4a033c7574f8f3fb75" -SRC_URI[sha256sum] = "594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a" +SRC_URI[sha256sum] = "d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b" PYPI_PACKAGE = "MarkupSafe" -inherit pypi setuptools3 -inherit ${@bb.utils.filter('DISTRO_FEATURES', 'ptest', d)} +inherit pypi python_setuptools_build_meta ptest -RDEPENDS:${PN} += "${PYTHON_PN}-stringold" +RDEPENDS:${PN} += "python3-stringold" BBCLASSEXTEND = "native nativesdk" @@ -18,7 +17,8 @@ SRC_URI += " \ " RDEPENDS:${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ + python3-pytest \ + python3-unittest-automake-output \ " do_install_ptest() { diff --git a/meta/recipes-devtools/python/python3-maturin-crates.inc b/meta/recipes-devtools/python/python3-maturin-crates.inc new file mode 100644 index 0000000000..3cb614d52a --- /dev/null +++ b/meta/recipes-devtools/python/python3-maturin-crates.inc @@ -0,0 +1,618 @@ +# Autogenerated with 'bitbake -c update_crates python3-maturin' + +# from Cargo.lock +SRC_URI += " \ + crate://crates.io/adler/1.0.2 \ + crate://crates.io/ahash/0.8.6 \ + crate://crates.io/aho-corasick/1.1.2 \ + crate://crates.io/allocator-api2/0.2.16 \ + crate://crates.io/anstream/0.3.2 \ + crate://crates.io/anstream/0.6.4 \ + crate://crates.io/anstyle/1.0.2 \ + crate://crates.io/anstyle-parse/0.2.1 \ + crate://crates.io/anstyle-query/1.0.0 \ + crate://crates.io/anstyle-wincon/1.0.2 \ + crate://crates.io/anstyle-wincon/3.0.1 \ + crate://crates.io/anyhow/1.0.75 \ + crate://crates.io/autocfg/1.1.0 \ + crate://crates.io/base64/0.13.1 \ + crate://crates.io/base64/0.21.5 \ + crate://crates.io/bitflags/1.3.2 \ + crate://crates.io/bitflags/2.4.1 \ + crate://crates.io/block-buffer/0.10.4 \ + crate://crates.io/bstr/1.8.0 \ + crate://crates.io/byteorder/1.5.0 \ + crate://crates.io/bytes/1.5.0 \ + crate://crates.io/bytesize/1.3.0 \ + crate://crates.io/bzip2/0.4.4 \ + crate://crates.io/bzip2-sys/0.1.11+1.0.8 \ + crate://crates.io/cab/0.4.1 \ + crate://crates.io/camino/1.1.6 \ + crate://crates.io/cargo-config2/0.1.16 \ + crate://crates.io/cargo-options/0.7.2 \ + crate://crates.io/cargo-platform/0.1.5 \ + crate://crates.io/cargo-xwin/0.16.2 \ + crate://crates.io/cargo-zigbuild/0.18.0 \ + crate://crates.io/cargo_metadata/0.18.1 \ + crate://crates.io/cbindgen/0.26.0 \ + crate://crates.io/cc/1.0.83 \ + crate://crates.io/cfb/0.9.0 \ + crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/charset/0.1.3 \ + crate://crates.io/chumsky/0.9.3 \ + crate://crates.io/clap/4.3.24 \ + crate://crates.io/clap_builder/4.3.24 \ + crate://crates.io/clap_complete/4.3.2 \ + crate://crates.io/clap_complete_command/0.5.1 \ + crate://crates.io/clap_complete_fig/4.3.1 \ + crate://crates.io/clap_complete_nushell/0.1.11 \ + crate://crates.io/clap_derive/4.3.12 \ + crate://crates.io/clap_lex/0.5.0 \ + crate://crates.io/cli-table/0.4.7 \ + crate://crates.io/colorchoice/1.0.0 \ + crate://crates.io/configparser/3.0.3 \ + crate://crates.io/console/0.15.7 \ + crate://crates.io/content_inspector/0.2.4 \ + crate://crates.io/core-foundation/0.9.3 \ + crate://crates.io/core-foundation-sys/0.8.4 \ + crate://crates.io/cpufeatures/0.2.11 \ + crate://crates.io/crc32fast/1.3.2 \ + crate://crates.io/crossbeam-channel/0.5.8 \ + crate://crates.io/crossbeam-deque/0.8.3 \ + crate://crates.io/crossbeam-epoch/0.9.15 \ + crate://crates.io/crossbeam-utils/0.8.16 \ + crate://crates.io/crypto-common/0.1.6 \ + crate://crates.io/data-encoding/2.5.0 \ + crate://crates.io/deranged/0.3.9 \ + crate://crates.io/dialoguer/0.11.0 \ + crate://crates.io/diff/0.1.13 \ + crate://crates.io/digest/0.10.7 \ + crate://crates.io/dirs/5.0.1 \ + crate://crates.io/dirs-sys/0.4.1 \ + crate://crates.io/dissimilar/1.0.7 \ + crate://crates.io/dunce/1.0.4 \ + crate://crates.io/either/1.9.0 \ + crate://crates.io/encode_unicode/0.3.6 \ + crate://crates.io/encoding_rs/0.8.33 \ + crate://crates.io/equivalent/1.0.1 \ + crate://crates.io/errno/0.3.8 \ + crate://crates.io/expect-test/1.4.1 \ + crate://crates.io/fastrand/2.0.1 \ + crate://crates.io/fat-macho/0.4.7 \ + crate://crates.io/filetime/0.2.22 \ + crate://crates.io/flate2/1.0.28 \ + crate://crates.io/fnv/1.0.7 \ + crate://crates.io/foreign-types/0.3.2 \ + crate://crates.io/foreign-types-shared/0.1.1 \ + crate://crates.io/form_urlencoded/1.2.1 \ + crate://crates.io/fs-err/2.11.0 \ + crate://crates.io/generic-array/0.14.7 \ + crate://crates.io/getrandom/0.2.11 \ + crate://crates.io/glob/0.3.1 \ + crate://crates.io/globset/0.4.14 \ + crate://crates.io/goblin/0.7.1 \ + crate://crates.io/hashbrown/0.12.3 \ + crate://crates.io/hashbrown/0.14.3 \ + crate://crates.io/heck/0.4.1 \ + crate://crates.io/hermit-abi/0.3.3 \ + crate://crates.io/home/0.5.5 \ + crate://crates.io/humantime/2.1.0 \ + crate://crates.io/humantime-serde/1.1.1 \ + crate://crates.io/idna/0.5.0 \ + crate://crates.io/ignore/0.4.20 \ + crate://crates.io/indexmap/1.9.3 \ + crate://crates.io/indexmap/2.1.0 \ + crate://crates.io/indicatif/0.17.7 \ + crate://crates.io/indoc/2.0.4 \ + crate://crates.io/instant/0.1.12 \ + crate://crates.io/io-lifetimes/1.0.11 \ + crate://crates.io/is-terminal/0.4.9 \ + crate://crates.io/itertools/0.11.0 \ + crate://crates.io/itertools/0.12.0 \ + crate://crates.io/itoa/1.0.9 \ + crate://crates.io/keyring/2.0.5 \ + crate://crates.io/lazy_static/1.4.0 \ + crate://crates.io/lddtree/0.3.3 \ + crate://crates.io/libc/0.2.150 \ + crate://crates.io/libredox/0.0.1 \ + crate://crates.io/linux-keyutils/0.2.3 \ + crate://crates.io/linux-raw-sys/0.3.8 \ + crate://crates.io/linux-raw-sys/0.4.11 \ + crate://crates.io/lock_api/0.4.11 \ + crate://crates.io/log/0.4.20 \ + crate://crates.io/lzxd/0.1.4 \ + crate://crates.io/mailparse/0.14.0 \ + crate://crates.io/matchers/0.1.0 \ + crate://crates.io/memchr/2.6.4 \ + crate://crates.io/memoffset/0.9.0 \ + crate://crates.io/mime/0.3.17 \ + crate://crates.io/mime_guess/2.0.4 \ + crate://crates.io/minijinja/1.0.10 \ + crate://crates.io/minimal-lexical/0.2.1 \ + crate://crates.io/miniz_oxide/0.7.1 \ + crate://crates.io/msi/0.7.0 \ + crate://crates.io/multipart/0.18.0 \ + crate://crates.io/native-tls/0.2.11 \ + crate://crates.io/nom/7.1.3 \ + crate://crates.io/normalize-line-endings/0.3.0 \ + crate://crates.io/normpath/1.1.1 \ + crate://crates.io/nu-ansi-term/0.46.0 \ + crate://crates.io/number_prefix/0.4.0 \ + crate://crates.io/once_cell/1.18.0 \ + crate://crates.io/openssl/0.10.60 \ + crate://crates.io/openssl-macros/0.1.1 \ + crate://crates.io/openssl-probe/0.1.5 \ + crate://crates.io/openssl-sys/0.9.96 \ + crate://crates.io/option-ext/0.2.0 \ + crate://crates.io/os_pipe/1.1.4 \ + crate://crates.io/overload/0.1.1 \ + crate://crates.io/parking_lot/0.12.1 \ + crate://crates.io/parking_lot_core/0.9.9 \ + crate://crates.io/paste/1.0.14 \ + crate://crates.io/path-slash/0.2.1 \ + crate://crates.io/pep440_rs/0.3.12 \ + crate://crates.io/pep508_rs/0.2.3 \ + crate://crates.io/percent-encoding/2.3.1 \ + crate://crates.io/pin-project-lite/0.2.13 \ + crate://crates.io/pkg-config/0.3.27 \ + crate://crates.io/plain/0.2.3 \ + crate://crates.io/platform-info/2.0.2 \ + crate://crates.io/portable-atomic/1.5.1 \ + crate://crates.io/powerfmt/0.2.0 \ + crate://crates.io/ppv-lite86/0.2.17 \ + crate://crates.io/pretty_assertions/1.4.0 \ + crate://crates.io/proc-macro2/1.0.70 \ + crate://crates.io/psm/0.1.21 \ + crate://crates.io/pyproject-toml/0.8.1 \ + crate://crates.io/python-pkginfo/0.6.0 \ + crate://crates.io/quote/1.0.33 \ + crate://crates.io/quoted_printable/0.4.8 \ + crate://crates.io/rand/0.8.5 \ + crate://crates.io/rand_chacha/0.3.1 \ + crate://crates.io/rand_core/0.6.4 \ + crate://crates.io/rayon/1.8.0 \ + crate://crates.io/rayon-core/1.12.0 \ + crate://crates.io/redox_syscall/0.3.5 \ + crate://crates.io/redox_syscall/0.4.1 \ + crate://crates.io/redox_users/0.4.4 \ + crate://crates.io/regex/1.10.2 \ + crate://crates.io/regex-automata/0.1.10 \ + crate://crates.io/regex-automata/0.4.3 \ + crate://crates.io/regex-syntax/0.6.29 \ + crate://crates.io/regex-syntax/0.8.2 \ + crate://crates.io/rfc2047-decoder/0.2.2 \ + crate://crates.io/ring/0.17.6 \ + crate://crates.io/rustc_version/0.4.0 \ + crate://crates.io/rustix/0.37.27 \ + crate://crates.io/rustix/0.38.21 \ + crate://crates.io/rustls/0.21.9 \ + crate://crates.io/rustls-pemfile/2.0.0 \ + crate://crates.io/rustls-pki-types/1.0.0 \ + crate://crates.io/rustls-webpki/0.101.7 \ + crate://crates.io/rustversion/1.0.14 \ + crate://crates.io/ryu/1.0.15 \ + crate://crates.io/same-file/1.0.6 \ + crate://crates.io/schannel/0.1.22 \ + crate://crates.io/scopeguard/1.2.0 \ + crate://crates.io/scroll/0.11.0 \ + crate://crates.io/scroll_derive/0.11.1 \ + crate://crates.io/sct/0.7.1 \ + crate://crates.io/security-framework/2.9.2 \ + crate://crates.io/security-framework-sys/2.9.1 \ + crate://crates.io/semver/1.0.20 \ + crate://crates.io/serde/1.0.193 \ + crate://crates.io/serde_derive/1.0.193 \ + crate://crates.io/serde_json/1.0.108 \ + crate://crates.io/serde_spanned/0.6.4 \ + crate://crates.io/sha2/0.10.8 \ + crate://crates.io/sharded-slab/0.1.7 \ + crate://crates.io/shell-words/1.1.0 \ + crate://crates.io/shlex/1.2.0 \ + crate://crates.io/similar/2.3.0 \ + crate://crates.io/smallvec/1.11.2 \ + crate://crates.io/smawk/0.3.2 \ + crate://crates.io/snapbox/0.4.14 \ + crate://crates.io/snapbox-macros/0.3.6 \ + crate://crates.io/socks/0.3.4 \ + crate://crates.io/spin/0.9.8 \ + crate://crates.io/stacker/0.1.15 \ + crate://crates.io/static_assertions/1.1.0 \ + crate://crates.io/strsim/0.10.0 \ + crate://crates.io/syn/1.0.109 \ + crate://crates.io/syn/2.0.39 \ + crate://crates.io/tar/0.4.40 \ + crate://crates.io/target-lexicon/0.12.12 \ + crate://crates.io/tempfile/3.8.1 \ + crate://crates.io/termcolor/1.4.0 \ + crate://crates.io/terminal_size/0.2.6 \ + crate://crates.io/textwrap/0.16.0 \ + crate://crates.io/thiserror/1.0.50 \ + crate://crates.io/thiserror-impl/1.0.50 \ + crate://crates.io/thread_local/1.1.7 \ + crate://crates.io/time/0.3.30 \ + crate://crates.io/time-core/0.1.2 \ + crate://crates.io/time-macros/0.2.15 \ + crate://crates.io/tinyvec/1.6.0 \ + crate://crates.io/tinyvec_macros/0.1.1 \ + crate://crates.io/toml/0.5.11 \ + crate://crates.io/toml/0.8.8 \ + crate://crates.io/toml_datetime/0.6.5 \ + crate://crates.io/toml_edit/0.20.7 \ + crate://crates.io/toml_edit/0.21.0 \ + crate://crates.io/tracing/0.1.40 \ + crate://crates.io/tracing-attributes/0.1.27 \ + crate://crates.io/tracing-core/0.1.32 \ + crate://crates.io/tracing-log/0.2.0 \ + crate://crates.io/tracing-serde/0.1.3 \ + crate://crates.io/tracing-subscriber/0.3.18 \ + crate://crates.io/trycmd/0.14.19 \ + crate://crates.io/twox-hash/1.6.3 \ + crate://crates.io/typenum/1.17.0 \ + crate://crates.io/unicase/2.7.0 \ + crate://crates.io/unicode-bidi/0.3.13 \ + crate://crates.io/unicode-ident/1.0.12 \ + crate://crates.io/unicode-linebreak/0.1.5 \ + crate://crates.io/unicode-normalization/0.1.22 \ + crate://crates.io/unicode-width/0.1.11 \ + crate://crates.io/untrusted/0.9.0 \ + crate://crates.io/ureq/2.9.1 \ + crate://crates.io/url/2.5.0 \ + crate://crates.io/utf8parse/0.2.1 \ + crate://crates.io/uuid/1.6.1 \ + crate://crates.io/valuable/0.1.0 \ + crate://crates.io/vcpkg/0.2.15 \ + crate://crates.io/version_check/0.9.4 \ + crate://crates.io/versions/5.0.1 \ + crate://crates.io/wait-timeout/0.2.0 \ + crate://crates.io/walkdir/2.4.0 \ + crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ + crate://crates.io/webpki-roots/0.25.3 \ + crate://crates.io/which/5.0.0 \ + crate://crates.io/wild/2.2.0 \ + crate://crates.io/winapi/0.3.9 \ + crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi-util/0.1.6 \ + crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ + crate://crates.io/windows-sys/0.45.0 \ + crate://crates.io/windows-sys/0.48.0 \ + crate://crates.io/windows-sys/0.52.0 \ + crate://crates.io/windows-targets/0.42.2 \ + crate://crates.io/windows-targets/0.48.5 \ + crate://crates.io/windows-targets/0.52.0 \ + crate://crates.io/windows_aarch64_gnullvm/0.42.2 \ + crate://crates.io/windows_aarch64_gnullvm/0.48.5 \ + crate://crates.io/windows_aarch64_gnullvm/0.52.0 \ + crate://crates.io/windows_aarch64_msvc/0.42.2 \ + crate://crates.io/windows_aarch64_msvc/0.48.5 \ + crate://crates.io/windows_aarch64_msvc/0.52.0 \ + crate://crates.io/windows_i686_gnu/0.42.2 \ + crate://crates.io/windows_i686_gnu/0.48.5 \ + crate://crates.io/windows_i686_gnu/0.52.0 \ + crate://crates.io/windows_i686_msvc/0.42.2 \ + crate://crates.io/windows_i686_msvc/0.48.5 \ + crate://crates.io/windows_i686_msvc/0.52.0 \ + crate://crates.io/windows_x86_64_gnu/0.42.2 \ + crate://crates.io/windows_x86_64_gnu/0.48.5 \ + crate://crates.io/windows_x86_64_gnu/0.52.0 \ + crate://crates.io/windows_x86_64_gnullvm/0.42.2 \ + crate://crates.io/windows_x86_64_gnullvm/0.48.5 \ + crate://crates.io/windows_x86_64_gnullvm/0.52.0 \ + crate://crates.io/windows_x86_64_msvc/0.42.2 \ + crate://crates.io/windows_x86_64_msvc/0.48.5 \ + crate://crates.io/windows_x86_64_msvc/0.52.0 \ + crate://crates.io/winnow/0.5.19 \ + crate://crates.io/xattr/1.0.1 \ + crate://crates.io/xwin/0.5.0 \ + crate://crates.io/yansi/0.5.1 \ + crate://crates.io/zerocopy/0.7.28 \ + crate://crates.io/zerocopy-derive/0.7.28 \ + crate://crates.io/zeroize/1.7.0 \ + crate://crates.io/zip/0.6.6 \ +" + +SRC_URI[adler-1.0.2.sha256sum] = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +SRC_URI[ahash-0.8.6.sha256sum] = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" +SRC_URI[aho-corasick-1.1.2.sha256sum] = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +SRC_URI[allocator-api2-0.2.16.sha256sum] = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" +SRC_URI[anstream-0.3.2.sha256sum] = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" +SRC_URI[anstream-0.6.4.sha256sum] = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44" +SRC_URI[anstyle-1.0.2.sha256sum] = "15c4c2c83f81532e5845a733998b6971faca23490340a418e9b72a3ec9de12ea" +SRC_URI[anstyle-parse-0.2.1.sha256sum] = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" +SRC_URI[anstyle-query-1.0.0.sha256sum] = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +SRC_URI[anstyle-wincon-1.0.2.sha256sum] = "c677ab05e09154296dd37acecd46420c17b9713e8366facafa8fc0885167cf4c" +SRC_URI[anstyle-wincon-3.0.1.sha256sum] = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" +SRC_URI[anyhow-1.0.75.sha256sum] = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" +SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +SRC_URI[base64-0.13.1.sha256sum] = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +SRC_URI[base64-0.21.5.sha256sum] = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" +SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +SRC_URI[bitflags-2.4.1.sha256sum] = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +SRC_URI[bstr-1.8.0.sha256sum] = "542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c" +SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +SRC_URI[bytes-1.5.0.sha256sum] = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +SRC_URI[bytesize-1.3.0.sha256sum] = "a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc" +SRC_URI[bzip2-0.4.4.sha256sum] = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" +SRC_URI[bzip2-sys-0.1.11+1.0.8.sha256sum] = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +SRC_URI[cab-0.4.1.sha256sum] = "ae6b4de23c7d39c0631fd3cc952d87951c86c75a13812d7247cb7a896e7b3551" +SRC_URI[camino-1.1.6.sha256sum] = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" +SRC_URI[cargo-config2-0.1.16.sha256sum] = "7f387366785e82c7ec7ef5b845a7f61324fbf5d467d6a878469eac30c1c44b1b" +SRC_URI[cargo-options-0.7.2.sha256sum] = "cad71bf996c8e5b9d28ef3472d7ee41f277edf4e38cd597f51ad0438d05d76ea" +SRC_URI[cargo-platform-0.1.5.sha256sum] = "e34637b3140142bdf929fb439e8aa4ebad7651ebf7b1080b3930aa16ac1459ff" +SRC_URI[cargo-xwin-0.16.2.sha256sum] = "02bb6bf59526935e47445f959a19c2168f151284dbf7e57f5577934334e9a61d" +SRC_URI[cargo-zigbuild-0.18.0.sha256sum] = "edc9c2fe646a29983b5f7263bd789175f2aaad7ea42525affa40e2172be93286" +SRC_URI[cargo_metadata-0.18.1.sha256sum] = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" +SRC_URI[cbindgen-0.26.0.sha256sum] = "da6bc11b07529f16944307272d5bd9b22530bc7d05751717c9d416586cedab49" +SRC_URI[cc-1.0.83.sha256sum] = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +SRC_URI[cfb-0.9.0.sha256sum] = "b390793e912300f1aa713429f7fd0c391024e6c18b988962558bc4f96a349b1f" +SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +SRC_URI[charset-0.1.3.sha256sum] = "18e9079d1a12a2cc2bffb5db039c43661836ead4082120d5844f02555aca2d46" +SRC_URI[chumsky-0.9.3.sha256sum] = "8eebd66744a15ded14960ab4ccdbfb51ad3b81f51f3f04a80adac98c985396c9" +SRC_URI[clap-4.3.24.sha256sum] = "fb690e81c7840c0d7aade59f242ea3b41b9bc27bcd5997890e7702ae4b32e487" +SRC_URI[clap_builder-4.3.24.sha256sum] = "5ed2e96bc16d8d740f6f48d663eddf4b8a0983e79210fd55479b7bcd0a69860e" +SRC_URI[clap_complete-4.3.2.sha256sum] = "5fc443334c81a804575546c5a8a79b4913b50e28d69232903604cada1de817ce" +SRC_URI[clap_complete_command-0.5.1.sha256sum] = "183495371ea78d4c9ff638bfc6497d46fed2396e4f9c50aebc1278a4a9919a3d" +SRC_URI[clap_complete_fig-4.3.1.sha256sum] = "99fee1d30a51305a6c2ed3fc5709be3c8af626c9c958e04dd9ae94e27bcbce9f" +SRC_URI[clap_complete_nushell-0.1.11.sha256sum] = "5d02bc8b1a18ee47c4d2eec3fb5ac034dc68ebea6125b1509e9ccdffcddce66e" +SRC_URI[clap_derive-4.3.12.sha256sum] = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050" +SRC_URI[clap_lex-0.5.0.sha256sum] = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" +SRC_URI[cli-table-0.4.7.sha256sum] = "adfbb116d9e2c4be7011360d0c0bee565712c11e969c9609b25b619366dc379d" +SRC_URI[colorchoice-1.0.0.sha256sum] = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +SRC_URI[configparser-3.0.3.sha256sum] = "e0e56e414a2a52ab2a104f85cd40933c2fbc278b83637facf646ecf451b49237" +SRC_URI[console-0.15.7.sha256sum] = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8" +SRC_URI[content_inspector-0.2.4.sha256sum] = "b7bda66e858c683005a53a9a60c69a4aca7eeaa45d124526e389f7aec8e62f38" +SRC_URI[core-foundation-0.9.3.sha256sum] = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +SRC_URI[core-foundation-sys-0.8.4.sha256sum] = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" +SRC_URI[cpufeatures-0.2.11.sha256sum] = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" +SRC_URI[crc32fast-1.3.2.sha256sum] = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +SRC_URI[crossbeam-channel-0.5.8.sha256sum] = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" +SRC_URI[crossbeam-deque-0.8.3.sha256sum] = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" +SRC_URI[crossbeam-epoch-0.9.15.sha256sum] = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" +SRC_URI[crossbeam-utils-0.8.16.sha256sum] = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" +SRC_URI[crypto-common-0.1.6.sha256sum] = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +SRC_URI[data-encoding-2.5.0.sha256sum] = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" +SRC_URI[deranged-0.3.9.sha256sum] = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" +SRC_URI[dialoguer-0.11.0.sha256sum] = "658bce805d770f407bc62102fca7c2c64ceef2fbcb2b8bd19d2765ce093980de" +SRC_URI[diff-0.1.13.sha256sum] = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" +SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +SRC_URI[dirs-5.0.1.sha256sum] = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" +SRC_URI[dirs-sys-0.4.1.sha256sum] = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +SRC_URI[dissimilar-1.0.7.sha256sum] = "86e3bdc80eee6e16b2b6b0f87fbc98c04bee3455e35174c0de1a125d0688c632" +SRC_URI[dunce-1.0.4.sha256sum] = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" +SRC_URI[either-1.9.0.sha256sum] = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" +SRC_URI[encode_unicode-0.3.6.sha256sum] = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" +SRC_URI[encoding_rs-0.8.33.sha256sum] = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" +SRC_URI[equivalent-1.0.1.sha256sum] = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +SRC_URI[errno-0.3.8.sha256sum] = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +SRC_URI[expect-test-1.4.1.sha256sum] = "30d9eafeadd538e68fb28016364c9732d78e420b9ff8853fa5e4058861e9f8d3" +SRC_URI[fastrand-2.0.1.sha256sum] = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +SRC_URI[fat-macho-0.4.7.sha256sum] = "63fa117c7dcabeb8c83d5c229764cfa46518545d2dba5a9a08912014711f997b" +SRC_URI[filetime-0.2.22.sha256sum] = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0" +SRC_URI[flate2-1.0.28.sha256sum] = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" +SRC_URI[fnv-1.0.7.sha256sum] = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +SRC_URI[foreign-types-0.3.2.sha256sum] = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +SRC_URI[foreign-types-shared-0.1.1.sha256sum] = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +SRC_URI[form_urlencoded-1.2.1.sha256sum] = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +SRC_URI[fs-err-2.11.0.sha256sum] = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41" +SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +SRC_URI[getrandom-0.2.11.sha256sum] = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" +SRC_URI[glob-0.3.1.sha256sum] = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +SRC_URI[globset-0.4.14.sha256sum] = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" +SRC_URI[goblin-0.7.1.sha256sum] = "f27c1b4369c2cd341b5de549380158b105a04c331be5db9110eef7b6d2742134" +SRC_URI[hashbrown-0.12.3.sha256sum] = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +SRC_URI[hashbrown-0.14.3.sha256sum] = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +SRC_URI[hermit-abi-0.3.3.sha256sum] = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" +SRC_URI[home-0.5.5.sha256sum] = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" +SRC_URI[humantime-2.1.0.sha256sum] = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +SRC_URI[humantime-serde-1.1.1.sha256sum] = "57a3db5ea5923d99402c94e9feb261dc5ee9b4efa158b0315f788cf549cc200c" +SRC_URI[idna-0.5.0.sha256sum] = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +SRC_URI[ignore-0.4.20.sha256sum] = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492" +SRC_URI[indexmap-1.9.3.sha256sum] = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +SRC_URI[indexmap-2.1.0.sha256sum] = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +SRC_URI[indicatif-0.17.7.sha256sum] = "fb28741c9db9a713d93deb3bb9515c20788cef5815265bee4980e87bde7e0f25" +SRC_URI[indoc-2.0.4.sha256sum] = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8" +SRC_URI[instant-0.1.12.sha256sum] = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +SRC_URI[io-lifetimes-1.0.11.sha256sum] = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +SRC_URI[is-terminal-0.4.9.sha256sum] = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" +SRC_URI[itertools-0.11.0.sha256sum] = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +SRC_URI[itertools-0.12.0.sha256sum] = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0" +SRC_URI[itoa-1.0.9.sha256sum] = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" +SRC_URI[keyring-2.0.5.sha256sum] = "9549a129bd08149e0a71b2d1ce2729780d47127991bfd0a78cc1df697ec72492" +SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +SRC_URI[lddtree-0.3.3.sha256sum] = "2f5bfec46830ad3a95199ae6804dfe9f51fdad43d7a95fbb6c185efa9824c295" +SRC_URI[libc-0.2.150.sha256sum] = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" +SRC_URI[libredox-0.0.1.sha256sum] = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" +SRC_URI[linux-keyutils-0.2.3.sha256sum] = "3f27bb67f6dd1d0bb5ab582868e4f65052e58da6401188a08f0da09cf512b84b" +SRC_URI[linux-raw-sys-0.3.8.sha256sum] = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" +SRC_URI[linux-raw-sys-0.4.11.sha256sum] = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829" +SRC_URI[lock_api-0.4.11.sha256sum] = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +SRC_URI[log-0.4.20.sha256sum] = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +SRC_URI[lzxd-0.1.4.sha256sum] = "784462f20dddd9dfdb45de963fa4ad4a288cb10a7889ac5d2c34fb6481c6b213" +SRC_URI[mailparse-0.14.0.sha256sum] = "6b56570f5f8c0047260d1c8b5b331f62eb9c660b9dd4071a8c46f8c7d3f280aa" +SRC_URI[matchers-0.1.0.sha256sum] = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +SRC_URI[memchr-2.6.4.sha256sum] = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" +SRC_URI[memoffset-0.9.0.sha256sum] = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +SRC_URI[mime-0.3.17.sha256sum] = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +SRC_URI[mime_guess-2.0.4.sha256sum] = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" +SRC_URI[minijinja-1.0.10.sha256sum] = "208758577ef2c86cf5dd3e85730d161413ec3284e2d73b2ef65d9a24d9971bcb" +SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" +SRC_URI[miniz_oxide-0.7.1.sha256sum] = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +SRC_URI[msi-0.7.0.sha256sum] = "226b2404f03d2cf47375b9715c8adfae4e388bb2377cff908e8a40f31e421514" +SRC_URI[multipart-0.18.0.sha256sum] = "00dec633863867f29cb39df64a397cdf4a6354708ddd7759f70c7fb51c5f9182" +SRC_URI[native-tls-0.2.11.sha256sum] = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +SRC_URI[normalize-line-endings-0.3.0.sha256sum] = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" +SRC_URI[normpath-1.1.1.sha256sum] = "ec60c60a693226186f5d6edf073232bfb6464ed97eb22cf3b01c1e8198fd97f5" +SRC_URI[nu-ansi-term-0.46.0.sha256sum] = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +SRC_URI[number_prefix-0.4.0.sha256sum] = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" +SRC_URI[once_cell-1.18.0.sha256sum] = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +SRC_URI[openssl-0.10.60.sha256sum] = "79a4c6c3a2b158f7f8f2a2fc5a969fa3a068df6fc9dbb4a43845436e3af7c800" +SRC_URI[openssl-macros-0.1.1.sha256sum] = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +SRC_URI[openssl-probe-0.1.5.sha256sum] = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +SRC_URI[openssl-sys-0.9.96.sha256sum] = "3812c071ba60da8b5677cc12bcb1d42989a65553772897a7e0355545a819838f" +SRC_URI[option-ext-0.2.0.sha256sum] = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" +SRC_URI[os_pipe-1.1.4.sha256sum] = "0ae859aa07428ca9a929b936690f8b12dc5f11dd8c6992a18ca93919f28bc177" +SRC_URI[overload-0.1.1.sha256sum] = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" +SRC_URI[parking_lot-0.12.1.sha256sum] = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +SRC_URI[parking_lot_core-0.9.9.sha256sum] = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +SRC_URI[paste-1.0.14.sha256sum] = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +SRC_URI[path-slash-0.2.1.sha256sum] = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" +SRC_URI[pep440_rs-0.3.12.sha256sum] = "887f66cc62717ea72caac4f1eb4e6f392224da3ffff3f40ec13ab427802746d6" +SRC_URI[pep508_rs-0.2.3.sha256sum] = "e4516b53d9ea6112ebb38b4af08d5707d30b994fb7f98ff133c5dcf7ed8fa854" +SRC_URI[percent-encoding-2.3.1.sha256sum] = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +SRC_URI[pin-project-lite-0.2.13.sha256sum] = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" +SRC_URI[pkg-config-0.3.27.sha256sum] = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +SRC_URI[plain-0.2.3.sha256sum] = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" +SRC_URI[platform-info-2.0.2.sha256sum] = "d6259c4860e53bf665016f1b2f46a8859cadfa717581dc9d597ae4069de6300f" +SRC_URI[portable-atomic-1.5.1.sha256sum] = "3bccab0e7fd7cc19f820a1c8c91720af652d0c88dc9664dd72aef2614f04af3b" +SRC_URI[powerfmt-0.2.0.sha256sum] = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" +SRC_URI[ppv-lite86-0.2.17.sha256sum] = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +SRC_URI[pretty_assertions-1.4.0.sha256sum] = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66" +SRC_URI[proc-macro2-1.0.70.sha256sum] = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" +SRC_URI[psm-0.1.21.sha256sum] = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" +SRC_URI[pyproject-toml-0.8.1.sha256sum] = "46d4a5e69187f23a29f8aa0ea57491d104ba541bc55f76552c2a74962aa20e04" +SRC_URI[python-pkginfo-0.6.0.sha256sum] = "037469c164f08c891bf6d69ca02f1d56210011451e229618669777df82124cfa" +SRC_URI[quote-1.0.33.sha256sum] = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +SRC_URI[quoted_printable-0.4.8.sha256sum] = "5a3866219251662ec3b26fc217e3e05bf9c4f84325234dfb96bf0bf840889e49" +SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +SRC_URI[rayon-1.8.0.sha256sum] = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" +SRC_URI[rayon-core-1.12.0.sha256sum] = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" +SRC_URI[redox_syscall-0.3.5.sha256sum] = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +SRC_URI[redox_syscall-0.4.1.sha256sum] = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +SRC_URI[redox_users-0.4.4.sha256sum] = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" +SRC_URI[regex-1.10.2.sha256sum] = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +SRC_URI[regex-automata-0.1.10.sha256sum] = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +SRC_URI[regex-automata-0.4.3.sha256sum] = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +SRC_URI[regex-syntax-0.6.29.sha256sum] = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" +SRC_URI[regex-syntax-0.8.2.sha256sum] = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +SRC_URI[rfc2047-decoder-0.2.2.sha256sum] = "61fc4b4e52897c3e30b12b7e9b04461215b647fbe66f6def60dd8edbce14ec2e" +SRC_URI[ring-0.17.6.sha256sum] = "684d5e6e18f669ccebf64a92236bb7db9a34f07be010e3627368182027180866" +SRC_URI[rustc_version-0.4.0.sha256sum] = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +SRC_URI[rustix-0.37.27.sha256sum] = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" +SRC_URI[rustix-0.38.21.sha256sum] = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3" +SRC_URI[rustls-0.21.9.sha256sum] = "629648aced5775d558af50b2b4c7b02983a04b312126d45eeead26e7caa498b9" +SRC_URI[rustls-pemfile-2.0.0.sha256sum] = "35e4980fa29e4c4b212ffb3db068a564cbf560e51d3944b7c88bd8bf5bec64f4" +SRC_URI[rustls-pki-types-1.0.0.sha256sum] = "eb0a1f9b9efec70d32e6d6aa3e58ebd88c3754ec98dfe9145c63cf54cc829b83" +SRC_URI[rustls-webpki-0.101.7.sha256sum] = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +SRC_URI[rustversion-1.0.14.sha256sum] = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" +SRC_URI[ryu-1.0.15.sha256sum] = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" +SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +SRC_URI[schannel-0.1.22.sha256sum] = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" +SRC_URI[scopeguard-1.2.0.sha256sum] = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +SRC_URI[scroll-0.11.0.sha256sum] = "04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da" +SRC_URI[scroll_derive-0.11.1.sha256sum] = "1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae" +SRC_URI[sct-0.7.1.sha256sum] = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +SRC_URI[security-framework-2.9.2.sha256sum] = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +SRC_URI[security-framework-sys-2.9.1.sha256sum] = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +SRC_URI[semver-1.0.20.sha256sum] = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" +SRC_URI[serde-1.0.193.sha256sum] = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" +SRC_URI[serde_derive-1.0.193.sha256sum] = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" +SRC_URI[serde_json-1.0.108.sha256sum] = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" +SRC_URI[serde_spanned-0.6.4.sha256sum] = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80" +SRC_URI[sha2-0.10.8.sha256sum] = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +SRC_URI[sharded-slab-0.1.7.sha256sum] = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +SRC_URI[shell-words-1.1.0.sha256sum] = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" +SRC_URI[shlex-1.2.0.sha256sum] = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380" +SRC_URI[similar-2.3.0.sha256sum] = "2aeaf503862c419d66959f5d7ca015337d864e9c49485d771b732e2a20453597" +SRC_URI[smallvec-1.11.2.sha256sum] = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" +SRC_URI[smawk-0.3.2.sha256sum] = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" +SRC_URI[snapbox-0.4.14.sha256sum] = "4b377c0b6e4715c116473d8e40d51e3fa5b0a2297ca9b2a931ba800667b259ed" +SRC_URI[snapbox-macros-0.3.6.sha256sum] = "ed1559baff8a696add3322b9be3e940d433e7bb4e38d79017205fd37ff28b28e" +SRC_URI[socks-0.3.4.sha256sum] = "f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b" +SRC_URI[spin-0.9.8.sha256sum] = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +SRC_URI[stacker-0.1.15.sha256sum] = "c886bd4480155fd3ef527d45e9ac8dd7118a898a46530b7b94c3e21866259fce" +SRC_URI[static_assertions-1.1.0.sha256sum] = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +SRC_URI[syn-2.0.39.sha256sum] = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" +SRC_URI[tar-0.4.40.sha256sum] = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" +SRC_URI[target-lexicon-0.12.12.sha256sum] = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" +SRC_URI[tempfile-3.8.1.sha256sum] = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" +SRC_URI[termcolor-1.4.0.sha256sum] = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449" +SRC_URI[terminal_size-0.2.6.sha256sum] = "8e6bf6f19e9f8ed8d4048dc22981458ebcf406d67e94cd422e5ecd73d63b3237" +SRC_URI[textwrap-0.16.0.sha256sum] = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" +SRC_URI[thiserror-1.0.50.sha256sum] = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" +SRC_URI[thiserror-impl-1.0.50.sha256sum] = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" +SRC_URI[thread_local-1.1.7.sha256sum] = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +SRC_URI[time-0.3.30.sha256sum] = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" +SRC_URI[time-core-0.1.2.sha256sum] = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" +SRC_URI[time-macros-0.2.15.sha256sum] = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" +SRC_URI[tinyvec-1.6.0.sha256sum] = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +SRC_URI[tinyvec_macros-0.1.1.sha256sum] = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" +SRC_URI[toml-0.5.11.sha256sum] = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +SRC_URI[toml-0.8.8.sha256sum] = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35" +SRC_URI[toml_datetime-0.6.5.sha256sum] = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +SRC_URI[toml_edit-0.20.7.sha256sum] = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" +SRC_URI[toml_edit-0.21.0.sha256sum] = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" +SRC_URI[tracing-0.1.40.sha256sum] = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +SRC_URI[tracing-attributes-0.1.27.sha256sum] = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +SRC_URI[tracing-core-0.1.32.sha256sum] = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +SRC_URI[tracing-log-0.2.0.sha256sum] = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +SRC_URI[tracing-serde-0.1.3.sha256sum] = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1" +SRC_URI[tracing-subscriber-0.3.18.sha256sum] = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +SRC_URI[trycmd-0.14.19.sha256sum] = "ed009372a42fb103e6f8767b9222925485e03cca032b700d203e2c5b67bee4fb" +SRC_URI[twox-hash-1.6.3.sha256sum] = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" +SRC_URI[typenum-1.17.0.sha256sum] = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +SRC_URI[unicase-2.7.0.sha256sum] = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" +SRC_URI[unicode-bidi-0.3.13.sha256sum] = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" +SRC_URI[unicode-ident-1.0.12.sha256sum] = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +SRC_URI[unicode-linebreak-0.1.5.sha256sum] = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" +SRC_URI[unicode-normalization-0.1.22.sha256sum] = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +SRC_URI[unicode-width-0.1.11.sha256sum] = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +SRC_URI[untrusted-0.9.0.sha256sum] = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" +SRC_URI[ureq-2.9.1.sha256sum] = "f8cdd25c339e200129fe4de81451814e5228c9b771d57378817d6117cc2b3f97" +SRC_URI[url-2.5.0.sha256sum] = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +SRC_URI[utf8parse-0.2.1.sha256sum] = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +SRC_URI[uuid-1.6.1.sha256sum] = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" +SRC_URI[valuable-0.1.0.sha256sum] = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +SRC_URI[vcpkg-0.2.15.sha256sum] = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" +SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +SRC_URI[versions-5.0.1.sha256sum] = "c73a36bc44e3039f51fbee93e39f41225f6b17b380eb70cc2aab942df06b34dd" +SRC_URI[wait-timeout-0.2.0.sha256sum] = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +SRC_URI[walkdir-2.4.0.sha256sum] = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" +SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +SRC_URI[webpki-roots-0.25.3.sha256sum] = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10" +SRC_URI[which-5.0.0.sha256sum] = "9bf3ea8596f3a0dd5980b46430f2058dfe2c36a27ccfbb1845d6fbfcd9ba6e14" +SRC_URI[wild-2.2.0.sha256sum] = "10d01931a94d5a115a53f95292f51d316856b68a035618eb831bbba593a30b67" +SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +SRC_URI[winapi-util-0.1.6.sha256sum] = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +SRC_URI[windows-sys-0.45.0.sha256sum] = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +SRC_URI[windows-sys-0.52.0.sha256sum] = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +SRC_URI[windows-targets-0.42.2.sha256sum] = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +SRC_URI[windows-targets-0.48.5.sha256sum] = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +SRC_URI[windows-targets-0.52.0.sha256sum] = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +SRC_URI[windows_aarch64_gnullvm-0.42.2.sha256sum] = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" +SRC_URI[windows_aarch64_gnullvm-0.48.5.sha256sum] = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +SRC_URI[windows_aarch64_gnullvm-0.52.0.sha256sum] = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" +SRC_URI[windows_aarch64_msvc-0.42.2.sha256sum] = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" +SRC_URI[windows_aarch64_msvc-0.48.5.sha256sum] = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +SRC_URI[windows_aarch64_msvc-0.52.0.sha256sum] = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" +SRC_URI[windows_i686_gnu-0.42.2.sha256sum] = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" +SRC_URI[windows_i686_gnu-0.48.5.sha256sum] = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +SRC_URI[windows_i686_gnu-0.52.0.sha256sum] = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" +SRC_URI[windows_i686_msvc-0.42.2.sha256sum] = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" +SRC_URI[windows_i686_msvc-0.48.5.sha256sum] = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +SRC_URI[windows_i686_msvc-0.52.0.sha256sum] = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" +SRC_URI[windows_x86_64_gnu-0.42.2.sha256sum] = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" +SRC_URI[windows_x86_64_gnu-0.48.5.sha256sum] = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +SRC_URI[windows_x86_64_gnu-0.52.0.sha256sum] = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" +SRC_URI[windows_x86_64_gnullvm-0.42.2.sha256sum] = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" +SRC_URI[windows_x86_64_gnullvm-0.48.5.sha256sum] = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +SRC_URI[windows_x86_64_gnullvm-0.52.0.sha256sum] = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" +SRC_URI[windows_x86_64_msvc-0.42.2.sha256sum] = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" +SRC_URI[windows_x86_64_msvc-0.48.5.sha256sum] = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +SRC_URI[windows_x86_64_msvc-0.52.0.sha256sum] = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" +SRC_URI[winnow-0.5.19.sha256sum] = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b" +SRC_URI[xattr-1.0.1.sha256sum] = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985" +SRC_URI[xwin-0.5.0.sha256sum] = "c43e0202f5457b48558096cb7b36d0e473f267551a89c82ed72d73b01dfd4007" +SRC_URI[yansi-0.5.1.sha256sum] = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" +SRC_URI[zerocopy-0.7.28.sha256sum] = "7d6f15f7ade05d2a4935e34a457b936c23dc70a05cc1d97133dc99e7a3fe0f0e" +SRC_URI[zerocopy-derive-0.7.28.sha256sum] = "dbbad221e3f78500350ecbd7dfa4e63ef945c05f4c61cb7f4d3f84cd0bba649b" +SRC_URI[zeroize-1.7.0.sha256sum] = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +SRC_URI[zip-0.6.6.sha256sum] = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" diff --git a/meta/recipes-devtools/python/python3-maturin/0001-Add-32-bit-RISC-V-support.patch b/meta/recipes-devtools/python/python3-maturin/0001-Add-32-bit-RISC-V-support.patch new file mode 100644 index 0000000000..a0ef0c9e22 --- /dev/null +++ b/meta/recipes-devtools/python/python3-maturin/0001-Add-32-bit-RISC-V-support.patch @@ -0,0 +1,102 @@ +From a945706bd610c5400fc85a248d5e0c96ebd2e953 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 27 Feb 2024 10:38:49 -0800 +Subject: [PATCH] Add 32-bit RISC-V support + +Tested with qemuriscv32 and it builds fine with all tests passed on a +qemu machine. + +Upstream-Status: Submitted [https://github.com/PyO3/maturin/pull/1969] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/target.rs | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/src/target.rs b/src/target.rs +index fbb93531..33fa9273 100644 +--- a/src/target.rs ++++ b/src/target.rs +@@ -69,6 +69,7 @@ pub enum Arch { + X86_64, + S390X, + Wasm32, ++ Riscv32, + Riscv64, + Mips64el, + Mips64, +@@ -91,6 +92,7 @@ impl fmt::Display for Arch { + Arch::X86_64 => write!(f, "x86_64"), + Arch::S390X => write!(f, "s390x"), + Arch::Wasm32 => write!(f, "wasm32"), ++ Arch::Riscv32 => write!(f, "riscv32"), + Arch::Riscv64 => write!(f, "riscv64"), + Arch::Mips64el => write!(f, "mips64el"), + Arch::Mips64 => write!(f, "mips64"), +@@ -115,7 +117,7 @@ impl Arch { + Arch::Powerpc | Arch::Powerpc64Le | Arch::Powerpc64 => "powerpc", + Arch::X86 => "i386", + Arch::X86_64 => "amd64", +- Arch::Riscv64 => "riscv", ++ Arch::Riscv32 | Arch::Riscv64 => "riscv", + Arch::Mips64el | Arch::Mips64 | Arch::Mipsel | Arch::Mips => "mips", + // sparc64 is unsupported since FreeBSD 13.0 + Arch::Sparc64 => "sparc64", +@@ -139,6 +141,7 @@ fn get_supported_architectures(os: &Os) -> Vec<Arch> { + Arch::S390X, + Arch::X86, + Arch::X86_64, ++ Arch::Riscv32, + Arch::Riscv64, + Arch::Mips64el, + Arch::Mips64, +@@ -158,6 +161,7 @@ fn get_supported_architectures(os: &Os) -> Vec<Arch> { + Arch::Powerpc64Le, + Arch::X86, + Arch::X86_64, ++ Arch::Riscv32, + Arch::Riscv64, + Arch::Mips64el, + Arch::Mipsel, +@@ -171,6 +175,7 @@ fn get_supported_architectures(os: &Os) -> Vec<Arch> { + Arch::Powerpc, + Arch::Powerpc64, + Arch::Powerpc64Le, ++ Arch::Riscv32, + Arch::Riscv64, + Arch::Sparc64, + ], +@@ -255,6 +260,7 @@ impl Target { + Architecture::Powerpc64le => Arch::Powerpc64Le, + Architecture::S390x => Arch::S390X, + Architecture::Wasm32 => Arch::Wasm32, ++ Architecture::Riscv32(_) => Arch::Riscv32, + Architecture::Riscv64(_) => Arch::Riscv64, + Architecture::Mips64(mips64_arch) => match mips64_arch { + Mips64Architecture::Mips64el => Arch::Mips64el, +@@ -343,6 +349,7 @@ impl Target { + Arch::X86_64 => "x86_64", + Arch::S390X => "s390x", + Arch::Wasm32 => "wasm32", ++ Arch::Riscv32 => "riscv32", + Arch::Riscv64 => "riscv64", + // It's kinda surprising that Python doesn't include the `el` suffix + Arch::Mips64el | Arch::Mips64 => "mips64", +@@ -388,6 +395,7 @@ impl Target { + } + Arch::Armv6L + | Arch::Wasm32 ++ | Arch::Riscv32 + | Arch::Riscv64 + | Arch::Mips64el + | Arch::Mips64 +@@ -418,6 +426,7 @@ impl Target { + | Arch::Wasm32 + | Arch::Mipsel + | Arch::Mips ++ | Arch::Riscv32 + | Arch::Powerpc => 32, + } + } +-- +2.44.0 + diff --git a/meta/recipes-devtools/python/python3-maturin_1.4.0.bb b/meta/recipes-devtools/python/python3-maturin_1.4.0.bb new file mode 100644 index 0000000000..ed19ee647a --- /dev/null +++ b/meta/recipes-devtools/python/python3-maturin_1.4.0.bb @@ -0,0 +1,43 @@ +SUMMARY = "Build and publish crates with pyo3, rust-cpython, cffi bindings and rust binaries as python packages" +HOMEPAGE = "https://github.com/pyo3/maturin" +SECTION = "devel/python" +LICENSE = "MIT | Apache-2.0" +LIC_FILES_CHKSUM = "file://license-apache;md5=1836efb2eb779966696f473ee8540542 \ + file://license-mit;md5=85fd3b67069cff784d98ebfc7d5c0797" + +SRC_URI += "file://0001-Add-32-bit-RISC-V-support.patch" +SRC_URI[sha256sum] = "ed12e1768094a7adeafc3a74ebdb8dc2201fa64c4e7e31f14cfc70378bf93790" + +S = "${WORKDIR}/maturin-${PV}" + +CFLAGS:append = " -fdebug-prefix-map=${CARGO_HOME}=${TARGET_DBGSRC_DIR}/cargo_home" + +DEPENDS += "\ + python3-setuptools-rust-native \ + python3-semantic-version-native \ + python3-setuptools-rust \ +" + +require ${BPN}-crates.inc + +inherit pypi cargo-update-recipe-crates python_pyo3 python_setuptools_build_meta + +do_configure() { + python_pyo3_do_configure + cargo_common_do_configure + python_pep517_do_configure +} + +RDEPENDS:${PN} += "\ + cargo \ + python3-json \ + rust \ +" + +RRECOMMENDS:${PN} += "\ + python3-ensurepip \ + python3-pip \ + python3-venv \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-meson-python_0.15.0.bb b/meta/recipes-devtools/python/python3-meson-python_0.15.0.bb new file mode 100644 index 0000000000..ad3cfe17d9 --- /dev/null +++ b/meta/recipes-devtools/python/python3-meson-python_0.15.0.bb @@ -0,0 +1,27 @@ +SUMMARY = "Meson Python build backend (PEP 517)" +HOMEPAGE = "https://github.com/mesonbuild/meson-python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d580b27e67cc0892a5b005b0be114b60" + +DEPENDS = " \ + meson-native \ + ninja-native \ + patchelf-native \ + python3-pyproject-metadata-native \ +" + +PYPI_PACKAGE = "meson_python" + +inherit pypi python_mesonpy +SRC_URI[sha256sum] = "fddb73eecd49e89c1c41c87937cd89c2d0b65a1c63ba28238681d4bd9484d26f" + +DEPENDS:remove:class-native = "python3-meson-python-native" + +RDEPENDS:${PN} = " \ + meson \ + ninja \ + patchelf \ + python3-pyproject-metadata \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-more-itertools/run-ptest b/meta/recipes-devtools/python/python3-more-itertools/run-ptest index 3385d68939..8d2017d39c 100644 --- a/meta/recipes-devtools/python/python3-more-itertools/run-ptest +++ b/meta/recipes-devtools/python/python3-more-itertools/run-ptest @@ -1,3 +1,3 @@ #!/bin/sh -pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}' +pytest --automake diff --git a/meta/recipes-devtools/python/python3-more-itertools_8.10.0.bb b/meta/recipes-devtools/python/python3-more-itertools_10.2.0.bb index 93d3ad60f8..e1e1f5e18f 100644 --- a/meta/recipes-devtools/python/python3-more-itertools_8.10.0.bb +++ b/meta/recipes-devtools/python/python3-more-itertools_10.2.0.bb @@ -1,22 +1,24 @@ -DESCRIPTION = "More routines for operating on iterables, beyond itertools" +SUMMARY = "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] = "1debcabeb1df793814859d64a81ad7cb10504c24349368ccf214c664c474f41f" +SRC_URI[sha256sum] = "8fccb480c43d3e99a00087634c06dd02b0d50fbf088b380de5a41a015ec239e1" -inherit pypi setuptools3 ptest +inherit pypi python_flit_core ptest SRC_URI += " \ file://run-ptest \ " RDEPENDS:${PN} += " \ - ${PYTHON_PN}-asyncio \ + python3-asyncio \ " RDEPENDS:${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ + python3-statistics \ + python3-pytest \ + python3-unittest-automake-output \ " do_install_ptest() { diff --git a/meta/recipes-devtools/python/python3-ndg-httpsclient_0.5.1.bb b/meta/recipes-devtools/python/python3-ndg-httpsclient_0.5.1.bb new file mode 100644 index 0000000000..68d8668a41 --- /dev/null +++ b/meta/recipes-devtools/python/python3-ndg-httpsclient_0.5.1.bb @@ -0,0 +1,31 @@ +SUMMARY = "Provides enhanced HTTPS support for httplib and urllib2 using PyOpenSSL" +HOMEPAGE = "https://github.com/cedadev/ndg_httpsclient/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://MANIFEST.in;md5=ce22c0cd986d2de3f7073cd6b5523ae0" + +SRC_URI[md5sum] = "b0fc8ea38f87d2c1ab1ed79a95c078f9" +SRC_URI[sha256sum] = "d72faed0376ab039736c2ba12e30695e2788c4aa569c9c3e3d72131de2592210" + +inherit pypi setuptools3 update-alternatives + +PYPI_PACKAGE = "ndg_httpsclient" + +DEPENDS += " \ + python3-pyopenssl \ + python3-pyasn1 \ +" + +RDEPENDS:${PN} += " \ + python3-datetime \ + python3-logging \ + python3-pyopenssl \ + python3-pyasn1 \ +" + +BBCLASSEXTEND = "native nativesdk" + +UPSTREAM_CHECK_REGEX = "" + +ALTERNATIVE:${PN} = "ndg_httpclient" +ALTERNATIVE_LINK_NAME[ndg_httpclient] = "${bindir}/ndg_httpclient" +ALTERNATIVE_PRIORITY = "30" diff --git a/meta/recipes-devtools/python/python3-nose_1.3.7.bb b/meta/recipes-devtools/python/python3-nose_1.3.7.bb deleted file mode 100644 index 13dbf96179..0000000000 --- a/meta/recipes-devtools/python/python3-nose_1.3.7.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools3 -require python-nose.inc diff --git a/meta/recipes-devtools/python/python3-numpy/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch b/meta/recipes-devtools/python/python3-numpy/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch new file mode 100644 index 0000000000..bbe309c556 --- /dev/null +++ b/meta/recipes-devtools/python/python3-numpy/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch @@ -0,0 +1,70 @@ +From 46eea664cf89d0602e7ff16d587c37c045b125b7 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +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 <ross.burton@intel.com> +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> + +--- + 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 feb28f6..a48d6d1 100644 +--- a/numpy/distutils/system_info.py ++++ b/numpy/distutils/system_info.py +@@ -327,44 +327,14 @@ def add_system_root(library_root): + 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')) diff --git a/meta/recipes-devtools/python/python3-numpy/0001-numpy-core-Define-RISCV-32-support.patch b/meta/recipes-devtools/python/python3-numpy/0001-numpy-core-Define-RISCV-32-support.patch new file mode 100644 index 0000000000..676bdbb3af --- /dev/null +++ b/meta/recipes-devtools/python/python3-numpy/0001-numpy-core-Define-RISCV-32-support.patch @@ -0,0 +1,50 @@ +From eb6d6579150bf4684603ce377c51e90ad3bb8109 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +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 <raj.khem@gmail.com> +--- + 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/recipes-devtools/python/python3-numpy/fix_reproducibility.patch b/meta/recipes-devtools/python/python3-numpy/fix_reproducibility.patch new file mode 100644 index 0000000000..d952aed00c --- /dev/null +++ b/meta/recipes-devtools/python/python3-numpy/fix_reproducibility.patch @@ -0,0 +1,33 @@ +This regex decides whether to use O3 opimisation on numpy or not. + +It includes "od", which happens to be a substring of "reproducible" +but not "qemux86-world". + +The regex will run against all compiler options including things like: + +-fmacro-prefix-map=/XXX/build/tmp/work/core2-64-poky-linux/python3-numpy/1.26.0/numpy-1.26.0=/usr/src/debug/python3-numpy/1.26.0-r0 + +i.e. including build paths. + +Reduce the regex to something deterministic for our builds, assuming +nobody builds in /home/debug:full/ + +The autobuilder race depended upon whether qemux86-world or the +reproducible target ran first and won the race to populate sstate. + +Upstream-Status: Inappropriate [upstream have dropped distutils and switched to meson] +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> + +Index: numpy-1.26.0/numpy/distutils/ccompiler_opt.py +=================================================================== +--- numpy-1.26.0.orig/numpy/distutils/ccompiler_opt.py ++++ numpy-1.26.0/numpy/distutils/ccompiler_opt.py +@@ -990,7 +990,7 @@ class _CCompiler: + ("cc_is_nocc", "", ""), + ) + detect_args = ( +- ("cc_has_debug", ".*(O0|Od|ggdb|coverage|debug:full).*", ""), ++ ("cc_has_debug", ".*debug:full.*", ""), + ("cc_has_native", + ".*(-march=native|-xHost|/QxHost|-mcpu=a64fx).*", ""), + # in case if the class run with -DNPY_DISABLE_OPTIMIZATION diff --git a/meta/recipes-devtools/python/python3-numpy/run-ptest b/meta/recipes-devtools/python/python3-numpy/run-ptest new file mode 100644 index 0000000000..9a1c72aeb1 --- /dev/null +++ b/meta/recipes-devtools/python/python3-numpy/run-ptest @@ -0,0 +1,5 @@ +#!/usr/bin/env python3 + +import numpy +numpy.test(label='full', verbose=2) + diff --git a/meta/recipes-devtools/python/python3-numpy_1.26.4.bb b/meta/recipes-devtools/python/python3-numpy_1.26.4.bb new file mode 100644 index 0000000000..ccd08147af --- /dev/null +++ b/meta/recipes-devtools/python/python3-numpy_1.26.4.bb @@ -0,0 +1,64 @@ +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=a752eb20459cf74a9d84ee4825e8317c" + +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://fix_reproducibility.patch \ + file://run-ptest \ + " +SRC_URI[sha256sum] = "2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010" + +GITHUB_BASE_URI = "https://github.com/numpy/numpy/releases" +UPSTREAM_CHECK_REGEX = "releases/tag/v?(?P<pver>\d+(\.\d+)+)$" + +DEPENDS += "python3-cython-native" + +inherit ptest setuptools3 github-releases + +S = "${WORKDIR}/numpy-${PV}" + +CLEANBROKEN = "1" + +do_compile:prepend() { + export NPY_DISABLE_SVML=1 +} + +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} = "python3-unittest \ + python3-difflib \ + python3-pprint \ + python3-pickle \ + python3-shell \ + python3-doctest \ + python3-datetime \ + python3-misc \ + python3-mmap \ + python3-netclient \ + python3-numbers \ + python3-pydoc \ + python3-pkgutil \ + python3-email \ + python3-compression \ + python3-ctypes \ + python3-threading \ + python3-multiprocessing \ + python3-json \ +" +RDEPENDS:${PN}-ptest += "python3-pytest \ + python3-hypothesis \ + python3-sortedcontainers \ + python3-resource \ + python3-typing-extensions \ + ldd \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-packaging_21.0.bb b/meta/recipes-devtools/python/python3-packaging_21.0.bb deleted file mode 100644 index f20f8886a4..0000000000 --- a/meta/recipes-devtools/python/python3-packaging_21.0.bb +++ /dev/null @@ -1,13 +0,0 @@ -DESCRIPTION = "Core utilities for Python packages" -HOMEPAGE = "https://github.com/pypa/packaging" -LICENSE = "Apache-2.0 | BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=faadaedca9251a90b205c9167578ce91" - -SRC_URI[sha256sum] = "7dc96269f53a4ccec5c0670940a4281106dd0bb343f47b7471f779df49c2fbe7" - -inherit pypi setuptools3 - -BBCLASSEXTEND = "native nativesdk" - -DEPENDS += "${PYTHON_PN}-setuptools-native" -RDEPENDS:${PN} += "${PYTHON_PN}-pyparsing" diff --git a/meta/recipes-devtools/python/python3-packaging_24.0.bb b/meta/recipes-devtools/python/python3-packaging_24.0.bb new file mode 100644 index 0000000000..0942eeb15e --- /dev/null +++ b/meta/recipes-devtools/python/python3-packaging_24.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "Core utilities for Python packages" +HOMEPAGE = "https://github.com/pypa/packaging" +LICENSE = "Apache-2.0 | BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=faadaedca9251a90b205c9167578ce91" + +SRC_URI[sha256sum] = "eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9" + +inherit pypi python_flit_core + +BBCLASSEXTEND = "native nativesdk" + +# Bootstrap the native build +DEPENDS:remove:class-native = "python3-build-native" +RDEPENDS:${PN} += "python3-profile" + +do_compile:class-native () { + python_flit_core_do_manual_build +} diff --git a/meta/recipes-devtools/python/python3-pathlib2_2.3.6.bb b/meta/recipes-devtools/python/python3-pathlib2_2.3.7.bb index 1f1cf1ab28..d4de40893a 100644 --- a/meta/recipes-devtools/python/python3-pathlib2_2.3.6.bb +++ b/meta/recipes-devtools/python/python3-pathlib2_2.3.7.bb @@ -1,12 +1,12 @@ -DESCRIPTION = "Object-oriented filesystem paths" +SUMMARY = "Object-oriented filesystem paths" HOMEPAGE = "https://github.com/mcmtroffaes/pathlib2" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=2dc08586cce3ab91bfa091b655c0e440" -SRC_URI[sha256sum] = "7d8bcb5555003cdf4a8d2872c538faa3a0f5d20630cb360e518ca3b981795e5f" +SRC_URI[sha256sum] = "7a4329d67beff9a712e1d3ae147e4e3e108b0bfd284ffdea03a635126c76b3c0" inherit pypi setuptools3 -RDEPENDS:${PN} += "${PYTHON_PN}-six ${PYTHON_PN}-ctypes" +RDEPENDS:${PN} += "python3-six python3-ctypes" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-pathspec_0.12.1.bb b/meta/recipes-devtools/python/python3-pathspec_0.12.1.bb new file mode 100644 index 0000000000..b61f673397 --- /dev/null +++ b/meta/recipes-devtools/python/python3-pathspec_0.12.1.bb @@ -0,0 +1,13 @@ +SUMMARY = "Utility library for gitignore style pattern matching of file paths." +HOMEPAGE = "https://github.com/cpburnz/python-path-specification" +SECTION = "devel/python" +LICENSE = "MPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=815ca599c9df247a0c7f619bab123dad" + +SRC_URI[sha256sum] = "a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" + +RDEPENDS:${PN} += "python3-profile" diff --git a/meta/recipes-devtools/python/python3-pbr_5.6.0.bb b/meta/recipes-devtools/python/python3-pbr_5.6.0.bb deleted file mode 100644 index 132e6e52b6..0000000000 --- a/meta/recipes-devtools/python/python3-pbr_5.6.0.bb +++ /dev/null @@ -1,4 +0,0 @@ -inherit setuptools3 -require python-pbr.inc - -SRC_URI[sha256sum] = "42df03e7797b796625b1029c0400279c7c34fd7df24a7d7818a1abb5b38710dd" diff --git a/meta/recipes-devtools/python/python3-pbr_6.0.0.bb b/meta/recipes-devtools/python/python3-pbr_6.0.0.bb new file mode 100644 index 0000000000..6c8171196a --- /dev/null +++ b/meta/recipes-devtools/python/python3-pbr_6.0.0.bb @@ -0,0 +1,4 @@ +inherit setuptools3 +require python-pbr.inc + +SRC_URI[sha256sum] = "d1377122a5a00e2f940ee482999518efe16d745d423a670c27773dfbc3c9a7d9" diff --git a/meta/recipes-devtools/python/python3-pip/0001-change-shebang-to-python3.patch b/meta/recipes-devtools/python/python3-pip/0001-change-shebang-to-python3.patch deleted file mode 100644 index 0187001168..0000000000 --- a/meta/recipes-devtools/python/python3-pip/0001-change-shebang-to-python3.patch +++ /dev/null @@ -1,128 +0,0 @@ -From baa85a4dab2e8d64eb25d1181b6420db25ce919a Mon Sep 17 00:00:00 2001 -From: Trevor Gamblin <trevor.gamblin@windriver.com> -Date: Tue, 22 Jun 2021 12:31:46 -0400 -Subject: [PATCH] change shebang to python3 - -Upstream-Status: Inappropriate (OE-specific) - -Despite no longer supporting python2, some files in the pip source refer -to "python" instead of "python3", so patch them as needed to ensure that -they correctly reference the python3 binary. - -Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> ---- - src/pip/_vendor/appdirs.py | 2 +- - src/pip/_vendor/chardet/langbulgarianmodel.py | 2 +- - src/pip/_vendor/chardet/langgreekmodel.py | 2 +- - src/pip/_vendor/chardet/langhebrewmodel.py | 2 +- - src/pip/_vendor/chardet/langhungarianmodel.py | 2 +- - src/pip/_vendor/chardet/langrussianmodel.py | 2 +- - src/pip/_vendor/chardet/langthaimodel.py | 2 +- - src/pip/_vendor/chardet/langturkishmodel.py | 2 +- - src/pip/_vendor/chardet/metadata/languages.py | 2 +- - src/pip/_vendor/requests/certs.py | 2 +- - 10 files changed, 10 insertions(+), 10 deletions(-) - -diff --git a/src/pip/_vendor/appdirs.py b/src/pip/_vendor/appdirs.py -index 33a3b7741..60b9ef5f7 100644 ---- a/src/pip/_vendor/appdirs.py -+++ b/src/pip/_vendor/appdirs.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - # -*- coding: utf-8 -*- - # Copyright (c) 2005-2010 ActiveState Software Inc. - # Copyright (c) 2013 Eddy Petrișor -diff --git a/src/pip/_vendor/chardet/langbulgarianmodel.py b/src/pip/_vendor/chardet/langbulgarianmodel.py -index e963a5097..97ea6cea8 100644 ---- a/src/pip/_vendor/chardet/langbulgarianmodel.py -+++ b/src/pip/_vendor/chardet/langbulgarianmodel.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - # -*- coding: utf-8 -*- - - from pip._vendor.chardet.sbcharsetprober import SingleByteCharSetModel -diff --git a/src/pip/_vendor/chardet/langgreekmodel.py b/src/pip/_vendor/chardet/langgreekmodel.py -index d99528ede..4a127ea83 100644 ---- a/src/pip/_vendor/chardet/langgreekmodel.py -+++ b/src/pip/_vendor/chardet/langgreekmodel.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - # -*- coding: utf-8 -*- - - from pip._vendor.chardet.sbcharsetprober import SingleByteCharSetModel -diff --git a/src/pip/_vendor/chardet/langhebrewmodel.py b/src/pip/_vendor/chardet/langhebrewmodel.py -index 484c652a4..676c1a711 100644 ---- a/src/pip/_vendor/chardet/langhebrewmodel.py -+++ b/src/pip/_vendor/chardet/langhebrewmodel.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - # -*- coding: utf-8 -*- - - from pip._vendor.chardet.sbcharsetprober import SingleByteCharSetModel -diff --git a/src/pip/_vendor/chardet/langhungarianmodel.py b/src/pip/_vendor/chardet/langhungarianmodel.py -index bbc5cda64..042eae70a 100644 ---- a/src/pip/_vendor/chardet/langhungarianmodel.py -+++ b/src/pip/_vendor/chardet/langhungarianmodel.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - # -*- coding: utf-8 -*- - - from pip._vendor.chardet.sbcharsetprober import SingleByteCharSetModel -diff --git a/src/pip/_vendor/chardet/langrussianmodel.py b/src/pip/_vendor/chardet/langrussianmodel.py -index 5594452b5..564b02e58 100644 ---- a/src/pip/_vendor/chardet/langrussianmodel.py -+++ b/src/pip/_vendor/chardet/langrussianmodel.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - # -*- coding: utf-8 -*- - - from pip._vendor.chardet.sbcharsetprober import SingleByteCharSetModel -diff --git a/src/pip/_vendor/chardet/langthaimodel.py b/src/pip/_vendor/chardet/langthaimodel.py -index 9a37db573..c97487959 100644 ---- a/src/pip/_vendor/chardet/langthaimodel.py -+++ b/src/pip/_vendor/chardet/langthaimodel.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - # -*- coding: utf-8 -*- - - from pip._vendor.chardet.sbcharsetprober import SingleByteCharSetModel -diff --git a/src/pip/_vendor/chardet/langturkishmodel.py b/src/pip/_vendor/chardet/langturkishmodel.py -index 43f4230ae..7e710c371 100644 ---- a/src/pip/_vendor/chardet/langturkishmodel.py -+++ b/src/pip/_vendor/chardet/langturkishmodel.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - # -*- coding: utf-8 -*- - - from pip._vendor.chardet.sbcharsetprober import SingleByteCharSetModel -diff --git a/src/pip/_vendor/chardet/metadata/languages.py b/src/pip/_vendor/chardet/metadata/languages.py -index 3237d5abf..aa2ec7c35 100644 ---- a/src/pip/_vendor/chardet/metadata/languages.py -+++ b/src/pip/_vendor/chardet/metadata/languages.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - # -*- coding: utf-8 -*- - """ - Metadata about languages used by our model training code for our -diff --git a/src/pip/_vendor/requests/certs.py b/src/pip/_vendor/requests/certs.py -index 06a594e58..bfa7839a4 100644 ---- a/src/pip/_vendor/requests/certs.py -+++ b/src/pip/_vendor/requests/certs.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - # -*- coding: utf-8 -*- - - """ --- -2.31.1 - diff --git a/meta/recipes-devtools/python/python3-pip/no_shebang_mangling.patch b/meta/recipes-devtools/python/python3-pip/no_shebang_mangling.patch new file mode 100644 index 0000000000..99fa14ee03 --- /dev/null +++ b/meta/recipes-devtools/python/python3-pip/no_shebang_mangling.patch @@ -0,0 +1,36 @@ +From 2aa82aeb0783c5fa7777b32bfe1dd3da9ae8fc6e Mon Sep 17 00:00:00 2001 +From: Richard Purdie <richard.purdie@linuxfoundation.org> +Date: Wed, 23 Feb 2022 12:27:06 +0000 +Subject: [PATCH] python3-pip: Don't change shebang + +Patch pip to disable shebang mangling and also force the python executable +to be python3 from the environment when building anything for the target +(or nativesdk). This avoids incorrect interpreter paths in the target scripts. + +Upstream-Status: Inappropriate [OE specific config] +--- + src/pip/_vendor/distlib/scripts.py | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/pip/_vendor/distlib/scripts.py b/src/pip/_vendor/distlib/scripts.py +index cfa45d2..313f499 100644 +--- a/src/pip/_vendor/distlib/scripts.py ++++ b/src/pip/_vendor/distlib/scripts.py +@@ -144,6 +144,8 @@ class ScriptMaker(object): + See also: http://www.in-ulm.de/~mascheck/various/shebang/#length + https://hg.mozilla.org/mozilla-central/file/tip/mach + """ ++ if '_PYTHON_SYSCONFIGDATA_NAME' in os.environ: ++ return b'#!/usr/bin/env python3' + if os.name != 'posix': + simple_shebang = True + else: +@@ -362,7 +364,7 @@ class ScriptMaker(object): + return + + match = FIRST_LINE_RE.match(first_line.replace(b'\r\n', b'\n')) +- if match: ++ if False: + adjust = True + post_interp = match.group(1) or b'' + diff --git a/meta/recipes-devtools/python/python3-pip_21.2.4.bb b/meta/recipes-devtools/python/python3-pip_21.2.4.bb deleted file mode 100644 index 1f0f707f4b..0000000000 --- a/meta/recipes-devtools/python/python3-pip_21.2.4.bb +++ /dev/null @@ -1,33 +0,0 @@ -SUMMARY = "The PyPA recommended tool for installing Python packages" -HOMEPAGE = "https://pypi.org/project/pip" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c4fa2b50f55649f43060fa04b0919b9b" - -DEPENDS += "python3 python3-setuptools-native" - -inherit pypi distutils3 - -SRC_URI += "file://0001-change-shebang-to-python3.patch" - -SRC_URI[sha256sum] = "0eb8a1516c3d138ae8689c0c1a60fde7143310832f9dc77e11d8a4bc62de193b" - -do_install:append() { - # Install as pip3 and leave pip2 as default - rm ${D}/${bindir}/pip -} - -RDEPENDS:${PN} = "\ - python3-compile \ - python3-io \ - python3-html \ - python3-json \ - python3-multiprocessing \ - python3-netserver \ - python3-setuptools \ - python3-unixadmin \ - python3-xmlrpc \ - python3-pickle \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-pip_24.0.bb b/meta/recipes-devtools/python/python3-pip_24.0.bb new file mode 100644 index 0000000000..be4a29500a --- /dev/null +++ b/meta/recipes-devtools/python/python3-pip_24.0.bb @@ -0,0 +1,60 @@ +SUMMARY = "The PyPA recommended tool for installing Python packages" +HOMEPAGE = "https://pypi.org/project/pip" +SECTION = "devel/python" +LICENSE = "MIT & Apache-2.0 & MPL-2.0 & LGPL-2.1-only & BSD-3-Clause & PSF-2.0 & BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=63ec52baf95163b597008bb46db68030 \ + file://src/pip/_vendor/cachecontrol/LICENSE.txt;md5=6572692148079ebbbd800be4b9f36c6d \ + file://src/pip/_vendor/certifi/LICENSE;md5=3c2b7404369c587c3559afb604fce2f2 \ + file://src/pip/_vendor/chardet/LICENSE;md5=4fbd65380cdd255951079008b364516c \ + file://src/pip/_vendor/colorama/LICENSE.txt;md5=b4936429a56a652b84c5c01280dcaa26 \ + file://src/pip/_vendor/distlib/LICENSE.txt;md5=f6a11430d5cd6e2cd3832ee94f22ddfc \ + file://src/pip/_vendor/distro/LICENSE;md5=d2794c0df5b907fdace235a619d80314 \ + file://src/pip/_vendor/idna/LICENSE.md;md5=239668a7c6066d9e0c5382e9c8c6c0e1 \ + file://src/pip/_vendor/msgpack/COPYING;md5=cd9523181d9d4fbf7ffca52eaa2a5751 \ + file://src/pip/_vendor/packaging/LICENSE;md5=faadaedca9251a90b205c9167578ce91 \ + file://src/pip/_vendor/packaging/LICENSE.APACHE;md5=2ee41112a44fe7014dce33e26468ba93 \ + file://src/pip/_vendor/pkg_resources/LICENSE;md5=141643e11c48898150daa83802dbc65f \ + file://src/pip/_vendor/platformdirs/LICENSE;md5=ea4f5a41454746a9ed111e3d8723d17a \ + file://src/pip/_vendor/pygments/LICENSE;md5=36a13c90514e2899f1eba7f41c3ee592 \ + file://src/pip/_vendor/pyparsing/LICENSE;md5=657a566233888513e1f07ba13e2f47f1 \ + file://src/pip/_vendor/pyproject_hooks/LICENSE;md5=aad69c93f605003e3342b174d9b0708c \ + file://src/pip/_vendor/requests/LICENSE;md5=34400b68072d710fecd0a2940a0d1658 \ + file://src/pip/_vendor/resolvelib/LICENSE;md5=78e1c0248051c32a38a7f820c30bd7a5 \ + file://src/pip/_vendor/rich/LICENSE;md5=b5f0b94fbc94f5ad9ae4efcf8a778303 \ + file://src/pip/_vendor/six.LICENSE;md5=43cfc9e4ac0e377acfb9b76f56b8415d \ + file://src/pip/_vendor/tenacity/LICENSE;md5=175792518e4ac015ab6696d16c4f607e \ + file://src/pip/_vendor/tomli/LICENSE;md5=aaaaf0879d17df0110d1aa8c8c9f46f5 \ + file://src/pip/_vendor/typing_extensions.LICENSE;md5=fcf6b249c2641540219a727f35d8d2c2 \ + file://src/pip/_vendor/urllib3/LICENSE.txt;md5=c2823cb995439c984fd62a973d79815c \ + file://src/pip/_vendor/webencodings/LICENSE;md5=81fb24cd7823cce23b69f721993dce4d \ + " + +inherit pypi python_setuptools_build_meta + +SRC_URI += "file://no_shebang_mangling.patch" + +SRC_URI[sha256sum] = "ea9bd1a847e8c5774a5777bb398c19e80bcd4e2aa16a4b301b718fe6f593aba2" + +do_install:append() { + rm -f ${D}/${bindir}/pip +} + +RDEPENDS:${PN} = "\ + python3-compile \ + python3-io \ + python3-html \ + python3-json \ + python3-multiprocessing \ + python3-netserver \ + python3-setuptools \ + python3-unixadmin \ + python3-xmlrpc \ + python3-pickle \ + python3-image \ +" + +BBCLASSEXTEND = "native nativesdk" + +# This used to use the bootstrap install which didn't compile. Until we bump the +# tmpdir version we can't compile the native otherwise the sysroot unpack fails +INSTALL_WHEEL_COMPILE_BYTECODE:class-native = "--no-compile-bytecode" diff --git a/meta/recipes-devtools/python/python3-pluggy/run-ptest b/meta/recipes-devtools/python/python3-pluggy/run-ptest index b63c4de0d9..8d2017d39c 100644 --- a/meta/recipes-devtools/python/python3-pluggy/run-ptest +++ b/meta/recipes-devtools/python/python3-pluggy/run-ptest @@ -1,3 +1,3 @@ #!/bin/sh -pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}' +pytest --automake diff --git a/meta/recipes-devtools/python/python3-pluggy_1.0.0.bb b/meta/recipes-devtools/python/python3-pluggy_1.5.0.bb index 14a7ccb0b0..9822cd59f3 100644 --- a/meta/recipes-devtools/python/python3-pluggy_1.0.0.bb +++ b/meta/recipes-devtools/python/python3-pluggy_1.5.0.bb @@ -3,24 +3,27 @@ HOMEPAGE = "https://github.com/pytest-dev/pluggy" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=1c8206d16fd5cc02fa9b0bb98955e5c2" -SRC_URI[sha256sum] = "4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159" +SRC_URI[sha256sum] = "2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1" -DEPENDS += "${PYTHON_PN}-setuptools-scm-native" -RDEPENDS:${PN} += "${PYTHON_PN}-importlib-metadata \ - ${PYTHON_PN}-more-itertools \ +DEPENDS += "python3-setuptools-scm-native" +RDEPENDS:${PN} += "python3-importlib-metadata \ + python3-more-itertools \ " -inherit pypi ptest setuptools3 +inherit pypi ptest python_setuptools_build_meta SRC_URI += " \ file://run-ptest \ " RDEPENDS:${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ + python3-pytest \ + python3-unittest-automake-output \ " do_install_ptest() { install -d ${D}${PTEST_PATH}/testing cp -rf ${S}/testing/* ${D}${PTEST_PATH}/testing/ } + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-ply_3.11.bb b/meta/recipes-devtools/python/python3-ply_3.11.bb new file mode 100644 index 0000000000..a05bd6702d --- /dev/null +++ b/meta/recipes-devtools/python/python3-ply_3.11.bb @@ -0,0 +1,18 @@ +SUMMARY = "Python Lex and Yacc" +DESCRIPTION = "Python ply: PLY is yet another implementation of lex and yacc for Python" +HOMEPAGE = "https://pypi.python.org/pypi/ply" +SECTION = "devel/python" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://README.md;beginline=5;endline=32;md5=f5ee5c355c0e6719c787a71b8f0fa96c" + +SRC_URI[md5sum] = "6465f602e656455affcd7c5734c638f8" +SRC_URI[sha256sum] = "00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3" + +inherit pypi setuptools3 + +RDEPENDS:${PN}:class-target += "\ + python3-netclient \ + python3-shell \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-poetry-core_1.9.0.bb b/meta/recipes-devtools/python/python3-poetry-core_1.9.0.bb new file mode 100644 index 0000000000..540fdffaed --- /dev/null +++ b/meta/recipes-devtools/python/python3-poetry-core_1.9.0.bb @@ -0,0 +1,42 @@ +SUMMARY = "Poetry PEP 517 Build Backend" +DESCRIPTION = "Poetry PEP 517 Build Backend" +HOMEPAGE = "https://github.com/python-poetry/poetry-core" +BUGTRACKER = "https://github.com/python-poetry/poetry-core" +CHANGELOG = "https://github.com/python-poetry/poetry-core/blob/master/CHANGELOG.md" + +LICENSE = "Apache-2.0 & BSD-2-Clause & BSD-3-Clause & MIT" +LIC_FILES_CHKSUM = "\ + file://LICENSE;md5=78c39cfd009863ae44237a7ab1f9cedc \ + file://src/poetry/core/_vendor/fastjsonschema/LICENSE;md5=18950e8362b69c0c617b42b8bd8e7532 \ + file://src/poetry/core/_vendor/lark/LICENSE;md5=fcfbf1e2ecc0f37acbb5871aa0267500 \ + file://src/poetry/core/_vendor/packaging/LICENSE;md5=faadaedca9251a90b205c9167578ce91 \ + file://src/poetry/core/_vendor/packaging/LICENSE.APACHE;md5=2ee41112a44fe7014dce33e26468ba93 \ + file://src/poetry/core/_vendor/packaging/LICENSE.BSD;md5=7bef9bf4a8e4263634d0597e7ba100b8 \ + file://src/poetry/core/_vendor/tomli/LICENSE;md5=aaaaf0879d17df0110d1aa8c8c9f46f5 \ +" + +SRC_URI[sha256sum] = "fa7a4001eae8aa572ee84f35feb510b321bd652e5cf9293249d62853e1f935a2" + +inherit python_poetry_core pypi + +PYPI_PACKAGE = "poetry_core" + +RDEPENDS:${PN}:append:class-target = "\ + python3-compression \ + python3-core \ + python3-crypt \ + python3-io \ + python3-json \ + python3-logging \ + python3-netclient \ + python3-pathlib2 \ + python3-pprint \ + python3-shell \ +" + +RDEPENDS:${PN} += "\ + python3-pip \ + python3-six \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-pretend_1.0.9.bb b/meta/recipes-devtools/python/python3-pretend_1.0.9.bb new file mode 100644 index 0000000000..21d14a03b8 --- /dev/null +++ b/meta/recipes-devtools/python/python3-pretend_1.0.9.bb @@ -0,0 +1,11 @@ +SUMMARY = "A library for stubbing in Python" +HOMEPAGE = "https://github.com/alex/pretend" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=411780c0b7fa756753e94affeee5bc99" + +SRC_URI[md5sum] = "ad53883ede48aeac7ae584f0de0240e8" +SRC_URI[sha256sum] = "c90eb810cde8ebb06dafcb8796f9a95228ce796531bc806e794c2f4649aa1b10" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-psutil_5.9.8.bb b/meta/recipes-devtools/python/python3-psutil_5.9.8.bb new file mode 100644 index 0000000000..1a394eda33 --- /dev/null +++ b/meta/recipes-devtools/python/python3-psutil_5.9.8.bb @@ -0,0 +1,41 @@ +SUMMARY = "A cross-platform process and system utilities module for Python" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a9c72113a843d0d732a0ac1c200d81b1" +HOMEPAGE = "https://pypi.org/project/psutil/" + +SRC_URI[sha256sum] = "6be126e3225486dff286a8fb9a06246a5253f4c7c53b475ea5f5ac934e64194c" + +inherit pypi setuptools3 + +PACKAGES =+ "${PN}-tests" + +FILES:${PN}-tests += " \ + ${PYTHON_SITEPACKAGES_DIR}/psutil/test* \ + ${PYTHON_SITEPACKAGES_DIR}/psutil/__pycache__/test* \ +" + + +RDEPENDS:${PN} += " \ + python3-shell \ + python3-threading \ + python3-xml \ + python3-netclient \ + python3-ctypes \ + python3-resource \ +" + +RDEPENDS:${PN}-tests += " \ + ${PN} \ + python3 \ + coreutils \ + procps \ + binutils \ + gcc \ + gcc-symlinks \ + libstdc++ \ + libstdc++-dev \ +" + +INSANE_SKIP:${PN}-tests += "dev-deps" + +BBCLASSEXTEND = "native" diff --git a/meta/recipes-devtools/python/python3-py_1.10.0.bb b/meta/recipes-devtools/python/python3-py_1.11.0.bb index 8225c6b6c8..31d5a377a7 100644 --- a/meta/recipes-devtools/python/python3-py_1.10.0.bb +++ b/meta/recipes-devtools/python/python3-py_1.11.0.bb @@ -3,12 +3,12 @@ HOMEPAGE = "http://py.readthedocs.io/" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=a6bb0320b04a0a503f12f69fea479de9" -SRC_URI[sha256sum] = "21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3" +SRC_URI[sha256sum] = "51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719" -DEPENDS += "${PYTHON_PN}-setuptools-scm-native" +DEPENDS += "python3-setuptools-scm-native" -inherit pypi setuptools3 +inherit pypi python_setuptools_build_meta BBCLASSEXTEND = "native nativesdk" -RDEPENDS:${PN} += "${PYTHON_PN}-netclient" +RDEPENDS:${PN} += "python3-netclient" diff --git a/meta/recipes-devtools/python/python3-pyasn1/run-ptest b/meta/recipes-devtools/python/python3-pyasn1/run-ptest new file mode 100644 index 0000000000..8d2017d39c --- /dev/null +++ b/meta/recipes-devtools/python/python3-pyasn1/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +pytest --automake diff --git a/meta/recipes-devtools/python/python3-pyasn1_0.6.0.bb b/meta/recipes-devtools/python/python3-pyasn1_0.6.0.bb new file mode 100644 index 0000000000..0519ba5edb --- /dev/null +++ b/meta/recipes-devtools/python/python3-pyasn1_0.6.0.bb @@ -0,0 +1,3 @@ +inherit pypi setuptools3 +require python-pyasn1.inc + diff --git a/meta/recipes-devtools/python/python3-pycairo_1.20.1.bb b/meta/recipes-devtools/python/python3-pycairo_1.26.0.bb index 9c88d998f9..ea8b81be76 100644 --- a/meta/recipes-devtools/python/python3-pycairo_1.20.1.bb +++ b/meta/recipes-devtools/python/python3-pycairo_1.26.0.bb @@ -2,7 +2,7 @@ SUMMARY = "Python bindings for the Cairo canvas library" HOMEPAGE = "http://cairographics.org/pycairo" BUGTRACKER = "http://bugs.freedesktop.org" SECTION = "python-devel" -LICENSE = "LGPLv2.1 & MPLv1.1" +LICENSE = "LGPL-2.1-only & MPL-1.1" LIC_FILES_CHKSUM = "file://COPYING;md5=f3713ca2c28d9312ad718520b6dc3eee \ file://COPYING-LGPL-2.1;md5=fad9b3332be894bab9bc501572864b29 \ file://COPYING-MPL-1.1;md5=bfe1f75d606912a4111c90743d6c7325" @@ -10,15 +10,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f3713ca2c28d9312ad718520b6dc3eee \ # cairo >= 1.14 DEPENDS = "cairo python3" -SRC_URI = "https://github.com/pygobject/pycairo/releases/download/v${PV}/pycairo-${PV}.tar.gz" -UPSTREAM_CHECK_URI = "https://github.com/pygobject/pycairo/releases/" +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/pycairo-${PV}.tar.gz" +GITHUB_BASE_URI = "https://github.com/pygobject/pycairo/releases/" -SRC_URI[md5sum] = "fa88a28cadbfb34192fe743d32c0ee33" -SRC_URI[sha256sum] = "1ee72b035b21a475e1ed648e26541b04e5d7e753d75ca79de8c583b25785531b" +SRC_URI[sha256sum] = "2dddd0a874fbddb21e14acd9b955881ee1dc6e63b9c549a192d613a907f9cbeb" S = "${WORKDIR}/pycairo-${PV}" -inherit meson pkgconfig python3targetconfig +inherit meson pkgconfig python3targetconfig github-releases CFLAGS += "-fPIC" diff --git a/meta/recipes-devtools/python/python3-pycparser_2.22.bb b/meta/recipes-devtools/python/python3-pycparser_2.22.bb new file mode 100644 index 0000000000..9a5abc42bd --- /dev/null +++ b/meta/recipes-devtools/python/python3-pycparser_2.22.bb @@ -0,0 +1,21 @@ +SUMMARY = "Parser of the C language, written in pure Python" +HOMEPAGE = "https://github.com/eliben/pycparser" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=9761c3ffee7ba99c60dca0408fd3262b" + +SRC_URI[sha256sum] = "491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" + +RDEPENDS:${PN}:class-target += "\ + python3-netclient \ + python3-ply \ + python3-pprint \ + " + +RSUGGESTS:${PN}:class-target += "\ + cpp \ + cpp-symlinks \ + " diff --git a/meta/recipes-devtools/python/python3-pycryptodome_3.11.0.bb b/meta/recipes-devtools/python/python3-pycryptodome_3.11.0.bb deleted file mode 100644 index b0e37178e0..0000000000 --- a/meta/recipes-devtools/python/python3-pycryptodome_3.11.0.bb +++ /dev/null @@ -1,5 +0,0 @@ -require python-pycryptodome.inc -inherit setuptools3 - -SRC_URI[sha256sum] = "428096bbf7a77e207f418dfd4d7c284df8ade81d2dc80f010e92753a3e406ad0" - diff --git a/meta/recipes-devtools/python/python3-pycryptodome_3.20.0.bb b/meta/recipes-devtools/python/python3-pycryptodome_3.20.0.bb new file mode 100644 index 0000000000..d24fa58d43 --- /dev/null +++ b/meta/recipes-devtools/python/python3-pycryptodome_3.20.0.bb @@ -0,0 +1,5 @@ +require python-pycryptodome.inc +inherit setuptools3 + +SRC_URI[sha256sum] = "09609209ed7de61c2b560cc5c8c4fbf892f8b15b1faf7e4cbffac97db1fffda7" + diff --git a/meta/recipes-devtools/python/python3-pycryptodomex_3.11.0.bb b/meta/recipes-devtools/python/python3-pycryptodomex_3.20.0.bb index f1132c21ac..2673ea8326 100644 --- a/meta/recipes-devtools/python/python3-pycryptodomex_3.11.0.bb +++ b/meta/recipes-devtools/python/python3-pycryptodomex_3.20.0.bb @@ -1,7 +1,7 @@ require python-pycryptodome.inc inherit setuptools3 -SRC_URI[sha256sum] = "0398366656bb55ebdb1d1d493a7175fc48ade449283086db254ac44c7d318d6d" +SRC_URI[sha256sum] = "7a710b79baddd65b806402e14766c721aee8fb83381769c27920f26476276c1e" FILES:${PN}-tests = " \ ${PYTHON_SITEPACKAGES_DIR}/Cryptodome/SelfTest/ \ diff --git a/meta/recipes-devtools/python/python3-pyelftools_0.27.bb b/meta/recipes-devtools/python/python3-pyelftools_0.27.bb deleted file mode 100644 index 0cfd99504b..0000000000 --- a/meta/recipes-devtools/python/python3-pyelftools_0.27.bb +++ /dev/null @@ -1,13 +0,0 @@ -DESCRIPTION = "pyelftools is a pure-Python library for parsing and analyzing ELF files and DWARF debugging information" -HOMEPAGE = "https://github.com/eliben/pyelftools" -SECTION = "devel/python" -LICENSE = "PD" -LIC_FILES_CHKSUM = "file://LICENSE;md5=5ce2a2b07fca326bc7c146d10105ccfc" - -SRC_URI[sha256sum] = "cde854e662774c5457d688ca41615f6594187ba7067af101232df889a6b7a66b" - -PYPI_PACKAGE = "pyelftools" - -inherit pypi setuptools3 - -BBCLASSEXTEND = "native" diff --git a/meta/recipes-devtools/python/python3-pyelftools_0.31.bb b/meta/recipes-devtools/python/python3-pyelftools_0.31.bb new file mode 100644 index 0000000000..551fed6876 --- /dev/null +++ b/meta/recipes-devtools/python/python3-pyelftools_0.31.bb @@ -0,0 +1,15 @@ +SUMMARY = "pyelftools is a pure-Python library for parsing and analyzing ELF files and DWARF debugging information" +HOMEPAGE = "https://github.com/eliben/pyelftools" +SECTION = "devel/python" +LICENSE = "PD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5ce2a2b07fca326bc7c146d10105ccfc" + +SRC_URI[sha256sum] = "c774416b10310156879443b81187d182d8d9ee499660380e645918b50bc88f99" + +PYPI_PACKAGE = "pyelftools" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native" + +RDEPENDS:${PN} += "python3-debugger python3-pprint" diff --git a/meta/recipes-devtools/python/python3-pygments_2.10.0.bb b/meta/recipes-devtools/python/python3-pygments_2.10.0.bb deleted file mode 100644 index 3c1b5d15c3..0000000000 --- a/meta/recipes-devtools/python/python3-pygments_2.10.0.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "Pygments is a syntax highlighting package written in Python." -DESCRIPTION = "Pygments is a syntax highlighting package written in Python." -HOMEPAGE = "http://pygments.org/" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=98419e351433ac106a24e3ad435930bc" - -inherit setuptools3 -SRC_URI[sha256sum] = "f398865f7eb6874156579fdf36bc840a03cab64d1cde9e93d68f46a425ec52c6" - -DEPENDS += "\ - ${PYTHON_PN} \ - " - -PYPI_PACKAGE = "Pygments" - -inherit pypi - -BBCLASSEXTEND = "native nativesdk" - diff --git a/meta/recipes-devtools/python/python3-pygments_2.17.2.bb b/meta/recipes-devtools/python/python3-pygments_2.17.2.bb new file mode 100644 index 0000000000..8b98064b78 --- /dev/null +++ b/meta/recipes-devtools/python/python3-pygments_2.17.2.bb @@ -0,0 +1,14 @@ +SUMMARY = "Pygments is a syntax highlighting package written in Python." +DESCRIPTION = "Pygments is a syntax highlighting package written in Python." +HOMEPAGE = "http://pygments.org/" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=36a13c90514e2899f1eba7f41c3ee592" + +inherit python_hatchling +SRC_URI[sha256sum] = "da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367" + +UPSTREAM_CHECK_PYPI_PACKAGE = "Pygments" +inherit pypi + +BBCLASSEXTEND = "native nativesdk" + diff --git a/meta/recipes-devtools/python/python3-pygobject/0001-Do-not-build-tests.patch b/meta/recipes-devtools/python/python3-pygobject/0001-Do-not-build-tests.patch deleted file mode 100644 index 0f2465bb52..0000000000 --- a/meta/recipes-devtools/python/python3-pygobject/0001-Do-not-build-tests.patch +++ /dev/null @@ -1,30 +0,0 @@ -From c125a806de951359ab7e302b0584f7c92fa451ad Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Fri, 12 Apr 2019 16:25:58 +0200 -Subject: [PATCH] Do not build tests - -They require installing tests from g-i, which we do not do. - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 278fa16f..aacbd4a2 100644 ---- a/meson.build -+++ b/meson.build -@@ -175,6 +175,6 @@ configure_file(input : 'PKG-INFO.in', - subdir('gi') - subdir('pygtkcompat') - with_tests = get_option('tests') --if with_tests --subdir('tests') --endif -+#if with_tests -+#subdir('tests') -+#endif --- -2.17.1 - diff --git a/meta/recipes-devtools/python/python3-pygobject_3.40.1.bb b/meta/recipes-devtools/python/python3-pygobject_3.48.2.bb index a0d4f04965..3d83a8a1c2 100644 --- a/meta/recipes-devtools/python/python3-pygobject_3.40.1.bb +++ b/meta/recipes-devtools/python/python3-pygobject_3.48.2.bb @@ -2,33 +2,38 @@ SUMMARY = "Python GObject bindings" HOMEPAGE = "https://gitlab.gnome.org/GNOME/pygobject" DESCRIPTION = "PyGObject is a Python package which provides bindings for GObject based libraries such as GTK, GStreamer, WebKitGTK, GLib, GIO and many more." SECTION = "devel/python" -LICENSE = "LGPLv2.1" +LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7" -GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase distutils3-base gobject-introspection upstream-version-is-even +GIR_MESON_OPTION = "" + +inherit gnomebase setuptools3-base gobject-introspection upstream-version-is-even + +python() { + if d.getVar('CLASSOVERRIDE') == "class-target" and not bb.utils.to_boolean(d.getVar("GI_DATA_ENABLED")): + raise bb.parse.SkipRecipe("GI not available") +} DEPENDS += "python3 glib-2.0" SRCNAME="pygobject" -SRC_URI = " \ - http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz \ - file://0001-Do-not-build-tests.patch \ -" -SRC_URI[sha256sum] = "00c6d591f4cb40c335ab1fd3e8c17869ba15cfda54416fe363290af766790035" - -UNKNOWN_CONFIGURE_WHITELIST = "introspection" +SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz" +SRC_URI[sha256sum] = "0794aeb4a9be31a092ac20621b5f54ec280f9185943d328b105cdae6298ad1a7" S = "${WORKDIR}/${SRCNAME}-${PV}" PACKAGECONFIG ??= "${@bb.utils.contains_any('DISTRO_FEATURES', [ 'directfb', 'wayland', 'x11' ], 'cairo', '', d)}" -RDEPENDS:${PN} += "python3-pkgutil" +RDEPENDS:${PN} += " \ + python3-io \ + python3-pkgutil \ +" # python3-pycairo is checked on configuration -> DEPENDS # we don't link against python3-pycairo -> RDEPENDS PACKAGECONFIG[cairo] = "-Dpycairo=enabled,-Dpycairo=disabled, cairo python3-pycairo, python3-pycairo" +PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false," BBCLASSEXTEND = "native" PACKAGECONFIG:class-native = "" diff --git a/meta/recipes-devtools/python/python3-pyopenssl_24.1.0.bb b/meta/recipes-devtools/python/python3-pyopenssl_24.1.0.bb new file mode 100644 index 0000000000..e714ad838e --- /dev/null +++ b/meta/recipes-devtools/python/python3-pyopenssl_24.1.0.bb @@ -0,0 +1,23 @@ +SUMMARY = "Simple Python wrapper around the OpenSSL library" +HOMEPAGE = "https://pyopenssl.org/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +DEPENDS += "openssl python3-cryptography" + +SRC_URI[sha256sum] = "cabed4bfaa5df9f1a16c0ef64a0cb65318b5cd077a7eda7d6970131ca2f41a6f" + +PYPI_PACKAGE = "pyOpenSSL" +inherit pypi setuptools3 + +PACKAGES =+ "${PN}-tests" +FILES:${PN}-tests = "${libdir}/${PYTHON_DIR}/site-packages/OpenSSL/test" + +RDEPENDS:${PN}:class-target = " \ + python3-cryptography \ + python3-six \ + python3-threading \ +" +RDEPENDS:${PN}-tests = "${PN}" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-pyparsing_2.4.7.bb b/meta/recipes-devtools/python/python3-pyparsing_2.4.7.bb deleted file mode 100644 index d0c3d0b424..0000000000 --- a/meta/recipes-devtools/python/python3-pyparsing_2.4.7.bb +++ /dev/null @@ -1,3 +0,0 @@ -inherit setuptools3 -require python-pyparsing.inc - diff --git a/meta/recipes-devtools/python/python3-pyparsing_3.1.2.bb b/meta/recipes-devtools/python/python3-pyparsing_3.1.2.bb new file mode 100644 index 0000000000..64210ade53 --- /dev/null +++ b/meta/recipes-devtools/python/python3-pyparsing_3.1.2.bb @@ -0,0 +1,30 @@ +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] = "a1bac0ce561155ecc3ed78ca94d3c9378656ad4c94c1270de543f621420f94ad" + +UPSTREAM_CHECK_REGEX = "pyparsing-(?P<pver>.*)\.tar" + +inherit pypi python_flit_core + +RDEPENDS:${PN} += " \ + python3-datetime \ + python3-debugger \ + python3-html \ + python3-json \ + python3-netclient \ + python3-pprint \ + python3-stringold \ + python3-threading \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-pyproject-hooks_1.0.0.bb b/meta/recipes-devtools/python/python3-pyproject-hooks_1.0.0.bb new file mode 100644 index 0000000000..9d08e7acc4 --- /dev/null +++ b/meta/recipes-devtools/python/python3-pyproject-hooks_1.0.0.bb @@ -0,0 +1,26 @@ +SUMMARY = "A low-level library for calling build-backends in pyproject.toml-based projects" +HOMEPAGE = "https://github.com/pypa/pyproject-hooks" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=aad69c93f605003e3342b174d9b0708c" + +SRC_URI[sha256sum] = "f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5" + +inherit pypi python_flit_core + +PYPI_PACKAGE = "pyproject_hooks" + +BBCLASSEXTEND = "native nativesdk" + +# Bootstrap the native build +DEPENDS:remove:class-native = "python3-build-native" + +RDEPENDS:${PN} += " \ + python3-io \ + python3-json \ +" + +do_compile:class-native () { + python_flit_core_do_manual_build +} + +UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" diff --git a/meta/recipes-devtools/python/python3-pyproject-metadata_0.7.1.bb b/meta/recipes-devtools/python/python3-pyproject-metadata_0.7.1.bb new file mode 100644 index 0000000000..8b9549f3d0 --- /dev/null +++ b/meta/recipes-devtools/python/python3-pyproject-metadata_0.7.1.bb @@ -0,0 +1,27 @@ +SUMMARY = "PEP 621 metadata parsing" +DESCRIPTION = "Dataclass for PEP 621 metadata with support for core \ +metadata generation \ +\ +This project does not implement the parsing of pyproject.toml containing \ +PEP 621 metadata.\ +\ +Instead, given a Python data structure representing PEP 621 metadata \ +(already parsed), it will validate this input and generate a \ +PEP 643-compliant metadata file (e.g. PKG-INFO)." +HOMEPAGE = "https://github.com/FFY00/python-pyproject-metadata" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=310439af287b0fb4780b2ad6907c256c" + +PYPI_PACKAGE = "pyproject-metadata" + +inherit pypi python_setuptools_build_meta + +SRC_URI[sha256sum] = "0a94f18b108b9b21f3a26a3d541f056c34edcb17dc872a144a15618fed7aef67" + +RDEPENDS:${PN} += " \ + python3-logging \ + python3-packaging \ + python3-profile \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-pyrsistent_0.20.0.bb b/meta/recipes-devtools/python/python3-pyrsistent_0.20.0.bb new file mode 100644 index 0000000000..7de70942a9 --- /dev/null +++ b/meta/recipes-devtools/python/python3-pyrsistent_0.20.0.bb @@ -0,0 +1,14 @@ +SUMMARY = "Persistent/Immutable/Functional data structures for Python" +HOMEPAGE = "https://github.com/tobgu/pyrsistent" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.mit;md5=f798dc4222a29fea881fa998cdf4a8c8" + +SRC_URI[sha256sum] = "4c48f78f62ab596c679086084d0dd13254ae4f3d6c72a83ffdf5ebdef8f265a4" + +inherit pypi python_setuptools_build_meta + +RDEPENDS:${PN} += " \ + python3-numbers \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-pysocks_1.7.1.bb b/meta/recipes-devtools/python/python3-pysocks_1.7.1.bb new file mode 100644 index 0000000000..7f2c217f19 --- /dev/null +++ b/meta/recipes-devtools/python/python3-pysocks_1.7.1.bb @@ -0,0 +1,20 @@ +SUMMARY = "A Python SOCKS client module" +HOMEPAGE = "http://python-requests.org" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1d457bcffb9661b45f799d4efee72f16" + +SRC_URI[md5sum] = "89b1a6865c61bae67a32417517612ee6" +SRC_URI[sha256sum] = "3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0" + +PYPI_PACKAGE = "PySocks" +inherit pypi setuptools3 + +RDEPENDS:${PN}:class-target += "\ + python3-email \ + python3-io \ + python3-logging \ + python3-netclient \ + python3-shell \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-pytest-runner_6.0.1.bb b/meta/recipes-devtools/python/python3-pytest-runner_6.0.1.bb new file mode 100644 index 0000000000..cce9ce33e2 --- /dev/null +++ b/meta/recipes-devtools/python/python3-pytest-runner_6.0.1.bb @@ -0,0 +1,16 @@ +SUMMARY = "Invoke py.test as distutils command with dependency resolution" +HOMEPAGE = "https://pypi.org/project/pytest-runner/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7a7126e068206290f3fe9f8d6c713ea6" + +SRC_URI[sha256sum] = "70d4739585a7008f37bf4933c013fdb327b8878a5a69fcbb3316c88882f0f49b" + +inherit pypi python_setuptools_build_meta + +DEPENDS += " \ + python3-setuptools-scm-native" + +RDEPENDS:${PN} = "python3-py python3-setuptools python3-debugger python3-json \ + python3-io" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-pytest-subtests_0.12.1.bb b/meta/recipes-devtools/python/python3-pytest-subtests_0.12.1.bb new file mode 100644 index 0000000000..0590be705f --- /dev/null +++ b/meta/recipes-devtools/python/python3-pytest-subtests_0.12.1.bb @@ -0,0 +1,20 @@ +SUMMARY = "unittest subTest() support and subtests fixture." +DESCRIPTION = "Adds support for TestCase.subTest.\ +New subtests fixture, providing similar functionality for pure pytest tests." +HOMEPAGE = "https://github.com/pytest-dev/pytest-subtests" +BUGTRACKER = "https://github.com/pytest-dev/pytest-subtests/issues" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=242b4e17fa287dcf7aef372f6bc3dcb1" + +SRC_URI[sha256sum] = "d6605dcb88647e0b7c1889d027f8ef1c17d7a2c60927ebfdc09c7b0d8120476d" + +inherit pypi python_setuptools_build_meta + +DEPENDS += "python3-setuptools-scm-native" + +RDEPENDS:${PN} += " \ + python3-pytest \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-pytest_6.2.5.bb b/meta/recipes-devtools/python/python3-pytest_6.2.5.bb deleted file mode 100644 index 0d8fdf6373..0000000000 --- a/meta/recipes-devtools/python/python3-pytest_6.2.5.bb +++ /dev/null @@ -1,41 +0,0 @@ -SUMMARY = "Simple powerful testing with python" -HOMEPAGE = "https://pypi.org/project/pytest/" -DESCRIPTION = "The pytest framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries." - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=81eb9f71d006c6b268cf4388e3c98f7b" - -SRC_URI[sha256sum] = "131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89" - -DEPENDS = "python3-setuptools-scm-native" - -inherit update-alternatives pypi setuptools3 - -RDEPENDS:${PN}:class-target += " \ - ${PYTHON_PN}-atomicwrites \ - ${PYTHON_PN}-attrs \ - ${PYTHON_PN}-debugger \ - ${PYTHON_PN}-doctest \ - ${PYTHON_PN}-importlib-metadata \ - ${PYTHON_PN}-iniconfig \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-more-itertools \ - ${PYTHON_PN}-packaging \ - ${PYTHON_PN}-pathlib2 \ - ${PYTHON_PN}-pluggy \ - ${PYTHON_PN}-py \ - ${PYTHON_PN}-setuptools \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-toml \ - ${PYTHON_PN}-wcwidth \ -" - -ALTERNATIVE:${PN} += "py.test pytest" - -NATIVE_LINK_NAME[pytest] = "${bindir}/pytest" -ALTERNATIVE_TARGET[pytest] = "${bindir}/pytest" - -ALTERNATIVE_LINK_NAME[py.test] = "${bindir}/py.test" -ALTERNATIVE_TARGET[py.test] = "${bindir}/py.test" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-pytest_8.1.1.bb b/meta/recipes-devtools/python/python3-pytest_8.1.1.bb new file mode 100644 index 0000000000..b1cf23fbc4 --- /dev/null +++ b/meta/recipes-devtools/python/python3-pytest_8.1.1.bb @@ -0,0 +1,41 @@ +SUMMARY = "Simple powerful testing with python" +HOMEPAGE = "https://pypi.org/project/pytest/" +DESCRIPTION = "The pytest framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=bd27e41b6550fe0fc45356d1d81ee37c" + +SRC_URI[sha256sum] = "ac978141a75948948817d360297b7aae0fcb9d6ff6bc9ec6d514b85d5a65c044" + +DEPENDS += "python3-setuptools-scm-native" + +inherit update-alternatives pypi python_setuptools_build_meta + +RDEPENDS:${PN} += " \ + python3-atomicwrites \ + python3-attrs \ + python3-debugger \ + python3-doctest \ + python3-importlib-metadata \ + python3-iniconfig \ + python3-json \ + python3-more-itertools \ + python3-packaging \ + python3-pathlib2 \ + python3-pluggy \ + python3-py \ + python3-setuptools \ + python3-six \ + python3-tomllib \ + python3-wcwidth \ +" + +ALTERNATIVE:${PN} += "py.test pytest" + +NATIVE_LINK_NAME[pytest] = "${bindir}/pytest" +ALTERNATIVE_TARGET[pytest] = "${bindir}/pytest" + +ALTERNATIVE_LINK_NAME[py.test] = "${bindir}/py.test" +ALTERNATIVE_TARGET[py.test] = "${bindir}/py.test" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-pytz/run-ptest b/meta/recipes-devtools/python/python3-pytz/run-ptest new file mode 100644 index 0000000000..8d2017d39c --- /dev/null +++ b/meta/recipes-devtools/python/python3-pytz/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +pytest --automake diff --git a/meta/recipes-devtools/python/python3-pytz_2024.1.bb b/meta/recipes-devtools/python/python3-pytz_2024.1.bb new file mode 100644 index 0000000000..158e800fed --- /dev/null +++ b/meta/recipes-devtools/python/python3-pytz_2024.1.bb @@ -0,0 +1,36 @@ +SUMMARY = "World timezone definitions, modern and historical" +HOMEPAGE = "http://pythonhosted.org/pytz" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=1a67fc46c1b596cce5d21209bbe75999" + +inherit pypi setuptools3 ptest + +SRC_URI[sha256sum] = "2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812" + +RDEPENDS:${PN}:class-target += "\ + python3-datetime \ + python3-doctest \ + python3-io \ + python3-pickle \ + python3-pprint \ + python3-threading \ +" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS:${PN}-ptest += " \ + python3-pytest \ + python3-unittest-automake-output \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/pytz + install -d ${D}${PTEST_PATH}/pytz/tests + cp -rf ${S}/pytz/tests/* ${D}${PTEST_PATH}/pytz/tests/ + cp -f ${S}/README.rst ${D}${PTEST_PATH}/ + +} diff --git a/meta/recipes-devtools/python/python3-pyyaml/0001-Fix-builds-with-Cython-3.patch b/meta/recipes-devtools/python/python3-pyyaml/0001-Fix-builds-with-Cython-3.patch new file mode 100644 index 0000000000..a87d588b6a --- /dev/null +++ b/meta/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" <ajh@sideband.org> +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 <ajh@sideband.org> +Upstream-Status: Denied [https://github.com/yaml/pyyaml/pull/731] +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +--- + 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/recipes-devtools/python/python3-pyyaml/run-ptest b/meta/recipes-devtools/python/python3-pyyaml/run-ptest new file mode 100644 index 0000000000..8d2017d39c --- /dev/null +++ b/meta/recipes-devtools/python/python3-pyyaml/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +pytest --automake diff --git a/meta/recipes-devtools/python/python3-pyyaml_5.4.1.bb b/meta/recipes-devtools/python/python3-pyyaml_5.4.1.bb deleted file mode 100644 index b11baa6331..0000000000 --- a/meta/recipes-devtools/python/python3-pyyaml_5.4.1.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "Python support for YAML" -DEPENDS += "libyaml ${PYTHON_PN}-cython-native" -HOMEPAGE = "https://pyyaml.org/" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=6d8242660a8371add5fe547adf083079" - -PYPI_PACKAGE = "PyYAML" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e" - -RDEPENDS:${PN} += "\ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-netclient \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-pyyaml_6.0.1.bb b/meta/recipes-devtools/python/python3-pyyaml_6.0.1.bb new file mode 100644 index 0000000000..3388312557 --- /dev/null +++ b/meta/recipes-devtools/python/python3-pyyaml_6.0.1.bb @@ -0,0 +1,40 @@ +SUMMARY = "Python support for YAML" +DEPENDS += "libyaml python3-cython-native" +HOMEPAGE = "https://pyyaml.org/" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6d8242660a8371add5fe547adf083079" + +PYPI_PACKAGE = "PyYAML" + +inherit pypi python_setuptools_build_meta + +SRC_URI += "file://0001-Fix-builds-with-Cython-3.patch" +SRC_URI[sha256sum] = "bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43" + +PACKAGECONFIG ?= "libyaml" +PACKAGECONFIG[libyaml] = "--with-libyaml,--without-libyaml,libyaml" + +RDEPENDS:${PN} += "\ + python3-datetime \ + python3-netclient \ +" + +inherit ptest +SRC_URI += "\ + https://raw.githubusercontent.com/yaml/pyyaml/a98fd6088e81d7aca571220c966bbfe2ac43c335/tests/test_dump_load.py;name=test \ + file://run-ptest \ +" +SRC_URI[test.sha256sum] = "b6a8a2825d89fdc8aee226560f66b8196e872012a0ea7118cbef1a832359434a" + +RDEPENDS:${PN}-ptest += " \ + python3-pytest \ + python3-unittest-automake-output \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${WORKDIR}/test_dump_load.py ${D}${PTEST_PATH}/tests/ +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-rdflib_7.0.0.bb b/meta/recipes-devtools/python/python3-rdflib_7.0.0.bb new file mode 100644 index 0000000000..4057c1dbbc --- /dev/null +++ b/meta/recipes-devtools/python/python3-rdflib_7.0.0.bb @@ -0,0 +1,21 @@ +SUMMARY = "RDFLib is a pure Python package for working with RDF" +HOMEPAGE = "https://github.com/RDFLib/rdflib" +SECTION = "devel/python" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=37d489c0cefe52a17e1d5007e196464a" + +SRC_URI[sha256sum] = "9995eb8569428059b8c1affd26b25eac510d64f5043d9ce8c84e0d0036e995ae" + +inherit pypi python_poetry_core + +RDEPENDS:${PN} += " \ + python3-isodate \ + python3-pyparsing \ + python3-logging \ + python3-numbers \ + python3-xml \ + python3-compression \ + python3-core \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-referencing_0.34.0.bb b/meta/recipes-devtools/python/python3-referencing_0.34.0.bb new file mode 100644 index 0000000000..6fbd10d9cf --- /dev/null +++ b/meta/recipes-devtools/python/python3-referencing_0.34.0.bb @@ -0,0 +1,14 @@ +SUMMARY = "An implementation-agnostic implementation of JSON reference resolution." +HOMEPAGE = "https://github.com/python-jsonschema/referencing" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=93eb9740964b59e9ba30281255b044e2" + +SRC_URI[sha256sum] = "5773bd84ef41799a5a8ca72dc34590c041eb01bf9aa02632b4a973fb0181a844" + +inherit pypi python_hatchling + +DEPENDS += "python3-hatch-vcs-native" + +RDEPENDS:${PN} += "python3-rpds-py" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-requests_2.31.0.bb b/meta/recipes-devtools/python/python3-requests_2.31.0.bb new file mode 100644 index 0000000000..df48cd54c3 --- /dev/null +++ b/meta/recipes-devtools/python/python3-requests_2.31.0.bb @@ -0,0 +1,26 @@ +SUMMARY = "Python HTTP for Humans." +HOMEPAGE = "http://python-requests.org" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658" + +SRC_URI[sha256sum] = "942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1" + +inherit pypi setuptools3 + +RDEPENDS:${PN} += " \ + python3-email \ + python3-json \ + python3-ndg-httpsclient \ + python3-netserver \ + python3-pyasn1 \ + python3-pyopenssl \ + python3-pysocks \ + python3-urllib3 \ + python3-chardet \ + python3-idna \ + python3-compression \ +" + +CVE_PRODUCT = "requests" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-rfc3339-validator_0.1.4.bb b/meta/recipes-devtools/python/python3-rfc3339-validator_0.1.4.bb new file mode 100644 index 0000000000..e809c2280d --- /dev/null +++ b/meta/recipes-devtools/python/python3-rfc3339-validator_0.1.4.bb @@ -0,0 +1,21 @@ +SUMMARY = "A pure python RFC3339 validator" +HOMEPAGE = "https://github.com/naimetti/rfc3339-validator" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a21b13b5a996f08f7e0b088aa38ce9c6" + +FILESEXTRAPATHS:prepend := "${THISDIR}/python-rfc3339-validator:" + +SRC_URI[sha256sum] = "138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b" + +PYPI_PACKAGE = "rfc3339_validator" +UPSTREAM_CHECK_REGEX = "/rfc3339-validator/(?P<pver>(\d+[\.\-_]*)+)/" + +inherit pypi setuptools3 + +RDEPENDS:${PN} += "\ + python3-core \ + python3-datetime \ + python3-six \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-rfc3986-validator_0.1.1.bb b/meta/recipes-devtools/python/python3-rfc3986-validator_0.1.1.bb new file mode 100644 index 0000000000..e374979cb4 --- /dev/null +++ b/meta/recipes-devtools/python/python3-rfc3986-validator_0.1.1.bb @@ -0,0 +1,24 @@ +SUMMARY = "Pure python rfc3986 validator" +HOMEPAGE = "https://github.com/naimetti/rfc3986-validator" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a21b13b5a996f08f7e0b088aa38ce9c6" + +FILESEXTRAPATHS:prepend := "${THISDIR}/python-rfc3986-validator:" + +SRC_URI[md5sum] = "47f7657b790aaf6011a1ab3d86c6be95" +SRC_URI[sha256sum] = "3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055" + +PYPI_PACKAGE = "rfc3986_validator" +UPSTREAM_CHECK_REGEX = "/rfc3986-validator/(?P<pver>(\d+[\.\-_]*)+)/" + +inherit pypi setuptools3 + +SRC_URI += "\ + file://0001-setup.py-move-pytest-runner-to-test_requirements.patch \ +" + +RDEPENDS:${PN} += "\ + python3-core \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-rfc3987_1.3.8.bb b/meta/recipes-devtools/python/python3-rfc3987_1.3.8.bb new file mode 100644 index 0000000000..316dc544de --- /dev/null +++ b/meta/recipes-devtools/python/python3-rfc3987_1.3.8.bb @@ -0,0 +1,11 @@ +SUMMARY = "Parsing and validation of URIs (RFC 3986) and IRIs (RFC 3987)" +HOMEPAGE = "https://pypi.org/project/rfc3987/" +LICENSE = "GPL-3.0-or-later" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=9;md5=2b723edf67b2f3088bc5e339b1ceda2d" + +SRC_URI[md5sum] = "b6c4028acdc788a9ba697e1c1d6b896c" +SRC_URI[sha256sum] = "d3c4d257a560d544e9826b38bc81db676890c79ab9d7ac92b39c7a253d5ca733" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-rpds-py-crates.inc b/meta/recipes-devtools/python/python3-rpds-py-crates.inc new file mode 100644 index 0000000000..b9048bde51 --- /dev/null +++ b/meta/recipes-devtools/python/python3-rpds-py-crates.inc @@ -0,0 +1,80 @@ +# Autogenerated with 'bitbake -c update_crates python3-rpds-py' + +# from Cargo.lock +SRC_URI += " \ + crate://crates.io/archery/1.1.0 \ + crate://crates.io/autocfg/1.1.0 \ + crate://crates.io/bitflags/1.3.2 \ + crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/heck/0.4.1 \ + crate://crates.io/indoc/2.0.4 \ + crate://crates.io/libc/0.2.147 \ + crate://crates.io/lock_api/0.4.10 \ + crate://crates.io/memoffset/0.9.0 \ + crate://crates.io/once_cell/1.18.0 \ + crate://crates.io/parking_lot/0.12.1 \ + crate://crates.io/parking_lot_core/0.9.8 \ + crate://crates.io/proc-macro2/1.0.66 \ + crate://crates.io/pyo3/0.20.2 \ + crate://crates.io/pyo3-build-config/0.20.2 \ + crate://crates.io/pyo3-ffi/0.20.2 \ + crate://crates.io/pyo3-macros/0.20.2 \ + crate://crates.io/pyo3-macros-backend/0.20.2 \ + crate://crates.io/quote/1.0.31 \ + crate://crates.io/redox_syscall/0.3.5 \ + crate://crates.io/rpds/1.1.0 \ + crate://crates.io/scopeguard/1.1.0 \ + crate://crates.io/smallvec/1.11.0 \ + crate://crates.io/static_assertions/1.1.0 \ + crate://crates.io/syn/2.0.32 \ + crate://crates.io/target-lexicon/0.12.9 \ + crate://crates.io/triomphe/0.1.9 \ + crate://crates.io/unicode-ident/1.0.11 \ + crate://crates.io/unindent/0.2.3 \ + crate://crates.io/windows-targets/0.48.1 \ + crate://crates.io/windows_aarch64_gnullvm/0.48.0 \ + crate://crates.io/windows_aarch64_msvc/0.48.0 \ + crate://crates.io/windows_i686_gnu/0.48.0 \ + crate://crates.io/windows_i686_msvc/0.48.0 \ + crate://crates.io/windows_x86_64_gnu/0.48.0 \ + crate://crates.io/windows_x86_64_gnullvm/0.48.0 \ + crate://crates.io/windows_x86_64_msvc/0.48.0 \ +" + +SRC_URI[archery-1.1.0.sha256sum] = "487955f60962765486ce000015a3492ca45c34a2ebbf12bc0aa2b5110ca6e7d2" +SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +SRC_URI[indoc-2.0.4.sha256sum] = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8" +SRC_URI[libc-0.2.147.sha256sum] = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +SRC_URI[lock_api-0.4.10.sha256sum] = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +SRC_URI[memoffset-0.9.0.sha256sum] = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +SRC_URI[once_cell-1.18.0.sha256sum] = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +SRC_URI[parking_lot-0.12.1.sha256sum] = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +SRC_URI[parking_lot_core-0.9.8.sha256sum] = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +SRC_URI[proc-macro2-1.0.66.sha256sum] = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +SRC_URI[pyo3-0.20.2.sha256sum] = "9a89dc7a5850d0e983be1ec2a463a171d20990487c3cfcd68b5363f1ee3d6fe0" +SRC_URI[pyo3-build-config-0.20.2.sha256sum] = "07426f0d8fe5a601f26293f300afd1a7b1ed5e78b2a705870c5f30893c5163be" +SRC_URI[pyo3-ffi-0.20.2.sha256sum] = "dbb7dec17e17766b46bca4f1a4215a85006b4c2ecde122076c562dd058da6cf1" +SRC_URI[pyo3-macros-0.20.2.sha256sum] = "05f738b4e40d50b5711957f142878cfa0f28e054aa0ebdfc3fd137a843f74ed3" +SRC_URI[pyo3-macros-backend-0.20.2.sha256sum] = "0fc910d4851847827daf9d6cdd4a823fbdaab5b8818325c5e97a86da79e8881f" +SRC_URI[quote-1.0.31.sha256sum] = "5fe8a65d69dd0808184ebb5f836ab526bb259db23c657efa38711b1072ee47f0" +SRC_URI[redox_syscall-0.3.5.sha256sum] = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +SRC_URI[rpds-1.1.0.sha256sum] = "a0e15515d3ce3313324d842629ea4905c25a13f81953eadb88f85516f59290a4" +SRC_URI[scopeguard-1.1.0.sha256sum] = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +SRC_URI[smallvec-1.11.0.sha256sum] = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +SRC_URI[static_assertions-1.1.0.sha256sum] = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +SRC_URI[syn-2.0.32.sha256sum] = "239814284fd6f1a4ffe4ca893952cdd93c224b6a1571c9a9eadd670295c0c9e2" +SRC_URI[target-lexicon-0.12.9.sha256sum] = "df8e77cb757a61f51b947ec4a7e3646efd825b73561db1c232a8ccb639e611a0" +SRC_URI[triomphe-0.1.9.sha256sum] = "0eee8098afad3fb0c54a9007aab6804558410503ad676d4633f9c2559a00ac0f" +SRC_URI[unicode-ident-1.0.11.sha256sum] = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +SRC_URI[unindent-0.2.3.sha256sum] = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce" +SRC_URI[windows-targets-0.48.1.sha256sum] = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" +SRC_URI[windows_aarch64_gnullvm-0.48.0.sha256sum] = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" +SRC_URI[windows_aarch64_msvc-0.48.0.sha256sum] = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" +SRC_URI[windows_i686_gnu-0.48.0.sha256sum] = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" +SRC_URI[windows_i686_msvc-0.48.0.sha256sum] = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" +SRC_URI[windows_x86_64_gnu-0.48.0.sha256sum] = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +SRC_URI[windows_x86_64_gnullvm-0.48.0.sha256sum] = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +SRC_URI[windows_x86_64_msvc-0.48.0.sha256sum] = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" diff --git a/meta/recipes-devtools/python/python3-rpds-py_0.18.0.bb b/meta/recipes-devtools/python/python3-rpds-py_0.18.0.bb new file mode 100644 index 0000000000..cece2cb8cc --- /dev/null +++ b/meta/recipes-devtools/python/python3-rpds-py_0.18.0.bb @@ -0,0 +1,15 @@ +SUMMARY = "Python bindings to the Rust rpds crate for persistent data structures." +HOMEPAGE = "https://pypi.org/project/rpds-py/" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7767fa537c4596c54141f32882c4a984" + +SRC_URI[sha256sum] = "42821446ee7a76f5d9f71f9e33a4fb2ffd724bb3e7f93386150b61a43115788d" + +require ${BPN}-crates.inc + +inherit pypi cargo-update-recipe-crates python_maturin + +PYPI_PACKAGE = "rpds_py" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-ruamel-yaml_0.18.6.bb b/meta/recipes-devtools/python/python3-ruamel-yaml_0.18.6.bb new file mode 100644 index 0000000000..197bf91d6c --- /dev/null +++ b/meta/recipes-devtools/python/python3-ruamel-yaml_0.18.6.bb @@ -0,0 +1,23 @@ +SUMMARY = "YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order." +HOMEPAGE = "https://pypi.org/project/ruamel.yaml/" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=30cbbccd94bf3a2b0285ec35671a1938" + +PYPI_PACKAGE = "ruamel.yaml" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "8b27e6a217e786c6fbe5634d8f3f11bc63e0f80f6a5890f28863d9c45aac311b" + +RDEPENDS:${PN} += "\ + python3-shell \ + python3-datetime \ + python3-netclient \ +" + +do_install:prepend() { + export RUAMEL_NO_PIP_INSTALL_CHECK=1 +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-scons-native_4.2.0.bb b/meta/recipes-devtools/python/python3-scons-native_4.2.0.bb deleted file mode 100644 index 73076b8732..0000000000 --- a/meta/recipes-devtools/python/python3-scons-native_4.2.0.bb +++ /dev/null @@ -1,7 +0,0 @@ -require python3-scons_${PV}.bb -inherit native python3native -DEPENDS = "python3-native python3-setuptools-native" - -do_install:append() { - create_wrapper ${D}${bindir}/scons SCONS_LIB_DIR='${STAGING_DIR_HOST}/${PYTHON_SITEPACKAGES_DIR}' PYTHONNOUSERSITE='1' -} diff --git a/meta/recipes-devtools/python/python3-scons_4.2.0.bb b/meta/recipes-devtools/python/python3-scons_4.7.0.bb index 23527a2cce..bba6c799d4 100644 --- a/meta/recipes-devtools/python/python3-scons_4.2.0.bb +++ b/meta/recipes-devtools/python/python3-scons_4.7.0.bb @@ -5,7 +5,7 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=d903b0b8027f461402bac9b5169b36f7" SRC_URI += " file://0001-Fix-man-page-installation.patch" -SRC_URI[sha256sum] = "691893b63f38ad14295f5104661d55cb738ec6514421c6261323351c25432b0a" +SRC_URI[sha256sum] = "d8b617f6610a73e46509de70dcf82f76861b79762ff602d546f4e80918ec81f3" PYPI_PACKAGE = "SCons" @@ -24,4 +24,13 @@ RDEPENDS:${PN}:class-target = "\ python3-pprint \ " -FILES:${PN}-doc += "${datadir}/scons*.1" +do_install:append() { + install -d ${D}${mandir}/man1 + mv ${D}${prefix}/scons*.1 ${D}${mandir}/man1/ +} + +do_install:append:class-native() { + create_wrapper ${D}${bindir}/scons SCONS_LIB_DIR='${STAGING_DIR_HOST}/${PYTHON_SITEPACKAGES_DIR}' PYTHONNOUSERSITE='1' +} + +BBCLASSEXTEND = "native" diff --git a/meta/recipes-devtools/python/python3-semantic-version_2.10.0.bb b/meta/recipes-devtools/python/python3-semantic-version_2.10.0.bb new file mode 100644 index 0000000000..27e3f534b8 --- /dev/null +++ b/meta/recipes-devtools/python/python3-semantic-version_2.10.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "A library implementing the 'SemVer' scheme." +DESCRIPTION = "Semantic version comparison for Python (see http://semver.org/)" +HOMEPAGE = "https://github.com/rbarrois/python-semanticversion" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4fb31e3c1c7eeb8b5e8c07657cdd54e2" + +SRC_URI[sha256sum] = "bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c" + +PYPI_PACKAGE = "semantic_version" +inherit pypi setuptools3 + +RDEPENDS:${PN} += " \ + python3-pkg-resources \ +" + +BBCLASSEXTEND = "native nativesdk" + +UPSTREAM_CHECK_REGEX = "/semantic-version/(?P<pver>(\d+[\.\-_]*)+)/" diff --git a/meta/recipes-devtools/python/python3-setuptools-rust_1.9.0.bb b/meta/recipes-devtools/python/python3-setuptools-rust_1.9.0.bb new file mode 100644 index 0000000000..8eb2513d69 --- /dev/null +++ b/meta/recipes-devtools/python/python3-setuptools-rust_1.9.0.bb @@ -0,0 +1,35 @@ +SUMMARY = "Setuptools Rust extension plugin" +DESCRIPTION = "setuptools-rust is a plugin for setuptools to build Rust \ +Python extensions implemented with PyO3 or rust-cpython.\ +\ +Compile and distribute Python extensions written in Rust as easily as if they were written in C." +HOMEPAGE = "https://github.com/PyO3/setuptools-rust" +BUGTRACKER = "https://github.com/PyO3/setuptools-rust/issues" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=011cd92e702dd9e6b1a26157b6fd53f5" + +SRC_URI = "${PYPI_SRC_URI} \ + https://files.pythonhosted.org/packages/67/08/e1aa2c582c62ac76e4d60f8e454bd3bba933781a06a88b4e38797445822a/setuptools-rust-${PV}.tar.gz \ + " +SRC_URI[sha256sum] = "704df0948f2e4cc60c2596ad6e840ea679f4f43e58ed4ad0c1857807240eab96" + +inherit cargo pypi python_setuptools_build_meta + +DEPENDS += "python3-setuptools-scm-native python3-wheel-native" +# remove when https://github.com/PyO3/setuptools-rust/commit/7ced8d2a8f36e1b4fc41b5544636defb7bd44bdf +# is included +DEPENDS += "python3-semantic-version-native" + +RDEPENDS:${PN} += " \ + python3-json \ + python3-semantic-version \ + python3-setuptools \ + python3-setuptools-scm \ + python3-shell \ + python3-toml \ + python3-typing-extensions \ + python3-wheel \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-setuptools-scm_6.3.2.bb b/meta/recipes-devtools/python/python3-setuptools-scm_6.3.2.bb deleted file mode 100644 index bc594d9620..0000000000 --- a/meta/recipes-devtools/python/python3-setuptools-scm_6.3.2.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "the blessed package to manage your versions by scm tags" -HOMEPAGE = "https://pypi.org/project/setuptools-scm/" -DESCRIPTION = "setuptools_scm handles managing your Python package versions in SCM metadata instead of declaring them as the version argument or in a SCM managed file." -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489" - -SRC_URI[sha256sum] = "a49aa8081eeb3514eb9728fa5040f2eaa962d6c6f4ec9c32f6c1fba88f88a0f2" - -PYPI_PACKAGE = "setuptools_scm" -inherit pypi setuptools3 - -UPSTREAM_CHECK_REGEX = "setuptools_scm-(?P<pver>.*)\.tar" - -RDEPENDS:${PN} = "\ - ${PYTHON_PN}-packaging \ - ${PYTHON_PN}-pyparsing \ - ${PYTHON_PN}-setuptools \ - ${PYTHON_PN}-tomli \ -" - -RDEPENDS:${PN}:append:class-target = " \ - ${PYTHON_PN}-debugger \ - ${PYTHON_PN}-json \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-setuptools-scm_8.0.4.bb b/meta/recipes-devtools/python/python3-setuptools-scm_8.0.4.bb new file mode 100644 index 0000000000..64b5050c3b --- /dev/null +++ b/meta/recipes-devtools/python/python3-setuptools-scm_8.0.4.bb @@ -0,0 +1,31 @@ +SUMMARY = "the blessed package to manage your versions by scm tags" +HOMEPAGE = "https://pypi.org/project/setuptools-scm/" +DESCRIPTION = "setuptools_scm handles managing your Python package \ +versions in SCM metadata instead of declaring them as the version \ +argument or in a SCM managed file." +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=838c366f69b72c5df05c96dff79b35f2" + +SRC_URI[sha256sum] = "b5f43ff6800669595193fd09891564ee9d1d7dcb196cab4b2506d53a2e1c95c7" + +inherit pypi python_setuptools_build_meta + +UPSTREAM_CHECK_REGEX = "scm-(?P<pver>.*)\.tar" + +DEPENDS += "python3-tomli-native python3-packaging-native python3-typing-extensions-native" + +RDEPENDS:${PN} = "\ + python3-packaging \ + python3-pip \ + python3-pyparsing \ + python3-setuptools \ + python3-tomli \ + python3-typing-extensions \ +" + +RDEPENDS:${PN}:append:class-target = " \ + python3-debugger \ + python3-json \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-setuptools/0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch b/meta/recipes-devtools/python/python3-setuptools/0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch new file mode 100644 index 0000000000..0f6c9d250d --- /dev/null +++ b/meta/recipes-devtools/python/python3-setuptools/0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch @@ -0,0 +1,58 @@ +From d393759315b189a738e4b6a2ce31dc18dbbfae29 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex@linutronix.de> +Date: Wed, 11 May 2022 21:41:14 +0200 +Subject: [PATCH] _distutils/sysconfig.py: make it possible to substite the + prefix to target sysroot + +This is done by probing STAGING_INCDIR/STAGING_LIBDIRenv vars: +not the most elegant solution, but distutils/sysconfig has been +tweaked to do this for many, many year, and so it's easiest +to replicate here as well, the original is +meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch + +I'm not sure exactly why setuptools now needs a copy, and what +would happen to this module in light of distutils deprecation. + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +--- + setuptools/_distutils/sysconfig.py | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +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/recipes-devtools/python/python3-setuptools/0001-change-shebang-to-python3.patch b/meta/recipes-devtools/python/python3-setuptools/0001-change-shebang-to-python3.patch deleted file mode 100644 index 6dcf52771b..0000000000 --- a/meta/recipes-devtools/python/python3-setuptools/0001-change-shebang-to-python3.patch +++ /dev/null @@ -1,25 +0,0 @@ -From c39d0896930e25c224cc897660fc8511ccae30c8 Mon Sep 17 00:00:00 2001 -From: Changqing Li <changqing.li@windriver.com> -Date: Thu, 23 Apr 2020 10:01:12 +0000 -Subject: [PATCH] change shebang to python3 - -Upstream-Status: Pending - -Signed-off-by: Changqing Li <changqing.li@windriver.com> ---- - pkg_resources/_vendor/appdirs.py | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/pkg_resources/_vendor/appdirs.py b/pkg_resources/_vendor/appdirs.py -index ae67001..933e398 100644 ---- a/pkg_resources/_vendor/appdirs.py -+++ b/pkg_resources/_vendor/appdirs.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - # -*- coding: utf-8 -*- - # Copyright (c) 2005-2010 ActiveState Software Inc. - # Copyright (c) 2013 Eddy Petrișor --- -2.24.1 - diff --git a/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch b/meta/recipes-devtools/python/python3-setuptools/0001-conditionally-do-not-fetch-code-by-easy_install.patch index 2b1f899eaf..e227c2889c 100644 --- a/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch +++ b/meta/recipes-devtools/python/python3-setuptools/0001-conditionally-do-not-fetch-code-by-easy_install.patch @@ -1,4 +1,4 @@ -From 4e2c87105884af6dfc3bc9f8c65b199ecc3b5186 Mon Sep 17 00:00:00 2001 +From 80fe63816eb3bfd1f5b6d354e1f2442805cff4e0 Mon Sep 17 00:00:00 2001 From: Hongxu Jia <hongxu.jia@windriver.com> Date: Tue, 17 Jul 2018 10:13:38 +0800 Subject: [PATCH] conditionally do not fetch code by easy_install @@ -9,17 +9,16 @@ internet by easy_install. Upstream-Status: Inappropriate [oe specific] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> - --- 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 45adb6a..9ac3342 100644 +index 858fb20..62bd853 100644 --- a/setuptools/command/easy_install.py +++ b/setuptools/command/easy_install.py -@@ -636,6 +636,11 @@ class easy_install(Command): - os.path.exists(tmpdir) and rmtree(tmpdir) +@@ -672,6 +672,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): diff --git a/meta/recipes-devtools/python/python3-setuptools_58.0.4.bb b/meta/recipes-devtools/python/python3-setuptools_58.0.4.bb deleted file mode 100644 index 8df69ce920..0000000000 --- a/meta/recipes-devtools/python/python3-setuptools_58.0.4.bb +++ /dev/null @@ -1,55 +0,0 @@ -SUMMARY = "Download, build, install, upgrade, and uninstall Python packages" -HOMEPAGE = "https://pypi.org/project/setuptools" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=19;md5=7a7126e068206290f3fe9f8d6c713ea6" - -inherit pypi setuptools3 - -SRC_URI:append:class-native = " file://0001-conditionally-do-not-fetch-code-by-easy_install.patch" - -SRC_URI += "file://0001-change-shebang-to-python3.patch" - -SRC_URI[sha256sum] = "f10059f0152e0b7fb6b2edd77bcb1ecd4c9ed7048a826eb2d79f72fd2e6e237b" - -DEPENDS += "${PYTHON_PN}" - -RDEPENDS:${PN} = "\ - ${PYTHON_PN}-2to3 \ - ${PYTHON_PN}-compile \ - ${PYTHON_PN}-compression \ - ${PYTHON_PN}-ctypes \ - ${PYTHON_PN}-distutils \ - ${PYTHON_PN}-email \ - ${PYTHON_PN}-html \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-netserver \ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-pickle \ - ${PYTHON_PN}-pkg-resources \ - ${PYTHON_PN}-pkgutil \ - ${PYTHON_PN}-plistlib \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-stringold \ - ${PYTHON_PN}-threading \ - ${PYTHON_PN}-unittest \ - ${PYTHON_PN}-xml \ -" - -do_install:prepend() { - install -d ${D}${PYTHON_SITEPACKAGES_DIR} -} - -BBCLASSEXTEND = "native nativesdk" - -# The pkg-resources module can be used by itself, without the package downloader -# and easy_install. Ship it in a separate package so that it can be used by -# minimal distributions. -PACKAGES =+ "${PYTHON_PN}-pkg-resources " -FILES:${PYTHON_PN}-pkg-resources = "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*" -RDEPENDS:${PYTHON_PN}-pkg-resources = "\ - ${PYTHON_PN}-compression \ - ${PYTHON_PN}-email \ - ${PYTHON_PN}-plistlib \ - ${PYTHON_PN}-pprint \ -" diff --git a/meta/recipes-devtools/python/python3-setuptools_69.5.1.bb b/meta/recipes-devtools/python/python3-setuptools_69.5.1.bb new file mode 100644 index 0000000000..8261b09d16 --- /dev/null +++ b/meta/recipes-devtools/python/python3-setuptools_69.5.1.bb @@ -0,0 +1,55 @@ +SUMMARY = "Download, build, install, upgrade, and uninstall Python packages" +HOMEPAGE = "https://pypi.org/project/setuptools" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=141643e11c48898150daa83802dbc65f" + +inherit pypi python_setuptools_build_meta + +SRC_URI:append:class-native = " file://0001-conditionally-do-not-fetch-code-by-easy_install.patch" + +SRC_URI += " \ + file://0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch" + +SRC_URI[sha256sum] = "6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987" + +DEPENDS += "python3" + +RDEPENDS:${PN} = "\ + python3-2to3 \ + python3-compile \ + python3-compression \ + python3-ctypes \ + python3-email \ + python3-html \ + python3-json \ + python3-netserver \ + python3-numbers \ + python3-pickle \ + python3-pkg-resources \ + python3-pkgutil \ + python3-plistlib \ + python3-shell \ + python3-stringold \ + python3-threading \ + python3-unittest \ + python3-xml \ +" + +BBCLASSEXTEND = "native nativesdk" + +# The pkg-resources module can be used by itself, without the package downloader +# and easy_install. Ship it in a separate package so that it can be used by +# minimal distributions. +PACKAGES =+ "python3-pkg-resources " +FILES:python3-pkg-resources = "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*" +RDEPENDS:python3-pkg-resources = "\ + python3-compression \ + python3-email \ + python3-plistlib \ + python3-pprint \ +" + +# This used to use the bootstrap install which didn't compile. Until we bump the +# tmpdir version we can't compile the native otherwise the sysroot unpack fails +INSTALL_WHEEL_COMPILE_BYTECODE:class-native = "--no-compile-bytecode" diff --git a/meta/recipes-devtools/python/python3-smartypants/0001-Change-hash-bang-to-python3.patch b/meta/recipes-devtools/python/python3-smartypants/0001-Change-hash-bang-to-python3.patch new file mode 100644 index 0000000000..aab16eaab4 --- /dev/null +++ b/meta/recipes-devtools/python/python3-smartypants/0001-Change-hash-bang-to-python3.patch @@ -0,0 +1,47 @@ +From e299bcb05405ff49450307bf3002c1fac14a866c Mon Sep 17 00:00:00 2001 +From: Tim Orling <tim.orling@konsulko.com> +Date: Sun, 20 Feb 2022 18:55:50 -0800 +Subject: [PATCH] Change hash bang to python3 + +In setup.py, smartypants and smartypants.py set hash bang to python3. + +Upstream-Status: Inappropriate [oe-core specific] + +Signed-off-by: Tim Orling <tim.orling@konsulko.com> + +--- + setup.py | 2 +- + smartypants | 2 +- + smartypants.py | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/setup.py b/setup.py +index ff1ea76..96a8b73 100755 +--- a/setup.py ++++ b/setup.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # Copyright (C) 2013, 2014 by Yu-Jie Lin + # For detail license information, See COPYING + +diff --git a/smartypants b/smartypants +index 189adf5..0cca568 100755 +--- a/smartypants ++++ b/smartypants +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # Copyright (c) 2013, 2014 Yu-Jie Lin + # Licensed under the BSD License, for detailed license information, see COPYING + +diff --git a/smartypants.py b/smartypants.py +index a70575b..e53bd87 100755 +--- a/smartypants.py ++++ b/smartypants.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/env python3 + # -*- coding: utf-8 -*- + # Copyright (c) 2013, 2014, 2016 Yu-Jie Lin + # Copyright (c) 2004, 2005, 2007, 2013 Chad Miller diff --git a/meta/recipes-devtools/python/python3-smartypants_2.0.0.bb b/meta/recipes-devtools/python/python3-smartypants_2.0.0.bb index ba3408247b..d089a89b95 100644 --- a/meta/recipes-devtools/python/python3-smartypants_2.0.0.bb +++ b/meta/recipes-devtools/python/python3-smartypants_2.0.0.bb @@ -6,8 +6,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=977036977591ac666c728921ecc54c4f" inherit pypi setuptools3 PYPI_PACKAGE = "smartypants" +SRC_URI += "file://0001-Change-hash-bang-to-python3.patch" SRC_URI[sha256sum] = "7812353a32022699a1aa8cd5626e01c94a946dcaeedaee2d0b382bae4c4cbf36" -BBCLASSEXTEND = "native" +BBCLASSEXTEND = "native nativesdk" UPSTREAM_CHECK_REGEX = "/${PYPI_PACKAGE}/(?P<pver>(?!2\.0\.1)(\d+[\.\-_]*)+)/" diff --git a/meta/recipes-devtools/python/python3-smmap_5.0.0.bb b/meta/recipes-devtools/python/python3-smmap_6.0.0.bb index ea131ef793..6abed1205f 100644 --- a/meta/recipes-devtools/python/python3-smmap_5.0.0.bb +++ b/meta/recipes-devtools/python/python3-smmap_6.0.0.bb @@ -11,9 +11,9 @@ inherit pypi setuptools3 PYPI_PACKAGE = "smmap" -SRC_URI[sha256sum] = "c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936" +SRC_URI[sha256sum] = "8d79028ea6cc131da5eab099a5d95a998d43c6779956fffe3b455040911076da" -RDEPENDS:${PN} += "${PYTHON_PN}-codecs \ - ${PYTHON_PN}-mmap \ +RDEPENDS:${PN} += "python3-codecs \ + python3-mmap \ " BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-snowballstemmer_2.2.0.bb b/meta/recipes-devtools/python/python3-snowballstemmer_2.2.0.bb new file mode 100644 index 0000000000..ff120a3fc4 --- /dev/null +++ b/meta/recipes-devtools/python/python3-snowballstemmer_2.2.0.bb @@ -0,0 +1,13 @@ +SUMMARY = "Snowball compiler and stemming algorithms" +HOMEPAGE = "https://github.com/snowballstem/snowball" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=19139aaf3c8c8fa1ca6edd59c072fb9f" + +SRC_URI[sha256sum] = "09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1" + +PYPI_PACKAGE = "snowballstemmer" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-spdx-tools_0.8.2.bb b/meta/recipes-devtools/python/python3-spdx-tools_0.8.2.bb new file mode 100644 index 0000000000..53263ca032 --- /dev/null +++ b/meta/recipes-devtools/python/python3-spdx-tools_0.8.2.bb @@ -0,0 +1,28 @@ +SUMMARY = "Python tool to parse, validate and convert spdx files" +HOMEPAGE = "https://github.com/spdx/tools-python" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=dc7f21ccff0f672f2a7cd6f412ae627d" + +SRC_URI[sha256sum] = "aea4ac9c2c375e7f439b1cef5ff32ef34914c083de0f61e08ed67cd3d9deb2a9" + +BBCLASSEXTEND = "native nativesdk" + +inherit setuptools3 pypi + +# Dependency required for pyspdxtools : python3-click +# Dependencies required for conversion to spdx3 : python3-semantic-version, python3-ply +RDEPENDS:${PN} += "\ + python3-core \ + python3-beartype \ + python3-click \ + python3-datetime \ + python3-json \ + python3-license-expression \ + python3-ply \ + python3-pyyaml \ + python3-rdflib \ + python3-semantic-version \ + python3-uritools \ + python3-xmltodict \ + " diff --git a/meta/recipes-devtools/python/python3-sphinx-rtd-theme_2.0.0.bb b/meta/recipes-devtools/python/python3-sphinx-rtd-theme_2.0.0.bb new file mode 100644 index 0000000000..22b4d96444 --- /dev/null +++ b/meta/recipes-devtools/python/python3-sphinx-rtd-theme_2.0.0.bb @@ -0,0 +1,26 @@ +SUMMARY = "Sphinx Theme reader" +HOMEPAGE = "https://github.com/readthedocs/sphinx_rtd_theme" +SECTION = "devel/python" +LICENSE = "MIT & OFL-1.1" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a1db7d4ef426c2935227264e1d4ae8f9 \ + file://OFL-License.txt;md5=4534c22e0147eadb6828bd9fe86d4868 \ + file://Apache-License-2.0.txt;md5=8a75796f0ef19c3f601d69857f5a9a5b" + +RDEPENDS:${PN} += " \ + python3-compile \ + python3-sphinx \ + python3-sphinxcontrib-jquery \ +" + +PYPI_PACKAGE = "sphinx_rtd_theme" + +SRC_URI[sha256sum] = "bd5d7b80622406762073a04ef8fadc5f9151261563d47027de09910ce03afe6b" +UPSTREAM_CHECK_REGEX ?= "/sphinx-rtd-theme/(?P<pver>(\d+[\.\-_]*)+)/" + +inherit setuptools3 pypi + +#Fake out the setup scipt +export CI = "True" +export TOX_ENV_NAME = "True" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-sphinx_7.2.6.bb b/meta/recipes-devtools/python/python3-sphinx_7.2.6.bb new file mode 100644 index 0000000000..f4ed0720ff --- /dev/null +++ b/meta/recipes-devtools/python/python3-sphinx_7.2.6.bb @@ -0,0 +1,35 @@ +SUMMARY = "Python documentation generator" +HOMEPAGE = "http://sphinx-doc.org/" +SECTION = "devel/python" +LICENSE = "BSD-2-Clause & MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5eb6ac1b115a1ed24a12d9f15b633993" + +SRC_URI[sha256sum] = "9a5160e1ea90688d5963ba09a2dcd8bdd526620edbb65c328728f1b2228d5ab5" + +inherit python_flit_core pypi +UPSTREAM_CHECK_REGEX = "/Sphinx/(?P<pver>(\d+[\.\-_]*)+)/" + +do_install:append () { + # The cache format of "{None, 'en', 'ja'}" doesn't seem to be consistent (dict ordering?) + rm ${D}${libdir}/${PYTHON_DIR}/site-packages/sphinx/writers/__pycache__/*latex* +} + +RDEPENDS:${PN} = "\ + python3-alabaster \ + python3-babel \ + python3-docutils \ + python3-imagesize \ + python3-jinja2 \ + python3-packaging \ + python3-pygments \ + python3-requests \ + python3-snowballstemmer \ + python3-sphinxcontrib-applehelp \ + python3-sphinxcontrib-devhelp \ + python3-sphinxcontrib-htmlhelp \ + python3-sphinxcontrib-jsmath \ + python3-sphinxcontrib-qthelp \ + python3-sphinxcontrib-serializinghtml \ + " + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-sphinxcontrib-applehelp_1.0.8.bb b/meta/recipes-devtools/python/python3-sphinxcontrib-applehelp_1.0.8.bb new file mode 100644 index 0000000000..67dd299b72 --- /dev/null +++ b/meta/recipes-devtools/python/python3-sphinxcontrib-applehelp_1.0.8.bb @@ -0,0 +1,12 @@ +SUMMARY = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books" +HOMEPAGE = "https://www.sphinx-doc.org" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c7715857042d4c8c0105999ca0c072c5" + +SRC_URI[sha256sum] = "c40a4f96f3776c4393d933412053962fac2b84f4c99a7982ba42e09576a70619" + +PYPI_PACKAGE = "sphinxcontrib_applehelp" + +inherit pypi python_flit_core + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-sphinxcontrib-devhelp_1.0.6.bb b/meta/recipes-devtools/python/python3-sphinxcontrib-devhelp_1.0.6.bb new file mode 100644 index 0000000000..31f77a0a14 --- /dev/null +++ b/meta/recipes-devtools/python/python3-sphinxcontrib-devhelp_1.0.6.bb @@ -0,0 +1,12 @@ +SUMMARY = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document." +HOMEPAGE = "https://www.sphinx-doc.org" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=fd30d9972a142c857a80c9f312e92b93" + +SRC_URI[sha256sum] = "9893fd3f90506bc4b97bdb977ceb8fbd823989f4316b28c3841ec128544372d3" + +PYPI_PACKAGE = "sphinxcontrib_devhelp" + +inherit pypi python_flit_core + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-sphinxcontrib-htmlhelp_2.0.5.bb b/meta/recipes-devtools/python/python3-sphinxcontrib-htmlhelp_2.0.5.bb new file mode 100644 index 0000000000..e30c61c398 --- /dev/null +++ b/meta/recipes-devtools/python/python3-sphinxcontrib-htmlhelp_2.0.5.bb @@ -0,0 +1,12 @@ +SUMMARY = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" +HOMEPAGE = "https://www.sphinx-doc.org" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=24dce5ef6a13563241c24bc366f48886" + +SRC_URI[sha256sum] = "0dc87637d5de53dd5eec3a6a01753b1ccf99494bd756aafecd74b4fa9e729015" + +PYPI_PACKAGE = "sphinxcontrib_htmlhelp" + +inherit pypi python_flit_core + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-sphinxcontrib-jquery_4.1.bb b/meta/recipes-devtools/python/python3-sphinxcontrib-jquery_4.1.bb new file mode 100644 index 0000000000..5f915663c2 --- /dev/null +++ b/meta/recipes-devtools/python/python3-sphinxcontrib-jquery_4.1.bb @@ -0,0 +1,12 @@ +SUMMARY = "Extension to include jQuery on newer Sphinx releases" +HOMEPAGE = "https://pypi.org/project/sphinxcontrib-jquery/" +LICENSE = "0BSD" +LIC_FILES_CHKSUM = "file://LICENCE;md5=926e8b7e89e3ebb2a2d1dfaf0873f241" + +SRC_URI[sha256sum] = "1620739f04e36a2c779f1a131a2dfd49b2fd07351bf1968ced074365933abc7a" + +PYPI_PACKAGE = "sphinxcontrib-jquery" + +inherit pypi python_flit_core + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-sphinxcontrib-jsmath_1.0.1.bb b/meta/recipes-devtools/python/python3-sphinxcontrib-jsmath_1.0.1.bb new file mode 100644 index 0000000000..7c11cfeec5 --- /dev/null +++ b/meta/recipes-devtools/python/python3-sphinxcontrib-jsmath_1.0.1.bb @@ -0,0 +1,12 @@ +SUMMARY = "A sphinx extension which renders display math in HTML via JavaScript" +HOMEPAGE = "https://www.sphinx-doc.org" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f0064c10bd544bcffccbc67a41c108d3" + +SRC_URI[sha256sum] = "a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8" + +PYPI_PACKAGE = "sphinxcontrib-jsmath" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-sphinxcontrib-qthelp_1.0.7.bb b/meta/recipes-devtools/python/python3-sphinxcontrib-qthelp_1.0.7.bb new file mode 100644 index 0000000000..2225ec521e --- /dev/null +++ b/meta/recipes-devtools/python/python3-sphinxcontrib-qthelp_1.0.7.bb @@ -0,0 +1,12 @@ +SUMMARY = "Is a sphinx extension which outputs QtHelp document." +HOMEPAGE = "http://babel.edgewall.org/" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f7a83b72ea86d04827575ec0b63430eb" + +SRC_URI[sha256sum] = "053dedc38823a80a7209a80860b16b722e9e0209e32fea98c90e4e6624588ed6" + +PYPI_PACKAGE = "sphinxcontrib_qthelp" + +inherit pypi python_flit_core + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-sphinxcontrib-serializinghtml_1.1.10.bb b/meta/recipes-devtools/python/python3-sphinxcontrib-serializinghtml_1.1.10.bb new file mode 100644 index 0000000000..49be5200f0 --- /dev/null +++ b/meta/recipes-devtools/python/python3-sphinxcontrib-serializinghtml_1.1.10.bb @@ -0,0 +1,12 @@ +SUMMARY = 'sphinxcontrib-serializinghtml is a sphinx extension which outputs "serialized" HTML files (json and pickle).' +HOMEPAGE = "https://www.sphinx-doc.org" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=32a84ac5cd3bbd10c4d479233ad588b6" + +SRC_URI[sha256sum] = "93f3f5dc458b91b192fe10c397e324f262cf163d79f3282c158e8436a2c4511f" + +PYPI_PACKAGE = "sphinxcontrib_serializinghtml" + +inherit pypi python_flit_core + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-subunit_1.4.0.bb b/meta/recipes-devtools/python/python3-subunit_1.4.0.bb deleted file mode 100644 index a06ded868f..0000000000 --- a/meta/recipes-devtools/python/python3-subunit_1.4.0.bb +++ /dev/null @@ -1,4 +0,0 @@ -inherit setuptools3 -require python-subunit.inc - -RDEPENDS:${PN} = " python3-testtools" diff --git a/meta/recipes-devtools/python/python3-subunit_1.4.4.bb b/meta/recipes-devtools/python/python3-subunit_1.4.4.bb new file mode 100644 index 0000000000..11be10bab6 --- /dev/null +++ b/meta/recipes-devtools/python/python3-subunit_1.4.4.bb @@ -0,0 +1,15 @@ +SUMMARY = "Python implementation of subunit test streaming protocol" +HOMEPAGE = "https://pypi.org/project/python-subunit/" +SECTION = "devel/python" +LICENSE = "Apache-2.0 | BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;beginline=1;endline=20;md5=b1121e68d06c8d9ea544fcd895df0d39" + +PYPI_PACKAGE = "python-subunit" + +SRC_URI[sha256sum] = "1079363131aa1d3f45259237265bc2e61a77e35f20edfb6e3d1d2558a2cdea34" + +inherit pypi setuptools3 + +RDEPENDS:${PN} = " python3-testtools python3-iso8601" + +BBCLASSEXTEND = "nativesdk" diff --git a/meta/recipes-devtools/python/python3-testtools_2.5.0.bb b/meta/recipes-devtools/python/python3-testtools_2.5.0.bb deleted file mode 100644 index 896ecee65c..0000000000 --- a/meta/recipes-devtools/python/python3-testtools_2.5.0.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools3 -require python-testtools.inc diff --git a/meta/recipes-devtools/python/python3-testtools_2.7.1.bb b/meta/recipes-devtools/python/python3-testtools_2.7.1.bb new file mode 100644 index 0000000000..cc7e055632 --- /dev/null +++ b/meta/recipes-devtools/python/python3-testtools_2.7.1.bb @@ -0,0 +1,20 @@ +SUMMARY = "Extensions to the Python standard library unit testing framework" +HOMEPAGE = "https://pypi.org/project/testtools/" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e2c9d3e8ba7141c83bfef190e0b9379a" + +DEPENDS += "python3-hatch-vcs-native" + +inherit pypi python_hatchling + +SRC_URI[sha256sum] = "df6de96010e29ee21f637a147eabf30d50b25e3841dd1d68f93ee89ce77e366c" + +RDEPENDS:${PN} += "\ + python3-doctest \ + python3-extras \ + python3-six \ + " + +BBCLASSEXTEND = "nativesdk" + diff --git a/meta/recipes-devtools/python/python3-toml_0.10.2.bb b/meta/recipes-devtools/python/python3-toml_0.10.2.bb index be29cac798..649464b961 100644 --- a/meta/recipes-devtools/python/python3-toml_0.10.2.bb +++ b/meta/recipes-devtools/python/python3-toml_0.10.2.bb @@ -11,5 +11,5 @@ inherit pypi setuptools3 BBCLASSEXTEND = "native nativesdk" RDEPENDS:${PN} += " \ - ${PYTHON_PN}-misc \ + python3-misc \ " diff --git a/meta/recipes-devtools/python/python3-tomli_1.2.1.bb b/meta/recipes-devtools/python/python3-tomli_2.0.1.bb index f62690ff2d..9401ed897f 100644 --- a/meta/recipes-devtools/python/python3-tomli_1.2.1.bb +++ b/meta/recipes-devtools/python/python3-tomli_2.0.1.bb @@ -6,15 +6,13 @@ BUGTRACKER = "https://github.com/hukkin/tomli/issues" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=aaaaf0879d17df0110d1aa8c8c9f46f5" -inherit pypi setuptools3 +inherit pypi python_flit_core -SRC_URI[sha256sum] = "a5b75cb6f3968abb47af1b40c1819dc519ea82bcc065776a866e8d74c5ca9442" - -do_configure:prepend() { -cat > ${S}/setup.py <<-EOF -from setuptools import setup -setup(name="tomli", version="${PV}", packages=["tomli"], package_data={"": ["*"]}) -EOF -} +SRC_URI[sha256sum] = "de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f" BBCLASSEXTEND = "native nativesdk" + +RDEPENDS:${PN} += " \ + python3-datetime \ + python3-stringold \ +" diff --git a/meta/recipes-devtools/python/python3-trove-classifiers/run-ptest b/meta/recipes-devtools/python/python3-trove-classifiers/run-ptest new file mode 100644 index 0000000000..8d2017d39c --- /dev/null +++ b/meta/recipes-devtools/python/python3-trove-classifiers/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +pytest --automake diff --git a/meta/recipes-devtools/python/python3-trove-classifiers_2024.4.10.bb b/meta/recipes-devtools/python/python3-trove-classifiers_2024.4.10.bb new file mode 100644 index 0000000000..357b428983 --- /dev/null +++ b/meta/recipes-devtools/python/python3-trove-classifiers_2024.4.10.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] = "49f40bb6a746b72a1cba4f8d55ee8252169cda0f70802e3fd24f04b7fb25a492" + +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/recipes-devtools/python/python3-typing-extensions_4.11.0.bb b/meta/recipes-devtools/python/python3-typing-extensions_4.11.0.bb new file mode 100644 index 0000000000..ad45b669ec --- /dev/null +++ b/meta/recipes-devtools/python/python3-typing-extensions_4.11.0.bb @@ -0,0 +1,24 @@ +SUMMARY = "Backported and Experimental Type Hints for Python 3.7+" +DESCRIPTION = "The typing_extensions module serves two related purposes:\ +\ +* Enable use of new type system features on older Python versions. For \ + example, typing.TypeGuard is new in Python 3.10, but typing_extensions \ + allows users on previous Python versions to use it too.\ +* Enable experimentation with new type system PEPs before they are accepted \ + and added to the typing module." +HOMEPAGE = "https://github.com/python/typing_extensions" +BUGTRACKER = "https://github.com/python/typing_extensions/issues" +SECTIONS = "libs" +LICENSE = "PSF-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=fcf6b249c2641540219a727f35d8d2c2" + +# The name on PyPi is slightly different. +PYPI_PACKAGE = "typing_extensions" + +SRC_URI[sha256sum] = "83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0" + +inherit pypi python_flit_core + +UPSTREAM_CHECK_REGEX = "/typing-extensions/(?P<pver>(\d+[\.\-_]*)+)/" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-typogrify_2.0.7.bb b/meta/recipes-devtools/python/python3-typogrify_2.0.7.bb index 83e9b5eadb..8ba2788c9b 100644 --- a/meta/recipes-devtools/python/python3-typogrify_2.0.7.bb +++ b/meta/recipes-devtools/python/python3-typogrify_2.0.7.bb @@ -8,7 +8,7 @@ inherit pypi setuptools3 PYPI_PACKAGE = "typogrify" SRC_URI[sha256sum] = "8be4668cda434163ce229d87ca273a11922cb1614cb359970b7dc96eed13cb38" -BBCLASSEXTEND = "native" +BBCLASSEXTEND = "native nativesdk" -RDEPENDS:${PN} += "${PYTHON_PN}-smartypants" +RDEPENDS:${PN} += "python3-smartypants" diff --git a/meta/recipes-devtools/python/python3-unittest-automake-output_0.2.bb b/meta/recipes-devtools/python/python3-unittest-automake-output_0.2.bb new file mode 100644 index 0000000000..1fc6180d0e --- /dev/null +++ b/meta/recipes-devtools/python/python3-unittest-automake-output_0.2.bb @@ -0,0 +1,13 @@ +SUMMARY = "Modules to make unittest and pytest look like Automake output, for ptest" +HOMEPAGE = "https://gitlab.com/rossburton/python-unittest-automake-output" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f6f16008d9fb7349f06609329f1ab93b" + +SRC_URI = "git://gitlab.com/rossburton/python-unittest-automake-output;protocol=https;branch=main" +SRCREV = "aebdfb188e368c690ea55cf6c9c9ffa1a52def65" + +S = "${WORKDIR}/git" + +inherit python_flit_core + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-uritools_4.0.2.bb b/meta/recipes-devtools/python/python3-uritools_4.0.2.bb new file mode 100644 index 0000000000..5ffedccb85 --- /dev/null +++ b/meta/recipes-devtools/python/python3-uritools_4.0.2.bb @@ -0,0 +1,11 @@ +SUMMARY = "URI parsing, classification and composition" +HOMEPAGE = "https://github.com/tkem/uritools/" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1ec55353c80c662e4255f8889a0ca558" + +SRC_URI[sha256sum] = "04df2b787d0eb76200e8319382a03562fbfe4741fd66c15506b08d3b8211d573" + +inherit setuptools3 pypi + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-urllib3_2.2.1.bb b/meta/recipes-devtools/python/python3-urllib3_2.2.1.bb new file mode 100644 index 0000000000..fc1828b4ee --- /dev/null +++ b/meta/recipes-devtools/python/python3-urllib3_2.2.1.bb @@ -0,0 +1,24 @@ +SUMMARY = "Python HTTP library with thread-safe connection pooling, file post support, sanity friendly, and more" +HOMEPAGE = "https://github.com/shazow/urllib3" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=52d273a3054ced561275d4d15260ecda" + +SRC_URI[sha256sum] = "d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19" + +inherit pypi python_hatchling + +RDEPENDS:${PN} += "\ + python3-certifi \ + python3-cryptography \ + python3-email \ + python3-idna \ + python3-json \ + python3-netclient \ + python3-pyopenssl \ + python3-threading \ + python3-logging \ +" + +CVE_PRODUCT = "urllib3" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-vcversioner_2.16.0.0.bb b/meta/recipes-devtools/python/python3-vcversioner_2.16.0.0.bb new file mode 100644 index 0000000000..149078c51b --- /dev/null +++ b/meta/recipes-devtools/python/python3-vcversioner_2.16.0.0.bb @@ -0,0 +1,12 @@ +SUMMARY = "Python vcversioner, automagically update the project's version" +HOMEPAGE = "https://github.com/habnabit/vcversioner" + +LICENSE = "ISC" +LIC_FILES_CHKSUM = "file://PKG-INFO;md5=827a7a91a8d20d3c666b665cd96db8e3" + +SRC_URI[md5sum] = "aab6ef5e0cf8614a1b1140ed5b7f107d" +SRC_URI[sha256sum] = "dae60c17a479781f44a4010701833f1829140b1eeccd258762a74974aa06e19b" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native" diff --git a/meta/recipes-devtools/python/python3-wcwidth/run-ptest b/meta/recipes-devtools/python/python3-wcwidth/run-ptest index b63c4de0d9..8d2017d39c 100644 --- a/meta/recipes-devtools/python/python3-wcwidth/run-ptest +++ b/meta/recipes-devtools/python/python3-wcwidth/run-ptest @@ -1,3 +1,3 @@ #!/bin/sh -pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}' +pytest --automake diff --git a/meta/recipes-devtools/python/python3-wcwidth_0.2.5.bb b/meta/recipes-devtools/python/python3-wcwidth_0.2.13.bb index a532d3c5cb..4a9bf75323 100644 --- a/meta/recipes-devtools/python/python3-wcwidth_0.2.5.bb +++ b/meta/recipes-devtools/python/python3-wcwidth_0.2.13.bb @@ -4,8 +4,7 @@ HOMEPAGE = "https://github.com/jquast/wcwidth" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=b15979c39a2543892fca8cd86b4b52cb" -SRC_URI[md5sum] = "a07a75f99d316e14838ac760c831ea37" -SRC_URI[sha256sum] = "c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83" +SRC_URI[sha256sum] = "72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5" inherit pypi setuptools3 ptest @@ -14,12 +13,15 @@ SRC_URI += " \ " RDEPENDS:${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ + python3-pytest \ + python3-unittest-automake-output \ " do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ + install -d ${D}${PTEST_PATH}/bin + cp -rf ${S}/bin/* ${D}${PTEST_PATH}/bin/ } BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-webcolors/run-ptest b/meta/recipes-devtools/python/python3-webcolors/run-ptest new file mode 100644 index 0000000000..8d2017d39c --- /dev/null +++ b/meta/recipes-devtools/python/python3-webcolors/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +pytest --automake diff --git a/meta/recipes-devtools/python/python3-webcolors_1.13.bb b/meta/recipes-devtools/python/python3-webcolors_1.13.bb new file mode 100644 index 0000000000..cea2a971d3 --- /dev/null +++ b/meta/recipes-devtools/python/python3-webcolors_1.13.bb @@ -0,0 +1,28 @@ +SUMMARY = "Simple Python module for working with HTML/CSS color definitions." +HOMEPAGE = "https://pypi.org/project/webcolors/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=702b1ef12cf66832a88f24c8f2ee9c19" + +SRC_URI[sha256sum] = "c225b674c83fa923be93d235330ce0300373d02885cef23238813b0d5668304a" + +inherit pypi python_setuptools_build_meta ptest + +RDEPENDS:${PN}:class-target = "\ + python3-stringold \ +" + +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/recipes-devtools/python/python3-websockets_12.0.bb b/meta/recipes-devtools/python/python3-websockets_12.0.bb new file mode 100644 index 0000000000..f89c3b629e --- /dev/null +++ b/meta/recipes-devtools/python/python3-websockets_12.0.bb @@ -0,0 +1,16 @@ +SUMMARY = "An implementation of the WebSocket Protocol (RFC 6455)" +HOMEPAGE = "https://github.com/aaugustin/websockets" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=51924a6af4495b8cfaee1b1da869b6f4" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "81df9cbcbb6c260de1e007e58c011bfebe2dafc8435107b0537f393dd38c8b1b" + +BBCLASSEXTEND = "native nativesdk" + +RDEPENDS:${PN} = " \ + python3-asyncio \ + python3-profile \ +" diff --git a/meta/recipes-devtools/python/python3-wheel_0.43.0.bb b/meta/recipes-devtools/python/python3-wheel_0.43.0.bb new file mode 100644 index 0000000000..ba309ae5fc --- /dev/null +++ b/meta/recipes-devtools/python/python3-wheel_0.43.0.bb @@ -0,0 +1,15 @@ +SUMMARY = "The official binary distribution format for Python " +HOMEPAGE = "https://github.com/pypa/wheel" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7ffb0db04527cfe380e4f2726bd05ebf" + +SRC_URI[sha256sum] = "465ef92c69fa5c5da2d1cf8ac40559a8c940886afcef87dcf14b9470862f1d85" + +inherit python_flit_core pypi + +BBCLASSEXTEND = "native nativesdk" + +# This used to use the bootstrap install which didn't compile. Until we bump the +# tmpdir version we can't compile the native otherwise the sysroot unpack fails +INSTALL_WHEEL_COMPILE_BYTECODE:class-native = "--no-compile-bytecode" diff --git a/meta/recipes-devtools/python/python3-xmltodict/run-ptest b/meta/recipes-devtools/python/python3-xmltodict/run-ptest new file mode 100644 index 0000000000..3385d68939 --- /dev/null +++ b/meta/recipes-devtools/python/python3-xmltodict/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}' diff --git a/meta/recipes-devtools/python/python3-xmltodict_0.13.0.bb b/meta/recipes-devtools/python/python3-xmltodict_0.13.0.bb new file mode 100644 index 0000000000..e8e275647c --- /dev/null +++ b/meta/recipes-devtools/python/python3-xmltodict_0.13.0.bb @@ -0,0 +1,31 @@ +SUMMARY = "Makes working with XML feel like you are working with JSON" +HOMEPAGE = "https://github.com/martinblech/xmltodict" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=01441d50dc74476db58a41ac10cb9fa2" + +SRC_URI[sha256sum] = "341595a488e3e01a85a9d8911d8912fd922ede5fecc4dce437eb4b6c8d037e56" + +PYPI_PACKAGE = "xmltodict" + +BBCLASSEXTEND = "native nativesdk" + +inherit pypi setuptools3 ptest + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS:${PN} += " \ + python3-core \ + python3-xml \ + python3-io \ +" + +RDEPENDS:${PN}-ptest += " \ + python3-pytest \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} diff --git a/meta/recipes-devtools/python/python3-yamllint_1.35.1.bb b/meta/recipes-devtools/python/python3-yamllint_1.35.1.bb new file mode 100644 index 0000000000..53188b0262 --- /dev/null +++ b/meta/recipes-devtools/python/python3-yamllint_1.35.1.bb @@ -0,0 +1,15 @@ +SUMMARY = "A linter for YAML files." +HOMEPAGE = "https://github.com/adrienverge/yamllint" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1ebbd3e34237af26da5dc08a4e440464" + +inherit pypi setuptools3 + +PYPI_PACKAGE = "yamllint" + +SRC_URI[sha256sum] = "7a003809f88324fd2c877734f2d575ee7881dd9043360657cc8049c809eba6cd" + +DEPENDS += "python3-setuptools-scm-native" +RDEPENDS:${PN} += "python3-pathspec python3-pyyaml" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-zipp_3.18.1.bb b/meta/recipes-devtools/python/python3-zipp_3.18.1.bb new file mode 100644 index 0000000000..e43432469d --- /dev/null +++ b/meta/recipes-devtools/python/python3-zipp_3.18.1.bb @@ -0,0 +1,18 @@ +SUMMARY = "Backport of pathlib-compatible object wrapper for zip files" +HOMEPAGE = "https://github.com/jaraco/zipp" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=141643e11c48898150daa83802dbc65f" + +SRC_URI[sha256sum] = "2884ed22e7d8961de1c9a05142eb69a247f120291bc0206a00a7642f09b5b715" + +DEPENDS += "python3-setuptools-scm-native" + +inherit pypi python_setuptools_build_meta + +DEPENDS += "python3-toml-native" + +RDEPENDS:${PN} += "python3-compression \ + python3-math \ + python3-more-itertools" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-zipp_3.6.0.bb b/meta/recipes-devtools/python/python3-zipp_3.6.0.bb deleted file mode 100644 index c98bc7a3a4..0000000000 --- a/meta/recipes-devtools/python/python3-zipp_3.6.0.bb +++ /dev/null @@ -1,18 +0,0 @@ -DESCRIPTION = "Backport of pathlib-compatible object wrapper for zip files" -HOMEPAGE = "https://github.com/jaraco/zipp" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=7a7126e068206290f3fe9f8d6c713ea6" - -SRC_URI[sha256sum] = "71c644c5369f4a6e07636f0aa966270449561fcea2e3d6747b8d23efaa9d7832" - -DEPENDS += "${PYTHON_PN}-setuptools-scm-native" - -inherit pypi setuptools3 - -DEPENDS += "${PYTHON_PN}-toml-native" - -RDEPENDS:${PN} += "${PYTHON_PN}-compression \ - ${PYTHON_PN}-math \ - ${PYTHON_PN}-more-itertools" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch b/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch new file mode 100644 index 0000000000..0d807db39f --- /dev/null +++ b/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch @@ -0,0 +1,30 @@ +From 365399f17d35719d828ddd49182dcb401fb7791c Mon Sep 17 00:00:00 2001 +From: Paulo Neves <ptsneves@gmail.com> +Date: Tue, 7 Jun 2022 16:16:41 +0200 +Subject: [PATCH] Avoid shebang overflow on python-config.py + +The whole native path may be too big, leading to shebang +overflow. Let's just use the env shebang. + +Denial reason: [1] + +Upstream-Status: Denied [distribution] + +[1] https://github.com/python/cpython/pull/93760#pullrequestreview-1005365737 +--- + Makefile.pre.in | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 77bf09a..6353c57 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -2339,6 +2339,8 @@ python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh + @ # Substitution happens here, as the completely-expanded BINDIR + @ # is not available in configure + sed -e "s,@EXENAME@,$(EXENAME)," < $(srcdir)/Misc/python-config.in >python-config.py ++ @ # Otherwise we might get huge shebangs with native paths ++ sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' python-config.py + @ # Replace makefile compat. variable references with shell script compat. ones; $(VAR) -> ${VAR} + LC_ALL=C sed -e 's,\$$(\([A-Za-z0-9_]*\)),\$$\{\1\},g' < Misc/python-config.sh >python-config + @ # On Darwin, always use the python version of the script, the shell diff --git a/meta/recipes-devtools/python/python3/0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch b/meta/recipes-devtools/python/python3/0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch deleted file mode 100644 index 59592821d7..0000000000 --- a/meta/recipes-devtools/python/python3/0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 039c53dd5baddec3359a05be0bff46a3b32bbb84 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Fri, 25 Jan 2019 19:04:13 +0100 -Subject: [PATCH] Do not add /usr/lib/termcap to linker flags to avoid host - contamination - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - ---- - setup.py | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/setup.py b/setup.py -index 20d7f35..ab18ff0 100644 ---- a/setup.py -+++ b/setup.py -@@ -957,7 +957,6 @@ class PyBuildExt(build_ext): - 'termcap'): - readline_libs.append('termcap') - self.add(Extension('readline', ['readline.c'], -- library_dirs=['/usr/lib/termcap'], - extra_link_args=readline_extra_link_args, - libraries=readline_libs)) - else: diff --git a/meta/recipes-devtools/python/python3/0001-Do-not-use-the-shell-version-of-python-config-that-w.patch b/meta/recipes-devtools/python/python3/0001-Do-not-use-the-shell-version-of-python-config-that-w.patch deleted file mode 100644 index 83fd52d87f..0000000000 --- a/meta/recipes-devtools/python/python3/0001-Do-not-use-the-shell-version-of-python-config-that-w.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 148861fa16f2aaacd518770f337ea54b5182f981 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Tue, 29 Jan 2019 15:03:01 +0100 -Subject: [PATCH] Do not use the shell version of python-config that was - introduced in 3.4 - -Revert instead to the original python version: it has our tweaks and -outputs directories correctly. - -Upstream-Status: Inappropriate [oe-specific] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - Makefile.pre.in | 9 +++------ - 1 file changed, 3 insertions(+), 6 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 2d2e11f..cc19942 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1431,12 +1431,9 @@ python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh - sed -e "s,@EXENAME@,$(BINDIR)/python$(LDVERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config.py - @ # Replace makefile compat. variable references with shell script compat. ones; $(VAR) -> ${VAR} - LC_ALL=C sed -e 's,\$$(\([A-Za-z0-9_]*\)),\$$\{\1\},g' < Misc/python-config.sh >python-config -- @ # On Darwin, always use the python version of the script, the shell -- @ # version doesn't use the compiler customizations that are provided -- @ # in python (_osx_support.py). -- @if test `uname -s` = Darwin; then \ -- cp python-config.py python-config; \ -- fi -+ @ # In OpenEmbedded, always use the python version of the script, the shell -+ @ # version is broken in multiple ways, and doesn't return correct directories -+ cp python-config.py python-config - - - # Install the include files diff --git a/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch b/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch deleted file mode 100644 index 46179ba1d1..0000000000 --- a/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch +++ /dev/null @@ -1,27 +0,0 @@ -From cebb772d718a8f798ed5ae311a6e3e61534bea95 Mon Sep 17 00:00:00 2001 -From: Jeremy Puhlman <jpuhlman@mvista.com> -Date: Wed, 4 Mar 2020 00:06:42 +0000 -Subject: [PATCH] Don't search system for headers/libraries - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com> - ---- - setup.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/setup.py b/setup.py -index 95e3e11..32a4d42 100644 ---- a/setup.py -+++ b/setup.py -@@ -840,8 +840,8 @@ class PyBuildExt(build_ext): - add_dir_to_list(self.compiler.include_dirs, - sysconfig.get_config_var("INCLUDEDIR")) - -- system_lib_dirs = ['/lib64', '/usr/lib64', '/lib', '/usr/lib'] -- system_include_dirs = ['/usr/include'] -+ system_lib_dirs = [] -+ system_include_dirs = [] - # lib_dirs and inc_dirs are used to search for files; - # if a file is found in one of those directories, it can - # be assumed that no additional -I,-L directives are needed. diff --git a/meta/recipes-devtools/python/python3/0001-Lib-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch b/meta/recipes-devtools/python/python3/0001-Lib-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch index d6aa9501a7..026150f0e2 100644 --- a/meta/recipes-devtools/python/python3/0001-Lib-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch +++ b/meta/recipes-devtools/python/python3/0001-Lib-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch @@ -1,4 +1,4 @@ -From d8521ee967937184eadc59fff1a30740ad181a98 Mon Sep 17 00:00:00 2001 +From f8a664cf1fc73e381d57d6927207286059744837 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex@linutronix.de> Date: Thu, 16 Sep 2021 16:35:37 +0200 Subject: [PATCH] Lib/pty.py: handle stdin I/O errors same way as master I/O @@ -24,26 +24,24 @@ So let's treat both channels the same. Upstream-Status: Submitted [https://github.com/python/cpython/pull/28388] Signed-off-by: Alexander Kanavin <alex@linutronix.de> + --- Lib/pty.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Lib/pty.py b/Lib/pty.py -index 8d8ce40df5..35439c6b96 100644 +index 1d97994..fa8821b 100644 --- a/Lib/pty.py +++ b/Lib/pty.py -@@ -154,7 +154,10 @@ def _copy(master_fd, master_read=_read, stdin_read=_read): - os.write(STDOUT_FILENO, data) +@@ -178,7 +178,10 @@ def _copy(master_fd, master_read=_read, stdin_read=_read): + i_buf = i_buf[n:] - if STDIN_FILENO in rfds: + if stdin_avail and STDIN_FILENO in rfds: - data = stdin_read(STDIN_FILENO) + try: + data = stdin_read(STDIN_FILENO) + except OSError: + data = b"" if not data: - fds.remove(STDIN_FILENO) + stdin_avail = False else: --- -2.20.1 - diff --git a/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch b/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch index b72c709130..680254fab9 100644 --- a/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch +++ b/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch @@ -1,6 +1,6 @@ -From aceaa16e25a8ab6a00f906c340843999635c8e23 Mon Sep 17 00:00:00 2001 +From 71c194077bb907bfe423d3f3275f33a6c8ca0e74 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex@linutronix.de> -Date: Fri, 10 Sep 2021 12:28:31 +0200 +Date: Fri, 17 Nov 2023 14:26:32 +0100 Subject: [PATCH] Lib/sysconfig.py: use prefix value from build configuration file @@ -9,26 +9,24 @@ native python. Upstream-Status: Inappropriate [oe-core cross builds] Signed-off-by: Alexander Kanavin <alex@linutronix.de> + --- Lib/sysconfig.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py -index 95b48f6..84f6427 100644 +index 79c0510..91ebcb6 100644 --- a/Lib/sysconfig.py +++ b/Lib/sysconfig.py -@@ -613,6 +613,11 @@ def get_config_vars(*args): - _init_non_posix(_CONFIG_VARS) - if os.name == 'posix': - _init_posix(_CONFIG_VARS) -+ _CONFIG_VARS['installed_base'] = _CONFIG_VARS['prefix'] -+ _CONFIG_VARS['base'] = _CONFIG_VARS['prefix'] -+ _CONFIG_VARS['installed_platbase'] = _CONFIG_VARS['prefix'] -+ _CONFIG_VARS['platbase'] = _CONFIG_VARS['prefix'] -+ _CONFIG_VARS['platlibdir'] = _CONFIG_VARS['PLATLIBDIR'] - # For backward compatibility, see issue19555 - SO = _CONFIG_VARS.get('EXT_SUFFIX') - if SO is not None: --- -2.20.1 - +@@ -668,6 +668,11 @@ def _init_config_vars(): + _CONFIG_VARS['VPATH'] = sys._vpath + if os.name == 'posix': + _init_posix(_CONFIG_VARS) ++ _CONFIG_VARS['installed_base'] = _CONFIG_VARS['prefix'] ++ _CONFIG_VARS['base'] = _CONFIG_VARS['prefix'] ++ _CONFIG_VARS['installed_platbase'] = _CONFIG_VARS['prefix'] ++ _CONFIG_VARS['platbase'] = _CONFIG_VARS['prefix'] ++ _CONFIG_VARS['platlibdir'] = _CONFIG_VARS['PLATLIBDIR'] + if _HAS_USER_BASE: + # Setting 'userbase' is done below the call to the + # init function to enable using 'get_config_var' in diff --git a/meta/recipes-devtools/python/python3/0001-Makefile-do-not-compile-.pyc-in-parallel.patch b/meta/recipes-devtools/python/python3/0001-Makefile-do-not-compile-.pyc-in-parallel.patch deleted file mode 100644 index b1bceac512..0000000000 --- a/meta/recipes-devtools/python/python3/0001-Makefile-do-not-compile-.pyc-in-parallel.patch +++ /dev/null @@ -1,58 +0,0 @@ -From c501e121a872cbcef8ffe626c1de173a125be9f8 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Thu, 16 Jan 2020 12:34:20 +0100 -Subject: [PATCH] Makefile: do not compile .pyc in parallel - -This was found to break reproducibility, and produce strange file ownership -races. - -The upstream commit introducing the change was: -https://github.com/python/cpython/commit/1a2dd82f56bd813aacc570e172cefe55a8a41504 - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - Makefile.pre.in | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 1241112..5dfdf44 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1457,30 +1457,30 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c - fi - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \ -- -j0 -d $(LIBDEST) -f \ -+ -d $(LIBDEST) -f \ - -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \ - $(DESTDIR)$(LIBDEST) - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \ -- -j0 -d $(LIBDEST) -f \ -+ -d $(LIBDEST) -f \ - -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \ - $(DESTDIR)$(LIBDEST) - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -Wi -OO $(DESTDIR)$(LIBDEST)/compileall.py \ -- -j0 -d $(LIBDEST) -f \ -+ -d $(LIBDEST) -f \ - -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \ - $(DESTDIR)$(LIBDEST) - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \ -- -j0 -d $(LIBDEST)/site-packages -f \ -+ -d $(LIBDEST)/site-packages -f \ - -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \ -- -j0 -d $(LIBDEST)/site-packages -f \ -+ -d $(LIBDEST)/site-packages -f \ - -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -Wi -OO $(DESTDIR)$(LIBDEST)/compileall.py \ -- -j0 -d $(LIBDEST)/site-packages -f \ -+ -d $(LIBDEST)/site-packages -f \ - -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt diff --git a/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch b/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch index fa7735ff93..ee33128fa1 100644 --- a/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch +++ b/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch @@ -1,4 +1,4 @@ -From cf6a9100902484e4d028ee88742dd2487b014a98 Mon Sep 17 00:00:00 2001 +From 38278339832a57dbf5fa3ef21accaa03e2c814d7 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Wed, 30 Jan 2019 12:41:04 +0100 Subject: [PATCH] Makefile.pre: use qemu wrapper when gathering profile data @@ -10,16 +10,16 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Makefile.pre.in b/Makefile.pre.in -index a3a02a7..d5503dd 100644 +index dd5e69f..381feb0 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -507,8 +507,7 @@ build_all_generate_profile: - $(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS_NODIST) $(PGO_PROF_GEN_FLAG)" LDFLAGS_NODIST="$(LDFLAGS_NODIST) $(PGO_PROF_GEN_FLAG)" LIBS="$(LIBS)" - - run_profile_task: +@@ -658,8 +658,7 @@ profile-run-stamp: + # enabled. + $(MAKE) profile-gen-stamp + # Next, run the profile task to generate the profile information. - @ # FIXME: can't run for a cross build - $(LLVM_PROF_FILE) $(RUNSHARED) ./$(BUILDPYTHON) $(PROFILE_TASK) || true + ./pgo-wrapper ./python -m test.regrtest --pgo test_grammar test_opcodes test_dict test_builtin test_exceptions test_types test_support || true - - build_all_merge_profile: $(LLVM_PROF_MERGER) + # Remove profile generation binary since we are done with it. + $(MAKE) clean-retain-profile diff --git a/meta/recipes-devtools/python/python3/0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch b/meta/recipes-devtools/python/python3/0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch index a49d603d47..197daa71a5 100644 --- a/meta/recipes-devtools/python/python3/0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch +++ b/meta/recipes-devtools/python/python3/0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch @@ -1,9 +1,8 @@ -From 0b25b66d4f54bd74615c9ff10f3fae8f0d1c548d Mon Sep 17 00:00:00 2001 +From 3471e3478e0760c42e04f8046cee2367ab5706d2 Mon Sep 17 00:00:00 2001 From: Yi Fan Yu <yifan.yu@windriver.com> Date: Thu, 1 Apr 2021 13:08:37 -0700 Subject: [PATCH] Skip failing tests due to load variability on YP AB - Skip these tests until AB-INT is solved. [YOCTO #14296] @@ -11,43 +10,63 @@ Skip these tests until AB-INT is solved. Upstream-Status: Inappropriate [OE-Specific] Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com> + +Skip two additional tests due to suspected load variability failures. + +[YOCTO #15131] +[YOCTO #15177] + +Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> --- - Lib/test/_test_multiprocessing.py | 2 ++ - Lib/test/test_time.py | 1 + - 2 files changed, 3 insertions(+) + Lib/test/_test_multiprocessing.py | 3 +++ + Lib/test/test_time.py | 2 ++ + 2 files changed, 5 insertions(+) diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py -index fd3b430..cda29f6 100644 +index e42c7ab..dff5227 100644 --- a/Lib/test/_test_multiprocessing.py +++ b/Lib/test/_test_multiprocessing.py -@@ -568,6 +568,7 @@ def test_close(self): - +@@ -682,6 +682,7 @@ class _TestProcess(BaseTestCase): close_queue(q) + @support.requires_resource('walltime') + @unittest.skip('timing related test, dependent on load') def test_many_processes(self): if self.TYPE == 'threads': self.skipTest('test not appropriate for {}'.format(self.TYPE)) -@@ -4715,6 +4716,7 @@ def signal_and_sleep(cls, sem, period): - sem.release() +@@ -2066,6 +2067,7 @@ class _TestBarrier(BaseTestCase): + except threading.BrokenBarrierError: + results.append(True) + ++ @unittest.skip('timing related test, dependent on load') + def test_timeout(self): + """ + Test wait(timeout) +@@ -5024,6 +5026,7 @@ class TestWait(unittest.TestCase): time.sleep(period) + @support.requires_resource('walltime') + @unittest.skip('timing related test, dependent on load') def test_wait_integer(self): from multiprocessing.connection import wait diff --git a/Lib/test/test_time.py b/Lib/test/test_time.py -index 3258298..adcf407 100644 +index 02cc3f4..51a4548 100644 --- a/Lib/test/test_time.py +++ b/Lib/test/test_time.py -@@ -474,6 +474,7 @@ def test_monotonic(self): - def test_perf_counter(self): - time.perf_counter() - +@@ -492,6 +492,7 @@ class TimeTestCase(unittest.TestCase): + @unittest.skipIf( + support.is_wasi, "process_time not available on WASI" + ) + @unittest.skip('timing related test, dependent on load') def test_process_time(self): # process_time() should not include time spend during a sleep start = time.process_time() --- -2.17.1 - +@@ -505,6 +506,7 @@ class TimeTestCase(unittest.TestCase): + self.assertTrue(info.monotonic) + self.assertFalse(info.adjustable) + ++ @unittest.skip('timing related test, dependent on load') + def test_thread_time(self): + if not hasattr(time, 'thread_time'): + if sys.platform.startswith(('linux', 'win')): diff --git a/meta/recipes-devtools/python/python3/0001-Update-test_sysconfig-for-posix_user-purelib.patch b/meta/recipes-devtools/python/python3/0001-Update-test_sysconfig-for-posix_user-purelib.patch new file mode 100644 index 0000000000..b6c6ac5a28 --- /dev/null +++ b/meta/recipes-devtools/python/python3/0001-Update-test_sysconfig-for-posix_user-purelib.patch @@ -0,0 +1,37 @@ +From 37d058e841ba3bd89b5746cc5381afb014b11581 Mon Sep 17 00:00:00 2001 +From: Wentao Zhang <wentao.zhang@windriver.com> +Date: Mon, 20 Mar 2023 13:39:52 +0800 +Subject: [PATCH] Update test_sysconfig for posix_user purelib + +Steps to trigger the failed test: +Edit local.conf to add something as follows: + BASELIB = "lib64" + IMAGE_INSTALL:append = " python3-tests". +bitbake core-image-sato +runqemu qemux86-64 nographic slirp +Reproducer: + $python3 -m test test_sysconfig + +Update test_sysconfig.test_user_similar() for the posix_user scheme: +"purelib" doesn't use sys.platlibdir. + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Wentao Zhang <wentao.zhang@windriver.com> + +--- + Lib/test/test_sysconfig.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py +index b6dbf3d..5672590 100644 +--- a/Lib/test/test_sysconfig.py ++++ b/Lib/test/test_sysconfig.py +@@ -372,7 +372,7 @@ class TestSysConfig(unittest.TestCase): + expected = os.path.normpath(global_path.replace(base, user, 1)) + # bpo-44860: platlib of posix_user doesn't use sys.platlibdir, + # whereas posix_prefix does. +- if name == 'platlib': ++ if name == 'platlib' or name == 'purelib': + # Replace "/lib64/python3.11/site-packages" suffix + # with "/lib/python3.11/site-packages". + py_version_short = sysconfig.get_python_version() diff --git a/meta/recipes-devtools/python/python3/0001-Use-FLAG_REF-always-for-interned-strings.patch b/meta/recipes-devtools/python/python3/0001-Use-FLAG_REF-always-for-interned-strings.patch deleted file mode 100644 index 793385de91..0000000000 --- a/meta/recipes-devtools/python/python3/0001-Use-FLAG_REF-always-for-interned-strings.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 9f63e83b1cec872917647b11155edaffe399d103 Mon Sep 17 00:00:00 2001 -From: Inada Naoki <songofacandy@gmail.com> -Date: Sat, 14 Jul 2018 00:46:11 +0900 -Subject: [PATCH] Use FLAG_REF always for interned strings - -Upstream-Status: Submitted [https://github.com/python/cpython/pull/8226] -Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> - ---- - Python/marshal.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/Python/marshal.c b/Python/marshal.c -index c4538bd..2437160 100644 ---- a/Python/marshal.c -+++ b/Python/marshal.c -@@ -298,9 +298,14 @@ w_ref(PyObject *v, char *flag, WFILE *p) - if (p->version < 3 || p->hashtable == NULL) - return 0; /* not writing object references */ - -- /* if it has only one reference, it definitely isn't shared */ -- if (Py_REFCNT(v) == 1) -+ /* If it has only one reference, it definitely isn't shared. -+ * But we use TYPE_REF always for interned string, to PYC file stable -+ * as possible. -+ */ -+ if (Py_REFCNT(v) == 1 && -+ !(PyUnicode_CheckExact(v) && PyUnicode_CHECK_INTERNED(v))) { - return 0; -+ } - - entry = _Py_hashtable_get_entry(p->hashtable, v); - if (entry != NULL) { diff --git a/meta/recipes-devtools/python/python3/0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch b/meta/recipes-devtools/python/python3/0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch deleted file mode 100644 index c4fae09a5b..0000000000 --- a/meta/recipes-devtools/python/python3/0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch +++ /dev/null @@ -1,209 +0,0 @@ -From 1ad771d86728ee2ed30e202e9768d8d825f96467 Mon Sep 17 00:00:00 2001 -From: Matthias Schoepfer <matthias.schoepfer@ithinx.io> -Date: Fri, 31 May 2019 15:34:34 +0200 -Subject: [PATCH] bpo-36852: proper detection of mips architecture for soft - float - -When (cross) compiling for softfloat mips, __mips_hard_float will not be -defined and detection of OS triplet in configure.ac / configure will fail. - -This also has to do with the custom detection of the build triplet. Trying -to do this in a more autoconf/autotools manner. - -Upstream-Status: Submitted [https://github.com/python/cpython/pull/13196] -Signed-off-by: Matthias Schoepfer <matthias.schoepfer@ithinx.io> - -%% original patch: 0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch ---- - configure.ac | 175 +++++++-------------------------------------------- - 1 file changed, 21 insertions(+), 154 deletions(-) - -diff --git a/configure.ac b/configure.ac -index ede710e..bc81b0b 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -710,160 +710,27 @@ fi - MULTIARCH=$($CC --print-multiarch 2>/dev/null) - AC_SUBST(MULTIARCH) - --AC_MSG_CHECKING([for the platform triplet based on compiler characteristics]) --cat >> conftest.c <<EOF --#undef bfin --#undef cris --#undef fr30 --#undef linux --#undef hppa --#undef hpux --#undef i386 --#undef mips --#undef powerpc --#undef sparc --#undef unix --#if defined(__ANDROID__) -- # Android is not a multiarch system. --#elif defined(__linux__) --# if defined(__x86_64__) && defined(__LP64__) -- x86_64-linux-gnu --# elif defined(__x86_64__) && defined(__ILP32__) -- x86_64-linux-gnux32 --# elif defined(__i386__) -- i386-linux-gnu --# elif defined(__aarch64__) && defined(__AARCH64EL__) --# if defined(__ILP32__) -- aarch64_ilp32-linux-gnu --# else -- aarch64-linux-gnu --# endif --# elif defined(__aarch64__) && defined(__AARCH64EB__) --# if defined(__ILP32__) -- aarch64_be_ilp32-linux-gnu --# else -- aarch64_be-linux-gnu --# endif --# elif defined(__alpha__) -- alpha-linux-gnu --# elif defined(__ARM_EABI__) && defined(__ARM_PCS_VFP) --# if defined(__ARMEL__) -- arm-linux-gnueabihf --# else -- armeb-linux-gnueabihf --# endif --# elif defined(__ARM_EABI__) && !defined(__ARM_PCS_VFP) --# if defined(__ARMEL__) -- arm-linux-gnueabi --# else -- armeb-linux-gnueabi --# endif --# elif defined(__hppa__) -- hppa-linux-gnu --# elif defined(__ia64__) -- ia64-linux-gnu --# elif defined(__m68k__) && !defined(__mcoldfire__) -- m68k-linux-gnu --# elif defined(__mips_hard_float) && defined(__mips_isa_rev) && (__mips_isa_rev >=6) && defined(_MIPSEL) --# if _MIPS_SIM == _ABIO32 -- mipsisa32r6el-linux-gnu --# elif _MIPS_SIM == _ABIN32 -- mipsisa64r6el-linux-gnuabin32 --# elif _MIPS_SIM == _ABI64 -- mipsisa64r6el-linux-gnuabi64 --# else --# error unknown platform triplet --# endif --# elif defined(__mips_hard_float) && defined(__mips_isa_rev) && (__mips_isa_rev >=6) --# if _MIPS_SIM == _ABIO32 -- mipsisa32r6-linux-gnu --# elif _MIPS_SIM == _ABIN32 -- mipsisa64r6-linux-gnuabin32 --# elif _MIPS_SIM == _ABI64 -- mipsisa64r6-linux-gnuabi64 --# else --# error unknown platform triplet --# endif --# elif defined(__mips_hard_float) && defined(_MIPSEL) --# if _MIPS_SIM == _ABIO32 -- mipsel-linux-gnu --# elif _MIPS_SIM == _ABIN32 -- mips64el-linux-gnuabin32 --# elif _MIPS_SIM == _ABI64 -- mips64el-linux-gnuabi64 --# else --# error unknown platform triplet --# endif --# elif defined(__mips_hard_float) --# if _MIPS_SIM == _ABIO32 -- mips-linux-gnu --# elif _MIPS_SIM == _ABIN32 -- mips64-linux-gnuabin32 --# elif _MIPS_SIM == _ABI64 -- mips64-linux-gnuabi64 --# else --# error unknown platform triplet --# endif --# elif defined(__or1k__) -- or1k-linux-gnu --# elif defined(__powerpc__) && defined(__SPE__) -- powerpc-linux-gnuspe --# elif defined(__powerpc64__) --# if defined(__LITTLE_ENDIAN__) -- powerpc64le-linux-gnu --# else -- powerpc64-linux-gnu --# endif --# elif defined(__powerpc__) -- powerpc-linux-gnu --# elif defined(__s390x__) -- s390x-linux-gnu --# elif defined(__s390__) -- s390-linux-gnu --# elif defined(__sh__) && defined(__LITTLE_ENDIAN__) -- sh4-linux-gnu --# elif defined(__sparc__) && defined(__arch64__) -- sparc64-linux-gnu --# elif defined(__sparc__) -- sparc-linux-gnu --# elif defined(__riscv) --# if __riscv_xlen == 32 -- riscv32-linux-gnu --# elif __riscv_xlen == 64 -- riscv64-linux-gnu --# else --# error unknown platform triplet --# endif --# else --# error unknown platform triplet --# endif --#elif defined(__FreeBSD_kernel__) --# if defined(__LP64__) -- x86_64-kfreebsd-gnu --# elif defined(__i386__) -- i386-kfreebsd-gnu --# else --# error unknown platform triplet --# endif --#elif defined(__gnu_hurd__) -- i386-gnu --#elif defined(__APPLE__) -- darwin --#elif defined(__VXWORKS__) -- vxworks --#else --# error unknown platform triplet --#endif -- --EOF -- --if $CPP $CPPFLAGS conftest.c >conftest.out 2>/dev/null; then -- PLATFORM_TRIPLET=`grep -v '^#' conftest.out | grep -v '^ *$' | tr -d ' '` -- AC_MSG_RESULT([$PLATFORM_TRIPLET]) --else -- AC_MSG_RESULT([none]) --fi --rm -f conftest.c conftest.out -+AC_CANONICAL_TARGET -+## Not using $target to filter out vendor -+## Need to handle macos, vxworks and hurd special (?) :-/ -+case ${target_os} in -+ darwin*) -+ PLATFORM_TRIPLET=darwin -+ ;; -+ hurd*) -+ PLATFORM_TRIPLET=i386-gnu -+ ;; -+ vxworks*) -+ PLATFORM_TRIPLET=vxworks -+ ;; -+ *) -+ if test "${target_cpu}" != "i686"; then -+ PLATFORM_TRIPLET=${target_cpu}-${target_os} -+ else -+ PLATFORM_TRIPLET=i386-${target_os} -+ fi -+ ;; -+esac - - if test x$PLATFORM_TRIPLET != x && test x$MULTIARCH != x; then - if test x$PLATFORM_TRIPLET != x$MULTIARCH; then --- -2.24.1 - diff --git a/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch b/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch deleted file mode 100644 index b323ed4dd0..0000000000 --- a/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 3a98c2eab187289dc8c55e36738c2c0f4216d906 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Thu, 31 Jan 2019 16:46:30 +0100 -Subject: [PATCH] distutils/sysconfig: append - STAGING_LIBDIR/python-sysconfigdata to sys.path - -So that target configuration can be used when running native python - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - ---- - Lib/sysconfig.py | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py -index a78c0b1..f5c5efe 100644 ---- a/Lib/sysconfig.py -+++ b/Lib/sysconfig.py -@@ -474,6 +474,8 @@ def _init_posix(vars): - """Initialize the module as appropriate for POSIX systems.""" - # _sysconfigdata is generated at build time, see _generate_posix_vars() - name = _get_sysconfigdata_name() -+ if 'STAGING_LIBDIR' in os.environ: -+ sys.path.append(os.environ['STAGING_LIBDIR']+'/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/recipes-devtools/python/python3/0001-gh-114492-Initialize-struct-termios-before-calling-t.patch b/meta/recipes-devtools/python/python3/0001-gh-114492-Initialize-struct-termios-before-calling-t.patch new file mode 100644 index 0000000000..8406ef30a2 --- /dev/null +++ b/meta/recipes-devtools/python/python3/0001-gh-114492-Initialize-struct-termios-before-calling-t.patch @@ -0,0 +1,26 @@ +From 439aa02f42d6e6715c172076261757fcb89a936a Mon Sep 17 00:00:00 2001 +From: "Miss Islington (bot)" + <31488909+miss-islington@users.noreply.github.com> +Date: Tue, 23 Jan 2024 23:02:02 +0100 +Subject: [PATCH] gh-114492: Initialize struct termios before calling + tcgetattr() (GH-114495) (GH-114502) + +On Alpine Linux it could leave some field non-initialized. +(cherry picked from commit d22c066b802592932f9eb18434782299e80ca42e) + +Upstream-Status: Backport [https://github.com/python/cpython/commit/386c72d9928c51aa2c855ce592bd8022da3b407f] +Co-authored-by: Serhiy Storchaka <storchaka@gmail.com> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + .../next/Library/2024-01-23-21-20-40.gh-issue-114492.vKxl5o.rst | 2 ++ + 1 file changed, 2 insertions(+) + create mode 100644 Misc/NEWS.d/next/Library/2024-01-23-21-20-40.gh-issue-114492.vKxl5o.rst + +diff --git a/Misc/NEWS.d/next/Library/2024-01-23-21-20-40.gh-issue-114492.vKxl5o.rst b/Misc/NEWS.d/next/Library/2024-01-23-21-20-40.gh-issue-114492.vKxl5o.rst +new file mode 100644 +index 0000000..8df8299 +--- /dev/null ++++ b/Misc/NEWS.d/next/Library/2024-01-23-21-20-40.gh-issue-114492.vKxl5o.rst +@@ -0,0 +1,2 @@ ++Make the result of :func:`termios.tcgetattr` reproducible on Alpine Linux. ++Previously it could leave a random garbage in some fields. diff --git a/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch b/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch index bfddc1ad52..bbeabe4389 100644 --- a/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch +++ b/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch @@ -1,4 +1,4 @@ -From 5f9eea2c4f8716830f6c8855a3e10872119fae32 Mon Sep 17 00:00:00 2001 +From ababc7b1db8c406910766e11cdd04cbef7a706c9 Mon Sep 17 00:00:00 2001 From: Changqing Li <changqing.li@windriver.com> Date: Mon, 22 Oct 2018 15:19:51 +0800 Subject: [PATCH] python3: use cc_basename to replace CC for checking compiler @@ -14,40 +14,39 @@ x86_64-wrs-linux-gcc: error: unrecognized command line option '-fp-model' Here use cc_basename to replace CC for checking compiler to avoid such kind of issue. -Upstream-Status: Pending +Upstream-Status: Submitted [https://github.com/python/cpython/pull/96399] Signed-off-by: Li Zhou <li.zhou@windriver.com> patch originally from Li Zhou, I just rework it to new version Signed-off-by: Changqing Li <changqing.li@windriver.com> - --- configure.ac | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/configure.ac b/configure.ac -index d60f052..e491e24 100644 +index 384718d..5a1d58b 100644 --- a/configure.ac +++ b/configure.ac -@@ -54,6 +54,7 @@ AC_CONFIG_HEADER(pyconfig.h) +@@ -137,6 +137,7 @@ AC_CONFIG_HEADERS([pyconfig.h]) AC_CANONICAL_HOST - AC_SUBST(build) - AC_SUBST(host) + AC_SUBST([build]) + AC_SUBST([host]) +LT_INIT - # pybuilddir.txt will be created by --generate-posix-vars in the Makefile - rm -f pybuilddir.txt -@@ -689,7 +690,7 @@ AC_MSG_RESULT($with_cxx_main) + AS_VAR_IF([cross_compiling], [maybe], + [AC_MSG_ERROR([Cross compiling required --host=HOST-TUPLE and --build=ARCH])] +@@ -896,7 +897,7 @@ AC_SUBST([CXX]) preset_cxx="$CXX" if test -z "$CXX" then - case "$CC" in + case "$cc_basename" in - gcc) AC_PATH_TOOL(CXX, [g++], [g++], [notfound]) ;; - cc) AC_PATH_TOOL(CXX, [c++], [c++], [notfound]) ;; - clang|*/clang) AC_PATH_TOOL(CXX, [clang++], [clang++], [notfound]) ;; -@@ -975,7 +976,7 @@ rmdir CaseSensitiveTestDir + gcc) AC_PATH_TOOL([CXX], [g++], [g++], [notfound]) ;; + cc) AC_PATH_TOOL([CXX], [c++], [c++], [notfound]) ;; + clang|*/clang) AC_PATH_TOOL([CXX], [clang++], [clang++], [notfound]) ;; +@@ -1328,7 +1329,7 @@ rmdir CaseSensitiveTestDir case $ac_sys_system in hp*|HP*) @@ -56,16 +55,16 @@ index d60f052..e491e24 100644 cc|*/cc) CC="$CC -Ae";; esac;; esac -@@ -1366,7 +1367,7 @@ else - fi], - [AC_MSG_RESULT(no)]) +@@ -1854,7 +1855,7 @@ esac + ], + [AC_MSG_RESULT([no])]) if test "$Py_LTO" = 'true' ; then - case $CC in + case $cc_basename in *clang*) - AC_SUBST(LLVM_AR) - AC_PATH_TOOL(LLVM_AR, llvm-ar, '', ${llvm_path}) -@@ -1456,7 +1457,7 @@ then + LDFLAGS_NOLTO="-fno-lto" + dnl Clang linker requires -flto in order to link objects with LTO information. +@@ -1983,7 +1984,7 @@ then fi fi LLVM_PROF_ERR=no @@ -74,7 +73,7 @@ index d60f052..e491e24 100644 *clang*) # Any changes made here should be reflected in the GCC+Darwin case below PGO_PROF_GEN_FLAG="-fprofile-instr-generate" -@@ -1517,7 +1518,7 @@ esac +@@ -2147,7 +2148,7 @@ AC_MSG_RESULT([$BOLT_APPLY_FLAGS]) # compiler and platform. BASECFLAGS tweaks need to be made even if the # user set OPT. @@ -83,25 +82,25 @@ index d60f052..e491e24 100644 *clang*) cc_is_clang=1 ;; -@@ -1653,7 +1654,7 @@ yes) +@@ -2419,7 +2420,7 @@ yes) # ICC doesn't recognize the option, but only emits a warning ## XXX does it emit an unused result warning and can it be disabled? -- case "$CC" in -+ case "$cc_basename" in - *icc*) - ac_cv_disable_unused_result_warning=no - ;; -@@ -1993,7 +1994,7 @@ yes) +- AS_CASE([$CC], ++ AS_CASE([$cc_basename], + [*icc*], [ac_cv_disable_unused_result_warning=no] + [PY_CHECK_CC_WARNING([disable], [unused-result])]) + AS_VAR_IF([ac_cv_disable_unused_result_warning], [yes], +@@ -2665,7 +2666,7 @@ yes) ;; esac -case "$CC" in +case "$cc_basename" in - *icc*) - # ICC needs -fp-model strict or floats behave badly - CFLAGS_NODIST="$CFLAGS_NODIST -fp-model strict" -@@ -2765,7 +2766,7 @@ then + *mpicc*) + CFLAGS_NODIST="$CFLAGS_NODIST" + ;; +@@ -3482,7 +3483,7 @@ then then LINKFORSHARED="-Wl,--export-dynamic" fi;; @@ -110,12 +109,12 @@ index d60f052..e491e24 100644 *gcc*) if $CC -Xlinker --help 2>&1 | grep export-dynamic >/dev/null then -@@ -5507,7 +5508,7 @@ if test "$have_gcc_asm_for_x87" = yes; then +@@ -6803,7 +6804,7 @@ if test "$ac_cv_gcc_asm_for_x87" = yes; then # Some versions of gcc miscompile inline asm: # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46491 # http://gcc.gnu.org/ml/gcc/2010-11/msg00366.html - case $CC in + case $cc_basename in *gcc*) - AC_MSG_CHECKING(for gcc ipa-pure-const bug) + AC_MSG_CHECKING([for gcc ipa-pure-const bug]) saved_cflags="$CFLAGS" diff --git a/meta/recipes-devtools/python/python3/0001-setup.py-pass-missing-libraries-to-Extension-for-mul.patch b/meta/recipes-devtools/python/python3/0001-setup.py-pass-missing-libraries-to-Extension-for-mul.patch deleted file mode 100644 index 374433c68e..0000000000 --- a/meta/recipes-devtools/python/python3/0001-setup.py-pass-missing-libraries-to-Extension-for-mul.patch +++ /dev/null @@ -1,70 +0,0 @@ -From bad7e6a625436402a01d03021fb9ccd58bc9930f Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Thu, 9 Jan 2020 17:44:05 +0100 -Subject: [PATCH] setup.py: pass missing libraries to Extension for - multiprocessing module - -In the following commit: -... -commit e711cafab13efc9c1fe6c5cd75826401445eb585 -Author: Benjamin Peterson <benjamin@python.org> -Date: Wed Jun 11 16:44:04 2008 +0000 - - Merged revisions 64104,64117 via svnmerge from - svn+ssh://pythondev@svn.python.org/python/trunk -... -(see diff in setup.py) -It assigned libraries for multiprocessing module according -the host_platform, but not pass it to Extension. - -In glibc, the following commit caused two definition of -sem_getvalue are different. -https://sourceware.org/git/?p=glibc.git;a=commit;h=042e1521c794a945edc43b5bfa7e69ad70420524 -(see diff in nptl/sem_getvalue.c for detail) -`__new_sem_getvalue' is the latest sem_getvalue@@GLIBC_2.1 -and `__old_sem_getvalue' is to compat the old version -sem_getvalue@GLIBC_2.0. - -To build python for embedded Linux systems: -http://www.yoctoproject.org/docs/2.3.1/yocto-project-qs/yocto-project-qs.html -If not explicitly link to library pthread (-lpthread), it will -load glibc's sem_getvalue randomly at runtime. - -Such as build python on linux x86_64 host and run the python -on linux x86_32 target. If not link library pthread, it caused -multiprocessing bounded semaphore could not work correctly. -... ->>> import multiprocessing ->>> pool_sema = multiprocessing.BoundedSemaphore(value=1) ->>> pool_sema.acquire() -True ->>> pool_sema.release() -Traceback (most recent call last): - File "<stdin>", line 1, in <module> -ValueError: semaphore or lock released too many times -... - -And the semaphore issue also caused multiprocessing.Queue().put() hung. - -Upstream-Status: Pending - -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - ---- - setup.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index d92face..f42bcbb 100644 ---- a/setup.py -+++ b/setup.py -@@ -1836,7 +1836,7 @@ class PyBuildExt(build_ext): - if (sysconfig.get_config_var('HAVE_SEM_OPEN') and not - sysconfig.get_config_var('POSIX_SEMAPHORES_NOT_ENABLED')): - multiprocessing_srcs.append('_multiprocessing/semaphore.c') -- self.add(Extension('_multiprocessing', multiprocessing_srcs, -+ self.add(Extension('_multiprocessing', multiprocessing_srcs, libraries=['pthread'], - include_dirs=["Modules/_multiprocessing"])) - - if (not MS_WINDOWS and diff --git a/meta/recipes-devtools/python/python3/0001-skip-no_stdout_fileno-test-due-to-load-variability.patch b/meta/recipes-devtools/python/python3/0001-skip-no_stdout_fileno-test-due-to-load-variability.patch new file mode 100644 index 0000000000..2d7bca6a77 --- /dev/null +++ b/meta/recipes-devtools/python/python3/0001-skip-no_stdout_fileno-test-due-to-load-variability.patch @@ -0,0 +1,29 @@ +From 217cea231462e7703e8c9ea39c0a6833f799a420 Mon Sep 17 00:00:00 2001 +From: Trevor Gamblin <tgamblin@baylibre.com> +Date: Fri, 15 Sep 2023 08:48:33 -0400 +Subject: [PATCH] skip no_stdout_fileno test due to load variability + +Skip test_input_no_stdout_fileno so that it doesn't fail on systems +under heavy load. + +Upstream-Status: Inappropriate [OE-Specific] + +[YOCTO #15210] + +Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> +--- + Lib/test/test_builtin.py | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py +index 4d03c46..b329b7a 100644 +--- a/Lib/test/test_builtin.py ++++ b/Lib/test/test_builtin.py +@@ -2326,6 +2326,7 @@ class PtyTests(unittest.TestCase): + # Check stdin/stdout error handler is used when invoking PyOS_Readline() + self.check_input_tty("prompté", b"quux\xe9", "ascii") + ++ @unittest.skip("Test may fail under heavy load") + def test_input_no_stdout_fileno(self): + # Issue #24402: If stdin is the original terminal but stdout.fileno() + # fails, do not use the original stdout file descriptor diff --git a/meta/recipes-devtools/python/python3/0001-sysconfig.py-use-platlibdir-also-for-purelib.patch b/meta/recipes-devtools/python/python3/0001-sysconfig.py-use-platlibdir-also-for-purelib.patch index 2b5a7d308c..fc52fdac26 100644 --- a/meta/recipes-devtools/python/python3/0001-sysconfig.py-use-platlibdir-also-for-purelib.patch +++ b/meta/recipes-devtools/python/python3/0001-sysconfig.py-use-platlibdir-also-for-purelib.patch @@ -1,4 +1,4 @@ -From 93346d1a2f5d4f7085391bc7c1230d85ebe00606 Mon Sep 17 00:00:00 2001 +From a5d429a0e1a4809c1ded7be7e45dcabeb82c53d8 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex@linutronix.de> Date: Sun, 12 Sep 2021 21:44:36 +0200 Subject: [PATCH] sysconfig.py: use platlibdir also for purelib @@ -8,15 +8,16 @@ is not correct. Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin <alex@linutronix.de> + --- Lib/sysconfig.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py -index b70d392..c418acd 100644 +index 122d441..79c0510 100644 --- a/Lib/sysconfig.py +++ b/Lib/sysconfig.py -@@ -27,7 +27,7 @@ _INSTALL_SCHEMES = { +@@ -28,7 +28,7 @@ _INSTALL_SCHEMES = { 'posix_prefix': { 'stdlib': '{installed_base}/{platlibdir}/python{py_version_short}', 'platstdlib': '{platbase}/{platlibdir}/python{py_version_short}', @@ -25,6 +26,3 @@ index b70d392..c418acd 100644 'platlib': '{platbase}/{platlibdir}/python{py_version_short}/site-packages', 'include': '{installed_base}/include/python{py_version_short}{abiflags}', --- -2.20.1 - diff --git a/meta/recipes-devtools/python/python3/0001-test_ctypes.test_find-skip-without-tools-sdk.patch b/meta/recipes-devtools/python/python3/0001-test_ctypes.test_find-skip-without-tools-sdk.patch index 7d684b3c43..b4fe946cba 100644 --- a/meta/recipes-devtools/python/python3/0001-test_ctypes.test_find-skip-without-tools-sdk.patch +++ b/meta/recipes-devtools/python/python3/0001-test_ctypes.test_find-skip-without-tools-sdk.patch @@ -1,4 +1,4 @@ -From 7a2bddfa437be633bb6945d0e6b7d6f27da870ad Mon Sep 17 00:00:00 2001 +From b64c131a576a4b4f821514e711ab91b1394fb4ff Mon Sep 17 00:00:00 2001 From: Tim Orling <timothy.t.orling@intel.com> Date: Fri, 18 Jun 2021 11:56:50 -0700 Subject: [PATCH] test_ctypes.test_find: skip without tools-sdk @@ -9,16 +9,17 @@ easiest way to dynamically check for that is looking for Upstream-Status: Inappropriate [oe-specific] -Signed-off-by: Tim Orling <timothy.t.orlign@intel.com> +Signed-off-by: Tim Orling <timothy.t.orling@intel.com> + --- - Lib/ctypes/test/test_find.py | 2 ++ + Lib/test/test_ctypes/test_find.py | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/Lib/ctypes/test/test_find.py b/Lib/ctypes/test/test_find.py -index 92ac184..0d009d1 100644 ---- a/Lib/ctypes/test/test_find.py -+++ b/Lib/ctypes/test/test_find.py -@@ -112,10 +112,12 @@ class FindLibraryLinux(unittest.TestCase): +diff --git a/Lib/test/test_ctypes/test_find.py b/Lib/test/test_ctypes/test_find.py +index 1ff9d01..59def26 100644 +--- a/Lib/test/test_ctypes/test_find.py ++++ b/Lib/test/test_ctypes/test_find.py +@@ -113,10 +113,12 @@ class FindLibraryLinux(unittest.TestCase): # LD_LIBRARY_PATH) self.assertEqual(find_library(libname), 'lib%s.so' % libname) diff --git a/meta/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch b/meta/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch index c3d1e06d00..410a9fc7f1 100644 --- a/meta/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch +++ b/meta/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch @@ -1,4 +1,4 @@ -From b94995e0c694ec9561efec0d1a59b323340e6105 Mon Sep 17 00:00:00 2001 +From ef5728f0af14da5c9f80b0f038fe5bf6d44cb0e9 Mon Sep 17 00:00:00 2001 From: Mingli Yu <mingli.yu@windriver.com> Date: Mon, 5 Aug 2019 15:57:39 +0800 Subject: [PATCH] test_locale.py: correct the test output format @@ -23,19 +23,19 @@ Before this patch: Upstream-Status: Submitted [https://github.com/python/cpython/pull/15132] - Rebased for 3.9.4, still not accepted upstream Signed-off-by: Alejandro Hernandez <alejandro@enedino.org> Signed-off-by: Mingli Yu <mingli.yu@windriver.com> + --- Lib/test/test_locale.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -Index: Python-3.9.4/Lib/test/test_locale.py -=================================================================== ---- Python-3.9.4.orig/Lib/test/test_locale.py -+++ Python-3.9.4/Lib/test/test_locale.py -@@ -562,7 +562,7 @@ class TestMiscellaneous(unittest.TestCas +diff --git a/Lib/test/test_locale.py b/Lib/test/test_locale.py +index b0d7998..cb12153 100644 +--- a/Lib/test/test_locale.py ++++ b/Lib/test/test_locale.py +@@ -557,7 +557,7 @@ class TestMiscellaneous(unittest.TestCase): self.skipTest('test needs Turkish locale') loc = locale.getlocale(locale.LC_CTYPE) if verbose: diff --git a/meta/recipes-devtools/python/python3/0001-test_storlines-skip-due-to-load-variability.patch b/meta/recipes-devtools/python/python3/0001-test_storlines-skip-due-to-load-variability.patch new file mode 100644 index 0000000000..0d0eb08459 --- /dev/null +++ b/meta/recipes-devtools/python/python3/0001-test_storlines-skip-due-to-load-variability.patch @@ -0,0 +1,30 @@ +From dc69a1afdb3ba619705ff71e14f19ed3142e422f Mon Sep 17 00:00:00 2001 +From: Trevor Gamblin <tgamblin@baylibre.com> +Date: Fri, 6 Oct 2023 10:59:44 -0400 +Subject: [PATCH] test_storlines: skip due to load variability + +This is yet another test that intermittently fails on the Yocto AB when +a worker is under heavy load, so skip it during testing. + +Upstream-Status: Inappropriate [OE-Specific] + +[YOCTO #14933] + +Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> + +--- + Lib/test/test_ftplib.py | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Lib/test/test_ftplib.py b/Lib/test/test_ftplib.py +index 2f191ea..dc29346 100644 +--- a/Lib/test/test_ftplib.py ++++ b/Lib/test/test_ftplib.py +@@ -626,6 +626,7 @@ class TestFTPClass(TestCase): + self.client.storbinary('stor', f, rest=r) + self.assertEqual(self.server.handler_instance.rest, str(r)) + ++ @unittest.skip('timing related test, dependent on load') + def test_storlines(self): + data = RETR_DATA.replace('\r\n', '\n').encode(self.client.encoding) + f = io.BytesIO(data) diff --git a/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch b/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch deleted file mode 100644 index 5823273af3..0000000000 --- a/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch +++ /dev/null @@ -1,38 +0,0 @@ -From a2dd127b4163aff6cc35af0d0251321964232ad4 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Mon, 7 Oct 2019 13:22:14 +0200 -Subject: [PATCH] setup.py: do not report missing dependencies for disabled - modules - -Reporting those missing dependencies is misleading as the modules would not -have been built anyway. This particularly matters in oe-core's automated -build completeness checker which relies on the report. - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> -Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org> - ---- - setup.py | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/setup.py b/setup.py -index 7691258..ec3f2a4 100644 ---- a/setup.py -+++ b/setup.py -@@ -408,6 +408,14 @@ class PyBuildExt(build_ext): - print("%-*s %-*s %-*s" % (longest, e, longest, f, - longest, g)) - -+ # There is no need to report missing module dependencies, -+ # if the modules have been disabled in the first place. -+ # cannot use mods_disabled here, because remove_configured_extensions adds -+ # only disabled extensions into it (doesn't cover _dbm, _gdbm, readline -+ # we support disabling through PACKAGECONFIG) -+ sysconf_dis = sysconfig.get_config_var('MODDISABLED_NAMES').split() -+ self.missing = list(set(self.missing) - set(sysconf_dis)) -+ - if self.missing: - print() - print("Python build finished successfully!") diff --git a/meta/recipes-devtools/python/python3/0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch b/meta/recipes-devtools/python/python3/0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch index e04a91605c..0661249bfd 100644 --- a/meta/recipes-devtools/python/python3/0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch +++ b/meta/recipes-devtools/python/python3/0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch @@ -1,8 +1,7 @@ -From 863c09f640a5dfd33ff22915b0d5fee7bc5df70a Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Sun, 16 Feb 2020 17:50:25 +0100 -Subject: [PATCH] configure.ac, setup.py: do not add a curses include path from - the host +From d0205c60d08f51d84bd8ddc07a57e8c71710fdad Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex@linutronix.de> +Date: Fri, 17 Nov 2023 14:16:40 +0100 +Subject: [PATCH] configure.ac: do not add a curses include path from the host This leads to host contamination, and particularly can cause curses modules to fail at runtime if the host curses is configured @@ -13,16 +12,15 @@ Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> --- configure.ac | 6 ------ - setup.py | 2 -- - 2 files changed, 8 deletions(-) + 1 file changed, 6 deletions(-) diff --git a/configure.ac b/configure.ac -index 915f475..c911011 100644 +index c49cd4f..affdedf 100644 --- a/configure.ac +++ b/configure.ac -@@ -4828,12 +4828,6 @@ then - [Define if you have struct stat.st_mtimensec]) - fi +@@ -6508,12 +6508,6 @@ AS_VAR_IF([have_panel], [no], [ + AC_MSG_RESULT([$have_panel (CFLAGS: $PANEL_CFLAGS, LIBS: $PANEL_LIBS)]) + ]) -# first curses header check -ac_save_cppflags="$CPPFLAGS" @@ -30,19 +28,6 @@ index 915f475..c911011 100644 - CPPFLAGS="$CPPFLAGS -I/usr/include/ncursesw" -fi - - AC_CHECK_HEADERS(curses.h ncurses.h) - # On Solaris, term.h requires curses.h -diff --git a/setup.py b/setup.py -index b0f1541..7208cd0 100644 ---- a/setup.py -+++ b/setup.py -@@ -973,8 +973,6 @@ class PyBuildExt(build_ext): - panel_library = 'panel' - if curses_library == 'ncursesw': - curses_defines.append(('HAVE_NCURSESW', '1')) -- if not CROSS_COMPILING: -- curses_includes.append('/usr/include/ncursesw') - # Bug 1464056: If _curses.so links with ncursesw, - # _curses_panel.so must link with panelw. - panel_library = 'panelw' + AC_CHECK_HEADERS([term.h], [], [], [ + #ifdef HAVE_CURSES_H diff --git a/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch b/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch deleted file mode 100644 index cc64e3ecf7..0000000000 --- a/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch +++ /dev/null @@ -1,60 +0,0 @@ -From f6411021856bafedd784748ec33494151e783b51 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 14 May 2013 15:00:26 -0700 -Subject: [PATCH] python3: Add target and native recipes - -Upstream-Status: Inappropriate [embedded specific] - -02/2015 Rebased for Python 3.4.2 - -The proper prefix is inside our staging area. -Signed-Off: Michael 'Mickey' Lauer <mickey@vanille-media.de> -Signed-off-by: Phil Blundell <philb@gnu.org> -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> ---- - Lib/distutils/sysconfig.py | 14 +++++++++++--- - 1 file changed, 11 insertions(+), 3 deletions(-) - -diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py -index 3414a76..361d3a1 100644 ---- a/Lib/distutils/sysconfig.py -+++ b/Lib/distutils/sysconfig.py -@@ -277,7 +277,9 @@ def get_python_inc(plat_specific=0, prefix=None): - If 'prefix' is supplied, use it instead of sys.base_prefix or - sys.base_exec_prefix -- i.e., ignore 'plat_specific'. - """ -- if prefix is None: -+ if prefix is None and os.environ.get('STAGING_INCDIR', ""): -+ prefix = os.environ['STAGING_INCDIR'].rstrip('include') -+ elif prefix is None: - prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX - if os.name == "posix": - if python_build: -@@ -320,7 +322,13 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None): - If 'prefix' is supplied, use it instead of sys.base_prefix or - sys.base_exec_prefix -- i.e., ignore 'plat_specific'. - """ -- 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: -@@ -334,7 +342,7 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None): - else: - # Pure Python - libdir = "lib" -- libpython = os.path.join(prefix, libdir, -+ libpython = os.path.join(prefix, lib_basename, - "python" + get_python_version()) - if standard_lib: - return libpython --- -2.20.1 - diff --git a/meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch b/meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch deleted file mode 100644 index 184540e794..0000000000 --- a/meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch +++ /dev/null @@ -1,31 +0,0 @@ -From ba7202700578d435b07cfdfb7b57e83185752800 Mon Sep 17 00:00:00 2001 -From: Andrei Gherzan <andrei@gherzan.ro> -Date: Mon, 28 Jan 2019 15:57:54 +0000 -Subject: [PATCH] _tkinter module needs tk module along with tcl. tk is not yet - integrated in yocto so we skip the check for this module. Avoid a warning by - not adding this module to missing variable. - -Upstream-Status: Inappropriate [distribution] - -Also simply disable the tk module since its not in DEPENDS. -Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> - ---- - setup.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/setup.py b/setup.py -index ab18ff0..7691258 100644 ---- a/setup.py -+++ b/setup.py -@@ -1706,8 +1706,8 @@ class PyBuildExt(build_ext): - self.detect_decimal() - self.detect_ctypes() - self.detect_multiprocessing() -- if not self.detect_tkinter(): -- self.missing.append('_tkinter') -+# if not self.detect_tkinter(): -+# self.missing.append('_tkinter') - self.detect_uuid() - - ## # Uncomment these lines if you want to play with xxmodule.c diff --git a/meta/recipes-devtools/python/python3/cgi_py.patch b/meta/recipes-devtools/python/python3/cgi_py.patch index 6c4ba54320..8262c88e73 100644 --- a/meta/recipes-devtools/python/python3/cgi_py.patch +++ b/meta/recipes-devtools/python/python3/cgi_py.patch @@ -1,4 +1,4 @@ -From 62336285cba38017b35cb761c03f0c7e80a671a3 Mon Sep 17 00:00:00 2001 +From a56778372fe8dc7c42f5ffd911d89498c22dd064 Mon Sep 17 00:00:00 2001 From: Mark Hatle <mark.hatle@windriver.com> Date: Wed, 21 Sep 2011 20:55:33 -0500 Subject: [PATCH] Lib/cgi.py: Update the script as mentioned in the comment @@ -12,7 +12,7 @@ Signed-off-by: Mark Hatle <mark.hatle@windriver.com> 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/Lib/cgi.py b/Lib/cgi.py -index 8cf6687..094c7b4 100755 +index 8787567..ebe8652 100755 --- a/Lib/cgi.py +++ b/Lib/cgi.py @@ -1,13 +1,4 @@ diff --git a/meta/recipes-devtools/python/python3/crosspythonpath.patch b/meta/recipes-devtools/python/python3/crosspythonpath.patch index d789ab57d4..2c4aef0511 100644 --- a/meta/recipes-devtools/python/python3/crosspythonpath.patch +++ b/meta/recipes-devtools/python/python3/crosspythonpath.patch @@ -1,4 +1,8 @@ -configure.ac: add CROSSPYTHONPATH into PYTHONPATH for PYTHON_FOR_BUILD +From 5b66463c10fec1440e977d5a21a0167862d6d79c Mon Sep 17 00:00:00 2001 +From: Ricardo Ribalda <ricardo@ribalda.com> +Date: Tue, 18 Nov 2014 03:35:33 -0500 +Subject: [PATCH] configure.ac: add CROSSPYTHONPATH into PYTHONPATH for + PYTHON_FOR_BUILD When building x86->x86 the system will try to execute .so and related items from the default PYTHONPATH. This will fail if the target CPU contains @@ -10,16 +14,21 @@ Upstream-Status: Inappropriate [OE-Core integration specific] Credits-to: Mark Hatle <mark.hatle@windriver.com> Credits-to: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Ricardo Ribalda <ricardo@ribalda.com> + +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + diff --git a/configure.ac b/configure.ac -index 4ab19a6..7036a53 100644 +index cb9e198..d81c19a 100644 --- a/configure.ac +++ b/configure.ac -@@ -76,7 +76,7 @@ if test "$cross_compiling" = yes; then - AC_MSG_ERROR([python$PACKAGE_VERSION interpreter not found]) - fi - AC_MSG_RESULT($interp) -- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$interp -+ PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(CROSSPYTHONPATH):$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$interp - fi - elif test "$cross_compiling" = maybe; then - AC_MSG_ERROR([Cross compiling required --host=HOST-TUPLE and --build=ARCH]) +@@ -165,7 +165,7 @@ AC_ARG_WITH([build-python], + dnl Build Python interpreter is used for regeneration and freezing. + ac_cv_prog_PYTHON_FOR_REGEN=$with_build_python + PYTHON_FOR_FREEZE="$with_build_python" +- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$with_build_python ++ PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(CROSSPYTHONPATH):$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$with_build_python + AC_MSG_RESULT([$with_build_python]) + ], [ + AS_VAR_IF([cross_compiling], [yes], diff --git a/meta/recipes-devtools/python/python3/deterministic_imports.patch b/meta/recipes-devtools/python/python3/deterministic_imports.patch new file mode 100644 index 0000000000..104df94964 --- /dev/null +++ b/meta/recipes-devtools/python/python3/deterministic_imports.patch @@ -0,0 +1,40 @@ +From 039d5e652796b55f1132afa568c7432b6ed89afd Mon Sep 17 00:00:00 2001 +From: Richard Purdie <richard.purdie@linuxfoundation.org> +Date: Fri, 27 May 2022 17:05:44 +0100 +Subject: [PATCH] python3: Ensure stale empty python module directories don't + +There are two issues here. Firstly, the modules are accessed in on disk order. This +means behaviour seen on one system might not reproduce on another and is a real headache. + +Secondly, empty directories left behind by previous modules might be looked at. This +has caused a long string of different issues for us. + +As a result, patch this to a behaviour which works for us. + +Upstream-Status: Pending [need to talk to upstream to see if they'll take one or both fixes] +Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> + +--- + Lib/importlib/metadata/__init__.py | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/Lib/importlib/metadata/__init__.py b/Lib/importlib/metadata/__init__.py +index 82e0ce1..969cac4 100644 +--- a/Lib/importlib/metadata/__init__.py ++++ b/Lib/importlib/metadata/__init__.py +@@ -710,7 +710,14 @@ class Lookup: + self.infos = FreezableDefaultDict(list) + self.eggs = FreezableDefaultDict(list) + +- for child in path.children(): ++ for child in sorted(path.children()): ++ childpath = pathlib.Path(path.root, child) ++ try: ++ if childpath.is_dir() and not any(childpath.iterdir()): ++ # Empty directories aren't interesting ++ continue ++ except PermissionError: ++ continue + low = child.lower() + if low.endswith((".dist-info", ".egg-info")): + # rpartition is faster than splitext and suitable for this purpose. diff --git a/meta/recipes-devtools/python/python3/get_module_deps3.py b/meta/recipes-devtools/python/python3/get_module_deps3.py index 1f4c982aed..8e432b49af 100644 --- a/meta/recipes-devtools/python/python3/get_module_deps3.py +++ b/meta/recipes-devtools/python/python3/get_module_deps3.py @@ -32,7 +32,7 @@ def fix_path(dep_path): dep_path = dep_path[dep_path.find(pivot)+len(pivot):] if '/usr/bin' in dep_path: - dep_path = dep_path.replace('/usr/bin''${bindir}') + dep_path = dep_path.replace('/usr/bin','${bindir}') # Handle multilib, is there a better way? if '/usr/lib32' in dep_path: @@ -56,7 +56,7 @@ if debug == True: try: m = importlib.import_module(current_module) # handle python packages which may not include all modules in the __init__ - if os.path.basename(m.__file__) == "__init__.py": + if hasattr(m, '__file__') and os.path.basename(m.__file__) == "__init__.py": modulepath = os.path.dirname(m.__file__) for i in os.listdir(modulepath): if i.startswith("_") or not(i.endswith(".py")): diff --git a/meta/recipes-devtools/python/python3/makerace.patch b/meta/recipes-devtools/python/python3/makerace.patch index b150c1cb38..c1b20703e6 100644 --- a/meta/recipes-devtools/python/python3/makerace.patch +++ b/meta/recipes-devtools/python/python3/makerace.patch @@ -1,4 +1,4 @@ -From 8b8583fb4f2bb3421e31ef06d17c04deec431c7e Mon Sep 17 00:00:00 2001 +From 9f827c29adbe656af3c8fc963fdd8f47aec0c442 Mon Sep 17 00:00:00 2001 From: Richard Purdie <richard.purdie@linuxfoundation.org> Date: Tue, 13 Jul 2021 23:19:29 +0100 Subject: [PATCH] python3: Fix make race @@ -12,21 +12,20 @@ Add a dependency to avoid the race. Upstream-Status: Pending Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> - --- Makefile.pre.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.pre.in b/Makefile.pre.in -index 69d47a2..c471b60 100644 +index 381feb0..77bf09a 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1528,7 +1528,7 @@ TESTSUBDIRS= ctypes/test \ - unittest/test unittest/test/testmock - +@@ -2250,7 +2250,7 @@ COMPILEALL_OPTS=-j0 TEST_MODULES=@TEST_MODULES@ --libinstall: build_all $(srcdir)/Modules/xxmodule.c -+libinstall: build_all $(srcdir)/Modules/xxmodule.c libainstall + + .PHONY: libinstall +-libinstall: all $(srcdir)/Modules/xxmodule.c ++libinstall: all $(srcdir)/Modules/xxmodule.c libainstall @for i in $(SCRIPTDIR) $(LIBDEST); \ do \ if test ! -d $(DESTDIR)$$i; then \ diff --git a/meta/recipes-devtools/python/python3/python-config.patch b/meta/recipes-devtools/python/python3/python-config.patch deleted file mode 100644 index d0ddbbc7fd..0000000000 --- a/meta/recipes-devtools/python/python3/python-config.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 57d073c12e7bede29919117b0141df14015eb27f Mon Sep 17 00:00:00 2001 -From: Tyler Hall <tylerwhall@gmail.com> -Date: Sun, 4 May 2014 20:06:43 -0400 -Subject: [PATCH] python-config: Revert to using distutils.sysconfig - -The newer sysconfig module shares some code with distutils.sysconfig, but the same modifications as in - -12-distutils-prefix-is-inside-staging-area.patch makes distutils.sysconfig - -affect the native runtime as well as cross building. Use the old, patched -implementation which returns paths in the staging directory and for the target, -as appropriate. - -Upstream-Status: Inappropriate [Embedded Specific] - -Signed-off-by: Tyler Hall <tylerwhall@gmail.com> -: - ---- - Misc/python-config.in | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/Misc/python-config.in b/Misc/python-config.in -index ebd99da..13e57ae 100644 ---- a/Misc/python-config.in -+++ b/Misc/python-config.in -@@ -6,7 +6,7 @@ - import getopt - import os - import sys --import sysconfig -+from distutils import sysconfig - - valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags', - 'ldflags', 'extension-suffix', 'help', 'abiflags', 'configdir', -@@ -35,14 +35,14 @@ if '--help' in opt_flags: - - for opt in opt_flags: - if opt == '--prefix': -- print(getvar('prefix')) -+ print(sysconfig.PREFIX) - - elif opt == '--exec-prefix': -- print(getvar('exec_prefix')) -+ print(sysconfig.EXEC_PREFIX) - - elif opt in ('--includes', '--cflags'): -- flags = ['-I' + sysconfig.get_path('include'), -- '-I' + sysconfig.get_path('platinclude')] -+ flags = ['-I' + sysconfig.get_python_inc(), -+ '-I' + sysconfig.get_python_inc(plat_specific=True)] - if opt == '--cflags': - flags.extend(getvar('CFLAGS').split()) - print(' '.join(flags)) diff --git a/meta/recipes-devtools/python/python3/python3-manifest.json b/meta/recipes-devtools/python/python3/python3-manifest.json index d65cf49cb8..46092d4004 100644 --- a/meta/recipes-devtools/python/python3/python3-manifest.json +++ b/meta/recipes-devtools/python/python3/python3-manifest.json @@ -152,6 +152,23 @@ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/wave.*.pyc" ] }, + "cgitb": { + "summary": "Special exception handler for Python scripts", + "rdepends": [ + "core", + "crypt", + "html", + "io", + "math", + "pydoc" + ], + "files": [ + "${libdir}/python${PYTHON_MAJMIN}/cgitb.py" + ], + "cached": [ + "${libdir}/python${PYTHON_MAJMIN}/__pycache__/cgitb.*.pyc" + ] + }, "codecs": { "summary": "Python codec", "rdepends": [ @@ -189,12 +206,12 @@ "files": [ "${libdir}/python${PYTHON_MAJMIN}/gzip.py", "${libdir}/python${PYTHON_MAJMIN}/tarfile.py", - "${libdir}/python${PYTHON_MAJMIN}/zipfile.py" + "${libdir}/python${PYTHON_MAJMIN}/zipfile", + "${libdir}/python${PYTHON_MAJMIN}/zipfile/_path" ], "cached": [ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/gzip.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/tarfile.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/zipfile.*.pyc" + "${libdir}/python${PYTHON_MAJMIN}/__pycache__/tarfile.*.pyc" ] }, "core": { @@ -232,6 +249,7 @@ "${libdir}/python${PYTHON_MAJMIN}/copy.py", "${libdir}/python${PYTHON_MAJMIN}/copyreg.py", "${libdir}/python${PYTHON_MAJMIN}/csv.py", + "${libdir}/python${PYTHON_MAJMIN}/dataclasses.py", "${libdir}/python${PYTHON_MAJMIN}/dis.py", "${libdir}/python${PYTHON_MAJMIN}/encodings", "${libdir}/python${PYTHON_MAJMIN}/encodings/aliases.py", @@ -246,6 +264,7 @@ "${libdir}/python${PYTHON_MAJMIN}/heapq.py", "${libdir}/python${PYTHON_MAJMIN}/imp.py", "${libdir}/python${PYTHON_MAJMIN}/importlib", + "${libdir}/python${PYTHON_MAJMIN}/importlib/_abc.py", "${libdir}/python${PYTHON_MAJMIN}/importlib/_bootstrap.py", "${libdir}/python${PYTHON_MAJMIN}/importlib/_bootstrap_external.py", "${libdir}/python${PYTHON_MAJMIN}/importlib/abc.py", @@ -253,6 +272,7 @@ "${libdir}/python${PYTHON_MAJMIN}/importlib/util.py", "${libdir}/python${PYTHON_MAJMIN}/inspect.py", "${libdir}/python${PYTHON_MAJMIN}/io.py", + "${libdir}/python${PYTHON_MAJMIN}/ipaddress.py", "${libdir}/python${PYTHON_MAJMIN}/keyword.py", "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/_struct.*.so", "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/binascii.*.so", @@ -266,6 +286,7 @@ "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_opcode.*.so", "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_posixsubprocess.*.so", "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_struct.*.so", + "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_typing.*.so", "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/array.*.so", "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/binascii.*.so", "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/grp.*.so", @@ -290,7 +311,11 @@ "${libdir}/python${PYTHON_MAJMIN}/pkgutil.py", "${libdir}/python${PYTHON_MAJMIN}/platform.py", "${libdir}/python${PYTHON_MAJMIN}/posixpath.py", - "${libdir}/python${PYTHON_MAJMIN}/re.py", + "${libdir}/python${PYTHON_MAJMIN}/re", + "${libdir}/python${PYTHON_MAJMIN}/re/_casefix.py", + "${libdir}/python${PYTHON_MAJMIN}/re/_compiler.py", + "${libdir}/python${PYTHON_MAJMIN}/re/_constants.py", + "${libdir}/python${PYTHON_MAJMIN}/re/_parser.py", "${libdir}/python${PYTHON_MAJMIN}/reprlib.py", "${libdir}/python${PYTHON_MAJMIN}/rlcompleter.py", "${libdir}/python${PYTHON_MAJMIN}/runpy.py", @@ -319,6 +344,7 @@ "${libdir}/python${PYTHON_MAJMIN}/urllib/parse.py", "${libdir}/python${PYTHON_MAJMIN}/warnings.py", "${libdir}/python${PYTHON_MAJMIN}/weakref.py", + "${libdir}/python${PYTHON_MAJMIN}/zipimport.py", "${prefix}/lib/python${PYTHON_MAJMIN}/config*/*[!.a]" ], "cached": [ @@ -343,6 +369,7 @@ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/copy.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/copyreg.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/csv.*.pyc", + "${libdir}/python${PYTHON_MAJMIN}/__pycache__/dataclasses.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/dis.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/enum.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/fnmatch.*.pyc", @@ -354,6 +381,7 @@ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/imp.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/inspect.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/io.*.pyc", + "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ipaddress.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/keyword.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/linecache.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/locale.*.pyc", @@ -400,9 +428,15 @@ "${libdir}/python${PYTHON_MAJMIN}/encodings/__pycache__/latin_1.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/encodings/__pycache__/utf_8.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/importlib/__pycache__", + "${libdir}/python${PYTHON_MAJMIN}/importlib/__pycache__/_abc.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/importlib/__pycache__/abc.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/importlib/__pycache__/machinery.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/importlib/__pycache__/util.*.pyc", + "${libdir}/python${PYTHON_MAJMIN}/re/__pycache__", + "${libdir}/python${PYTHON_MAJMIN}/re/__pycache__/_casefix.*.pyc", + "${libdir}/python${PYTHON_MAJMIN}/re/__pycache__/_compiler.*.pyc", + "${libdir}/python${PYTHON_MAJMIN}/re/__pycache__/_constants.*.pyc", + "${libdir}/python${PYTHON_MAJMIN}/re/__pycache__/_parser.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/urllib/__pycache__", "${libdir}/python${PYTHON_MAJMIN}/urllib/__pycache__/parse.*.pyc" ] @@ -422,9 +456,8 @@ "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_hashlib.*.so", "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_md5.*.so", "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha1.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha256.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha3.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha512.*.so" + "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha2.*.so", + "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha3.*.so" ], "cached": [ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/crypt.*.pyc", @@ -519,8 +552,7 @@ "${libdir}/pkgconfig" ], "rdepends": [ - "core", - "distutils" + "core" ], "summary": "Python development package" }, @@ -536,27 +568,6 @@ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/difflib.*.pyc" ] }, - "distutils-windows": { - "summary": "Python distribution utilities (Windows installer stubs)", - "rdepends": [ - "core" - ], - "files": [], - "cached": [] - }, - "distutils": { - "summary": "Python Distribution Utilities", - "rdepends": [ - "compression", - "core", - "email", - "stringold" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/distutils" - ], - "cached": [] - }, "doctest": { "summary": "Python framework for running examples in docstrings", "rdepends": [ @@ -595,6 +606,16 @@ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/imaplib.*.pyc" ] }, + "ensurepip": { + "summary": "Support for bootstrapping the pip installer", + "rdepends": [ + "core" + ], + "files": [ + "${libdir}/python${PYTHON_MAJMIN}/ensurepip/" + ], + "cached": [] + }, "fcntl": { "summary": "Python's fcntl interface", "rdepends": [ @@ -621,12 +642,9 @@ "core" ], "files": [ - "${libdir}/python${PYTHON_MAJMIN}/formatter.py", "${libdir}/python${PYTHON_MAJMIN}/html" ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/formatter.*.pyc" - ] + "cached": [] }, "idle": { "summary": "Python Integrated Development Environment", @@ -664,7 +682,6 @@ ], "files": [ "${libdir}/python${PYTHON_MAJMIN}/_pyio.py", - "${libdir}/python${PYTHON_MAJMIN}/ipaddress.py", "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_socket.*.so", "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_ssl.*.so", "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/termios.*.so", @@ -675,7 +692,6 @@ ], "cached": [ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_pyio.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ipaddress.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pipes.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/socket.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ssl.*.pyc", @@ -715,7 +731,6 @@ "crypt", "datetime", "email", - "fcntl", "io", "math", "mime", @@ -786,9 +801,9 @@ "db", "debugger", "difflib", - "distutils", "doctest", "email", + "ensurepip", "fcntl", "html", "idle", @@ -812,22 +827,20 @@ "pydoc", "resource", "shell", - "smtpd", "sqlite3", - "statistics", + "statistics", "stringold", "syslog", "terminal", "threading", "tkinter", + "tomllib", "unittest", "unixadmin", "venv", "xml", - "xmlrpc" - ], - "rrecommends": [ - "distutils-windows" + "xmlrpc", + "zoneinfo" ], "summary": "All Python modules" }, @@ -876,6 +889,7 @@ "${libdir}/python${PYTHON_MAJMIN}/secrets.py", "${libdir}/python${PYTHON_MAJMIN}/smtplib.py", "${libdir}/python${PYTHON_MAJMIN}/telnetlib.py", + "${libdir}/python${PYTHON_MAJMIN}/urllib", "${libdir}/python${PYTHON_MAJMIN}/uuid.py" ], "cached": [ @@ -996,14 +1010,12 @@ ], "files": [ "${libdir}/python${PYTHON_MAJMIN}/cProfile.py", - "${libdir}/python${PYTHON_MAJMIN}/dataclasses.py", "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_lsprof.*.so", "${libdir}/python${PYTHON_MAJMIN}/profile.py", "${libdir}/python${PYTHON_MAJMIN}/pstats.py" ], "cached": [ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/cProfile.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/dataclasses.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/profile.*.pyc", "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pstats.*.pyc" ] @@ -1049,31 +1061,6 @@ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/shlex.*.pyc" ] }, - "smtpd": { - "summary": "Python Simple Mail Transport Daemon", - "rdepends": [ - "core", - "crypt", - "datetime", - "email", - "io", - "math", - "mime", - "netclient", - "stringold" - ], - "files": [ - "${bindir}/smtpd.py", - "${libdir}/python${PYTHON_MAJMIN}/asynchat.py", - "${libdir}/python${PYTHON_MAJMIN}/asyncore.py", - "${libdir}/python${PYTHON_MAJMIN}/smtpd.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/asynchat.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/asyncore.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/smtpd.*.pyc" - ] - }, "sqlite3": { "summary": "Python Sqlite3 database support", "rdepends": [ @@ -1087,18 +1074,20 @@ "cached": [] }, "statistics": { - "summary": "Basic statistics module", - "rdepends": [ - "core", - "math", - "numbers" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/statistics.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/statistics.*.pyc" - ] + "summary": "Basic statistics module", + "rdepends": [ + "core", + "crypt", + "math", + "numbers" + ], + "files": [ + "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_statistics.*.so", + "${libdir}/python${PYTHON_MAJMIN}/statistics.py" + ], + "cached": [ + "${libdir}/python${PYTHON_MAJMIN}/__pycache__/statistics.*.pyc" + ] }, "stringold": { "summary": "Python string APIs [deprecated]", @@ -1158,11 +1147,33 @@ "core" ], "files": [ - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_tkinter.*.so", + "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_tkinter.*.so", "${libdir}/python${PYTHON_MAJMIN}/tkinter" ], "cached": [] }, + "tomllib": { + "summary": "Provides an interface for parsing TOML", + "rdepends": [ + "core" + ], + "files": [ + "${libdir}/python${PYTHON_MAJMIN}/tomllib/" + ], + "cached": [] + }, + "turtle": { + "summary": "Turtle graphics is a popular way for introducing programming to kids.", + "rdepends": [ + "tkinter" + ], + "files": [ + "${libdir}/python${PYTHON_MAJMIN}/turtle.py" + ], + "cached": [ + "${libdir}/python${PYTHON_MAJMIN}/__pycache__/turtle.*.pyc" + ] + }, "unittest": { "summary": "Python unit testing framework", "rdepends": [ @@ -1230,7 +1241,6 @@ "crypt", "datetime", "email", - "fcntl", "html", "io", "math", @@ -1247,5 +1257,30 @@ "${libdir}/python${PYTHON_MAJMIN}/xmlrpc/__pycache__" ], "cached": [] + }, + "zipapp": { + "summary": "Tools to manage the creation of zip files containing Python code", + "rdepends": [ + "compression", + "core" + ], + "files": [ + "${libdir}/python${PYTHON_MAJMIN}/zipapp.py" + ], + "cached": [ + "${libdir}/python${PYTHON_MAJMIN}/__pycache__/zipapp.*.pyc" + ] + }, + "zoneinfo": { + "summary": "IANA time zone support", + "rdepends": [ + "core", + "datetime" + ], + "files": [ + "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_zoneinfo.*.so", + "${libdir}/python${PYTHON_MAJMIN}/zoneinfo" + ], + "cached": [] } } diff --git a/meta/recipes-devtools/python/python3/run-ptest b/meta/recipes-devtools/python/python3/run-ptest index 405b07f495..d1c26c11e2 100644 --- a/meta/recipes-devtools/python/python3/run-ptest +++ b/meta/recipes-devtools/python/python3/run-ptest @@ -1,3 +1,3 @@ #!/bin/sh - -python3 -m test -v | sed -u -e '/\.\.\. ok/ s/^/PASS: /g' -r -e '/\.\.\. (ERROR|FAIL)/ s/^/FAIL: /g' -e '/\.\.\. skipped/ s/^/SKIP: /g' -e 's/ \.\.\. ok//g' -e 's/ \.\.\. ERROR//g' -e 's/ \.\.\. FAIL//g' -e 's/ \.\.\. skipped//g' +SKIPPED_TESTS= +{ SETUPTOOLS_USE_DISTUTILS=nonlocal python3 -m test $SKIPPED_TESTS -v -j 4 || echo "FAIL: python3" ; } | sed -u -e '/\.\.\. ok/ s/^/PASS: /g' -r -e '/\.\.\. (ERROR|FAIL)/ s/^/FAIL: /g' -e '/\.\.\. skipped/ s/^/SKIP: /g' -e 's/ \.\.\. ok//g' -e 's/ \.\.\. ERROR//g' -e 's/ \.\.\. FAIL//g' -e 's/ \.\.\. skipped//g' diff --git a/meta/recipes-devtools/python/python3_3.10.0.bb b/meta/recipes-devtools/python/python3_3.12.3.bb index e3300b6495..b49a58a101 100644 --- a/meta/recipes-devtools/python/python3_3.10.0.bb +++ b/meta/recipes-devtools/python/python3_3.12.3.bb @@ -1,10 +1,10 @@ SUMMARY = "The Python Programming Language" HOMEPAGE = "http://www.python.org" DESCRIPTION = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." -LICENSE = "PSFv2" +LICENSE = "PSF-2.0" SECTION = "devel/python" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3dd7bed622743ef9b77169b3736f7990" +LIC_FILES_CHKSUM = "file://LICENSE;md5=fcf6b249c2641540219a727f35d8d2c2" SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ file://run-ptest \ @@ -14,50 +14,44 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ file://check_build_completeness.py \ file://reformat_sysconfig.py \ file://cgi_py.patch \ - file://0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch \ - ${@bb.utils.contains('PACKAGECONFIG', 'tk', '', 'file://avoid_warning_about_tkinter.patch', d)} \ - file://0001-Do-not-use-the-shell-version-of-python-config-that-w.patch \ - file://python-config.patch \ file://0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch \ file://0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch \ - file://0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch \ file://crosspythonpath.patch \ - file://0001-Use-FLAG_REF-always-for-interned-strings.patch \ file://0001-test_locale.py-correct-the-test-output-format.patch \ - file://0017-setup.py-do-not-report-missing-dependencies-for-disa.patch \ - file://0001-setup.py-pass-missing-libraries-to-Extension-for-mul.patch \ - file://0001-Makefile-do-not-compile-.pyc-in-parallel.patch \ file://0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch \ file://0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch \ file://0001-test_ctypes.test_find-skip-without-tools-sdk.patch \ file://makerace.patch \ file://0001-sysconfig.py-use-platlibdir-also-for-purelib.patch \ file://0001-Lib-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch \ + file://deterministic_imports.patch \ + file://0001-Avoid-shebang-overflow-on-python-config.py.patch \ + file://0001-Update-test_sysconfig-for-posix_user-purelib.patch \ + file://0001-skip-no_stdout_fileno-test-due-to-load-variability.patch \ + file://0001-test_storlines-skip-due-to-load-variability.patch \ + file://0001-gh-114492-Initialize-struct-termios-before-calling-t.patch \ " SRC_URI:append:class-native = " \ file://0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch \ - file://0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch \ - file://12-distutils-prefix-is-inside-staging-area.patch \ - file://0001-Don-t-search-system-for-headers-libraries.patch \ " -SRC_URI[sha256sum] = "5a99f8e7a6a11a7b98b4e75e0d1303d3832cada5534068f69c7b6222a7b1b002" + +SRC_URI[sha256sum] = "56bfef1fdfc1221ce6720e43a661e3eb41785dd914ce99698d8c7896af4bdaa1" # exclude pre-releases for both python 2.x and 3.x UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar" -UPSTREAM_CHECK_URI = "https://www.python.org/downloads/source/" - -CVE_PRODUCT = "python" -# Upstream consider this expected behaviour -CVE_CHECK_WHITELIST += "CVE-2007-4559" -# This is not exploitable when glibc has CVE-2016-10739 fixed. -CVE_CHECK_WHITELIST += "CVE-2019-18348" +CVE_PRODUCT = "python cpython" -# This is windows only issue. -CVE_CHECK_WHITELIST += "CVE-2020-15523" +CVE_STATUS[CVE-2007-4559] = "disputed: Upstream consider this expected behaviour" +CVE_STATUS[CVE-2019-18348] = "not-applicable-config: This is not exploitable when glibc has CVE-2016-10739 fixed" +CVE_STATUS[CVE-2020-15523] = "not-applicable-platform: Issue only applies on Windows" +CVE_STATUS[CVE-2022-26488] = "not-applicable-platform: Issue only applies on Windows" +# The module will be removed in the future and flaws documented. +CVE_STATUS[CVE-2015-20107] = "upstream-wontfix: The mailcap module is insecure by design, so this can't be fixed in a meaningful way" +CVE_STATUS[CVE-2023-36632] = "disputed: Not an issue, in fact expected behaviour" -PYTHON_MAJMIN = "3.10" +PYTHON_MAJMIN = "3.12" S = "${WORKDIR}/Python-${PV}" @@ -72,15 +66,14 @@ ALTERNATIVE_LINK_NAME[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config ALTERNATIVE_TARGET[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}" -DEPENDS = "bzip2-replacement-native libffi bzip2 openssl sqlite3 zlib virtual/libintl xz virtual/crypt util-linux libtirpc libnsl2 autoconf-archive-native" +DEPENDS = "bzip2-replacement-native expat libffi bzip2 openssl sqlite3 zlib virtual/libintl xz virtual/crypt util-linux-libuuid libtirpc libnsl2 autoconf-archive-native ncurses" DEPENDS:append:class-target = " python3-native" DEPENDS:append:class-nativesdk = " python3-native" -# force to use the mutex+cond implementation (https://bugs.python.org/issue41710) -CFLAGS += "-DHAVE_BROKEN_POSIX_SEMAPHORES" - -EXTRA_OECONF = " --without-ensurepip --enable-shared --with-platlibdir=${baselib}" +EXTRA_OECONF = " --without-ensurepip --enable-shared --with-platlibdir=${baselib} --with-system-expat" EXTRA_OECONF:append:class-native = " --bindir=${bindir}/${PN}" +EXTRA_OECONF:append:class-target = " --with-build-python=nativepython3" +EXTRA_OECONF:append:class-nativesdk = " --with-build-python=nativepython3" export CROSSPYTHONPATH="${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/" @@ -94,47 +87,75 @@ CACHED_CONFIGUREVARS = " \ ac_cv_file__dev_ptc=no \ ac_cv_working_tzset=yes \ " +# set thread stack size to 2MB on musl for interpreter and stdlib C extensions +# so it does not run into stack limits due to musl's small thread stack +# This is only needed to build interpreter and not the subsequent modules +# Thats why CFLAGS_NODIST is modified instead of CFLAGS +CACHED_CONFIGUREVARS:append:libc-musl = "\ + CFLAGS_NODIST='${CFLAGS} -DTHREAD_STACK_SIZE=0x200000' \ +" # PGO currently causes builds to not be reproducible so disable by default, see YOCTO #13407 -PACKAGECONFIG:class-target ??= "readline gdbm ${@bb.utils.filter('DISTRO_FEATURES', 'lto', d)}" -PACKAGECONFIG:class-native ??= "readline gdbm" -PACKAGECONFIG:class-nativesdk ??= "readline gdbm" -PACKAGECONFIG[readline] = ",,readline" +PACKAGECONFIG ??= "editline gdbm ${@bb.utils.filter('DISTRO_FEATURES', 'lto', d)}" +PACKAGECONFIG[readline] = "--with-readline=readline,,readline,,,editline" +PACKAGECONFIG[editline] = "--with-readline=editline,,libedit,,,readline" # Use profile guided optimisation by running PyBench inside qemu-user PACKAGECONFIG[pgo] = "--enable-optimizations,,qemu-native" PACKAGECONFIG[tk] = ",,tk" +PACKAGECONFIG[tcl] = ",,tcl" PACKAGECONFIG[gdbm] = ",,gdbm" -PACKAGECONFIG[lto] = "--with-lto,," +PACKAGECONFIG[lto] = "--with-lto,--without-lto" do_configure:prepend () { mkdir -p ${B}/Modules cat > ${B}/Modules/Setup.local << EOF *disabled* ${@bb.utils.contains('PACKAGECONFIG', 'gdbm', '', '_gdbm _dbm', d)} -${@bb.utils.contains('PACKAGECONFIG', 'readline', '', 'readline', d)} +${@bb.utils.contains_any('PACKAGECONFIG', 'readline editline', '', 'readline', d)} +${@bb.utils.contains('PACKAGECONFIG', 'tk', '', '_tkinter', d)} EOF } CPPFLAGS:append = " -I${STAGING_INCDIR}/ncursesw -I${STAGING_INCDIR}/uuid" +# COMPILEALL_OPTS= ensures that .pyc are not compiled in parallel +# This was found to lock up builds, break reproducibility, and produce strange file ownership +# races. +# +# The upstream commit introducing the change was: +# https://github.com/python/cpython/commit/1a2dd82f56bd813aacc570e172cefe55a8a41504 +# +# The build lock up issue is reported here: +# https://bugs.python.org/issue45945 +# +# The repro failures are documented here: +# https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20211130-yr_o1a8d/packages/diff-html/ + EXTRA_OEMAKE = '\ STAGING_LIBDIR=${STAGING_LIBDIR} \ STAGING_INCDIR=${STAGING_INCDIR} \ LIB=${baselib} \ + COMPILEALL_OPTS= \ ' -do_compile:prepend:class-target() { +# Generate a Profile Guided Optimisation wrapper script that uses qemu-user for +# all cross builds. +write_pgo_wrapper:class-native = ":" +write_pgo_wrapper() { if ${@bb.utils.contains('PACKAGECONFIG', 'pgo', 'true', 'false', d)}; then - qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}', ['${B}', '${STAGING_DIR_TARGET}/${base_libdir}'])}" cat >pgo-wrapper <<EOF #!/bin/sh cd ${B} -$qemu_binary "\$@" +${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}', ['${B}', '${STAGING_DIR_TARGET}/${base_libdir}'])} "\$@" EOF chmod +x pgo-wrapper fi } +do_compile:prepend() { + write_pgo_wrapper +} + do_install:prepend() { ${WORKDIR}/check_build_completeness.py ${T}/log.do_compile } @@ -153,33 +174,63 @@ do_install:append:class-native() { # (these often end up too long for the #! parser in the kernel as the # buffer is 128 bytes long). ln -s python3-native/python3 ${D}${bindir}/nativepython3 + + # Remove the opt-1.pyc and opt-2.pyc files. There are over 3,000 of them + # and the overhead in each recipe-sysroot-native isn't worth it, particularly + # when they're only used for python called with -O or -OO. + #find ${D} -name *opt-*.pyc -delete + # Remove all pyc files. There are a ton of them and it is probably faster to let + # python create the ones it wants at runtime rather than manage in the sstate + # tarballs and sysroot creation. + find ${D} -name *.pyc -delete + + # Nothing should be looking into ${B} for python3-native + sed -i -e 's:${B}:/build/path/unavailable/:g' \ + ${D}/${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}*/Makefile + + # disable the lookup in user's site-packages globally + sed -i 's#ENABLE_USER_SITE = None#ENABLE_USER_SITE = False#' ${D}${libdir}/python${PYTHON_MAJMIN}/site.py + + # python3-config needs to be in /usr/bin and not in a subdir of it to work properly + mv ${D}/${bindir}/${PN}/python*config ${D}/${bindir}/ } do_install:append() { for c in ${D}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py; do python3 ${WORKDIR}/reformat_sysconfig.py $c done - rm ${D}${libdir}/python${PYTHON_MAJMIN}/__pycache__/_sysconfigdata*.cpython* + rm -f ${D}${libdir}/python${PYTHON_MAJMIN}/__pycache__/_sysconfigdata*.cpython* mkdir -p ${D}${libdir}/python-sysconfigdata sysconfigfile=`find ${D} -name _sysconfig*.py` - cp $sysconfigfile ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py - sed -i \ -e "s,^ 'LIBDIR'.*, 'LIBDIR': '${STAGING_LIBDIR}'\,,g" \ -e "s,^ 'INCLUDEDIR'.*, 'INCLUDEDIR': '${STAGING_INCDIR}'\,,g" \ -e "s,^ 'CONFINCLUDEDIR'.*, 'CONFINCLUDEDIR': '${STAGING_INCDIR}'\,,g" \ - -e "/^ 'INCLDIRSTOMAKE'/{N; s,/usr/include,${STAGING_INCDIR},g}" \ - -e "/^ 'INCLUDEPY'/s,/usr/include,${STAGING_INCDIR},g" \ - ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py + -e "s,^ 'INCLUDEPY'.*, 'INCLUDEPY': '${STAGING_INCDIR}/python${PYTHON_MAJMIN}'\,,g" \ + -e "s,^ 'CONFINCLUDEPY'.*, 'CONFINCLUDEPY': '${STAGING_INCDIR}/python${PYTHON_MAJMIN}'\,,g" \ + -e "s,${B},/build/path/unavailable/,g" \ + $sysconfigfile + cp $sysconfigfile ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py + # 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 - rm ${D}${libdir}/python${PYTHON_MAJMIN}/test/__pycache__/test_range.cpython* - rm ${D}${libdir}/python${PYTHON_MAJMIN}/test/__pycache__/test_xml_etree.cpython* + rm -f ${D}${libdir}/python${PYTHON_MAJMIN}/test/__pycache__/test_range.cpython* + rm -f ${D}${libdir}/python${PYTHON_MAJMIN}/test/__pycache__/test_xml_etree.cpython* + + # Similar to the above, we're getting reproducibility issues with + # /usr/lib/python3.10/__pycache__/traceback.cpython-310.pyc + # so remove it too + rm -f ${D}${libdir}/python${PYTHON_MAJMIN}/__pycache__/traceback.cpython* + + # Remove the opt-1.pyc and opt-2.pyc files. They effectively waste space on embedded + # style targets as they're only used when python is called with the -O or -OO options + # which is rare. + find ${D} -name *opt-*.pyc -delete } do_install:append:class-nativesdk () { @@ -190,6 +241,23 @@ do_install:append:class-nativesdk () { create_wrapper ${D}${bindir}/python${PYTHON_MAJMIN} TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo' PYTHONNOUSERSITE='1' } +do_install_ptest:append:class-target:libc-musl () { + sed -i -e 's|SKIPPED_TESTS=|SKIPPED_TESTS="-x test__locale -x test_c_locale_coercion -x test_locale -x test_os test_re -x test__xxsubinterpreters -x test_threading"|' ${D}${PTEST_PATH}/run-ptest +} + +SYSROOT_PREPROCESS_FUNCS:append:class-target = " provide_target_config_script" +SYSROOT_PREPROCESS_FUNCS:append:class-nativesdk = " provide_target_config_script" + +# This is installed into /usr/python-target-config/ and not /usr/bin +# because adding target sysroot's /usr/bin/ to PATH has unwanted side effects +# in components erroneously picking up other target executables from it +provide_target_config_script() { + install -d ${SYSROOT_DESTDIR}${prefix}/python-target-config/ + install ${D}/${bindir}/python3-config ${SYSROOT_DESTDIR}/${prefix}/python-target-config/ + install ${D}/${bindir}/python${PYTHON_MAJMIN}-config ${SYSROOT_DESTDIR}/${prefix}/python-target-config/ +} +SYSROOT_DIRS += "${prefix}/python-target-config/" + SSTATE_SCAN_FILES += "Makefile _sysconfigdata.py" SSTATE_HASHEQUIV_FILEMAP = " \ populate_sysroot:*/lib*/python3*/_sysconfigdata*.py:${TMPDIR} \ @@ -364,16 +432,17 @@ INSANE_SKIP:${PN}-ptest = "dev-deps" # catch all the rest (unsorted) PACKAGES += "${PN}-misc" RDEPENDS:${PN}-misc += "\ + ${PN}-audio \ + ${PN}-codecs \ ${PN}-core \ ${PN}-email \ - ${PN}-codecs \ - ${PN}-pydoc \ - ${PN}-pickle \ - ${PN}-audio \ ${PN}-numbers \ + ${PN}-pickle \ + ${PN}-pydoc \ " RDEPENDS:${PN}-modules:append:class-target = " ${MLPREFIX}python3-misc" RDEPENDS:${PN}-modules:append:class-nativesdk = " ${MLPREFIX}python3-misc" +RDEPENDS:${PN}-modules:append:class-target = " ${@bb.utils.contains('PACKAGECONFIG', 'gdbm', '${MLPREFIX}python3-gdbm', '', d)}" FILES:${PN}-misc = "${libdir}/python${PYTHON_MAJMIN} ${libdir}/python${PYTHON_MAJMIN}/lib-dynload" # catch manpage @@ -383,11 +452,12 @@ FILES:${PN}-man = "${datadir}/man" # See https://bugs.python.org/issue18748 and https://bugs.python.org/issue37395 RDEPENDS:libpython3:append:libc-glibc = " libgcc" RDEPENDS:${PN}-ctypes:append:libc-glibc = " ${MLPREFIX}ldconfig" -RDEPENDS:${PN}-ptest = "${PN}-modules ${PN}-tests ${PN}-dev unzip bzip2 libgcc tzdata-europe coreutils sed" -RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-tr-tr.iso-8859-9" +RDEPENDS:${PN}-ptest = "${PN}-modules ${PN}-tests ${PN}-dev ${PN}-cgitb ${PN}-zipapp unzip bzip2 libgcc tzdata coreutils sed gcc g++ binutils \ + locale-base-fr-fr locale-base-en-us locale-base-de-de" +RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-tr-tr" RDEPENDS:${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${MLPREFIX}tk ${MLPREFIX}tk-lib', '', d)}" RDEPENDS:${PN}-idle += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${PN}-tkinter ${MLPREFIX}tcl', '', d)}" -RDEPENDS:${PN}-dev = "" +DEV_PKG_DEPENDENCY = "" RDEPENDS:${PN}-pydoc += "${PN}-io" RDEPENDS:${PN}-tests:append:class-target = " ${MLPREFIX}bash" |