diff options
Diffstat (limited to 'poky/meta/recipes-devtools/python')
86 files changed, 1320 insertions, 156 deletions
diff --git a/poky/meta/recipes-devtools/python/python-cython.inc b/poky/meta/recipes-devtools/python/python-cython.inc index aeff3e77ef..5050dfd427 100644 --- a/poky/meta/recipes-devtools/python/python-cython.inc +++ b/poky/meta/recipes-devtools/python/python-cython.inc @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e23fadd6ceef8c618fc1c65191d846fa" PYPI_PACKAGE = "Cython" BBCLASSEXTEND = "native nativesdk" -SRC_URI[sha256sum] = "c6a442504db906dfc13a480e96850cced994ecdc076bcf492c43515b78f70da2" +SRC_URI[sha256sum] = "d6fac2342802c30e51426828fe084ff4deb1b3387367cf98976bb2e64b6f8e45" UPSTREAM_CHECK_REGEX = "Cython-(?P<pver>.*)\.tar" inherit pypi diff --git a/poky/meta/recipes-devtools/python/python-pyasn1.inc b/poky/meta/recipes-devtools/python/python-pyasn1.inc new file mode 100644 index 0000000000..6cbed0fcd5 --- /dev/null +++ b/poky/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=a14482d15c2249de3b6f0e8a47e021fd" + +SRC_URI[md5sum] = "dffae4ff9f997a83324b3f33fe62be54" +SRC_URI[sha256sum] = "aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba" + +RDEPENDS:${PN}:class-target += " \ + ${PYTHON_PN}-codecs \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-math \ + ${PYTHON_PN}-shell \ +" + +BBCLASSEXTEND = "native nativesdk" + +inherit ptest + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS:${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} diff --git a/poky/meta/recipes-devtools/python/python3-alabaster_0.7.12.bb b/poky/meta/recipes-devtools/python/python3-alabaster_0.7.12.bb new file mode 100644 index 0000000000..3381ce9568 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-alabaster_0.7.12.bb @@ -0,0 +1,11 @@ +DESCRIPTION = "Alabaster is a visually (c)lean, responsive, configurable theme for the Sphinx documentation system. It is Python 2+3 compatible." +HOMEPAGE = "https://alabaster.readthedocs.io/en/latest/" +SECTION = "devel/python" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=da053683d66d543813a727e8a30c96ca" + +SRC_URI[sha256sum] = "a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02" + +inherit setuptools3 pypi + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-asn1crypto_1.5.1.bb b/poky/meta/recipes-devtools/python/python3-asn1crypto_1.5.1.bb new file mode 100644 index 0000000000..5fa2ed987c --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-asn1crypto_1.5.1.bb @@ -0,0 +1,24 @@ +DESCRIPTION = "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 += " \ + ${PYTHON_PN}-codecs \ + ${PYTHON_PN}-crypt \ + ${PYTHON_PN}-ctypes \ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-io \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-numbers \ + ${PYTHON_PN}-shell \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-attrs_21.4.0.bb b/poky/meta/recipes-devtools/python/python3-attrs_21.4.0.bb index 20e4541f81..1839ce6245 100644 --- a/poky/meta/recipes-devtools/python/python3-attrs_21.4.0.bb +++ b/poky/meta/recipes-devtools/python/python3-attrs_21.4.0.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=d4ab25949a73fe7d4fdee93bcbdbf8ff" SRC_URI[sha256sum] = "626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd" -inherit pypi setuptools_build_meta +inherit pypi python_setuptools_build_meta RDEPENDS:${PN}:class-target += " \ ${PYTHON_PN}-crypt \ diff --git a/poky/meta/recipes-devtools/python/python3-babel_2.9.1.bb b/poky/meta/recipes-devtools/python/python3-babel_2.9.1.bb new file mode 100644 index 0000000000..11c8d60105 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-babel_2.9.1.bb @@ -0,0 +1,26 @@ +DESCRIPTION = "A collection of tools for internationalizing Python applications" +HOMEPAGE = "http://babel.edgewall.org/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=05fb707293a85504aa67afc8ea34d747" + +SRC_URI[sha256sum] = "bc0c176f9f6a994582230df350aa6e05ba2ebe4b3ac317eab29d9be5d2768da0" + +PYPI_PACKAGE = "Babel" + +inherit pypi setuptools3 + +CLEANBROKEN = "1" + +RDEPENDS:${PN} += " \ + ${PYTHON_PN}-codecs \ + ${PYTHON_PN}-difflib \ + ${PYTHON_PN}-distutils \ + ${PYTHON_PN}-netserver \ + ${PYTHON_PN}-numbers \ + ${PYTHON_PN}-pickle \ + ${PYTHON_PN}-pytz \ + ${PYTHON_PN}-shell \ + ${PYTHON_PN}-threading \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-bcrypt/run-ptest b/poky/meta/recipes-devtools/python/python3-bcrypt/run-ptest new file mode 100644 index 0000000000..b63c4de0d9 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-bcrypt/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/poky/meta/recipes-devtools/python/python3-bcrypt_3.2.0.bb b/poky/meta/recipes-devtools/python/python3-bcrypt_3.2.0.bb new file mode 100644 index 0000000000..6a4d1aef5c --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-bcrypt_3.2.0.bb @@ -0,0 +1,31 @@ +DESCRIPTION = "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 += "${PYTHON_PN}-cffi-native" + +SRC_URI[md5sum] = "fe31390dab603728f756cd3d6830c80a" +SRC_URI[sha256sum] = "5b93c1726e50a93a033c36e5ca7fdcd29a5c7395af50a6892f5d9e7c6cfbfb29" + +inherit pypi python_setuptools_build_meta ptest + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS:${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} + +RDEPENDS:${PN}:class-target += "\ + ${PYTHON_PN}-cffi \ + ${PYTHON_PN}-ctypes \ + ${PYTHON_PN}-shell \ + ${PYTHON_PN}-six \ +" diff --git a/poky/meta/recipes-devtools/python/python3-certifi_2021.10.8.bb b/poky/meta/recipes-devtools/python/python3-certifi_2021.10.8.bb new file mode 100644 index 0000000000..4c376da897 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-certifi_2021.10.8.bb @@ -0,0 +1,14 @@ +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=67da0714c3f9471067b729eca6c9fbe8" + +SRC_URI[sha256sum] = "78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-cffi_1.15.0.bb b/poky/meta/recipes-devtools/python/python3-cffi_1.15.0.bb new file mode 100644 index 0000000000..c36f23b3dd --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-cffi_1.15.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 ${PYTHON_PN}-pycparser" + +SRC_URI[sha256sum] = "920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954" + +inherit pypi setuptools3 + +RDEPENDS:${PN}:class-target = " \ + ${PYTHON_PN}-ctypes \ + ${PYTHON_PN}-io \ + ${PYTHON_PN}-pycparser \ + ${PYTHON_PN}-shell \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-chardet_4.0.0.bb b/poky/meta/recipes-devtools/python/python3-chardet_4.0.0.bb new file mode 100644 index 0000000000..f53bdc974a --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-chardet_4.0.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=a6f89e2100d9b6cdffcea4f398e37343" + +SRC_URI[sha256sum] = "0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa" + +# setup.py of chardet needs this. +DEPENDS += "${PYTHON_PN}-pytest-runner-native" + +inherit pypi setuptools3 + +PACKAGES =+ "${PN}-cli" +FILES:${PN}-cli += " \ + ${PYTHON_SITEPACKAGES_DIR}/chardet/cli \ +" + +RDEPENDS:${PN}-cli = "${PN} " + +RDEPENDS:${PN}:class-target += " \ + ${PYTHON_PN}-logging \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-cryptography-vectors_36.0.2.bb b/poky/meta/recipes-devtools/python/python3-cryptography-vectors_36.0.2.bb new file mode 100644 index 0000000000..be0eda056e --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-cryptography-vectors_36.0.2.bb @@ -0,0 +1,29 @@ +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] = "2a7924449a03025faf7f8754a6f4200001cab210734a6ce6ac1f6bdacd3a68e4" + +PYPI_PACKAGE = "cryptography_vectors" + +inherit pypi setuptools3 + +DEPENDS += " \ + ${PYTHON_PN}-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 = "" diff --git a/poky/meta/recipes-devtools/python/python3-cryptography/0001-Cargo.toml-specify-pem-version.patch b/poky/meta/recipes-devtools/python/python3-cryptography/0001-Cargo.toml-specify-pem-version.patch new file mode 100644 index 0000000000..d7ab757bb5 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-cryptography/0001-Cargo.toml-specify-pem-version.patch @@ -0,0 +1,31 @@ +From ec8d3f3c61280c8140b34ed1479baef5e706f064 Mon Sep 17 00:00:00 2001 +From: Tim Orling <tim.orling@konsulko.com> +Date: Fri, 14 Jan 2022 22:02:25 -0800 +Subject: [PATCH] Cargo.toml: specify pem version + +pem = "1.0" is not resolving, specify the current +pem = { version: "1.0.2"} + +Upstream-Status: Pending + +Signed-off-by: Tim Orling <tim.orling@konsulko.com> +--- + src/rust/Cargo.toml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/rust/Cargo.toml b/src/rust/Cargo.toml +index 617167d0..174eaa80 100644 +--- a/src/rust/Cargo.toml ++++ b/src/rust/Cargo.toml +@@ -9,7 +9,7 @@ publish = false + lazy_static = "1" + pyo3 = { version = "0.15.1" } + asn1 = { version = "0.8.7", default-features = false, features = ["derive"] } +-pem = "1.0" ++pem = { version = "1.0.2" } + chrono = { version = "0.4", default-features = false, features = ["alloc", "clock"] } + ouroboros = "0.13" + +-- +2.30.2 + diff --git a/poky/meta/recipes-devtools/python/python3-cryptography/0002-Cargo.toml-edition-2018-2021.patch b/poky/meta/recipes-devtools/python/python3-cryptography/0002-Cargo.toml-edition-2018-2021.patch new file mode 100644 index 0000000000..366e3a4d39 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-cryptography/0002-Cargo.toml-edition-2018-2021.patch @@ -0,0 +1,28 @@ +From 4b73298b214a5b69ea6edf3c2e21dd82b2b29708 Mon Sep 17 00:00:00 2001 +From: Tim Orling <tim.orling@konsulko.com> +Date: Fri, 14 Jan 2022 22:34:59 -0800 +Subject: [PATCH 2/2] Cargo.toml: edition 2018 -> 2021 + +Upstream-Status: Pending + +Signed-off-by: Tim Orling <tim.orling@konsulko.com> +--- + src/rust/Cargo.toml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/rust/Cargo.toml b/src/rust/Cargo.toml +index 174eaa80..7ad053d9 100644 +--- a/src/rust/Cargo.toml ++++ b/src/rust/Cargo.toml +@@ -2,7 +2,7 @@ + name = "cryptography-rust" + version = "0.1.0" + authors = ["The cryptography developers <cryptography-dev@python.org>"] +-edition = "2018" ++edition = "2021" + publish = false + + [dependencies] +-- +2.30.2 + diff --git a/poky/meta/recipes-devtools/python/python3-cryptography/check-memfree.py b/poky/meta/recipes-devtools/python/python3-cryptography/check-memfree.py new file mode 100755 index 0000000000..c111a9074c --- /dev/null +++ b/poky/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.: + raise RuntimeError("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/poky/meta/recipes-devtools/python/python3-cryptography/run-ptest b/poky/meta/recipes-devtools/python/python3-cryptography/run-ptest new file mode 100644 index 0000000000..3089df8781 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-cryptography/run-ptest @@ -0,0 +1,4 @@ +#!/bin/sh +if ./check-memfree.py; then + pytest -vvvv tests/ -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}}' +fi diff --git a/poky/meta/recipes-devtools/python/python3-cryptography/skip-leaky-test.patch b/poky/meta/recipes-devtools/python/python3-cryptography/skip-leaky-test.patch new file mode 100644 index 0000000000..64248d57bd --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-cryptography/skip-leaky-test.patch @@ -0,0 +1,19 @@ +Mark as test as expected-failure, OpenSSL is leaking memory. + +xfail not skip so we can remove this when OpenSSL doesn't leak anymore. + +Upstream-Status: Inappropriate +Signed-off-by: Ross Burton <ross.burton@arm.com> + +diff --git a/tests/hazmat/backends/test_openssl_memleak.py b/tests/hazmat/backends/test_openssl_memleak.py +index 835c9256..639f6ba2 100644 +--- a/tests/hazmat/backends/test_openssl_memleak.py ++++ b/tests/hazmat/backends/test_openssl_memleak.py +@@ -466,6 +466,7 @@ class TestOpenSSLMemoryLeaks: + ) + ) + ++ @pytest.mark.xfail(reason="has memory leaks") + def test_create_certificate_with_extensions(self): + assert_no_memory_leaks( + textwrap.dedent( diff --git a/poky/meta/recipes-devtools/python/python3-cryptography_36.0.2.bb b/poky/meta/recipes-devtools/python/python3-cryptography_36.0.2.bb new file mode 100644 index 0000000000..cb3acdf7e2 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-cryptography_36.0.2.bb @@ -0,0 +1,123 @@ +SUMMARY = "Provides cryptographic recipes and primitives to python developers" +HOMEPAGE = "https://cryptography.io/" +SECTION = "devel/python" +LICENSE = "( Apache-2.0 | BSD-3-Clause ) & PSF-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=bf405a8056a6647e7d077b0e7bc36aba \ + file://LICENSE.APACHE;md5=4e168cce331e5c827d4c2b68a6200e1b \ + file://LICENSE.BSD;md5=5ae30ba4123bc4f2fa49aa0b0dce887b \ + file://LICENSE.PSF;md5=43c37d21e1dbad10cddcd150ba2c0595 \ + " +LDSHARED += "-pthread" + +SRC_URI[sha256sum] = "70f8f4f7bb2ac9f340655cbac89d68c527af5bb4387522a8413e841e3e6628c9" + +SRC_URI += " \ + file://run-ptest \ + file://check-memfree.py \ + file://0001-Cargo.toml-specify-pem-version.patch \ + file://0002-Cargo.toml-edition-2018-2021.patch \ + file://skip-leaky-test.patch \ +" + +inherit pypi python_setuptools3_rust + +DEPENDS += " \ + ${PYTHON_PN}-asn1crypto-native \ + ${PYTHON_PN}-cffi-native \ + ${PYTHON_PN}-setuptools-rust-native \ + ${PYTHON_PN}-six-native \ +" + +SRC_URI += " \ + crate://crates.io/Inflector/0.11.4 \ + crate://crates.io/aliasable/0.1.3 \ + crate://crates.io/asn1/0.8.7 \ + crate://crates.io/asn1_derive/0.8.7 \ + crate://crates.io/autocfg/1.0.1 \ + crate://crates.io/base64/0.13.0 \ + crate://crates.io/bitflags/1.3.2 \ + crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/chrono/0.4.19 \ + crate://crates.io/indoc-impl/0.3.6 \ + crate://crates.io/indoc/0.3.6 \ + crate://crates.io/instant/0.1.12 \ + crate://crates.io/lazy_static/1.4.0 \ + crate://crates.io/libc/0.2.120 \ + crate://crates.io/lock_api/0.4.5 \ + crate://crates.io/num-integer/0.1.44 \ + crate://crates.io/num-traits/0.2.14 \ + crate://crates.io/once_cell/1.9.0 \ + crate://crates.io/ouroboros/0.13.0 \ + crate://crates.io/ouroboros_macro/0.13.0 \ + crate://crates.io/parking_lot/0.11.2 \ + crate://crates.io/parking_lot_core/0.8.5 \ + crate://crates.io/paste-impl/0.1.18 \ + crate://crates.io/paste/0.1.18 \ + crate://crates.io/pem/1.0.2 \ + crate://crates.io/proc-macro-error-attr/1.0.4 \ + crate://crates.io/proc-macro-error/1.0.4 \ + crate://crates.io/proc-macro-hack/0.5.19 \ + crate://crates.io/proc-macro2/1.0.36 \ + crate://crates.io/pyo3-build-config/0.15.1 \ + crate://crates.io/pyo3-macros-backend/0.15.1 \ + crate://crates.io/pyo3-macros/0.15.1 \ + crate://crates.io/pyo3/0.15.1 \ + crate://crates.io/quote/1.0.14 \ + crate://crates.io/redox_syscall/0.2.10 \ + crate://crates.io/scopeguard/1.1.0 \ + crate://crates.io/smallvec/1.7.0 \ + crate://crates.io/stable_deref_trait/1.2.0 \ + crate://crates.io/syn/1.0.85 \ + crate://crates.io/unicode-xid/0.2.2 \ + crate://crates.io/unindent/0.1.7 \ + crate://crates.io/version_check/0.9.4 \ + crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi/0.3.9 \ +" + +RDEPENDS:${PN} += " \ + ${PYTHON_PN}-asn1crypto \ + ${PYTHON_PN}-cffi \ + ${PYTHON_PN}-idna \ + ${PYTHON_PN}-setuptools \ + ${PYTHON_PN}-six \ +" + +RDEPENDS:${PN}:append:class-target = " \ + ${PYTHON_PN}-numbers \ + ${PYTHON_PN}-threading \ +" + +RDEPENDS:${PN}-ptest += " \ + ${PYTHON_PN}-bcrypt \ + ${PYTHON_PN}-cryptography-vectors (= ${PV}) \ + ${PYTHON_PN}-hypothesis \ + ${PYTHON_PN}-iso8601 \ + ${PYTHON_PN}-pretend \ + ${PYTHON_PN}-psutil \ + ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-pytest-subtests \ + ${PYTHON_PN}-pytz \ + ${PYTHON_PN}-tomli \ +" + +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/ + 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}-ptest += " \ + ${PTEST_PATH}/check-memfree.py \ +" +FILES:${PN}-dbg += " \ + ${PYTHON_SITEPACKAGES_DIR}/${SRCNAME}/hazmat/bindings/.debug \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-cython_0.29.27.bb b/poky/meta/recipes-devtools/python/python3-cython_0.29.28.bb index 26333cb271..26333cb271 100644 --- a/poky/meta/recipes-devtools/python/python3-cython_0.29.27.bb +++ b/poky/meta/recipes-devtools/python/python3-cython_0.29.28.bb diff --git a/poky/meta/recipes-devtools/python/python3-dbusmock_0.25.0.bb b/poky/meta/recipes-devtools/python/python3-dbusmock_0.27.3.bb index 3a9cdda5f6..5febdae1bd 100644 --- a/poky/meta/recipes-devtools/python/python3-dbusmock_0.25.0.bb +++ b/poky/meta/recipes-devtools/python/python3-dbusmock_0.27.3.bb @@ -4,10 +4,9 @@ HOMEPAGE = "https://pypi.org/project/python-dbusmock/" LICENSE = "GPL-3.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02" -SRC_URI[sha256sum] = "6f4ce7650ecbb022684dc158df720e199635f3a3df75f7020f4fe8f6ff0394db" +SRC_URI[sha256sum] = "24feaa524e0631854a7f0529ef757c1e4c542adef89cf04e1d4248bc512a006f" PYPI_PACKAGE = "python-dbusmock" -PIP_INSTALL_PACKAGE = "python_dbusmock" inherit pypi setuptools3 diff --git a/poky/meta/recipes-devtools/python/python3-docutils_0.18.1.bb b/poky/meta/recipes-devtools/python/python3-docutils_0.18.1.bb index 4f60b05048..e4ddd01978 100644 --- a/poky/meta/recipes-devtools/python/python3-docutils_0.18.1.bb +++ b/poky/meta/recipes-devtools/python/python3-docutils_0.18.1.bb @@ -8,4 +8,4 @@ SRC_URI[sha256sum] = "679987caf361a7539d76e584cbeddc311e3aee937877c87346f31debc6 inherit pypi setuptools3 -BBCLASSEXTEND = "native" +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-flit-core_3.6.0.bb b/poky/meta/recipes-devtools/python/python3-flit-core_3.7.1.bb index a00ea1810e..8d107384a6 100644 --- a/poky/meta/recipes-devtools/python/python3-flit-core_3.6.0.bb +++ b/poky/meta/recipes-devtools/python/python3-flit-core_3.7.1.bb @@ -8,33 +8,22 @@ BUGTRACKER = "https://github.com/pypa/flit/issues" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=41eb78fa8a872983a882c694a8305f08" -SRC_URI[sha256sum] = "b1464e006df4df4c8eeb37671c0e0ce66e1d04e4a36d91b702f180a25fde3c11" +SRC_URI[sha256sum] = "3c9bd9c140515bfe62dd938c6610d10d6efb9e35cc647fc614fe5fb3a5036682" -inherit pip_install_wheel python3native python3-dir pypi setuptools3-base +inherit pypi python_flit_core -DEPENDS:remove:class-native = " python3-pip-native" +# Need to install by hand as there's a dependency loop +DEPENDS:remove:class-native = " python3-installer-native" DEPENDS:append:class-native = " unzip-native" # We need the full flit tarball PYPI_PACKAGE = "flit" - -PIP_INSTALL_PACKAGE = "flit_core" -PIP_INSTALL_DIST_PATH = "${S}/flit_core/dist" - -do_compile () { - nativepython3 flit_core/build_dists.py -} +PEP517_SOURCE_PATH = "${S}/flit_core" do_install:class-native () { - install -d ${D}${PYTHON_SITEPACKAGES_DIR} - unzip -d ${D}${PYTHON_SITEPACKAGES_DIR} ./flit_core/dist/flit_core-${PV}-py3-none-any.whl + python_pep517_do_bootstrap_install } -FILES:${PN} += "\ - ${PYTHON_SITEPACKAGES_DIR}/flit_core/* \ - ${PYTHON_SITEPACKAGES_DIR}/flit_core-${PV}.dist-info/* \ -" - PACKAGES =+ "${PN}-tests" FILES:${PN}-tests += "\ @@ -42,4 +31,3 @@ FILES:${PN}-tests += "\ " BBCLASSEXTEND = "native nativesdk" - diff --git a/poky/meta/recipes-devtools/python/python3-git_3.1.26.bb b/poky/meta/recipes-devtools/python/python3-git_3.1.27.bb index 8f4b13cc15..fb1bae8f8e 100644 --- a/poky/meta/recipes-devtools/python/python3-git_3.1.26.bb +++ b/poky/meta/recipes-devtools/python/python3-git_3.1.27.bb @@ -10,9 +10,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=8b8d26c37c1d5a04f9b0186edbebc183" PYPI_PACKAGE = "GitPython" -inherit pypi setuptools_build_meta +inherit pypi python_setuptools_build_meta -SRC_URI[sha256sum] = "fc8868f63a2e6d268fb25f481995ba185a85a66fcad126f039323ff6635669ee" +SRC_URI[sha256sum] = "1c885ce809e8ba2d88a29befeb385fcea06338d3640712b59ca623c220bb5704" DEPENDS += " ${PYTHON_PN}-gitdb" diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis_6.37.2.bb b/poky/meta/recipes-devtools/python/python3-hypothesis_6.39.5.bb index 4deed1e56f..03ec94c1c1 100644 --- a/poky/meta/recipes-devtools/python/python3-hypothesis_6.37.2.bb +++ b/poky/meta/recipes-devtools/python/python3-hypothesis_6.39.5.bb @@ -13,7 +13,7 @@ SRC_URI += " \ file://test_rle.py \ " -SRC_URI[sha256sum] = "79321035b9174ffa506d724ca5e8af375d7bf532c80e4f602bd433792c527e6c" +SRC_URI[sha256sum] = "2972edc54c90c70049facfc31db19f1997f9c5e89d2a05f6eeea1107600350f0" RDEPENDS:${PN} += " \ python3-attrs \ diff --git a/poky/meta/recipes-devtools/python/python3-imagesize_1.3.0.bb b/poky/meta/recipes-devtools/python/python3-imagesize_1.3.0.bb new file mode 100644 index 0000000000..7d8eb80cf3 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-imagesize_1.3.0.bb @@ -0,0 +1,13 @@ +DESCRIPTION = "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] = "cd1750d452385ca327479d45b64d9c7729ecf0b3969a58148298c77092261f9d" + +inherit setuptools3 pypi + +BBCLASSEXTEND = "native nativesdk" + +RDEPENDS:${PN} = "python3-xml" diff --git a/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.10.1.bb b/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.11.3.bb index ff40def563..d8e56ccb25 100644 --- a/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.10.1.bb +++ b/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.11.3.bb @@ -3,12 +3,12 @@ HOMEPAGE = "https://pypi.org/project/importlib-metadata/" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e88ae122f3925d8bde8319060f2ddb8e" -inherit pypi setuptools3 +inherit pypi python_setuptools_build_meta PYPI_PACKAGE = "importlib_metadata" UPSTREAM_CHECK_REGEX = "/importlib-metadata/(?P<pver>(\d+[\.\-_]*)+)/" -SRC_URI[sha256sum] = "951f0d8a5b7260e9db5e41d429285b5f451e928479f19d80818878527d36e95e" +SRC_URI[sha256sum] = "ea4c597ebf37142f827b8f39299579e31685c31d3a438b59f469406afd0f2539" S = "${WORKDIR}/importlib_metadata-${PV}" diff --git a/poky/meta/recipes-devtools/python/python3-iniconfig_1.1.1.bb b/poky/meta/recipes-devtools/python/python3-iniconfig_1.1.1.bb index 5338980e69..4643437b80 100644 --- a/poky/meta/recipes-devtools/python/python3-iniconfig_1.1.1.bb +++ b/poky/meta/recipes-devtools/python/python3-iniconfig_1.1.1.bb @@ -9,4 +9,4 @@ SRC_URI[sha256sum] = "bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4 DEPENDS += "python3-setuptools-scm-native" -inherit pypi setuptools_build_meta +inherit pypi python_setuptools_build_meta diff --git a/poky/meta/recipes-devtools/python/python3-installer/interpreter.patch b/poky/meta/recipes-devtools/python/python3-installer/interpreter.patch new file mode 100644 index 0000000000..ef10ef1b45 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-installer/interpreter.patch @@ -0,0 +1,61 @@ +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> + +diff --git a/src/installer/__main__.py b/src/installer/__main__.py +index 3357ec5..d2fd8d2 100644 +--- a/src/installer/__main__.py ++++ b/src/installer/__main__.py +@@ -23,6 +23,13 @@ def _get_main_parser() -> argparse.ArgumentParser: + type=str, + help="destination directory (prefix to prepend to each file)", + ) ++ parser.add_argument( ++ "--interpreter", ++ "-i", ++ type=str, ++ default=sys.executable, ++ help=f"interpreter (defaults to {sys.executable})", ++ ) + parser.add_argument( + "--compile-bytecode", + action="append", +@@ -73,7 +80,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), +- 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/poky/meta/recipes-devtools/python/python3-installer_0.5.1.bb b/poky/meta/recipes-devtools/python/python3-installer_0.5.1.bb new file mode 100644 index 0000000000..f4f9e1bde6 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-installer_0.5.1.bb @@ -0,0 +1,22 @@ +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] = "f970995ec2bb815e2fdaf7977b26b2091e1e386f0f42eafd5ac811953dc5d445" + +inherit pypi python_flit_core + +DEPENDS:remove:class-native = "python3-installer-native" +DEPENDS:append:class-native = " unzip-native" + +do_install:class-native () { + python_pep517_do_bootstrap_install +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-iso8601_1.0.2.bb b/poky/meta/recipes-devtools/python/python3-iso8601_1.0.2.bb new file mode 100644 index 0000000000..93af233d29 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-iso8601_1.0.2.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=b05625f2336fa024e8d57e65c6595844" + +SRC_URI[sha256sum] = "27f503220e6845d9db954fb212b95b0362d8b7e6c1b2326a87061c3de93594b1" + +inherit pypi python_poetry_core + +RDEPENDS:${PN} += "\ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-numbers \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-jinja2_3.0.3.bb b/poky/meta/recipes-devtools/python/python3-jinja2_3.1.1.bb index c416acbf92..0a2bcd71f5 100644 --- a/poky/meta/recipes-devtools/python/python3-jinja2_3.0.3.bb +++ b/poky/meta/recipes-devtools/python/python3-jinja2_3.1.1.bb @@ -4,7 +4,7 @@ HOMEPAGE = "https://pypi.org/project/Jinja/" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=5dc88300786f1c214c1e9827a5229462" -SRC_URI[sha256sum] = "611bb273cd68f3b993fabdc4064fc858c5b47a973cb5aa7999ec1ba405c87cd7" +SRC_URI[sha256sum] = "640bed4bb501cbd17194b3cace1dc2126f5b619cf068a726b98192a0fde74ae9" PYPI_PACKAGE = "Jinja2" diff --git a/poky/meta/recipes-devtools/python/python3-jsonschema_3.2.0.bb b/poky/meta/recipes-devtools/python/python3-jsonschema_4.4.0.bb index c7efe33a83..10b39e76b2 100644 --- a/poky/meta/recipes-devtools/python/python3-jsonschema_3.2.0.bb +++ b/poky/meta/recipes-devtools/python/python3-jsonschema_4.4.0.bb @@ -3,12 +3,12 @@ HOMEPAGE = "https://github.com/Julian/jsonschema" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=7a60a81c146ec25599a3e1dabb8610a8 \ file://json/LICENSE;md5=9d4de43111d33570c8fe49b4cb0e01af" -DEPENDS += "${PYTHON_PN}-vcversioner-native ${PYTHON_PN}-setuptools-scm-native" -SRC_URI[md5sum] = "f1a0b5011f05a02a8dee1070cd10a26d" -SRC_URI[sha256sum] = "c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a" +SRC_URI[sha256sum] = "636694eb41b3535ed608fe04129f26542b59ed99808b4f688aa32dcf55317a83" + +inherit pypi python_setuptools_build_meta -inherit pypi setuptools3 +DEPENDS += "${PYTHON_PN}-vcversioner-native ${PYTHON_PN}-setuptools-scm-native" PACKAGECONFIG ??= "format" PACKAGECONFIG[format] = ",,,\ diff --git a/poky/meta/recipes-devtools/python/python3-libarchive-c_4.0.bb b/poky/meta/recipes-devtools/python/python3-libarchive-c_4.0.bb index 99837848a6..3c6bc1e1ca 100644 --- a/poky/meta/recipes-devtools/python/python3-libarchive-c_4.0.bb +++ b/poky/meta/recipes-devtools/python/python3-libarchive-c_4.0.bb @@ -9,8 +9,6 @@ PYPI_PACKAGE = "libarchive-c" inherit pypi setuptools3 -PIP_INSTALL_PACKAGE = "libarchive_c" - SRC_URI[sha256sum] = "a5b41ade94ba58b198d778e68000f6b7de41da768de7140c984f71d7fa8416e5" RDEPENDS:${PN} += "\ diff --git a/poky/meta/recipes-devtools/python/python3-magic_0.4.25.bb b/poky/meta/recipes-devtools/python/python3-magic_0.4.25.bb index bd46b294ae..efc8b6daaa 100644 --- a/poky/meta/recipes-devtools/python/python3-magic_0.4.25.bb +++ b/poky/meta/recipes-devtools/python/python3-magic_0.4.25.bb @@ -8,7 +8,6 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=61495c152d794e6be5799a9edca149e3" PYPI_PACKAGE = "python-magic" -PIP_INSTALL_PACKAGE = "python_magic" inherit pypi setuptools3 diff --git a/poky/meta/recipes-devtools/python/python3-mako_1.1.6.bb b/poky/meta/recipes-devtools/python/python3-mako_1.1.6.bb index 23e13cff94..71e5d96ba1 100644 --- a/poky/meta/recipes-devtools/python/python3-mako_1.1.6.bb +++ b/poky/meta/recipes-devtools/python/python3-mako_1.1.6.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=943eb67718222db21d44a4ef1836675f" PYPI_PACKAGE = "Mako" -inherit pypi setuptools_build_meta +inherit pypi python_setuptools_build_meta SRC_URI[sha256sum] = "4e9e345a41924a954251b95b4b28e14a301145b544901332e658907a7464b6b2" diff --git a/poky/meta/recipes-devtools/python/python3-markdown_3.3.6.bb b/poky/meta/recipes-devtools/python/python3-markdown_3.3.6.bb index 7b64da6d5b..5ce9fef7dd 100644 --- a/poky/meta/recipes-devtools/python/python3-markdown_3.3.6.bb +++ b/poky/meta/recipes-devtools/python/python3-markdown_3.3.6.bb @@ -3,7 +3,7 @@ HOMEPAGE = "https://python-markdown.github.io/" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE.md;md5=745aaad0c69c60039e638bff9ffc59ed" -inherit pypi setuptools3 +inherit pypi python_setuptools_build_meta PYPI_PACKAGE = "Markdown" SRC_URI[sha256sum] = "76df8ae32294ec39dcf89340382882dfa12975f87f45c3ed1ecdb1e8cefc7006" diff --git a/poky/meta/recipes-devtools/python/python3-markupsafe_2.1.0.bb b/poky/meta/recipes-devtools/python/python3-markupsafe_2.1.1.bb index 953ea01cfe..0544dd1b83 100644 --- a/poky/meta/recipes-devtools/python/python3-markupsafe_2.1.0.bb +++ b/poky/meta/recipes-devtools/python/python3-markupsafe_2.1.1.bb @@ -3,7 +3,7 @@ HOMEPAGE = "http://github.com/mitsuhiko/markupsafe" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ffeffa59c90c9c4a033c7574f8f3fb75" -SRC_URI[sha256sum] = "80beaf63ddfbc64a0452b841d8036ca0611e049650e20afcb882f5d3c266d65f" +SRC_URI[sha256sum] = "7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b" PYPI_PACKAGE = "MarkupSafe" inherit pypi setuptools3 diff --git a/poky/meta/recipes-devtools/python/python3-more-itertools_8.12.0.bb b/poky/meta/recipes-devtools/python/python3-more-itertools_8.12.0.bb index 5788af3f71..c1e34b205d 100644 --- a/poky/meta/recipes-devtools/python/python3-more-itertools_8.12.0.bb +++ b/poky/meta/recipes-devtools/python/python3-more-itertools_8.12.0.bb @@ -7,8 +7,6 @@ SRC_URI[sha256sum] = "7dc6ad46f05f545f900dd59e8dfb4e84a4827b97b3cfecb175ea0c7d24 inherit pypi setuptools3 ptest -PIP_INSTALL_PACKAGE = "more_itertools" - SRC_URI += " \ file://run-ptest \ " diff --git a/poky/meta/recipes-devtools/python/python3-ndg-httpsclient_0.5.1.bb b/poky/meta/recipes-devtools/python/python3-ndg-httpsclient_0.5.1.bb new file mode 100644 index 0000000000..6f3c096cf0 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-ndg-httpsclient_0.5.1.bb @@ -0,0 +1,31 @@ +DESCRIPTION = "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 += " \ + ${PYTHON_PN}-pyopenssl \ + ${PYTHON_PN}-pyasn1 \ +" + +RDEPENDS:${PN} += " \ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-pyopenssl \ + ${PYTHON_PN}-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/poky/meta/recipes-devtools/python/python3-numpy_1.22.2.bb b/poky/meta/recipes-devtools/python/python3-numpy_1.22.3.bb index 43e7427eab..b5b1c4e714 100644 --- a/poky/meta/recipes-devtools/python/python3-numpy_1.22.2.bb +++ b/poky/meta/recipes-devtools/python/python3-numpy_1.22.3.bb @@ -12,7 +12,7 @@ SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/v${PV}/${S file://0001-numpy-core-Define-RISCV-32-support.patch \ file://run-ptest \ " -SRC_URI[sha256sum] = "093d513a460fd94f94c16193c3ef29b2d69a33e482071e3d6d6e561a700587a6" +SRC_URI[sha256sum] = "a906c0b4301a3d62ccf66d058fe779a65c1c34f6719ef2058f96e1856f48bca5" UPSTREAM_CHECK_URI = "https://github.com/numpy/numpy/releases" UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar" @@ -20,7 +20,6 @@ UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar" DEPENDS += "python3-cython-native" inherit ptest setuptools3 -PIP_INSTALL_PACKAGE = "numpy" S = "${WORKDIR}/numpy-${PV}" diff --git a/poky/meta/recipes-devtools/python/python3-packaging_21.3.bb b/poky/meta/recipes-devtools/python/python3-packaging_21.3.bb index c7d0cb7ef7..e3b9a440c4 100644 --- a/poky/meta/recipes-devtools/python/python3-packaging_21.3.bb +++ b/poky/meta/recipes-devtools/python/python3-packaging_21.3.bb @@ -5,9 +5,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=faadaedca9251a90b205c9167578ce91" SRC_URI[sha256sum] = "dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb" -inherit pypi setuptools_build_meta +inherit pypi python_setuptools_build_meta BBCLASSEXTEND = "native nativesdk" -DEPENDS += "${PYTHON_PN}-setuptools-native" RDEPENDS:${PN} += "${PYTHON_PN}-pyparsing" diff --git a/poky/meta/recipes-devtools/python/python3-pip_22.0.3.bb b/poky/meta/recipes-devtools/python/python3-pip_22.0.3.bb index 7eb9fb69ba..ee3e578b2c 100644 --- a/poky/meta/recipes-devtools/python/python3-pip_22.0.3.bb +++ b/poky/meta/recipes-devtools/python/python3-pip_22.0.3.bb @@ -4,13 +4,7 @@ SECTION = "devel/python" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=63ec52baf95163b597008bb46db68030" -inherit pypi setuptools_build_meta - -DEPENDS += "python3 python3-setuptools-native" - -# To avoid a dependency loop; we bootstrap -native -DEPENDS:remove:class-native = "python3-pip-native" -DEPENDS:append:class-native = " unzip-native" +inherit pypi python_setuptools_build_meta SRC_URI += "file://0001-change-shebang-to-python3.patch" SRC_URI += "file://no_shebang_mangling.patch" @@ -18,37 +12,8 @@ SRC_URI += "file://reproducible.patch" SRC_URI[sha256sum] = "f29d589df8c8ab99c060e68ad294c4a9ed896624f6368c5349d70aa581b333d0" -PYPA_WHEEL ?= "${B}/dist/${PYPI_PACKAGE}-${PV}-*.whl" - -do_install:class-native() { - # Bootstrap to prevent dependency loop in python3-pip-native - install -d ${D}${PYTHON_SITEPACKAGES_DIR} - unzip -d ${D}${PYTHON_SITEPACKAGES_DIR} ${PYPA_WHEEL} || \ - bbfatal_log "Failed to unzip wheel: ${PYPA_WHEEL}. Check the logs." - - # pip install would normally generate [console_scripts] in ${bindir} - install -d ${D}/${bindir} - # We will skip the ${bindir}/pip variant as we would just remove it in the do_install:append - cat << EOF >> ${D}/${bindir}/pip3 | tee ${D}/${bindir}/pip${PYTHON_BASEVERSION} -#!/bin/sh -'''exec' ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} "\$0" "\$@" -' ''' -# -*- coding: utf-8 -*- -import re -import sys -from pip._internal.cli.main import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) -EOF - chmod 0755 ${D}${bindir}/pip3 ${D}${bindir}/pip${PYTHON_BASEVERSION} -} - do_install:append() { - # Install as pip3 and leave pip2 as default - if [ -e ${D}/${bindir}/pip ]; then - rm ${D}/${bindir}/pip - fi + rm -f ${D}/${bindir}/pip } RDEPENDS:${PN} = "\ @@ -65,3 +30,7 @@ RDEPENDS:${PN} = "\ " 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/poky/meta/recipes-devtools/python/python3-pluggy_1.0.0.bb b/poky/meta/recipes-devtools/python/python3-pluggy_1.0.0.bb index 73bbcb0269..3f2895a061 100644 --- a/poky/meta/recipes-devtools/python/python3-pluggy_1.0.0.bb +++ b/poky/meta/recipes-devtools/python/python3-pluggy_1.0.0.bb @@ -10,7 +10,7 @@ RDEPENDS:${PN} += "${PYTHON_PN}-importlib-metadata \ ${PYTHON_PN}-more-itertools \ " -inherit pypi ptest setuptools_build_meta +inherit pypi ptest python_setuptools_build_meta SRC_URI += " \ file://run-ptest \ diff --git a/poky/meta/recipes-devtools/python/python3-ply_3.11.bb b/poky/meta/recipes-devtools/python/python3-ply_3.11.bb new file mode 100644 index 0000000000..99c037bb73 --- /dev/null +++ b/poky/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 += "\ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-shell \ +" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/python/python3-poetry-core_1.0.8.bb b/poky/meta/recipes-devtools/python/python3-poetry-core_1.0.8.bb new file mode 100644 index 0000000000..f3e9b05521 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-poetry-core_1.0.8.bb @@ -0,0 +1,44 @@ +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 & MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=104d5c3c653aeededf4076773aa4c236 \ + file://poetry/core/_vendor/attrs.LICENSE;md5=75bb9823a2778b5a2bd9b793fac93ea2 \ + file://poetry/core/_vendor/jsonschema/COPYING;md5=6554d3a51d7cb0b611891317f3c69057 \ + file://poetry/core/_vendor/jsonschema/LICENSE;md5=2ecb81765361195731a6f72a89e449fd \ + file://poetry/core/_vendor/lark-parser.LICENSE;md5=b37b83a9cf129d92ee65aaa71c01ce72 \ + file://poetry/core/_vendor/packaging/LICENSE;md5=7a6e56c9d54ecd731ab31c52de7942f0 \ + file://poetry/core/_vendor/packaging/LICENSE.APACHE;md5=29256199be2a609aac596980ffc11996 \ + file://poetry/core/_vendor/packaging/LICENSE.BSD;md5=f405810d173a1618433827928768bcd2 \ + file://poetry/core/_vendor/pyparsing.LICENSE;md5=fb46329938e6bc829b256e37d5c1e31a \ + file://poetry/core/_vendor/pyrsistent/LICENSE.mit;md5=1211a1ac6eac40020d0f99c39b4e4270 \ + file://poetry/core/_vendor/six.LICENSE;md5=6a574656da93d9ef05431b45907e35b6 \ + file://poetry/core/_vendor/tomlkit/LICENSE;md5=be329e5ef9c9fe86738c9afe6ef3c11c \ + " + +SRC_URI[sha256sum] = "951fc7c1f8d710a94cb49019ee3742125039fc659675912ea614ac2aa405b118" + +inherit python_poetry_core pypi + +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/poky/meta/recipes-devtools/python/python3-pretend_1.0.9.bb b/poky/meta/recipes-devtools/python/python3-pretend_1.0.9.bb new file mode 100644 index 0000000000..21d14a03b8 --- /dev/null +++ b/poky/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/poky/meta/recipes-devtools/python/python3-psutil/0001-fix-failure-test-cases.patch b/poky/meta/recipes-devtools/python/python3-psutil/0001-fix-failure-test-cases.patch new file mode 100644 index 0000000000..34ea03b27f --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-psutil/0001-fix-failure-test-cases.patch @@ -0,0 +1,197 @@ +From 8b4e38958ff8bdbb3ece4796bfa2d3b6f7536f71 Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Wed, 23 Feb 2022 11:54:40 +0800 +Subject: [PATCH] fix failure test cases + +The test cases is not robust enough. skip some cases that is +not suitable for all conditions. + +* test_io_counters failed when kernel config CONFIG_TASKSTATS + and CONFIG_TASK_IO_ACCOUNTING are not enable in OE +* test_setup_script failed since oe don't install setup.py +* test_used failed since oe use git source for free, so the version + is 3.3.17-dirty +* test_weird_environ failed since gcc not installed +* test_debug failed since it is designed to run when PSUTIL_DEBUG is set +* test_against_findmnt/test_comparisons/test_disk_partitions_mocked/ + test_disk_partitions is not suitable for Linux nfs boot + +Upstream-Status: Pending + +Signed-off-by: Changqing Li <changqing.li@windriver.com> +--- + psutil/tests/test_contracts.py | 1 + + psutil/tests/test_linux.py | 8 ++++++-- + psutil/tests/test_misc.py | 4 ++++ + psutil/tests/test_process.py | 5 +++++ + psutil/tests/test_system.py | 1 + + psutil/tests/test_unicode.py | 4 +++- + 6 files changed, 20 insertions(+), 3 deletions(-) + +diff --git a/psutil/tests/test_contracts.py b/psutil/tests/test_contracts.py +index 7401cc1..bf0fca0 100755 +--- a/psutil/tests/test_contracts.py ++++ b/psutil/tests/test_contracts.py +@@ -172,6 +172,7 @@ class TestAvailProcessAPIs(PsutilTestCase): + def test_rlimit(self): + self.assertEqual(hasattr(psutil.Process, "rlimit"), LINUX or FREEBSD) + ++ @unittest.skip("broken on OE since kernel config maye not be enabled") + def test_io_counters(self): + hasit = hasattr(psutil.Process, "io_counters") + self.assertEqual(hasit, False if MACOS or SUNOS else True) +diff --git a/psutil/tests/test_linux.py b/psutil/tests/test_linux.py +index 20e28d2..66b6dda 100755 +--- a/psutil/tests/test_linux.py ++++ b/psutil/tests/test_linux.py +@@ -196,8 +196,9 @@ def get_free_version_info(): + out = sh(["free", "-V"]).strip() + if 'UNKNOWN' in out: + raise unittest.SkipTest("can't determine free version") +- return tuple(map(int, out.split()[-1].split('.'))) +- ++ vlist = out.split()[-1].split('.') ++ vlist[:] = [n.split('-')[0] for n in vlist] ++ return tuple(map(int, vlist)) + + @contextlib.contextmanager + def mock_open_content(for_path, content): +@@ -1289,6 +1290,7 @@ class TestRootFsDeviceFinder(PsutilTestCase): + finder.ask_sys_class_block() + + @unittest.skipIf(GITHUB_ACTIONS, "unsupported on GITHUB_ACTIONS") ++ @unittest.skip("Broken for oe") + def test_comparisons(self): + finder = RootFsDeviceFinder() + self.assertIsNotNone(finder.find()) +@@ -1311,11 +1313,13 @@ class TestRootFsDeviceFinder(PsutilTestCase): + + @unittest.skipIf(not which("findmnt"), "findmnt utility not available") + @unittest.skipIf(GITHUB_ACTIONS, "unsupported on GITHUB_ACTIONS") ++ @unittest.skip("Broken for oe") + def test_against_findmnt(self): + psutil_value = RootFsDeviceFinder().find() + findmnt_value = sh("findmnt -o SOURCE -rn /") + self.assertEqual(psutil_value, findmnt_value) + ++ @unittest.skip("Broken for oe") + def test_disk_partitions_mocked(self): + with mock.patch( + 'psutil._pslinux.cext.disk_partitions', +diff --git a/psutil/tests/test_misc.py b/psutil/tests/test_misc.py +index d946eb6..121004a 100755 +--- a/psutil/tests/test_misc.py ++++ b/psutil/tests/test_misc.py +@@ -54,6 +54,8 @@ from psutil.tests import unittest + # =================================================================== + + ++PSUTIL_DEBUG = bool(os.getenv('PSUTIL_DEBUG', 0)) ++ + class TestMisc(PsutilTestCase): + + def test_process__repr__(self, func=repr): +@@ -368,6 +370,7 @@ class TestMisc(PsutilTestCase): + + # XXX: https://github.com/pypa/setuptools/pull/2896 + @unittest.skipIf(APPVEYOR, "temporarily disabled due to setuptools bug") ++ @unittest.skip("OE run this test outof source tree") + def test_setup_script(self): + setup_py = os.path.join(ROOT_DIR, 'setup.py') + if CI_TESTING and not os.path.exists(setup_py): +@@ -401,6 +404,7 @@ class TestMisc(PsutilTestCase): + reload_module(psutil) + self.assertIn("version conflict", str(cm.exception).lower()) + ++ @unittest.skipIf(not PSUTIL_DEBUG, "env PSUTIL_DEBUG not set") + def test_debug(self): + if PY3: + from io import StringIO +diff --git a/psutil/tests/test_process.py b/psutil/tests/test_process.py +index c9059e3..a34ba3d 100755 +--- a/psutil/tests/test_process.py ++++ b/psutil/tests/test_process.py +@@ -36,6 +36,7 @@ from psutil._compat import PY3 + from psutil._compat import FileNotFoundError + from psutil._compat import long + from psutil._compat import super ++from psutil._compat import which + from psutil.tests import APPVEYOR + from psutil.tests import CI_TESTING + from psutil.tests import GITHUB_ACTIONS +@@ -726,6 +727,7 @@ class TestProcess(PsutilTestCase): + self.assertEqual(' '.join(p.cmdline()), ' '.join(cmdline)) + + @unittest.skipIf(PYPY, "broken on PYPY") ++ @unittest.skipIf(not which("gcc"), "gcc not installed") + def test_long_cmdline(self): + testfn = self.get_testfn() + create_exe(testfn) +@@ -740,6 +742,7 @@ class TestProcess(PsutilTestCase): + assert pyexe.startswith(name), (pyexe, name) + + @unittest.skipIf(PYPY, "unreliable on PYPY") ++ @unittest.skipIf(not which("gcc"), "gcc not installed") + def test_long_name(self): + testfn = self.get_testfn(suffix="0123456789" * 2) + create_exe(testfn) +@@ -750,6 +753,7 @@ class TestProcess(PsutilTestCase): + @unittest.skipIf(SUNOS, "broken on SUNOS") + @unittest.skipIf(AIX, "broken on AIX") + @unittest.skipIf(PYPY, "broken on PYPY") ++ @unittest.skipIf(not which("gcc"), "gcc not installed") + def test_prog_w_funky_name(self): + # Test that name(), exe() and cmdline() correctly handle programs + # with funky chars such as spaces and ")", see: +@@ -1408,6 +1412,7 @@ class TestProcess(PsutilTestCase): + + @unittest.skipIf(not HAS_ENVIRON, "not supported") + @unittest.skipIf(not POSIX, "POSIX only") ++ @unittest.skipIf(not which("gcc"), "gcc not installed") + def test_weird_environ(self): + # environment variables can contain values without an equals sign + code = textwrap.dedent(""" +diff --git a/psutil/tests/test_system.py b/psutil/tests/test_system.py +index db2cb34..5ee519f 100755 +--- a/psutil/tests/test_system.py ++++ b/psutil/tests/test_system.py +@@ -580,6 +580,7 @@ class TestDiskAPIs(PsutilTestCase): + def test_disk_usage_bytes(self): + psutil.disk_usage(b'.') + ++ @unittest.skip("Broken for oe") + def test_disk_partitions(self): + def check_ntuple(nt): + self.assertIsInstance(nt.device, str) +diff --git a/psutil/tests/test_unicode.py b/psutil/tests/test_unicode.py +index e635726..7ba5b0f 100755 +--- a/psutil/tests/test_unicode.py ++++ b/psutil/tests/test_unicode.py +@@ -86,6 +86,7 @@ from psutil import POSIX + from psutil import WINDOWS + from psutil._compat import PY3 + from psutil._compat import u ++from psutil._compat import which + from psutil.tests import APPVEYOR + from psutil.tests import ASCII_FS + from psutil.tests import CI_TESTING +@@ -156,7 +157,7 @@ def try_unicode(suffix): + # FS APIs + # =================================================================== + +- ++@unittest.skipIf(not which("gcc"), "gcc not installed") + class BaseUnicodeTest(PsutilTestCase): + funky_suffix = None + +@@ -169,6 +170,7 @@ class BaseUnicodeTest(PsutilTestCase): + @serialrun + @unittest.skipIf(ASCII_FS, "ASCII fs") + @unittest.skipIf(PYPY and not PY3, "too much trouble on PYPY2") ++@unittest.skipIf(not which("gcc"), "gcc not installed") + class TestFSAPIs(BaseUnicodeTest): + """Test FS APIs with a funky, valid, UTF8 path name.""" + +-- +2.25.1 + diff --git a/poky/meta/recipes-devtools/python/python3-psutil_5.9.0.bb b/poky/meta/recipes-devtools/python/python3-psutil_5.9.0.bb new file mode 100644 index 0000000000..df304f01e6 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-psutil_5.9.0.bb @@ -0,0 +1,29 @@ +SUMMARY = "A cross-platform process and system utilities module for Python" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e35fd9f271d19d5f742f20a9d1f8bb8b" +HOMEPAGE = "https://pypi.org/project/psutil/" + +SRC_URI[sha256sum] = "869842dbd66bb80c3217158e629d6fceaecc3a3166d3d1faee515b05dd26ca25" + +inherit pypi setuptools3 + +SRC_URI += "file://0001-fix-failure-test-cases.patch" + +PACKAGES =+ "${PN}-tests" + +FILES:${PN}-tests += " \ + ${PYTHON_SITEPACKAGES_DIR}/psutil/test* \ + ${PYTHON_SITEPACKAGES_DIR}/psutil/__pycache__/test* \ +" + + +RDEPENDS:${PN} += " \ + ${PYTHON_PN}-shell \ + ${PYTHON_PN}-threading \ + ${PYTHON_PN}-xml \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-ctypes \ + ${PYTHON_PN}-resource \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-py_1.11.0.bb b/poky/meta/recipes-devtools/python/python3-py_1.11.0.bb index 02027248f4..a2bd2d84fc 100644 --- a/poky/meta/recipes-devtools/python/python3-py_1.11.0.bb +++ b/poky/meta/recipes-devtools/python/python3-py_1.11.0.bb @@ -7,7 +7,7 @@ SRC_URI[sha256sum] = "51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4 DEPENDS += "${PYTHON_PN}-setuptools-scm-native" -inherit pypi setuptools_build_meta +inherit pypi python_setuptools_build_meta BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-pyasn1/run-ptest b/poky/meta/recipes-devtools/python/python3-pyasn1/run-ptest new file mode 100644 index 0000000000..b63c4de0d9 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pyasn1/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/poky/meta/recipes-devtools/python/python3-pyasn1_0.4.8.bb b/poky/meta/recipes-devtools/python/python3-pyasn1_0.4.8.bb new file mode 100644 index 0000000000..a5e2a71362 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pyasn1_0.4.8.bb @@ -0,0 +1,2 @@ +inherit pypi setuptools3 +require python-pyasn1.inc diff --git a/poky/meta/recipes-devtools/python/python3-pycairo_1.20.1.bb b/poky/meta/recipes-devtools/python/python3-pycairo_1.21.0.bb index 5c236d40a3..29452c7660 100644 --- a/poky/meta/recipes-devtools/python/python3-pycairo_1.20.1.bb +++ b/poky/meta/recipes-devtools/python/python3-pycairo_1.21.0.bb @@ -13,8 +13,7 @@ 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[md5sum] = "fa88a28cadbfb34192fe743d32c0ee33" -SRC_URI[sha256sum] = "1ee72b035b21a475e1ed648e26541b04e5d7e753d75ca79de8c583b25785531b" +SRC_URI[sha256sum] = "251907f18a552df938aa3386657ff4b5a4937dde70e11aa042bc297957f4b74b" S = "${WORKDIR}/pycairo-${PV}" diff --git a/poky/meta/recipes-devtools/python/python3-pycparser_2.21.bb b/poky/meta/recipes-devtools/python/python3-pycparser_2.21.bb new file mode 100644 index 0000000000..53b7367903 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pycparser_2.21.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=2c28cdeabcb88f5843d934381b4b4fea" + +SRC_URI[sha256sum] = "e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" + +RDEPENDS:${PN}:class-target += "\ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-ply \ + ${PYTHON_PN}-pprint \ + " + +RSUGGESTS:${PN}:class-target += "\ + cpp \ + cpp-symlinks \ + " diff --git a/poky/meta/recipes-devtools/python/python3-pyopenssl_22.0.0.bb b/poky/meta/recipes-devtools/python/python3-pyopenssl_22.0.0.bb new file mode 100644 index 0000000000..db0e809ef5 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pyopenssl_22.0.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 ${PYTHON_PN}-cryptography" + +SRC_URI[sha256sum] = "660b1b1425aac4a1bea1d94168a85d99f0b3144c869dd4390d27629d0087f1bf" + +PYPI_PACKAGE = "pyOpenSSL" +inherit pypi setuptools3 + +PACKAGES =+ "${PN}-tests" +FILES:${PN}-tests = "${libdir}/${PYTHON_DIR}/site-packages/OpenSSL/test" + +RDEPENDS:${PN}:class-target = " \ + ${PYTHON_PN}-cryptography \ + ${PYTHON_PN}-six \ + ${PYTHON_PN}-threading \ +" +RDEPENDS:${PN}-tests = "${PN}" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-pyparsing_3.0.7.bb b/poky/meta/recipes-devtools/python/python3-pyparsing_3.0.7.bb index 14faea6590..9c3896918f 100644 --- a/poky/meta/recipes-devtools/python/python3-pyparsing_3.0.7.bb +++ b/poky/meta/recipes-devtools/python/python3-pyparsing_3.0.7.bb @@ -19,6 +19,7 @@ inherit pypi setuptools3 RDEPENDS:${PN} += " \ ${PYTHON_PN}-datetime \ ${PYTHON_PN}-debugger \ + ${PYTHON_PN}-html \ ${PYTHON_PN}-json \ ${PYTHON_PN}-netclient \ ${PYTHON_PN}-pprint \ diff --git a/poky/meta/recipes-devtools/python/python3-pyrsistent_0.18.1.bb b/poky/meta/recipes-devtools/python/python3-pyrsistent_0.18.1.bb index 4c9b8ec1dd..b4d9e3af39 100644 --- a/poky/meta/recipes-devtools/python/python3-pyrsistent_0.18.1.bb +++ b/poky/meta/recipes-devtools/python/python3-pyrsistent_0.18.1.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.mit;md5=b695eb9c6e7a6fb1b1bc2d193c42776e" SRC_URI[sha256sum] = "d4d61f8b993a7255ba714df3aca52700f8125289f84f704cf80916517c46eb96" -inherit pypi setuptools3 +inherit pypi python_setuptools_build_meta RDEPENDS:${PN} += " \ ${PYTHON_PN}-numbers \ diff --git a/poky/meta/recipes-devtools/python/python3-pysocks_1.7.1.bb b/poky/meta/recipes-devtools/python/python3-pysocks_1.7.1.bb new file mode 100644 index 0000000000..9144401703 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pysocks_1.7.1.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "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 += "\ + ${PYTHON_PN}-email \ + ${PYTHON_PN}-io \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-shell \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-pytest-runner_6.0.0.bb b/poky/meta/recipes-devtools/python/python3-pytest-runner_6.0.0.bb new file mode 100644 index 0000000000..f7a2c1bb95 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pytest-runner_6.0.0.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] = "b4d85362ed29b4c348678de797df438f0f0509497ddb8c647096c02a6d87b685" + +inherit pypi python_setuptools_build_meta + +DEPENDS += " \ + ${PYTHON_PN}-setuptools-scm-native" + +RDEPENDS:${PN} = "${PYTHON_PN}-py ${PYTHON_PN}-setuptools ${PYTHON_PN}-debugger ${PYTHON_PN}-json \ + ${PYTHON_PN}-io ${PYTHON_PN}-distutils" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-pytest-subtests_0.7.0.bb b/poky/meta/recipes-devtools/python/python3-pytest-subtests_0.7.0.bb new file mode 100644 index 0000000000..060a6ff6cf --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pytest-subtests_0.7.0.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] = "95c44c77e3fbede9848bb88ca90b384815fcba8090ef9a9f55659ab163b1681c" + +inherit pypi setuptools3 + +DEPENDS += "${PYTHON_PN}-setuptools-scm-native" + +RDEPENDS:${PN} += " \ + ${PYTHON_PN}-pytest \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-pytest_7.0.1.bb b/poky/meta/recipes-devtools/python/python3-pytest_7.1.1.bb index ea6ba80300..1cb2fb01c0 100644 --- a/poky/meta/recipes-devtools/python/python3-pytest_7.0.1.bb +++ b/poky/meta/recipes-devtools/python/python3-pytest_7.1.1.bb @@ -5,11 +5,11 @@ DESCRIPTION = "The pytest framework makes it easy to write small tests, yet scal LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=bd27e41b6550fe0fc45356d1d81ee37c" -SRC_URI[sha256sum] = "e30905a0c131d3d94b89624a1cc5afec3e0ba2fbdb151867d8e0ebd49850f171" +SRC_URI[sha256sum] = "841132caef6b1ad17a9afde46dc4f6cfa59a05f9555aae5151f73bdf2820ca63" DEPENDS += "python3-setuptools-scm-native" -inherit update-alternatives pypi setuptools_build_meta +inherit update-alternatives pypi python_setuptools_build_meta RDEPENDS:${PN}:class-target += " \ ${PYTHON_PN}-atomicwrites \ diff --git a/poky/meta/recipes-devtools/python/python3-pytz/run-ptest b/poky/meta/recipes-devtools/python/python3-pytz/run-ptest new file mode 100644 index 0000000000..b63c4de0d9 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pytz/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/poky/meta/recipes-devtools/python/python3-pytz_2022.1.bb b/poky/meta/recipes-devtools/python/python3-pytz_2022.1.bb new file mode 100644 index 0000000000..a4bb4f5c8f --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pytz_2022.1.bb @@ -0,0 +1,35 @@ +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] = "1e760e2fe6a8163bc0b3d9a19c4f84342afa0a2affebfaa84b01b978a02ecaa7" + +RDEPENDS:${PN}:class-target += "\ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-doctest \ + ${PYTHON_PN}-io \ + ${PYTHON_PN}-pickle \ + ${PYTHON_PN}-pprint \ + ${PYTHON_PN}-threading \ +" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS:${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ +" + +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/poky/meta/recipes-devtools/python/python3-pyyaml_6.0.bb b/poky/meta/recipes-devtools/python/python3-pyyaml_6.0.bb index 2df0e649f0..d142a0fc3e 100644 --- a/poky/meta/recipes-devtools/python/python3-pyyaml_6.0.bb +++ b/poky/meta/recipes-devtools/python/python3-pyyaml_6.0.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=6d8242660a8371add5fe547adf083079" PYPI_PACKAGE = "PyYAML" -inherit pypi setuptools3 +inherit pypi python_setuptools_build_meta SRC_URI[sha256sum] = "68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2" diff --git a/poky/meta/recipes-devtools/python/python3-requests_2.27.1.bb b/poky/meta/recipes-devtools/python/python3-requests_2.27.1.bb new file mode 100644 index 0000000000..af52b7caf5 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-requests_2.27.1.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "Python HTTP for Humans." +HOMEPAGE = "http://python-requests.org" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658" + +SRC_URI[sha256sum] = "68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61" + +inherit pypi setuptools3 + +RDEPENDS:${PN} += " \ + ${PYTHON_PN}-email \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-ndg-httpsclient \ + ${PYTHON_PN}-netserver \ + ${PYTHON_PN}-pyasn1 \ + ${PYTHON_PN}-pyopenssl \ + ${PYTHON_PN}-pysocks \ + ${PYTHON_PN}-urllib3 \ + ${PYTHON_PN}-chardet \ + ${PYTHON_PN}-idna \ +" + +CVE_PRODUCT = "requests" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-scons_4.3.0.bb b/poky/meta/recipes-devtools/python/python3-scons_4.3.0.bb index cfb075f65f..ae91d980fe 100644 --- a/poky/meta/recipes-devtools/python/python3-scons_4.3.0.bb +++ b/poky/meta/recipes-devtools/python/python3-scons_4.3.0.bb @@ -8,7 +8,6 @@ SRC_URI += " file://0001-Fix-man-page-installation.patch" SRC_URI[sha256sum] = "d47081587e3675cc168f1f54f0d74a69b328a2fc90ec4feb85f728677419b879" PYPI_PACKAGE = "SCons" -PIP_INSTALL_DIST_PATH = "${B}/build/dist" inherit pypi setuptools3 @@ -29,7 +28,6 @@ do_install:append() { install -d ${D}${mandir}/man1 mv ${D}${prefix}/scons*.1 ${D}${mandir}/man1/ } -FILES:${PN}-doc += "${mandir}/man1/scons*.1" do_install:append:class-native() { create_wrapper ${D}${bindir}/scons SCONS_LIB_DIR='${STAGING_DIR_HOST}/${PYTHON_SITEPACKAGES_DIR}' PYTHONNOUSERSITE='1' diff --git a/poky/meta/recipes-devtools/python/python3-semantic-version_2.9.0.bb b/poky/meta/recipes-devtools/python/python3-semantic-version_2.9.0.bb new file mode 100644 index 0000000000..4101f48043 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-semantic-version_2.9.0.bb @@ -0,0 +1,14 @@ +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] = "abf54873553e5e07a6fd4d5f653b781f5ae41297a493666b59dcf214006a12b2" + +PYPI_PACKAGE = "semantic_version" +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" + +UPSTREAM_CHECK_REGEX = "/semantic-version/(?P<pver>(\d+[\.\-_]*)+)/" diff --git a/poky/meta/recipes-devtools/python/python3-setuptools-rust-native_1.1.2.bb b/poky/meta/recipes-devtools/python/python3-setuptools-rust-native_1.1.2.bb new file mode 100644 index 0000000000..8ec9a86f00 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-setuptools-rust-native_1.1.2.bb @@ -0,0 +1,26 @@ +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 = "https://files.pythonhosted.org/packages/67/08/e1aa2c582c62ac76e4d60f8e454bd3bba933781a06a88b4e38797445822a/setuptools-rust-${PV}.tar.gz" +SRC_URI[sha256sum] = "a0adb9b503c0ffc4e8fe80b7c617898cefa78049983aaaea7f747e153a3e65d1" + +inherit cargo pypi python_setuptools_build_meta native + +DEPENDS += "python3-setuptools-scm-native python3-wheel-native" + +RDEPENDS:${PN}:class-native += " \ + python3-semantic-version-native \ + python3-setuptools-native \ + python3-setuptools-scm-native \ + python3-toml-native \ + python3-typing-extensions-native \ + python3-wheel-native \ +" diff --git a/poky/meta/recipes-devtools/python/python3-setuptools-scm_6.4.2.bb b/poky/meta/recipes-devtools/python/python3-setuptools-scm_6.4.2.bb index 182ccecbbf..e09c598bf5 100644 --- a/poky/meta/recipes-devtools/python/python3-setuptools-scm_6.4.2.bb +++ b/poky/meta/recipes-devtools/python/python3-setuptools-scm_6.4.2.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148 SRC_URI[sha256sum] = "6833ac65c6ed9711a4d5d2266f8024cfa07c533a0e55f4c12f6eff280a5a9e30" PYPI_PACKAGE = "setuptools_scm" -inherit pypi setuptools_build_meta +inherit pypi python_setuptools_build_meta UPSTREAM_CHECK_REGEX = "setuptools_scm-(?P<pver>.*)\.tar" diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_59.5.0.bb b/poky/meta/recipes-devtools/python/python3-setuptools_59.5.0.bb index 2155101d30..f2810e18d3 100644 --- a/poky/meta/recipes-devtools/python/python3-setuptools_59.5.0.bb +++ b/poky/meta/recipes-devtools/python/python3-setuptools_59.5.0.bb @@ -4,7 +4,7 @@ SECTION = "devel/python" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=19;md5=7a7126e068206290f3fe9f8d6c713ea6" -inherit pypi setuptools_build_meta +inherit pypi python_setuptools_build_meta SRC_URI:append:class-native = " file://0001-conditionally-do-not-fetch-code-by-easy_install.patch" @@ -17,19 +17,6 @@ SRC_URI[sha256sum] = "d144f85102f999444d06f9c0e8c737fd0194f10f2f7e5fdb77573f6e2f DEPENDS += "${PYTHON_PN}" -# Avoid dependency loop; we bootstrap -native -DEPENDS:remove:class-native = "python3-pip-native python3-setuptools-native" -DEPENDS:append:class-native = " unzip-native" - -PYPA_WHEEL ?= "${B}/dist/${PYPI_PACKAGE}-${PV}-*.whl" - -do_install:class-native() { - # Bootstrap to prevent dependency loop in python3-pip-native - install -d ${D}${PYTHON_SITEPACKAGES_DIR} - unzip -d ${D}${PYTHON_SITEPACKAGES_DIR} ${PYPA_WHEEL} || \ - bbfatal_log "Failed to unzip wheel: ${PYPA_WHEEL}. Check the logs." -} - RDEPENDS:${PN} = "\ ${PYTHON_PN}-2to3 \ ${PYTHON_PN}-compile \ @@ -64,3 +51,7 @@ RDEPENDS:${PYTHON_PN}-pkg-resources = "\ ${PYTHON_PN}-plistlib \ ${PYTHON_PN}-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/poky/meta/recipes-devtools/python/python3-snowballstemmer_2.2.0.bb b/poky/meta/recipes-devtools/python/python3-snowballstemmer_2.2.0.bb new file mode 100644 index 0000000000..ff120a3fc4 --- /dev/null +++ b/poky/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/poky/meta/recipes-devtools/python/python3-sphinx-rtd-theme_0.5.0.bb b/poky/meta/recipes-devtools/python/python3-sphinx-rtd-theme_0.5.0.bb new file mode 100644 index 0000000000..fa375055a1 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-sphinx-rtd-theme_0.5.0.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "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" + +DEPENDS = "python3-sphinx" + +PYPI_PACKAGE = "sphinx_rtd_theme" + +SRC_URI[sha256sum] = "22c795ba2832a169ca301cd0a083f7a434e09c538c70beb42782c073651b707d" +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/poky/meta/recipes-devtools/python/python3-sphinx_4.4.0.bb b/poky/meta/recipes-devtools/python/python3-sphinx_4.4.0.bb new file mode 100644 index 0000000000..97ec2619cb --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-sphinx_4.4.0.bb @@ -0,0 +1,28 @@ +DESCRIPTION = "Python documentation generator" +HOMEPAGE = "http://sphinx-doc.org/" +SECTION = "devel/python" +LICENSE = "BSD-2-Clause & MIT & BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=de4349dda741c550eb8b20f6b92f38d7" + +PYPI_PACKAGE = "Sphinx" + +SRC_URI[sha256sum] = "6caad9786055cb1fa22b4a365c1775816b876f91966481765d7d50e9f0dd35cc" + +inherit setuptools3 pypi + + +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-packaging python3-docutils python3-requests \ + python3-imagesize python3-alabaster python3-jinja2 \ + python3-babel python3-pygments python3-snowballstemmer \ + python3-sphinxcontrib-applehelp python3-sphinxcontrib-devhelp \ + python3-sphinxcontrib-jsmath python3-sphinxcontrib-htmlhelp \ + python3-sphinxcontrib-serializinghtml python3-sphinxcontrib-qthelp \ + " + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-applehelp_1.0.2.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-applehelp_1.0.2.bb new file mode 100644 index 0000000000..cde0da8265 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-applehelp_1.0.2.bb @@ -0,0 +1,12 @@ +DESCRIPTION = "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] = "a072735ec80e7675e3f432fcae8610ecf509c5f1869d17e2eecff44389cdbc58" + +PYPI_PACKAGE = "sphinxcontrib-applehelp" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-devhelp_1.0.2.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-devhelp_1.0.2.bb new file mode 100644 index 0000000000..7b7bda7807 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-devhelp_1.0.2.bb @@ -0,0 +1,12 @@ +DESCRIPTION = "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] = "ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4" + +PYPI_PACKAGE = "sphinxcontrib-devhelp" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-htmlhelp_2.0.0.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-htmlhelp_2.0.0.bb new file mode 100644 index 0000000000..cd8b987e0c --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-htmlhelp_2.0.0.bb @@ -0,0 +1,12 @@ +DESCRIPTION = "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] = "f5f8bb2d0d629f398bf47d0d69c07bc13b65f75a81ad9e2f71a63d4b7a2f6db2" + +PYPI_PACKAGE = "sphinxcontrib-htmlhelp" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-jsmath_1.0.1.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-jsmath_1.0.1.bb new file mode 100644 index 0000000000..863458a1dc --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-jsmath_1.0.1.bb @@ -0,0 +1,12 @@ +DESCRIPTION = "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/poky/meta/recipes-devtools/python/python3-sphinxcontrib-qthelp_1.0.3.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-qthelp_1.0.3.bb new file mode 100644 index 0000000000..8ebfbba741 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-qthelp_1.0.3.bb @@ -0,0 +1,12 @@ +DESCRIPTION = "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] = "4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72" + +PYPI_PACKAGE = "sphinxcontrib-qthelp" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-serializinghtml_1.1.5.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-serializinghtml_1.1.5.bb new file mode 100644 index 0000000000..71dde37593 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-serializinghtml_1.1.5.bb @@ -0,0 +1,12 @@ +DESCRIPTION = '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] = "aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952" + +PYPI_PACKAGE = "sphinxcontrib-serializinghtml" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-strict-rfc3339_0.7.bb b/poky/meta/recipes-devtools/python/python3-strict-rfc3339_0.7.bb index b592cb95d4..c377c3bfb0 100644 --- a/poky/meta/recipes-devtools/python/python3-strict-rfc3339_0.7.bb +++ b/poky/meta/recipes-devtools/python/python3-strict-rfc3339_0.7.bb @@ -8,6 +8,4 @@ SRC_URI[sha256sum] = "5cad17bedfc3af57b399db0fed32771f18fc54bbd917e85546088607ac inherit pypi setuptools3 -PIP_INSTALL_PACKAGE = "strict_rfc3339" - BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-subunit_1.4.0.bb b/poky/meta/recipes-devtools/python/python3-subunit_1.4.0.bb index bc49a2b69e..e4e3bf191d 100644 --- a/poky/meta/recipes-devtools/python/python3-subunit_1.4.0.bb +++ b/poky/meta/recipes-devtools/python/python3-subunit_1.4.0.bb @@ -10,8 +10,6 @@ SRC_URI[sha256sum] = "042039928120fbf392e8c983d60f3d8ae1b88f90a9f8fd7188ddd9c26c inherit pypi setuptools3 -PIP_INSTALL_PACKAGE = "python_subunit" - RDEPENDS:${PN} = " python3-testtools" BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-tomli_2.0.1.bb b/poky/meta/recipes-devtools/python/python3-tomli_2.0.1.bb index c3d51282c2..6118a6a9c3 100644 --- a/poky/meta/recipes-devtools/python/python3-tomli_2.0.1.bb +++ b/poky/meta/recipes-devtools/python/python3-tomli_2.0.1.bb @@ -6,15 +6,8 @@ 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] = "de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f" -do_configure:prepend() { -cat > ${S}/setup.py <<-EOF -from setuptools import setup -setup(name="tomli", version="${PV}", packages=["tomli"], package_dir={'tomli': 'src/tomli'}, package_data={"": ["*"]}) -EOF -} - BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-typing-extensions_3.10.0.0.bb b/poky/meta/recipes-devtools/python/python3-typing-extensions_3.10.0.0.bb new file mode 100644 index 0000000000..a8e83fc824 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-typing-extensions_3.10.0.0.bb @@ -0,0 +1,14 @@ +HOMEPAGE = "https://github.com/python/typing" +LICENSE = "PSF-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=64fc2b30b67d0a8423c250e0386ed72f" + +# The name on PyPi is slightly different. +PYPI_PACKAGE = "typing_extensions" + +SRC_URI[sha256sum] = "50b6f157849174217d0656f99dc82fe932884fb250826c18350e159ec6cdf342" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" + +UPSTREAM_CHECK_REGEX = "/typing-extensions/(?P<pver>(\d+[\.\-_]*)+)/" diff --git a/poky/meta/recipes-devtools/python/python3-urllib3_1.26.9.bb b/poky/meta/recipes-devtools/python/python3-urllib3_1.26.9.bb new file mode 100644 index 0000000000..95ae4a54a4 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-urllib3_1.26.9.bb @@ -0,0 +1,22 @@ +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=c2823cb995439c984fd62a973d79815c" + +SRC_URI[sha256sum] = "aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e" + +inherit pypi setuptools3 + +RDEPENDS:${PN} += "\ + ${PYTHON_PN}-certifi \ + ${PYTHON_PN}-cryptography \ + ${PYTHON_PN}-email \ + ${PYTHON_PN}-idna \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-pyopenssl \ + ${PYTHON_PN}-threading \ +" + +CVE_PRODUCT = "urllib3" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-wheel_0.37.1.bb b/poky/meta/recipes-devtools/python/python3-wheel_0.37.1.bb index 91bff82509..2f7dd122ba 100644 --- a/poky/meta/recipes-devtools/python/python3-wheel_0.37.1.bb +++ b/poky/meta/recipes-devtools/python/python3-wheel_0.37.1.bb @@ -6,35 +6,12 @@ LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=10;endline=10;md5=8227180126797a01 SRC_URI[sha256sum] = "e9a504e793efbca1b8e0e9cb979a249cf4a0a7b5b8c9e8b65a5e39d49529c1c4" -inherit flit_core pypi setuptools3-base +inherit python_flit_core pypi SRC_URI += " file://0001-Backport-pyproject.toml-from-flit-backend-branch.patch" -DEPENDS:remove:class-native = "python3-pip-native" - -do_install:class-native () { - # We need to bootstrap python3-wheel-native - install -d ${D}${PYTHON_SITEPACKAGES_DIR} - PYPA_WHEEL="${B}/dist/${PYPI_PACKAGE}-${PV}-*.whl" - unzip -d ${D}${PYTHON_SITEPACKAGES_DIR} ${PYPA_WHEEL} || \ - bbfatal_log "Failed to install" - - # pip install would normally generate [project.scripts] in ${bindir} - install -d ${D}/${bindir} - cat << EOF >> ${D}/${bindir}/wheel -#!/bin/sh -'''exec' ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} "\$0" "\$@" -' ''' -# -*- coding: utf-8 -*- -import re -import sys -from wheel.cli import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) -EOF - chmod 0755 ${D}${bindir}/wheel -} - 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/poky/meta/recipes-devtools/python/python3-zipp_3.7.0.bb b/poky/meta/recipes-devtools/python/python3-zipp_3.7.0.bb index d0f936faf7..495e7f51f0 100644 --- a/poky/meta/recipes-devtools/python/python3-zipp_3.7.0.bb +++ b/poky/meta/recipes-devtools/python/python3-zipp_3.7.0.bb @@ -7,7 +7,7 @@ SRC_URI[sha256sum] = "9f50f446828eb9d45b267433fd3e9da8d801f614129124863f9c51ebce DEPENDS += "${PYTHON_PN}-setuptools-scm-native" -inherit pypi setuptools_build_meta +inherit pypi python_setuptools_build_meta DEPENDS += "${PYTHON_PN}-toml-native" diff --git a/poky/meta/recipes-devtools/python/python3_3.10.2.bb b/poky/meta/recipes-devtools/python/python3_3.10.3.bb index 429839b622..5c0f0a9eb2 100644 --- a/poky/meta/recipes-devtools/python/python3_3.10.2.bb +++ b/poky/meta/recipes-devtools/python/python3_3.10.3.bb @@ -40,7 +40,7 @@ SRC_URI:append:class-native = " \ file://12-distutils-prefix-is-inside-staging-area.patch \ file://0001-Don-t-search-system-for-headers-libraries.patch \ " -SRC_URI[sha256sum] = "17de3ac7da9f2519aa9d64378c603a73a0e9ad58dffa8812e45160c086de64c7" +SRC_URI[sha256sum] = "596c72de998dc39205bc4f70ef0dbf7edec740a306d09b49a9bd0a77806730dc" # exclude pre-releases for both python 2.x and 3.x UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar" @@ -52,9 +52,8 @@ CVE_PRODUCT = "python" CVE_CHECK_IGNORE += "CVE-2007-4559" # This is not exploitable when glibc has CVE-2016-10739 fixed. CVE_CHECK_IGNORE += "CVE-2019-18348" - -# This is windows only issue. -CVE_CHECK_IGNORE += "CVE-2020-15523" +# These are specific to Microsoft Windows +CVE_CHECK_IGNORE += "CVE-2020-15523 CVE-2022-26488" PYTHON_MAJMIN = "3.10" @@ -71,7 +70,7 @@ 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 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" @@ -152,13 +151,23 @@ 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 + } 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` @@ -177,8 +186,13 @@ do_install:append() { # 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* + + # 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 () { |