diff options
Diffstat (limited to 'meta/recipes-devtools/python')
186 files changed, 0 insertions, 9360 deletions
diff --git a/meta/recipes-devtools/python/python-extras.inc b/meta/recipes-devtools/python/python-extras.inc deleted file mode 100644 index b562f90d12..0000000000 --- a/meta/recipes-devtools/python/python-extras.inc +++ /dev/null | |||
| @@ -1,11 +0,0 @@ | |||
| 1 | SUMMARY = "Useful extra bits for Python - things that should be in the standard library" | ||
| 2 | HOMEPAGE = "https://pypi.org/project/extras/" | ||
| 3 | SECTION = "devel/python" | ||
| 4 | LICENSE = "Apache-2.0" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=6d108f338b2f68fe48ac366c4650bd8b" | ||
| 6 | |||
| 7 | inherit pypi | ||
| 8 | |||
| 9 | SRC_URI[sha256sum] = "132e36de10b9c91d5d4cc620160a476e0468a88f16c9431817a6729611a81b4e" | ||
| 10 | |||
| 11 | BBCLASSEXTEND = "nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python-pycryptodome.inc b/meta/recipes-devtools/python/python-pycryptodome.inc deleted file mode 100644 index ec9241e6d5..0000000000 --- a/meta/recipes-devtools/python/python-pycryptodome.inc +++ /dev/null | |||
| @@ -1,28 +0,0 @@ | |||
| 1 | SUMMARY = "Cryptographic library for Python" | ||
| 2 | DESCRIPTION = "PyCryptodome is a self-contained Python package of low-level\ | ||
| 3 | cryptographic primitives." | ||
| 4 | HOMEPAGE = "http://www.pycryptodome.org" | ||
| 5 | LICENSE = "PD & BSD-2-Clause" | ||
| 6 | LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=29242a70410a4eeff488a28164e7ab93" | ||
| 7 | |||
| 8 | inherit pypi | ||
| 9 | |||
| 10 | RDEPENDS:${PN} += " \ | ||
| 11 | python3-cffi \ | ||
| 12 | python3-ctypes \ | ||
| 13 | python3-io \ | ||
| 14 | python3-math \ | ||
| 15 | " | ||
| 16 | |||
| 17 | RDEPENDS:${PN}-tests += " \ | ||
| 18 | python3-unittest \ | ||
| 19 | " | ||
| 20 | |||
| 21 | PACKAGES =+ "${PN}-tests" | ||
| 22 | |||
| 23 | FILES:${PN}-tests = " \ | ||
| 24 | ${PYTHON_SITEPACKAGES_DIR}/Crypto/SelfTest/ \ | ||
| 25 | ${PYTHON_SITEPACKAGES_DIR}/Crypto/SelfTest/__pycache__/ \ | ||
| 26 | " | ||
| 27 | |||
| 28 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python-six.inc b/meta/recipes-devtools/python/python-six.inc deleted file mode 100644 index f7a62b6068..0000000000 --- a/meta/recipes-devtools/python/python-six.inc +++ /dev/null | |||
| @@ -1,11 +0,0 @@ | |||
| 1 | SUMMARY = "Python 2 and 3 compatibility library" | ||
| 2 | HOMEPAGE = "https://pypi.org/project/six/" | ||
| 3 | SECTION = "devel/python" | ||
| 4 | LICENSE = "MIT" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e50fab7e9501f3dfc920eafeb24b46ea" | ||
| 6 | |||
| 7 | inherit pypi | ||
| 8 | |||
| 9 | RDEPENDS:${PN} = "python3-io" | ||
| 10 | |||
| 11 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-alabaster_1.0.0.bb b/meta/recipes-devtools/python/python3-alabaster_1.0.0.bb deleted file mode 100644 index 40be6039eb..0000000000 --- a/meta/recipes-devtools/python/python3-alabaster_1.0.0.bb +++ /dev/null | |||
| @@ -1,12 +0,0 @@ | |||
| 1 | SUMMARY = "Alabaster is a visually (c)lean, responsive, configurable theme for the Sphinx documentation system." | ||
| 2 | HOMEPAGE = "https://alabaster.readthedocs.io/en/latest/" | ||
| 3 | BUGTRACKER = "https://github.com/sphinx-doc/alabaster/issues" | ||
| 4 | SECTION = "devel/python" | ||
| 5 | LICENSE = "BSD-3-Clause" | ||
| 6 | LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=21860fdb805bf4e0bfaf94b566b747fa" | ||
| 7 | |||
| 8 | SRC_URI[sha256sum] = "c00dca57bca26fa62a6d7d0a9fcce65f3e026e9bfe33e9c538fd3fbb2144fd9e" | ||
| 9 | |||
| 10 | inherit python_flit_core pypi | ||
| 11 | |||
| 12 | 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 deleted file mode 100644 index 322497b09b..0000000000 --- a/meta/recipes-devtools/python/python3-asn1crypto_1.5.1.bb +++ /dev/null | |||
| @@ -1,24 +0,0 @@ | |||
| 1 | SUMMARY = "A fast, pure Python library for parsing and serializing ASN.1 structures" | ||
| 2 | HOMEPAGE = "https://github.com/wbond/asn1crypto" | ||
| 3 | SECTION = "devel/python" | ||
| 4 | LICENSE = "MIT" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=b5cda97fbd7959ad47a952651a87051a" | ||
| 6 | |||
| 7 | PYPI_PACKAGE = "asn1crypto" | ||
| 8 | |||
| 9 | SRC_URI[sha256sum] = "13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c" | ||
| 10 | |||
| 11 | inherit pypi setuptools3 | ||
| 12 | |||
| 13 | RDEPENDS:${PN}:class-target += " \ | ||
| 14 | python3-codecs \ | ||
| 15 | python3-crypt \ | ||
| 16 | python3-ctypes \ | ||
| 17 | python3-datetime \ | ||
| 18 | python3-io \ | ||
| 19 | python3-netclient \ | ||
| 20 | python3-numbers \ | ||
| 21 | python3-shell \ | ||
| 22 | " | ||
| 23 | |||
| 24 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-atomicwrites_1.4.1.bb b/meta/recipes-devtools/python/python3-atomicwrites_1.4.1.bb deleted file mode 100644 index b14b62ab2f..0000000000 --- a/meta/recipes-devtools/python/python3-atomicwrites_1.4.1.bb +++ /dev/null | |||
| @@ -1,16 +0,0 @@ | |||
| 1 | SUMMARY = "Powerful Python library for atomic file writes" | ||
| 2 | HOMEPAGE = "https://github.com/untitaker/python-atomicwrites" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=91cc36cfafeefb7863673bcfcb1d4da4" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11" | ||
| 7 | |||
| 8 | inherit pypi setuptools3 ptest-python-pytest | ||
| 9 | |||
| 10 | RDEPENDS:${PN}-ptest += " \ | ||
| 11 | python3-unixadmin \ | ||
| 12 | " | ||
| 13 | |||
| 14 | RDEPENDS:${PN} = "python3-misc" | ||
| 15 | |||
| 16 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-attrs_25.3.0.bb b/meta/recipes-devtools/python/python3-attrs_25.3.0.bb deleted file mode 100644 index bed26a5184..0000000000 --- a/meta/recipes-devtools/python/python3-attrs_25.3.0.bb +++ /dev/null | |||
| @@ -1,28 +0,0 @@ | |||
| 1 | SUMMARY = "Classes Without Boilerplate" | ||
| 2 | HOMEPAGE = "http://www.attrs.org/" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=5e55731824cf9205cfabeab9a0600887" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b" | ||
| 7 | |||
| 8 | inherit pypi ptest-python-pytest python_hatchling | ||
| 9 | |||
| 10 | DEPENDS += " \ | ||
| 11 | python3-hatch-vcs-native \ | ||
| 12 | python3-hatch-fancy-pypi-readme-native \ | ||
| 13 | " | ||
| 14 | |||
| 15 | RDEPENDS:${PN} += " \ | ||
| 16 | python3-compression \ | ||
| 17 | python3-crypt \ | ||
| 18 | " | ||
| 19 | |||
| 20 | RDEPENDS:${PN}-ptest += " \ | ||
| 21 | python3-hypothesis \ | ||
| 22 | " | ||
| 23 | |||
| 24 | do_install_ptest:append() { | ||
| 25 | install ${S}/conftest.py ${D}${PTEST_PATH}/ | ||
| 26 | } | ||
| 27 | |||
| 28 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-babel_2.17.0.bb b/meta/recipes-devtools/python/python3-babel_2.17.0.bb deleted file mode 100644 index adffaa044c..0000000000 --- a/meta/recipes-devtools/python/python3-babel_2.17.0.bb +++ /dev/null | |||
| @@ -1,26 +0,0 @@ | |||
| 1 | SUMMARY = "A collection of tools for internationalizing Python applications" | ||
| 2 | HOMEPAGE = "http://babel.edgewall.org/" | ||
| 3 | LICENSE = "BSD-3-Clause" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e83509a66c69efcb4f3a7d4f27fd0693" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d" | ||
| 7 | |||
| 8 | inherit pypi setuptools3 | ||
| 9 | |||
| 10 | S = "${UNPACKDIR}/babel-${PV}" | ||
| 11 | |||
| 12 | CLEANBROKEN = "1" | ||
| 13 | |||
| 14 | RDEPENDS:${PN} += " \ | ||
| 15 | python3-codecs \ | ||
| 16 | python3-difflib \ | ||
| 17 | python3-netserver \ | ||
| 18 | python3-numbers \ | ||
| 19 | python3-pickle \ | ||
| 20 | python3-pytz \ | ||
| 21 | python3-setuptools \ | ||
| 22 | python3-shell \ | ||
| 23 | python3-threading \ | ||
| 24 | " | ||
| 25 | |||
| 26 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-bcrypt-crates.inc b/meta/recipes-devtools/python/python3-bcrypt-crates.inc deleted file mode 100644 index e0a2926519..0000000000 --- a/meta/recipes-devtools/python/python3-bcrypt-crates.inc +++ /dev/null | |||
| @@ -1,106 +0,0 @@ | |||
| 1 | # Autogenerated with 'bitbake -c update_crates python3-bcrypt' | ||
| 2 | |||
| 3 | # from src/_bcrypt/Cargo.lock | ||
| 4 | SRC_URI += " \ | ||
| 5 | crate://crates.io/autocfg/1.4.0 \ | ||
| 6 | crate://crates.io/base64/0.22.1 \ | ||
| 7 | crate://crates.io/bcrypt/0.17.0 \ | ||
| 8 | crate://crates.io/bcrypt-pbkdf/0.10.0 \ | ||
| 9 | crate://crates.io/bitflags/2.8.0 \ | ||
| 10 | crate://crates.io/block-buffer/0.10.4 \ | ||
| 11 | crate://crates.io/blowfish/0.9.1 \ | ||
| 12 | crate://crates.io/byteorder/1.5.0 \ | ||
| 13 | crate://crates.io/cfg-if/1.0.0 \ | ||
| 14 | crate://crates.io/cipher/0.4.4 \ | ||
| 15 | crate://crates.io/cpufeatures/0.2.17 \ | ||
| 16 | crate://crates.io/crypto-common/0.1.6 \ | ||
| 17 | crate://crates.io/digest/0.10.7 \ | ||
| 18 | crate://crates.io/generic-array/0.14.7 \ | ||
| 19 | crate://crates.io/getrandom/0.3.1 \ | ||
| 20 | crate://crates.io/heck/0.5.0 \ | ||
| 21 | crate://crates.io/indoc/2.0.5 \ | ||
| 22 | crate://crates.io/inout/0.1.4 \ | ||
| 23 | crate://crates.io/libc/0.2.170 \ | ||
| 24 | crate://crates.io/memoffset/0.9.1 \ | ||
| 25 | crate://crates.io/once_cell/1.20.3 \ | ||
| 26 | crate://crates.io/pbkdf2/0.12.2 \ | ||
| 27 | crate://crates.io/portable-atomic/1.11.0 \ | ||
| 28 | crate://crates.io/proc-macro2/1.0.93 \ | ||
| 29 | crate://crates.io/pyo3/0.23.5 \ | ||
| 30 | crate://crates.io/pyo3-build-config/0.23.5 \ | ||
| 31 | crate://crates.io/pyo3-ffi/0.23.5 \ | ||
| 32 | crate://crates.io/pyo3-macros/0.23.5 \ | ||
| 33 | crate://crates.io/pyo3-macros-backend/0.23.5 \ | ||
| 34 | crate://crates.io/quote/1.0.38 \ | ||
| 35 | crate://crates.io/sha2/0.10.8 \ | ||
| 36 | crate://crates.io/subtle/2.6.1 \ | ||
| 37 | crate://crates.io/syn/2.0.98 \ | ||
| 38 | crate://crates.io/target-lexicon/0.12.16 \ | ||
| 39 | crate://crates.io/typenum/1.18.0 \ | ||
| 40 | crate://crates.io/unicode-ident/1.0.17 \ | ||
| 41 | crate://crates.io/unindent/0.2.3 \ | ||
| 42 | crate://crates.io/version_check/0.9.5 \ | ||
| 43 | crate://crates.io/wasi/0.13.3+wasi-0.2.2 \ | ||
| 44 | crate://crates.io/windows-targets/0.52.6 \ | ||
| 45 | crate://crates.io/windows_aarch64_gnullvm/0.52.6 \ | ||
| 46 | crate://crates.io/windows_aarch64_msvc/0.52.6 \ | ||
| 47 | crate://crates.io/windows_i686_gnu/0.52.6 \ | ||
| 48 | crate://crates.io/windows_i686_gnullvm/0.52.6 \ | ||
| 49 | crate://crates.io/windows_i686_msvc/0.52.6 \ | ||
| 50 | crate://crates.io/windows_x86_64_gnu/0.52.6 \ | ||
| 51 | crate://crates.io/windows_x86_64_gnullvm/0.52.6 \ | ||
| 52 | crate://crates.io/windows_x86_64_msvc/0.52.6 \ | ||
| 53 | crate://crates.io/wit-bindgen-rt/0.33.0 \ | ||
| 54 | crate://crates.io/zeroize/1.8.1 \ | ||
| 55 | " | ||
| 56 | |||
| 57 | SRC_URI[autocfg-1.4.0.sha256sum] = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" | ||
| 58 | SRC_URI[base64-0.22.1.sha256sum] = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" | ||
| 59 | SRC_URI[bcrypt-0.17.0.sha256sum] = "92758ad6077e4c76a6cadbce5005f666df70d4f13b19976b1a8062eef880040f" | ||
| 60 | SRC_URI[bcrypt-pbkdf-0.10.0.sha256sum] = "6aeac2e1fe888769f34f05ac343bbef98b14d1ffb292ab69d4608b3abc86f2a2" | ||
| 61 | SRC_URI[bitflags-2.8.0.sha256sum] = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" | ||
| 62 | SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" | ||
| 63 | SRC_URI[blowfish-0.9.1.sha256sum] = "e412e2cd0f2b2d93e02543ceae7917b3c70331573df19ee046bcbc35e45e87d7" | ||
| 64 | SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" | ||
| 65 | SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" | ||
| 66 | SRC_URI[cipher-0.4.4.sha256sum] = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" | ||
| 67 | SRC_URI[cpufeatures-0.2.17.sha256sum] = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" | ||
| 68 | SRC_URI[crypto-common-0.1.6.sha256sum] = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" | ||
| 69 | SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" | ||
| 70 | SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" | ||
| 71 | SRC_URI[getrandom-0.3.1.sha256sum] = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" | ||
| 72 | SRC_URI[heck-0.5.0.sha256sum] = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" | ||
| 73 | SRC_URI[indoc-2.0.5.sha256sum] = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5" | ||
| 74 | SRC_URI[inout-0.1.4.sha256sum] = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" | ||
| 75 | SRC_URI[libc-0.2.170.sha256sum] = "875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828" | ||
| 76 | SRC_URI[memoffset-0.9.1.sha256sum] = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" | ||
| 77 | SRC_URI[once_cell-1.20.3.sha256sum] = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" | ||
| 78 | SRC_URI[pbkdf2-0.12.2.sha256sum] = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" | ||
| 79 | SRC_URI[portable-atomic-1.11.0.sha256sum] = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" | ||
| 80 | SRC_URI[proc-macro2-1.0.93.sha256sum] = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" | ||
| 81 | SRC_URI[pyo3-0.23.5.sha256sum] = "7778bffd85cf38175ac1f545509665d0b9b92a198ca7941f131f85f7a4f9a872" | ||
| 82 | SRC_URI[pyo3-build-config-0.23.5.sha256sum] = "94f6cbe86ef3bf18998d9df6e0f3fc1050a8c5efa409bf712e661a4366e010fb" | ||
| 83 | SRC_URI[pyo3-ffi-0.23.5.sha256sum] = "e9f1b4c431c0bb1c8fb0a338709859eed0d030ff6daa34368d3b152a63dfdd8d" | ||
| 84 | SRC_URI[pyo3-macros-0.23.5.sha256sum] = "fbc2201328f63c4710f68abdf653c89d8dbc2858b88c5d88b0ff38a75288a9da" | ||
| 85 | SRC_URI[pyo3-macros-backend-0.23.5.sha256sum] = "fca6726ad0f3da9c9de093d6f116a93c1a38e417ed73bf138472cf4064f72028" | ||
| 86 | SRC_URI[quote-1.0.38.sha256sum] = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" | ||
| 87 | SRC_URI[sha2-0.10.8.sha256sum] = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" | ||
| 88 | SRC_URI[subtle-2.6.1.sha256sum] = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" | ||
| 89 | SRC_URI[syn-2.0.98.sha256sum] = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" | ||
| 90 | SRC_URI[target-lexicon-0.12.16.sha256sum] = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" | ||
| 91 | SRC_URI[typenum-1.18.0.sha256sum] = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" | ||
| 92 | SRC_URI[unicode-ident-1.0.17.sha256sum] = "00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe" | ||
| 93 | SRC_URI[unindent-0.2.3.sha256sum] = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce" | ||
| 94 | SRC_URI[version_check-0.9.5.sha256sum] = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" | ||
| 95 | SRC_URI[wasi-0.13.3+wasi-0.2.2.sha256sum] = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" | ||
| 96 | SRC_URI[windows-targets-0.52.6.sha256sum] = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" | ||
| 97 | SRC_URI[windows_aarch64_gnullvm-0.52.6.sha256sum] = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" | ||
| 98 | SRC_URI[windows_aarch64_msvc-0.52.6.sha256sum] = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" | ||
| 99 | SRC_URI[windows_i686_gnu-0.52.6.sha256sum] = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" | ||
| 100 | SRC_URI[windows_i686_gnullvm-0.52.6.sha256sum] = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" | ||
| 101 | SRC_URI[windows_i686_msvc-0.52.6.sha256sum] = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" | ||
| 102 | SRC_URI[windows_x86_64_gnu-0.52.6.sha256sum] = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" | ||
| 103 | SRC_URI[windows_x86_64_gnullvm-0.52.6.sha256sum] = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" | ||
| 104 | SRC_URI[windows_x86_64_msvc-0.52.6.sha256sum] = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" | ||
| 105 | SRC_URI[wit-bindgen-rt-0.33.0.sha256sum] = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" | ||
| 106 | SRC_URI[zeroize-1.8.1.sha256sum] = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" | ||
diff --git a/meta/recipes-devtools/python/python3-bcrypt_4.3.0.bb b/meta/recipes-devtools/python/python3-bcrypt_4.3.0.bb deleted file mode 100644 index 931aae4310..0000000000 --- a/meta/recipes-devtools/python/python3-bcrypt_4.3.0.bb +++ /dev/null | |||
| @@ -1,21 +0,0 @@ | |||
| 1 | SUMMARY = "Modern password hashing for your software and your servers." | ||
| 2 | LICENSE = "Apache-2.0" | ||
| 3 | LIC_FILES_CHKSUM = "file://LICENSE;md5=8f7bb094c7232b058c7e9f2e431f389c" | ||
| 4 | HOMEPAGE = "https://pypi.org/project/bcrypt/" | ||
| 5 | |||
| 6 | DEPENDS += "python3-cffi-native" | ||
| 7 | LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '-fuse-ld=bfd', '', d)}" | ||
| 8 | |||
| 9 | SRC_URI[sha256sum] = "3a3fd2204178b6d2adcf09cb4f6426ffef54762577a7c9b54c159008cb288c18" | ||
| 10 | |||
| 11 | inherit pypi python_setuptools3_rust cargo-update-recipe-crates ptest-python-pytest | ||
| 12 | |||
| 13 | CARGO_SRC_DIR = "src/_bcrypt" | ||
| 14 | |||
| 15 | require ${BPN}-crates.inc | ||
| 16 | |||
| 17 | RDEPENDS:${PN}:class-target += "\ | ||
| 18 | python3-cffi \ | ||
| 19 | python3-ctypes \ | ||
| 20 | python3-shell \ | ||
| 21 | " | ||
diff --git a/meta/recipes-devtools/python/python3-beartype_0.21.0.bb b/meta/recipes-devtools/python/python3-beartype_0.21.0.bb deleted file mode 100644 index 43427c1472..0000000000 --- a/meta/recipes-devtools/python/python3-beartype_0.21.0.bb +++ /dev/null | |||
| @@ -1,13 +0,0 @@ | |||
| 1 | SUMMARY = "Unbearably fast runtime type checking in pure Python." | ||
| 2 | HOMEPAGE = "https://beartype.readthedocs.io" | ||
| 3 | |||
| 4 | LICENSE = "MIT" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3a5bc05a109d235912da97a053cd7a58" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "f9a5078f5ce87261c2d22851d19b050b64f6a805439e8793aecf01ce660d3244" | ||
| 8 | |||
| 9 | inherit pypi python_hatchling | ||
| 10 | |||
| 11 | RDEPENDS:${PN} += "python3-numbers python3-io" | ||
| 12 | |||
| 13 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-booleanpy_5.0.bb b/meta/recipes-devtools/python/python3-booleanpy_5.0.bb deleted file mode 100644 index e51ad9d2c1..0000000000 --- a/meta/recipes-devtools/python/python3-booleanpy_5.0.bb +++ /dev/null | |||
| @@ -1,14 +0,0 @@ | |||
| 1 | SUMMARY = "Define boolean algebras, create and parse boolean expressions and create custom boolean DSL" | ||
| 2 | HOMEPAGE = "https://github.com/bastikr/boolean.py" | ||
| 3 | |||
| 4 | LICENSE = "BSD-2-Clause" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d118b5feceee598ebeca76e13395c2bd" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "60cbc4bad079753721d32649545505362c754e121570ada4658b852a3a318d95" | ||
| 8 | |||
| 9 | PYPI_PACKAGE = "boolean_py" | ||
| 10 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 11 | |||
| 12 | inherit pypi setuptools3 | ||
| 13 | |||
| 14 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-build_1.3.0.bb b/meta/recipes-devtools/python/python3-build_1.3.0.bb deleted file mode 100644 index 2bf08ca08b..0000000000 --- a/meta/recipes-devtools/python/python3-build_1.3.0.bb +++ /dev/null | |||
| @@ -1,27 +0,0 @@ | |||
| 1 | SUMMARY = "A simple, correct PEP517 package builder" | ||
| 2 | HOMEPAGE = "https://github.com/pypa/build" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=310439af287b0fb4780b2ad6907c256c" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "698edd0ea270bde950f53aed21f3a0135672206f3911e0176261a31e0e07b397" | ||
| 7 | |||
| 8 | inherit pypi python_flit_core | ||
| 9 | |||
| 10 | DEPENDS += "python3-pyproject-hooks-native" | ||
| 11 | |||
| 12 | do_compile:class-native() { | ||
| 13 | python_flit_core_do_manual_build | ||
| 14 | } | ||
| 15 | |||
| 16 | RDEPENDS:${PN} += " \ | ||
| 17 | python3-compression \ | ||
| 18 | python3-difflib \ | ||
| 19 | python3-ensurepip \ | ||
| 20 | python3-logging \ | ||
| 21 | python3-packaging \ | ||
| 22 | python3-pyproject-hooks \ | ||
| 23 | python3-tomllib \ | ||
| 24 | python3-venv \ | ||
| 25 | " | ||
| 26 | |||
| 27 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-calver_2025.04.17.bb b/meta/recipes-devtools/python/python3-calver_2025.04.17.bb deleted file mode 100644 index 85ad18701c..0000000000 --- a/meta/recipes-devtools/python/python3-calver_2025.04.17.bb +++ /dev/null | |||
| @@ -1,15 +0,0 @@ | |||
| 1 | SUMMARY = "Setuptools extension for CalVer package versions" | ||
| 2 | HOMEPAGE = "https://github.com/di/calver" | ||
| 3 | LICENSE = "Apache-2.0" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" | ||
| 5 | |||
| 6 | SRC_URI = "git://github.com/di/calver;branch=master;protocol=https;tag=${PV}" | ||
| 7 | SRCREV = "3b74bdce35f2814eb2b65db39a133d5c849ddea7" | ||
| 8 | |||
| 9 | inherit python_setuptools_build_meta ptest-python-pytest | ||
| 10 | |||
| 11 | RDEPENDS:${PN}-ptest += " \ | ||
| 12 | python3-pretend \ | ||
| 13 | " | ||
| 14 | |||
| 15 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-certifi_2025.8.3.bb b/meta/recipes-devtools/python/python3-certifi_2025.8.3.bb deleted file mode 100644 index d3e842b4bd..0000000000 --- a/meta/recipes-devtools/python/python3-certifi_2025.8.3.bb +++ /dev/null | |||
| @@ -1,16 +0,0 @@ | |||
| 1 | SUMMARY = "Python package for providing Mozilla's CA Bundle." | ||
| 2 | DESCRIPTION = "This installable Python package contains a CA Bundle that you can reference in your \ | ||
| 3 | Python code. This is useful for verifying HTTP requests, for example. This is the same CA Bundle \ | ||
| 4 | which ships with the Requests codebase, and is derived from Mozilla Firefox's canonical set." | ||
| 5 | HOMEPAGE = " http://certifi.io/" | ||
| 6 | |||
| 7 | LICENSE = "ISC" | ||
| 8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=11618cb6a975948679286b1211bd573c" | ||
| 9 | |||
| 10 | SRC_URI[sha256sum] = "e564105f78ded564e3ae7c923924435e1daa7463faeab5bb932bc53ffae63407" | ||
| 11 | |||
| 12 | inherit pypi python_setuptools_build_meta | ||
| 13 | |||
| 14 | BBCLASSEXTEND = "native nativesdk" | ||
| 15 | |||
| 16 | RDEPENDS:${PN} += "python3-io" | ||
diff --git a/meta/recipes-devtools/python/python3-cffi/0001-Cast-offset-to-size_t-to-avoid-c-11-narrowing-warnin.patch b/meta/recipes-devtools/python/python3-cffi/0001-Cast-offset-to-size_t-to-avoid-c-11-narrowing-warnin.patch deleted file mode 100644 index a919f4f6fb..0000000000 --- a/meta/recipes-devtools/python/python3-cffi/0001-Cast-offset-to-size_t-to-avoid-c-11-narrowing-warnin.patch +++ /dev/null | |||
| @@ -1,34 +0,0 @@ | |||
| 1 | From 2ac63f8765e62f1492ef3ee06791636700bc6cfb Mon Sep 17 00:00:00 2001 | ||
| 2 | From: triallax <triallax@tutanota.com> | ||
| 3 | Date: Sat, 29 Jun 2024 15:25:24 +0100 | ||
| 4 | Subject: [PATCH] Cast offset to size_t to avoid c++11-narrowing warning (#92) | ||
| 5 | |||
| 6 | e.g. with clang 18 on chimera linux: | ||
| 7 | |||
| 8 | _CFFI_test_verify_anonymous_struct_with_star_typedef.cpp:583:10: error: non-constant-expression cannot be narrowed from type 'long' to 'size_t' (aka 'unsigned long') in initializer list [-Wc++11-narrowing] | ||
| 9 | 583 | { "a", ((char *)&((foo_t)4096)->a) - (char *)4096, | ||
| 10 | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 11 | _CFFI_test_verify_anonymous_struct_with_star_typedef.cpp:583:10: note: insert an explicit cast to silence this issue | ||
| 12 | 583 | { "a", ((char *)&((foo_t)4096)->a) - (char *)4096, | ||
| 13 | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 14 | | static_cast<size_t>( ) | ||
| 15 | |||
| 16 | Upstream-Status: Backport [https://github.com/python-cffi/cffi/pull/92] | ||
| 17 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 18 | --- | ||
| 19 | src/cffi/recompiler.py | 2 +- | ||
| 20 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 21 | |||
| 22 | diff --git a/src/cffi/recompiler.py b/src/cffi/recompiler.py | ||
| 23 | index ac6c163e..14d578ee 100644 | ||
| 24 | --- a/src/cffi/recompiler.py | ||
| 25 | +++ b/src/cffi/recompiler.py | ||
| 26 | @@ -953,7 +953,7 @@ class Recompiler: | ||
| 27 | if cname is None or fbitsize >= 0: | ||
| 28 | offset = '(size_t)-1' | ||
| 29 | elif named_ptr is not None: | ||
| 30 | - offset = '((char *)&((%s)4096)->%s) - (char *)4096' % ( | ||
| 31 | + offset = '(size_t)(((char *)&((%s)4096)->%s) - (char *)4096)' % ( | ||
| 32 | named_ptr.name, fldname) | ||
| 33 | else: | ||
| 34 | offset = 'offsetof(%s, %s)' % (tp.get_c_name(''), fldname) | ||
diff --git a/meta/recipes-devtools/python/python3-cffi/run-ptest b/meta/recipes-devtools/python/python3-cffi/run-ptest deleted file mode 100644 index 24ee6f2156..0000000000 --- a/meta/recipes-devtools/python/python3-cffi/run-ptest +++ /dev/null | |||
| @@ -1,7 +0,0 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | # test_passing_large_list often causes an OOM, skip for now | ||
| 4 | |||
| 5 | # test_version verifies that versions match across the source tree, ignore | ||
| 6 | # as we don't have a source tree | ||
| 7 | pytest --automake -k 'not test_passing_large_list and not test_version' | ||
diff --git a/meta/recipes-devtools/python/python3-cffi_1.17.1.bb b/meta/recipes-devtools/python/python3-cffi_1.17.1.bb deleted file mode 100644 index 5a3af03d9f..0000000000 --- a/meta/recipes-devtools/python/python3-cffi_1.17.1.bb +++ /dev/null | |||
| @@ -1,39 +0,0 @@ | |||
| 1 | SUMMARY = "Foreign Function Interface for Python calling C code" | ||
| 2 | HOMEPAGE = "http://cffi.readthedocs.org/" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=5677e2fdbf7cdda61d6dd2b57df547bf" | ||
| 5 | DEPENDS += "libffi python3-pycparser" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824" | ||
| 8 | |||
| 9 | SRC_URI += "file://run-ptest \ | ||
| 10 | file://0001-Cast-offset-to-size_t-to-avoid-c-11-narrowing-warnin.patch" | ||
| 11 | |||
| 12 | inherit pypi python_setuptools_build_meta ptest pkgconfig | ||
| 13 | |||
| 14 | do_install_ptest() { | ||
| 15 | cp -r ${S}/testing ${D}${PTEST_PATH} | ||
| 16 | # These two files from the source tree are needed by the tests | ||
| 17 | install -D -m644 ${S}/src/c/parse_c_type.c ${D}${PTEST_PATH}/src/c/parse_c_type.c | ||
| 18 | install -D -m644 ${S}/src/cffi/parse_c_type.h ${D}${PTEST_PATH}/src/cffi/parse_c_type.h | ||
| 19 | } | ||
| 20 | |||
| 21 | RDEPENDS:${PN} = " \ | ||
| 22 | python3-ctypes \ | ||
| 23 | python3-io \ | ||
| 24 | python3-pycparser \ | ||
| 25 | python3-setuptools \ | ||
| 26 | python3-shell \ | ||
| 27 | " | ||
| 28 | |||
| 29 | RDEPENDS:${PN}-ptest += " \ | ||
| 30 | python3-pytest \ | ||
| 31 | python3-unittest-automake-output \ | ||
| 32 | python3-dev \ | ||
| 33 | gcc-symlinks \ | ||
| 34 | g++-symlinks \ | ||
| 35 | " | ||
| 36 | |||
| 37 | INSANE_SKIP:${PN}-ptest = "dev-deps" | ||
| 38 | |||
| 39 | 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 deleted file mode 100644 index 9acbeeb3f2..0000000000 --- a/meta/recipes-devtools/python/python3-chardet_5.2.0.bb +++ /dev/null | |||
| @@ -1,21 +0,0 @@ | |||
| 1 | SUMMARY = "Universal encoding detector for Python 2 and 3" | ||
| 2 | HOMEPAGE = "https://pypi.org/project/chardet/" | ||
| 3 | LICENSE = "LGPL-2.1-only" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=4fbd65380cdd255951079008b364516c" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7" | ||
| 7 | |||
| 8 | inherit pypi python_setuptools_build_meta | ||
| 9 | |||
| 10 | PACKAGES =+ "${PN}-cli" | ||
| 11 | FILES:${PN}-cli += " \ | ||
| 12 | ${PYTHON_SITEPACKAGES_DIR}/chardet/cli \ | ||
| 13 | " | ||
| 14 | |||
| 15 | RDEPENDS:${PN}-cli = "${PN} " | ||
| 16 | |||
| 17 | RDEPENDS:${PN}:class-target += " \ | ||
| 18 | python3-logging \ | ||
| 19 | " | ||
| 20 | |||
| 21 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-click_8.2.2.bb b/meta/recipes-devtools/python/python3-click_8.2.2.bb deleted file mode 100644 index 9710e8a71c..0000000000 --- a/meta/recipes-devtools/python/python3-click_8.2.2.bb +++ /dev/null | |||
| @@ -1,34 +0,0 @@ | |||
| 1 | SUMMARY = "A simple wrapper around optparse for powerful command line utilities." | ||
| 2 | DESCRIPTION = "\ | ||
| 3 | Click is a Python package for creating beautiful command line interfaces \ | ||
| 4 | in a composable way with as little code as necessary. It's the "Command \ | ||
| 5 | Line Interface Creation Kit". It's highly configurable but comes with \ | ||
| 6 | sensible defaults out of the box." | ||
| 7 | HOMEPAGE = "http://click.pocoo.org/" | ||
| 8 | LICENSE = "BSD-3-Clause" | ||
| 9 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=1fa98232fd645608937a0fdc82e999b8" | ||
| 10 | |||
| 11 | SRC_URI[sha256sum] = "068616e6ef9705a07b6db727cb9c248f4eb9dae437a30239f56fa94b18b852ef" | ||
| 12 | |||
| 13 | inherit pypi python_flit_core ptest-python-pytest | ||
| 14 | |||
| 15 | RDEPENDS:${PN}-ptest += " \ | ||
| 16 | python3-pytest \ | ||
| 17 | python3-terminal \ | ||
| 18 | python3-unixadmin \ | ||
| 19 | " | ||
| 20 | |||
| 21 | do_install_ptest:append() { | ||
| 22 | cp -rf ${S}/pyproject.toml ${D}${PTEST_PATH}/ | ||
| 23 | cp -rf ${S}/docs ${D}${PTEST_PATH}/ | ||
| 24 | } | ||
| 25 | |||
| 26 | CLEANBROKEN = "1" | ||
| 27 | |||
| 28 | RDEPENDS:${PN} += "\ | ||
| 29 | python3-io \ | ||
| 30 | python3-threading \ | ||
| 31 | " | ||
| 32 | RDEPENDS:${PN}-ptest += "coreutils less" | ||
| 33 | |||
| 34 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-coherent-licensed_0.5.2.bb b/meta/recipes-devtools/python/python3-coherent-licensed_0.5.2.bb deleted file mode 100644 index 538154118f..0000000000 --- a/meta/recipes-devtools/python/python3-coherent-licensed_0.5.2.bb +++ /dev/null | |||
| @@ -1,16 +0,0 @@ | |||
| 1 | SUMMARY = "License management tooling for Coherent System and skeleton projects" | ||
| 2 | DESCRIPTION = "This library was built for coherent.build and skeleton projects \ | ||
| 3 | to inject a license file at build time to reflect the license declared in the \ | ||
| 4 | License Expression." | ||
| 5 | HOMEPAGE = "https://github.com/coherent-oss/coherent.licensed" | ||
| 6 | LICENSE = "MIT" | ||
| 7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=1aeae65f25a15b1e46d4381f2f094e0a" | ||
| 8 | |||
| 9 | SRC_URI[sha256sum] = "d8071403ce742d3ac3592ddc4fb7057a46caffb415b928b4d52802e5f208416d" | ||
| 10 | |||
| 11 | inherit pypi python_flit_core | ||
| 12 | |||
| 13 | PYPI_PACKAGE = "coherent_licensed" | ||
| 14 | UPSTREAM_CHECK_PYPI_PACKAGE = "coherent_licensed" | ||
| 15 | |||
| 16 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-colorama_0.4.6.bb b/meta/recipes-devtools/python/python3-colorama_0.4.6.bb deleted file mode 100644 index c33310b969..0000000000 --- a/meta/recipes-devtools/python/python3-colorama_0.4.6.bb +++ /dev/null | |||
| @@ -1,10 +0,0 @@ | |||
| 1 | SUMMARY = "Cross-platform colored terminal text." | ||
| 2 | HOMEPAGE = "https://github.com/tartley/colorama" | ||
| 3 | LICENSE = "BSD-3-Clause" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b4936429a56a652b84c5c01280dcaa26" | ||
| 5 | |||
| 6 | inherit pypi python_hatchling | ||
| 7 | |||
| 8 | SRC_URI[sha256sum] = "08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44" | ||
| 9 | |||
| 10 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-cryptography-common.inc b/meta/recipes-devtools/python/python3-cryptography-common.inc deleted file mode 100644 index bcb907b645..0000000000 --- a/meta/recipes-devtools/python/python3-cryptography-common.inc +++ /dev/null | |||
| @@ -1,6 +0,0 @@ | |||
| 1 | # Sharing PV between cryptography and cryptography-vectors will | ||
| 2 | # ensure that updating one but not the other will cause a build error. | ||
| 3 | # | ||
| 4 | # Additionally AUH will detect that they share this .inc file and | ||
| 5 | # perform a lockstep upgrade for both. | ||
| 6 | PV = "45.0.7" | ||
diff --git a/meta/recipes-devtools/python/python3-cryptography-crates.inc b/meta/recipes-devtools/python/python3-cryptography-crates.inc deleted file mode 100644 index e178790448..0000000000 --- a/meta/recipes-devtools/python/python3-cryptography-crates.inc +++ /dev/null | |||
| @@ -1,76 +0,0 @@ | |||
| 1 | # Autogenerated with 'bitbake -c update_crates python3-cryptography' | ||
| 2 | |||
| 3 | # from Cargo.lock | ||
| 4 | SRC_URI += " \ | ||
| 5 | crate://crates.io/asn1/0.21.3 \ | ||
| 6 | crate://crates.io/asn1_derive/0.21.3 \ | ||
| 7 | crate://crates.io/autocfg/1.4.0 \ | ||
| 8 | crate://crates.io/base64/0.22.1 \ | ||
| 9 | crate://crates.io/bitflags/2.9.1 \ | ||
| 10 | crate://crates.io/cc/1.2.23 \ | ||
| 11 | crate://crates.io/cfg-if/1.0.0 \ | ||
| 12 | crate://crates.io/foreign-types/0.3.2 \ | ||
| 13 | crate://crates.io/foreign-types-shared/0.1.1 \ | ||
| 14 | crate://crates.io/heck/0.5.0 \ | ||
| 15 | crate://crates.io/indoc/2.0.6 \ | ||
| 16 | crate://crates.io/itoa/1.0.15 \ | ||
| 17 | crate://crates.io/libc/0.2.172 \ | ||
| 18 | crate://crates.io/memoffset/0.9.1 \ | ||
| 19 | crate://crates.io/once_cell/1.21.3 \ | ||
| 20 | crate://crates.io/openssl/0.10.72 \ | ||
| 21 | crate://crates.io/openssl-macros/0.1.1 \ | ||
| 22 | crate://crates.io/openssl-sys/0.9.108 \ | ||
| 23 | crate://crates.io/pem/3.0.5 \ | ||
| 24 | crate://crates.io/pkg-config/0.3.32 \ | ||
| 25 | crate://crates.io/portable-atomic/1.11.0 \ | ||
| 26 | crate://crates.io/proc-macro2/1.0.95 \ | ||
| 27 | crate://crates.io/pyo3/0.25.0 \ | ||
| 28 | crate://crates.io/pyo3-build-config/0.25.0 \ | ||
| 29 | crate://crates.io/pyo3-ffi/0.25.0 \ | ||
| 30 | crate://crates.io/pyo3-macros/0.25.0 \ | ||
| 31 | crate://crates.io/pyo3-macros-backend/0.25.0 \ | ||
| 32 | crate://crates.io/quote/1.0.40 \ | ||
| 33 | crate://crates.io/self_cell/1.2.0 \ | ||
| 34 | crate://crates.io/shlex/1.3.0 \ | ||
| 35 | crate://crates.io/syn/2.0.101 \ | ||
| 36 | crate://crates.io/target-lexicon/0.13.2 \ | ||
| 37 | crate://crates.io/unicode-ident/1.0.18 \ | ||
| 38 | crate://crates.io/unindent/0.2.4 \ | ||
| 39 | crate://crates.io/vcpkg/0.2.15 \ | ||
| 40 | " | ||
| 41 | |||
| 42 | SRC_URI[asn1-0.21.3.sha256sum] = "2d9c3502a6f1b50a2c69b97b71638a81ad3b21b9874604880401b9b2b0bf758f" | ||
| 43 | SRC_URI[asn1_derive-0.21.3.sha256sum] = "1766ebcb519d8dd186d60dfa912571edcaa2c1f995e2e56643a261a87df69a61" | ||
| 44 | SRC_URI[autocfg-1.4.0.sha256sum] = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" | ||
| 45 | SRC_URI[base64-0.22.1.sha256sum] = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" | ||
| 46 | SRC_URI[bitflags-2.9.1.sha256sum] = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" | ||
| 47 | SRC_URI[cc-1.2.23.sha256sum] = "5f4ac86a9e5bc1e2b3449ab9d7d3a6a405e3d1bb28d7b9be8614f55846ae3766" | ||
| 48 | SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" | ||
| 49 | SRC_URI[foreign-types-0.3.2.sha256sum] = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" | ||
| 50 | SRC_URI[foreign-types-shared-0.1.1.sha256sum] = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" | ||
| 51 | SRC_URI[heck-0.5.0.sha256sum] = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" | ||
| 52 | SRC_URI[indoc-2.0.6.sha256sum] = "f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd" | ||
| 53 | SRC_URI[itoa-1.0.15.sha256sum] = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" | ||
| 54 | SRC_URI[libc-0.2.172.sha256sum] = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" | ||
| 55 | SRC_URI[memoffset-0.9.1.sha256sum] = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" | ||
| 56 | SRC_URI[once_cell-1.21.3.sha256sum] = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" | ||
| 57 | SRC_URI[openssl-0.10.72.sha256sum] = "fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da" | ||
| 58 | SRC_URI[openssl-macros-0.1.1.sha256sum] = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" | ||
| 59 | SRC_URI[openssl-sys-0.9.108.sha256sum] = "e145e1651e858e820e4860f7b9c5e169bc1d8ce1c86043be79fa7b7634821847" | ||
| 60 | SRC_URI[pem-3.0.5.sha256sum] = "38af38e8470ac9dee3ce1bae1af9c1671fffc44ddfd8bd1d0a3445bf349a8ef3" | ||
| 61 | SRC_URI[pkg-config-0.3.32.sha256sum] = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" | ||
| 62 | SRC_URI[portable-atomic-1.11.0.sha256sum] = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" | ||
| 63 | SRC_URI[proc-macro2-1.0.95.sha256sum] = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" | ||
| 64 | SRC_URI[pyo3-0.25.0.sha256sum] = "f239d656363bcee73afef85277f1b281e8ac6212a1d42aa90e55b90ed43c47a4" | ||
| 65 | SRC_URI[pyo3-build-config-0.25.0.sha256sum] = "755ea671a1c34044fa165247aaf6f419ca39caa6003aee791a0df2713d8f1b6d" | ||
| 66 | SRC_URI[pyo3-ffi-0.25.0.sha256sum] = "fc95a2e67091e44791d4ea300ff744be5293f394f1bafd9f78c080814d35956e" | ||
| 67 | SRC_URI[pyo3-macros-0.25.0.sha256sum] = "a179641d1b93920829a62f15e87c0ed791b6c8db2271ba0fd7c2686090510214" | ||
| 68 | SRC_URI[pyo3-macros-backend-0.25.0.sha256sum] = "9dff85ebcaab8c441b0e3f7ae40a6963ecea8a9f5e74f647e33fcf5ec9a1e89e" | ||
| 69 | SRC_URI[quote-1.0.40.sha256sum] = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" | ||
| 70 | SRC_URI[self_cell-1.2.0.sha256sum] = "0f7d95a54511e0c7be3f51e8867aa8cf35148d7b9445d44de2f943e2b206e749" | ||
| 71 | SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" | ||
| 72 | SRC_URI[syn-2.0.101.sha256sum] = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" | ||
| 73 | SRC_URI[target-lexicon-0.13.2.sha256sum] = "e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a" | ||
| 74 | SRC_URI[unicode-ident-1.0.18.sha256sum] = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" | ||
| 75 | SRC_URI[unindent-0.2.4.sha256sum] = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3" | ||
| 76 | SRC_URI[vcpkg-0.2.15.sha256sum] = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" | ||
diff --git a/meta/recipes-devtools/python/python3-cryptography-vectors.bb b/meta/recipes-devtools/python/python3-cryptography-vectors.bb deleted file mode 100644 index e845486a94..0000000000 --- a/meta/recipes-devtools/python/python3-cryptography-vectors.bb +++ /dev/null | |||
| @@ -1,19 +0,0 @@ | |||
| 1 | SUMMARY = "Test vectors for the cryptography package." | ||
| 2 | HOMEPAGE = "https://cryptography.io/" | ||
| 3 | SECTION = "devel/python" | ||
| 4 | LICENSE = "Apache-2.0 | BSD-3-Clause" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=8c3617db4fb6fae01f1d253ab91511e4 \ | ||
| 6 | file://LICENSE.APACHE;md5=4e168cce331e5c827d4c2b68a6200e1b \ | ||
| 7 | file://LICENSE.BSD;md5=5ae30ba4123bc4f2fa49aa0b0dce887b" | ||
| 8 | |||
| 9 | # NOTE: Make sure to keep this recipe at the same version as python3-cryptography | ||
| 10 | # Upgrade both recipes at the same time | ||
| 11 | require python3-cryptography-common.inc | ||
| 12 | SRC_URI[sha256sum] = "48e71fc4ac5f6298b2de53a99726ddc4a9e5ef0a94d921820109e7b90baf9f56" | ||
| 13 | |||
| 14 | PYPI_PACKAGE = "cryptography_vectors" | ||
| 15 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 16 | |||
| 17 | inherit pypi python_flit_core | ||
| 18 | |||
| 19 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-cryptography.bb b/meta/recipes-devtools/python/python3-cryptography.bb deleted file mode 100644 index 55fdf13972..0000000000 --- a/meta/recipes-devtools/python/python3-cryptography.bb +++ /dev/null | |||
| @@ -1,71 +0,0 @@ | |||
| 1 | SUMMARY = "Provides cryptographic recipes and primitives to python developers" | ||
| 2 | HOMEPAGE = "https://cryptography.io/" | ||
| 3 | SECTION = "devel/python" | ||
| 4 | LICENSE = "Apache-2.0 | BSD-3-Clause" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=8c3617db4fb6fae01f1d253ab91511e4 \ | ||
| 6 | file://LICENSE.APACHE;md5=4e168cce331e5c827d4c2b68a6200e1b \ | ||
| 7 | file://LICENSE.BSD;md5=5ae30ba4123bc4f2fa49aa0b0dce887b \ | ||
| 8 | " | ||
| 9 | LDSHARED += "-pthread" | ||
| 10 | |||
| 11 | # NOTE: Make sure to keep this recipe at the same version as python3-cryptography-vectors | ||
| 12 | # Upgrade both recipes at the same time | ||
| 13 | require python3-cryptography-common.inc | ||
| 14 | SRC_URI[sha256sum] = "4b1654dfc64ea479c242508eb8c724044f1e964a47d1d1cacc5132292d851971" | ||
| 15 | |||
| 16 | SRC_URI += "file://0001-pyproject.toml-remove-benchmark-disable-option.patch \ | ||
| 17 | file://check-memfree.py \ | ||
| 18 | file://run-ptest \ | ||
| 19 | " | ||
| 20 | |||
| 21 | require ${BPN}-crates.inc | ||
| 22 | |||
| 23 | inherit pypi python_maturin cargo-update-recipe-crates pkgconfig | ||
| 24 | |||
| 25 | DEPENDS += " \ | ||
| 26 | python3-cffi-native \ | ||
| 27 | openssl \ | ||
| 28 | " | ||
| 29 | |||
| 30 | RDEPENDS:${PN} += " \ | ||
| 31 | python3-cffi \ | ||
| 32 | " | ||
| 33 | |||
| 34 | RDEPENDS:${PN}:append:class-target = " \ | ||
| 35 | python3-numbers \ | ||
| 36 | python3-threading \ | ||
| 37 | " | ||
| 38 | |||
| 39 | RDEPENDS:${PN}-ptest += " \ | ||
| 40 | python3-bcrypt \ | ||
| 41 | python3-cryptography-vectors (= ${PV}) \ | ||
| 42 | python3-hypothesis \ | ||
| 43 | python3-iso8601 \ | ||
| 44 | python3-mmap \ | ||
| 45 | python3-pretend \ | ||
| 46 | python3-psutil \ | ||
| 47 | python3-pytest \ | ||
| 48 | python3-unittest-automake-output \ | ||
| 49 | python3-pytest-subtests \ | ||
| 50 | python3-pytz \ | ||
| 51 | " | ||
| 52 | |||
| 53 | inherit ptest | ||
| 54 | |||
| 55 | do_install_ptest() { | ||
| 56 | install -D ${UNPACKDIR}/check-memfree.py ${D}${PTEST_PATH}/ | ||
| 57 | install -d ${D}${PTEST_PATH}/tests | ||
| 58 | cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ | ||
| 59 | # remove test_x509.py as it needs benchmark and we don't | ||
| 60 | # want to introduce the benchmark dependency | ||
| 61 | rm -rf ${D}${PTEST_PATH}/tests/bench/test_x509.py | ||
| 62 | install -d ${D}${PTEST_PATH}/tests/hazmat | ||
| 63 | cp -rf ${S}/tests/hazmat/* ${D}${PTEST_PATH}/tests/hazmat/ | ||
| 64 | cp -r ${S}/pyproject.toml ${D}${PTEST_PATH}/ | ||
| 65 | } | ||
| 66 | |||
| 67 | FILES:${PN}-dbg += " \ | ||
| 68 | ${PYTHON_SITEPACKAGES_DIR}/${SRCNAME}/hazmat/bindings/.debug \ | ||
| 69 | " | ||
| 70 | |||
| 71 | BBCLASSEXTEND = "native nativesdk" | ||
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 deleted file mode 100644 index 16681e80a8..0000000000 --- a/meta/recipes-devtools/python/python3-cryptography/0001-pyproject.toml-remove-benchmark-disable-option.patch +++ /dev/null | |||
| @@ -1,40 +0,0 @@ | |||
| 1 | From b033cd32813a104fb216135cdca7da7180912e56 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Mingli Yu <mingli.yu@windriver.com> | ||
| 3 | Date: Tue, 17 May 2022 17:22:48 +0800 | ||
| 4 | Subject: [PATCH] pyproject.toml: remove --benchmark-disable option | ||
| 5 | |||
| 6 | The new version introduced below change, so remove the option | ||
| 7 | to avoid python3-pytest-benchmark rdepends to fix the gap. | ||
| 8 | 496703c8 Refs #7079 -- added basic scaffholding for benchmarks (#7087) | ||
| 9 | |||
| 10 | Fixes: | ||
| 11 | # ./run-ptest | ||
| 12 | Free memory: 31.283 GB | ||
| 13 | ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] | ||
| 14 | pytest: error: unrecognized arguments: --benchmark-disable | ||
| 15 | inifile: /usr/lib/python3-cryptography/ptest/pyproject.toml | ||
| 16 | rootdir: /usr/lib/python3-cryptography/ptest | ||
| 17 | |||
| 18 | Upstream-Status: Inappropriate [OE specific] | ||
| 19 | |||
| 20 | Signed-off-by: Mingli Yu <mingli.yu@windriver.com> | ||
| 21 | |||
| 22 | Refresh for 42.02 | ||
| 23 | Signed-off-by: Tim Orling <tim.orling@konsulko.com> | ||
| 24 | --- | ||
| 25 | pyproject.toml | 2 +- | ||
| 26 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 27 | |||
| 28 | diff --git a/pyproject.toml b/pyproject.toml | ||
| 29 | index 4746201..df98351 100644 | ||
| 30 | --- a/pyproject.toml | ||
| 31 | +++ b/pyproject.toml | ||
| 32 | @@ -129,7 +129,7 @@ exclude = [ | ||
| 33 | ] | ||
| 34 | |||
| 35 | [tool.pytest.ini_options] | ||
| 36 | -addopts = "-r s --capture=no --strict-markers --benchmark-disable" | ||
| 37 | +addopts = "-r s --capture=no --strict-markers" | ||
| 38 | console_output_style = "progress-even-when-capture-no" | ||
| 39 | markers = [ | ||
| 40 | "skip_fips: this test is not executed in FIPS mode", | ||
diff --git a/meta/recipes-devtools/python/python3-cryptography/check-memfree.py b/meta/recipes-devtools/python/python3-cryptography/check-memfree.py deleted file mode 100755 index ed680d8d5b..0000000000 --- a/meta/recipes-devtools/python/python3-cryptography/check-memfree.py +++ /dev/null | |||
| @@ -1,10 +0,0 @@ | |||
| 1 | #!/usr/bin/env python3 | ||
| 2 | # https://stackoverflow.com/questions/22102999/get-total-physical-memory-in-python/28161352 | ||
| 3 | import sys | ||
| 4 | meminfo = dict((i.split()[0].rstrip(':'),int(i.split()[1])) for i in open('/proc/meminfo').readlines()) | ||
| 5 | mem_free = meminfo['MemTotal']/1024./1024. | ||
| 6 | if mem_free < 2.: | ||
| 7 | print("Insufficient free memory({:.3f}): requires > 2 GB".format(mem_free)) | ||
| 8 | sys.exit(1) | ||
| 9 | else: | ||
| 10 | 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 deleted file mode 100644 index fe191a5dc4..0000000000 --- a/meta/recipes-devtools/python/python3-cryptography/run-ptest +++ /dev/null | |||
| @@ -1,9 +0,0 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | if ./check-memfree.py; then | ||
| 4 | # Skip the bench test module, we don't yet have pytest3-benchmark in core | ||
| 5 | # and these are more benchmarks than unit tests. | ||
| 6 | pytest --automake -k 'not bench' | ||
| 7 | else | ||
| 8 | echo "SKIP: crytography.not_enough_memory" | ||
| 9 | fi | ||
diff --git a/meta/recipes-devtools/python/python3-cython/0001-Replace-not-predictable-build-path-prefix-with-hardc.patch b/meta/recipes-devtools/python/python3-cython/0001-Replace-not-predictable-build-path-prefix-with-hardc.patch deleted file mode 100644 index 1fbbd8fd48..0000000000 --- a/meta/recipes-devtools/python/python3-cython/0001-Replace-not-predictable-build-path-prefix-with-hardc.patch +++ /dev/null | |||
| @@ -1,72 +0,0 @@ | |||
| 1 | From 1690c505f1387e1884565021991a162e2f88f2b9 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Hongxu Jia <hongxu.jia@windriver.com> | ||
| 3 | Date: Wed, 17 Sep 2025 01:42:08 -0700 | ||
| 4 | Subject: [PATCH] Replace not predictable build path prefix with hardcode | ||
| 5 | string in the generated output file | ||
| 6 | |||
| 7 | The build path may contain tmp dir which is not predictable, it caused | ||
| 8 | the generated output file is not stable at each build and made | ||
| 9 | the generated library is not reproducible [1] between builds | ||
| 10 | |||
| 11 | vim frozenlist/_frozenlist.cpp | ||
| 12 | ... | ||
| 13 | /* BEGIN: Cython Metadata | ||
| 14 | { | ||
| 15 | "distutils": { | ||
| 16 | "depends": [], | ||
| 17 | "language": "c++", | ||
| 18 | "name": "frozenlist._frozenlist", | ||
| 19 | "sources": [ | ||
| 20 | "/tmp/.tmp-frozenlist-pep517-cfdvygni/src/frozenlist/_frozenlist.pyx" | ||
| 21 | ] | ||
| 22 | }, | ||
| 23 | "module_name": "frozenlist._frozenlist" | ||
| 24 | } | ||
| 25 | END: Cython Metadata */ | ||
| 26 | ... | ||
| 27 | |||
| 28 | Replace build path prefix with hardcode `build_path', it is no harm to | ||
| 29 | tweak comments in source file, after applied this commit, | ||
| 30 | vim frozenlist/_frozenlist.cpp | ||
| 31 | ... | ||
| 32 | /* BEGIN: Cython Metadata | ||
| 33 | { | ||
| 34 | "distutils": { | ||
| 35 | "depends": [], | ||
| 36 | "language": "c++", | ||
| 37 | "name": "frozenlist._frozenlist", | ||
| 38 | "sources": [ | ||
| 39 | "build_path/frozenlist/_frozenlist.pyx" | ||
| 40 | ] | ||
| 41 | }, | ||
| 42 | "module_name": "frozenlist._frozenlist" | ||
| 43 | } | ||
| 44 | END: Cython Metadata */ | ||
| 45 | ... | ||
| 46 | |||
| 47 | [1] https://reproducible-builds.org/ | ||
| 48 | |||
| 49 | Upstream-Status: Submitted [https://github.com/cython/cython/pull/7162] | ||
| 50 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
| 51 | --- | ||
| 52 | Cython/Compiler/ModuleNode.py | 4 +++- | ||
| 53 | 1 file changed, 3 insertions(+), 1 deletion(-) | ||
| 54 | |||
| 55 | diff --git a/Cython/Compiler/ModuleNode.py b/Cython/Compiler/ModuleNode.py | ||
| 56 | index 6672cb986..b1123515e 100644 | ||
| 57 | --- a/Cython/Compiler/ModuleNode.py | ||
| 58 | +++ b/Cython/Compiler/ModuleNode.py | ||
| 59 | @@ -779,7 +779,9 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode): | ||
| 60 | code.put_generated_by() | ||
| 61 | if metadata: | ||
| 62 | code.putln("/* BEGIN: Cython Metadata") | ||
| 63 | - code.putln(json.dumps(metadata, indent=4, sort_keys=True)) | ||
| 64 | + _metadata = json.dumps(metadata, indent=4, sort_keys=True) | ||
| 65 | + _metadata = _metadata.replace(os.getcwd(), 'build_path') | ||
| 66 | + code.putln(_metadata) | ||
| 67 | code.putln("END: Cython Metadata */") | ||
| 68 | code.putln("") | ||
| 69 | |||
| 70 | -- | ||
| 71 | 2.49.0 | ||
| 72 | |||
diff --git a/meta/recipes-devtools/python/python3-cython_3.1.3.bb b/meta/recipes-devtools/python/python3-cython_3.1.3.bb deleted file mode 100644 index 3b2835d9c5..0000000000 --- a/meta/recipes-devtools/python/python3-cython_3.1.3.bb +++ /dev/null | |||
| @@ -1,48 +0,0 @@ | |||
| 1 | SUMMARY = "The Cython language" | ||
| 2 | HOMEPAGE = "https://pypi.org/project/Cython/" | ||
| 3 | DESCRIPTION = "Cython is a language specially designed for writing Python extension modules. \ | ||
| 4 | It's designed to bridge the gap between the nice, high-level, easy-to-use world of Python \ | ||
| 5 | and the messy, low-level world of C." | ||
| 6 | SECTION = "devel/python" | ||
| 7 | LICENSE = "Apache-2.0" | ||
| 8 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=61c3ee8961575861fa86c7e62bc9f69c" | ||
| 9 | |||
| 10 | SRC_URI[sha256sum] = "10ee785e42328924b78f75a74f66a813cb956b4a9bc91c44816d089d5934c089" | ||
| 11 | |||
| 12 | inherit pypi setuptools3 cython | ||
| 13 | |||
| 14 | SRC_URI += " \ | ||
| 15 | file://0001-Replace-not-predictable-build-path-prefix-with-hardc.patch \ | ||
| 16 | " | ||
| 17 | |||
| 18 | # No need to depend on self | ||
| 19 | DEPENDS:remove = "python3-cython-native" | ||
| 20 | |||
| 21 | do_install:append() { | ||
| 22 | # rename scripts that would conflict with the Python 2 build of Cython | ||
| 23 | mv ${D}${bindir}/cython ${D}${bindir}/cython3 | ||
| 24 | mv ${D}${bindir}/cythonize ${D}${bindir}/cythonize3 | ||
| 25 | mv ${D}${bindir}/cygdb ${D}${bindir}/cygdb3 | ||
| 26 | } | ||
| 27 | |||
| 28 | RDEPENDS:${PN}:class-target += "\ | ||
| 29 | python3-misc \ | ||
| 30 | python3-netserver \ | ||
| 31 | python3-pkgutil \ | ||
| 32 | python3-pyparsing \ | ||
| 33 | python3-setuptools \ | ||
| 34 | python3-shell \ | ||
| 35 | python3-xml \ | ||
| 36 | " | ||
| 37 | |||
| 38 | RDEPENDS:${PN}:class-nativesdk += "\ | ||
| 39 | nativesdk-python3-misc \ | ||
| 40 | nativesdk-python3-netserver \ | ||
| 41 | nativesdk-python3-pkgutil \ | ||
| 42 | nativesdk-python3-pyparsing \ | ||
| 43 | nativesdk-python3-setuptools \ | ||
| 44 | nativesdk-python3-shell \ | ||
| 45 | nativesdk-python3-xml \ | ||
| 46 | " | ||
| 47 | |||
| 48 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-dbus_1.4.0.bb b/meta/recipes-devtools/python/python3-dbus_1.4.0.bb deleted file mode 100644 index 2854eda30a..0000000000 --- a/meta/recipes-devtools/python/python3-dbus_1.4.0.bb +++ /dev/null | |||
| @@ -1,23 +0,0 @@ | |||
| 1 | SUMMARY = "Python bindings for the DBus inter-process communication system" | ||
| 2 | SECTION = "devel/python" | ||
| 3 | HOMEPAGE = "http://www.freedesktop.org/Software/dbus" | ||
| 4 | LICENSE = "MIT" | ||
| 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=97f58951300aa52a9f9e3a62bd5c846c" | ||
| 6 | DEPENDS = "expat dbus glib-2.0 virtual/libintl" | ||
| 7 | |||
| 8 | SRC_URI = "http://dbus.freedesktop.org/releases/dbus-python/dbus-python-${PV}.tar.xz" | ||
| 9 | |||
| 10 | SRC_URI[sha256sum] = "c36b28f10ffcc8f1f798aca973bcc132f91f33eb9b6b8904381b4077766043d5" | ||
| 11 | |||
| 12 | S = "${UNPACKDIR}/dbus-python-${PV}" | ||
| 13 | |||
| 14 | inherit setuptools3-base meson pkgconfig | ||
| 15 | |||
| 16 | # requires dbus-run-session | ||
| 17 | EXTRA_OEMESON += "-Dtests=false" | ||
| 18 | |||
| 19 | RDEPENDS:${PN} = "python3-io python3-logging python3-stringold python3-threading python3-xml" | ||
| 20 | |||
| 21 | FILES:${PN}-dev += "${libdir}/pkgconfig" | ||
| 22 | |||
| 23 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-dbusmock_0.37.0.bb b/meta/recipes-devtools/python/python3-dbusmock_0.37.0.bb deleted file mode 100644 index 9592c83727..0000000000 --- a/meta/recipes-devtools/python/python3-dbusmock_0.37.0.bb +++ /dev/null | |||
| @@ -1,22 +0,0 @@ | |||
| 1 | SUMMARY = "With this program/Python library you can easily create mock objects on D-Bus" | ||
| 2 | HOMEPAGE = "https://pypi.org/project/python-dbusmock/" | ||
| 3 | |||
| 4 | LICENSE = "GPL-3.0-only" | ||
| 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "38754c5ad2ad8f3936ff67d4b058bca416588a72bc094e91ded9f8f401b06310" | ||
| 8 | |||
| 9 | PYPI_PACKAGE = "python_dbusmock" | ||
| 10 | |||
| 11 | inherit pypi python_setuptools_build_meta | ||
| 12 | DEPENDS += "python3-setuptools-scm-native" | ||
| 13 | |||
| 14 | RDEPENDS:${PN} += "\ | ||
| 15 | python3-dbus \ | ||
| 16 | python3-unittest \ | ||
| 17 | python3-xml \ | ||
| 18 | " | ||
| 19 | |||
| 20 | RRECOMMENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'gobject-introspection-data', '${MLPREFIX}python3-pygobject', '', d)}" | ||
| 21 | |||
| 22 | BBCLASSEXTEND = "native" | ||
diff --git a/meta/recipes-devtools/python/python3-docutils_0.22.bb b/meta/recipes-devtools/python/python3-docutils_0.22.bb deleted file mode 100644 index 2dafa034fb..0000000000 --- a/meta/recipes-devtools/python/python3-docutils_0.22.bb +++ /dev/null | |||
| @@ -1,16 +0,0 @@ | |||
| 1 | SUMMARY = "Docutils is a modular system for processing documentation into useful formats" | ||
| 2 | HOMEPAGE = "http://docutils.sourceforge.net" | ||
| 3 | SECTION = "devel/python" | ||
| 4 | LICENSE = "CC0-1.0 & BSD-2-Clause & GPL-3.0-only" | ||
| 5 | LIC_FILES_CHKSUM = "file://COPYING.rst;md5=ce467b04b35c7ac3429b6908fc8b318e" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "ba9d57750e92331ebe7c08a1bbf7a7f8143b86c476acd51528b042216a6aad0f" | ||
| 8 | |||
| 9 | inherit pypi python_flit_core | ||
| 10 | |||
| 11 | RDEPENDS:${PN} += "python3-pprint" | ||
| 12 | |||
| 13 | # We don't install the emacs lisp, which is the only piece of GPLv3 | ||
| 14 | LICENSE:${PN} = "CC0-1.0 & BSD-2-Clause" | ||
| 15 | |||
| 16 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-dtc_1.7.2.bb b/meta/recipes-devtools/python/python3-dtc_1.7.2.bb deleted file mode 100644 index 9525c340cd..0000000000 --- a/meta/recipes-devtools/python/python3-dtc_1.7.2.bb +++ /dev/null | |||
| @@ -1,22 +0,0 @@ | |||
| 1 | SUMMARY = "Python Library for the Device Tree Compiler" | ||
| 2 | HOMEPAGE = "https://devicetree.org/" | ||
| 3 | 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." | ||
| 4 | SECTION = "bootloader" | ||
| 5 | LICENSE = "GPL-2.0-only | BSD-2-Clause" | ||
| 6 | |||
| 7 | DEPENDS = "flex-native bison-native swig-native python3-setuptools-scm-native libyaml dtc" | ||
| 8 | |||
| 9 | SRC_URI = "git://git.kernel.org/pub/scm/utils/dtc/dtc.git;branch=main \ | ||
| 10 | " | ||
| 11 | |||
| 12 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" | ||
| 13 | |||
| 14 | LIC_FILES_CHKSUM = "file://pylibfdt/libfdt.i;beginline=1;endline=6;md5=afda088c974174a29108c8d80b5dce90" | ||
| 15 | |||
| 16 | SRCREV = "2d10aa2afe35527728db30b35ec491ecb6959e5c" | ||
| 17 | |||
| 18 | PYPA_WHEEL = "${S}/dist/libfdt-1.6.2*.whl" | ||
| 19 | |||
| 20 | inherit setuptools3 pkgconfig | ||
| 21 | |||
| 22 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-dtschema_2025.8.bb b/meta/recipes-devtools/python/python3-dtschema_2025.8.bb deleted file mode 100644 index 9aba5f85ee..0000000000 --- a/meta/recipes-devtools/python/python3-dtschema_2025.8.bb +++ /dev/null | |||
| @@ -1,20 +0,0 @@ | |||
| 1 | SUMMARY = "Tooling for devicetree validation using YAML and jsonschema" | ||
| 2 | HOMEPAGE = "https://github.com/devicetree-org/dt-schema" | ||
| 3 | LICENSE = "BSD-2-Clause" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=457495c8fa03540db4a576bf7869e811" | ||
| 5 | |||
| 6 | inherit pypi python_setuptools_build_meta | ||
| 7 | |||
| 8 | PYPI_PACKAGE = "dtschema" | ||
| 9 | |||
| 10 | SRC_URI[sha256sum] = "3c63b643fa76215b32cc6cbea9fd0dc7627dc71c67f3dca14fc04d70a7e1235e" | ||
| 11 | |||
| 12 | DEPENDS += "python3-setuptools-scm-native" | ||
| 13 | RDEPENDS:${PN} += "\ | ||
| 14 | python3-dtc \ | ||
| 15 | python3-jsonschema \ | ||
| 16 | python3-rfc3987 \ | ||
| 17 | python3-ruamel-yaml \ | ||
| 18 | " | ||
| 19 | |||
| 20 | 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 deleted file mode 100644 index 11566f096b..0000000000 --- a/meta/recipes-devtools/python/python3-editables_0.5.bb +++ /dev/null | |||
| @@ -1,13 +0,0 @@ | |||
| 1 | SUMMARY = "A Python library for creating editable wheels" | ||
| 2 | HOMEPAGE = "https://github.com/pfmoore/editables" | ||
| 3 | SECTION = "devel/python" | ||
| 4 | LICENSE = "MIT" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=41bc1be47b7bb8240db3ef928c7cb0bf" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "309627d9b5c4adc0e668d8c6fa7bac1ba7c8c5d415c2d27f60f081f8e80d1de2" | ||
| 8 | |||
| 9 | inherit pypi python_flit_core | ||
| 10 | |||
| 11 | RDEPENDS:${PN} += "python3-io" | ||
| 12 | |||
| 13 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-extras_1.0.0.bb b/meta/recipes-devtools/python/python3-extras_1.0.0.bb deleted file mode 100644 index 76f87f2640..0000000000 --- a/meta/recipes-devtools/python/python3-extras_1.0.0.bb +++ /dev/null | |||
| @@ -1,2 +0,0 @@ | |||
| 1 | inherit setuptools3 | ||
| 2 | require python-extras.inc | ||
diff --git a/meta/recipes-devtools/python/python3-flit-core_3.12.0.bb b/meta/recipes-devtools/python/python3-flit-core_3.12.0.bb deleted file mode 100644 index e40ffd0d0f..0000000000 --- a/meta/recipes-devtools/python/python3-flit-core_3.12.0.bb +++ /dev/null | |||
| @@ -1,31 +0,0 @@ | |||
| 1 | SUMMARY = "This provides a PEP 517 build backend for packages using Flit." | ||
| 2 | DESCRIPTION = "This provides a PEP 517 build backend for packages using \ | ||
| 3 | Flit. The only public interface is the API specified by PEP 517, at \ | ||
| 4 | flit_core.buildapi." | ||
| 5 | HOMEPAGE = "https://github.com/pypa/flit" | ||
| 6 | BUGTRACKER = "https://github.com/pypa/flit/issues" | ||
| 7 | |||
| 8 | LICENSE = "BSD-3-Clause" | ||
| 9 | LIC_FILES_CHKSUM = "file://LICENSE;md5=41eb78fa8a872983a882c694a8305f08" | ||
| 10 | |||
| 11 | SRC_URI[sha256sum] = "1c80f34dd96992e7758b40423d2809f48f640ca285d0b7821825e50745ec3740" | ||
| 12 | |||
| 13 | inherit pypi python_flit_core | ||
| 14 | |||
| 15 | # Need to install by hand as there's a dependency loop | ||
| 16 | DEPENDS:remove:class-native = " python3-build-native python3-installer-native" | ||
| 17 | DEPENDS:append:class-native = " unzip-native" | ||
| 18 | |||
| 19 | # We need the full flit tarball | ||
| 20 | PYPI_PACKAGE = "flit" | ||
| 21 | PEP517_SOURCE_PATH = "${S}/flit_core" | ||
| 22 | |||
| 23 | do_compile:class-native () { | ||
| 24 | python_flit_core_do_manual_build | ||
| 25 | } | ||
| 26 | |||
| 27 | do_install:class-native () { | ||
| 28 | python_pep517_do_bootstrap_install | ||
| 29 | } | ||
| 30 | |||
| 31 | 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 deleted file mode 100644 index 2126b5e92b..0000000000 --- a/meta/recipes-devtools/python/python3-git_3.1.43.bb +++ /dev/null | |||
| @@ -1,33 +0,0 @@ | |||
| 1 | SUMMARY = "Python library used to interact with Git repositories" | ||
| 2 | DESCRIPTION = "GitPython provides object model read and write access to \ | ||
| 3 | a git repository. Access repository information conveniently, alter the \ | ||
| 4 | index directly, handle remotes, or go down to low-level object database \ | ||
| 5 | access with big-files support." | ||
| 6 | HOMEPAGE = "http://github.com/gitpython-developers/GitPython" | ||
| 7 | SECTION = "devel/python" | ||
| 8 | LICENSE = "BSD-3-Clause" | ||
| 9 | LIC_FILES_CHKSUM = "file://LICENSE;md5=5279a7ab369ba336989dcf2a107e5c8e" | ||
| 10 | |||
| 11 | PYPI_PACKAGE = "GitPython" | ||
| 12 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 13 | |||
| 14 | inherit pypi python_setuptools_build_meta | ||
| 15 | |||
| 16 | SRC_URI[sha256sum] = "35f314a9f878467f5453cc1fee295c3e18e52f1b99f10f6cf5b1682e968a9e7c" | ||
| 17 | |||
| 18 | DEPENDS += " python3-gitdb" | ||
| 19 | |||
| 20 | RDEPENDS:${PN} += " \ | ||
| 21 | python3-datetime \ | ||
| 22 | python3-gitdb \ | ||
| 23 | python3-io \ | ||
| 24 | python3-logging \ | ||
| 25 | python3-math \ | ||
| 26 | python3-netclient \ | ||
| 27 | python3-stringold \ | ||
| 28 | python3-unittest \ | ||
| 29 | python3-unixadmin \ | ||
| 30 | git \ | ||
| 31 | " | ||
| 32 | |||
| 33 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-gitdb_4.0.12.bb b/meta/recipes-devtools/python/python3-gitdb_4.0.12.bb deleted file mode 100644 index 0b7eec876f..0000000000 --- a/meta/recipes-devtools/python/python3-gitdb_4.0.12.bb +++ /dev/null | |||
| @@ -1,22 +0,0 @@ | |||
| 1 | SUMMARY = "A pure-Python git object database" | ||
| 2 | HOMEPAGE = "http://github.com/gitpython-developers/gitdb" | ||
| 3 | SECTION = "devel/python" | ||
| 4 | LICENSE = "BSD-3-Clause" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=59e5ecb13339a936eedf83282eaf4528" | ||
| 6 | |||
| 7 | DEPENDS = "python3-smmap" | ||
| 8 | |||
| 9 | inherit pypi setuptools3 | ||
| 10 | |||
| 11 | PYPI_PACKAGE = "gitdb" | ||
| 12 | |||
| 13 | SRC_URI[sha256sum] = "5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571" | ||
| 14 | |||
| 15 | RDEPENDS:${PN} += "python3-compression \ | ||
| 16 | python3-crypt \ | ||
| 17 | python3-io \ | ||
| 18 | python3-mmap \ | ||
| 19 | python3-shell \ | ||
| 20 | python3-smmap \ | ||
| 21 | " | ||
| 22 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-hatch-fancy-pypi-readme_25.1.0.bb b/meta/recipes-devtools/python/python3-hatch-fancy-pypi-readme_25.1.0.bb deleted file mode 100644 index 5d8d82edd8..0000000000 --- a/meta/recipes-devtools/python/python3-hatch-fancy-pypi-readme_25.1.0.bb +++ /dev/null | |||
| @@ -1,13 +0,0 @@ | |||
| 1 | SUMMARY = "Hatch plugin for fancy PyPI readmes " | ||
| 2 | HOMEPAGE = "https://pypi.org/project/hatch-fancy-pypi-readme/" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ba5633c60bd3e243091013aa83b4d807" | ||
| 5 | |||
| 6 | inherit pypi python_hatchling | ||
| 7 | |||
| 8 | PYPI_PACKAGE = "hatch_fancy_pypi_readme" | ||
| 9 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 10 | |||
| 11 | SRC_URI[sha256sum] = "9c58ed3dff90d51f43414ce37009ad1d5b0f08ffc9fc216998a06380f01c0045" | ||
| 12 | |||
| 13 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-hatch-vcs_0.5.0.bb b/meta/recipes-devtools/python/python3-hatch-vcs_0.5.0.bb deleted file mode 100644 index 011e28eb81..0000000000 --- a/meta/recipes-devtools/python/python3-hatch-vcs_0.5.0.bb +++ /dev/null | |||
| @@ -1,13 +0,0 @@ | |||
| 1 | SUMMARY = "Hatch plugin for versioning with your preferred VCS" | ||
| 2 | HOMEPAGE = "https://pypi.org/project/hatch-vcs/" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=26501cfd0bbddf830ee820e95551fa3d" | ||
| 5 | |||
| 6 | inherit pypi python_hatchling | ||
| 7 | |||
| 8 | PYPI_PACKAGE = "hatch_vcs" | ||
| 9 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 10 | |||
| 11 | SRC_URI[sha256sum] = "0395fa126940340215090c344a2bf4e2a77bcbe7daab16f41b37b98c95809ff9" | ||
| 12 | |||
| 13 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-hatchling_1.27.0.bb b/meta/recipes-devtools/python/python3-hatchling_1.27.0.bb deleted file mode 100644 index 5239d8155c..0000000000 --- a/meta/recipes-devtools/python/python3-hatchling_1.27.0.bb +++ /dev/null | |||
| @@ -1,17 +0,0 @@ | |||
| 1 | SUMMARY = "The extensible, standards compliant build backend used by Hatch" | ||
| 2 | HOMEPAGE = "https://hatch.pypa.io/" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cbe2fd33fc9297692812fc94b7d27fd9" | ||
| 5 | |||
| 6 | inherit pypi python_hatchling | ||
| 7 | |||
| 8 | DEPENDS += "python3-pluggy-native python3-pathspec-native python3-packaging-native python3-editables-native python3-trove-classifiers-native" | ||
| 9 | DEPENDS:remove:class-native = "python3-hatchling-native" | ||
| 10 | |||
| 11 | SRC_URI[sha256sum] = "971c296d9819abb3811112fc52c7a9751c8d381898f36533bb16f9791e941fd6" | ||
| 12 | |||
| 13 | do_compile:prepend() { | ||
| 14 | export PYTHONPATH=src | ||
| 15 | } | ||
| 16 | |||
| 17 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-hypothesis/test_binary_search.py b/meta/recipes-devtools/python/python3-hypothesis/test_binary_search.py deleted file mode 100644 index 21267c4ac2..0000000000 --- a/meta/recipes-devtools/python/python3-hypothesis/test_binary_search.py +++ /dev/null | |||
| @@ -1,135 +0,0 @@ | |||
| 1 | # This file is part of Hypothesis, which may be found at | ||
| 2 | # https://github.com/HypothesisWorks/hypothesis/ | ||
| 3 | # | ||
| 4 | # Most of this work is copyright (C) 2013-2021 David R. MacIver | ||
| 5 | # (david@drmaciver.com), but it contains contributions by others. See | ||
| 6 | # CONTRIBUTING.rst for a full list of people who may hold copyright, and | ||
| 7 | # consult the git log if you need to determine who owns an individual | ||
| 8 | # contribution. | ||
| 9 | # | ||
| 10 | # This Source Code Form is subject to the terms of the Mozilla Public License, | ||
| 11 | # v. 2.0. If a copy of the MPL was not distributed with this file, You can | ||
| 12 | # obtain one at https://mozilla.org/MPL/2.0/. | ||
| 13 | # | ||
| 14 | # END HEADER | ||
| 15 | # | ||
| 16 | # SPDX-License-Identifier: MPL-2.0 | ||
| 17 | |||
| 18 | """This file demonstrates testing a binary search. | ||
| 19 | |||
| 20 | It's a useful example because the result of the binary search is so clearly | ||
| 21 | determined by the invariants it must satisfy, so we can simply test for those | ||
| 22 | invariants. | ||
| 23 | |||
| 24 | It also demonstrates the useful testing technique of testing how the answer | ||
| 25 | should change (or not) in response to movements in the underlying data. | ||
| 26 | """ | ||
| 27 | |||
| 28 | from hypothesis import given, strategies as st | ||
| 29 | |||
| 30 | |||
| 31 | def binary_search(ls, v): | ||
| 32 | """Take a list ls and a value v such that ls is sorted and v is comparable | ||
| 33 | with the elements of ls. | ||
| 34 | |||
| 35 | Return an index i such that 0 <= i <= len(v) with the properties: | ||
| 36 | |||
| 37 | 1. ls.insert(i, v) is sorted | ||
| 38 | 2. ls.insert(j, v) is not sorted for j < i | ||
| 39 | """ | ||
| 40 | # Without this check we will get an index error on the next line when the | ||
| 41 | # list is empty. | ||
| 42 | if not ls: | ||
| 43 | return 0 | ||
| 44 | |||
| 45 | # Without this check we will miss the case where the insertion point should | ||
| 46 | # be zero: The invariant we maintain in the next section is that lo is | ||
| 47 | # always strictly lower than the insertion point. | ||
| 48 | if v <= ls[0]: | ||
| 49 | return 0 | ||
| 50 | |||
| 51 | # Invariant: There is no insertion point i with i <= lo | ||
| 52 | lo = 0 | ||
| 53 | |||
| 54 | # Invariant: There is an insertion point i with i <= hi | ||
| 55 | hi = len(ls) | ||
| 56 | while lo + 1 < hi: | ||
| 57 | mid = (lo + hi) // 2 | ||
| 58 | if v > ls[mid]: | ||
| 59 | # Inserting v anywhere below mid would result in an unsorted list | ||
| 60 | # because it's > the value at mid. Therefore mid is a valid new lo | ||
| 61 | lo = mid | ||
| 62 | # Uncommenting the following lines will cause this to return a valid | ||
| 63 | # insertion point which is not always minimal. | ||
| 64 | # elif v == ls[mid]: | ||
| 65 | # return mid | ||
| 66 | else: | ||
| 67 | # Either v == ls[mid] in which case mid is a valid insertion point | ||
| 68 | # or v < ls[mid], in which case all valid insertion points must be | ||
| 69 | # < hi. Either way, mid is a valid new hi. | ||
| 70 | hi = mid | ||
| 71 | assert lo + 1 == hi | ||
| 72 | # We now know that there is a valid insertion point <= hi and there is no | ||
| 73 | # valid insertion point < hi because hi - 1 is lo. Therefore hi is the | ||
| 74 | # answer we were seeking | ||
| 75 | return hi | ||
| 76 | |||
| 77 | |||
| 78 | def is_sorted(ls): | ||
| 79 | """Is this list sorted?""" | ||
| 80 | for i in range(len(ls) - 1): | ||
| 81 | if ls[i] > ls[i + 1]: | ||
| 82 | return False | ||
| 83 | return True | ||
| 84 | |||
| 85 | |||
| 86 | Values = st.integers() | ||
| 87 | |||
| 88 | # We generate arbitrary lists and turn this into generating sorting lists | ||
| 89 | # by just sorting them. | ||
| 90 | SortedLists = st.lists(Values).map(sorted) | ||
| 91 | |||
| 92 | # We could also do it this way, but that would be a bad idea: | ||
| 93 | # SortedLists = st.lists(Values).filter(is_sorted) | ||
| 94 | # The problem is that Hypothesis will only generate long sorted lists with very | ||
| 95 | # low probability, so we are much better off post-processing values into the | ||
| 96 | # form we want than filtering them out. | ||
| 97 | |||
| 98 | |||
| 99 | @given(ls=SortedLists, v=Values) | ||
| 100 | def test_insert_is_sorted(ls, v): | ||
| 101 | """We test the first invariant: binary_search should return an index such | ||
| 102 | that inserting the value provided at that index would result in a sorted | ||
| 103 | set.""" | ||
| 104 | ls.insert(binary_search(ls, v), v) | ||
| 105 | assert is_sorted(ls) | ||
| 106 | |||
| 107 | |||
| 108 | @given(ls=SortedLists, v=Values) | ||
| 109 | def test_is_minimal(ls, v): | ||
| 110 | """We test the second invariant: binary_search should return an index such | ||
| 111 | that no smaller index is a valid insertion point for v.""" | ||
| 112 | for i in range(binary_search(ls, v)): | ||
| 113 | ls2 = list(ls) | ||
| 114 | ls2.insert(i, v) | ||
| 115 | assert not is_sorted(ls2) | ||
| 116 | |||
| 117 | |||
| 118 | @given(ls=SortedLists, v=Values) | ||
| 119 | def test_inserts_into_same_place_twice(ls, v): | ||
| 120 | """In this we test a *consequence* of the second invariant: When we insert | ||
| 121 | a value into a list twice, the insertion point should be the same both | ||
| 122 | times. This is because we know that v is > the previous element and == the | ||
| 123 | next element. | ||
| 124 | |||
| 125 | In theory if the former passes, this should always pass. In practice, | ||
| 126 | failures are detected by this test with much higher probability because it | ||
| 127 | deliberately puts the data into a shape that is likely to trigger a | ||
| 128 | failure. | ||
| 129 | |||
| 130 | This is an instance of a good general category of test: Testing how the | ||
| 131 | function moves in responses to changes in the underlying data. | ||
| 132 | """ | ||
| 133 | i = binary_search(ls, v) | ||
| 134 | ls.insert(i, v) | ||
| 135 | assert binary_search(ls, v) == i | ||
diff --git a/meta/recipes-devtools/python/python3-hypothesis/test_rle.py b/meta/recipes-devtools/python/python3-hypothesis/test_rle.py deleted file mode 100644 index 4d618865ac..0000000000 --- a/meta/recipes-devtools/python/python3-hypothesis/test_rle.py +++ /dev/null | |||
| @@ -1,101 +0,0 @@ | |||
| 1 | # This file is part of Hypothesis, which may be found at | ||
| 2 | # https://github.com/HypothesisWorks/hypothesis/ | ||
| 3 | # | ||
| 4 | # Most of this work is copyright (C) 2013-2021 David R. MacIver | ||
| 5 | # (david@drmaciver.com), but it contains contributions by others. See | ||
| 6 | # CONTRIBUTING.rst for a full list of people who may hold copyright, and | ||
| 7 | # consult the git log if you need to determine who owns an individual | ||
| 8 | # contribution. | ||
| 9 | # | ||
| 10 | # This Source Code Form is subject to the terms of the Mozilla Public License, | ||
| 11 | # v. 2.0. If a copy of the MPL was not distributed with this file, You can | ||
| 12 | # obtain one at https://mozilla.org/MPL/2.0/. | ||
| 13 | # | ||
| 14 | # END HEADER | ||
| 15 | # | ||
| 16 | # SPDX-License-Identifier: MPL-2.0 | ||
| 17 | |||
| 18 | """This example demonstrates testing a run length encoding scheme. That is, we | ||
| 19 | take a sequence and represent it by a shorter sequence where each 'run' of | ||
| 20 | consecutive equal elements is represented as a single element plus a count. So | ||
| 21 | e.g. | ||
| 22 | |||
| 23 | [1, 1, 1, 1, 2, 1] is represented as [[1, 4], [2, 1], [1, 1]] | ||
| 24 | |||
| 25 | This demonstrates the useful decode(encode(x)) == x invariant that is often | ||
| 26 | a fruitful source of testing with Hypothesis. | ||
| 27 | |||
| 28 | It also has an example of testing invariants in response to changes in the | ||
| 29 | underlying data. | ||
| 30 | """ | ||
| 31 | |||
| 32 | from hypothesis import assume, given, strategies as st | ||
| 33 | |||
| 34 | |||
| 35 | def run_length_encode(seq): | ||
| 36 | """Encode a sequence as a new run-length encoded sequence.""" | ||
| 37 | if not seq: | ||
| 38 | return [] | ||
| 39 | # By starting off the count at zero we simplify the iteration logic | ||
| 40 | # slightly. | ||
| 41 | result = [[seq[0], 0]] | ||
| 42 | for s in seq: | ||
| 43 | if ( | ||
| 44 | # If you uncomment this line this branch will be skipped and we'll | ||
| 45 | # always append a new run of length 1. Note which tests fail. | ||
| 46 | # False and | ||
| 47 | s | ||
| 48 | == result[-1][0] | ||
| 49 | # Try uncommenting this line and see what problems occur: | ||
| 50 | # and result[-1][-1] < 2 | ||
| 51 | ): | ||
| 52 | result[-1][1] += 1 | ||
| 53 | else: | ||
| 54 | result.append([s, 1]) | ||
| 55 | return result | ||
| 56 | |||
| 57 | |||
| 58 | def run_length_decode(seq): | ||
| 59 | """Take a previously encoded sequence and reconstruct the original from | ||
| 60 | it.""" | ||
| 61 | result = [] | ||
| 62 | for s, i in seq: | ||
| 63 | for _ in range(i): | ||
| 64 | result.append(s) | ||
| 65 | return result | ||
| 66 | |||
| 67 | |||
| 68 | # We use lists of a type that should have a relatively high duplication rate, | ||
| 69 | # otherwise we'd almost never get any runs. | ||
| 70 | Lists = st.lists(st.integers(0, 10)) | ||
| 71 | |||
| 72 | |||
| 73 | @given(Lists) | ||
| 74 | def test_decodes_to_starting_sequence(ls): | ||
| 75 | """If we encode a sequence and then decode the result, we should get the | ||
| 76 | original sequence back. | ||
| 77 | |||
| 78 | Otherwise we've done something very wrong. | ||
| 79 | """ | ||
| 80 | assert run_length_decode(run_length_encode(ls)) == ls | ||
| 81 | |||
| 82 | |||
| 83 | @given(Lists, st.data()) | ||
| 84 | def test_duplicating_an_element_does_not_increase_length(ls, data): | ||
| 85 | """The previous test could be passed by simply returning the input sequence | ||
| 86 | so we need something that tests the compression property of our encoding. | ||
| 87 | |||
| 88 | In this test we deliberately introduce or extend a run and assert | ||
| 89 | that this does not increase the length of our encoding, because they | ||
| 90 | should be part of the same run in the final result. | ||
| 91 | """ | ||
| 92 | # We use assume to get a valid index into the list. We could also have used | ||
| 93 | # e.g. flatmap, but this is relatively straightforward and will tend to | ||
| 94 | # perform better. | ||
| 95 | assume(ls) | ||
| 96 | i = data.draw(st.integers(0, len(ls) - 1)) | ||
| 97 | ls2 = list(ls) | ||
| 98 | # duplicating the value at i right next to it guarantees they are part of | ||
| 99 | # the same run in the resulting compression. | ||
| 100 | ls2.insert(i, ls2[i]) | ||
| 101 | assert len(run_length_encode(ls2)) == len(run_length_encode(ls)) | ||
diff --git a/meta/recipes-devtools/python/python3-hypothesis_6.142.2.bb b/meta/recipes-devtools/python/python3-hypothesis_6.142.2.bb deleted file mode 100644 index 5ba7c66577..0000000000 --- a/meta/recipes-devtools/python/python3-hypothesis_6.142.2.bb +++ /dev/null | |||
| @@ -1,36 +0,0 @@ | |||
| 1 | SUMMARY = "A library for property-based testing" | ||
| 2 | HOMEPAGE = "https://github.com/HypothesisWorks/hypothesis/tree/master/hypothesis-python" | ||
| 3 | LICENSE = "MPL-2.0" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4ee62c16ebd0f4f99d906f36b7de8c3c" | ||
| 5 | |||
| 6 | PYPI_PACKAGE = "hypothesis" | ||
| 7 | PTEST_PYTEST_DIR ?= "examples" | ||
| 8 | |||
| 9 | inherit pypi python_setuptools_build_meta ptest-python-pytest | ||
| 10 | |||
| 11 | SRC_URI += " \ | ||
| 12 | file://test_binary_search.py \ | ||
| 13 | file://test_rle.py \ | ||
| 14 | " | ||
| 15 | |||
| 16 | SRC_URI[sha256sum] = "c4204a2ce327e45fbaf83a2b58142a285135698dc1d08e368ae9901f06b49e64" | ||
| 17 | |||
| 18 | RDEPENDS:${PN} += " \ | ||
| 19 | python3-attrs \ | ||
| 20 | python3-compression \ | ||
| 21 | python3-core \ | ||
| 22 | python3-json \ | ||
| 23 | python3-pytest \ | ||
| 24 | python3-sortedcontainers \ | ||
| 25 | python3-statistics \ | ||
| 26 | python3-unittest \ | ||
| 27 | python3-zoneinfo \ | ||
| 28 | " | ||
| 29 | |||
| 30 | do_install_ptest:append() { | ||
| 31 | install -d ${D}${PTEST_PATH}/${PTEST_PYTEST_DIR} | ||
| 32 | install -m 0755 ${UNPACKDIR}/test_binary_search.py ${D}${PTEST_PATH}/${PTEST_PYTEST_DIR}/ | ||
| 33 | install -m 0755 ${UNPACKDIR}/test_rle.py ${D}${PTEST_PATH}/${PTEST_PYTEST_DIR}/ | ||
| 34 | } | ||
| 35 | |||
| 36 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-idna_3.11.bb b/meta/recipes-devtools/python/python3-idna_3.11.bb deleted file mode 100644 index de4595c1d4..0000000000 --- a/meta/recipes-devtools/python/python3-idna_3.11.bb +++ /dev/null | |||
| @@ -1,13 +0,0 @@ | |||
| 1 | SUMMARY = "Internationalised Domain Names in Applications" | ||
| 2 | HOMEPAGE = "https://github.com/kjd/idna" | ||
| 3 | LICENSE = "BSD-3-Clause & Python-2.0 & Unicode-TOU" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=18a4795c19833413a7e2f1cb3cd3b143" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" | ||
| 7 | |||
| 8 | inherit pypi python_flit_core ptest-python-pytest | ||
| 9 | |||
| 10 | RDEPENDS:${PN} += "python3-codecs" | ||
| 11 | RDEPENDS:${PN}-ptest += "python3-unittest-automake-output" | ||
| 12 | |||
| 13 | 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 deleted file mode 100644 index 7d37e2be24..0000000000 --- a/meta/recipes-devtools/python/python3-imagesize_1.4.1.bb +++ /dev/null | |||
| @@ -1,13 +0,0 @@ | |||
| 1 | SUMMARY = "Parses image files' header and return image size." | ||
| 2 | HOMEPAGE = "https://github.com/shibukawa/imagesize_py" | ||
| 3 | SECTION = "devel/python" | ||
| 4 | LICENSE = "MIT" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=0c128f0f7e8a02e1b83884c0b5a41cda" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a" | ||
| 8 | |||
| 9 | inherit setuptools3 pypi | ||
| 10 | |||
| 11 | BBCLASSEXTEND = "native nativesdk" | ||
| 12 | |||
| 13 | RDEPENDS:${PN} = "python3-xml" | ||
diff --git a/meta/recipes-devtools/python/python3-iniconfig_2.1.0.bb b/meta/recipes-devtools/python/python3-iniconfig_2.1.0.bb deleted file mode 100644 index d9b31aea4a..0000000000 --- a/meta/recipes-devtools/python/python3-iniconfig_2.1.0.bb +++ /dev/null | |||
| @@ -1,13 +0,0 @@ | |||
| 1 | SUMMARY = "A small and simple INI-file parser module" | ||
| 2 | HOMEPAGE = "https://pypi.org/project/iniconfig/" | ||
| 3 | |||
| 4 | LICENSE = "MIT" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=4a73af4b5f1f3a8731e5def70e8c1254" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7" | ||
| 8 | |||
| 9 | DEPENDS += "python3-hatch-vcs-native" | ||
| 10 | |||
| 11 | inherit pypi python_hatchling | ||
| 12 | |||
| 13 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-installer/0001-src-installer-utils.py-sort-entries-before-writing-o.patch b/meta/recipes-devtools/python/python3-installer/0001-src-installer-utils.py-sort-entries-before-writing-o.patch deleted file mode 100644 index a6715ed457..0000000000 --- a/meta/recipes-devtools/python/python3-installer/0001-src-installer-utils.py-sort-entries-before-writing-o.patch +++ /dev/null | |||
| @@ -1,27 +0,0 @@ | |||
| 1 | From 760ddf50ce559abd67bbdd31797267d00bcddfb3 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alexander Kanavin <alex@linutronix.de> | ||
| 3 | Date: Tue, 1 Oct 2024 19:22:11 +0200 | ||
| 4 | Subject: [PATCH] src/installer/utils.py: sort entries before writing out | ||
| 5 | RECORD file | ||
| 6 | |||
| 7 | This helps build reproducibility. | ||
| 8 | |||
| 9 | Upstream-Status: Submitted [https://github.com/pypa/installer/pull/245] | ||
| 10 | Signed-off-by: Alexander Kanavin <alex@linutronix.de> | ||
| 11 | --- | ||
| 12 | src/installer/utils.py | 2 +- | ||
| 13 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 14 | |||
| 15 | diff --git a/src/installer/utils.py b/src/installer/utils.py | ||
| 16 | index 3e601d6..073297c 100644 | ||
| 17 | --- a/src/installer/utils.py | ||
| 18 | +++ b/src/installer/utils.py | ||
| 19 | @@ -207,7 +207,7 @@ def construct_record_file( | ||
| 20 | io.BytesIO(), encoding="utf-8", write_through=True, newline="" | ||
| 21 | ) | ||
| 22 | writer = csv.writer(stream, delimiter=",", quotechar='"', lineterminator="\n") | ||
| 23 | - for scheme, record in records: | ||
| 24 | + for scheme, record in sorted(records, key=lambda x: x[1].path): | ||
| 25 | writer.writerow(record.to_row(prefix_for_scheme(scheme))) | ||
| 26 | stream.seek(0) | ||
| 27 | return stream.detach() | ||
diff --git a/meta/recipes-devtools/python/python3-installer/interpreter.patch b/meta/recipes-devtools/python/python3-installer/interpreter.patch deleted file mode 100644 index 7906769b90..0000000000 --- a/meta/recipes-devtools/python/python3-installer/interpreter.patch +++ /dev/null | |||
| @@ -1,71 +0,0 @@ | |||
| 1 | From 74fe171fa4a25c120607e9f8450cbdfee675c959 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Ross Burton <ross.burton@arm.com> | ||
| 3 | Date: Mon, 14 Mar 2022 14:39:22 +0000 | ||
| 4 | Subject: [PATCH] python3-installer: add installer module | ||
| 5 | |||
| 6 | Let us override the hashbang directly (possibly upstreamable), and don't | ||
| 7 | play games with hashbangs: for now assume that even hashbangs with spaces | ||
| 8 | are simple (assume the spaces are only used to separate arguments) and | ||
| 9 | we don't have long hashbangs. | ||
| 10 | |||
| 11 | Upstream-Status: Inappropriate | ||
| 12 | Signed-off-by: Ross Burton <ross.burton@arm.com> | ||
| 13 | |||
| 14 | --- | ||
| 15 | src/installer/__main__.py | 9 ++++++++- | ||
| 16 | src/installer/scripts.py | 15 +-------------- | ||
| 17 | 2 files changed, 9 insertions(+), 15 deletions(-) | ||
| 18 | |||
| 19 | diff --git a/src/installer/__main__.py b/src/installer/__main__.py | ||
| 20 | index 51014b9..38de286 100644 | ||
| 21 | --- a/src/installer/__main__.py | ||
| 22 | +++ b/src/installer/__main__.py | ||
| 23 | @@ -30,6 +30,13 @@ def _get_main_parser() -> argparse.ArgumentParser: | ||
| 24 | type=str, | ||
| 25 | help="override prefix to install packages to", | ||
| 26 | ) | ||
| 27 | + parser.add_argument( | ||
| 28 | + "--interpreter", | ||
| 29 | + "-i", | ||
| 30 | + type=str, | ||
| 31 | + default=sys.executable, | ||
| 32 | + help=f"interpreter (defaults to {sys.executable})", | ||
| 33 | + ) | ||
| 34 | parser.add_argument( | ||
| 35 | "--compile-bytecode", | ||
| 36 | action="append", | ||
| 37 | @@ -86,7 +93,7 @@ def _main(cli_args: Sequence[str], program: Optional[str] = None) -> None: | ||
| 38 | with WheelFile.open(args.wheel) as source: | ||
| 39 | destination = SchemeDictionaryDestination( | ||
| 40 | scheme_dict=_get_scheme_dict(source.distribution, prefix=args.prefix), | ||
| 41 | - interpreter=sys.executable, | ||
| 42 | + interpreter=args.interpreter, | ||
| 43 | script_kind=get_launcher_kind(), | ||
| 44 | bytecode_optimization_levels=bytecode_levels, | ||
| 45 | destdir=args.destdir, | ||
| 46 | diff --git a/src/installer/scripts.py b/src/installer/scripts.py | ||
| 47 | index 7e3c8fc..ba6ed5a 100644 | ||
| 48 | --- a/src/installer/scripts.py | ||
| 49 | +++ b/src/installer/scripts.py | ||
| 50 | @@ -59,20 +59,7 @@ def _build_shebang(executable: str, forlauncher: bool) -> bytes: | ||
| 51 | https://bitbucket.org/pypa/distlib/src/58cd5c6/distlib/scripts.py#lines-124 | ||
| 52 | """ | ||
| 53 | executable_bytes = executable.encode("utf-8") | ||
| 54 | - if forlauncher: # The launcher can just use the command as-is. | ||
| 55 | - return b"#!" + executable_bytes | ||
| 56 | - if _is_executable_simple(executable_bytes): | ||
| 57 | - return b"#!" + executable_bytes | ||
| 58 | - | ||
| 59 | - # Shebang support for an executable with a space in it is under-specified | ||
| 60 | - # and platform-dependent, so we use a clever hack to generate a script to | ||
| 61 | - # run in ``/bin/sh`` that should work on all reasonably modern platforms. | ||
| 62 | - # Read the following message to understand how the hack works: | ||
| 63 | - # https://github.com/pradyunsg/installer/pull/4#issuecomment-623668717 | ||
| 64 | - | ||
| 65 | - quoted = shlex.quote(executable).encode("utf-8") | ||
| 66 | - # I don't understand a lick what this is trying to do. | ||
| 67 | - return b"#!/bin/sh\n'''exec' " + quoted + b' "$0" "$@"\n' + b"' '''" | ||
| 68 | + return b"#!" + executable_bytes | ||
| 69 | |||
| 70 | |||
| 71 | 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 deleted file mode 100644 index 6aaf1b3a37..0000000000 --- a/meta/recipes-devtools/python/python3-installer_0.7.0.bb +++ /dev/null | |||
| @@ -1,35 +0,0 @@ | |||
| 1 | SUMMARY = "Library and tool for installing Python wheels" | ||
| 2 | DESCRIPTION = "A low-level library for installing a Python package from a wheel distribution." | ||
| 3 | HOMEPAGE = "https://installer.readthedocs.io/" | ||
| 4 | BUGTRACKER = "https://github.com/pypa/installer/issues" | ||
| 5 | |||
| 6 | LICENSE = "MIT" | ||
| 7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=5038641aec7a77451e31da828ebfae00" | ||
| 8 | |||
| 9 | SRC_URI += "file://interpreter.patch \ | ||
| 10 | file://0001-src-installer-utils.py-sort-entries-before-writing-o.patch" | ||
| 11 | |||
| 12 | SRC_URI[sha256sum] = "a26d3e3116289bb08216e0d0f7d925fcef0b0194eedfa0c944bcaaa106c4b631" | ||
| 13 | |||
| 14 | inherit pypi python_flit_core | ||
| 15 | |||
| 16 | # Bootstrap the native build | ||
| 17 | DEPENDS:remove:class-native = "python3-build-native python3-installer-native" | ||
| 18 | |||
| 19 | RDEPENDS:${PN} += " \ | ||
| 20 | python3-compile \ | ||
| 21 | python3-compression \ | ||
| 22 | python3-netclient \ | ||
| 23 | " | ||
| 24 | |||
| 25 | INSTALL_WHEEL_COMPILE_BYTECODE:class-native = "--no-compile-bytecode" | ||
| 26 | |||
| 27 | do_compile:class-native () { | ||
| 28 | python_flit_core_do_manual_build | ||
| 29 | } | ||
| 30 | |||
| 31 | do_install:prepend:class-native() { | ||
| 32 | export PYTHONPATH="${S}/src" | ||
| 33 | } | ||
| 34 | |||
| 35 | 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 deleted file mode 100644 index d7ab4a5a77..0000000000 --- a/meta/recipes-devtools/python/python3-iso8601_2.1.0.bb +++ /dev/null | |||
| @@ -1,15 +0,0 @@ | |||
| 1 | SUMMARY = "Simple module to parse ISO 8601 dates" | ||
| 2 | HOMEPAGE = "http://pyiso8601.readthedocs.org/" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=aab31f2ef7ba214a5a341eaa47a7f367" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "6b1d3829ee8921c4301998c909f7829fa9ed3cbdac0d3b16af2d743aed1ba8df" | ||
| 7 | |||
| 8 | inherit pypi python_poetry_core | ||
| 9 | |||
| 10 | RDEPENDS:${PN} += "\ | ||
| 11 | python3-datetime \ | ||
| 12 | python3-numbers \ | ||
| 13 | " | ||
| 14 | |||
| 15 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-jinja2_3.1.6.bb b/meta/recipes-devtools/python/python3-jinja2_3.1.6.bb deleted file mode 100644 index 2e96eb0dcb..0000000000 --- a/meta/recipes-devtools/python/python3-jinja2_3.1.6.bb +++ /dev/null | |||
| @@ -1,41 +0,0 @@ | |||
| 1 | SUMMARY = "Python Jinja2: A small but fast and easy to use stand-alone template engine written in pure python." | ||
| 2 | HOMEPAGE = "https://pypi.org/project/Jinja2/" | ||
| 3 | |||
| 4 | LICENSE = "BSD-3-Clause" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5dc88300786f1c214c1e9827a5229462" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d" | ||
| 8 | |||
| 9 | PYPI_PACKAGE = "jinja2" | ||
| 10 | |||
| 11 | CVE_PRODUCT = "jinja2 jinja" | ||
| 12 | |||
| 13 | CLEANBROKEN = "1" | ||
| 14 | |||
| 15 | inherit pypi python_flit_core ptest-python-pytest | ||
| 16 | |||
| 17 | do_install_ptest:append() { | ||
| 18 | # test_async items require trio module | ||
| 19 | rm -f ${D}${PTEST_PATH}/tests/test_async.py ${D}${PTEST_PATH}/tests/test_async_filters.py | ||
| 20 | } | ||
| 21 | |||
| 22 | RDEPENDS:${PN}-ptest += " \ | ||
| 23 | python3-unixadmin \ | ||
| 24 | " | ||
| 25 | |||
| 26 | RDEPENDS:${PN} += " \ | ||
| 27 | python3-asyncio \ | ||
| 28 | python3-crypt \ | ||
| 29 | python3-io \ | ||
| 30 | python3-json \ | ||
| 31 | python3-markupsafe \ | ||
| 32 | python3-math \ | ||
| 33 | python3-netclient \ | ||
| 34 | python3-numbers\ | ||
| 35 | python3-pickle \ | ||
| 36 | python3-pprint \ | ||
| 37 | python3-shell \ | ||
| 38 | python3-threading \ | ||
| 39 | " | ||
| 40 | |||
| 41 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-jsonpointer/run-ptest b/meta/recipes-devtools/python/python3-jsonpointer/run-ptest deleted file mode 100644 index 7ebd69231f..0000000000 --- a/meta/recipes-devtools/python/python3-jsonpointer/run-ptest +++ /dev/null | |||
| @@ -1,3 +0,0 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | python3 -mputao.unittest tests.py | ||
diff --git a/meta/recipes-devtools/python/python3-jsonpointer_3.0.0.bb b/meta/recipes-devtools/python/python3-jsonpointer_3.0.0.bb deleted file mode 100644 index 0a23dc3100..0000000000 --- a/meta/recipes-devtools/python/python3-jsonpointer_3.0.0.bb +++ /dev/null | |||
| @@ -1,28 +0,0 @@ | |||
| 1 | SUMMARY = "Resolve JSON Pointers in Python" | ||
| 2 | HOMEPAGE = "https://github.com/stefankoegl/python-json-pointer" | ||
| 3 | LICENSE = "BSD-3-Clause" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=32b15c843b7a329130f4e266a281ebb3" | ||
| 5 | |||
| 6 | inherit pypi ptest setuptools3 | ||
| 7 | |||
| 8 | SRC_URI[sha256sum] = "2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef" | ||
| 9 | |||
| 10 | SRC_URI += " \ | ||
| 11 | file://run-ptest \ | ||
| 12 | " | ||
| 13 | |||
| 14 | do_install_ptest() { | ||
| 15 | cp -f ${S}/tests.py ${D}${PTEST_PATH}/ | ||
| 16 | } | ||
| 17 | |||
| 18 | RDEPENDS:${PN} += " \ | ||
| 19 | python3-json \ | ||
| 20 | " | ||
| 21 | |||
| 22 | RDEPENDS:${PN}-ptest += " \ | ||
| 23 | python3-doctest \ | ||
| 24 | python3-unittest \ | ||
| 25 | python3-unittest-automake-output \ | ||
| 26 | " | ||
| 27 | |||
| 28 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-jsonschema-specifications_2025.9.1.bb b/meta/recipes-devtools/python/python3-jsonschema-specifications_2025.9.1.bb deleted file mode 100644 index 5ad761bad3..0000000000 --- a/meta/recipes-devtools/python/python3-jsonschema-specifications_2025.9.1.bb +++ /dev/null | |||
| @@ -1,17 +0,0 @@ | |||
| 1 | SUMMARY = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" | ||
| 2 | DESCRIPTION = "JSON support files from the JSON Schema Specifications (metaschemas, \ | ||
| 3 | vocabularies, etc.), packaged for runtime access from Python as a referencing-based Schema Registry." | ||
| 4 | HOMEPAGE = "https://pypi.org/project/jsonschema-specifications/" | ||
| 5 | LICENSE = "MIT" | ||
| 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=93eb9740964b59e9ba30281255b044e2" | ||
| 7 | |||
| 8 | SRC_URI[sha256sum] = "b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d" | ||
| 9 | |||
| 10 | inherit pypi python_hatchling | ||
| 11 | |||
| 12 | PYPI_PACKAGE = "jsonschema_specifications" | ||
| 13 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 14 | |||
| 15 | DEPENDS += "python3-hatch-vcs-native" | ||
| 16 | |||
| 17 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-jsonschema_4.25.1.bb b/meta/recipes-devtools/python/python3-jsonschema_4.25.1.bb deleted file mode 100644 index 5ccb829ff4..0000000000 --- a/meta/recipes-devtools/python/python3-jsonschema_4.25.1.bb +++ /dev/null | |||
| @@ -1,48 +0,0 @@ | |||
| 1 | SUMMARY = "An implementation of JSON Schema validation for Python" | ||
| 2 | HOMEPAGE = "https://github.com/python-jsonschema/jsonschema" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=7a60a81c146ec25599a3e1dabb8610a8 \ | ||
| 5 | file://json/LICENSE;md5=9d4de43111d33570c8fe49b4cb0e01af" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85" | ||
| 8 | |||
| 9 | inherit pypi python_hatchling | ||
| 10 | |||
| 11 | PACKAGES =+ "${PN}-tests" | ||
| 12 | FILES:${PN}-tests = "${libdir}/${PYTHON_DIR}/site-packages/jsonschema/tests" | ||
| 13 | |||
| 14 | DEPENDS += "python3-hatch-fancy-pypi-readme-native python3-hatch-vcs-native " | ||
| 15 | |||
| 16 | PACKAGECONFIG ??= "format" | ||
| 17 | PACKAGECONFIG[format] = ",,,\ | ||
| 18 | python3-idna \ | ||
| 19 | python3-jsonpointer \ | ||
| 20 | python3-webcolors \ | ||
| 21 | python3-rfc3987 \ | ||
| 22 | python3-rfc3339-validator \ | ||
| 23 | " | ||
| 24 | PACKAGECONFIG[format-nongpl] = ",,,\ | ||
| 25 | python3-idna \ | ||
| 26 | python3-jsonpointer \ | ||
| 27 | python3-webcolors \ | ||
| 28 | python3-rfc3986-validator \ | ||
| 29 | python3-rfc3339-validator \ | ||
| 30 | " | ||
| 31 | |||
| 32 | RDEPENDS:${PN} += " \ | ||
| 33 | python3-attrs \ | ||
| 34 | python3-core \ | ||
| 35 | python3-datetime \ | ||
| 36 | python3-io \ | ||
| 37 | python3-json \ | ||
| 38 | python3-jsonschema-specifications \ | ||
| 39 | python3-netclient \ | ||
| 40 | python3-numbers \ | ||
| 41 | python3-pprint \ | ||
| 42 | python3-referencing \ | ||
| 43 | python3-rpds-py \ | ||
| 44 | " | ||
| 45 | |||
| 46 | RDEPENDS:${PN}-tests = "${PN}" | ||
| 47 | |||
| 48 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-libarchive-c/0001-ffi-Insert-a-replacable-anchor-for-find_library.patch b/meta/recipes-devtools/python/python3-libarchive-c/0001-ffi-Insert-a-replacable-anchor-for-find_library.patch deleted file mode 100644 index 7b8775802f..0000000000 --- a/meta/recipes-devtools/python/python3-libarchive-c/0001-ffi-Insert-a-replacable-anchor-for-find_library.patch +++ /dev/null | |||
| @@ -1,29 +0,0 @@ | |||
| 1 | From ed20aba335996d3aa97d99dfc122eb5a3a26ba1b Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Sat, 2 Nov 2024 11:06:01 -0700 | ||
| 4 | Subject: [PATCH] ffi: Insert a replacable anchor for find_library | ||
| 5 | |||
| 6 | @@REPLACE_FIND_LIBRARY_API@@ must be sustituted from bitbake environment via | ||
| 7 | recipe. This also helps in detecting changes to code from upstream in | ||
| 8 | this area as this patch will fail to apply. | ||
| 9 | |||
| 10 | Upstream-Status: Inappropriate [OE-Specific] | ||
| 11 | |||
| 12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 13 | --- | ||
| 14 | libarchive/ffi.py | 2 +- | ||
| 15 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 16 | |||
| 17 | diff --git a/libarchive/ffi.py b/libarchive/ffi.py | ||
| 18 | index 1fc321a..991f1b6 100644 | ||
| 19 | --- a/libarchive/ffi.py | ||
| 20 | +++ b/libarchive/ffi.py | ||
| 21 | @@ -22,7 +22,7 @@ logger = logging.getLogger('libarchive') | ||
| 22 | |||
| 23 | page_size = mmap.PAGESIZE | ||
| 24 | |||
| 25 | -libarchive_path = os.environ.get('LIBARCHIVE') or find_library('archive') | ||
| 26 | +libarchive_path = os.environ.get('LIBARCHIVE') or @@REPLACE_FIND_LIBRARY_API@@ | ||
| 27 | libarchive = ctypes.cdll.LoadLibrary(libarchive_path) | ||
| 28 | |||
| 29 | |||
diff --git a/meta/recipes-devtools/python/python3-libarchive-c/new-libarchive.patch b/meta/recipes-devtools/python/python3-libarchive-c/new-libarchive.patch deleted file mode 100644 index 681e03a465..0000000000 --- a/meta/recipes-devtools/python/python3-libarchive-c/new-libarchive.patch +++ /dev/null | |||
| @@ -1,41 +0,0 @@ | |||
| 1 | From adb206946721a4f5bd1190ab9c975bab4373e35c Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Changaco <changaco@changaco.oy.lc> | ||
| 3 | Date: Fri, 27 Sep 2024 11:51:22 +0200 | ||
| 4 | Subject: [PATCH] update a test failing with new libarchive versions | ||
| 5 | |||
| 6 | fixes #130 | ||
| 7 | |||
| 8 | Upstream-Status: Submitted [https://github.com/Changaco/python-libarchive-c/pull/131] | ||
| 9 | Signed-off-by: Ross Burton <ross.burton@arm.com> | ||
| 10 | --- | ||
| 11 | tests/test_entry.py | 10 ++++++++-- | ||
| 12 | 1 file changed, 8 insertions(+), 2 deletions(-) | ||
| 13 | |||
| 14 | diff --git a/tests/test_entry.py b/tests/test_entry.py | ||
| 15 | index 419cecb..34543a5 100644 | ||
| 16 | --- a/tests/test_entry.py | ||
| 17 | +++ b/tests/test_entry.py | ||
| 18 | @@ -9,7 +9,7 @@ | ||
| 19 | |||
| 20 | import pytest | ||
| 21 | |||
| 22 | -from libarchive import memory_reader, memory_writer | ||
| 23 | +from libarchive import ArchiveError, memory_reader, memory_writer | ||
| 24 | from libarchive.entry import ArchiveEntry, ConsumedArchiveEntry, PassedArchiveEntry | ||
| 25 | |||
| 26 | from . import data_dir, get_entries, get_tarinfos | ||
| 27 | @@ -64,7 +64,13 @@ def test_check_ArchiveEntry_against_TarInfo(): | ||
| 28 | |||
| 29 | |||
| 30 | def test_check_archiveentry_using_python_testtar(): | ||
| 31 | - check_entries(join(data_dir, 'testtar.tar')) | ||
| 32 | + # This test behaves differently depending on the libarchive version: | ||
| 33 | + # 3.5, 3.6 and presumably all future versions reject the archive as damaged, | ||
| 34 | + # whereas older versions accepted it. | ||
| 35 | + try: | ||
| 36 | + check_entries(join(data_dir, 'testtar.tar')) | ||
| 37 | + except ArchiveError as e: | ||
| 38 | + assert e.msg == "Damaged tar archive" | ||
| 39 | |||
| 40 | |||
| 41 | def test_check_archiveentry_with_unicode_and_binary_entries_tar(): | ||
diff --git a/meta/recipes-devtools/python/python3-libarchive-c/run-ptest b/meta/recipes-devtools/python/python3-libarchive-c/run-ptest deleted file mode 100644 index ddfbba7f94..0000000000 --- a/meta/recipes-devtools/python/python3-libarchive-c/run-ptest +++ /dev/null | |||
| @@ -1,6 +0,0 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | # export needed to set the locale to support accentuated and non-latin chars in tests | ||
| 4 | export LC_ALL=en_US.UTF-8 | ||
| 5 | |||
| 6 | pytest --automake | ||
diff --git a/meta/recipes-devtools/python/python3-libarchive-c_5.1.bb b/meta/recipes-devtools/python/python3-libarchive-c_5.1.bb deleted file mode 100644 index 8b5de01b69..0000000000 --- a/meta/recipes-devtools/python/python3-libarchive-c_5.1.bb +++ /dev/null | |||
| @@ -1,45 +0,0 @@ | |||
| 1 | SUMMARY = "Python interface to libarchive" | ||
| 2 | DESCRIPTION = "A Python interface to libarchive. It uses the standard ctypes module to \ | ||
| 3 | dynamically load and access the C library." | ||
| 4 | HOMEPAGE = "https://github.com/Changaco/python-libarchive-c" | ||
| 5 | LICENSE = "CC0-1.0" | ||
| 6 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=bcab380227a83bc147350b40a81e6ffc" | ||
| 7 | |||
| 8 | SRC_URI += " \ | ||
| 9 | file://new-libarchive.patch \ | ||
| 10 | file://0001-ffi-Insert-a-replacable-anchor-for-find_library.patch \ | ||
| 11 | file://run-ptest \ | ||
| 12 | " | ||
| 13 | |||
| 14 | PYPI_PACKAGE = "libarchive-c" | ||
| 15 | |||
| 16 | inherit pypi setuptools3 ptest-python-pytest | ||
| 17 | |||
| 18 | SRC_URI[sha256sum] = "7bcce24ea6c0fa3bc62468476c6d2f6264156db2f04878a372027c10615a2721" | ||
| 19 | |||
| 20 | DEPENDS += "patchelf-native libarchive" | ||
| 21 | # Avoid using find_library API which needs ldconfig and ld/objdump | ||
| 22 | # https://docs.python.org/3/library/ctypes.html#ctypes-reference | ||
| 23 | # | ||
| 24 | do_configure:append() { | ||
| 25 | sed -i -e "s|@@REPLACE_FIND_LIBRARY_API@@|'${libdir}/$(patchelf --print-soname ${STAGING_LIBDIR}/libarchive.so)'|" ${S}/libarchive/ffi.py | ||
| 26 | } | ||
| 27 | |||
| 28 | RDEPENDS:${PN} += "\ | ||
| 29 | libarchive \ | ||
| 30 | python3-ctypes \ | ||
| 31 | python3-mmap \ | ||
| 32 | python3-logging \ | ||
| 33 | " | ||
| 34 | |||
| 35 | RDEPENDS:${PN}-ptest += " \ | ||
| 36 | locale-base-en-us \ | ||
| 37 | " | ||
| 38 | |||
| 39 | BBCLASSEXTEND = "native" | ||
| 40 | |||
| 41 | do_install_ptest:append() { | ||
| 42 | install -d ${D}${PTEST_PATH}/libarchive | ||
| 43 | cp ${S}/libarchive/* ${D}${PTEST_PATH}/libarchive/ | ||
| 44 | cp ${S}/README.rst ${D}${PTEST_PATH}/README.rst | ||
| 45 | } | ||
diff --git a/meta/recipes-devtools/python/python3-license-expression_30.4.4.bb b/meta/recipes-devtools/python/python3-license-expression_30.4.4.bb deleted file mode 100644 index 690149123a..0000000000 --- a/meta/recipes-devtools/python/python3-license-expression_30.4.4.bb +++ /dev/null | |||
| @@ -1,30 +0,0 @@ | |||
| 1 | SUMMARY = "Utility library to parse, compare, simplify and normalize license expressions" | ||
| 2 | HOMEPAGE = "https://github.com/nexB/license-expression" | ||
| 3 | |||
| 4 | LICENSE = "Apache-2.0" | ||
| 5 | LIC_FILES_CHKSUM = "file://apache-2.0.LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "73448f0aacd8d0808895bdc4b2c8e01a8d67646e4188f887375398c761f340fd" | ||
| 8 | |||
| 9 | inherit pypi ptest-python-pytest python_setuptools_build_meta | ||
| 10 | PYPI_PACKAGE = "license_expression" | ||
| 11 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 12 | |||
| 13 | DEPENDS += "python3-setuptools-scm-native" | ||
| 14 | |||
| 15 | RDEPENDS:${PN} += "\ | ||
| 16 | python3-booleanpy \ | ||
| 17 | python3-core \ | ||
| 18 | python3-json \ | ||
| 19 | python3-stringold \ | ||
| 20 | python3-logging \ | ||
| 21 | " | ||
| 22 | |||
| 23 | BBCLASSEXTEND = "native nativesdk" | ||
| 24 | |||
| 25 | do_install_ptest:append() { | ||
| 26 | # The tests need some files from the source tree | ||
| 27 | install -d ${D}${PTEST_PATH}/src | ||
| 28 | ln -s ${PYTHON_SITEPACKAGES_DIR}/license_expression/ ${D}${PTEST_PATH}/src/ | ||
| 29 | install -m644 ${S}/setup.cfg ${D}${PTEST_PATH}/ | ||
| 30 | } | ||
diff --git a/meta/recipes-devtools/python/python3-lxml_6.0.2.bb b/meta/recipes-devtools/python/python3-lxml_6.0.2.bb deleted file mode 100644 index 876fda93b6..0000000000 --- a/meta/recipes-devtools/python/python3-lxml_6.0.2.bb +++ /dev/null | |||
| @@ -1,44 +0,0 @@ | |||
| 1 | SUMMARY = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." | ||
| 2 | DESCRIPTION = "lxml is a Pythonic, mature binding for the libxml2 and \ | ||
| 3 | libxslt libraries. It provides safe and convenient access to these \ | ||
| 4 | libraries using the ElementTree API. It extends the ElementTree API \ | ||
| 5 | significantly to offer support for XPath, RelaxNG, XML Schema, XSLT, \ | ||
| 6 | C14N and much more." | ||
| 7 | HOMEPAGE = "https://lxml.de/" | ||
| 8 | SECTION = "devel/python" | ||
| 9 | LICENSE = "BSD-3-Clause & GPL-2.0-only & MIT & PSF-2.0" | ||
| 10 | LIC_FILES_CHKSUM = "file://LICENSES.txt;md5=e4c045ebad958ead4b48008f70838403 \ | ||
| 11 | file://doc/licenses/elementtree.txt;md5=eb34d036a6e3d56314ee49a6852ac891 \ | ||
| 12 | file://doc/licenses/BSD.txt;md5=700a1fc17f4797d4f2d34970c8ee694b \ | ||
| 13 | file://doc/licenses/GPL.txt;md5=94d55d512a9ba36caa9b7df079bae19f \ | ||
| 14 | file://src/lxml/isoschematron/resources/rng/iso-schematron.rng;beginline=2;endline=7;md5=fc85684a8dd5fa272c086bceb0d99e10 \ | ||
| 15 | file://src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl;beginline=2;endline=24;md5=cc86b7b2bbc678e13f58ea403eb9929b \ | ||
| 16 | file://src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl;beginline=2;endline=7;md5=5b03236d293dc3784205542b409d2f53 \ | ||
| 17 | " | ||
| 18 | |||
| 19 | DEPENDS += "libxml2 libxslt" | ||
| 20 | |||
| 21 | SRC_URI[sha256sum] = "cd79f3367bd74b317dda655dc8fcfa304d9eb6e4fb06b7168c5cf27f96e0cd62" | ||
| 22 | |||
| 23 | SRC_URI += "${PYPI_SRC_URI}" | ||
| 24 | inherit pkgconfig pypi setuptools3 | ||
| 25 | |||
| 26 | # {standard input}: Assembler messages: | ||
| 27 | # {standard input}:1488805: Error: branch out of range | ||
| 28 | DEBUG_OPTIMIZATION:remove:mips = " -Og" | ||
| 29 | DEBUG_OPTIMIZATION:append:mips = " -O" | ||
| 30 | BUILD_OPTIMIZATION:remove:mips = " -Og" | ||
| 31 | BUILD_OPTIMIZATION:append:mips = " -O" | ||
| 32 | |||
| 33 | DEBUG_OPTIMIZATION:remove:mipsel = " -Og" | ||
| 34 | DEBUG_OPTIMIZATION:append:mipsel = " -O" | ||
| 35 | BUILD_OPTIMIZATION:remove:mipsel = " -Og" | ||
| 36 | BUILD_OPTIMIZATION:append:mipsel = " -O" | ||
| 37 | |||
| 38 | BBCLASSEXTEND = "native nativesdk" | ||
| 39 | |||
| 40 | RDEPENDS:${PN} += "libxml2 libxslt python3-compression" | ||
| 41 | |||
| 42 | CVE_PRODUCT = "lxml" | ||
| 43 | |||
| 44 | CLEANBROKEN = "1" | ||
diff --git a/meta/recipes-devtools/python/python3-magic_0.4.27.bb b/meta/recipes-devtools/python/python3-magic_0.4.27.bb deleted file mode 100644 index 2e561e69d7..0000000000 --- a/meta/recipes-devtools/python/python3-magic_0.4.27.bb +++ /dev/null | |||
| @@ -1,22 +0,0 @@ | |||
| 1 | SUMMARY = "File type identification using libmagic" | ||
| 2 | DESCRIPTION = "This module uses ctypes to access the libmagic file type \ | ||
| 3 | identification library. It makes use of the local magic database and supports \ | ||
| 4 | both textual and MIME-type output." | ||
| 5 | HOMEPAGE = "http://github.com/ahupp/python-magic" | ||
| 6 | |||
| 7 | LICENSE = "MIT" | ||
| 8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=61495c152d794e6be5799a9edca149e3" | ||
| 9 | |||
| 10 | PYPI_PACKAGE = "python-magic" | ||
| 11 | |||
| 12 | inherit pypi setuptools3 | ||
| 13 | |||
| 14 | SRC_URI[sha256sum] = "c1ba14b08e4a5f5c31a302b7721239695b2f0f058d125bd5ce1ee36b9d9d3c3b" | ||
| 15 | |||
| 16 | RDEPENDS:${PN} += "file \ | ||
| 17 | python3-ctypes \ | ||
| 18 | python3-io \ | ||
| 19 | python3-logging \ | ||
| 20 | python3-shell" | ||
| 21 | |||
| 22 | BBCLASSEXTEND = "native" | ||
diff --git a/meta/recipes-devtools/python/python3-mako_1.3.10.bb b/meta/recipes-devtools/python/python3-mako_1.3.10.bb deleted file mode 100644 index 2d937dc184..0000000000 --- a/meta/recipes-devtools/python/python3-mako_1.3.10.bb +++ /dev/null | |||
| @@ -1,27 +0,0 @@ | |||
| 1 | SUMMARY = "Templating library for Python" | ||
| 2 | HOMEPAGE = "http://www.makotemplates.org/" | ||
| 3 | SECTION = "devel/python" | ||
| 4 | LICENSE = "MIT" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=73026b50800163bd3c75cfdc121d9eb5" | ||
| 6 | |||
| 7 | PYPI_PACKAGE = "mako" | ||
| 8 | |||
| 9 | inherit pypi python_setuptools_build_meta ptest-python-pytest | ||
| 10 | |||
| 11 | SRC_URI[sha256sum] = "99579a6f39583fa7e5630a28c3c1f440e4e97a414b80372649c0ce338da2ea28" | ||
| 12 | |||
| 13 | RDEPENDS:${PN} = "python3-html \ | ||
| 14 | python3-markupsafe \ | ||
| 15 | python3-misc \ | ||
| 16 | python3-netclient \ | ||
| 17 | python3-pygments \ | ||
| 18 | python3-threading \ | ||
| 19 | " | ||
| 20 | |||
| 21 | PTEST_PYTEST_DIR = "test" | ||
| 22 | |||
| 23 | do_install_ptest:append() { | ||
| 24 | install -m 0644 ${S}/setup.cfg ${D}${PTEST_PATH}/ | ||
| 25 | } | ||
| 26 | |||
| 27 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-markdown_3.9.bb b/meta/recipes-devtools/python/python3-markdown_3.9.bb deleted file mode 100644 index 67375e1321..0000000000 --- a/meta/recipes-devtools/python/python3-markdown_3.9.bb +++ /dev/null | |||
| @@ -1,12 +0,0 @@ | |||
| 1 | SUMMARY = "A Python implementation of John Gruber's Markdown." | ||
| 2 | HOMEPAGE = "https://python-markdown.github.io/" | ||
| 3 | LICENSE = "BSD-3-Clause" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=ec58cdf7cfed06a21f7a9362627a5480" | ||
| 5 | |||
| 6 | inherit pypi python_setuptools_build_meta | ||
| 7 | |||
| 8 | SRC_URI[sha256sum] = "d2900fe1782bd33bdbbd56859defef70c2e78fc46668f8eb9df3128138f2cb6a" | ||
| 9 | |||
| 10 | BBCLASSEXTEND = "native nativesdk" | ||
| 11 | |||
| 12 | RDEPENDS:${PN} += "python3-logging python3-setuptools" | ||
diff --git a/meta/recipes-devtools/python/python3-markupsafe_3.0.2.bb b/meta/recipes-devtools/python/python3-markupsafe_3.0.2.bb deleted file mode 100644 index b90dd84f48..0000000000 --- a/meta/recipes-devtools/python/python3-markupsafe_3.0.2.bb +++ /dev/null | |||
| @@ -1,13 +0,0 @@ | |||
| 1 | SUMMARY = "Implements a XML/HTML/XHTML Markup safe string for Python" | ||
| 2 | HOMEPAGE = "http://github.com/mitsuhiko/markupsafe" | ||
| 3 | LICENSE = "BSD-3-Clause" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ffeffa59c90c9c4a033c7574f8f3fb75" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0" | ||
| 7 | |||
| 8 | PYPI_PACKAGE = "markupsafe" | ||
| 9 | inherit pypi python_setuptools_build_meta ptest-python-pytest | ||
| 10 | |||
| 11 | RDEPENDS:${PN} += "python3-html python3-stringold" | ||
| 12 | |||
| 13 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-maturin-crates.inc b/meta/recipes-devtools/python/python3-maturin-crates.inc deleted file mode 100644 index 28551ff4ca..0000000000 --- a/meta/recipes-devtools/python/python3-maturin-crates.inc +++ /dev/null | |||
| @@ -1,748 +0,0 @@ | |||
| 1 | # Autogenerated with 'bitbake -c update_crates python3-maturin' | ||
| 2 | |||
| 3 | # from Cargo.lock | ||
| 4 | SRC_URI += " \ | ||
| 5 | crate://crates.io/adler2/2.0.0 \ | ||
| 6 | crate://crates.io/ahash/0.8.11 \ | ||
| 7 | crate://crates.io/aho-corasick/1.1.3 \ | ||
| 8 | crate://crates.io/allocator-api2/0.2.18 \ | ||
| 9 | crate://crates.io/anstream/0.6.14 \ | ||
| 10 | crate://crates.io/anstyle/1.0.7 \ | ||
| 11 | crate://crates.io/anstyle-parse/0.2.4 \ | ||
| 12 | crate://crates.io/anstyle-query/1.1.0 \ | ||
| 13 | crate://crates.io/anstyle-wincon/3.0.3 \ | ||
| 14 | crate://crates.io/anyhow/1.0.89 \ | ||
| 15 | crate://crates.io/arbitrary/1.4.1 \ | ||
| 16 | crate://crates.io/autocfg/1.3.0 \ | ||
| 17 | crate://crates.io/automod/1.0.14 \ | ||
| 18 | crate://crates.io/base64/0.21.7 \ | ||
| 19 | crate://crates.io/base64/0.22.1 \ | ||
| 20 | crate://crates.io/bitflags/1.3.2 \ | ||
| 21 | crate://crates.io/bitflags/2.5.0 \ | ||
| 22 | crate://crates.io/block-buffer/0.10.4 \ | ||
| 23 | crate://crates.io/boxcar/0.2.8 \ | ||
| 24 | crate://crates.io/bstr/1.10.0 \ | ||
| 25 | crate://crates.io/bumpalo/3.16.0 \ | ||
| 26 | crate://crates.io/byteorder/1.5.0 \ | ||
| 27 | crate://crates.io/bytes/1.9.0 \ | ||
| 28 | crate://crates.io/bytesize/1.3.0 \ | ||
| 29 | crate://crates.io/bzip2/0.5.2 \ | ||
| 30 | crate://crates.io/bzip2-sys/0.1.13+1.0.8 \ | ||
| 31 | crate://crates.io/cab/0.6.0 \ | ||
| 32 | crate://crates.io/camino/1.1.9 \ | ||
| 33 | crate://crates.io/cargo-config2/0.1.26 \ | ||
| 34 | crate://crates.io/cargo-options/0.7.4 \ | ||
| 35 | crate://crates.io/cargo-platform/0.1.8 \ | ||
| 36 | crate://crates.io/cargo-xwin/0.18.6 \ | ||
| 37 | crate://crates.io/cargo-zigbuild/0.20.0 \ | ||
| 38 | crate://crates.io/cargo_metadata/0.19.0 \ | ||
| 39 | crate://crates.io/cbindgen/0.29.0 \ | ||
| 40 | crate://crates.io/cc/1.2.16 \ | ||
| 41 | crate://crates.io/cfb/0.10.0 \ | ||
| 42 | crate://crates.io/cfg-if/1.0.0 \ | ||
| 43 | crate://crates.io/charset/0.1.5 \ | ||
| 44 | crate://crates.io/chumsky/0.9.3 \ | ||
| 45 | crate://crates.io/clap/4.5.7 \ | ||
| 46 | crate://crates.io/clap_builder/4.5.7 \ | ||
| 47 | crate://crates.io/clap_complete/4.5.5 \ | ||
| 48 | crate://crates.io/clap_complete_command/0.6.1 \ | ||
| 49 | crate://crates.io/clap_complete_nushell/4.5.2 \ | ||
| 50 | crate://crates.io/clap_derive/4.5.5 \ | ||
| 51 | crate://crates.io/clap_lex/0.7.1 \ | ||
| 52 | crate://crates.io/cli-table/0.4.7 \ | ||
| 53 | crate://crates.io/colorchoice/1.0.1 \ | ||
| 54 | crate://crates.io/configparser/3.1.0 \ | ||
| 55 | crate://crates.io/console/0.15.8 \ | ||
| 56 | crate://crates.io/content_inspector/0.2.4 \ | ||
| 57 | crate://crates.io/core-foundation/0.9.4 \ | ||
| 58 | crate://crates.io/core-foundation-sys/0.8.6 \ | ||
| 59 | crate://crates.io/cpufeatures/0.2.12 \ | ||
| 60 | crate://crates.io/crc/3.2.1 \ | ||
| 61 | crate://crates.io/crc-catalog/2.4.0 \ | ||
| 62 | crate://crates.io/crc32fast/1.4.2 \ | ||
| 63 | crate://crates.io/crossbeam-channel/0.5.15 \ | ||
| 64 | crate://crates.io/crossbeam-deque/0.8.5 \ | ||
| 65 | crate://crates.io/crossbeam-epoch/0.9.18 \ | ||
| 66 | crate://crates.io/crossbeam-utils/0.8.20 \ | ||
| 67 | crate://crates.io/crypto-common/0.1.6 \ | ||
| 68 | crate://crates.io/data-encoding/2.6.0 \ | ||
| 69 | crate://crates.io/deranged/0.3.11 \ | ||
| 70 | crate://crates.io/derive_arbitrary/1.4.1 \ | ||
| 71 | crate://crates.io/dialoguer/0.11.0 \ | ||
| 72 | crate://crates.io/diff/0.1.13 \ | ||
| 73 | crate://crates.io/digest/0.10.7 \ | ||
| 74 | crate://crates.io/dirs/5.0.1 \ | ||
| 75 | crate://crates.io/dirs-sys/0.4.1 \ | ||
| 76 | crate://crates.io/displaydoc/0.2.5 \ | ||
| 77 | crate://crates.io/dissimilar/1.0.9 \ | ||
| 78 | crate://crates.io/dunce/1.0.5 \ | ||
| 79 | crate://crates.io/dyn-clone/1.0.17 \ | ||
| 80 | crate://crates.io/either/1.13.0 \ | ||
| 81 | crate://crates.io/encode_unicode/0.3.6 \ | ||
| 82 | crate://crates.io/encoding_rs/0.8.34 \ | ||
| 83 | crate://crates.io/equivalent/1.0.1 \ | ||
| 84 | crate://crates.io/errno/0.3.9 \ | ||
| 85 | crate://crates.io/expect-test/1.5.0 \ | ||
| 86 | crate://crates.io/fastrand/2.1.0 \ | ||
| 87 | crate://crates.io/fat-macho/0.4.9 \ | ||
| 88 | crate://crates.io/filetime/0.2.23 \ | ||
| 89 | crate://crates.io/flate2/1.0.33 \ | ||
| 90 | crate://crates.io/fnv/1.0.7 \ | ||
| 91 | crate://crates.io/foreign-types/0.3.2 \ | ||
| 92 | crate://crates.io/foreign-types-shared/0.1.1 \ | ||
| 93 | crate://crates.io/form_urlencoded/1.2.1 \ | ||
| 94 | crate://crates.io/fs-err/3.0.0 \ | ||
| 95 | crate://crates.io/fs4/0.12.0 \ | ||
| 96 | crate://crates.io/futures/0.3.30 \ | ||
| 97 | crate://crates.io/futures-channel/0.3.31 \ | ||
| 98 | crate://crates.io/futures-core/0.3.31 \ | ||
| 99 | crate://crates.io/futures-executor/0.3.30 \ | ||
| 100 | crate://crates.io/futures-io/0.3.31 \ | ||
| 101 | crate://crates.io/futures-macro/0.3.31 \ | ||
| 102 | crate://crates.io/futures-sink/0.3.31 \ | ||
| 103 | crate://crates.io/futures-task/0.3.31 \ | ||
| 104 | crate://crates.io/futures-timer/3.0.3 \ | ||
| 105 | crate://crates.io/futures-util/0.3.31 \ | ||
| 106 | crate://crates.io/generic-array/0.14.7 \ | ||
| 107 | crate://crates.io/getrandom/0.2.15 \ | ||
| 108 | crate://crates.io/getrandom/0.3.3 \ | ||
| 109 | crate://crates.io/glob/0.3.1 \ | ||
| 110 | crate://crates.io/globset/0.4.16 \ | ||
| 111 | crate://crates.io/goblin/0.9.2 \ | ||
| 112 | crate://crates.io/hashbrown/0.14.5 \ | ||
| 113 | crate://crates.io/hashbrown/0.15.2 \ | ||
| 114 | crate://crates.io/heck/0.5.0 \ | ||
| 115 | crate://crates.io/home/0.5.9 \ | ||
| 116 | crate://crates.io/humantime/2.1.0 \ | ||
| 117 | crate://crates.io/humantime-serde/1.1.1 \ | ||
| 118 | crate://crates.io/icu_collections/1.5.0 \ | ||
| 119 | crate://crates.io/icu_locid/1.5.0 \ | ||
| 120 | crate://crates.io/icu_locid_transform/1.5.0 \ | ||
| 121 | crate://crates.io/icu_locid_transform_data/1.5.0 \ | ||
| 122 | crate://crates.io/icu_normalizer/1.5.0 \ | ||
| 123 | crate://crates.io/icu_normalizer_data/1.5.0 \ | ||
| 124 | crate://crates.io/icu_properties/1.5.1 \ | ||
| 125 | crate://crates.io/icu_properties_data/1.5.0 \ | ||
| 126 | crate://crates.io/icu_provider/1.5.0 \ | ||
| 127 | crate://crates.io/icu_provider_macros/1.5.0 \ | ||
| 128 | crate://crates.io/idna/1.0.3 \ | ||
| 129 | crate://crates.io/idna_adapter/1.2.0 \ | ||
| 130 | crate://crates.io/ignore/0.4.23 \ | ||
| 131 | crate://crates.io/indexmap/2.6.0 \ | ||
| 132 | crate://crates.io/indicatif/0.17.9 \ | ||
| 133 | crate://crates.io/indoc/2.0.5 \ | ||
| 134 | crate://crates.io/insta/1.43.1 \ | ||
| 135 | crate://crates.io/is_terminal_polyfill/1.70.0 \ | ||
| 136 | crate://crates.io/itertools/0.12.1 \ | ||
| 137 | crate://crates.io/itertools/0.13.0 \ | ||
| 138 | crate://crates.io/itoa/1.0.11 \ | ||
| 139 | crate://crates.io/jobserver/0.1.33 \ | ||
| 140 | crate://crates.io/js-sys/0.3.73 \ | ||
| 141 | crate://crates.io/keyring/2.3.3 \ | ||
| 142 | crate://crates.io/lazy_static/1.4.0 \ | ||
| 143 | crate://crates.io/lddtree/0.3.7 \ | ||
| 144 | crate://crates.io/libc/0.2.172 \ | ||
| 145 | crate://crates.io/libmimalloc-sys/0.1.39 \ | ||
| 146 | crate://crates.io/libredox/0.1.3 \ | ||
| 147 | crate://crates.io/linux-keyutils/0.2.4 \ | ||
| 148 | crate://crates.io/linux-raw-sys/0.4.14 \ | ||
| 149 | crate://crates.io/litemap/0.7.3 \ | ||
| 150 | crate://crates.io/lock_api/0.4.12 \ | ||
| 151 | crate://crates.io/lockfree-object-pool/0.1.6 \ | ||
| 152 | crate://crates.io/log/0.4.22 \ | ||
| 153 | crate://crates.io/lzma-rs/0.3.0 \ | ||
| 154 | crate://crates.io/lzma-sys/0.1.20 \ | ||
| 155 | crate://crates.io/lzxd/0.2.5 \ | ||
| 156 | crate://crates.io/mailparse/0.15.0 \ | ||
| 157 | crate://crates.io/matchers/0.1.0 \ | ||
| 158 | crate://crates.io/memchr/2.7.4 \ | ||
| 159 | crate://crates.io/mimalloc/0.1.43 \ | ||
| 160 | crate://crates.io/mime/0.3.17 \ | ||
| 161 | crate://crates.io/mime_guess/2.0.4 \ | ||
| 162 | crate://crates.io/minijinja/2.5.0 \ | ||
| 163 | crate://crates.io/minimal-lexical/0.2.1 \ | ||
| 164 | crate://crates.io/miniz_oxide/0.8.0 \ | ||
| 165 | crate://crates.io/msi/0.8.0 \ | ||
| 166 | crate://crates.io/multipart/0.18.0 \ | ||
| 167 | crate://crates.io/native-tls/0.2.12 \ | ||
| 168 | crate://crates.io/nom/7.1.3 \ | ||
| 169 | crate://crates.io/normalize-line-endings/0.3.0 \ | ||
| 170 | crate://crates.io/normpath/1.2.0 \ | ||
| 171 | crate://crates.io/nu-ansi-term/0.46.0 \ | ||
| 172 | crate://crates.io/num-conv/0.1.0 \ | ||
| 173 | crate://crates.io/number_prefix/0.4.0 \ | ||
| 174 | crate://crates.io/once_cell/1.20.2 \ | ||
| 175 | crate://crates.io/openssl/0.10.72 \ | ||
| 176 | crate://crates.io/openssl-macros/0.1.1 \ | ||
| 177 | crate://crates.io/openssl-probe/0.1.5 \ | ||
| 178 | crate://crates.io/openssl-sys/0.9.107 \ | ||
| 179 | crate://crates.io/option-ext/0.2.0 \ | ||
| 180 | crate://crates.io/os_pipe/1.2.0 \ | ||
| 181 | crate://crates.io/overload/0.1.1 \ | ||
| 182 | crate://crates.io/parking_lot/0.12.3 \ | ||
| 183 | crate://crates.io/parking_lot_core/0.9.10 \ | ||
| 184 | crate://crates.io/paste/1.0.15 \ | ||
| 185 | crate://crates.io/path-slash/0.2.1 \ | ||
| 186 | crate://crates.io/pep440_rs/0.7.3 \ | ||
| 187 | crate://crates.io/pep508_rs/0.9.2 \ | ||
| 188 | crate://crates.io/percent-encoding/2.3.1 \ | ||
| 189 | crate://crates.io/pin-project-lite/0.2.15 \ | ||
| 190 | crate://crates.io/pin-utils/0.1.0 \ | ||
| 191 | crate://crates.io/pkg-config/0.3.30 \ | ||
| 192 | crate://crates.io/plain/0.2.3 \ | ||
| 193 | crate://crates.io/platform-info/2.0.5 \ | ||
| 194 | crate://crates.io/portable-atomic/1.6.0 \ | ||
| 195 | crate://crates.io/powerfmt/0.2.0 \ | ||
| 196 | crate://crates.io/ppv-lite86/0.2.17 \ | ||
| 197 | crate://crates.io/pretty_assertions/1.4.1 \ | ||
| 198 | crate://crates.io/proc-macro-crate/3.1.0 \ | ||
| 199 | crate://crates.io/proc-macro2/1.0.92 \ | ||
| 200 | crate://crates.io/psm/0.1.21 \ | ||
| 201 | crate://crates.io/pyproject-toml/0.13.5 \ | ||
| 202 | crate://crates.io/python-pkginfo/0.6.5 \ | ||
| 203 | crate://crates.io/quote/1.0.37 \ | ||
| 204 | crate://crates.io/quoted_printable/0.5.0 \ | ||
| 205 | crate://crates.io/r-efi/5.2.0 \ | ||
| 206 | crate://crates.io/rand/0.8.5 \ | ||
| 207 | crate://crates.io/rand_chacha/0.3.1 \ | ||
| 208 | crate://crates.io/rand_core/0.6.4 \ | ||
| 209 | crate://crates.io/rayon/1.10.0 \ | ||
| 210 | crate://crates.io/rayon-core/1.12.1 \ | ||
| 211 | crate://crates.io/redox_syscall/0.4.1 \ | ||
| 212 | crate://crates.io/redox_syscall/0.5.1 \ | ||
| 213 | crate://crates.io/redox_users/0.4.5 \ | ||
| 214 | crate://crates.io/regex/1.11.1 \ | ||
| 215 | crate://crates.io/regex-automata/0.1.10 \ | ||
| 216 | crate://crates.io/regex-automata/0.4.9 \ | ||
| 217 | crate://crates.io/regex-syntax/0.6.29 \ | ||
| 218 | crate://crates.io/regex-syntax/0.8.5 \ | ||
| 219 | crate://crates.io/relative-path/1.9.3 \ | ||
| 220 | crate://crates.io/rfc2047-decoder/1.0.6 \ | ||
| 221 | crate://crates.io/ring/0.17.13 \ | ||
| 222 | crate://crates.io/rstest/0.22.0 \ | ||
| 223 | crate://crates.io/rstest_macros/0.22.0 \ | ||
| 224 | crate://crates.io/rustc-hash/2.0.0 \ | ||
| 225 | crate://crates.io/rustc_version/0.4.1 \ | ||
| 226 | crate://crates.io/rustflags/0.1.6 \ | ||
| 227 | crate://crates.io/rustix/0.38.41 \ | ||
| 228 | crate://crates.io/rustls/0.23.19 \ | ||
| 229 | crate://crates.io/rustls-pemfile/2.1.3 \ | ||
| 230 | crate://crates.io/rustls-pki-types/1.10.0 \ | ||
| 231 | crate://crates.io/rustls-webpki/0.102.8 \ | ||
| 232 | crate://crates.io/rustversion/1.0.18 \ | ||
| 233 | crate://crates.io/ryu/1.0.18 \ | ||
| 234 | crate://crates.io/same-file/1.0.6 \ | ||
| 235 | crate://crates.io/schannel/0.1.23 \ | ||
| 236 | crate://crates.io/schemars/0.8.21 \ | ||
| 237 | crate://crates.io/schemars_derive/0.8.21 \ | ||
| 238 | crate://crates.io/scopeguard/1.2.0 \ | ||
| 239 | crate://crates.io/scroll/0.12.0 \ | ||
| 240 | crate://crates.io/scroll_derive/0.12.0 \ | ||
| 241 | crate://crates.io/security-framework/2.11.0 \ | ||
| 242 | crate://crates.io/security-framework-sys/2.11.0 \ | ||
| 243 | crate://crates.io/semver/1.0.23 \ | ||
| 244 | crate://crates.io/serde/1.0.217 \ | ||
| 245 | crate://crates.io/serde_derive/1.0.217 \ | ||
| 246 | crate://crates.io/serde_derive_internals/0.29.1 \ | ||
| 247 | crate://crates.io/serde_json/1.0.135 \ | ||
| 248 | crate://crates.io/serde_spanned/0.6.8 \ | ||
| 249 | crate://crates.io/sha2/0.10.8 \ | ||
| 250 | crate://crates.io/sharded-slab/0.1.7 \ | ||
| 251 | crate://crates.io/shell-words/1.1.0 \ | ||
| 252 | crate://crates.io/shlex/1.3.0 \ | ||
| 253 | crate://crates.io/simd-adler32/0.3.7 \ | ||
| 254 | crate://crates.io/similar/2.5.0 \ | ||
| 255 | crate://crates.io/slab/0.4.9 \ | ||
| 256 | crate://crates.io/smallvec/1.13.2 \ | ||
| 257 | crate://crates.io/smawk/0.3.2 \ | ||
| 258 | crate://crates.io/snapbox/0.6.16 \ | ||
| 259 | crate://crates.io/snapbox-macros/0.3.10 \ | ||
| 260 | crate://crates.io/socks/0.3.4 \ | ||
| 261 | crate://crates.io/stable_deref_trait/1.2.0 \ | ||
| 262 | crate://crates.io/stacker/0.1.15 \ | ||
| 263 | crate://crates.io/static_assertions/1.1.0 \ | ||
| 264 | crate://crates.io/strsim/0.11.1 \ | ||
| 265 | crate://crates.io/subtle/2.5.0 \ | ||
| 266 | crate://crates.io/syn/2.0.90 \ | ||
| 267 | crate://crates.io/synstructure/0.13.1 \ | ||
| 268 | crate://crates.io/tar/0.4.43 \ | ||
| 269 | crate://crates.io/target-lexicon/0.13.1 \ | ||
| 270 | crate://crates.io/tempfile/3.11.0 \ | ||
| 271 | crate://crates.io/termcolor/1.4.1 \ | ||
| 272 | crate://crates.io/terminal_size/0.3.0 \ | ||
| 273 | crate://crates.io/textwrap/0.16.1 \ | ||
| 274 | crate://crates.io/thiserror/1.0.69 \ | ||
| 275 | crate://crates.io/thiserror/2.0.12 \ | ||
| 276 | crate://crates.io/thiserror-impl/1.0.69 \ | ||
| 277 | crate://crates.io/thiserror-impl/2.0.12 \ | ||
| 278 | crate://crates.io/thread_local/1.1.8 \ | ||
| 279 | crate://crates.io/time/0.3.36 \ | ||
| 280 | crate://crates.io/time-core/0.1.2 \ | ||
| 281 | crate://crates.io/time-macros/0.2.18 \ | ||
| 282 | crate://crates.io/tinystr/0.7.6 \ | ||
| 283 | crate://crates.io/toml/0.8.19 \ | ||
| 284 | crate://crates.io/toml_datetime/0.6.8 \ | ||
| 285 | crate://crates.io/toml_edit/0.21.1 \ | ||
| 286 | crate://crates.io/toml_edit/0.22.22 \ | ||
| 287 | crate://crates.io/tracing/0.1.41 \ | ||
| 288 | crate://crates.io/tracing-attributes/0.1.28 \ | ||
| 289 | crate://crates.io/tracing-core/0.1.33 \ | ||
| 290 | crate://crates.io/tracing-log/0.2.0 \ | ||
| 291 | crate://crates.io/tracing-serde/0.2.0 \ | ||
| 292 | crate://crates.io/tracing-subscriber/0.3.19 \ | ||
| 293 | crate://crates.io/trycmd/0.15.6 \ | ||
| 294 | crate://crates.io/twox-hash/1.6.3 \ | ||
| 295 | crate://crates.io/typenum/1.17.0 \ | ||
| 296 | crate://crates.io/unicase/2.7.0 \ | ||
| 297 | crate://crates.io/unicode-ident/1.0.12 \ | ||
| 298 | crate://crates.io/unicode-linebreak/0.1.5 \ | ||
| 299 | crate://crates.io/unicode-width/0.1.13 \ | ||
| 300 | crate://crates.io/unicode-width/0.2.0 \ | ||
| 301 | crate://crates.io/unicode-xid/0.2.6 \ | ||
| 302 | crate://crates.io/unscanny/0.1.0 \ | ||
| 303 | crate://crates.io/untrusted/0.9.0 \ | ||
| 304 | crate://crates.io/ureq/2.11.0 \ | ||
| 305 | crate://crates.io/url/2.5.4 \ | ||
| 306 | crate://crates.io/urlencoding/2.1.3 \ | ||
| 307 | crate://crates.io/utf16_iter/1.0.5 \ | ||
| 308 | crate://crates.io/utf8_iter/1.0.4 \ | ||
| 309 | crate://crates.io/utf8parse/0.2.2 \ | ||
| 310 | crate://crates.io/uuid/1.8.0 \ | ||
| 311 | crate://crates.io/valuable/0.1.0 \ | ||
| 312 | crate://crates.io/vcpkg/0.2.15 \ | ||
| 313 | crate://crates.io/version-ranges/0.1.1 \ | ||
| 314 | crate://crates.io/version_check/0.9.4 \ | ||
| 315 | crate://crates.io/versions/6.2.0 \ | ||
| 316 | crate://crates.io/wait-timeout/0.2.0 \ | ||
| 317 | crate://crates.io/walkdir/2.5.0 \ | ||
| 318 | crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ | ||
| 319 | crate://crates.io/wasi/0.14.2+wasi-0.2.4 \ | ||
| 320 | crate://crates.io/wasm-bindgen/0.2.96 \ | ||
| 321 | crate://crates.io/wasm-bindgen-backend/0.2.96 \ | ||
| 322 | crate://crates.io/wasm-bindgen-macro/0.2.96 \ | ||
| 323 | crate://crates.io/wasm-bindgen-macro-support/0.2.96 \ | ||
| 324 | crate://crates.io/wasm-bindgen-shared/0.2.96 \ | ||
| 325 | crate://crates.io/web-time/1.1.0 \ | ||
| 326 | crate://crates.io/webpki-roots/0.26.2 \ | ||
| 327 | crate://crates.io/which/7.0.0 \ | ||
| 328 | crate://crates.io/wild/2.2.1 \ | ||
| 329 | crate://crates.io/winapi/0.3.9 \ | ||
| 330 | crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ | ||
| 331 | crate://crates.io/winapi-util/0.1.8 \ | ||
| 332 | crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ | ||
| 333 | crate://crates.io/windows-sys/0.48.0 \ | ||
| 334 | crate://crates.io/windows-sys/0.52.0 \ | ||
| 335 | crate://crates.io/windows-targets/0.48.5 \ | ||
| 336 | crate://crates.io/windows-targets/0.52.5 \ | ||
| 337 | crate://crates.io/windows_aarch64_gnullvm/0.48.5 \ | ||
| 338 | crate://crates.io/windows_aarch64_gnullvm/0.52.5 \ | ||
| 339 | crate://crates.io/windows_aarch64_msvc/0.48.5 \ | ||
| 340 | crate://crates.io/windows_aarch64_msvc/0.52.5 \ | ||
| 341 | crate://crates.io/windows_i686_gnu/0.48.5 \ | ||
| 342 | crate://crates.io/windows_i686_gnu/0.52.5 \ | ||
| 343 | crate://crates.io/windows_i686_gnullvm/0.52.5 \ | ||
| 344 | crate://crates.io/windows_i686_msvc/0.48.5 \ | ||
| 345 | crate://crates.io/windows_i686_msvc/0.52.5 \ | ||
| 346 | crate://crates.io/windows_x86_64_gnu/0.48.5 \ | ||
| 347 | crate://crates.io/windows_x86_64_gnu/0.52.5 \ | ||
| 348 | crate://crates.io/windows_x86_64_gnullvm/0.48.5 \ | ||
| 349 | crate://crates.io/windows_x86_64_gnullvm/0.52.5 \ | ||
| 350 | crate://crates.io/windows_x86_64_msvc/0.48.5 \ | ||
| 351 | crate://crates.io/windows_x86_64_msvc/0.52.5 \ | ||
| 352 | crate://crates.io/winnow/0.5.40 \ | ||
| 353 | crate://crates.io/winnow/0.6.20 \ | ||
| 354 | crate://crates.io/winsafe/0.0.19 \ | ||
| 355 | crate://crates.io/wit-bindgen-rt/0.39.0 \ | ||
| 356 | crate://crates.io/write16/1.0.0 \ | ||
| 357 | crate://crates.io/writeable/0.5.5 \ | ||
| 358 | crate://crates.io/xattr/1.3.1 \ | ||
| 359 | crate://crates.io/xwin/0.6.5 \ | ||
| 360 | crate://crates.io/xz2/0.1.7 \ | ||
| 361 | crate://crates.io/yansi/1.0.1 \ | ||
| 362 | crate://crates.io/yoke/0.7.4 \ | ||
| 363 | crate://crates.io/yoke-derive/0.7.5 \ | ||
| 364 | crate://crates.io/zerocopy/0.7.35 \ | ||
| 365 | crate://crates.io/zerocopy-derive/0.7.35 \ | ||
| 366 | crate://crates.io/zerofrom/0.1.4 \ | ||
| 367 | crate://crates.io/zerofrom-derive/0.1.5 \ | ||
| 368 | crate://crates.io/zeroize/1.8.1 \ | ||
| 369 | crate://crates.io/zerovec/0.10.4 \ | ||
| 370 | crate://crates.io/zerovec-derive/0.10.3 \ | ||
| 371 | crate://crates.io/zip/2.3.0 \ | ||
| 372 | crate://crates.io/zopfli/0.8.1 \ | ||
| 373 | crate://crates.io/zstd/0.13.3 \ | ||
| 374 | crate://crates.io/zstd-safe/7.2.4 \ | ||
| 375 | crate://crates.io/zstd-sys/2.0.15+zstd.1.5.7 \ | ||
| 376 | " | ||
| 377 | |||
| 378 | SRC_URI[adler2-2.0.0.sha256sum] = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" | ||
| 379 | SRC_URI[ahash-0.8.11.sha256sum] = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" | ||
| 380 | SRC_URI[aho-corasick-1.1.3.sha256sum] = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" | ||
| 381 | SRC_URI[allocator-api2-0.2.18.sha256sum] = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" | ||
| 382 | SRC_URI[anstream-0.6.14.sha256sum] = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" | ||
| 383 | SRC_URI[anstyle-1.0.7.sha256sum] = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" | ||
| 384 | SRC_URI[anstyle-parse-0.2.4.sha256sum] = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" | ||
| 385 | SRC_URI[anstyle-query-1.1.0.sha256sum] = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" | ||
| 386 | SRC_URI[anstyle-wincon-3.0.3.sha256sum] = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" | ||
| 387 | SRC_URI[anyhow-1.0.89.sha256sum] = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" | ||
| 388 | SRC_URI[arbitrary-1.4.1.sha256sum] = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" | ||
| 389 | SRC_URI[autocfg-1.3.0.sha256sum] = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" | ||
| 390 | SRC_URI[automod-1.0.14.sha256sum] = "edf3ee19dbc0a46d740f6f0926bde8c50f02bdbc7b536842da28f6ac56513a8b" | ||
| 391 | SRC_URI[base64-0.21.7.sha256sum] = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" | ||
| 392 | SRC_URI[base64-0.22.1.sha256sum] = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" | ||
| 393 | SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" | ||
| 394 | SRC_URI[bitflags-2.5.0.sha256sum] = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" | ||
| 395 | SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" | ||
| 396 | SRC_URI[boxcar-0.2.8.sha256sum] = "2721c3c5a6f0e7f7e607125d963fedeb765f545f67adc9d71ed934693881eb42" | ||
| 397 | SRC_URI[bstr-1.10.0.sha256sum] = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" | ||
| 398 | SRC_URI[bumpalo-3.16.0.sha256sum] = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" | ||
| 399 | SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" | ||
| 400 | SRC_URI[bytes-1.9.0.sha256sum] = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" | ||
| 401 | SRC_URI[bytesize-1.3.0.sha256sum] = "a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc" | ||
| 402 | SRC_URI[bzip2-0.5.2.sha256sum] = "49ecfb22d906f800d4fe833b6282cf4dc1c298f5057ca0b5445e5c209735ca47" | ||
| 403 | SRC_URI[bzip2-sys-0.1.13+1.0.8.sha256sum] = "225bff33b2141874fe80d71e07d6eec4f85c5c216453dd96388240f96e1acc14" | ||
| 404 | SRC_URI[cab-0.6.0.sha256sum] = "171228650e6721d5acc0868a462cd864f49ac5f64e4a42cde270406e64e404d2" | ||
| 405 | SRC_URI[camino-1.1.9.sha256sum] = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" | ||
| 406 | SRC_URI[cargo-config2-0.1.26.sha256sum] = "d83ce0be8bd1479e5de6202def660e6c7e27e4e0599bffa4fed05bd380ec2ede" | ||
| 407 | SRC_URI[cargo-options-0.7.4.sha256sum] = "f3540247c0a37a76eb324acc238dc617786ea22c43b95da560c82a8f2714321f" | ||
| 408 | SRC_URI[cargo-platform-0.1.8.sha256sum] = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" | ||
| 409 | SRC_URI[cargo-xwin-0.18.6.sha256sum] = "5dff83aad332bd6ee29072dd874b48892cd22c58e233c25735eb4417b3999685" | ||
| 410 | SRC_URI[cargo-zigbuild-0.20.0.sha256sum] = "3f6e9e856390d5b0a859acaeda16528f8a61c964bdb894c3216c254908f1c2ea" | ||
| 411 | SRC_URI[cargo_metadata-0.19.0.sha256sum] = "afc309ed89476c8957c50fb818f56fe894db857866c3e163335faa91dc34eb85" | ||
| 412 | SRC_URI[cbindgen-0.29.0.sha256sum] = "975982cdb7ad6a142be15bdf84aea7ec6a9e5d4d797c004d43185b24cfe4e684" | ||
| 413 | SRC_URI[cc-1.2.16.sha256sum] = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c" | ||
| 414 | SRC_URI[cfb-0.10.0.sha256sum] = "d8a4f8e55be323b378facfcf1f06aa97f6ec17cf4ac84fb17325093aaf62da41" | ||
| 415 | SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" | ||
| 416 | SRC_URI[charset-0.1.5.sha256sum] = "f1f927b07c74ba84c7e5fe4db2baeb3e996ab2688992e39ac68ce3220a677c7e" | ||
| 417 | SRC_URI[chumsky-0.9.3.sha256sum] = "8eebd66744a15ded14960ab4ccdbfb51ad3b81f51f3f04a80adac98c985396c9" | ||
| 418 | SRC_URI[clap-4.5.7.sha256sum] = "5db83dced34638ad474f39f250d7fea9598bdd239eaced1bdf45d597da0f433f" | ||
| 419 | SRC_URI[clap_builder-4.5.7.sha256sum] = "f7e204572485eb3fbf28f871612191521df159bc3e15a9f5064c66dba3a8c05f" | ||
| 420 | SRC_URI[clap_complete-4.5.5.sha256sum] = "d2020fa13af48afc65a9a87335bda648309ab3d154cd03c7ff95b378c7ed39c4" | ||
| 421 | SRC_URI[clap_complete_command-0.6.1.sha256sum] = "da8e198c052315686d36371e8a3c5778b7852fc75cc313e4e11eeb7a644a1b62" | ||
| 422 | SRC_URI[clap_complete_nushell-4.5.2.sha256sum] = "1accf1b463dee0d3ab2be72591dccdab8bef314958340447c882c4c72acfe2a3" | ||
| 423 | SRC_URI[clap_derive-4.5.5.sha256sum] = "c780290ccf4fb26629baa7a1081e68ced113f1d3ec302fa5948f1c381ebf06c6" | ||
| 424 | SRC_URI[clap_lex-0.7.1.sha256sum] = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" | ||
| 425 | SRC_URI[cli-table-0.4.7.sha256sum] = "adfbb116d9e2c4be7011360d0c0bee565712c11e969c9609b25b619366dc379d" | ||
| 426 | SRC_URI[colorchoice-1.0.1.sha256sum] = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" | ||
| 427 | SRC_URI[configparser-3.1.0.sha256sum] = "e57e3272f0190c3f1584272d613719ba5fc7df7f4942fe542e63d949cf3a649b" | ||
| 428 | SRC_URI[console-0.15.8.sha256sum] = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" | ||
| 429 | SRC_URI[content_inspector-0.2.4.sha256sum] = "b7bda66e858c683005a53a9a60c69a4aca7eeaa45d124526e389f7aec8e62f38" | ||
| 430 | SRC_URI[core-foundation-0.9.4.sha256sum] = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" | ||
| 431 | SRC_URI[core-foundation-sys-0.8.6.sha256sum] = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" | ||
| 432 | SRC_URI[cpufeatures-0.2.12.sha256sum] = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" | ||
| 433 | SRC_URI[crc-3.2.1.sha256sum] = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" | ||
| 434 | SRC_URI[crc-catalog-2.4.0.sha256sum] = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" | ||
| 435 | SRC_URI[crc32fast-1.4.2.sha256sum] = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" | ||
| 436 | SRC_URI[crossbeam-channel-0.5.15.sha256sum] = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" | ||
| 437 | SRC_URI[crossbeam-deque-0.8.5.sha256sum] = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" | ||
| 438 | SRC_URI[crossbeam-epoch-0.9.18.sha256sum] = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" | ||
| 439 | SRC_URI[crossbeam-utils-0.8.20.sha256sum] = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" | ||
| 440 | SRC_URI[crypto-common-0.1.6.sha256sum] = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" | ||
| 441 | SRC_URI[data-encoding-2.6.0.sha256sum] = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" | ||
| 442 | SRC_URI[deranged-0.3.11.sha256sum] = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" | ||
| 443 | SRC_URI[derive_arbitrary-1.4.1.sha256sum] = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" | ||
| 444 | SRC_URI[dialoguer-0.11.0.sha256sum] = "658bce805d770f407bc62102fca7c2c64ceef2fbcb2b8bd19d2765ce093980de" | ||
| 445 | SRC_URI[diff-0.1.13.sha256sum] = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" | ||
| 446 | SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" | ||
| 447 | SRC_URI[dirs-5.0.1.sha256sum] = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" | ||
| 448 | SRC_URI[dirs-sys-0.4.1.sha256sum] = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" | ||
| 449 | SRC_URI[displaydoc-0.2.5.sha256sum] = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" | ||
| 450 | SRC_URI[dissimilar-1.0.9.sha256sum] = "59f8e79d1fbf76bdfbde321e902714bf6c49df88a7dda6fc682fc2979226962d" | ||
| 451 | SRC_URI[dunce-1.0.5.sha256sum] = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" | ||
| 452 | SRC_URI[dyn-clone-1.0.17.sha256sum] = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" | ||
| 453 | SRC_URI[either-1.13.0.sha256sum] = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" | ||
| 454 | SRC_URI[encode_unicode-0.3.6.sha256sum] = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" | ||
| 455 | SRC_URI[encoding_rs-0.8.34.sha256sum] = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" | ||
| 456 | SRC_URI[equivalent-1.0.1.sha256sum] = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" | ||
| 457 | SRC_URI[errno-0.3.9.sha256sum] = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" | ||
| 458 | SRC_URI[expect-test-1.5.0.sha256sum] = "9e0be0a561335815e06dab7c62e50353134c796e7a6155402a64bcff66b6a5e0" | ||
| 459 | SRC_URI[fastrand-2.1.0.sha256sum] = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" | ||
| 460 | SRC_URI[fat-macho-0.4.9.sha256sum] = "4c9c45caa6c6edfaee4cb3bd84ea9686e115df7f0efb530e15fb466eccb0b345" | ||
| 461 | SRC_URI[filetime-0.2.23.sha256sum] = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" | ||
| 462 | SRC_URI[flate2-1.0.33.sha256sum] = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" | ||
| 463 | SRC_URI[fnv-1.0.7.sha256sum] = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" | ||
| 464 | SRC_URI[foreign-types-0.3.2.sha256sum] = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" | ||
| 465 | SRC_URI[foreign-types-shared-0.1.1.sha256sum] = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" | ||
| 466 | SRC_URI[form_urlencoded-1.2.1.sha256sum] = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" | ||
| 467 | SRC_URI[fs-err-3.0.0.sha256sum] = "8bb60e7409f34ef959985bc9d9c5ee8f5db24ee46ed9775850548021710f807f" | ||
| 468 | SRC_URI[fs4-0.12.0.sha256sum] = "c29c30684418547d476f0b48e84f4821639119c483b1eccd566c8cd0cd05f521" | ||
| 469 | SRC_URI[futures-0.3.30.sha256sum] = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" | ||
| 470 | SRC_URI[futures-channel-0.3.31.sha256sum] = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" | ||
| 471 | SRC_URI[futures-core-0.3.31.sha256sum] = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" | ||
| 472 | SRC_URI[futures-executor-0.3.30.sha256sum] = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" | ||
| 473 | SRC_URI[futures-io-0.3.31.sha256sum] = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" | ||
| 474 | SRC_URI[futures-macro-0.3.31.sha256sum] = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" | ||
| 475 | SRC_URI[futures-sink-0.3.31.sha256sum] = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" | ||
| 476 | SRC_URI[futures-task-0.3.31.sha256sum] = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" | ||
| 477 | SRC_URI[futures-timer-3.0.3.sha256sum] = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" | ||
| 478 | SRC_URI[futures-util-0.3.31.sha256sum] = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" | ||
| 479 | SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" | ||
| 480 | SRC_URI[getrandom-0.2.15.sha256sum] = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" | ||
| 481 | SRC_URI[getrandom-0.3.3.sha256sum] = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" | ||
| 482 | SRC_URI[glob-0.3.1.sha256sum] = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" | ||
| 483 | SRC_URI[globset-0.4.16.sha256sum] = "54a1028dfc5f5df5da8a56a73e6c153c9a9708ec57232470703592a3f18e49f5" | ||
| 484 | SRC_URI[goblin-0.9.2.sha256sum] = "53ab3f32d1d77146981dea5d6b1e8fe31eedcb7013e5e00d6ccd1259a4b4d923" | ||
| 485 | SRC_URI[hashbrown-0.14.5.sha256sum] = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" | ||
| 486 | SRC_URI[hashbrown-0.15.2.sha256sum] = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" | ||
| 487 | SRC_URI[heck-0.5.0.sha256sum] = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" | ||
| 488 | SRC_URI[home-0.5.9.sha256sum] = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" | ||
| 489 | SRC_URI[humantime-2.1.0.sha256sum] = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" | ||
| 490 | SRC_URI[humantime-serde-1.1.1.sha256sum] = "57a3db5ea5923d99402c94e9feb261dc5ee9b4efa158b0315f788cf549cc200c" | ||
| 491 | SRC_URI[icu_collections-1.5.0.sha256sum] = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" | ||
| 492 | SRC_URI[icu_locid-1.5.0.sha256sum] = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" | ||
| 493 | SRC_URI[icu_locid_transform-1.5.0.sha256sum] = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" | ||
| 494 | SRC_URI[icu_locid_transform_data-1.5.0.sha256sum] = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" | ||
| 495 | SRC_URI[icu_normalizer-1.5.0.sha256sum] = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" | ||
| 496 | SRC_URI[icu_normalizer_data-1.5.0.sha256sum] = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" | ||
| 497 | SRC_URI[icu_properties-1.5.1.sha256sum] = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" | ||
| 498 | SRC_URI[icu_properties_data-1.5.0.sha256sum] = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" | ||
| 499 | SRC_URI[icu_provider-1.5.0.sha256sum] = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" | ||
| 500 | SRC_URI[icu_provider_macros-1.5.0.sha256sum] = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" | ||
| 501 | SRC_URI[idna-1.0.3.sha256sum] = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" | ||
| 502 | SRC_URI[idna_adapter-1.2.0.sha256sum] = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" | ||
| 503 | SRC_URI[ignore-0.4.23.sha256sum] = "6d89fd380afde86567dfba715db065673989d6253f42b88179abd3eae47bda4b" | ||
| 504 | SRC_URI[indexmap-2.6.0.sha256sum] = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" | ||
| 505 | SRC_URI[indicatif-0.17.9.sha256sum] = "cbf675b85ed934d3c67b5c5469701eec7db22689d0a2139d856e0925fa28b281" | ||
| 506 | SRC_URI[indoc-2.0.5.sha256sum] = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5" | ||
| 507 | SRC_URI[insta-1.43.1.sha256sum] = "154934ea70c58054b556dd430b99a98c2a7ff5309ac9891597e339b5c28f4371" | ||
| 508 | SRC_URI[is_terminal_polyfill-1.70.0.sha256sum] = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" | ||
| 509 | SRC_URI[itertools-0.12.1.sha256sum] = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" | ||
| 510 | SRC_URI[itertools-0.13.0.sha256sum] = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" | ||
| 511 | SRC_URI[itoa-1.0.11.sha256sum] = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" | ||
| 512 | SRC_URI[jobserver-0.1.33.sha256sum] = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" | ||
| 513 | SRC_URI[js-sys-0.3.73.sha256sum] = "fb15147158e79fd8b8afd0252522769c4f48725460b37338544d8379d94fc8f9" | ||
| 514 | SRC_URI[keyring-2.3.3.sha256sum] = "363387f0019d714aa60cc30ab4fe501a747f4c08fc58f069dd14be971bd495a0" | ||
| 515 | SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" | ||
| 516 | SRC_URI[lddtree-0.3.7.sha256sum] = "e0779ac94bd7b6ab781fa12388dbf79ac45ec1fa433e7d25521753be8227b08e" | ||
| 517 | SRC_URI[libc-0.2.172.sha256sum] = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" | ||
| 518 | SRC_URI[libmimalloc-sys-0.1.39.sha256sum] = "23aa6811d3bd4deb8a84dde645f943476d13b248d818edcf8ce0b2f37f036b44" | ||
| 519 | SRC_URI[libredox-0.1.3.sha256sum] = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" | ||
| 520 | SRC_URI[linux-keyutils-0.2.4.sha256sum] = "761e49ec5fd8a5a463f9b84e877c373d888935b71c6be78f3767fe2ae6bed18e" | ||
| 521 | SRC_URI[linux-raw-sys-0.4.14.sha256sum] = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" | ||
| 522 | SRC_URI[litemap-0.7.3.sha256sum] = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" | ||
| 523 | SRC_URI[lock_api-0.4.12.sha256sum] = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" | ||
| 524 | SRC_URI[lockfree-object-pool-0.1.6.sha256sum] = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e" | ||
| 525 | SRC_URI[log-0.4.22.sha256sum] = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" | ||
| 526 | SRC_URI[lzma-rs-0.3.0.sha256sum] = "297e814c836ae64db86b36cf2a557ba54368d03f6afcd7d947c266692f71115e" | ||
| 527 | SRC_URI[lzma-sys-0.1.20.sha256sum] = "5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27" | ||
| 528 | SRC_URI[lzxd-0.2.5.sha256sum] = "5de7336a183103429ad66d11d56d8bdc9c4a2916f6b85a8f11e5b127bde12001" | ||
| 529 | SRC_URI[mailparse-0.15.0.sha256sum] = "3da03d5980411a724e8aaf7b61a7b5e386ec55a7fb49ee3d0ff79efc7e5e7c7e" | ||
| 530 | SRC_URI[matchers-0.1.0.sha256sum] = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" | ||
| 531 | SRC_URI[memchr-2.7.4.sha256sum] = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" | ||
| 532 | SRC_URI[mimalloc-0.1.43.sha256sum] = "68914350ae34959d83f732418d51e2427a794055d0b9529f48259ac07af65633" | ||
| 533 | SRC_URI[mime-0.3.17.sha256sum] = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" | ||
| 534 | SRC_URI[mime_guess-2.0.4.sha256sum] = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" | ||
| 535 | SRC_URI[minijinja-2.5.0.sha256sum] = "2c37e1b517d1dcd0e51dc36c4567b9d5a29262b3ec8da6cb5d35e27a8fb529b5" | ||
| 536 | SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" | ||
| 537 | SRC_URI[miniz_oxide-0.8.0.sha256sum] = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" | ||
| 538 | SRC_URI[msi-0.8.0.sha256sum] = "4a2332f87a064dea9cce571408c879e0da8dc193b3af06a2b3b2604ee4182a32" | ||
| 539 | SRC_URI[multipart-0.18.0.sha256sum] = "00dec633863867f29cb39df64a397cdf4a6354708ddd7759f70c7fb51c5f9182" | ||
| 540 | SRC_URI[native-tls-0.2.12.sha256sum] = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" | ||
| 541 | SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" | ||
| 542 | SRC_URI[normalize-line-endings-0.3.0.sha256sum] = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" | ||
| 543 | SRC_URI[normpath-1.2.0.sha256sum] = "5831952a9476f2fed74b77d74182fa5ddc4d21c72ec45a333b250e3ed0272804" | ||
| 544 | SRC_URI[nu-ansi-term-0.46.0.sha256sum] = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" | ||
| 545 | SRC_URI[num-conv-0.1.0.sha256sum] = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" | ||
| 546 | SRC_URI[number_prefix-0.4.0.sha256sum] = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" | ||
| 547 | SRC_URI[once_cell-1.20.2.sha256sum] = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" | ||
| 548 | SRC_URI[openssl-0.10.72.sha256sum] = "fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da" | ||
| 549 | SRC_URI[openssl-macros-0.1.1.sha256sum] = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" | ||
| 550 | SRC_URI[openssl-probe-0.1.5.sha256sum] = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" | ||
| 551 | SRC_URI[openssl-sys-0.9.107.sha256sum] = "8288979acd84749c744a9014b4382d42b8f7b2592847b5afb2ed29e5d16ede07" | ||
| 552 | SRC_URI[option-ext-0.2.0.sha256sum] = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" | ||
| 553 | SRC_URI[os_pipe-1.2.0.sha256sum] = "29d73ba8daf8fac13b0501d1abeddcfe21ba7401ada61a819144b6c2a4f32209" | ||
| 554 | SRC_URI[overload-0.1.1.sha256sum] = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" | ||
| 555 | SRC_URI[parking_lot-0.12.3.sha256sum] = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" | ||
| 556 | SRC_URI[parking_lot_core-0.9.10.sha256sum] = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" | ||
| 557 | SRC_URI[paste-1.0.15.sha256sum] = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" | ||
| 558 | SRC_URI[path-slash-0.2.1.sha256sum] = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" | ||
| 559 | SRC_URI[pep440_rs-0.7.3.sha256sum] = "31095ca1f396e3de32745f42b20deef7bc09077f918b085307e8eab6ddd8fb9c" | ||
| 560 | SRC_URI[pep508_rs-0.9.2.sha256sum] = "faee7227064121fcadcd2ff788ea26f0d8f2bd23a0574da11eca23bc935bcc05" | ||
| 561 | SRC_URI[percent-encoding-2.3.1.sha256sum] = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" | ||
| 562 | SRC_URI[pin-project-lite-0.2.15.sha256sum] = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" | ||
| 563 | SRC_URI[pin-utils-0.1.0.sha256sum] = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" | ||
| 564 | SRC_URI[pkg-config-0.3.30.sha256sum] = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" | ||
| 565 | SRC_URI[plain-0.2.3.sha256sum] = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" | ||
| 566 | SRC_URI[platform-info-2.0.5.sha256sum] = "7539aeb3fdd8cb4f6a331307cf71a1039cee75e94e8a71725b9484f4a0d9451a" | ||
| 567 | SRC_URI[portable-atomic-1.6.0.sha256sum] = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" | ||
| 568 | SRC_URI[powerfmt-0.2.0.sha256sum] = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" | ||
| 569 | SRC_URI[ppv-lite86-0.2.17.sha256sum] = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" | ||
| 570 | SRC_URI[pretty_assertions-1.4.1.sha256sum] = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d" | ||
| 571 | SRC_URI[proc-macro-crate-3.1.0.sha256sum] = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" | ||
| 572 | SRC_URI[proc-macro2-1.0.92.sha256sum] = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" | ||
| 573 | SRC_URI[psm-0.1.21.sha256sum] = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" | ||
| 574 | SRC_URI[pyproject-toml-0.13.5.sha256sum] = "7b0f6160dc48298b9260d9b958ad1d7f96f6cd0b9df200b22329204e09334663" | ||
| 575 | SRC_URI[python-pkginfo-0.6.5.sha256sum] = "c21f58880fc45e91d29b2f639ab4051aaa6a2b054534c2d343a953347d0dd600" | ||
| 576 | SRC_URI[quote-1.0.37.sha256sum] = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" | ||
| 577 | SRC_URI[quoted_printable-0.5.0.sha256sum] = "79ec282e887b434b68c18fe5c121d38e72a5cf35119b59e54ec5b992ea9c8eb0" | ||
| 578 | SRC_URI[r-efi-5.2.0.sha256sum] = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" | ||
| 579 | SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" | ||
| 580 | SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" | ||
| 581 | SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" | ||
| 582 | SRC_URI[rayon-1.10.0.sha256sum] = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" | ||
| 583 | SRC_URI[rayon-core-1.12.1.sha256sum] = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" | ||
| 584 | SRC_URI[redox_syscall-0.4.1.sha256sum] = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" | ||
| 585 | SRC_URI[redox_syscall-0.5.1.sha256sum] = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" | ||
| 586 | SRC_URI[redox_users-0.4.5.sha256sum] = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" | ||
| 587 | SRC_URI[regex-1.11.1.sha256sum] = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" | ||
| 588 | SRC_URI[regex-automata-0.1.10.sha256sum] = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" | ||
| 589 | SRC_URI[regex-automata-0.4.9.sha256sum] = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" | ||
| 590 | SRC_URI[regex-syntax-0.6.29.sha256sum] = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" | ||
| 591 | SRC_URI[regex-syntax-0.8.5.sha256sum] = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" | ||
| 592 | SRC_URI[relative-path-1.9.3.sha256sum] = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" | ||
| 593 | SRC_URI[rfc2047-decoder-1.0.6.sha256sum] = "bc36545d1021456a751b573517cb52e8c339b2f662e6b2778ef629282678de29" | ||
| 594 | SRC_URI[ring-0.17.13.sha256sum] = "70ac5d832aa16abd7d1def883a8545280c20a60f523a370aa3a9617c2b8550ee" | ||
| 595 | SRC_URI[rstest-0.22.0.sha256sum] = "7b423f0e62bdd61734b67cd21ff50871dfaeb9cc74f869dcd6af974fbcb19936" | ||
| 596 | SRC_URI[rstest_macros-0.22.0.sha256sum] = "c5e1711e7d14f74b12a58411c542185ef7fb7f2e7f8ee6e2940a883628522b42" | ||
| 597 | SRC_URI[rustc-hash-2.0.0.sha256sum] = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" | ||
| 598 | SRC_URI[rustc_version-0.4.1.sha256sum] = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" | ||
| 599 | SRC_URI[rustflags-0.1.6.sha256sum] = "d7fc92159fb50a431c5da366f7627751fe7263cf867f8a30f27fa6063ba02ac0" | ||
| 600 | SRC_URI[rustix-0.38.41.sha256sum] = "d7f649912bc1495e167a6edee79151c84b1bad49748cb4f1f1167f459f6224f6" | ||
| 601 | SRC_URI[rustls-0.23.19.sha256sum] = "934b404430bb06b3fae2cba809eb45a1ab1aecd64491213d7c3301b88393f8d1" | ||
| 602 | SRC_URI[rustls-pemfile-2.1.3.sha256sum] = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425" | ||
| 603 | SRC_URI[rustls-pki-types-1.10.0.sha256sum] = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b" | ||
| 604 | SRC_URI[rustls-webpki-0.102.8.sha256sum] = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" | ||
| 605 | SRC_URI[rustversion-1.0.18.sha256sum] = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" | ||
| 606 | SRC_URI[ryu-1.0.18.sha256sum] = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" | ||
| 607 | SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" | ||
| 608 | SRC_URI[schannel-0.1.23.sha256sum] = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" | ||
| 609 | SRC_URI[schemars-0.8.21.sha256sum] = "09c024468a378b7e36765cd36702b7a90cc3cba11654f6685c8f233408e89e92" | ||
| 610 | SRC_URI[schemars_derive-0.8.21.sha256sum] = "b1eee588578aff73f856ab961cd2f79e36bc45d7ded33a7562adba4667aecc0e" | ||
| 611 | SRC_URI[scopeguard-1.2.0.sha256sum] = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" | ||
| 612 | SRC_URI[scroll-0.12.0.sha256sum] = "6ab8598aa408498679922eff7fa985c25d58a90771bd6be794434c5277eab1a6" | ||
| 613 | SRC_URI[scroll_derive-0.12.0.sha256sum] = "7f81c2fde025af7e69b1d1420531c8a8811ca898919db177141a85313b1cb932" | ||
| 614 | SRC_URI[security-framework-2.11.0.sha256sum] = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" | ||
| 615 | SRC_URI[security-framework-sys-2.11.0.sha256sum] = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" | ||
| 616 | SRC_URI[semver-1.0.23.sha256sum] = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" | ||
| 617 | SRC_URI[serde-1.0.217.sha256sum] = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" | ||
| 618 | SRC_URI[serde_derive-1.0.217.sha256sum] = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" | ||
| 619 | SRC_URI[serde_derive_internals-0.29.1.sha256sum] = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" | ||
| 620 | SRC_URI[serde_json-1.0.135.sha256sum] = "2b0d7ba2887406110130a978386c4e1befb98c674b4fba677954e4db976630d9" | ||
| 621 | SRC_URI[serde_spanned-0.6.8.sha256sum] = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" | ||
| 622 | SRC_URI[sha2-0.10.8.sha256sum] = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" | ||
| 623 | SRC_URI[sharded-slab-0.1.7.sha256sum] = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" | ||
| 624 | SRC_URI[shell-words-1.1.0.sha256sum] = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" | ||
| 625 | SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" | ||
| 626 | SRC_URI[simd-adler32-0.3.7.sha256sum] = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" | ||
| 627 | SRC_URI[similar-2.5.0.sha256sum] = "fa42c91313f1d05da9b26f267f931cf178d4aba455b4c4622dd7355eb80c6640" | ||
| 628 | SRC_URI[slab-0.4.9.sha256sum] = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" | ||
| 629 | SRC_URI[smallvec-1.13.2.sha256sum] = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" | ||
| 630 | SRC_URI[smawk-0.3.2.sha256sum] = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" | ||
| 631 | SRC_URI[snapbox-0.6.16.sha256sum] = "027c936207f85d10d015e21faf5c676c7e08c453ed371adf55c0874c443ca77a" | ||
| 632 | SRC_URI[snapbox-macros-0.3.10.sha256sum] = "16569f53ca23a41bb6f62e0a5084aa1661f4814a67fa33696a79073e03a664af" | ||
| 633 | SRC_URI[socks-0.3.4.sha256sum] = "f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b" | ||
| 634 | SRC_URI[stable_deref_trait-1.2.0.sha256sum] = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" | ||
| 635 | SRC_URI[stacker-0.1.15.sha256sum] = "c886bd4480155fd3ef527d45e9ac8dd7118a898a46530b7b94c3e21866259fce" | ||
| 636 | SRC_URI[static_assertions-1.1.0.sha256sum] = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" | ||
| 637 | SRC_URI[strsim-0.11.1.sha256sum] = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" | ||
| 638 | SRC_URI[subtle-2.5.0.sha256sum] = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" | ||
| 639 | SRC_URI[syn-2.0.90.sha256sum] = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" | ||
| 640 | SRC_URI[synstructure-0.13.1.sha256sum] = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" | ||
| 641 | SRC_URI[tar-0.4.43.sha256sum] = "c65998313f8e17d0d553d28f91a0df93e4dbbbf770279c7bc21ca0f09ea1a1f6" | ||
| 642 | SRC_URI[target-lexicon-0.13.1.sha256sum] = "dc12939a1c9b9d391e0b7135f72fd30508b73450753e28341fed159317582a77" | ||
| 643 | SRC_URI[tempfile-3.11.0.sha256sum] = "b8fcd239983515c23a32fb82099f97d0b11b8c72f654ed659363a95c3dad7a53" | ||
| 644 | SRC_URI[termcolor-1.4.1.sha256sum] = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" | ||
| 645 | SRC_URI[terminal_size-0.3.0.sha256sum] = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" | ||
| 646 | SRC_URI[textwrap-0.16.1.sha256sum] = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" | ||
| 647 | SRC_URI[thiserror-1.0.69.sha256sum] = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" | ||
| 648 | SRC_URI[thiserror-2.0.12.sha256sum] = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" | ||
| 649 | SRC_URI[thiserror-impl-1.0.69.sha256sum] = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" | ||
| 650 | SRC_URI[thiserror-impl-2.0.12.sha256sum] = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" | ||
| 651 | SRC_URI[thread_local-1.1.8.sha256sum] = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" | ||
| 652 | SRC_URI[time-0.3.36.sha256sum] = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" | ||
| 653 | SRC_URI[time-core-0.1.2.sha256sum] = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" | ||
| 654 | SRC_URI[time-macros-0.2.18.sha256sum] = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" | ||
| 655 | SRC_URI[tinystr-0.7.6.sha256sum] = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" | ||
| 656 | SRC_URI[toml-0.8.19.sha256sum] = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" | ||
| 657 | SRC_URI[toml_datetime-0.6.8.sha256sum] = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" | ||
| 658 | SRC_URI[toml_edit-0.21.1.sha256sum] = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" | ||
| 659 | SRC_URI[toml_edit-0.22.22.sha256sum] = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" | ||
| 660 | SRC_URI[tracing-0.1.41.sha256sum] = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" | ||
| 661 | SRC_URI[tracing-attributes-0.1.28.sha256sum] = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" | ||
| 662 | SRC_URI[tracing-core-0.1.33.sha256sum] = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" | ||
| 663 | SRC_URI[tracing-log-0.2.0.sha256sum] = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" | ||
| 664 | SRC_URI[tracing-serde-0.2.0.sha256sum] = "704b1aeb7be0d0a84fc9828cae51dab5970fee5088f83d1dd7ee6f6246fc6ff1" | ||
| 665 | SRC_URI[tracing-subscriber-0.3.19.sha256sum] = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" | ||
| 666 | SRC_URI[trycmd-0.15.6.sha256sum] = "3e8673f1dc45acdff8e25a06cc62f8e529563e8acd84237ce83d5a28e2befa12" | ||
| 667 | SRC_URI[twox-hash-1.6.3.sha256sum] = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" | ||
| 668 | SRC_URI[typenum-1.17.0.sha256sum] = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" | ||
| 669 | SRC_URI[unicase-2.7.0.sha256sum] = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" | ||
| 670 | SRC_URI[unicode-ident-1.0.12.sha256sum] = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" | ||
| 671 | SRC_URI[unicode-linebreak-0.1.5.sha256sum] = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" | ||
| 672 | SRC_URI[unicode-width-0.1.13.sha256sum] = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" | ||
| 673 | SRC_URI[unicode-width-0.2.0.sha256sum] = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" | ||
| 674 | SRC_URI[unicode-xid-0.2.6.sha256sum] = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" | ||
| 675 | SRC_URI[unscanny-0.1.0.sha256sum] = "e9df2af067a7953e9c3831320f35c1cc0600c30d44d9f7a12b01db1cd88d6b47" | ||
| 676 | SRC_URI[untrusted-0.9.0.sha256sum] = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" | ||
| 677 | SRC_URI[ureq-2.11.0.sha256sum] = "b30e6f97efe1fa43535ee241ee76967d3ff6ff3953ebb430d8d55c5393029e7b" | ||
| 678 | SRC_URI[url-2.5.4.sha256sum] = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" | ||
| 679 | SRC_URI[urlencoding-2.1.3.sha256sum] = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" | ||
| 680 | SRC_URI[utf16_iter-1.0.5.sha256sum] = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" | ||
| 681 | SRC_URI[utf8_iter-1.0.4.sha256sum] = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" | ||
| 682 | SRC_URI[utf8parse-0.2.2.sha256sum] = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" | ||
| 683 | SRC_URI[uuid-1.8.0.sha256sum] = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" | ||
| 684 | SRC_URI[valuable-0.1.0.sha256sum] = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" | ||
| 685 | SRC_URI[vcpkg-0.2.15.sha256sum] = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" | ||
| 686 | SRC_URI[version-ranges-0.1.1.sha256sum] = "f8d079415ceb2be83fc355adbadafe401307d5c309c7e6ade6638e6f9f42f42d" | ||
| 687 | SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" | ||
| 688 | SRC_URI[versions-6.2.0.sha256sum] = "38a8931f8d167b6448076020e70b9de46dcf5ea1731212481a092d0071c4ac5b" | ||
| 689 | SRC_URI[wait-timeout-0.2.0.sha256sum] = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" | ||
| 690 | SRC_URI[walkdir-2.5.0.sha256sum] = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" | ||
| 691 | SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" | ||
| 692 | SRC_URI[wasi-0.14.2+wasi-0.2.4.sha256sum] = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" | ||
| 693 | SRC_URI[wasm-bindgen-0.2.96.sha256sum] = "21d3b25c3ea1126a2ad5f4f9068483c2af1e64168f847abe863a526b8dbfe00b" | ||
| 694 | SRC_URI[wasm-bindgen-backend-0.2.96.sha256sum] = "52857d4c32e496dc6537646b5b117081e71fd2ff06de792e3577a150627db283" | ||
| 695 | SRC_URI[wasm-bindgen-macro-0.2.96.sha256sum] = "920b0ffe069571ebbfc9ddc0b36ba305ef65577c94b06262ed793716a1afd981" | ||
| 696 | SRC_URI[wasm-bindgen-macro-support-0.2.96.sha256sum] = "bf59002391099644be3524e23b781fa43d2be0c5aa0719a18c0731b9d195cab6" | ||
| 697 | SRC_URI[wasm-bindgen-shared-0.2.96.sha256sum] = "e5047c5392700766601942795a436d7d2599af60dcc3cc1248c9120bfb0827b0" | ||
| 698 | SRC_URI[web-time-1.1.0.sha256sum] = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" | ||
| 699 | SRC_URI[webpki-roots-0.26.2.sha256sum] = "3c452ad30530b54a4d8e71952716a212b08efd0f3562baa66c29a618b07da7c3" | ||
| 700 | SRC_URI[which-7.0.0.sha256sum] = "c9cad3279ade7346b96e38731a641d7343dd6a53d55083dd54eadfa5a1b38c6b" | ||
| 701 | SRC_URI[wild-2.2.1.sha256sum] = "a3131afc8c575281e1e80f36ed6a092aa502c08b18ed7524e86fbbb12bb410e1" | ||
| 702 | SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" | ||
| 703 | SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" | ||
| 704 | SRC_URI[winapi-util-0.1.8.sha256sum] = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" | ||
| 705 | SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" | ||
| 706 | SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" | ||
| 707 | SRC_URI[windows-sys-0.52.0.sha256sum] = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" | ||
| 708 | SRC_URI[windows-targets-0.48.5.sha256sum] = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" | ||
| 709 | SRC_URI[windows-targets-0.52.5.sha256sum] = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" | ||
| 710 | SRC_URI[windows_aarch64_gnullvm-0.48.5.sha256sum] = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" | ||
| 711 | SRC_URI[windows_aarch64_gnullvm-0.52.5.sha256sum] = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" | ||
| 712 | SRC_URI[windows_aarch64_msvc-0.48.5.sha256sum] = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" | ||
| 713 | SRC_URI[windows_aarch64_msvc-0.52.5.sha256sum] = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" | ||
| 714 | SRC_URI[windows_i686_gnu-0.48.5.sha256sum] = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" | ||
| 715 | SRC_URI[windows_i686_gnu-0.52.5.sha256sum] = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" | ||
| 716 | SRC_URI[windows_i686_gnullvm-0.52.5.sha256sum] = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" | ||
| 717 | SRC_URI[windows_i686_msvc-0.48.5.sha256sum] = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" | ||
| 718 | SRC_URI[windows_i686_msvc-0.52.5.sha256sum] = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" | ||
| 719 | SRC_URI[windows_x86_64_gnu-0.48.5.sha256sum] = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" | ||
| 720 | SRC_URI[windows_x86_64_gnu-0.52.5.sha256sum] = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" | ||
| 721 | SRC_URI[windows_x86_64_gnullvm-0.48.5.sha256sum] = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" | ||
| 722 | SRC_URI[windows_x86_64_gnullvm-0.52.5.sha256sum] = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" | ||
| 723 | SRC_URI[windows_x86_64_msvc-0.48.5.sha256sum] = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" | ||
| 724 | SRC_URI[windows_x86_64_msvc-0.52.5.sha256sum] = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" | ||
| 725 | SRC_URI[winnow-0.5.40.sha256sum] = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" | ||
| 726 | SRC_URI[winnow-0.6.20.sha256sum] = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" | ||
| 727 | SRC_URI[winsafe-0.0.19.sha256sum] = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" | ||
| 728 | SRC_URI[wit-bindgen-rt-0.39.0.sha256sum] = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" | ||
| 729 | SRC_URI[write16-1.0.0.sha256sum] = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" | ||
| 730 | SRC_URI[writeable-0.5.5.sha256sum] = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" | ||
| 731 | SRC_URI[xattr-1.3.1.sha256sum] = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" | ||
| 732 | SRC_URI[xwin-0.6.5.sha256sum] = "ca7e4546db1514c186778f0a257d89732ed9ed75587d0953ac25be7519d9f0d1" | ||
| 733 | SRC_URI[xz2-0.1.7.sha256sum] = "388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2" | ||
| 734 | SRC_URI[yansi-1.0.1.sha256sum] = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" | ||
| 735 | SRC_URI[yoke-0.7.4.sha256sum] = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" | ||
| 736 | SRC_URI[yoke-derive-0.7.5.sha256sum] = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" | ||
| 737 | SRC_URI[zerocopy-0.7.35.sha256sum] = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" | ||
| 738 | SRC_URI[zerocopy-derive-0.7.35.sha256sum] = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" | ||
| 739 | SRC_URI[zerofrom-0.1.4.sha256sum] = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" | ||
| 740 | SRC_URI[zerofrom-derive-0.1.5.sha256sum] = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" | ||
| 741 | SRC_URI[zeroize-1.8.1.sha256sum] = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" | ||
| 742 | SRC_URI[zerovec-0.10.4.sha256sum] = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" | ||
| 743 | SRC_URI[zerovec-derive-0.10.3.sha256sum] = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" | ||
| 744 | SRC_URI[zip-2.3.0.sha256sum] = "84e9a772a54b54236b9b744aaaf8d7be01b4d6e99725523cb82cb32d1c81b1d7" | ||
| 745 | SRC_URI[zopfli-0.8.1.sha256sum] = "e5019f391bac5cf252e93bbcc53d039ffd62c7bfb7c150414d61369afe57e946" | ||
| 746 | SRC_URI[zstd-0.13.3.sha256sum] = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" | ||
| 747 | SRC_URI[zstd-safe-7.2.4.sha256sum] = "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d" | ||
| 748 | SRC_URI[zstd-sys-2.0.15+zstd.1.5.7.sha256sum] = "eb81183ddd97d0c74cedf1d50d85c8d08c1b8b68ee863bdee9e706eedba1a237" | ||
diff --git a/meta/recipes-devtools/python/python3-maturin_1.9.4.bb b/meta/recipes-devtools/python/python3-maturin_1.9.4.bb deleted file mode 100644 index f47c8061bb..0000000000 --- a/meta/recipes-devtools/python/python3-maturin_1.9.4.bb +++ /dev/null | |||
| @@ -1,42 +0,0 @@ | |||
| 1 | SUMMARY = "Build and publish crates with pyo3, rust-cpython, cffi bindings and rust binaries as python packages" | ||
| 2 | HOMEPAGE = "https://github.com/pyo3/maturin" | ||
| 3 | SECTION = "devel/python" | ||
| 4 | LICENSE = "MIT | Apache-2.0" | ||
| 5 | LIC_FILES_CHKSUM = "file://license-apache;md5=1836efb2eb779966696f473ee8540542 \ | ||
| 6 | file://license-mit;md5=85fd3b67069cff784d98ebfc7d5c0797" | ||
| 7 | |||
| 8 | SRC_URI[sha256sum] = "235163a0c99bc6f380fb8786c04fd14dcf6cd622ff295ea3de525015e6ac40cf" | ||
| 9 | |||
| 10 | S = "${UNPACKDIR}/maturin-${PV}" | ||
| 11 | |||
| 12 | CFLAGS += "-ffile-prefix-map=${CARGO_HOME}=${TARGET_DBGSRC_DIR}/cargo_home" | ||
| 13 | |||
| 14 | DEPENDS += "\ | ||
| 15 | python3-setuptools-rust-native \ | ||
| 16 | python3-semantic-version-native \ | ||
| 17 | python3-setuptools-rust \ | ||
| 18 | " | ||
| 19 | |||
| 20 | require ${BPN}-crates.inc | ||
| 21 | |||
| 22 | inherit pypi cargo-update-recipe-crates python_pyo3 python_setuptools_build_meta | ||
| 23 | |||
| 24 | do_configure() { | ||
| 25 | python_pyo3_do_configure | ||
| 26 | cargo_common_do_configure | ||
| 27 | python_pep517_do_configure | ||
| 28 | } | ||
| 29 | |||
| 30 | RDEPENDS:${PN} += "\ | ||
| 31 | cargo \ | ||
| 32 | python3-json \ | ||
| 33 | rust \ | ||
| 34 | " | ||
| 35 | |||
| 36 | RRECOMMENDS:${PN} += "\ | ||
| 37 | python3-ensurepip \ | ||
| 38 | python3-pip \ | ||
| 39 | python3-venv \ | ||
| 40 | " | ||
| 41 | |||
| 42 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-meson-python_0.18.0.bb b/meta/recipes-devtools/python/python3-meson-python_0.18.0.bb deleted file mode 100644 index 742a2580a7..0000000000 --- a/meta/recipes-devtools/python/python3-meson-python_0.18.0.bb +++ /dev/null | |||
| @@ -1,28 +0,0 @@ | |||
| 1 | SUMMARY = "Meson Python build backend (PEP 517)" | ||
| 2 | HOMEPAGE = "https://github.com/mesonbuild/meson-python" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=d580b27e67cc0892a5b005b0be114b60" | ||
| 5 | |||
| 6 | DEPENDS = " \ | ||
| 7 | meson-native \ | ||
| 8 | ninja-native \ | ||
| 9 | patchelf-native \ | ||
| 10 | python3-pyproject-metadata-native \ | ||
| 11 | " | ||
| 12 | |||
| 13 | PYPI_PACKAGE = "meson_python" | ||
| 14 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 15 | |||
| 16 | inherit pypi python_mesonpy | ||
| 17 | SRC_URI[sha256sum] = "c56a99ec9df669a40662fe46960321af6e4b14106c14db228709c1628e23848d" | ||
| 18 | |||
| 19 | DEPENDS:remove:class-native = "python3-meson-python-native" | ||
| 20 | |||
| 21 | RDEPENDS:${PN} = " \ | ||
| 22 | meson \ | ||
| 23 | ninja \ | ||
| 24 | patchelf \ | ||
| 25 | python3-pyproject-metadata \ | ||
| 26 | " | ||
| 27 | |||
| 28 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-more-itertools_10.6.0.bb b/meta/recipes-devtools/python/python3-more-itertools_10.6.0.bb deleted file mode 100644 index 5447a7af8e..0000000000 --- a/meta/recipes-devtools/python/python3-more-itertools_10.6.0.bb +++ /dev/null | |||
| @@ -1,18 +0,0 @@ | |||
| 1 | SUMMARY = "More routines for operating on iterables, beyond itertools" | ||
| 2 | HOMEPAGE = "https://github.com/erikrose/more-itertools" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3396ea30f9d21389d7857719816f83b5" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "2cd7fad1009c31cc9fb6a035108509e6547547a7a738374f10bd49a09eb3ee3b" | ||
| 7 | |||
| 8 | inherit pypi python_flit_core ptest-python-pytest | ||
| 9 | |||
| 10 | RDEPENDS:${PN} += " \ | ||
| 11 | python3-asyncio \ | ||
| 12 | " | ||
| 13 | |||
| 14 | RDEPENDS:${PN}-ptest += " \ | ||
| 15 | python3-statistics \ | ||
| 16 | " | ||
| 17 | |||
| 18 | BBCLASSEXTEND = "native nativesdk" | ||
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 deleted file mode 100644 index 3e08b43587..0000000000 --- a/meta/recipes-devtools/python/python3-numpy/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch +++ /dev/null | |||
| @@ -1,69 +0,0 @@ | |||
| 1 | From b036c984b019d941ead2efd5a05d1588c4bc193a Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | ||
| 3 | Date: Thu, 10 Dec 2015 13:20:30 +0200 | ||
| 4 | Subject: [PATCH] Don't search /usr and so on for libraries by default to | ||
| 5 | |||
| 6 | avoid host contamination. | ||
| 7 | |||
| 8 | Upstream-Status: Inappropriate (As the code stands, this is a hack) | ||
| 9 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
| 10 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | ||
| 11 | --- | ||
| 12 | numpy/distutils/system_info.py | 42 +++++----------------------------- | ||
| 13 | 1 file changed, 6 insertions(+), 36 deletions(-) | ||
| 14 | |||
| 15 | diff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py | ||
| 16 | index 6478548..c0620e7 100644 | ||
| 17 | --- a/numpy/distutils/system_info.py | ||
| 18 | +++ b/numpy/distutils/system_info.py | ||
| 19 | @@ -326,44 +326,14 @@ def add_system_root(library_root): | ||
| 20 | add_system_root(os.path.join(conda_dir, 'Library')) | ||
| 21 | |||
| 22 | else: | ||
| 23 | - default_lib_dirs = libpaths(['/usr/local/lib', '/opt/lib', '/usr/lib', | ||
| 24 | - '/opt/local/lib', '/sw/lib'], platform_bits) | ||
| 25 | default_runtime_dirs = [] | ||
| 26 | - default_include_dirs = ['/usr/local/include', | ||
| 27 | - '/opt/include', | ||
| 28 | - # path of umfpack under macports | ||
| 29 | - '/opt/local/include/ufsparse', | ||
| 30 | - '/opt/local/include', '/sw/include', | ||
| 31 | - '/usr/include/suitesparse'] | ||
| 32 | - default_src_dirs = ['.', '/usr/local/src', '/opt/src', '/sw/src'] | ||
| 33 | - | ||
| 34 | - default_x11_lib_dirs = libpaths(['/usr/X11R6/lib', '/usr/X11/lib', | ||
| 35 | - '/usr/lib'], platform_bits) | ||
| 36 | - default_x11_include_dirs = ['/usr/X11R6/include', '/usr/X11/include'] | ||
| 37 | - | ||
| 38 | - if os.path.exists('/usr/lib/X11'): | ||
| 39 | - globbed_x11_dir = glob('/usr/lib/*/libX11.so') | ||
| 40 | - if globbed_x11_dir: | ||
| 41 | - x11_so_dir = os.path.split(globbed_x11_dir[0])[0] | ||
| 42 | - default_x11_lib_dirs.extend([x11_so_dir, '/usr/lib/X11']) | ||
| 43 | - default_x11_include_dirs.extend(['/usr/lib/X11/include', | ||
| 44 | - '/usr/include/X11']) | ||
| 45 | - | ||
| 46 | - with open(os.devnull, 'w') as tmp: | ||
| 47 | - try: | ||
| 48 | - p = subprocess.Popen(["gcc", "-print-multiarch"], stdout=subprocess.PIPE, | ||
| 49 | - stderr=tmp) | ||
| 50 | - except (OSError, DistutilsError): | ||
| 51 | - # OSError if gcc is not installed, or SandboxViolation (DistutilsError | ||
| 52 | - # subclass) if an old setuptools bug is triggered (see gh-3160). | ||
| 53 | - pass | ||
| 54 | - else: | ||
| 55 | - triplet = str(p.communicate()[0].decode().strip()) | ||
| 56 | - if p.returncode == 0: | ||
| 57 | - # gcc supports the "-print-multiarch" option | ||
| 58 | - default_x11_lib_dirs += [os.path.join("/usr/lib/", triplet)] | ||
| 59 | - default_lib_dirs += [os.path.join("/usr/lib/", triplet)] | ||
| 60 | |||
| 61 | + default_lib_dirs = libpaths(['/deadir/lib'], platform_bits) | ||
| 62 | + default_include_dirs = ['/deaddir/include'] | ||
| 63 | + default_src_dirs = ['.', '/deaddir/src'] | ||
| 64 | + | ||
| 65 | + default_x11_lib_dirs = libpaths(['/deaddir/lib'], platform_bits) | ||
| 66 | + default_x11_include_dirs = ['/deaddir/include'] | ||
| 67 | |||
| 68 | if os.path.join(sys.prefix, 'lib') not in default_lib_dirs: | ||
| 69 | default_lib_dirs.insert(0, os.path.join(sys.prefix, 'lib')) | ||
diff --git a/meta/recipes-devtools/python/python3-numpy/fix_reproducibility.patch b/meta/recipes-devtools/python/python3-numpy/fix_reproducibility.patch deleted file mode 100644 index 8b39b7bcfe..0000000000 --- a/meta/recipes-devtools/python/python3-numpy/fix_reproducibility.patch +++ /dev/null | |||
| @@ -1,40 +0,0 @@ | |||
| 1 | From 45d76002bc989a9098141f2bfcd2d2fabc5a04d5 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
| 3 | Date: Fri, 29 Sep 2023 22:53:24 +0100 | ||
| 4 | Subject: [PATCH] This regex decides whether to use O3 opimisation on numpy or | ||
| 5 | not. | ||
| 6 | |||
| 7 | It includes "od", which happens to be a substring of "reproducible" | ||
| 8 | but not "qemux86-world". | ||
| 9 | |||
| 10 | The regex will run against all compiler options including things like: | ||
| 11 | |||
| 12 | -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 | ||
| 13 | |||
| 14 | i.e. including build paths. | ||
| 15 | |||
| 16 | Reduce the regex to something deterministic for our builds, assuming | ||
| 17 | nobody builds in /home/debug:full/ | ||
| 18 | |||
| 19 | The autobuilder race depended upon whether qemux86-world or the | ||
| 20 | reproducible target ran first and won the race to populate sstate. | ||
| 21 | |||
| 22 | Upstream-Status: Inappropriate [upstream have dropped distutils and switched to meson] | ||
| 23 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
| 24 | --- | ||
| 25 | numpy/distutils/ccompiler_opt.py | 2 +- | ||
| 26 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 27 | |||
| 28 | diff --git a/numpy/distutils/ccompiler_opt.py b/numpy/distutils/ccompiler_opt.py | ||
| 29 | index b1a6fa3..7b0302b 100644 | ||
| 30 | --- a/numpy/distutils/ccompiler_opt.py | ||
| 31 | +++ b/numpy/distutils/ccompiler_opt.py | ||
| 32 | @@ -991,7 +991,7 @@ def __init__(self): | ||
| 33 | ("cc_is_nocc", "", ""), | ||
| 34 | ) | ||
| 35 | detect_args = ( | ||
| 36 | - ("cc_has_debug", ".*(O0|Od|ggdb|coverage|debug:full).*", ""), | ||
| 37 | + ("cc_has_debug", ".*debug:full.*", ""), | ||
| 38 | ("cc_has_native", | ||
| 39 | ".*(-march=native|-xHost|/QxHost|-mcpu=a64fx).*", ""), | ||
| 40 | # 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 deleted file mode 100644 index a1c80323d6..0000000000 --- a/meta/recipes-devtools/python/python3-numpy/run-ptest +++ /dev/null | |||
| @@ -1,17 +0,0 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | # By default, numpy will use /tmp as the root path for temporary files used | ||
| 4 | # during tests, but if this is a tmpfs it may fill up quickly and cause many of | ||
| 5 | # the tests to report "no space left on device" errors. Create a custom | ||
| 6 | # directory for these and point pytest at it so we can take advantage of the | ||
| 7 | # storage provided in the rootfs. | ||
| 8 | export PYTEST_DEBUG_TEMPROOT="/usr/lib/python3-numpy/ptest/tmp" | ||
| 9 | mkdir -p "$PYTEST_DEBUG_TEMPROOT" | ||
| 10 | |||
| 11 | # test_mem_policy fails if there's no C compiler present, but we don't want to | ||
| 12 | # include gcc as a ptest dependency, so skip that. test_big_arrays uses up a | ||
| 13 | # large amount of storage, so skip that too. | ||
| 14 | # remove test_validate_transcendentals if | ||
| 15 | # https://github.com/numpy/numpy/issues/27460 is resolved | ||
| 16 | pytest --automake -m "not slow" -k "not test_mem_policy and not test_big_arrays and not test_validate_transcendentals" /usr/lib/python3.*/site-packages/numpy | ||
| 17 | rm -rf "$PYTEST_DEBUG_TEMPROOT" | ||
diff --git a/meta/recipes-devtools/python/python3-numpy_2.3.4.bb b/meta/recipes-devtools/python/python3-numpy_2.3.4.bb deleted file mode 100644 index 7f82ca87a7..0000000000 --- a/meta/recipes-devtools/python/python3-numpy_2.3.4.bb +++ /dev/null | |||
| @@ -1,79 +0,0 @@ | |||
| 1 | SUMMARY = "A sophisticated Numeric Processing Package for Python" | ||
| 2 | HOMEPAGE = "https://numpy.org/" | ||
| 3 | DESCRIPTION = "NumPy is the fundamental package needed for scientific computing with Python." | ||
| 4 | SECTION = "devel/python" | ||
| 5 | LICENSE = "BSD-3-Clause & BSD-2-Clause & PSF-2.0 & Apache-2.0 & MIT" | ||
| 6 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=26080bf81b2662c7119d3ef28ae197fd" | ||
| 7 | |||
| 8 | SRCNAME = "numpy" | ||
| 9 | |||
| 10 | SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${SRCNAME}-${PV}.tar.gz \ | ||
| 11 | file://0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch \ | ||
| 12 | file://fix_reproducibility.patch \ | ||
| 13 | file://run-ptest \ | ||
| 14 | " | ||
| 15 | SRC_URI[sha256sum] = "a7d018bfedb375a8d979ac758b120ba846a7fe764911a64465fd87b8729f4a6a" | ||
| 16 | |||
| 17 | GITHUB_BASE_URI = "https://github.com/numpy/numpy/releases" | ||
| 18 | UPSTREAM_CHECK_REGEX = "releases/tag/v?(?P<pver>\d+(\.\d+)+)$" | ||
| 19 | |||
| 20 | inherit pkgconfig ptest python_mesonpy github-releases cython | ||
| 21 | |||
| 22 | S = "${UNPACKDIR}/numpy-${PV}" | ||
| 23 | |||
| 24 | PACKAGECONFIG[svml] = "-Ddisable-svml=false,-Ddisable-svml=true" | ||
| 25 | |||
| 26 | # the overflow tests fail with compiler-rt on aarch64 | ||
| 27 | LDFLAGS:append:toolchain-clang:aarch64 = " -rtlib=libgcc -unwindlib=libgcc" | ||
| 28 | |||
| 29 | # Remove references to buildpaths from numpy's __config__.py | ||
| 30 | do_install:append() { | ||
| 31 | sed -i \ | ||
| 32 | -e 's|${S}=||g' \ | ||
| 33 | -e 's|${B}=||g' \ | ||
| 34 | -e 's|${RECIPE_SYSROOT_NATIVE}=||g' \ | ||
| 35 | -e 's|${RECIPE_SYSROOT_NATIVE}||g' \ | ||
| 36 | -e 's|${RECIPE_SYSROOT}=||g' \ | ||
| 37 | -e 's|${RECIPE_SYSROOT}||g' ${D}${PYTHON_SITEPACKAGES_DIR}/numpy/__config__.py | ||
| 38 | |||
| 39 | nativepython3 -mcompileall -s ${D} ${D}${PYTHON_SITEPACKAGES_DIR}/numpy/__config__.py | ||
| 40 | } | ||
| 41 | |||
| 42 | FILES:${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/numpy/_core/lib/*.a \ | ||
| 43 | ${PYTHON_SITEPACKAGES_DIR}/numpy/random/lib/*.a \ | ||
| 44 | " | ||
| 45 | |||
| 46 | # install what is needed for numpy.test() | ||
| 47 | RDEPENDS:${PN} = "\ | ||
| 48 | python3-compression \ | ||
| 49 | python3-ctypes \ | ||
| 50 | python3-datetime \ | ||
| 51 | python3-difflib \ | ||
| 52 | python3-doctest \ | ||
| 53 | python3-email \ | ||
| 54 | python3-json \ | ||
| 55 | python3-misc \ | ||
| 56 | python3-mmap \ | ||
| 57 | python3-multiprocessing \ | ||
| 58 | python3-netclient \ | ||
| 59 | python3-numbers \ | ||
| 60 | python3-pickle \ | ||
| 61 | python3-pkgutil \ | ||
| 62 | python3-pprint \ | ||
| 63 | python3-pydoc \ | ||
| 64 | python3-shell \ | ||
| 65 | python3-threading \ | ||
| 66 | python3-unittest \ | ||
| 67 | " | ||
| 68 | RDEPENDS:${PN}-ptest += "\ | ||
| 69 | ldd \ | ||
| 70 | meson \ | ||
| 71 | python3-hypothesis \ | ||
| 72 | python3-pytest \ | ||
| 73 | python3-resource \ | ||
| 74 | python3-sortedcontainers \ | ||
| 75 | python3-typing-extensions \ | ||
| 76 | python3-unittest-automake-output \ | ||
| 77 | " | ||
| 78 | |||
| 79 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-packaging/run-ptest.in b/meta/recipes-devtools/python/python3-packaging/run-ptest.in deleted file mode 100644 index 508538463b..0000000000 --- a/meta/recipes-devtools/python/python3-packaging/run-ptest.in +++ /dev/null | |||
| @@ -1,2 +0,0 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | pytest --automake IGNOREDTESTS | ||
diff --git a/meta/recipes-devtools/python/python3-packaging_25.0.bb b/meta/recipes-devtools/python/python3-packaging_25.0.bb deleted file mode 100644 index 9cb5c68f58..0000000000 --- a/meta/recipes-devtools/python/python3-packaging_25.0.bb +++ /dev/null | |||
| @@ -1,43 +0,0 @@ | |||
| 1 | SUMMARY = "Core utilities for Python packages" | ||
| 2 | HOMEPAGE = "https://github.com/pypa/packaging" | ||
| 3 | LICENSE = "Apache-2.0 | BSD-2-Clause" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=faadaedca9251a90b205c9167578ce91" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f" | ||
| 7 | |||
| 8 | SRC_URI += "file://run-ptest.in" | ||
| 9 | |||
| 10 | inherit pypi python_flit_core ptest | ||
| 11 | |||
| 12 | BBCLASSEXTEND = "native nativesdk" | ||
| 13 | |||
| 14 | # Bootstrap the native build | ||
| 15 | DEPENDS:remove:class-native = "python3-build-native" | ||
| 16 | RDEPENDS:${PN} += "python3-profile" | ||
| 17 | |||
| 18 | # https://github.com/pypa/packaging/issues/850 | ||
| 19 | SKIPLIST ?= "" | ||
| 20 | SKIPLIST:libc-musl = "--deselect tests/test_manylinux.py::test_is_manylinux_compatible_old --ignore=tests/test_tags.py" | ||
| 21 | |||
| 22 | do_compile:class-native () { | ||
| 23 | python_flit_core_do_manual_build | ||
| 24 | } | ||
| 25 | |||
| 26 | do_install_ptest() { | ||
| 27 | cp -r ${S}/tests ${D}${PTEST_PATH}/ | ||
| 28 | # We don't need this script which is used to build the binaries | ||
| 29 | rm -f ${D}${PTEST_PATH}/tests/manylinux/build.sh | ||
| 30 | sed -e 's|IGNOREDTESTS|${SKIPLIST}|' ${UNPACKDIR}/run-ptest.in > ${D}${PTEST_PATH}/run-ptest | ||
| 31 | chmod 0755 ${D}${PTEST_PATH}/run-ptest | ||
| 32 | } | ||
| 33 | |||
| 34 | RDEPENDS:${PN}-ptest = "\ | ||
| 35 | python3-ctypes \ | ||
| 36 | python3-pretend \ | ||
| 37 | python3-pytest \ | ||
| 38 | python3-unittest-automake-output \ | ||
| 39 | " | ||
| 40 | |||
| 41 | # The ptest package contains prebuilt test binaries | ||
| 42 | INSANE_SKIP:${PN} = "already-stripped" | ||
| 43 | INSANE_SKIP:${PN}-ptest = "arch" | ||
diff --git a/meta/recipes-devtools/python/python3-pathspec_0.12.1.bb b/meta/recipes-devtools/python/python3-pathspec_0.12.1.bb deleted file mode 100644 index 2c80b24c28..0000000000 --- a/meta/recipes-devtools/python/python3-pathspec_0.12.1.bb +++ /dev/null | |||
| @@ -1,13 +0,0 @@ | |||
| 1 | SUMMARY = "Utility library for gitignore style pattern matching of file paths." | ||
| 2 | HOMEPAGE = "https://github.com/cpburnz/python-path-specification" | ||
| 3 | SECTION = "devel/python" | ||
| 4 | LICENSE = "MPL-2.0" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=815ca599c9df247a0c7f619bab123dad" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712" | ||
| 8 | |||
| 9 | inherit pypi python_flit_core | ||
| 10 | |||
| 11 | BBCLASSEXTEND = "native nativesdk" | ||
| 12 | |||
| 13 | RDEPENDS:${PN} += "python3-profile" | ||
diff --git a/meta/recipes-devtools/python/python3-pbr_7.0.1.bb b/meta/recipes-devtools/python/python3-pbr_7.0.1.bb deleted file mode 100644 index 6878fa0967..0000000000 --- a/meta/recipes-devtools/python/python3-pbr_7.0.1.bb +++ /dev/null | |||
| @@ -1,14 +0,0 @@ | |||
| 1 | SUMMARY = "Python Build Reasonableness" | ||
| 2 | DESCRIPTION = "PBR is a library that injects some useful and sensible default behaviors into your setuptools run" | ||
| 3 | HOMEPAGE = "https://pypi.org/project/pbr" | ||
| 4 | SECTION = "devel/python" | ||
| 5 | LICENSE = "Apache-2.0" | ||
| 6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2" | ||
| 7 | |||
| 8 | inherit pypi python_setuptools_build_meta | ||
| 9 | |||
| 10 | RDEPENDS:${PN} += "python3-pip" | ||
| 11 | |||
| 12 | BBCLASSEXTEND = "native nativesdk" | ||
| 13 | |||
| 14 | SRC_URI[sha256sum] = "3ecbcb11d2b8551588ec816b3756b1eb4394186c3b689b17e04850dfc20f7e57" | ||
diff --git a/meta/recipes-devtools/python/python3-pdm-backend_2.4.5.bb b/meta/recipes-devtools/python/python3-pdm-backend_2.4.5.bb deleted file mode 100644 index 5e6d75c188..0000000000 --- a/meta/recipes-devtools/python/python3-pdm-backend_2.4.5.bb +++ /dev/null | |||
| @@ -1,14 +0,0 @@ | |||
| 1 | SUMMARY = "The build backend used by PDM that supports latest packaging standards" | ||
| 2 | HOMEPAGE = "https://github.com/pdm-project/pdm-backend" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | SECTION = "devel/python" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=4a564297b3c5b629a528b92fd8ff61ea" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "56c019c440308adad5d057c08cbb777e65f43b991a3b0920749781258972fe5b" | ||
| 8 | |||
| 9 | inherit pypi python_pep517 | ||
| 10 | |||
| 11 | PYPI_PACKAGE = "pdm_backend" | ||
| 12 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 13 | |||
| 14 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-pdm-build-locked_0.3.5.bb b/meta/recipes-devtools/python/python3-pdm-build-locked_0.3.5.bb deleted file mode 100644 index e8f2ad0e93..0000000000 --- a/meta/recipes-devtools/python/python3-pdm-build-locked_0.3.5.bb +++ /dev/null | |||
| @@ -1,13 +0,0 @@ | |||
| 1 | SUMMARY = "pdm plugin to publish locked dependencies as optional-dependencies" | ||
| 2 | HOMEPAGE = "https://github.com/pdm-project/pdm-build-locked" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=19382cdf9c143df4f00b9caa0b60c75a" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "ab2f381e00d79841d46be2e6909c265038b9fa951de2bf551ca6adb7f6844201" | ||
| 7 | |||
| 8 | inherit pypi python_pdm | ||
| 9 | |||
| 10 | PYPI_PACKAGE = "pdm_build_locked" | ||
| 11 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 12 | |||
| 13 | BBCLASSEXTEND += "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-pdm_2.25.9.bb b/meta/recipes-devtools/python/python3-pdm_2.25.9.bb deleted file mode 100644 index 6938edb82f..0000000000 --- a/meta/recipes-devtools/python/python3-pdm_2.25.9.bb +++ /dev/null | |||
| @@ -1,15 +0,0 @@ | |||
| 1 | SUMMARY = "A modern Python package and dependency manager supporting the latest PEP standards" | ||
| 2 | HOMEPAGE = "https://pdm-project.org/latest/" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | SECTION = "devel/python" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=2eb31a2cc1a758c34b499f287dd04ef2" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "fb5fcd561986db1d83255d01e97e2e16f80debf743934d891a62ff2933ccc80c" | ||
| 8 | |||
| 9 | inherit pypi python_pdm | ||
| 10 | |||
| 11 | DEPENDS += " \ | ||
| 12 | python3-pdm-build-locked-native \ | ||
| 13 | " | ||
| 14 | |||
| 15 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-pefile/run-ptest b/meta/recipes-devtools/python/python3-pefile/run-ptest deleted file mode 100644 index 95ae72306f..0000000000 --- a/meta/recipes-devtools/python/python3-pefile/run-ptest +++ /dev/null | |||
| @@ -1,3 +0,0 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | pytest --automake --ignore=./tests/pefile_test.py | ||
diff --git a/meta/recipes-devtools/python/python3-pefile_2024.8.26.bb b/meta/recipes-devtools/python/python3-pefile_2024.8.26.bb deleted file mode 100644 index 11765b3cb3..0000000000 --- a/meta/recipes-devtools/python/python3-pefile_2024.8.26.bb +++ /dev/null | |||
| @@ -1,18 +0,0 @@ | |||
| 1 | SUMMARY = "Python PE parsing module" | ||
| 2 | DESCRIPTION = "A multi-platform Python module to parse and work with Portable Executable (PE) files." | ||
| 3 | HOMEPAGE = "https://github.com/erocarrera/pefile" | ||
| 4 | LICENSE = "MIT" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e34c75178086aca0a17551ffbacaca53" | ||
| 6 | |||
| 7 | inherit setuptools3 ptest-python-pytest | ||
| 8 | SRCREV = "4b3b1e2e568a88d4f1897d694d684f23d9e270c4" | ||
| 9 | SRC_URI = "git://github.com/erocarrera/pefile;branch=master;protocol=https \ | ||
| 10 | file://run-ptest" | ||
| 11 | |||
| 12 | BBCLASSEXTEND = "native nativesdk" | ||
| 13 | |||
| 14 | RDEPENDS:${PN} += " \ | ||
| 15 | python3-mmap \ | ||
| 16 | python3-netclient \ | ||
| 17 | python3-stringold \ | ||
| 18 | " | ||
diff --git a/meta/recipes-devtools/python/python3-pip/no_shebang_mangling.patch b/meta/recipes-devtools/python/python3-pip/no_shebang_mangling.patch deleted file mode 100644 index 7f15e9c0da..0000000000 --- a/meta/recipes-devtools/python/python3-pip/no_shebang_mangling.patch +++ /dev/null | |||
| @@ -1,36 +0,0 @@ | |||
| 1 | From 6adf47097928ee3bb1b02c204126ed923faa7446 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
| 3 | Date: Wed, 23 Feb 2022 12:27:06 +0000 | ||
| 4 | Subject: [PATCH] python3-pip: Don't change shebang | ||
| 5 | |||
| 6 | Patch pip to disable shebang mangling and also force the python executable | ||
| 7 | to be python3 from the environment when building anything for the target | ||
| 8 | (or nativesdk). This avoids incorrect interpreter paths in the target scripts. | ||
| 9 | |||
| 10 | Upstream-Status: Inappropriate [OE specific config] | ||
| 11 | --- | ||
| 12 | src/pip/_vendor/distlib/scripts.py | 4 +++- | ||
| 13 | 1 file changed, 3 insertions(+), 1 deletion(-) | ||
| 14 | |||
| 15 | diff --git a/src/pip/_vendor/distlib/scripts.py b/src/pip/_vendor/distlib/scripts.py | ||
| 16 | index 195dc3f..a0e0d61 100644 | ||
| 17 | --- a/src/pip/_vendor/distlib/scripts.py | ||
| 18 | +++ b/src/pip/_vendor/distlib/scripts.py | ||
| 19 | @@ -155,6 +155,8 @@ class ScriptMaker(object): | ||
| 20 | See also: http://www.in-ulm.de/~mascheck/various/shebang/#length | ||
| 21 | https://hg.mozilla.org/mozilla-central/file/tip/mach | ||
| 22 | """ | ||
| 23 | + if '_PYTHON_SYSCONFIGDATA_NAME' in os.environ: | ||
| 24 | + return b'#!/usr/bin/env python3' | ||
| 25 | if os.name != 'posix': | ||
| 26 | simple_shebang = True | ||
| 27 | elif getattr(sys, "cross_compiling", False): | ||
| 28 | @@ -363,7 +365,7 @@ class ScriptMaker(object): | ||
| 29 | return | ||
| 30 | |||
| 31 | match = FIRST_LINE_RE.match(first_line.replace(b'\r\n', b'\n')) | ||
| 32 | - if match: | ||
| 33 | + if False: | ||
| 34 | adjust = True | ||
| 35 | post_interp = match.group(1) or b'' | ||
| 36 | |||
diff --git a/meta/recipes-devtools/python/python3-pip_25.2.bb b/meta/recipes-devtools/python/python3-pip_25.2.bb deleted file mode 100644 index 350092d9ad..0000000000 --- a/meta/recipes-devtools/python/python3-pip_25.2.bb +++ /dev/null | |||
| @@ -1,50 +0,0 @@ | |||
| 1 | SUMMARY = "The PyPA recommended tool for installing Python packages" | ||
| 2 | HOMEPAGE = "https://pypi.org/project/pip" | ||
| 3 | SECTION = "devel/python" | ||
| 4 | LICENSE = "MIT & Apache-2.0 & MPL-2.0 & LGPL-2.1-only & BSD-3-Clause & PSF-2.0 & BSD-2-Clause" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=63ec52baf95163b597008bb46db68030 \ | ||
| 6 | file://src/pip/_vendor/cachecontrol/LICENSE.txt;md5=6572692148079ebbbd800be4b9f36c6d \ | ||
| 7 | file://src/pip/_vendor/certifi/LICENSE;md5=11618cb6a975948679286b1211bd573c \ | ||
| 8 | file://src/pip/_vendor/distlib/LICENSE.txt;md5=f6a11430d5cd6e2cd3832ee94f22ddfc \ | ||
| 9 | file://src/pip/_vendor/distro/LICENSE;md5=d2794c0df5b907fdace235a619d80314 \ | ||
| 10 | file://src/pip/_vendor/idna/LICENSE.md;md5=204c0612e40a4dd46012a78d02c80fb1 \ | ||
| 11 | file://src/pip/_vendor/msgpack/COPYING;md5=cd9523181d9d4fbf7ffca52eaa2a5751 \ | ||
| 12 | file://src/pip/_vendor/packaging/LICENSE;md5=faadaedca9251a90b205c9167578ce91 \ | ||
| 13 | file://src/pip/_vendor/pkg_resources/LICENSE;md5=141643e11c48898150daa83802dbc65f \ | ||
| 14 | file://src/pip/_vendor/platformdirs/LICENSE;md5=ea4f5a41454746a9ed111e3d8723d17a \ | ||
| 15 | file://src/pip/_vendor/pygments/LICENSE;md5=36a13c90514e2899f1eba7f41c3ee592 \ | ||
| 16 | file://src/pip/_vendor/pyproject_hooks/LICENSE;md5=aad69c93f605003e3342b174d9b0708c \ | ||
| 17 | file://src/pip/_vendor/requests/LICENSE;md5=34400b68072d710fecd0a2940a0d1658 \ | ||
| 18 | file://src/pip/_vendor/resolvelib/LICENSE;md5=78e1c0248051c32a38a7f820c30bd7a5 \ | ||
| 19 | file://src/pip/_vendor/rich/LICENSE;md5=b5f0b94fbc94f5ad9ae4efcf8a778303 \ | ||
| 20 | file://src/pip/_vendor/tomli/LICENSE;md5=aaaaf0879d17df0110d1aa8c8c9f46f5 \ | ||
| 21 | file://src/pip/_vendor/truststore/LICENSE;md5=74420fc3965c4558a4a1529e63c2867f \ | ||
| 22 | file://src/pip/_vendor/urllib3/LICENSE.txt;md5=c2823cb995439c984fd62a973d79815c \ | ||
| 23 | " | ||
| 24 | |||
| 25 | inherit pypi python_setuptools_build_meta | ||
| 26 | |||
| 27 | SRC_URI += "file://no_shebang_mangling.patch" | ||
| 28 | |||
| 29 | SRC_URI[sha256sum] = "578283f006390f85bb6282dffb876454593d637f5d1be494b5202ce4877e71f2" | ||
| 30 | |||
| 31 | RDEPENDS:${PN} = "\ | ||
| 32 | python3-compile \ | ||
| 33 | python3-html \ | ||
| 34 | python3-image \ | ||
| 35 | python3-io \ | ||
| 36 | python3-json \ | ||
| 37 | python3-multiprocessing \ | ||
| 38 | python3-netserver \ | ||
| 39 | python3-pickle \ | ||
| 40 | python3-setuptools \ | ||
| 41 | python3-tomllib \ | ||
| 42 | python3-unixadmin \ | ||
| 43 | python3-xmlrpc \ | ||
| 44 | " | ||
| 45 | |||
| 46 | BBCLASSEXTEND = "native nativesdk" | ||
| 47 | |||
| 48 | # This used to use the bootstrap install which didn't compile. Until we bump the | ||
| 49 | # tmpdir version we can't compile the native otherwise the sysroot unpack fails | ||
| 50 | INSTALL_WHEEL_COMPILE_BYTECODE:class-native = "--no-compile-bytecode" | ||
diff --git a/meta/recipes-devtools/python/python3-pluggy_1.6.0.bb b/meta/recipes-devtools/python/python3-pluggy_1.6.0.bb deleted file mode 100644 index b8e4bbc75b..0000000000 --- a/meta/recipes-devtools/python/python3-pluggy_1.6.0.bb +++ /dev/null | |||
| @@ -1,14 +0,0 @@ | |||
| 1 | SUMMARY = "Plugin and hook calling mechanisms for python" | ||
| 2 | HOMEPAGE = "https://github.com/pytest-dev/pluggy" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=1c8206d16fd5cc02fa9b0bb98955e5c2" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3" | ||
| 7 | |||
| 8 | DEPENDS += "python3-setuptools-scm-native" | ||
| 9 | |||
| 10 | inherit pypi ptest-python-pytest python_setuptools_build_meta | ||
| 11 | |||
| 12 | PTEST_PYTEST_DIR = "testing" | ||
| 13 | |||
| 14 | 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 deleted file mode 100644 index 2c5fa3f215..0000000000 --- a/meta/recipes-devtools/python/python3-ply_3.11.bb +++ /dev/null | |||
| @@ -1,17 +0,0 @@ | |||
| 1 | SUMMARY = "Python Lex and Yacc" | ||
| 2 | DESCRIPTION = "Python ply: PLY is yet another implementation of lex and yacc for Python" | ||
| 3 | HOMEPAGE = "https://pypi.python.org/pypi/ply" | ||
| 4 | SECTION = "devel/python" | ||
| 5 | LICENSE = "BSD-3-Clause" | ||
| 6 | LIC_FILES_CHKSUM = "file://README.md;beginline=5;endline=32;md5=f5ee5c355c0e6719c787a71b8f0fa96c" | ||
| 7 | |||
| 8 | SRC_URI[sha256sum] = "00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3" | ||
| 9 | |||
| 10 | inherit pypi setuptools3 | ||
| 11 | |||
| 12 | RDEPENDS:${PN}:class-target += "\ | ||
| 13 | python3-netclient \ | ||
| 14 | python3-shell \ | ||
| 15 | " | ||
| 16 | |||
| 17 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-poetry-core_2.1.3.bb b/meta/recipes-devtools/python/python3-poetry-core_2.1.3.bb deleted file mode 100644 index 12c4751de8..0000000000 --- a/meta/recipes-devtools/python/python3-poetry-core_2.1.3.bb +++ /dev/null | |||
| @@ -1,41 +0,0 @@ | |||
| 1 | SUMMARY = "Poetry PEP 517 Build Backend" | ||
| 2 | DESCRIPTION = "Poetry PEP 517 Build Backend" | ||
| 3 | HOMEPAGE = "https://github.com/python-poetry/poetry-core" | ||
| 4 | BUGTRACKER = "https://github.com/python-poetry/poetry-core" | ||
| 5 | CHANGELOG = "https://github.com/python-poetry/poetry-core/blob/master/CHANGELOG.md" | ||
| 6 | |||
| 7 | LICENSE = "Apache-2.0 & BSD-2-Clause & BSD-3-Clause & MIT" | ||
| 8 | LIC_FILES_CHKSUM = "\ | ||
| 9 | file://LICENSE;md5=78c39cfd009863ae44237a7ab1f9cedc \ | ||
| 10 | file://src/poetry/core/_vendor/fastjsonschema/LICENSE;md5=18950e8362b69c0c617b42b8bd8e7532 \ | ||
| 11 | file://src/poetry/core/_vendor/lark/LICENSE;md5=fcfbf1e2ecc0f37acbb5871aa0267500 \ | ||
| 12 | file://src/poetry/core/_vendor/packaging/LICENSE;md5=faadaedca9251a90b205c9167578ce91 \ | ||
| 13 | file://src/poetry/core/_vendor/packaging/LICENSE.APACHE;md5=2ee41112a44fe7014dce33e26468ba93 \ | ||
| 14 | file://src/poetry/core/_vendor/packaging/LICENSE.BSD;md5=7bef9bf4a8e4263634d0597e7ba100b8 \ | ||
| 15 | file://src/poetry/core/_vendor/tomli/LICENSE;md5=aaaaf0879d17df0110d1aa8c8c9f46f5 \ | ||
| 16 | " | ||
| 17 | |||
| 18 | SRC_URI[sha256sum] = "0522a015477ed622c89aad56a477a57813cace0c8e7ff2a2906b7ef4a2e296a4" | ||
| 19 | |||
| 20 | inherit python_poetry_core pypi | ||
| 21 | |||
| 22 | PYPI_PACKAGE = "poetry_core" | ||
| 23 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 24 | |||
| 25 | RDEPENDS:${PN}:append:class-target = "\ | ||
| 26 | python3-compression \ | ||
| 27 | python3-core \ | ||
| 28 | python3-crypt \ | ||
| 29 | python3-io \ | ||
| 30 | python3-json \ | ||
| 31 | python3-logging \ | ||
| 32 | python3-netclient \ | ||
| 33 | python3-pprint \ | ||
| 34 | python3-shell \ | ||
| 35 | " | ||
| 36 | |||
| 37 | RDEPENDS:${PN} += "\ | ||
| 38 | python3-pip \ | ||
| 39 | " | ||
| 40 | |||
| 41 | 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 deleted file mode 100644 index 60c02de488..0000000000 --- a/meta/recipes-devtools/python/python3-pretend_1.0.9.bb +++ /dev/null | |||
| @@ -1,10 +0,0 @@ | |||
| 1 | SUMMARY = "A library for stubbing in Python" | ||
| 2 | HOMEPAGE = "https://github.com/alex/pretend" | ||
| 3 | LICENSE = "BSD-3-Clause" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=411780c0b7fa756753e94affeee5bc99" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "c90eb810cde8ebb06dafcb8796f9a95228ce796531bc806e794c2f4649aa1b10" | ||
| 7 | |||
| 8 | inherit pypi setuptools3 | ||
| 9 | |||
| 10 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-psutil_7.0.0.bb b/meta/recipes-devtools/python/python3-psutil_7.0.0.bb deleted file mode 100644 index a2af198083..0000000000 --- a/meta/recipes-devtools/python/python3-psutil_7.0.0.bb +++ /dev/null | |||
| @@ -1,43 +0,0 @@ | |||
| 1 | SUMMARY = "A cross-platform process and system utilities module for Python" | ||
| 2 | LICENSE = "BSD-3-Clause" | ||
| 3 | LIC_FILES_CHKSUM = "file://LICENSE;md5=a9c72113a843d0d732a0ac1c200d81b1" | ||
| 4 | HOMEPAGE = "https://pypi.org/project/psutil/" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456" | ||
| 7 | |||
| 8 | inherit pypi python_setuptools_build_meta | ||
| 9 | |||
| 10 | PACKAGES =+ "${PN}-tests" | ||
| 11 | |||
| 12 | FILES:${PN}-tests += " \ | ||
| 13 | ${PYTHON_SITEPACKAGES_DIR}/psutil/test* \ | ||
| 14 | ${PYTHON_SITEPACKAGES_DIR}/psutil/__pycache__/test* \ | ||
| 15 | " | ||
| 16 | |||
| 17 | RDEPENDS:${PN} += " \ | ||
| 18 | python3-shell \ | ||
| 19 | python3-threading \ | ||
| 20 | python3-xml \ | ||
| 21 | python3-netclient \ | ||
| 22 | python3-ctypes \ | ||
| 23 | python3-resource \ | ||
| 24 | " | ||
| 25 | |||
| 26 | RDEPENDS:${PN}-tests += " \ | ||
| 27 | ${PN} \ | ||
| 28 | python3 \ | ||
| 29 | coreutils \ | ||
| 30 | procps \ | ||
| 31 | binutils \ | ||
| 32 | gcc \ | ||
| 33 | gcc-symlinks \ | ||
| 34 | libstdc++ \ | ||
| 35 | libstdc++-dev \ | ||
| 36 | " | ||
| 37 | RDEPENDS:${PN}-tests:class-native = "" | ||
| 38 | |||
| 39 | INSANE_SKIP:${PN}-tests += "dev-deps" | ||
| 40 | |||
| 41 | CVE_PRODUCT = "psutil" | ||
| 42 | |||
| 43 | BBCLASSEXTEND = "native" | ||
diff --git a/meta/recipes-devtools/python/python3-pyasn1_0.6.1.bb b/meta/recipes-devtools/python/python3-pyasn1_0.6.1.bb deleted file mode 100644 index 820ef27d2b..0000000000 --- a/meta/recipes-devtools/python/python3-pyasn1_0.6.1.bb +++ /dev/null | |||
| @@ -1,17 +0,0 @@ | |||
| 1 | SUMMARY = "Python library implementing ASN.1 types." | ||
| 2 | HOMEPAGE = "http://pyasn1.sourceforge.net/" | ||
| 3 | LICENSE = "BSD-2-Clause" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=190f79253908c986e6cacf380c3a5f6d" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034" | ||
| 7 | |||
| 8 | inherit pypi python_setuptools_build_meta ptest-python-pytest | ||
| 9 | |||
| 10 | RDEPENDS:${PN}:class-target += " \ | ||
| 11 | python3-codecs \ | ||
| 12 | python3-logging \ | ||
| 13 | python3-math \ | ||
| 14 | python3-shell \ | ||
| 15 | " | ||
| 16 | |||
| 17 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-pycairo_1.28.0.bb b/meta/recipes-devtools/python/python3-pycairo_1.28.0.bb deleted file mode 100644 index 498c4db586..0000000000 --- a/meta/recipes-devtools/python/python3-pycairo_1.28.0.bb +++ /dev/null | |||
| @@ -1,26 +0,0 @@ | |||
| 1 | SUMMARY = "Python bindings for the Cairo canvas library" | ||
| 2 | HOMEPAGE = "http://cairographics.org/pycairo" | ||
| 3 | BUGTRACKER = "http://bugs.freedesktop.org" | ||
| 4 | SECTION = "python-devel" | ||
| 5 | LICENSE = "LGPL-2.1-only & MPL-1.1" | ||
| 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=f3713ca2c28d9312ad718520b6dc3eee \ | ||
| 7 | file://COPYING-LGPL-2.1;md5=fad9b3332be894bab9bc501572864b29 \ | ||
| 8 | file://COPYING-MPL-1.1;md5=bfe1f75d606912a4111c90743d6c7325" | ||
| 9 | |||
| 10 | # cairo >= 1.14 | ||
| 11 | DEPENDS = "cairo python3" | ||
| 12 | |||
| 13 | SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/pycairo-${PV}.tar.gz" | ||
| 14 | GITHUB_BASE_URI = "https://github.com/pygobject/pycairo/releases/" | ||
| 15 | |||
| 16 | SRC_URI[sha256sum] = "26ec5c6126781eb167089a123919f87baa2740da2cca9098be8b3a6b91cc5fbc" | ||
| 17 | |||
| 18 | S = "${UNPACKDIR}/pycairo-${PV}" | ||
| 19 | |||
| 20 | inherit meson pkgconfig python3targetconfig github-releases | ||
| 21 | |||
| 22 | CFLAGS += "-fPIC" | ||
| 23 | |||
| 24 | BBCLASSEXTEND = "native" | ||
| 25 | |||
| 26 | FILES:${PN} = "${PYTHON_SITEPACKAGES_DIR}/*" | ||
diff --git a/meta/recipes-devtools/python/python3-pycparser_2.22.bb b/meta/recipes-devtools/python/python3-pycparser_2.22.bb deleted file mode 100644 index 0be39ea383..0000000000 --- a/meta/recipes-devtools/python/python3-pycparser_2.22.bb +++ /dev/null | |||
| @@ -1,19 +0,0 @@ | |||
| 1 | SUMMARY = "Parser of the C language, written in pure Python" | ||
| 2 | HOMEPAGE = "https://github.com/eliben/pycparser" | ||
| 3 | LICENSE = "BSD-3-Clause" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=9761c3ffee7ba99c60dca0408fd3262b" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6" | ||
| 7 | |||
| 8 | inherit pypi setuptools3 | ||
| 9 | |||
| 10 | BBCLASSEXTEND = "native nativesdk" | ||
| 11 | |||
| 12 | RDEPENDS:${PN}:class-target += "\ | ||
| 13 | python3-netclient \ | ||
| 14 | " | ||
| 15 | |||
| 16 | RSUGGESTS:${PN}:class-target += "\ | ||
| 17 | cpp \ | ||
| 18 | cpp-symlinks \ | ||
| 19 | " | ||
diff --git a/meta/recipes-devtools/python/python3-pycryptodome_3.23.0.bb b/meta/recipes-devtools/python/python3-pycryptodome_3.23.0.bb deleted file mode 100644 index 2528162ff8..0000000000 --- a/meta/recipes-devtools/python/python3-pycryptodome_3.23.0.bb +++ /dev/null | |||
| @@ -1,5 +0,0 @@ | |||
| 1 | require python-pycryptodome.inc | ||
| 2 | inherit python_setuptools_build_meta | ||
| 3 | |||
| 4 | SRC_URI[sha256sum] = "447700a657182d60338bab09fdb27518f8856aecd80ae4c6bdddb67ff5da44ef" | ||
| 5 | |||
diff --git a/meta/recipes-devtools/python/python3-pycryptodomex_3.23.0.bb b/meta/recipes-devtools/python/python3-pycryptodomex_3.23.0.bb deleted file mode 100644 index 43dba3faa3..0000000000 --- a/meta/recipes-devtools/python/python3-pycryptodomex_3.23.0.bb +++ /dev/null | |||
| @@ -1,9 +0,0 @@ | |||
| 1 | require python-pycryptodome.inc | ||
| 2 | inherit python_setuptools_build_meta | ||
| 3 | |||
| 4 | SRC_URI[sha256sum] = "71909758f010c82bc99b0abf4ea12012c98962fbf0583c2164f8b84533c2e4da" | ||
| 5 | |||
| 6 | FILES:${PN}-tests = " \ | ||
| 7 | ${PYTHON_SITEPACKAGES_DIR}/Cryptodome/SelfTest/ \ | ||
| 8 | ${PYTHON_SITEPACKAGES_DIR}/Cryptodome/SelfTest/__pycache__/ \ | ||
| 9 | " | ||
diff --git a/meta/recipes-devtools/python/python3-pyelftools_0.32.bb b/meta/recipes-devtools/python/python3-pyelftools_0.32.bb deleted file mode 100644 index 13e9efff8d..0000000000 --- a/meta/recipes-devtools/python/python3-pyelftools_0.32.bb +++ /dev/null | |||
| @@ -1,15 +0,0 @@ | |||
| 1 | SUMMARY = "pyelftools is a pure-Python library for parsing and analyzing ELF files and DWARF debugging information" | ||
| 2 | HOMEPAGE = "https://github.com/eliben/pyelftools" | ||
| 3 | SECTION = "devel/python" | ||
| 4 | LICENSE = "PD" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=5ce2a2b07fca326bc7c146d10105ccfc" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "6de90ee7b8263e740c8715a925382d4099b354f29ac48ea40d840cf7aa14ace5" | ||
| 8 | |||
| 9 | PYPI_PACKAGE = "pyelftools" | ||
| 10 | |||
| 11 | inherit pypi python_setuptools_build_meta | ||
| 12 | |||
| 13 | BBCLASSEXTEND = "native" | ||
| 14 | |||
| 15 | RDEPENDS:${PN} += "python3-debugger python3-pprint" | ||
diff --git a/meta/recipes-devtools/python/python3-pygments_2.19.2.bb b/meta/recipes-devtools/python/python3-pygments_2.19.2.bb deleted file mode 100644 index a1f73b441d..0000000000 --- a/meta/recipes-devtools/python/python3-pygments_2.19.2.bb +++ /dev/null | |||
| @@ -1,13 +0,0 @@ | |||
| 1 | SUMMARY = "Pygments is a syntax highlighting package written in Python." | ||
| 2 | DESCRIPTION = "Pygments is a syntax highlighting package written in Python." | ||
| 3 | HOMEPAGE = "http://pygments.org/" | ||
| 4 | LICENSE = "BSD-2-Clause" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=36a13c90514e2899f1eba7f41c3ee592" | ||
| 6 | |||
| 7 | inherit python_hatchling | ||
| 8 | SRC_URI[sha256sum] = "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887" | ||
| 9 | |||
| 10 | inherit pypi | ||
| 11 | |||
| 12 | BBCLASSEXTEND = "native nativesdk" | ||
| 13 | |||
diff --git a/meta/recipes-devtools/python/python3-pygobject_3.52.3.bb b/meta/recipes-devtools/python/python3-pygobject_3.52.3.bb deleted file mode 100644 index 42b071ca08..0000000000 --- a/meta/recipes-devtools/python/python3-pygobject_3.52.3.bb +++ /dev/null | |||
| @@ -1,41 +0,0 @@ | |||
| 1 | SUMMARY = "Python GObject bindings" | ||
| 2 | HOMEPAGE = "https://gitlab.gnome.org/GNOME/pygobject" | ||
| 3 | DESCRIPTION = "PyGObject is a Python package which provides bindings for GObject based libraries such as GTK, GStreamer, WebKitGTK, GLib, GIO and many more." | ||
| 4 | SECTION = "devel/python" | ||
| 5 | LICENSE = "LGPL-2.1-only" | ||
| 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7" | ||
| 7 | |||
| 8 | GIR_MESON_OPTION = "" | ||
| 9 | |||
| 10 | inherit gnomebase setuptools3-base gobject-introspection upstream-version-is-even | ||
| 11 | |||
| 12 | python() { | ||
| 13 | if d.getVar('CLASSOVERRIDE') == "class-target" and not bb.utils.to_boolean(d.getVar("GI_DATA_ENABLED")): | ||
| 14 | raise bb.parse.SkipRecipe("GI not available") | ||
| 15 | } | ||
| 16 | |||
| 17 | DEPENDS += "python3 glib-2.0" | ||
| 18 | |||
| 19 | SRCNAME = "pygobject" | ||
| 20 | |||
| 21 | SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.gz" | ||
| 22 | SRC_URI[sha256sum] = "00e427d291e957462a8fad659a9f9c8be776ff82a8b76bdf402f1eaeec086d82" | ||
| 23 | |||
| 24 | S = "${UNPACKDIR}/${SRCNAME}-${PV}" | ||
| 25 | |||
| 26 | PACKAGECONFIG ??= "${@bb.utils.contains_any('DISTRO_FEATURES', [ 'directfb', 'wayland', 'x11' ], 'cairo', '', d)}" | ||
| 27 | |||
| 28 | RDEPENDS:${PN} += " \ | ||
| 29 | python3-asyncio \ | ||
| 30 | python3-io \ | ||
| 31 | python3-pkgutil \ | ||
| 32 | gobject-introspection \ | ||
| 33 | " | ||
| 34 | |||
| 35 | # python3-pycairo is checked on configuration -> DEPENDS | ||
| 36 | # we don't link against python3-pycairo -> RDEPENDS | ||
| 37 | PACKAGECONFIG[cairo] = "-Dpycairo=enabled,-Dpycairo=disabled, cairo python3-pycairo, python3-pycairo" | ||
| 38 | PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false," | ||
| 39 | |||
| 40 | BBCLASSEXTEND = "native" | ||
| 41 | PACKAGECONFIG:class-native = "" | ||
diff --git a/meta/recipes-devtools/python/python3-pyopenssl_25.1.0.bb b/meta/recipes-devtools/python/python3-pyopenssl_25.1.0.bb deleted file mode 100644 index c1f571c552..0000000000 --- a/meta/recipes-devtools/python/python3-pyopenssl_25.1.0.bb +++ /dev/null | |||
| @@ -1,21 +0,0 @@ | |||
| 1 | SUMMARY = "Simple Python wrapper around the OpenSSL library" | ||
| 2 | HOMEPAGE = "https://pyopenssl.org/" | ||
| 3 | LICENSE = "Apache-2.0" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" | ||
| 5 | |||
| 6 | DEPENDS += "openssl python3-cryptography" | ||
| 7 | |||
| 8 | SRC_URI[sha256sum] = "8d031884482e0c67ee92bf9a4d8cceb08d92aba7136432ffb0703c5280fc205b" | ||
| 9 | |||
| 10 | inherit pypi setuptools3 | ||
| 11 | |||
| 12 | PACKAGES =+ "${PN}-tests" | ||
| 13 | FILES:${PN}-tests = "${libdir}/${PYTHON_DIR}/site-packages/OpenSSL/test" | ||
| 14 | |||
| 15 | RDEPENDS:${PN}:class-target = " \ | ||
| 16 | python3-cryptography \ | ||
| 17 | python3-threading \ | ||
| 18 | " | ||
| 19 | RDEPENDS:${PN}-tests = "${PN}" | ||
| 20 | |||
| 21 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-pyparsing_3.2.4.bb b/meta/recipes-devtools/python/python3-pyparsing_3.2.4.bb deleted file mode 100644 index 46556e6fb8..0000000000 --- a/meta/recipes-devtools/python/python3-pyparsing_3.2.4.bb +++ /dev/null | |||
| @@ -1,28 +0,0 @@ | |||
| 1 | SUMMARY = "Python parsing module" | ||
| 2 | DESCRIPTION = "The pyparsing module is an alternative approach to creating \ | ||
| 3 | and executing simple grammars, vs. the traditional lex/yacc approach, or \ | ||
| 4 | the use of regular expressions. The pyparsing module provides a library of \ | ||
| 5 | classes that client code uses to construct the grammar directly in Python \ | ||
| 6 | code." | ||
| 7 | HOMEPAGE = "https://github.com/pyparsing/pyparsing/" | ||
| 8 | BUGTRACKER = "https://github.com/pyparsing/pyparsing/issues" | ||
| 9 | |||
| 10 | LICENSE = "MIT" | ||
| 11 | LIC_FILES_CHKSUM = "file://LICENSE;md5=657a566233888513e1f07ba13e2f47f1" | ||
| 12 | |||
| 13 | SRC_URI[sha256sum] = "fff89494f45559d0f2ce46613b419f632bbb6afbdaed49696d322bcf98a58e99" | ||
| 14 | |||
| 15 | inherit pypi python_flit_core | ||
| 16 | |||
| 17 | RDEPENDS:${PN} += " \ | ||
| 18 | python3-datetime \ | ||
| 19 | python3-debugger \ | ||
| 20 | python3-html \ | ||
| 21 | python3-json \ | ||
| 22 | python3-netclient \ | ||
| 23 | python3-pprint \ | ||
| 24 | python3-stringold \ | ||
| 25 | python3-threading \ | ||
| 26 | " | ||
| 27 | |||
| 28 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-pyproject-hooks_1.2.0.bb b/meta/recipes-devtools/python/python3-pyproject-hooks_1.2.0.bb deleted file mode 100644 index c68760e293..0000000000 --- a/meta/recipes-devtools/python/python3-pyproject-hooks_1.2.0.bb +++ /dev/null | |||
| @@ -1,25 +0,0 @@ | |||
| 1 | SUMMARY = "A low-level library for calling build-backends in pyproject.toml-based projects" | ||
| 2 | HOMEPAGE = "https://github.com/pypa/pyproject-hooks" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=aad69c93f605003e3342b174d9b0708c" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8" | ||
| 7 | |||
| 8 | inherit pypi python_flit_core | ||
| 9 | |||
| 10 | PYPI_PACKAGE = "pyproject_hooks" | ||
| 11 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 12 | |||
| 13 | BBCLASSEXTEND = "native nativesdk" | ||
| 14 | |||
| 15 | # Bootstrap the native build | ||
| 16 | DEPENDS:remove:class-native = "python3-build-native" | ||
| 17 | |||
| 18 | RDEPENDS:${PN} += " \ | ||
| 19 | python3-io \ | ||
| 20 | python3-json \ | ||
| 21 | " | ||
| 22 | |||
| 23 | do_compile:class-native () { | ||
| 24 | python_flit_core_do_manual_build | ||
| 25 | } | ||
diff --git a/meta/recipes-devtools/python/python3-pyproject-metadata_0.9.1.bb b/meta/recipes-devtools/python/python3-pyproject-metadata_0.9.1.bb deleted file mode 100644 index d3a93efa31..0000000000 --- a/meta/recipes-devtools/python/python3-pyproject-metadata_0.9.1.bb +++ /dev/null | |||
| @@ -1,28 +0,0 @@ | |||
| 1 | SUMMARY = "PEP 621 metadata parsing" | ||
| 2 | DESCRIPTION = "Dataclass for PEP 621 metadata with support for core \ | ||
| 3 | metadata generation \ | ||
| 4 | \ | ||
| 5 | This project does not implement the parsing of pyproject.toml containing \ | ||
| 6 | PEP 621 metadata.\ | ||
| 7 | \ | ||
| 8 | Instead, given a Python data structure representing PEP 621 metadata \ | ||
| 9 | (already parsed), it will validate this input and generate a \ | ||
| 10 | PEP 643-compliant metadata file (e.g. PKG-INFO)." | ||
| 11 | HOMEPAGE = "https://github.com/FFY00/python-pyproject-metadata" | ||
| 12 | LICENSE = "MIT" | ||
| 13 | LIC_FILES_CHKSUM = "file://LICENSE;md5=310439af287b0fb4780b2ad6907c256c" | ||
| 14 | |||
| 15 | PYPI_PACKAGE = "pyproject_metadata" | ||
| 16 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 17 | |||
| 18 | inherit pypi python_flit_core | ||
| 19 | |||
| 20 | SRC_URI[sha256sum] = "b8b2253dd1b7062b78cf949a115f02ba7fa4114aabe63fa10528e9e1a954a816" | ||
| 21 | |||
| 22 | RDEPENDS:${PN} += " \ | ||
| 23 | python3-logging \ | ||
| 24 | python3-packaging \ | ||
| 25 | python3-profile \ | ||
| 26 | " | ||
| 27 | |||
| 28 | 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 deleted file mode 100644 index 7de70942a9..0000000000 --- a/meta/recipes-devtools/python/python3-pyrsistent_0.20.0.bb +++ /dev/null | |||
| @@ -1,14 +0,0 @@ | |||
| 1 | SUMMARY = "Persistent/Immutable/Functional data structures for Python" | ||
| 2 | HOMEPAGE = "https://github.com/tobgu/pyrsistent" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.mit;md5=f798dc4222a29fea881fa998cdf4a8c8" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "4c48f78f62ab596c679086084d0dd13254ae4f3d6c72a83ffdf5ebdef8f265a4" | ||
| 7 | |||
| 8 | inherit pypi python_setuptools_build_meta | ||
| 9 | |||
| 10 | RDEPENDS:${PN} += " \ | ||
| 11 | python3-numbers \ | ||
| 12 | " | ||
| 13 | |||
| 14 | 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 deleted file mode 100644 index dbf0fb0ee6..0000000000 --- a/meta/recipes-devtools/python/python3-pysocks_1.7.1.bb +++ /dev/null | |||
| @@ -1,21 +0,0 @@ | |||
| 1 | SUMMARY = "A Python SOCKS client module" | ||
| 2 | HOMEPAGE = "http://python-requests.org" | ||
| 3 | LICENSE = "BSD-3-Clause" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=1d457bcffb9661b45f799d4efee72f16" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0" | ||
| 7 | |||
| 8 | PYPI_PACKAGE = "PySocks" | ||
| 9 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 10 | |||
| 11 | inherit pypi setuptools3 | ||
| 12 | |||
| 13 | RDEPENDS:${PN}:class-target += "\ | ||
| 14 | python3-email \ | ||
| 15 | python3-io \ | ||
| 16 | python3-logging \ | ||
| 17 | python3-netclient \ | ||
| 18 | python3-shell \ | ||
| 19 | " | ||
| 20 | |||
| 21 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-pytest-subtests_0.14.2.bb b/meta/recipes-devtools/python/python3-pytest-subtests_0.14.2.bb deleted file mode 100644 index 58212bfb1c..0000000000 --- a/meta/recipes-devtools/python/python3-pytest-subtests_0.14.2.bb +++ /dev/null | |||
| @@ -1,24 +0,0 @@ | |||
| 1 | SUMMARY = "unittest subTest() support and subtests fixture." | ||
| 2 | DESCRIPTION = "Adds support for TestCase.subTest.\ | ||
| 3 | New subtests fixture, providing similar functionality for pure pytest tests." | ||
| 4 | HOMEPAGE = "https://github.com/pytest-dev/pytest-subtests" | ||
| 5 | BUGTRACKER = "https://github.com/pytest-dev/pytest-subtests/issues" | ||
| 6 | |||
| 7 | LICENSE = "MIT" | ||
| 8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=242b4e17fa287dcf7aef372f6bc3dcb1" | ||
| 9 | |||
| 10 | SRC_URI[sha256sum] = "7154a8665fd528ee70a76d00216a44d139dc3c9c83521a0f779f7b0ad4f800de" | ||
| 11 | |||
| 12 | PYPI_PACKAGE = "pytest_subtests" | ||
| 13 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 14 | |||
| 15 | inherit pypi python_setuptools_build_meta | ||
| 16 | |||
| 17 | DEPENDS += "python3-setuptools-scm-native" | ||
| 18 | |||
| 19 | RDEPENDS:${PN} += " \ | ||
| 20 | python3-attrs \ | ||
| 21 | python3-pytest \ | ||
| 22 | " | ||
| 23 | |||
| 24 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-pytest_8.4.2.bb b/meta/recipes-devtools/python/python3-pytest_8.4.2.bb deleted file mode 100644 index d85033cd1f..0000000000 --- a/meta/recipes-devtools/python/python3-pytest_8.4.2.bb +++ /dev/null | |||
| @@ -1,35 +0,0 @@ | |||
| 1 | SUMMARY = "Simple powerful testing with python" | ||
| 2 | HOMEPAGE = "https://pypi.org/project/pytest/" | ||
| 3 | DESCRIPTION = "The pytest framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries." | ||
| 4 | |||
| 5 | LICENSE = "MIT" | ||
| 6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=bd27e41b6550fe0fc45356d1d81ee37c" | ||
| 7 | |||
| 8 | SRC_URI[sha256sum] = "86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01" | ||
| 9 | |||
| 10 | DEPENDS += "python3-setuptools-scm-native" | ||
| 11 | |||
| 12 | inherit update-alternatives pypi python_setuptools_build_meta | ||
| 13 | |||
| 14 | RDEPENDS:${PN} += " \ | ||
| 15 | python3-colorama \ | ||
| 16 | python3-debugger \ | ||
| 17 | python3-doctest \ | ||
| 18 | python3-iniconfig \ | ||
| 19 | python3-json \ | ||
| 20 | python3-packaging \ | ||
| 21 | python3-pluggy \ | ||
| 22 | python3-pygments \ | ||
| 23 | python3-tomllib \ | ||
| 24 | python3-xml \ | ||
| 25 | " | ||
| 26 | |||
| 27 | ALTERNATIVE:${PN} += "py.test pytest" | ||
| 28 | |||
| 29 | NATIVE_LINK_NAME[pytest] = "${bindir}/pytest" | ||
| 30 | ALTERNATIVE_TARGET[pytest] = "${bindir}/pytest" | ||
| 31 | |||
| 32 | ALTERNATIVE_LINK_NAME[py.test] = "${bindir}/py.test" | ||
| 33 | ALTERNATIVE_TARGET[py.test] = "${bindir}/py.test" | ||
| 34 | |||
| 35 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-pytz_2025.2.bb b/meta/recipes-devtools/python/python3-pytz_2025.2.bb deleted file mode 100644 index 86bfceadc8..0000000000 --- a/meta/recipes-devtools/python/python3-pytz_2025.2.bb +++ /dev/null | |||
| @@ -1,30 +0,0 @@ | |||
| 1 | SUMMARY = "World timezone definitions, modern and historical" | ||
| 2 | HOMEPAGE = "http://pythonhosted.org/pytz" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=1a67fc46c1b596cce5d21209bbe75999" | ||
| 5 | |||
| 6 | inherit pypi setuptools3 ptest-python-pytest | ||
| 7 | |||
| 8 | PTEST_PYTEST_DIR = "pytz/tests" | ||
| 9 | |||
| 10 | SRC_URI[sha256sum] = "360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3" | ||
| 11 | |||
| 12 | RDEPENDS:${PN}:class-target += "\ | ||
| 13 | python3-datetime \ | ||
| 14 | python3-doctest \ | ||
| 15 | python3-io \ | ||
| 16 | python3-pickle \ | ||
| 17 | python3-pprint \ | ||
| 18 | python3-threading \ | ||
| 19 | " | ||
| 20 | |||
| 21 | BBCLASSEXTEND = "native nativesdk" | ||
| 22 | |||
| 23 | RDEPENDS:${PN}-ptest += " \ | ||
| 24 | python3-pytest \ | ||
| 25 | python3-unittest-automake-output \ | ||
| 26 | " | ||
| 27 | |||
| 28 | do_install_ptest:append() { | ||
| 29 | cp -f ${S}/README.rst ${D}${PTEST_PATH}/ | ||
| 30 | } | ||
diff --git a/meta/recipes-devtools/python/python3-pyyaml_6.0.2.bb b/meta/recipes-devtools/python/python3-pyyaml_6.0.2.bb deleted file mode 100644 index 7ebe3f7d9f..0000000000 --- a/meta/recipes-devtools/python/python3-pyyaml_6.0.2.bb +++ /dev/null | |||
| @@ -1,24 +0,0 @@ | |||
| 1 | SUMMARY = "Python support for YAML" | ||
| 2 | HOMEPAGE = "https://pyyaml.org/" | ||
| 3 | |||
| 4 | LICENSE = "MIT" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=6d8242660a8371add5fe547adf083079" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e" | ||
| 8 | |||
| 9 | SRC_URI += "\ | ||
| 10 | https://raw.githubusercontent.com/yaml/pyyaml/a98fd6088e81d7aca571220c966bbfe2ac43c335/tests/test_dump_load.py;name=test \ | ||
| 11 | " | ||
| 12 | SRC_URI[test.sha256sum] = "b6a8a2825d89fdc8aee226560f66b8196e872012a0ea7118cbef1a832359434a" | ||
| 13 | |||
| 14 | inherit pypi python_setuptools_build_meta ptest-python-pytest cython | ||
| 15 | |||
| 16 | PACKAGECONFIG ?= "libyaml" | ||
| 17 | PACKAGECONFIG[libyaml] = "--with-libyaml,--without-libyaml,libyaml" | ||
| 18 | |||
| 19 | RDEPENDS:${PN} += "\ | ||
| 20 | python3-datetime \ | ||
| 21 | python3-netclient \ | ||
| 22 | " | ||
| 23 | |||
| 24 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-rdflib_7.1.4.bb b/meta/recipes-devtools/python/python3-rdflib_7.1.4.bb deleted file mode 100644 index 01841cda4f..0000000000 --- a/meta/recipes-devtools/python/python3-rdflib_7.1.4.bb +++ /dev/null | |||
| @@ -1,21 +0,0 @@ | |||
| 1 | SUMMARY = "RDFLib is a pure Python package for working with RDF" | ||
| 2 | HOMEPAGE = "https://github.com/RDFLib/rdflib" | ||
| 3 | SECTION = "devel/python" | ||
| 4 | LICENSE = "BSD-3-Clause" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=7006e973486c4700556f6d58cba0ab6c" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "fed46e24f26a788e2ab8e445f7077f00edcf95abb73bcef4b86cefa8b62dd174" | ||
| 8 | |||
| 9 | inherit pypi python_poetry_core | ||
| 10 | |||
| 11 | RDEPENDS:${PN} += " \ | ||
| 12 | python3-datetime \ | ||
| 13 | python3-pyparsing \ | ||
| 14 | python3-logging \ | ||
| 15 | python3-numbers \ | ||
| 16 | python3-xml \ | ||
| 17 | python3-compression \ | ||
| 18 | python3-core \ | ||
| 19 | " | ||
| 20 | |||
| 21 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-referencing_0.37.0.bb b/meta/recipes-devtools/python/python3-referencing_0.37.0.bb deleted file mode 100644 index a75f5f80d4..0000000000 --- a/meta/recipes-devtools/python/python3-referencing_0.37.0.bb +++ /dev/null | |||
| @@ -1,14 +0,0 @@ | |||
| 1 | SUMMARY = "An implementation-agnostic implementation of JSON reference resolution." | ||
| 2 | HOMEPAGE = "https://github.com/python-jsonschema/referencing" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=93eb9740964b59e9ba30281255b044e2" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8" | ||
| 7 | |||
| 8 | inherit pypi python_hatchling | ||
| 9 | |||
| 10 | DEPENDS += "python3-hatch-vcs-native" | ||
| 11 | |||
| 12 | RDEPENDS:${PN} += "python3-rpds-py" | ||
| 13 | |||
| 14 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-requests/environment.d-python3-requests.sh b/meta/recipes-devtools/python/python3-requests/environment.d-python3-requests.sh deleted file mode 100644 index 400972814b..0000000000 --- a/meta/recipes-devtools/python/python3-requests/environment.d-python3-requests.sh +++ /dev/null | |||
| @@ -1,11 +0,0 @@ | |||
| 1 | # Respect host env REQUESTS_CA_BUNDLE first, then auto-detected host cert, then cert in buildtools | ||
| 2 | # CAFILE/CAPATH is auto-deteced when source buildtools | ||
| 3 | if [ -z "${REQUESTS_CA_BUNDLE:-}" ]; then | ||
| 4 | if [ -n "${CAFILE:-}" ];then | ||
| 5 | export REQUESTS_CA_BUNDLE="$CAFILE" | ||
| 6 | elif [ -e "${OECORE_NATIVE_SYSROOT}/etc/ssl/certs/ca-certificates.crt" ];then | ||
| 7 | export REQUESTS_CA_BUNDLE="${OECORE_NATIVE_SYSROOT}/etc/ssl/certs/ca-certificates.crt" | ||
| 8 | fi | ||
| 9 | fi | ||
| 10 | |||
| 11 | export BB_ENV_PASSTHROUGH_ADDITIONS="${BB_ENV_PASSTHROUGH_ADDITIONS:-} REQUESTS_CA_BUNDLE" | ||
diff --git a/meta/recipes-devtools/python/python3-requests_2.32.5.bb b/meta/recipes-devtools/python/python3-requests_2.32.5.bb deleted file mode 100644 index 43b63e32b1..0000000000 --- a/meta/recipes-devtools/python/python3-requests_2.32.5.bb +++ /dev/null | |||
| @@ -1,35 +0,0 @@ | |||
| 1 | SUMMARY = "Python HTTP for Humans." | ||
| 2 | HOMEPAGE = "https://requests.readthedocs.io" | ||
| 3 | LICENSE = "Apache-2.0" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658" | ||
| 5 | |||
| 6 | SRC_URI:append:class-nativesdk = " \ | ||
| 7 | file://environment.d-python3-requests.sh \ | ||
| 8 | " | ||
| 9 | |||
| 10 | SRC_URI[sha256sum] = "dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" | ||
| 11 | |||
| 12 | inherit pypi python_setuptools_build_meta | ||
| 13 | |||
| 14 | do_install:append:class-nativesdk() { | ||
| 15 | mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d | ||
| 16 | install -m 644 ${UNPACKDIR}/environment.d-python3-requests.sh ${D}${SDKPATHNATIVE}/environment-setup.d/python3-requests.sh | ||
| 17 | } | ||
| 18 | |||
| 19 | RDEPENDS:${PN} += " \ | ||
| 20 | python3-certifi \ | ||
| 21 | python3-email \ | ||
| 22 | python3-json \ | ||
| 23 | python3-netserver \ | ||
| 24 | python3-pysocks \ | ||
| 25 | python3-urllib3 \ | ||
| 26 | python3-chardet \ | ||
| 27 | python3-idna \ | ||
| 28 | python3-compression \ | ||
| 29 | " | ||
| 30 | |||
| 31 | FILES:${PN}:append:class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/python3-requests.sh" | ||
| 32 | |||
| 33 | CVE_PRODUCT = "requests" | ||
| 34 | |||
| 35 | 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 deleted file mode 100644 index 1e60c763d8..0000000000 --- a/meta/recipes-devtools/python/python3-rfc3339-validator_0.1.4.bb +++ /dev/null | |||
| @@ -1,21 +0,0 @@ | |||
| 1 | SUMMARY = "A pure python RFC3339 validator" | ||
| 2 | HOMEPAGE = "https://github.com/naimetti/rfc3339-validator" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=a21b13b5a996f08f7e0b088aa38ce9c6" | ||
| 5 | |||
| 6 | FILESEXTRAPATHS:prepend := "${THISDIR}/python-rfc3339-validator:" | ||
| 7 | |||
| 8 | SRC_URI[sha256sum] = "138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b" | ||
| 9 | |||
| 10 | PYPI_PACKAGE = "rfc3339_validator" | ||
| 11 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 12 | |||
| 13 | inherit pypi setuptools3 | ||
| 14 | |||
| 15 | RDEPENDS:${PN} += "\ | ||
| 16 | python3-core \ | ||
| 17 | python3-datetime \ | ||
| 18 | python3-six \ | ||
| 19 | " | ||
| 20 | |||
| 21 | 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 deleted file mode 100644 index c13a765660..0000000000 --- a/meta/recipes-devtools/python/python3-rfc3987_1.3.8.bb +++ /dev/null | |||
| @@ -1,10 +0,0 @@ | |||
| 1 | SUMMARY = "Parsing and validation of URIs (RFC 3986) and IRIs (RFC 3987)" | ||
| 2 | HOMEPAGE = "https://pypi.org/project/rfc3987/" | ||
| 3 | LICENSE = "GPL-3.0-or-later" | ||
| 4 | LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=9;md5=2b723edf67b2f3088bc5e339b1ceda2d" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "d3c4d257a560d544e9826b38bc81db676890c79ab9d7ac92b39c7a253d5ca733" | ||
| 7 | |||
| 8 | inherit pypi setuptools3 | ||
| 9 | |||
| 10 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-roman-numerals-py_3.1.0.bb b/meta/recipes-devtools/python/python3-roman-numerals-py_3.1.0.bb deleted file mode 100644 index 9a76df0de2..0000000000 --- a/meta/recipes-devtools/python/python3-roman-numerals-py_3.1.0.bb +++ /dev/null | |||
| @@ -1,12 +0,0 @@ | |||
| 1 | SUMMARY = "Manipulate roman numerals" | ||
| 2 | HOMEPAGE = "https://github.com/AA-Turner/roman-numerals/" | ||
| 3 | LICENSE = "0BSD & CC0-1.0" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENCE.rst;md5=bfcc8b16e42929aafeb9d414360bc2fd" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "be4bf804f083a4ce001b5eb7e3c0862479d10f94c936f6c4e5f250aa5ff5bd2d" | ||
| 7 | PYPI_PACKAGE = "roman_numerals_py" | ||
| 8 | UPSTREAM_CHECK_PYPI_PACKAGE = "roman_numerals_py" | ||
| 9 | |||
| 10 | inherit pypi python_flit_core | ||
| 11 | |||
| 12 | 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 deleted file mode 100644 index a0b669df2d..0000000000 --- a/meta/recipes-devtools/python/python3-rpds-py-crates.inc +++ /dev/null | |||
| @@ -1,54 +0,0 @@ | |||
| 1 | # Autogenerated with 'bitbake -c update_crates python3-rpds-py' | ||
| 2 | |||
| 3 | # from Cargo.lock | ||
| 4 | SRC_URI += " \ | ||
| 5 | crate://crates.io/archery/1.2.1 \ | ||
| 6 | crate://crates.io/autocfg/1.4.0 \ | ||
| 7 | crate://crates.io/cc/1.2.25 \ | ||
| 8 | crate://crates.io/heck/0.5.0 \ | ||
| 9 | crate://crates.io/indoc/2.0.6 \ | ||
| 10 | crate://crates.io/libc/0.2.172 \ | ||
| 11 | crate://crates.io/memoffset/0.9.1 \ | ||
| 12 | crate://crates.io/once_cell/1.21.3 \ | ||
| 13 | crate://crates.io/portable-atomic/1.11.0 \ | ||
| 14 | crate://crates.io/proc-macro2/1.0.95 \ | ||
| 15 | crate://crates.io/pyo3/0.25.1 \ | ||
| 16 | crate://crates.io/pyo3-build-config/0.25.1 \ | ||
| 17 | crate://crates.io/pyo3-ffi/0.25.1 \ | ||
| 18 | crate://crates.io/pyo3-macros/0.25.1 \ | ||
| 19 | crate://crates.io/pyo3-macros-backend/0.25.1 \ | ||
| 20 | crate://crates.io/python3-dll-a/0.2.14 \ | ||
| 21 | crate://crates.io/quote/1.0.40 \ | ||
| 22 | crate://crates.io/rpds/1.1.1 \ | ||
| 23 | crate://crates.io/shlex/1.3.0 \ | ||
| 24 | crate://crates.io/syn/2.0.101 \ | ||
| 25 | crate://crates.io/target-lexicon/0.13.2 \ | ||
| 26 | crate://crates.io/triomphe/0.1.14 \ | ||
| 27 | crate://crates.io/unicode-ident/1.0.18 \ | ||
| 28 | crate://crates.io/unindent/0.2.4 \ | ||
| 29 | " | ||
| 30 | |||
| 31 | SRC_URI[archery-1.2.1.sha256sum] = "eae2ed21cd55021f05707a807a5fc85695dafb98832921f6cfa06db67ca5b869" | ||
| 32 | SRC_URI[autocfg-1.4.0.sha256sum] = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" | ||
| 33 | SRC_URI[cc-1.2.25.sha256sum] = "d0fc897dc1e865cc67c0e05a836d9d3f1df3cbe442aa4a9473b18e12624a4951" | ||
| 34 | SRC_URI[heck-0.5.0.sha256sum] = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" | ||
| 35 | SRC_URI[indoc-2.0.6.sha256sum] = "f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd" | ||
| 36 | SRC_URI[libc-0.2.172.sha256sum] = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" | ||
| 37 | SRC_URI[memoffset-0.9.1.sha256sum] = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" | ||
| 38 | SRC_URI[once_cell-1.21.3.sha256sum] = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" | ||
| 39 | SRC_URI[portable-atomic-1.11.0.sha256sum] = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" | ||
| 40 | SRC_URI[proc-macro2-1.0.95.sha256sum] = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" | ||
| 41 | SRC_URI[pyo3-0.25.1.sha256sum] = "8970a78afe0628a3e3430376fc5fd76b6b45c4d43360ffd6cdd40bdde72b682a" | ||
| 42 | SRC_URI[pyo3-build-config-0.25.1.sha256sum] = "458eb0c55e7ece017adeba38f2248ff3ac615e53660d7c71a238d7d2a01c7598" | ||
| 43 | SRC_URI[pyo3-ffi-0.25.1.sha256sum] = "7114fe5457c61b276ab77c5055f206295b812608083644a5c5b2640c3102565c" | ||
| 44 | SRC_URI[pyo3-macros-0.25.1.sha256sum] = "a8725c0a622b374d6cb051d11a0983786448f7785336139c3c94f5aa6bef7e50" | ||
| 45 | SRC_URI[pyo3-macros-backend-0.25.1.sha256sum] = "4109984c22491085343c05b0dbc54ddc405c3cf7b4374fc533f5c3313a572ccc" | ||
| 46 | SRC_URI[python3-dll-a-0.2.14.sha256sum] = "d381ef313ae70b4da5f95f8a4de773c6aa5cd28f73adec4b4a31df70b66780d8" | ||
| 47 | SRC_URI[quote-1.0.40.sha256sum] = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" | ||
| 48 | SRC_URI[rpds-1.1.1.sha256sum] = "a7f89f654d51fffdd6026289d07d1fd523244d46ae0a8bc22caa6dd7f9e8cb0b" | ||
| 49 | SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" | ||
| 50 | SRC_URI[syn-2.0.101.sha256sum] = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" | ||
| 51 | SRC_URI[target-lexicon-0.13.2.sha256sum] = "e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a" | ||
| 52 | SRC_URI[triomphe-0.1.14.sha256sum] = "ef8f7726da4807b58ea5c96fdc122f80702030edc33b35aff9190a51148ccc85" | ||
| 53 | SRC_URI[unicode-ident-1.0.18.sha256sum] = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" | ||
| 54 | SRC_URI[unindent-0.2.4.sha256sum] = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3" | ||
diff --git a/meta/recipes-devtools/python/python3-rpds-py_0.27.1.bb b/meta/recipes-devtools/python/python3-rpds-py_0.27.1.bb deleted file mode 100644 index dfaffb6546..0000000000 --- a/meta/recipes-devtools/python/python3-rpds-py_0.27.1.bb +++ /dev/null | |||
| @@ -1,22 +0,0 @@ | |||
| 1 | SUMMARY = "Python bindings to the Rust rpds crate for persistent data structures." | ||
| 2 | HOMEPAGE = "https://pypi.org/project/rpds-py/" | ||
| 3 | |||
| 4 | LICENSE = "MIT" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=7767fa537c4596c54141f32882c4a984" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "26a1c73171d10b7acccbded82bf6a586ab8203601e565badc74bbbf8bc5a10f8" | ||
| 8 | |||
| 9 | require ${BPN}-crates.inc | ||
| 10 | |||
| 11 | inherit pypi cargo-update-recipe-crates python_maturin ptest-python-pytest | ||
| 12 | |||
| 13 | PYPI_PACKAGE = "rpds_py" | ||
| 14 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 15 | |||
| 16 | RDEPENDS:${PN}-ptest += " \ | ||
| 17 | python3-iniconfig \ | ||
| 18 | python3-packaging \ | ||
| 19 | python3-pluggy \ | ||
| 20 | " | ||
| 21 | |||
| 22 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-ruamel-yaml_0.18.15.bb b/meta/recipes-devtools/python/python3-ruamel-yaml_0.18.15.bb deleted file mode 100644 index f14d043f56..0000000000 --- a/meta/recipes-devtools/python/python3-ruamel-yaml_0.18.15.bb +++ /dev/null | |||
| @@ -1,20 +0,0 @@ | |||
| 1 | SUMMARY = "YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order." | ||
| 2 | HOMEPAGE = "https://pypi.org/project/ruamel.yaml/" | ||
| 3 | |||
| 4 | LICENSE = "MIT" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=5cc5d45e8a30c81dade6ca1928caa515" | ||
| 6 | |||
| 7 | PYPI_PACKAGE = "ruamel.yaml" | ||
| 8 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 9 | |||
| 10 | inherit pypi python_setuptools_build_meta | ||
| 11 | |||
| 12 | SRC_URI[sha256sum] = "dbfca74b018c4c3fba0b9cc9ee33e53c371194a9000e694995e620490fd40700" | ||
| 13 | |||
| 14 | RDEPENDS:${PN} += "\ | ||
| 15 | python3-shell \ | ||
| 16 | python3-datetime \ | ||
| 17 | python3-netclient \ | ||
| 18 | " | ||
| 19 | |||
| 20 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-scons_4.9.1.bb b/meta/recipes-devtools/python/python3-scons_4.9.1.bb deleted file mode 100644 index 1eac1ce5a9..0000000000 --- a/meta/recipes-devtools/python/python3-scons_4.9.1.bb +++ /dev/null | |||
| @@ -1,29 +0,0 @@ | |||
| 1 | SUMMARY = "Software Construction tool (make/autotools replacement)" | ||
| 2 | HOMEPAGE = "https://github.com/SCons/scons" | ||
| 3 | SECTION = "devel/python" | ||
| 4 | LICENSE = "MIT" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=d903b0b8027f461402bac9b5169b36f7" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "bacac880ba2e86d6a156c116e2f8f2bfa82b257046f3ac2666c85c53c615c338" | ||
| 8 | |||
| 9 | inherit pypi python_setuptools_build_meta | ||
| 10 | |||
| 11 | S = "${UNPACKDIR}/scons-${PV}" | ||
| 12 | |||
| 13 | RDEPENDS:${PN}:class-target = "\ | ||
| 14 | python3-core \ | ||
| 15 | python3-compression \ | ||
| 16 | python3-fcntl \ | ||
| 17 | python3-io \ | ||
| 18 | python3-json \ | ||
| 19 | python3-shell \ | ||
| 20 | python3-pickle \ | ||
| 21 | python3-pkg-resources \ | ||
| 22 | python3-pprint \ | ||
| 23 | " | ||
| 24 | |||
| 25 | do_install:append:class-native() { | ||
| 26 | create_wrapper ${D}${bindir}/scons SCONS_LIB_DIR='${STAGING_DIR_HOST}/${PYTHON_SITEPACKAGES_DIR}' PYTHONNOUSERSITE='1' | ||
| 27 | } | ||
| 28 | |||
| 29 | 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 deleted file mode 100644 index 78763a911e..0000000000 --- a/meta/recipes-devtools/python/python3-semantic-version_2.10.0.bb +++ /dev/null | |||
| @@ -1,19 +0,0 @@ | |||
| 1 | SUMMARY = "A library implementing the 'SemVer' scheme." | ||
| 2 | DESCRIPTION = "Semantic version comparison for Python (see http://semver.org/)" | ||
| 3 | HOMEPAGE = "https://github.com/rbarrois/python-semanticversion" | ||
| 4 | LICENSE = "BSD-2-Clause" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=4fb31e3c1c7eeb8b5e8c07657cdd54e2" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c" | ||
| 8 | |||
| 9 | PYPI_PACKAGE = "semantic_version" | ||
| 10 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 11 | |||
| 12 | inherit pypi setuptools3 | ||
| 13 | |||
| 14 | RDEPENDS:${PN} += " \ | ||
| 15 | python3-pkg-resources \ | ||
| 16 | " | ||
| 17 | |||
| 18 | BBCLASSEXTEND = "native nativesdk" | ||
| 19 | |||
diff --git a/meta/recipes-devtools/python/python3-setuptools-rust_1.12.0.bb b/meta/recipes-devtools/python/python3-setuptools-rust_1.12.0.bb deleted file mode 100644 index 491f512706..0000000000 --- a/meta/recipes-devtools/python/python3-setuptools-rust_1.12.0.bb +++ /dev/null | |||
| @@ -1,31 +0,0 @@ | |||
| 1 | SUMMARY = "Setuptools Rust extension plugin" | ||
| 2 | DESCRIPTION = "setuptools-rust is a plugin for setuptools to build Rust \ | ||
| 3 | Python extensions implemented with PyO3 or rust-cpython.\ | ||
| 4 | \ | ||
| 5 | Compile and distribute Python extensions written in Rust as easily as if they were written in C." | ||
| 6 | HOMEPAGE = "https://github.com/PyO3/setuptools-rust" | ||
| 7 | BUGTRACKER = "https://github.com/PyO3/setuptools-rust/issues" | ||
| 8 | |||
| 9 | LICENSE = "MIT" | ||
| 10 | LIC_FILES_CHKSUM = "file://LICENSE;md5=011cd92e702dd9e6b1a26157b6fd53f5" | ||
| 11 | |||
| 12 | SRC_URI[sha256sum] = "d94a93f0c97751c17014565f07bdc324bee45d396cd1bba83d8e7af92b945f0c" | ||
| 13 | |||
| 14 | PYPI_PACKAGE = "setuptools_rust" | ||
| 15 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 16 | |||
| 17 | inherit cargo pypi python_setuptools_build_meta | ||
| 18 | |||
| 19 | DEPENDS += "python3-setuptools-scm-native python3-wheel-native" | ||
| 20 | |||
| 21 | RDEPENDS:${PN} += " \ | ||
| 22 | python3-json \ | ||
| 23 | python3-semantic-version \ | ||
| 24 | python3-setuptools \ | ||
| 25 | python3-setuptools-scm \ | ||
| 26 | python3-shell \ | ||
| 27 | python3-typing-extensions \ | ||
| 28 | python3-wheel \ | ||
| 29 | " | ||
| 30 | |||
| 31 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-setuptools-scm_8.3.1.bb b/meta/recipes-devtools/python/python3-setuptools-scm_8.3.1.bb deleted file mode 100644 index 81e04ddea5..0000000000 --- a/meta/recipes-devtools/python/python3-setuptools-scm_8.3.1.bb +++ /dev/null | |||
| @@ -1,28 +0,0 @@ | |||
| 1 | SUMMARY = "the blessed package to manage your versions by scm tags" | ||
| 2 | HOMEPAGE = "https://pypi.org/project/setuptools-scm/" | ||
| 3 | DESCRIPTION = "setuptools_scm handles managing your Python package \ | ||
| 4 | versions in SCM metadata instead of declaring them as the version \ | ||
| 5 | argument or in a SCM managed file." | ||
| 6 | LICENSE = "MIT" | ||
| 7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=838c366f69b72c5df05c96dff79b35f2" | ||
| 8 | |||
| 9 | SRC_URI[sha256sum] = "3d555e92b75dacd037d32bafdf94f97af51ea29ae8c7b234cf94b7a5bd242a63" | ||
| 10 | |||
| 11 | PYPI_PACKAGE = "setuptools_scm" | ||
| 12 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 13 | |||
| 14 | inherit pypi python_setuptools_build_meta | ||
| 15 | |||
| 16 | DEPENDS += "python3-packaging-native" | ||
| 17 | |||
| 18 | RDEPENDS:${PN} = "\ | ||
| 19 | python3-packaging \ | ||
| 20 | python3-setuptools \ | ||
| 21 | " | ||
| 22 | |||
| 23 | RDEPENDS:${PN}:append:class-target = " \ | ||
| 24 | python3-debugger \ | ||
| 25 | python3-json \ | ||
| 26 | " | ||
| 27 | |||
| 28 | 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 deleted file mode 100644 index 39153883b0..0000000000 --- a/meta/recipes-devtools/python/python3-setuptools/0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch +++ /dev/null | |||
| @@ -1,58 +0,0 @@ | |||
| 1 | From e2eab8c254f16c461de25123f6859b8a18db5cd8 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alexander Kanavin <alex@linutronix.de> | ||
| 3 | Date: Wed, 11 May 2022 21:41:14 +0200 | ||
| 4 | Subject: [PATCH] _distutils/sysconfig.py: make it possible to substite the | ||
| 5 | prefix to target sysroot | ||
| 6 | |||
| 7 | This is done by probing STAGING_INCDIR/STAGING_LIBDIRenv vars: | ||
| 8 | not the most elegant solution, but distutils/sysconfig has been | ||
| 9 | tweaked to do this for many, many year, and so it's easiest | ||
| 10 | to replicate here as well, the original is | ||
| 11 | meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch | ||
| 12 | |||
| 13 | I'm not sure exactly why setuptools now needs a copy, and what | ||
| 14 | would happen to this module in light of distutils deprecation. | ||
| 15 | |||
| 16 | Upstream-Status: Inappropriate [oe-core specific] | ||
| 17 | Signed-off-by: Alexander Kanavin <alex@linutronix.de> | ||
| 18 | --- | ||
| 19 | setuptools/_distutils/sysconfig.py | 12 ++++++++++-- | ||
| 20 | 1 file changed, 10 insertions(+), 2 deletions(-) | ||
| 21 | |||
| 22 | diff --git a/setuptools/_distutils/sysconfig.py b/setuptools/_distutils/sysconfig.py | ||
| 23 | index 7ddc869..01a06af 100644 | ||
| 24 | --- a/setuptools/_distutils/sysconfig.py | ||
| 25 | +++ b/setuptools/_distutils/sysconfig.py | ||
| 26 | @@ -134,6 +134,8 @@ def get_python_inc(plat_specific: bool = False, prefix: str | None = None) -> st | ||
| 27 | sys.base_exec_prefix -- i.e., ignore 'plat_specific'. | ||
| 28 | """ | ||
| 29 | default_prefix = BASE_EXEC_PREFIX if plat_specific else BASE_PREFIX | ||
| 30 | + if os.environ.get('STAGING_INCDIR', ""): | ||
| 31 | + default_prefix = os.environ['STAGING_INCDIR'].rstrip('include') | ||
| 32 | resolved_prefix = prefix if prefix is not None else default_prefix | ||
| 33 | # MinGW imitates posix like layout, but os.name != posix | ||
| 34 | os_name = "posix" if is_mingw() else os.name | ||
| 35 | @@ -246,7 +248,13 @@ def get_python_lib( | ||
| 36 | |||
| 37 | early_prefix = prefix | ||
| 38 | |||
| 39 | - if prefix is None: | ||
| 40 | + if os.environ.get('STAGING_LIBDIR', ""): | ||
| 41 | + lib_basename = os.environ['STAGING_LIBDIR'].split('/')[-1] | ||
| 42 | + else: | ||
| 43 | + lib_basename = "lib" | ||
| 44 | + if prefix is None and os.environ.get('STAGING_LIBDIR', ""): | ||
| 45 | + prefix = os.environ['STAGING_LIBDIR'].rstrip(lib_basename) | ||
| 46 | + elif prefix is None: | ||
| 47 | if standard_lib: | ||
| 48 | prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX | ||
| 49 | else: | ||
| 50 | @@ -261,7 +269,7 @@ def get_python_lib( | ||
| 51 | # Pure Python | ||
| 52 | libdir = "lib" | ||
| 53 | implementation = 'pypy' if IS_PYPY else 'python' | ||
| 54 | - libpython = os.path.join(prefix, libdir, implementation + get_python_version()) | ||
| 55 | + libpython = os.path.join(prefix, lib_basename, implementation + get_python_version()) | ||
| 56 | return _posix_lib(standard_lib, libpython, early_prefix, prefix) | ||
| 57 | elif os.name == "nt": | ||
| 58 | if standard_lib: | ||
diff --git a/meta/recipes-devtools/python/python3-setuptools_80.9.0.bb b/meta/recipes-devtools/python/python3-setuptools_80.9.0.bb deleted file mode 100644 index 533d8ce3d4..0000000000 --- a/meta/recipes-devtools/python/python3-setuptools_80.9.0.bb +++ /dev/null | |||
| @@ -1,55 +0,0 @@ | |||
| 1 | SUMMARY = "Download, build, install, upgrade, and uninstall Python packages" | ||
| 2 | HOMEPAGE = "https://pypi.org/project/setuptools" | ||
| 3 | SECTION = "devel/python" | ||
| 4 | LICENSE = "MIT" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=141643e11c48898150daa83802dbc65f" | ||
| 6 | |||
| 7 | inherit pypi python_setuptools_build_meta | ||
| 8 | |||
| 9 | CVE_PRODUCT = "python3-setuptools python:setuptools" | ||
| 10 | |||
| 11 | SRC_URI += " \ | ||
| 12 | file://0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch" | ||
| 13 | |||
| 14 | SRC_URI[sha256sum] = "f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c" | ||
| 15 | |||
| 16 | DEPENDS += "python3" | ||
| 17 | |||
| 18 | RDEPENDS:${PN} = "\ | ||
| 19 | python3-compile \ | ||
| 20 | python3-compression \ | ||
| 21 | python3-ctypes \ | ||
| 22 | python3-email \ | ||
| 23 | python3-html \ | ||
| 24 | python3-json \ | ||
| 25 | python3-netserver \ | ||
| 26 | python3-numbers \ | ||
| 27 | python3-pickle \ | ||
| 28 | python3-pkg-resources \ | ||
| 29 | python3-pkgutil \ | ||
| 30 | python3-plistlib \ | ||
| 31 | python3-shell \ | ||
| 32 | python3-stringold \ | ||
| 33 | python3-threading \ | ||
| 34 | python3-unittest \ | ||
| 35 | python3-unixadmin \ | ||
| 36 | python3-xml \ | ||
| 37 | " | ||
| 38 | |||
| 39 | BBCLASSEXTEND = "native nativesdk" | ||
| 40 | |||
| 41 | # The pkg-resources module can be used by itself, without the package downloader | ||
| 42 | # and easy_install. Ship it in a separate package so that it can be used by | ||
| 43 | # minimal distributions. | ||
| 44 | PACKAGES =+ "python3-pkg-resources " | ||
| 45 | FILES:python3-pkg-resources = "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*" | ||
| 46 | RDEPENDS:python3-pkg-resources = "\ | ||
| 47 | python3-compression \ | ||
| 48 | python3-email \ | ||
| 49 | python3-plistlib \ | ||
| 50 | python3-pprint \ | ||
| 51 | " | ||
| 52 | |||
| 53 | # This used to use the bootstrap install which didn't compile. Until we bump the | ||
| 54 | # tmpdir version we can't compile the native otherwise the sysroot unpack fails | ||
| 55 | INSTALL_WHEEL_COMPILE_BYTECODE:class-native = "--no-compile-bytecode" | ||
diff --git a/meta/recipes-devtools/python/python3-six_1.17.0.bb b/meta/recipes-devtools/python/python3-six_1.17.0.bb deleted file mode 100644 index 693f1818d3..0000000000 --- a/meta/recipes-devtools/python/python3-six_1.17.0.bb +++ /dev/null | |||
| @@ -1,4 +0,0 @@ | |||
| 1 | inherit setuptools3 | ||
| 2 | require python-six.inc | ||
| 3 | |||
| 4 | SRC_URI[sha256sum] = "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" | ||
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 deleted file mode 100644 index 63bd523cb7..0000000000 --- a/meta/recipes-devtools/python/python3-smartypants/0001-Change-hash-bang-to-python3.patch +++ /dev/null | |||
| @@ -1,53 +0,0 @@ | |||
| 1 | From 7425e49166e6f16743ec9528697d06bc4103dc5e Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Tim Orling <tim.orling@konsulko.com> | ||
| 3 | Date: Sun, 20 Feb 2022 18:55:50 -0800 | ||
| 4 | Subject: [PATCH] Change hash bang to python3 | ||
| 5 | |||
| 6 | In setup.py, smartypants and smartypants.py set hash bang to python3. | ||
| 7 | |||
| 8 | Upstream-Status: Inappropriate [oe-core specific] | ||
| 9 | |||
| 10 | Signed-off-by: Tim Orling <tim.orling@konsulko.com> | ||
| 11 | |||
| 12 | Update to apply on v2.0.2. | ||
| 13 | |||
| 14 | Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> | ||
| 15 | --- | ||
| 16 | setup.py | 2 +- | ||
| 17 | smartypants | 2 +- | ||
| 18 | smartypants.py | 2 +- | ||
| 19 | 3 files changed, 3 insertions(+), 3 deletions(-) | ||
| 20 | |||
| 21 | diff --git a/setup.py b/setup.py | ||
| 22 | index c183fc0..e10d757 100755 | ||
| 23 | --- a/setup.py | ||
| 24 | +++ b/setup.py | ||
| 25 | @@ -1,4 +1,4 @@ | ||
| 26 | -#!/usr/bin/env python | ||
| 27 | +#!/usr/bin/env python3 | ||
| 28 | # Copyright (c) 2025–present Justin Mayer | ||
| 29 | # For detail license information, See COPYING | ||
| 30 | |||
| 31 | diff --git a/smartypants b/smartypants | ||
| 32 | index 1dabf7d..20c130e 100755 | ||
| 33 | --- a/smartypants | ||
| 34 | +++ b/smartypants | ||
| 35 | @@ -1,4 +1,4 @@ | ||
| 36 | -#!/usr/bin/env python | ||
| 37 | +#!/usr/bin/env python3 | ||
| 38 | # Copyright (c) 2025–present Justin Mayer | ||
| 39 | # Licensed under the BSD License, for detailed license information, see COPYING | ||
| 40 | |||
| 41 | diff --git a/smartypants.py b/smartypants.py | ||
| 42 | index 62c1472..a440d14 100755 | ||
| 43 | --- a/smartypants.py | ||
| 44 | +++ b/smartypants.py | ||
| 45 | @@ -1,4 +1,4 @@ | ||
| 46 | -#!/usr/bin/python | ||
| 47 | +#!/usr/bin/python3 | ||
| 48 | # Copyright (c) 2025–present Justin Mayer | ||
| 49 | # Copyright (c) 2017 Leo Hemsted | ||
| 50 | # Copyright (c) 2013, 2014, 2016 Yu-Jie Lin | ||
| 51 | -- | ||
| 52 | 2.49.0 | ||
| 53 | |||
diff --git a/meta/recipes-devtools/python/python3-smartypants_2.0.2.bb b/meta/recipes-devtools/python/python3-smartypants_2.0.2.bb deleted file mode 100644 index a439f8a880..0000000000 --- a/meta/recipes-devtools/python/python3-smartypants_2.0.2.bb +++ /dev/null | |||
| @@ -1,12 +0,0 @@ | |||
| 1 | SUMMARY = "Translator of plain ASCII punctuation characters into 'smart' typographic punctuation HTML entities" | ||
| 2 | HOMEPAGE = "https://pythonhosted.org/smartypants/" | ||
| 3 | LICENSE = "BSD-3-Clause" | ||
| 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=ca325788d94ee694fef2a308c5073454" | ||
| 5 | |||
| 6 | inherit pypi setuptools3 | ||
| 7 | |||
| 8 | PYPI_PACKAGE = "smartypants" | ||
| 9 | SRC_URI += "file://0001-Change-hash-bang-to-python3.patch" | ||
| 10 | SRC_URI[sha256sum] = "39d64ce1d7cc6964b698297bdf391bc12c3251b7f608e6e55d857cd7c5f800c6" | ||
| 11 | |||
| 12 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-smmap_6.0.0.bb b/meta/recipes-devtools/python/python3-smmap_6.0.0.bb deleted file mode 100644 index 6abed1205f..0000000000 --- a/meta/recipes-devtools/python/python3-smmap_6.0.0.bb +++ /dev/null | |||
| @@ -1,19 +0,0 @@ | |||
| 1 | SUMMARY = "Python implementation of a sliding window memory map manager" | ||
| 2 | DESCRIPTION = "A pure Python implementation of a sliding memory map to \ | ||
| 3 | help unifying memory mapped access on 32 and 64 bit systems and to help \ | ||
| 4 | managing resources more efficiently." | ||
| 5 | HOMEPAGE = "http://github.com/gitpython-developers/GitPython" | ||
| 6 | SECTION = "devel/python" | ||
| 7 | LICENSE = "BSD-3-Clause" | ||
| 8 | LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e910b35b0ef4e1f665b9a75d6afb7709" | ||
| 9 | |||
| 10 | inherit pypi setuptools3 | ||
| 11 | |||
| 12 | PYPI_PACKAGE = "smmap" | ||
| 13 | |||
| 14 | SRC_URI[sha256sum] = "8d79028ea6cc131da5eab099a5d95a998d43c6779956fffe3b455040911076da" | ||
| 15 | |||
| 16 | RDEPENDS:${PN} += "python3-codecs \ | ||
| 17 | python3-mmap \ | ||
| 18 | " | ||
| 19 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-snowballstemmer_3.0.1.bb b/meta/recipes-devtools/python/python3-snowballstemmer_3.0.1.bb deleted file mode 100644 index 37cfbce7dc..0000000000 --- a/meta/recipes-devtools/python/python3-snowballstemmer_3.0.1.bb +++ /dev/null | |||
| @@ -1,13 +0,0 @@ | |||
| 1 | SUMMARY = "Snowball compiler and stemming algorithms" | ||
| 2 | HOMEPAGE = "https://github.com/snowballstem/snowball" | ||
| 3 | |||
| 4 | LICENSE = "BSD-3-Clause" | ||
| 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=19139aaf3c8c8fa1ca6edd59c072fb9f" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "6d5eeeec8e9f84d4d56b847692bacf79bc2c8e90c7f80ca4444ff8b6f2e52895" | ||
| 8 | |||
| 9 | PYPI_PACKAGE = "snowballstemmer" | ||
| 10 | |||
| 11 | inherit pypi python_setuptools_build_meta | ||
| 12 | |||
| 13 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-sortedcontainers_2.4.0.bb b/meta/recipes-devtools/python/python3-sortedcontainers_2.4.0.bb deleted file mode 100644 index 0755d3e177..0000000000 --- a/meta/recipes-devtools/python/python3-sortedcontainers_2.4.0.bb +++ /dev/null | |||
| @@ -1,9 +0,0 @@ | |||
| 1 | SUMMARY = "Sorted Containers is an Apache2 licensed sorted collections library, written in pure-Python, and fast as C-extensions." | ||
| 2 | HOMEPAGE = "http://www.grantjenks.com/docs/sortedcontainers/" | ||
| 3 | LICENSE = "Apache-2.0" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=7c7c6a1a12ec816da16c1839137d53ae" | ||
| 5 | |||
| 6 | inherit pypi setuptools3 | ||
| 7 | SRC_URI[sha256sum] = "25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88" | ||
| 8 | |||
| 9 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-spdx-tools_0.8.3.bb b/meta/recipes-devtools/python/python3-spdx-tools_0.8.3.bb deleted file mode 100644 index 0f05679322..0000000000 --- a/meta/recipes-devtools/python/python3-spdx-tools_0.8.3.bb +++ /dev/null | |||
| @@ -1,30 +0,0 @@ | |||
| 1 | SUMMARY = "Python tool to parse, validate and convert spdx files" | ||
| 2 | HOMEPAGE = "https://github.com/spdx/tools-python" | ||
| 3 | |||
| 4 | LICENSE = "Apache-2.0" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=dc7f21ccff0f672f2a7cd6f412ae627d" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "68b8f9ce2893b5216bd90b2e63f1c821c2884e4ebc4fd295ebbf1fa8b8a94b93" | ||
| 8 | |||
| 9 | BBCLASSEXTEND = "native nativesdk" | ||
| 10 | |||
| 11 | inherit pypi python_setuptools_build_meta | ||
| 12 | |||
| 13 | DEPENDS += "python3-setuptools-scm-native" | ||
| 14 | |||
| 15 | # Dependency required for pyspdxtools : python3-click | ||
| 16 | # Dependencies required for conversion to spdx3 : python3-semantic-version, python3-ply | ||
| 17 | RDEPENDS:${PN} += "\ | ||
| 18 | python3-core \ | ||
| 19 | python3-beartype \ | ||
| 20 | python3-click \ | ||
| 21 | python3-datetime \ | ||
| 22 | python3-json \ | ||
| 23 | python3-license-expression \ | ||
| 24 | python3-ply \ | ||
| 25 | python3-pyyaml \ | ||
| 26 | python3-rdflib \ | ||
| 27 | python3-semantic-version \ | ||
| 28 | python3-uritools \ | ||
| 29 | python3-xmltodict \ | ||
| 30 | " | ||
diff --git a/meta/recipes-devtools/python/python3-sphinx-argparse_0.5.2.bb b/meta/recipes-devtools/python/python3-sphinx-argparse_0.5.2.bb deleted file mode 100644 index 554fb3eb51..0000000000 --- a/meta/recipes-devtools/python/python3-sphinx-argparse_0.5.2.bb +++ /dev/null | |||
| @@ -1,13 +0,0 @@ | |||
| 1 | SUMMARY = "A sphinx extension that automatically documents argparse commands and options" | ||
| 2 | HOMEPAGE = "https://sphinx-argparse.readthedocs.io/" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENCE.rst;md5=5c1cd8f13774629fee215681e66a1056" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "e5352f8fa894b6fb6fda0498ba28a9f8d435971ef4bbc1a6c9c6414e7644f032" | ||
| 7 | |||
| 8 | PYPI_PACKAGE = "sphinx_argparse" | ||
| 9 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 10 | |||
| 11 | inherit pypi python_flit_core | ||
| 12 | |||
| 13 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-sphinx-copybutton_0.5.2.bb b/meta/recipes-devtools/python/python3-sphinx-copybutton_0.5.2.bb deleted file mode 100644 index 0441804661..0000000000 --- a/meta/recipes-devtools/python/python3-sphinx-copybutton_0.5.2.bb +++ /dev/null | |||
| @@ -1,10 +0,0 @@ | |||
| 1 | SUMMARY = "Add a copy button to code blocks in Sphinx" | ||
| 2 | HOMEPAGE = "https://sphinx-copybutton.readthedocs.io" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=c60e920848b6d2ecec51ea44a1a33bf0" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "4cf17c82fb9646d1bc9ca92ac280813a3b605d8c421225fd9913154103ee1fbd" | ||
| 7 | |||
| 8 | inherit setuptools3 pypi | ||
| 9 | |||
| 10 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-sphinx-rtd-theme_3.0.2.bb b/meta/recipes-devtools/python/python3-sphinx-rtd-theme_3.0.2.bb deleted file mode 100644 index 03e7a50125..0000000000 --- a/meta/recipes-devtools/python/python3-sphinx-rtd-theme_3.0.2.bb +++ /dev/null | |||
| @@ -1,26 +0,0 @@ | |||
| 1 | SUMMARY = "Sphinx Theme reader" | ||
| 2 | HOMEPAGE = "https://github.com/readthedocs/sphinx_rtd_theme" | ||
| 3 | SECTION = "devel/python" | ||
| 4 | LICENSE = "MIT & OFL-1.1" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=a1db7d4ef426c2935227264e1d4ae8f9 \ | ||
| 6 | file://OFL-License.txt;md5=4534c22e0147eadb6828bd9fe86d4868 \ | ||
| 7 | file://Apache-License-2.0.txt;md5=8a75796f0ef19c3f601d69857f5a9a5b" | ||
| 8 | |||
| 9 | RDEPENDS:${PN} += " \ | ||
| 10 | python3-compile \ | ||
| 11 | python3-sphinx \ | ||
| 12 | python3-sphinxcontrib-jquery \ | ||
| 13 | " | ||
| 14 | |||
| 15 | PYPI_PACKAGE = "sphinx_rtd_theme" | ||
| 16 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 17 | |||
| 18 | SRC_URI[sha256sum] = "b7457bc25dda723b20b086a670b9953c859eab60a2a03ee8eb2bb23e176e5f85" | ||
| 19 | |||
| 20 | inherit setuptools3 pypi | ||
| 21 | |||
| 22 | #Fake out the setup scipt | ||
| 23 | export CI = "True" | ||
| 24 | export TOX_ENV_NAME = "True" | ||
| 25 | |||
| 26 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-sphinx_8.2.1.bb b/meta/recipes-devtools/python/python3-sphinx_8.2.1.bb deleted file mode 100644 index 614566b8f4..0000000000 --- a/meta/recipes-devtools/python/python3-sphinx_8.2.1.bb +++ /dev/null | |||
| @@ -1,35 +0,0 @@ | |||
| 1 | SUMMARY = "Python documentation generator" | ||
| 2 | HOMEPAGE = "http://sphinx-doc.org/" | ||
| 3 | SECTION = "devel/python" | ||
| 4 | LICENSE = "BSD-2-Clause & MIT" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=e30c37a2b7fb0afa3adc0d72b85e8b04" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "e4b932951b9c18b039f73b72e4e63afe967d90408700ec222b981ac24647c01e" | ||
| 8 | |||
| 9 | inherit python_flit_core pypi | ||
| 10 | |||
| 11 | do_install:append () { | ||
| 12 | # The cache format of "{None, 'en', 'ja'}" doesn't seem to be consistent (dict ordering?) | ||
| 13 | rm ${D}${libdir}/${PYTHON_DIR}/site-packages/sphinx/writers/__pycache__/*latex* | ||
| 14 | } | ||
| 15 | |||
| 16 | RDEPENDS:${PN} = "\ | ||
| 17 | python3-alabaster \ | ||
| 18 | python3-babel \ | ||
| 19 | python3-docutils \ | ||
| 20 | python3-imagesize \ | ||
| 21 | python3-jinja2 \ | ||
| 22 | python3-packaging \ | ||
| 23 | python3-pygments \ | ||
| 24 | python3-requests \ | ||
| 25 | python3-roman-numerals-py \ | ||
| 26 | python3-snowballstemmer \ | ||
| 27 | python3-sphinxcontrib-applehelp \ | ||
| 28 | python3-sphinxcontrib-devhelp \ | ||
| 29 | python3-sphinxcontrib-htmlhelp \ | ||
| 30 | python3-sphinxcontrib-jsmath \ | ||
| 31 | python3-sphinxcontrib-qthelp \ | ||
| 32 | python3-sphinxcontrib-serializinghtml \ | ||
| 33 | " | ||
| 34 | |||
| 35 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-sphinxcontrib-applehelp_2.0.0.bb b/meta/recipes-devtools/python/python3-sphinxcontrib-applehelp_2.0.0.bb deleted file mode 100644 index a63b7ad014..0000000000 --- a/meta/recipes-devtools/python/python3-sphinxcontrib-applehelp_2.0.0.bb +++ /dev/null | |||
| @@ -1,13 +0,0 @@ | |||
| 1 | SUMMARY = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books" | ||
| 2 | HOMEPAGE = "https://www.sphinx-doc.org" | ||
| 3 | LICENSE = "BSD-2-Clause" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENCE.rst;md5=c7715857042d4c8c0105999ca0c072c5" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "2f29ef331735ce958efa4734873f084941970894c6090408b079c61b2e1c06d1" | ||
| 7 | |||
| 8 | PYPI_PACKAGE = "sphinxcontrib_applehelp" | ||
| 9 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 10 | |||
| 11 | inherit pypi python_flit_core | ||
| 12 | |||
| 13 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-sphinxcontrib-devhelp_2.0.0.bb b/meta/recipes-devtools/python/python3-sphinxcontrib-devhelp_2.0.0.bb deleted file mode 100644 index abce915a19..0000000000 --- a/meta/recipes-devtools/python/python3-sphinxcontrib-devhelp_2.0.0.bb +++ /dev/null | |||
| @@ -1,13 +0,0 @@ | |||
| 1 | SUMMARY = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document." | ||
| 2 | HOMEPAGE = "https://www.sphinx-doc.org" | ||
| 3 | LICENSE = "BSD-2-Clause" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENCE.rst;md5=fd30d9972a142c857a80c9f312e92b93" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "411f5d96d445d1d73bb5d52133377b4248ec79db5c793ce7dbe59e074b4dd1ad" | ||
| 7 | |||
| 8 | PYPI_PACKAGE = "sphinxcontrib_devhelp" | ||
| 9 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 10 | |||
| 11 | inherit pypi python_flit_core | ||
| 12 | |||
| 13 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-sphinxcontrib-htmlhelp_2.1.0.bb b/meta/recipes-devtools/python/python3-sphinxcontrib-htmlhelp_2.1.0.bb deleted file mode 100644 index 44885d7dc3..0000000000 --- a/meta/recipes-devtools/python/python3-sphinxcontrib-htmlhelp_2.1.0.bb +++ /dev/null | |||
| @@ -1,13 +0,0 @@ | |||
| 1 | SUMMARY = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" | ||
| 2 | HOMEPAGE = "https://www.sphinx-doc.org" | ||
| 3 | LICENSE = "BSD-2-Clause" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENCE.rst;md5=24dce5ef6a13563241c24bc366f48886" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "c9e2916ace8aad64cc13a0d233ee22317f2b9025b9cf3295249fa985cc7082e9" | ||
| 7 | |||
| 8 | PYPI_PACKAGE = "sphinxcontrib_htmlhelp" | ||
| 9 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 10 | |||
| 11 | inherit pypi python_flit_core | ||
| 12 | |||
| 13 | 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 deleted file mode 100644 index 5f915663c2..0000000000 --- a/meta/recipes-devtools/python/python3-sphinxcontrib-jquery_4.1.bb +++ /dev/null | |||
| @@ -1,12 +0,0 @@ | |||
| 1 | SUMMARY = "Extension to include jQuery on newer Sphinx releases" | ||
| 2 | HOMEPAGE = "https://pypi.org/project/sphinxcontrib-jquery/" | ||
| 3 | LICENSE = "0BSD" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENCE;md5=926e8b7e89e3ebb2a2d1dfaf0873f241" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "1620739f04e36a2c779f1a131a2dfd49b2fd07351bf1968ced074365933abc7a" | ||
| 7 | |||
| 8 | PYPI_PACKAGE = "sphinxcontrib-jquery" | ||
| 9 | |||
| 10 | inherit pypi python_flit_core | ||
| 11 | |||
| 12 | 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 deleted file mode 100644 index 7c11cfeec5..0000000000 --- a/meta/recipes-devtools/python/python3-sphinxcontrib-jsmath_1.0.1.bb +++ /dev/null | |||
| @@ -1,12 +0,0 @@ | |||
| 1 | SUMMARY = "A sphinx extension which renders display math in HTML via JavaScript" | ||
| 2 | HOMEPAGE = "https://www.sphinx-doc.org" | ||
| 3 | LICENSE = "BSD-2-Clause" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=f0064c10bd544bcffccbc67a41c108d3" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8" | ||
| 7 | |||
| 8 | PYPI_PACKAGE = "sphinxcontrib-jsmath" | ||
| 9 | |||
| 10 | inherit pypi setuptools3 | ||
| 11 | |||
| 12 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-sphinxcontrib-qthelp_2.0.0.bb b/meta/recipes-devtools/python/python3-sphinxcontrib-qthelp_2.0.0.bb deleted file mode 100644 index 141d1c4862..0000000000 --- a/meta/recipes-devtools/python/python3-sphinxcontrib-qthelp_2.0.0.bb +++ /dev/null | |||
| @@ -1,13 +0,0 @@ | |||
| 1 | SUMMARY = "Is a sphinx extension which outputs QtHelp document." | ||
| 2 | HOMEPAGE = "http://babel.edgewall.org/" | ||
| 3 | LICENSE = "BSD-2-Clause" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENCE.rst;md5=f7a83b72ea86d04827575ec0b63430eb" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "4fe7d0ac8fc171045be623aba3e2a8f613f8682731f9153bb2e40ece16b9bbab" | ||
| 7 | |||
| 8 | PYPI_PACKAGE = "sphinxcontrib_qthelp" | ||
| 9 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 10 | |||
| 11 | inherit pypi python_flit_core | ||
| 12 | |||
| 13 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-sphinxcontrib-serializinghtml_2.0.0.bb b/meta/recipes-devtools/python/python3-sphinxcontrib-serializinghtml_2.0.0.bb deleted file mode 100644 index 95ee596b3b..0000000000 --- a/meta/recipes-devtools/python/python3-sphinxcontrib-serializinghtml_2.0.0.bb +++ /dev/null | |||
| @@ -1,13 +0,0 @@ | |||
| 1 | SUMMARY = 'sphinxcontrib-serializinghtml is a sphinx extension which outputs "serialized" HTML files (json and pickle).' | ||
| 2 | HOMEPAGE = "https://www.sphinx-doc.org" | ||
| 3 | LICENSE = "BSD-2-Clause" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENCE.rst;md5=32a84ac5cd3bbd10c4d479233ad588b6" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "e9d912827f872c029017a53f0ef2180b327c3f7fd23c87229f7a8e8b70031d4d" | ||
| 7 | |||
| 8 | PYPI_PACKAGE = "sphinxcontrib_serializinghtml" | ||
| 9 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 10 | |||
| 11 | inherit pypi python_flit_core | ||
| 12 | |||
| 13 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-subunit_1.4.4.bb b/meta/recipes-devtools/python/python3-subunit_1.4.4.bb deleted file mode 100644 index 269b057427..0000000000 --- a/meta/recipes-devtools/python/python3-subunit_1.4.4.bb +++ /dev/null | |||
| @@ -1,15 +0,0 @@ | |||
| 1 | SUMMARY = "Python implementation of subunit test streaming protocol" | ||
| 2 | HOMEPAGE = "https://pypi.org/project/python-subunit/" | ||
| 3 | SECTION = "devel/python" | ||
| 4 | LICENSE = "Apache-2.0 | BSD-3-Clause" | ||
| 5 | LIC_FILES_CHKSUM = "file://COPYING;beginline=1;endline=20;md5=b1121e68d06c8d9ea544fcd895df0d39" | ||
| 6 | |||
| 7 | PYPI_PACKAGE = "python-subunit" | ||
| 8 | |||
| 9 | SRC_URI[sha256sum] = "1079363131aa1d3f45259237265bc2e61a77e35f20edfb6e3d1d2558a2cdea34" | ||
| 10 | |||
| 11 | inherit pypi python_setuptools_build_meta | ||
| 12 | |||
| 13 | RDEPENDS:${PN} = " python3-testtools python3-iso8601" | ||
| 14 | |||
| 15 | BBCLASSEXTEND = "nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-testtools_2.7.2.bb b/meta/recipes-devtools/python/python3-testtools_2.7.2.bb deleted file mode 100644 index 8d7759b4a7..0000000000 --- a/meta/recipes-devtools/python/python3-testtools_2.7.2.bb +++ /dev/null | |||
| @@ -1,22 +0,0 @@ | |||
| 1 | SUMMARY = "Extensions to the Python standard library unit testing framework" | ||
| 2 | HOMEPAGE = "https://pypi.org/project/testtools/" | ||
| 3 | SECTION = "devel/python" | ||
| 4 | LICENSE = "Apache-2.0" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e2c9d3e8ba7141c83bfef190e0b9379a" | ||
| 6 | |||
| 7 | DEPENDS += "python3-hatch-vcs-native" | ||
| 8 | |||
| 9 | inherit pypi python_hatchling | ||
| 10 | |||
| 11 | SRC_URI[sha256sum] = "5be5bbc1f0fa0f8b60aca6ceec07845d41d0c475cf445bfadb4d2c45ec397ea3" | ||
| 12 | |||
| 13 | RDEPENDS:${PN} += "\ | ||
| 14 | python3-compression \ | ||
| 15 | python3-doctest \ | ||
| 16 | python3-extras \ | ||
| 17 | python3-json \ | ||
| 18 | python3-six \ | ||
| 19 | " | ||
| 20 | |||
| 21 | BBCLASSEXTEND = "nativesdk" | ||
| 22 | |||
diff --git a/meta/recipes-devtools/python/python3-trove-classifiers_2025.9.11.17.bb b/meta/recipes-devtools/python/python3-trove-classifiers_2025.9.11.17.bb deleted file mode 100644 index 4bbdd243ef..0000000000 --- a/meta/recipes-devtools/python/python3-trove-classifiers_2025.9.11.17.bb +++ /dev/null | |||
| @@ -1,15 +0,0 @@ | |||
| 1 | SUMMARY = "Canonical source for classifiers on PyPI (pypi.org)." | ||
| 2 | HOMEPAGE = "https://github.com/pypa/trove-classifiers" | ||
| 3 | LICENSE = "Apache-2.0" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "931ca9841a5e9c9408bc2ae67b50d28acf85bef56219b56860876dd1f2d024dd" | ||
| 7 | |||
| 8 | PYPI_PACKAGE = "trove_classifiers" | ||
| 9 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 10 | |||
| 11 | inherit pypi python_setuptools_build_meta ptest-python-pytest | ||
| 12 | |||
| 13 | DEPENDS += " python3-calver-native" | ||
| 14 | |||
| 15 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-typing-extensions_4.15.0.bb b/meta/recipes-devtools/python/python3-typing-extensions_4.15.0.bb deleted file mode 100644 index 3e3ce33ca8..0000000000 --- a/meta/recipes-devtools/python/python3-typing-extensions_4.15.0.bb +++ /dev/null | |||
| @@ -1,23 +0,0 @@ | |||
| 1 | SUMMARY = "Backported and Experimental Type Hints for Python 3.7+" | ||
| 2 | DESCRIPTION = "The typing_extensions module serves two related purposes:\ | ||
| 3 | \ | ||
| 4 | * Enable use of new type system features on older Python versions. For \ | ||
| 5 | example, typing.TypeGuard is new in Python 3.10, but typing_extensions \ | ||
| 6 | allows users on previous Python versions to use it too.\ | ||
| 7 | * Enable experimentation with new type system PEPs before they are accepted \ | ||
| 8 | and added to the typing module." | ||
| 9 | HOMEPAGE = "https://github.com/python/typing_extensions" | ||
| 10 | BUGTRACKER = "https://github.com/python/typing_extensions/issues" | ||
| 11 | SECTIONS = "libs" | ||
| 12 | LICENSE = "PSF-2.0" | ||
| 13 | LIC_FILES_CHKSUM = "file://LICENSE;md5=fcf6b249c2641540219a727f35d8d2c2" | ||
| 14 | |||
| 15 | # The name on PyPi is slightly different. | ||
| 16 | PYPI_PACKAGE = "typing_extensions" | ||
| 17 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
| 18 | |||
| 19 | SRC_URI[sha256sum] = "0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466" | ||
| 20 | |||
| 21 | inherit pypi python_flit_core | ||
| 22 | |||
| 23 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-typogrify_2.1.0.bb b/meta/recipes-devtools/python/python3-typogrify_2.1.0.bb deleted file mode 100644 index 0cb31468bd..0000000000 --- a/meta/recipes-devtools/python/python3-typogrify_2.1.0.bb +++ /dev/null | |||
| @@ -1,14 +0,0 @@ | |||
| 1 | SUMMARY = "Filters to enhance web typography, including support for Django & Jinja templates" | ||
| 2 | HOMEPAGE = "https://github.com/mintchaos/typogrify" | ||
| 3 | LICENSE = "BSD-3-Clause" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b8558ebcc682078c1a44d0227573006d" | ||
| 5 | |||
| 6 | inherit pypi python_hatchling | ||
| 7 | |||
| 8 | PYPI_PACKAGE = "typogrify" | ||
| 9 | SRC_URI[sha256sum] = "f0aa004e98032a6e6be4c9da65e7eb7150e36ca3bf508adbcda82b4d003e61ee" | ||
| 10 | |||
| 11 | BBCLASSEXTEND = "native nativesdk" | ||
| 12 | |||
| 13 | RDEPENDS:${PN} += "python3-smartypants" | ||
| 14 | |||
diff --git a/meta/recipes-devtools/python/python3-unittest-automake-output_0.3.bb b/meta/recipes-devtools/python/python3-unittest-automake-output_0.3.bb deleted file mode 100644 index 66c1abee34..0000000000 --- a/meta/recipes-devtools/python/python3-unittest-automake-output_0.3.bb +++ /dev/null | |||
| @@ -1,14 +0,0 @@ | |||
| 1 | SUMMARY = "Modules to make unittest and pytest look like Automake output, for ptest" | ||
| 2 | HOMEPAGE = "https://gitlab.com/rossburton/python-unittest-automake-output" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=f6f16008d9fb7349f06609329f1ab93b" | ||
| 5 | |||
| 6 | SRC_URI = "git://gitlab.com/rossburton/python-unittest-automake-output;protocol=https;branch=main;tag=${PV}" | ||
| 7 | |||
| 8 | SRCREV = "3376ff9bc319f8338849b7b9f63b9325d7b7663a" | ||
| 9 | |||
| 10 | inherit python_flit_core | ||
| 11 | |||
| 12 | RDEPENDS:${PN} += "python3-unittest" | ||
| 13 | |||
| 14 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-uritools_5.0.0.bb b/meta/recipes-devtools/python/python3-uritools_5.0.0.bb deleted file mode 100644 index 35a8f2a0d9..0000000000 --- a/meta/recipes-devtools/python/python3-uritools_5.0.0.bb +++ /dev/null | |||
| @@ -1,11 +0,0 @@ | |||
| 1 | SUMMARY = "URI parsing, classification and composition" | ||
| 2 | HOMEPAGE = "https://github.com/tkem/uritools/" | ||
| 3 | |||
| 4 | LICENSE = "MIT" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e21bbe53b2730bfe1911cf381b81821e" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "68180cad154062bd5b5d9ffcdd464f8de6934414b25462ae807b00b8df9345de" | ||
| 8 | |||
| 9 | inherit pypi python_setuptools_build_meta ptest-python-pytest | ||
| 10 | |||
| 11 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-urllib3_2.5.0.bb b/meta/recipes-devtools/python/python3-urllib3_2.5.0.bb deleted file mode 100644 index 62fdf8e345..0000000000 --- a/meta/recipes-devtools/python/python3-urllib3_2.5.0.bb +++ /dev/null | |||
| @@ -1,33 +0,0 @@ | |||
| 1 | SUMMARY = "Python HTTP library with thread-safe connection pooling, file post support, sanity friendly, and more" | ||
| 2 | HOMEPAGE = "https://github.com/urllib3/urllib3" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=52d273a3054ced561275d4d15260ecda" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760" | ||
| 7 | |||
| 8 | inherit pypi python_hatchling | ||
| 9 | |||
| 10 | DEPENDS += "python3-hatch-vcs-native" | ||
| 11 | |||
| 12 | PACKAGECONFIG ??= "" | ||
| 13 | # This is not recommended for use upstream, and has large dependencies | ||
| 14 | PACKAGECONFIG[openssl] = ",,,python3-cryptography python3-pyopenssl" | ||
| 15 | |||
| 16 | do_install:append() { | ||
| 17 | if ! ${@bb.utils.contains("PACKAGECONFIG", "openssl", "true", "false", d)}; then | ||
| 18 | rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/urllib3/contrib/pyopenssl.py | ||
| 19 | fi | ||
| 20 | } | ||
| 21 | |||
| 22 | RDEPENDS:${PN} += "\ | ||
| 23 | python3-idna \ | ||
| 24 | python3-email \ | ||
| 25 | python3-json \ | ||
| 26 | python3-netclient \ | ||
| 27 | python3-threading \ | ||
| 28 | python3-logging \ | ||
| 29 | " | ||
| 30 | |||
| 31 | CVE_PRODUCT = "urllib3" | ||
| 32 | |||
| 33 | 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 deleted file mode 100644 index 2f5e0ad141..0000000000 --- a/meta/recipes-devtools/python/python3-vcversioner_2.16.0.0.bb +++ /dev/null | |||
| @@ -1,11 +0,0 @@ | |||
| 1 | SUMMARY = "Python vcversioner, automagically update the project's version" | ||
| 2 | HOMEPAGE = "https://github.com/habnabit/vcversioner" | ||
| 3 | |||
| 4 | LICENSE = "ISC" | ||
| 5 | LIC_FILES_CHKSUM = "file://PKG-INFO;md5=827a7a91a8d20d3c666b665cd96db8e3" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "dae60c17a479781f44a4010701833f1829140b1eeccd258762a74974aa06e19b" | ||
| 8 | |||
| 9 | inherit pypi setuptools3 | ||
| 10 | |||
| 11 | BBCLASSEXTEND = "native" | ||
diff --git a/meta/recipes-devtools/python/python3-wcwidth_0.2.13.bb b/meta/recipes-devtools/python/python3-wcwidth_0.2.13.bb deleted file mode 100644 index 71bb1a2703..0000000000 --- a/meta/recipes-devtools/python/python3-wcwidth_0.2.13.bb +++ /dev/null | |||
| @@ -1,16 +0,0 @@ | |||
| 1 | SUMMARY = "Library for building powerful interactive command lines in Python" | ||
| 2 | DESCRIPTION = "Measures the displayed width of unicode strings in a terminal" | ||
| 3 | HOMEPAGE = "https://github.com/jquast/wcwidth" | ||
| 4 | LICENSE = "MIT" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=b15979c39a2543892fca8cd86b4b52cb" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5" | ||
| 8 | |||
| 9 | inherit pypi setuptools3 ptest-python-pytest | ||
| 10 | |||
| 11 | do_install_ptest:aapend() { | ||
| 12 | install -d ${D}${PTEST_PATH}/bin | ||
| 13 | cp -rf ${S}/bin/* ${D}${PTEST_PATH}/bin/ | ||
| 14 | } | ||
| 15 | |||
| 16 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-webcolors_24.11.1.bb b/meta/recipes-devtools/python/python3-webcolors_24.11.1.bb deleted file mode 100644 index d537614545..0000000000 --- a/meta/recipes-devtools/python/python3-webcolors_24.11.1.bb +++ /dev/null | |||
| @@ -1,14 +0,0 @@ | |||
| 1 | SUMMARY = "Simple Python module for working with HTML/CSS color definitions." | ||
| 2 | HOMEPAGE = "https://pypi.org/project/webcolors/" | ||
| 3 | LICENSE = "BSD-3-Clause" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=cbaebec43b7d199c7fd8f5411b3b0448" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "ecb3d768f32202af770477b8b65f318fa4f566c22948673a977b00d589dd80f6" | ||
| 7 | |||
| 8 | inherit pypi python_pdm ptest-python-pytest | ||
| 9 | |||
| 10 | RDEPENDS:${PN}:class-target = "\ | ||
| 11 | python3-stringold \ | ||
| 12 | " | ||
| 13 | |||
| 14 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-websockets_15.0.1.bb b/meta/recipes-devtools/python/python3-websockets_15.0.1.bb deleted file mode 100644 index 2e1b0f0919..0000000000 --- a/meta/recipes-devtools/python/python3-websockets_15.0.1.bb +++ /dev/null | |||
| @@ -1,15 +0,0 @@ | |||
| 1 | SUMMARY = "An implementation of the WebSocket Protocol (RFC 6455)" | ||
| 2 | HOMEPAGE = "https://github.com/aaugustin/websockets" | ||
| 3 | |||
| 4 | LICENSE = "BSD-3-Clause" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=51924a6af4495b8cfaee1b1da869b6f4" | ||
| 6 | |||
| 7 | inherit pypi python_setuptools_build_meta | ||
| 8 | |||
| 9 | SRC_URI[sha256sum] = "82544de02076bafba038ce055ee6412d68da13ab47f0c60cab827346de828dee" | ||
| 10 | |||
| 11 | BBCLASSEXTEND = "native nativesdk" | ||
| 12 | |||
| 13 | RDEPENDS:${PN} = " \ | ||
| 14 | python3-asyncio \ | ||
| 15 | " | ||
diff --git a/meta/recipes-devtools/python/python3-wheel_0.46.1.bb b/meta/recipes-devtools/python/python3-wheel_0.46.1.bb deleted file mode 100644 index 058af2f0e7..0000000000 --- a/meta/recipes-devtools/python/python3-wheel_0.46.1.bb +++ /dev/null | |||
| @@ -1,20 +0,0 @@ | |||
| 1 | SUMMARY = "The official binary distribution format for Python " | ||
| 2 | HOMEPAGE = "https://github.com/pypa/wheel" | ||
| 3 | SECTION = "devel/python" | ||
| 4 | LICENSE = "MIT" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7ffb0db04527cfe380e4f2726bd05ebf" | ||
| 6 | |||
| 7 | SRC_URI[sha256sum] = "fd477efb5da0f7df1d3c76c73c14394002c844451bd63229d8570f376f5e6a38" | ||
| 8 | |||
| 9 | inherit python_flit_core pypi ptest-python-pytest | ||
| 10 | |||
| 11 | RDEPENDS:${PN} += "python3-packaging" | ||
| 12 | |||
| 13 | # One test is skipped but requires the "full" python3-flit, not just python3-flit-core | ||
| 14 | RDEPENDS:${PN}-ptest += "python3-setuptools" | ||
| 15 | |||
| 16 | BBCLASSEXTEND = "native nativesdk" | ||
| 17 | |||
| 18 | # This used to use the bootstrap install which didn't compile. Until we bump the | ||
| 19 | # tmpdir version we can't compile the native otherwise the sysroot unpack fails | ||
| 20 | INSTALL_WHEEL_COMPILE_BYTECODE:class-native = "--no-compile-bytecode" | ||
diff --git a/meta/recipes-devtools/python/python3-xmltodict_0.15.1.bb b/meta/recipes-devtools/python/python3-xmltodict_0.15.1.bb deleted file mode 100644 index a1d1bb47e4..0000000000 --- a/meta/recipes-devtools/python/python3-xmltodict_0.15.1.bb +++ /dev/null | |||
| @@ -1,19 +0,0 @@ | |||
| 1 | SUMMARY = "Makes working with XML feel like you are working with JSON" | ||
| 2 | HOMEPAGE = "https://github.com/martinblech/xmltodict" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=01441d50dc74476db58a41ac10cb9fa2" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "3d8d49127f3ce6979d40a36dbcad96f8bab106d232d24b49efdd4bd21716983c" | ||
| 7 | |||
| 8 | PYPI_PACKAGE = "xmltodict" | ||
| 9 | |||
| 10 | BBCLASSEXTEND = "native nativesdk" | ||
| 11 | |||
| 12 | inherit pypi setuptools3 ptest-python-pytest | ||
| 13 | |||
| 14 | RDEPENDS:${PN} += " \ | ||
| 15 | python3-core \ | ||
| 16 | python3-xml \ | ||
| 17 | python3-io \ | ||
| 18 | " | ||
| 19 | |||
diff --git a/meta/recipes-devtools/python/python3-yamllint_1.37.1.bb b/meta/recipes-devtools/python/python3-yamllint_1.37.1.bb deleted file mode 100644 index 1b0ddde873..0000000000 --- a/meta/recipes-devtools/python/python3-yamllint_1.37.1.bb +++ /dev/null | |||
| @@ -1,14 +0,0 @@ | |||
| 1 | SUMMARY = "A linter for YAML files." | ||
| 2 | HOMEPAGE = "https://github.com/adrienverge/yamllint" | ||
| 3 | LICENSE = "GPL-3.0-only" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=1ebbd3e34237af26da5dc08a4e440464" | ||
| 5 | |||
| 6 | inherit pypi python_setuptools_build_meta | ||
| 7 | |||
| 8 | PYPI_PACKAGE = "yamllint" | ||
| 9 | |||
| 10 | SRC_URI[sha256sum] = "81f7c0c5559becc8049470d86046b36e96113637bcbe4753ecef06977c00245d" | ||
| 11 | |||
| 12 | RDEPENDS:${PN} += "python3-pathspec python3-pyyaml" | ||
| 13 | |||
| 14 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta/recipes-devtools/python/python3-zipp_3.23.0.bb b/meta/recipes-devtools/python/python3-zipp_3.23.0.bb deleted file mode 100644 index 31420dcb83..0000000000 --- a/meta/recipes-devtools/python/python3-zipp_3.23.0.bb +++ /dev/null | |||
| @@ -1,15 +0,0 @@ | |||
| 1 | SUMMARY = "Backport of pathlib-compatible object wrapper for zip files" | ||
| 2 | HOMEPAGE = "https://github.com/jaraco/zipp" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=1aeae65f25a15b1e46d4381f2f094e0a" | ||
| 5 | |||
| 6 | SRC_URI[sha256sum] = "a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166" | ||
| 7 | |||
| 8 | DEPENDS += "python3-setuptools-scm-native python3-coherent-licensed-native" | ||
| 9 | |||
| 10 | inherit pypi python_setuptools_build_meta | ||
| 11 | |||
| 12 | RDEPENDS:${PN} += "python3-compression \ | ||
| 13 | python3-math" | ||
| 14 | |||
| 15 | 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 deleted file mode 100644 index eaf5ea5049..0000000000 --- a/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch +++ /dev/null | |||
| @@ -1,30 +0,0 @@ | |||
| 1 | From 6b111a328c1c57b1580d63894b2b5d337316f6d4 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Paulo Neves <ptsneves@gmail.com> | ||
| 3 | Date: Tue, 7 Jun 2022 16:16:41 +0200 | ||
| 4 | Subject: [PATCH] Avoid shebang overflow on python-config.py | ||
| 5 | |||
| 6 | The whole native path may be too big, leading to shebang | ||
| 7 | overflow. Let's just use the env shebang. | ||
| 8 | |||
| 9 | Denial reason: [1] | ||
| 10 | |||
| 11 | Upstream-Status: Denied [distribution] | ||
| 12 | |||
| 13 | [1] https://github.com/python/cpython/pull/93760#pullrequestreview-1005365737 | ||
| 14 | --- | ||
| 15 | Makefile.pre.in | 2 ++ | ||
| 16 | 1 file changed, 2 insertions(+) | ||
| 17 | |||
| 18 | diff --git a/Makefile.pre.in b/Makefile.pre.in | ||
| 19 | index 9ec3a71..f7d5382 100644 | ||
| 20 | --- a/Makefile.pre.in | ||
| 21 | +++ b/Makefile.pre.in | ||
| 22 | @@ -2585,6 +2585,8 @@ python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh | ||
| 23 | @ # Substitution happens here, as the completely-expanded BINDIR | ||
| 24 | @ # is not available in configure | ||
| 25 | sed -e "s,@EXENAME@,$(EXENAME)," < $(srcdir)/Misc/python-config.in >python-config.py | ||
| 26 | + @ # Otherwise we might get huge shebangs with native paths | ||
| 27 | + sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' python-config.py | ||
| 28 | @ # Replace makefile compat. variable references with shell script compat. ones; $(VAR) -> ${VAR} | ||
| 29 | LC_ALL=C sed -e 's,\$$(\([A-Za-z0-9_]*\)),\$$\{\1\},g' < Misc/python-config.sh >python-config | ||
| 30 | @ # On Darwin, always use the python version of the script, the shell | ||
diff --git a/meta/recipes-devtools/python/python3/0001-Generate-data-for-OpenSSL-3.4-and-add-it-to-multissl.patch b/meta/recipes-devtools/python/python3/0001-Generate-data-for-OpenSSL-3.4-and-add-it-to-multissl.patch deleted file mode 100644 index 327124e4e3..0000000000 --- a/meta/recipes-devtools/python/python3/0001-Generate-data-for-OpenSSL-3.4-and-add-it-to-multissl.patch +++ /dev/null | |||
| @@ -1,1452 +0,0 @@ | |||
| 1 | From db5c5763f3e3172f1dd011355b41469770dafc0f Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Petr Viktorin <encukou@gmail.com> | ||
| 3 | Date: Thu, 28 Nov 2024 13:29:27 +0100 | ||
| 4 | Subject: [PATCH] gh-127330: Update for OpenSSL 3.4 & document+improve the | ||
| 5 | update process (GH-127331) | ||
| 6 | |||
| 7 | - Add `git describe` output to headers generated by `make_ssl_data.py` | ||
| 8 | |||
| 9 | This info is more important than the date when the file was generated. | ||
| 10 | It does mean that the tool now requires a Git checkout of OpenSSL, | ||
| 11 | not for example a release tarball. | ||
| 12 | |||
| 13 | - Regenerate the older file to add the info. | ||
| 14 | To the other older file, add a note about manual edits. | ||
| 15 | |||
| 16 | - Add notes on how to add a new OpenSSL version | ||
| 17 | |||
| 18 | - Add 3.4 error messages and multissl tests | ||
| 19 | |||
| 20 | Upstream-Status: Submitted [https://github.com/python/cpython/commit/db5c5763f3e3172f1dd011355b41469770dafc0f] | ||
| 21 | Signed-off-by: Peter Marko <peter.marko@siemens.com> | ||
| 22 | --- | ||
| 23 | Modules/_ssl.c | 2 +- | ||
| 24 | Modules/_ssl_data_111.h | 4 +- | ||
| 25 | Modules/_ssl_data_300.h | 5 +- | ||
| 26 | Modules/{_ssl_data_31.h => _ssl_data_34.h} | 674 ++++++++++++++++++++- | ||
| 27 | Tools/c-analyzer/cpython/_parser.py | 4 +- | ||
| 28 | Tools/ssl/make_ssl_data.py | 34 +- | ||
| 29 | Tools/ssl/multissltests.py | 1 + | ||
| 30 | 7 files changed, 714 insertions(+), 10 deletions(-) | ||
| 31 | rename Modules/{_ssl_data_31.h => _ssl_data_34.h} (92%) | ||
| 32 | |||
| 33 | diff --git a/Modules/_ssl.c b/Modules/_ssl.c | ||
| 34 | index b6b5ebf094c..e5b8bf21002 100644 | ||
| 35 | --- a/Modules/_ssl.c | ||
| 36 | +++ b/Modules/_ssl.c | ||
| 37 | @@ -121,7 +121,7 @@ static void _PySSLFixErrno(void) { | ||
| 38 | |||
| 39 | /* Include generated data (error codes) */ | ||
| 40 | #if (OPENSSL_VERSION_NUMBER >= 0x30100000L) | ||
| 41 | -#include "_ssl_data_31.h" | ||
| 42 | +#include "_ssl_data_34.h" | ||
| 43 | #elif (OPENSSL_VERSION_NUMBER >= 0x30000000L) | ||
| 44 | #include "_ssl_data_300.h" | ||
| 45 | #elif (OPENSSL_VERSION_NUMBER >= 0x10101000L) | ||
| 46 | diff --git a/Modules/_ssl_data_111.h b/Modules/_ssl_data_111.h | ||
| 47 | index 093c786e6a2..061fac2bd58 100644 | ||
| 48 | --- a/Modules/_ssl_data_111.h | ||
| 49 | +++ b/Modules/_ssl_data_111.h | ||
| 50 | @@ -1,4 +1,6 @@ | ||
| 51 | -/* File generated by Tools/ssl/make_ssl_data.py *//* Generated on 2023-06-01T02:58:04.081473 */ | ||
| 52 | +/* File generated by Tools/ssl/make_ssl_data.py */ | ||
| 53 | +/* Generated on 2024-11-27T12:48:46.194048+00:00 */ | ||
| 54 | +/* Generated from Git commit OpenSSL_1_1_1w-0-ge04bd3433f */ | ||
| 55 | static struct py_ssl_library_code library_codes[] = { | ||
| 56 | #ifdef ERR_LIB_ASN1 | ||
| 57 | {"ASN1", ERR_LIB_ASN1}, | ||
| 58 | diff --git a/Modules/_ssl_data_300.h b/Modules/_ssl_data_300.h | ||
| 59 | index dc66731f6b6..b687ce43c77 100644 | ||
| 60 | --- a/Modules/_ssl_data_300.h | ||
| 61 | +++ b/Modules/_ssl_data_300.h | ||
| 62 | @@ -1,4 +1,7 @@ | ||
| 63 | -/* File generated by Tools/ssl/make_ssl_data.py *//* Generated on 2023-06-01T03:03:52.163218 */ | ||
| 64 | +/* File generated by Tools/ssl/make_ssl_data.py */ | ||
| 65 | +/* Generated on 2023-06-01T03:03:52.163218 */ | ||
| 66 | +/* Manually edited to add definitions from 1.1.1 (GH-105174) */ | ||
| 67 | + | ||
| 68 | static struct py_ssl_library_code library_codes[] = { | ||
| 69 | #ifdef ERR_LIB_ASN1 | ||
| 70 | {"ASN1", ERR_LIB_ASN1}, | ||
| 71 | diff --git a/Modules/_ssl_data_31.h b/Modules/_ssl_data_34.h | ||
| 72 | similarity index 92% | ||
| 73 | rename from Modules/_ssl_data_31.h | ||
| 74 | rename to Modules/_ssl_data_34.h | ||
| 75 | index c589c501f4e..d4af3e1c1fa 100644 | ||
| 76 | --- a/Modules/_ssl_data_31.h | ||
| 77 | +++ b/Modules/_ssl_data_34.h | ||
| 78 | @@ -1,4 +1,6 @@ | ||
| 79 | -/* File generated by Tools/ssl/make_ssl_data.py *//* Generated on 2023-06-01T03:04:00.275280 */ | ||
| 80 | +/* File generated by Tools/ssl/make_ssl_data.py */ | ||
| 81 | +/* Generated on 2024-11-27T12:35:52.276767+00:00 */ | ||
| 82 | +/* Generated from Git commit openssl-3.4.0-0-g98acb6b028 */ | ||
| 83 | static struct py_ssl_library_code library_codes[] = { | ||
| 84 | #ifdef ERR_LIB_ASN1 | ||
| 85 | {"ASN1", ERR_LIB_ASN1}, | ||
| 86 | @@ -300,6 +302,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 87 | #else | ||
| 88 | {"FIRST_NUM_TOO_LARGE", 13, 122}, | ||
| 89 | #endif | ||
| 90 | + #ifdef ASN1_R_GENERALIZEDTIME_IS_TOO_SHORT | ||
| 91 | + {"GENERALIZEDTIME_IS_TOO_SHORT", ERR_LIB_ASN1, ASN1_R_GENERALIZEDTIME_IS_TOO_SHORT}, | ||
| 92 | + #else | ||
| 93 | + {"GENERALIZEDTIME_IS_TOO_SHORT", 13, 232}, | ||
| 94 | + #endif | ||
| 95 | #ifdef ASN1_R_HEADER_TOO_LONG | ||
| 96 | {"HEADER_TOO_LONG", ERR_LIB_ASN1, ASN1_R_HEADER_TOO_LONG}, | ||
| 97 | #else | ||
| 98 | @@ -730,6 +737,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 99 | #else | ||
| 100 | {"UNSUPPORTED_TYPE", 13, 196}, | ||
| 101 | #endif | ||
| 102 | + #ifdef ASN1_R_UTCTIME_IS_TOO_SHORT | ||
| 103 | + {"UTCTIME_IS_TOO_SHORT", ERR_LIB_ASN1, ASN1_R_UTCTIME_IS_TOO_SHORT}, | ||
| 104 | + #else | ||
| 105 | + {"UTCTIME_IS_TOO_SHORT", 13, 233}, | ||
| 106 | + #endif | ||
| 107 | #ifdef ASN1_R_WRONG_INTEGER_TYPE | ||
| 108 | {"WRONG_INTEGER_TYPE", ERR_LIB_ASN1, ASN1_R_WRONG_INTEGER_TYPE}, | ||
| 109 | #else | ||
| 110 | @@ -845,6 +857,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 111 | #else | ||
| 112 | {"LISTEN_V6_ONLY", 32, 136}, | ||
| 113 | #endif | ||
| 114 | + #ifdef BIO_R_LOCAL_ADDR_NOT_AVAILABLE | ||
| 115 | + {"LOCAL_ADDR_NOT_AVAILABLE", ERR_LIB_BIO, BIO_R_LOCAL_ADDR_NOT_AVAILABLE}, | ||
| 116 | + #else | ||
| 117 | + {"LOCAL_ADDR_NOT_AVAILABLE", 32, 111}, | ||
| 118 | + #endif | ||
| 119 | #ifdef BIO_R_LOOKUP_RETURNED_NOTHING | ||
| 120 | {"LOOKUP_RETURNED_NOTHING", ERR_LIB_BIO, BIO_R_LOOKUP_RETURNED_NOTHING}, | ||
| 121 | #else | ||
| 122 | @@ -860,6 +877,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 123 | #else | ||
| 124 | {"NBIO_CONNECT_ERROR", 32, 110}, | ||
| 125 | #endif | ||
| 126 | + #ifdef BIO_R_NON_FATAL | ||
| 127 | + {"NON_FATAL", ERR_LIB_BIO, BIO_R_NON_FATAL}, | ||
| 128 | + #else | ||
| 129 | + {"NON_FATAL", 32, 112}, | ||
| 130 | + #endif | ||
| 131 | #ifdef BIO_R_NO_ACCEPT_ADDR_OR_SERVICE_SPECIFIED | ||
| 132 | {"NO_ACCEPT_ADDR_OR_SERVICE_SPECIFIED", ERR_LIB_BIO, BIO_R_NO_ACCEPT_ADDR_OR_SERVICE_SPECIFIED}, | ||
| 133 | #else | ||
| 134 | @@ -880,6 +902,26 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 135 | #else | ||
| 136 | {"NO_SUCH_FILE", 32, 128}, | ||
| 137 | #endif | ||
| 138 | + #ifdef BIO_R_PEER_ADDR_NOT_AVAILABLE | ||
| 139 | + {"PEER_ADDR_NOT_AVAILABLE", ERR_LIB_BIO, BIO_R_PEER_ADDR_NOT_AVAILABLE}, | ||
| 140 | + #else | ||
| 141 | + {"PEER_ADDR_NOT_AVAILABLE", 32, 114}, | ||
| 142 | + #endif | ||
| 143 | + #ifdef BIO_R_PORT_MISMATCH | ||
| 144 | + {"PORT_MISMATCH", ERR_LIB_BIO, BIO_R_PORT_MISMATCH}, | ||
| 145 | + #else | ||
| 146 | + {"PORT_MISMATCH", 32, 150}, | ||
| 147 | + #endif | ||
| 148 | + #ifdef BIO_R_TFO_DISABLED | ||
| 149 | + {"TFO_DISABLED", ERR_LIB_BIO, BIO_R_TFO_DISABLED}, | ||
| 150 | + #else | ||
| 151 | + {"TFO_DISABLED", 32, 106}, | ||
| 152 | + #endif | ||
| 153 | + #ifdef BIO_R_TFO_NO_KERNEL_SUPPORT | ||
| 154 | + {"TFO_NO_KERNEL_SUPPORT", ERR_LIB_BIO, BIO_R_TFO_NO_KERNEL_SUPPORT}, | ||
| 155 | + #else | ||
| 156 | + {"TFO_NO_KERNEL_SUPPORT", 32, 108}, | ||
| 157 | + #endif | ||
| 158 | #ifdef BIO_R_TRANSFER_ERROR | ||
| 159 | {"TRANSFER_ERROR", ERR_LIB_BIO, BIO_R_TRANSFER_ERROR}, | ||
| 160 | #else | ||
| 161 | @@ -920,6 +962,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 162 | #else | ||
| 163 | {"UNABLE_TO_REUSEADDR", 32, 139}, | ||
| 164 | #endif | ||
| 165 | + #ifdef BIO_R_UNABLE_TO_TFO | ||
| 166 | + {"UNABLE_TO_TFO", ERR_LIB_BIO, BIO_R_UNABLE_TO_TFO}, | ||
| 167 | + #else | ||
| 168 | + {"UNABLE_TO_TFO", 32, 109}, | ||
| 169 | + #endif | ||
| 170 | #ifdef BIO_R_UNAVAILABLE_IP_FAMILY | ||
| 171 | {"UNAVAILABLE_IP_FAMILY", ERR_LIB_BIO, BIO_R_UNAVAILABLE_IP_FAMILY}, | ||
| 172 | #else | ||
| 173 | @@ -1230,6 +1277,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 174 | #else | ||
| 175 | {"ERROR_VALIDATING_SIGNATURE", 58, 171}, | ||
| 176 | #endif | ||
| 177 | + #ifdef CMP_R_EXPECTED_POLLREQ | ||
| 178 | + {"EXPECTED_POLLREQ", ERR_LIB_CMP, CMP_R_EXPECTED_POLLREQ}, | ||
| 179 | + #else | ||
| 180 | + {"EXPECTED_POLLREQ", 58, 104}, | ||
| 181 | + #endif | ||
| 182 | #ifdef CMP_R_FAILED_BUILDING_OWN_CHAIN | ||
| 183 | {"FAILED_BUILDING_OWN_CHAIN", ERR_LIB_CMP, CMP_R_FAILED_BUILDING_OWN_CHAIN}, | ||
| 184 | #else | ||
| 185 | @@ -1250,16 +1302,51 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 186 | #else | ||
| 187 | {"FAIL_INFO_OUT_OF_RANGE", 58, 129}, | ||
| 188 | #endif | ||
| 189 | + #ifdef CMP_R_GENERATE_CERTREQTEMPLATE | ||
| 190 | + {"GENERATE_CERTREQTEMPLATE", ERR_LIB_CMP, CMP_R_GENERATE_CERTREQTEMPLATE}, | ||
| 191 | + #else | ||
| 192 | + {"GENERATE_CERTREQTEMPLATE", 58, 197}, | ||
| 193 | + #endif | ||
| 194 | + #ifdef CMP_R_GENERATE_CRLSTATUS | ||
| 195 | + {"GENERATE_CRLSTATUS", ERR_LIB_CMP, CMP_R_GENERATE_CRLSTATUS}, | ||
| 196 | + #else | ||
| 197 | + {"GENERATE_CRLSTATUS", 58, 198}, | ||
| 198 | + #endif | ||
| 199 | + #ifdef CMP_R_GETTING_GENP | ||
| 200 | + {"GETTING_GENP", ERR_LIB_CMP, CMP_R_GETTING_GENP}, | ||
| 201 | + #else | ||
| 202 | + {"GETTING_GENP", 58, 192}, | ||
| 203 | + #endif | ||
| 204 | + #ifdef CMP_R_GET_ITAV | ||
| 205 | + {"GET_ITAV", ERR_LIB_CMP, CMP_R_GET_ITAV}, | ||
| 206 | + #else | ||
| 207 | + {"GET_ITAV", 58, 199}, | ||
| 208 | + #endif | ||
| 209 | #ifdef CMP_R_INVALID_ARGS | ||
| 210 | {"INVALID_ARGS", ERR_LIB_CMP, CMP_R_INVALID_ARGS}, | ||
| 211 | #else | ||
| 212 | {"INVALID_ARGS", 58, 100}, | ||
| 213 | #endif | ||
| 214 | + #ifdef CMP_R_INVALID_GENP | ||
| 215 | + {"INVALID_GENP", ERR_LIB_CMP, CMP_R_INVALID_GENP}, | ||
| 216 | + #else | ||
| 217 | + {"INVALID_GENP", 58, 193}, | ||
| 218 | + #endif | ||
| 219 | + #ifdef CMP_R_INVALID_KEYSPEC | ||
| 220 | + {"INVALID_KEYSPEC", ERR_LIB_CMP, CMP_R_INVALID_KEYSPEC}, | ||
| 221 | + #else | ||
| 222 | + {"INVALID_KEYSPEC", 58, 202}, | ||
| 223 | + #endif | ||
| 224 | #ifdef CMP_R_INVALID_OPTION | ||
| 225 | {"INVALID_OPTION", ERR_LIB_CMP, CMP_R_INVALID_OPTION}, | ||
| 226 | #else | ||
| 227 | {"INVALID_OPTION", 58, 174}, | ||
| 228 | #endif | ||
| 229 | + #ifdef CMP_R_INVALID_ROOTCAKEYUPDATE | ||
| 230 | + {"INVALID_ROOTCAKEYUPDATE", ERR_LIB_CMP, CMP_R_INVALID_ROOTCAKEYUPDATE}, | ||
| 231 | + #else | ||
| 232 | + {"INVALID_ROOTCAKEYUPDATE", 58, 195}, | ||
| 233 | + #endif | ||
| 234 | #ifdef CMP_R_MISSING_CERTID | ||
| 235 | {"MISSING_CERTID", ERR_LIB_CMP, CMP_R_MISSING_CERTID}, | ||
| 236 | #else | ||
| 237 | @@ -1425,6 +1512,21 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 238 | #else | ||
| 239 | {"TRANSFER_ERROR", 58, 159}, | ||
| 240 | #endif | ||
| 241 | + #ifdef CMP_R_UNCLEAN_CTX | ||
| 242 | + {"UNCLEAN_CTX", ERR_LIB_CMP, CMP_R_UNCLEAN_CTX}, | ||
| 243 | + #else | ||
| 244 | + {"UNCLEAN_CTX", 58, 191}, | ||
| 245 | + #endif | ||
| 246 | + #ifdef CMP_R_UNEXPECTED_CERTPROFILE | ||
| 247 | + {"UNEXPECTED_CERTPROFILE", ERR_LIB_CMP, CMP_R_UNEXPECTED_CERTPROFILE}, | ||
| 248 | + #else | ||
| 249 | + {"UNEXPECTED_CERTPROFILE", 58, 196}, | ||
| 250 | + #endif | ||
| 251 | + #ifdef CMP_R_UNEXPECTED_CRLSTATUSLIST | ||
| 252 | + {"UNEXPECTED_CRLSTATUSLIST", ERR_LIB_CMP, CMP_R_UNEXPECTED_CRLSTATUSLIST}, | ||
| 253 | + #else | ||
| 254 | + {"UNEXPECTED_CRLSTATUSLIST", 58, 201}, | ||
| 255 | + #endif | ||
| 256 | #ifdef CMP_R_UNEXPECTED_PKIBODY | ||
| 257 | {"UNEXPECTED_PKIBODY", ERR_LIB_CMP, CMP_R_UNEXPECTED_PKIBODY}, | ||
| 258 | #else | ||
| 259 | @@ -1435,11 +1537,21 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 260 | #else | ||
| 261 | {"UNEXPECTED_PKISTATUS", 58, 185}, | ||
| 262 | #endif | ||
| 263 | + #ifdef CMP_R_UNEXPECTED_POLLREQ | ||
| 264 | + {"UNEXPECTED_POLLREQ", ERR_LIB_CMP, CMP_R_UNEXPECTED_POLLREQ}, | ||
| 265 | + #else | ||
| 266 | + {"UNEXPECTED_POLLREQ", 58, 105}, | ||
| 267 | + #endif | ||
| 268 | #ifdef CMP_R_UNEXPECTED_PVNO | ||
| 269 | {"UNEXPECTED_PVNO", ERR_LIB_CMP, CMP_R_UNEXPECTED_PVNO}, | ||
| 270 | #else | ||
| 271 | {"UNEXPECTED_PVNO", 58, 153}, | ||
| 272 | #endif | ||
| 273 | + #ifdef CMP_R_UNEXPECTED_SENDER | ||
| 274 | + {"UNEXPECTED_SENDER", ERR_LIB_CMP, CMP_R_UNEXPECTED_SENDER}, | ||
| 275 | + #else | ||
| 276 | + {"UNEXPECTED_SENDER", 58, 106}, | ||
| 277 | + #endif | ||
| 278 | #ifdef CMP_R_UNKNOWN_ALGORITHM_ID | ||
| 279 | {"UNKNOWN_ALGORITHM_ID", ERR_LIB_CMP, CMP_R_UNKNOWN_ALGORITHM_ID}, | ||
| 280 | #else | ||
| 281 | @@ -1450,6 +1562,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 282 | #else | ||
| 283 | {"UNKNOWN_CERT_TYPE", 58, 135}, | ||
| 284 | #endif | ||
| 285 | + #ifdef CMP_R_UNKNOWN_CRL_ISSUER | ||
| 286 | + {"UNKNOWN_CRL_ISSUER", ERR_LIB_CMP, CMP_R_UNKNOWN_CRL_ISSUER}, | ||
| 287 | + #else | ||
| 288 | + {"UNKNOWN_CRL_ISSUER", 58, 200}, | ||
| 289 | + #endif | ||
| 290 | #ifdef CMP_R_UNKNOWN_PKISTATUS | ||
| 291 | {"UNKNOWN_PKISTATUS", ERR_LIB_CMP, CMP_R_UNKNOWN_PKISTATUS}, | ||
| 292 | #else | ||
| 293 | @@ -1465,6 +1582,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 294 | #else | ||
| 295 | {"UNSUPPORTED_KEY_TYPE", 58, 137}, | ||
| 296 | #endif | ||
| 297 | + #ifdef CMP_R_UNSUPPORTED_PKIBODY | ||
| 298 | + {"UNSUPPORTED_PKIBODY", ERR_LIB_CMP, CMP_R_UNSUPPORTED_PKIBODY}, | ||
| 299 | + #else | ||
| 300 | + {"UNSUPPORTED_PKIBODY", 58, 101}, | ||
| 301 | + #endif | ||
| 302 | #ifdef CMP_R_UNSUPPORTED_PROTECTION_ALG_DHBASEDMAC | ||
| 303 | {"UNSUPPORTED_PROTECTION_ALG_DHBASEDMAC", ERR_LIB_CMP, CMP_R_UNSUPPORTED_PROTECTION_ALG_DHBASEDMAC}, | ||
| 304 | #else | ||
| 305 | @@ -1825,6 +1947,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 306 | #else | ||
| 307 | {"NO_SIGNERS", 46, 135}, | ||
| 308 | #endif | ||
| 309 | + #ifdef CMS_R_OPERATION_UNSUPPORTED | ||
| 310 | + {"OPERATION_UNSUPPORTED", ERR_LIB_CMS, CMS_R_OPERATION_UNSUPPORTED}, | ||
| 311 | + #else | ||
| 312 | + {"OPERATION_UNSUPPORTED", 46, 182}, | ||
| 313 | + #endif | ||
| 314 | #ifdef CMS_R_PEER_KEY_ERROR | ||
| 315 | {"PEER_KEY_ERROR", ERR_LIB_CMS, CMS_R_PEER_KEY_ERROR}, | ||
| 316 | #else | ||
| 317 | @@ -1960,6 +2087,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 318 | #else | ||
| 319 | {"UNSUPPORTED_RECIPIENT_TYPE", 46, 154}, | ||
| 320 | #endif | ||
| 321 | + #ifdef CMS_R_UNSUPPORTED_SIGNATURE_ALGORITHM | ||
| 322 | + {"UNSUPPORTED_SIGNATURE_ALGORITHM", ERR_LIB_CMS, CMS_R_UNSUPPORTED_SIGNATURE_ALGORITHM}, | ||
| 323 | + #else | ||
| 324 | + {"UNSUPPORTED_SIGNATURE_ALGORITHM", 46, 195}, | ||
| 325 | + #endif | ||
| 326 | #ifdef CMS_R_UNSUPPORTED_TYPE | ||
| 327 | {"UNSUPPORTED_TYPE", ERR_LIB_CMS, CMS_R_UNSUPPORTED_TYPE}, | ||
| 328 | #else | ||
| 329 | @@ -1985,6 +2117,31 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 330 | #else | ||
| 331 | {"WRAP_ERROR", 46, 159}, | ||
| 332 | #endif | ||
| 333 | + #ifdef COMP_R_BROTLI_DECODE_ERROR | ||
| 334 | + {"BROTLI_DECODE_ERROR", ERR_LIB_COMP, COMP_R_BROTLI_DECODE_ERROR}, | ||
| 335 | + #else | ||
| 336 | + {"BROTLI_DECODE_ERROR", 41, 102}, | ||
| 337 | + #endif | ||
| 338 | + #ifdef COMP_R_BROTLI_DEFLATE_ERROR | ||
| 339 | + {"BROTLI_DEFLATE_ERROR", ERR_LIB_COMP, COMP_R_BROTLI_DEFLATE_ERROR}, | ||
| 340 | + #else | ||
| 341 | + {"BROTLI_DEFLATE_ERROR", 41, 103}, | ||
| 342 | + #endif | ||
| 343 | + #ifdef COMP_R_BROTLI_ENCODE_ERROR | ||
| 344 | + {"BROTLI_ENCODE_ERROR", ERR_LIB_COMP, COMP_R_BROTLI_ENCODE_ERROR}, | ||
| 345 | + #else | ||
| 346 | + {"BROTLI_ENCODE_ERROR", 41, 106}, | ||
| 347 | + #endif | ||
| 348 | + #ifdef COMP_R_BROTLI_INFLATE_ERROR | ||
| 349 | + {"BROTLI_INFLATE_ERROR", ERR_LIB_COMP, COMP_R_BROTLI_INFLATE_ERROR}, | ||
| 350 | + #else | ||
| 351 | + {"BROTLI_INFLATE_ERROR", 41, 104}, | ||
| 352 | + #endif | ||
| 353 | + #ifdef COMP_R_BROTLI_NOT_SUPPORTED | ||
| 354 | + {"BROTLI_NOT_SUPPORTED", ERR_LIB_COMP, COMP_R_BROTLI_NOT_SUPPORTED}, | ||
| 355 | + #else | ||
| 356 | + {"BROTLI_NOT_SUPPORTED", 41, 105}, | ||
| 357 | + #endif | ||
| 358 | #ifdef COMP_R_ZLIB_DEFLATE_ERROR | ||
| 359 | {"ZLIB_DEFLATE_ERROR", ERR_LIB_COMP, COMP_R_ZLIB_DEFLATE_ERROR}, | ||
| 360 | #else | ||
| 361 | @@ -2000,6 +2157,26 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 362 | #else | ||
| 363 | {"ZLIB_NOT_SUPPORTED", 41, 101}, | ||
| 364 | #endif | ||
| 365 | + #ifdef COMP_R_ZSTD_COMPRESS_ERROR | ||
| 366 | + {"ZSTD_COMPRESS_ERROR", ERR_LIB_COMP, COMP_R_ZSTD_COMPRESS_ERROR}, | ||
| 367 | + #else | ||
| 368 | + {"ZSTD_COMPRESS_ERROR", 41, 107}, | ||
| 369 | + #endif | ||
| 370 | + #ifdef COMP_R_ZSTD_DECODE_ERROR | ||
| 371 | + {"ZSTD_DECODE_ERROR", ERR_LIB_COMP, COMP_R_ZSTD_DECODE_ERROR}, | ||
| 372 | + #else | ||
| 373 | + {"ZSTD_DECODE_ERROR", 41, 108}, | ||
| 374 | + #endif | ||
| 375 | + #ifdef COMP_R_ZSTD_DECOMPRESS_ERROR | ||
| 376 | + {"ZSTD_DECOMPRESS_ERROR", ERR_LIB_COMP, COMP_R_ZSTD_DECOMPRESS_ERROR}, | ||
| 377 | + #else | ||
| 378 | + {"ZSTD_DECOMPRESS_ERROR", 41, 109}, | ||
| 379 | + #endif | ||
| 380 | + #ifdef COMP_R_ZSTD_NOT_SUPPORTED | ||
| 381 | + {"ZSTD_NOT_SUPPORTED", ERR_LIB_COMP, COMP_R_ZSTD_NOT_SUPPORTED}, | ||
| 382 | + #else | ||
| 383 | + {"ZSTD_NOT_SUPPORTED", 41, 110}, | ||
| 384 | + #endif | ||
| 385 | #ifdef CONF_R_ERROR_LOADING_DSO | ||
| 386 | {"ERROR_LOADING_DSO", ERR_LIB_CONF, CONF_R_ERROR_LOADING_DSO}, | ||
| 387 | #else | ||
| 388 | @@ -2085,6 +2262,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 389 | #else | ||
| 390 | {"RECURSIVE_DIRECTORY_INCLUDE", 14, 111}, | ||
| 391 | #endif | ||
| 392 | + #ifdef CONF_R_RECURSIVE_SECTION_REFERENCE | ||
| 393 | + {"RECURSIVE_SECTION_REFERENCE", ERR_LIB_CONF, CONF_R_RECURSIVE_SECTION_REFERENCE}, | ||
| 394 | + #else | ||
| 395 | + {"RECURSIVE_SECTION_REFERENCE", 14, 126}, | ||
| 396 | + #endif | ||
| 397 | #ifdef CONF_R_RELATIVE_PATH | ||
| 398 | {"RELATIVE_PATH", ERR_LIB_CONF, CONF_R_RELATIVE_PATH}, | ||
| 399 | #else | ||
| 400 | @@ -2370,6 +2552,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 401 | #else | ||
| 402 | {"TOO_MANY_BYTES", 15, 113}, | ||
| 403 | #endif | ||
| 404 | + #ifdef CRYPTO_R_TOO_MANY_NAMES | ||
| 405 | + {"TOO_MANY_NAMES", ERR_LIB_CRYPTO, CRYPTO_R_TOO_MANY_NAMES}, | ||
| 406 | + #else | ||
| 407 | + {"TOO_MANY_NAMES", 15, 132}, | ||
| 408 | + #endif | ||
| 409 | #ifdef CRYPTO_R_TOO_MANY_RECORDS | ||
| 410 | {"TOO_MANY_RECORDS", ERR_LIB_CRYPTO, CRYPTO_R_TOO_MANY_RECORDS}, | ||
| 411 | #else | ||
| 412 | @@ -2560,6 +2747,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 413 | #else | ||
| 414 | {"INVALID_SECRET", 5, 128}, | ||
| 415 | #endif | ||
| 416 | + #ifdef DH_R_INVALID_SIZE | ||
| 417 | + {"INVALID_SIZE", ERR_LIB_DH, DH_R_INVALID_SIZE}, | ||
| 418 | + #else | ||
| 419 | + {"INVALID_SIZE", 5, 129}, | ||
| 420 | + #endif | ||
| 421 | #ifdef DH_R_KDF_PARAMETER_ERROR | ||
| 422 | {"KDF_PARAMETER_ERROR", ERR_LIB_DH, DH_R_KDF_PARAMETER_ERROR}, | ||
| 423 | #else | ||
| 424 | @@ -2610,6 +2802,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 425 | #else | ||
| 426 | {"PEER_KEY_ERROR", 5, 111}, | ||
| 427 | #endif | ||
| 428 | + #ifdef DH_R_Q_TOO_LARGE | ||
| 429 | + {"Q_TOO_LARGE", ERR_LIB_DH, DH_R_Q_TOO_LARGE}, | ||
| 430 | + #else | ||
| 431 | + {"Q_TOO_LARGE", 5, 130}, | ||
| 432 | + #endif | ||
| 433 | #ifdef DH_R_SHARED_INFO_ERROR | ||
| 434 | {"SHARED_INFO_ERROR", ERR_LIB_DH, DH_R_SHARED_INFO_ERROR}, | ||
| 435 | #else | ||
| 436 | @@ -3545,6 +3742,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 437 | #else | ||
| 438 | {"GENERATE_ERROR", 6, 214}, | ||
| 439 | #endif | ||
| 440 | + #ifdef EVP_R_GETTING_ALGORITHMIDENTIFIER_NOT_SUPPORTED | ||
| 441 | + {"GETTING_ALGORITHMIDENTIFIER_NOT_SUPPORTED", ERR_LIB_EVP, EVP_R_GETTING_ALGORITHMIDENTIFIER_NOT_SUPPORTED}, | ||
| 442 | + #else | ||
| 443 | + {"GETTING_ALGORITHMIDENTIFIER_NOT_SUPPORTED", 6, 229}, | ||
| 444 | + #endif | ||
| 445 | #ifdef EVP_R_GET_RAW_KEY_FAILED | ||
| 446 | {"GET_RAW_KEY_FAILED", ERR_LIB_EVP, EVP_R_GET_RAW_KEY_FAILED}, | ||
| 447 | #else | ||
| 448 | @@ -3745,6 +3947,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 449 | #else | ||
| 450 | {"OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE", 6, 150}, | ||
| 451 | #endif | ||
| 452 | + #ifdef EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_SIGNATURE_TYPE | ||
| 453 | + {"OPERATION_NOT_SUPPORTED_FOR_THIS_SIGNATURE_TYPE", ERR_LIB_EVP, EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_SIGNATURE_TYPE}, | ||
| 454 | + #else | ||
| 455 | + {"OPERATION_NOT_SUPPORTED_FOR_THIS_SIGNATURE_TYPE", 6, 226}, | ||
| 456 | + #endif | ||
| 457 | #ifdef EVP_R_OUTPUT_WOULD_OVERFLOW | ||
| 458 | {"OUTPUT_WOULD_OVERFLOW", ERR_LIB_EVP, EVP_R_OUTPUT_WOULD_OVERFLOW}, | ||
| 459 | #else | ||
| 460 | @@ -3795,6 +4002,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 461 | #else | ||
| 462 | {"SET_DEFAULT_PROPERTY_FAILURE", 6, 209}, | ||
| 463 | #endif | ||
| 464 | + #ifdef EVP_R_SIGNATURE_TYPE_AND_KEY_TYPE_INCOMPATIBLE | ||
| 465 | + {"SIGNATURE_TYPE_AND_KEY_TYPE_INCOMPATIBLE", ERR_LIB_EVP, EVP_R_SIGNATURE_TYPE_AND_KEY_TYPE_INCOMPATIBLE}, | ||
| 466 | + #else | ||
| 467 | + {"SIGNATURE_TYPE_AND_KEY_TYPE_INCOMPATIBLE", 6, 228}, | ||
| 468 | + #endif | ||
| 469 | #ifdef EVP_R_TOO_MANY_RECORDS | ||
| 470 | {"TOO_MANY_RECORDS", ERR_LIB_EVP, EVP_R_TOO_MANY_RECORDS}, | ||
| 471 | #else | ||
| 472 | @@ -3825,6 +4037,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 473 | #else | ||
| 474 | {"UNABLE_TO_SET_CALLBACKS", 6, 217}, | ||
| 475 | #endif | ||
| 476 | + #ifdef EVP_R_UNKNOWN_BITS | ||
| 477 | + {"UNKNOWN_BITS", ERR_LIB_EVP, EVP_R_UNKNOWN_BITS}, | ||
| 478 | + #else | ||
| 479 | + {"UNKNOWN_BITS", 6, 166}, | ||
| 480 | + #endif | ||
| 481 | #ifdef EVP_R_UNKNOWN_CIPHER | ||
| 482 | {"UNKNOWN_CIPHER", ERR_LIB_EVP, EVP_R_UNKNOWN_CIPHER}, | ||
| 483 | #else | ||
| 484 | @@ -3840,6 +4057,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 485 | #else | ||
| 486 | {"UNKNOWN_KEY_TYPE", 6, 207}, | ||
| 487 | #endif | ||
| 488 | + #ifdef EVP_R_UNKNOWN_MAX_SIZE | ||
| 489 | + {"UNKNOWN_MAX_SIZE", ERR_LIB_EVP, EVP_R_UNKNOWN_MAX_SIZE}, | ||
| 490 | + #else | ||
| 491 | + {"UNKNOWN_MAX_SIZE", 6, 167}, | ||
| 492 | + #endif | ||
| 493 | #ifdef EVP_R_UNKNOWN_OPTION | ||
| 494 | {"UNKNOWN_OPTION", ERR_LIB_EVP, EVP_R_UNKNOWN_OPTION}, | ||
| 495 | #else | ||
| 496 | @@ -3850,6 +4072,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 497 | #else | ||
| 498 | {"UNKNOWN_PBE_ALGORITHM", 6, 121}, | ||
| 499 | #endif | ||
| 500 | + #ifdef EVP_R_UNKNOWN_SECURITY_BITS | ||
| 501 | + {"UNKNOWN_SECURITY_BITS", ERR_LIB_EVP, EVP_R_UNKNOWN_SECURITY_BITS}, | ||
| 502 | + #else | ||
| 503 | + {"UNKNOWN_SECURITY_BITS", 6, 168}, | ||
| 504 | + #endif | ||
| 505 | #ifdef EVP_R_UNSUPPORTED_ALGORITHM | ||
| 506 | {"UNSUPPORTED_ALGORITHM", ERR_LIB_EVP, EVP_R_UNSUPPORTED_ALGORITHM}, | ||
| 507 | #else | ||
| 508 | @@ -4040,6 +4267,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 509 | #else | ||
| 510 | {"RESPONSE_PARSE_ERROR", 61, 104}, | ||
| 511 | #endif | ||
| 512 | + #ifdef HTTP_R_RESPONSE_TOO_MANY_HDRLINES | ||
| 513 | + {"RESPONSE_TOO_MANY_HDRLINES", ERR_LIB_HTTP, HTTP_R_RESPONSE_TOO_MANY_HDRLINES}, | ||
| 514 | + #else | ||
| 515 | + {"RESPONSE_TOO_MANY_HDRLINES", 61, 130}, | ||
| 516 | + #endif | ||
| 517 | #ifdef HTTP_R_RETRY_TIMEOUT | ||
| 518 | {"RETRY_TIMEOUT", ERR_LIB_HTTP, HTTP_R_RETRY_TIMEOUT}, | ||
| 519 | #else | ||
| 520 | @@ -4530,6 +4762,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 521 | #else | ||
| 522 | {"UNSUPPORTED_PUBLIC_KEY_TYPE", 9, 110}, | ||
| 523 | #endif | ||
| 524 | + #ifdef PKCS12_R_CALLBACK_FAILED | ||
| 525 | + {"CALLBACK_FAILED", ERR_LIB_PKCS12, PKCS12_R_CALLBACK_FAILED}, | ||
| 526 | + #else | ||
| 527 | + {"CALLBACK_FAILED", 35, 115}, | ||
| 528 | + #endif | ||
| 529 | #ifdef PKCS12_R_CANT_PACK_STRUCTURE | ||
| 530 | {"CANT_PACK_STRUCTURE", ERR_LIB_PKCS12, PKCS12_R_CANT_PACK_STRUCTURE}, | ||
| 531 | #else | ||
| 532 | @@ -4920,6 +5157,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 533 | #else | ||
| 534 | {"CIPHER_OPERATION_FAILED", 57, 102}, | ||
| 535 | #endif | ||
| 536 | + #ifdef PROV_R_COFACTOR_REQUIRED | ||
| 537 | + {"COFACTOR_REQUIRED", ERR_LIB_PROV, PROV_R_COFACTOR_REQUIRED}, | ||
| 538 | + #else | ||
| 539 | + {"COFACTOR_REQUIRED", 57, 236}, | ||
| 540 | + #endif | ||
| 541 | #ifdef PROV_R_DERIVATION_FUNCTION_INIT_FAILED | ||
| 542 | {"DERIVATION_FUNCTION_INIT_FAILED", ERR_LIB_PROV, PROV_R_DERIVATION_FUNCTION_INIT_FAILED}, | ||
| 543 | #else | ||
| 544 | @@ -4935,6 +5177,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 545 | #else | ||
| 546 | {"EMS_NOT_ENABLED", 57, 233}, | ||
| 547 | #endif | ||
| 548 | + #ifdef PROV_R_ENTROPY_SOURCE_FAILED_CONTINUOUS_TESTS | ||
| 549 | + {"ENTROPY_SOURCE_FAILED_CONTINUOUS_TESTS", ERR_LIB_PROV, PROV_R_ENTROPY_SOURCE_FAILED_CONTINUOUS_TESTS}, | ||
| 550 | + #else | ||
| 551 | + {"ENTROPY_SOURCE_FAILED_CONTINUOUS_TESTS", 57, 244}, | ||
| 552 | + #endif | ||
| 553 | #ifdef PROV_R_ENTROPY_SOURCE_STRENGTH_TOO_WEAK | ||
| 554 | {"ENTROPY_SOURCE_STRENGTH_TOO_WEAK", ERR_LIB_PROV, PROV_R_ENTROPY_SOURCE_STRENGTH_TOO_WEAK}, | ||
| 555 | #else | ||
| 556 | @@ -4990,6 +5237,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 557 | #else | ||
| 558 | {"FAILED_TO_SIGN", 57, 175}, | ||
| 559 | #endif | ||
| 560 | + #ifdef PROV_R_FINAL_CALL_OUT_OF_ORDER | ||
| 561 | + {"FINAL_CALL_OUT_OF_ORDER", ERR_LIB_PROV, PROV_R_FINAL_CALL_OUT_OF_ORDER}, | ||
| 562 | + #else | ||
| 563 | + {"FINAL_CALL_OUT_OF_ORDER", 57, 237}, | ||
| 564 | + #endif | ||
| 565 | #ifdef PROV_R_FIPS_MODULE_CONDITIONAL_ERROR | ||
| 566 | {"FIPS_MODULE_CONDITIONAL_ERROR", ERR_LIB_PROV, PROV_R_FIPS_MODULE_CONDITIONAL_ERROR}, | ||
| 567 | #else | ||
| 568 | @@ -5020,6 +5272,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 569 | #else | ||
| 570 | {"INDICATOR_INTEGRITY_FAILURE", 57, 210}, | ||
| 571 | #endif | ||
| 572 | + #ifdef PROV_R_INIT_CALL_OUT_OF_ORDER | ||
| 573 | + {"INIT_CALL_OUT_OF_ORDER", ERR_LIB_PROV, PROV_R_INIT_CALL_OUT_OF_ORDER}, | ||
| 574 | + #else | ||
| 575 | + {"INIT_CALL_OUT_OF_ORDER", 57, 238}, | ||
| 576 | + #endif | ||
| 577 | #ifdef PROV_R_INSUFFICIENT_DRBG_STRENGTH | ||
| 578 | {"INSUFFICIENT_DRBG_STRENGTH", ERR_LIB_PROV, PROV_R_INSUFFICIENT_DRBG_STRENGTH}, | ||
| 579 | #else | ||
| 580 | @@ -5030,6 +5287,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 581 | #else | ||
| 582 | {"INVALID_AAD", 57, 108}, | ||
| 583 | #endif | ||
| 584 | + #ifdef PROV_R_INVALID_AEAD | ||
| 585 | + {"INVALID_AEAD", ERR_LIB_PROV, PROV_R_INVALID_AEAD}, | ||
| 586 | + #else | ||
| 587 | + {"INVALID_AEAD", 57, 231}, | ||
| 588 | + #endif | ||
| 589 | #ifdef PROV_R_INVALID_CONFIG_DATA | ||
| 590 | {"INVALID_CONFIG_DATA", ERR_LIB_PROV, PROV_R_INVALID_CONFIG_DATA}, | ||
| 591 | #else | ||
| 592 | @@ -5070,6 +5332,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 593 | #else | ||
| 594 | {"INVALID_DIGEST_SIZE", 57, 218}, | ||
| 595 | #endif | ||
| 596 | + #ifdef PROV_R_INVALID_EDDSA_INSTANCE_FOR_ATTEMPTED_OPERATION | ||
| 597 | + {"INVALID_EDDSA_INSTANCE_FOR_ATTEMPTED_OPERATION", ERR_LIB_PROV, PROV_R_INVALID_EDDSA_INSTANCE_FOR_ATTEMPTED_OPERATION}, | ||
| 598 | + #else | ||
| 599 | + {"INVALID_EDDSA_INSTANCE_FOR_ATTEMPTED_OPERATION", 57, 243}, | ||
| 600 | + #endif | ||
| 601 | #ifdef PROV_R_INVALID_INPUT_LENGTH | ||
| 602 | {"INVALID_INPUT_LENGTH", ERR_LIB_PROV, PROV_R_INVALID_INPUT_LENGTH}, | ||
| 603 | #else | ||
| 604 | @@ -5085,6 +5352,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 605 | #else | ||
| 606 | {"INVALID_IV_LENGTH", 57, 109}, | ||
| 607 | #endif | ||
| 608 | + #ifdef PROV_R_INVALID_KDF | ||
| 609 | + {"INVALID_KDF", ERR_LIB_PROV, PROV_R_INVALID_KDF}, | ||
| 610 | + #else | ||
| 611 | + {"INVALID_KDF", 57, 232}, | ||
| 612 | + #endif | ||
| 613 | #ifdef PROV_R_INVALID_KEY | ||
| 614 | {"INVALID_KEY", ERR_LIB_PROV, PROV_R_INVALID_KEY}, | ||
| 615 | #else | ||
| 616 | @@ -5100,6 +5372,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 617 | #else | ||
| 618 | {"INVALID_MAC", 57, 151}, | ||
| 619 | #endif | ||
| 620 | + #ifdef PROV_R_INVALID_MEMORY_SIZE | ||
| 621 | + {"INVALID_MEMORY_SIZE", ERR_LIB_PROV, PROV_R_INVALID_MEMORY_SIZE}, | ||
| 622 | + #else | ||
| 623 | + {"INVALID_MEMORY_SIZE", 57, 235}, | ||
| 624 | + #endif | ||
| 625 | #ifdef PROV_R_INVALID_MGF1_MD | ||
| 626 | {"INVALID_MGF1_MD", ERR_LIB_PROV, PROV_R_INVALID_MGF1_MD}, | ||
| 627 | #else | ||
| 628 | @@ -5120,6 +5397,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 629 | #else | ||
| 630 | {"INVALID_PADDING_MODE", 57, 168}, | ||
| 631 | #endif | ||
| 632 | + #ifdef PROV_R_INVALID_PREHASHED_DIGEST_LENGTH | ||
| 633 | + {"INVALID_PREHASHED_DIGEST_LENGTH", ERR_LIB_PROV, PROV_R_INVALID_PREHASHED_DIGEST_LENGTH}, | ||
| 634 | + #else | ||
| 635 | + {"INVALID_PREHASHED_DIGEST_LENGTH", 57, 241}, | ||
| 636 | + #endif | ||
| 637 | #ifdef PROV_R_INVALID_PUBINFO | ||
| 638 | {"INVALID_PUBINFO", ERR_LIB_PROV, PROV_R_INVALID_PUBINFO}, | ||
| 639 | #else | ||
| 640 | @@ -5155,6 +5437,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 641 | #else | ||
| 642 | {"INVALID_TAG_LENGTH", 57, 118}, | ||
| 643 | #endif | ||
| 644 | + #ifdef PROV_R_INVALID_THREAD_POOL_SIZE | ||
| 645 | + {"INVALID_THREAD_POOL_SIZE", ERR_LIB_PROV, PROV_R_INVALID_THREAD_POOL_SIZE}, | ||
| 646 | + #else | ||
| 647 | + {"INVALID_THREAD_POOL_SIZE", 57, 234}, | ||
| 648 | + #endif | ||
| 649 | #ifdef PROV_R_INVALID_UKM_LENGTH | ||
| 650 | {"INVALID_UKM_LENGTH", ERR_LIB_PROV, PROV_R_INVALID_UKM_LENGTH}, | ||
| 651 | #else | ||
| 652 | @@ -5300,6 +5587,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 653 | #else | ||
| 654 | {"NOT_XOF_OR_INVALID_LENGTH", 57, 113}, | ||
| 655 | #endif | ||
| 656 | + #ifdef PROV_R_NO_INSTANCE_ALLOWED | ||
| 657 | + {"NO_INSTANCE_ALLOWED", ERR_LIB_PROV, PROV_R_NO_INSTANCE_ALLOWED}, | ||
| 658 | + #else | ||
| 659 | + {"NO_INSTANCE_ALLOWED", 57, 242}, | ||
| 660 | + #endif | ||
| 661 | #ifdef PROV_R_NO_KEY_SET | ||
| 662 | {"NO_KEY_SET", ERR_LIB_PROV, PROV_R_NO_KEY_SET}, | ||
| 663 | #else | ||
| 664 | @@ -5310,6 +5602,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 665 | #else | ||
| 666 | {"NO_PARAMETERS_SET", 57, 177}, | ||
| 667 | #endif | ||
| 668 | + #ifdef PROV_R_ONESHOT_CALL_OUT_OF_ORDER | ||
| 669 | + {"ONESHOT_CALL_OUT_OF_ORDER", ERR_LIB_PROV, PROV_R_ONESHOT_CALL_OUT_OF_ORDER}, | ||
| 670 | + #else | ||
| 671 | + {"ONESHOT_CALL_OUT_OF_ORDER", 57, 239}, | ||
| 672 | + #endif | ||
| 673 | #ifdef PROV_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE | ||
| 674 | {"OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE", ERR_LIB_PROV, PROV_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE}, | ||
| 675 | #else | ||
| 676 | @@ -5460,6 +5757,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 677 | #else | ||
| 678 | {"UNSUPPORTED_NUMBER_OF_ROUNDS", 57, 152}, | ||
| 679 | #endif | ||
| 680 | + #ifdef PROV_R_UPDATE_CALL_OUT_OF_ORDER | ||
| 681 | + {"UPDATE_CALL_OUT_OF_ORDER", ERR_LIB_PROV, PROV_R_UPDATE_CALL_OUT_OF_ORDER}, | ||
| 682 | + #else | ||
| 683 | + {"UPDATE_CALL_OUT_OF_ORDER", 57, 240}, | ||
| 684 | + #endif | ||
| 685 | #ifdef PROV_R_URI_AUTHORITY_UNSUPPORTED | ||
| 686 | {"URI_AUTHORITY_UNSUPPORTED", ERR_LIB_PROV, PROV_R_URI_AUTHORITY_UNSUPPORTED}, | ||
| 687 | #else | ||
| 688 | @@ -5595,6 +5897,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 689 | #else | ||
| 690 | {"INTERNAL_ERROR", 36, 113}, | ||
| 691 | #endif | ||
| 692 | + #ifdef RAND_R_INVALID_PROPERTY_QUERY | ||
| 693 | + {"INVALID_PROPERTY_QUERY", ERR_LIB_RAND, RAND_R_INVALID_PROPERTY_QUERY}, | ||
| 694 | + #else | ||
| 695 | + {"INVALID_PROPERTY_QUERY", 36, 137}, | ||
| 696 | + #endif | ||
| 697 | #ifdef RAND_R_IN_ERROR_STATE | ||
| 698 | {"IN_ERROR_STATE", ERR_LIB_RAND, RAND_R_IN_ERROR_STATE}, | ||
| 699 | #else | ||
| 700 | @@ -6210,6 +6517,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 701 | #else | ||
| 702 | {"AT_LEAST_TLS_1_2_NEEDED_IN_SUITEB_MODE", 20, 158}, | ||
| 703 | #endif | ||
| 704 | + #ifdef SSL_R_BAD_CERTIFICATE | ||
| 705 | + {"BAD_CERTIFICATE", ERR_LIB_SSL, SSL_R_BAD_CERTIFICATE}, | ||
| 706 | + #else | ||
| 707 | + {"BAD_CERTIFICATE", 20, 348}, | ||
| 708 | + #endif | ||
| 709 | #ifdef SSL_R_BAD_CHANGE_CIPHER_SPEC | ||
| 710 | {"BAD_CHANGE_CIPHER_SPEC", ERR_LIB_SSL, SSL_R_BAD_CHANGE_CIPHER_SPEC}, | ||
| 711 | #else | ||
| 712 | @@ -6220,6 +6532,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 713 | #else | ||
| 714 | {"BAD_CIPHER", 20, 186}, | ||
| 715 | #endif | ||
| 716 | + #ifdef SSL_R_BAD_COMPRESSION_ALGORITHM | ||
| 717 | + {"BAD_COMPRESSION_ALGORITHM", ERR_LIB_SSL, SSL_R_BAD_COMPRESSION_ALGORITHM}, | ||
| 718 | + #else | ||
| 719 | + {"BAD_COMPRESSION_ALGORITHM", 20, 326}, | ||
| 720 | + #endif | ||
| 721 | #ifdef SSL_R_BAD_DATA | ||
| 722 | {"BAD_DATA", ERR_LIB_SSL, SSL_R_BAD_DATA}, | ||
| 723 | #else | ||
| 724 | @@ -6495,6 +6812,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 725 | #else | ||
| 726 | {"CONNECTION_TYPE_NOT_SET", 20, 144}, | ||
| 727 | #endif | ||
| 728 | + #ifdef SSL_R_CONN_USE_ONLY | ||
| 729 | + {"CONN_USE_ONLY", ERR_LIB_SSL, SSL_R_CONN_USE_ONLY}, | ||
| 730 | + #else | ||
| 731 | + {"CONN_USE_ONLY", 20, 356}, | ||
| 732 | + #endif | ||
| 733 | #ifdef SSL_R_CONTEXT_NOT_DANE_ENABLED | ||
| 734 | {"CONTEXT_NOT_DANE_ENABLED", ERR_LIB_SSL, SSL_R_CONTEXT_NOT_DANE_ENABLED}, | ||
| 735 | #else | ||
| 736 | @@ -6635,6 +6957,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 737 | #else | ||
| 738 | {"EE_KEY_TOO_SMALL", 20, 399}, | ||
| 739 | #endif | ||
| 740 | + #ifdef SSL_R_EMPTY_RAW_PUBLIC_KEY | ||
| 741 | + {"EMPTY_RAW_PUBLIC_KEY", ERR_LIB_SSL, SSL_R_EMPTY_RAW_PUBLIC_KEY}, | ||
| 742 | + #else | ||
| 743 | + {"EMPTY_RAW_PUBLIC_KEY", 20, 349}, | ||
| 744 | + #endif | ||
| 745 | #ifdef SSL_R_EMPTY_SRTP_PROTECTION_PROFILE_LIST | ||
| 746 | {"EMPTY_SRTP_PROTECTION_PROFILE_LIST", ERR_LIB_SSL, SSL_R_EMPTY_SRTP_PROTECTION_PROFILE_LIST}, | ||
| 747 | #else | ||
| 748 | @@ -6650,6 +6977,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 749 | #else | ||
| 750 | {"ERROR_IN_RECEIVED_CIPHER_LIST", 20, 151}, | ||
| 751 | #endif | ||
| 752 | + #ifdef SSL_R_ERROR_IN_SYSTEM_DEFAULT_CONFIG | ||
| 753 | + {"ERROR_IN_SYSTEM_DEFAULT_CONFIG", ERR_LIB_SSL, SSL_R_ERROR_IN_SYSTEM_DEFAULT_CONFIG}, | ||
| 754 | + #else | ||
| 755 | + {"ERROR_IN_SYSTEM_DEFAULT_CONFIG", 20, 419}, | ||
| 756 | + #endif | ||
| 757 | #ifdef SSL_R_ERROR_SETTING_TLSA_BASE_DOMAIN | ||
| 758 | {"ERROR_SETTING_TLSA_BASE_DOMAIN", ERR_LIB_SSL, SSL_R_ERROR_SETTING_TLSA_BASE_DOMAIN}, | ||
| 759 | #else | ||
| 760 | @@ -6680,11 +7012,26 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 761 | #else | ||
| 762 | {"EXT_LENGTH_MISMATCH", 20, 163}, | ||
| 763 | #endif | ||
| 764 | + #ifdef SSL_R_FAILED_TO_GET_PARAMETER | ||
| 765 | + {"FAILED_TO_GET_PARAMETER", ERR_LIB_SSL, SSL_R_FAILED_TO_GET_PARAMETER}, | ||
| 766 | + #else | ||
| 767 | + {"FAILED_TO_GET_PARAMETER", 20, 316}, | ||
| 768 | + #endif | ||
| 769 | #ifdef SSL_R_FAILED_TO_INIT_ASYNC | ||
| 770 | {"FAILED_TO_INIT_ASYNC", ERR_LIB_SSL, SSL_R_FAILED_TO_INIT_ASYNC}, | ||
| 771 | #else | ||
| 772 | {"FAILED_TO_INIT_ASYNC", 20, 405}, | ||
| 773 | #endif | ||
| 774 | + #ifdef SSL_R_FEATURE_NEGOTIATION_NOT_COMPLETE | ||
| 775 | + {"FEATURE_NEGOTIATION_NOT_COMPLETE", ERR_LIB_SSL, SSL_R_FEATURE_NEGOTIATION_NOT_COMPLETE}, | ||
| 776 | + #else | ||
| 777 | + {"FEATURE_NEGOTIATION_NOT_COMPLETE", 20, 417}, | ||
| 778 | + #endif | ||
| 779 | + #ifdef SSL_R_FEATURE_NOT_RENEGOTIABLE | ||
| 780 | + {"FEATURE_NOT_RENEGOTIABLE", ERR_LIB_SSL, SSL_R_FEATURE_NOT_RENEGOTIABLE}, | ||
| 781 | + #else | ||
| 782 | + {"FEATURE_NOT_RENEGOTIABLE", 20, 413}, | ||
| 783 | + #endif | ||
| 784 | #ifdef SSL_R_FRAGMENTED_CLIENT_HELLO | ||
| 785 | {"FRAGMENTED_CLIENT_HELLO", ERR_LIB_SSL, SSL_R_FRAGMENTED_CLIENT_HELLO}, | ||
| 786 | #else | ||
| 787 | @@ -6805,6 +7152,16 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 788 | #else | ||
| 789 | {"INVALID_NULL_CMD_NAME", 20, 385}, | ||
| 790 | #endif | ||
| 791 | + #ifdef SSL_R_INVALID_RAW_PUBLIC_KEY | ||
| 792 | + {"INVALID_RAW_PUBLIC_KEY", ERR_LIB_SSL, SSL_R_INVALID_RAW_PUBLIC_KEY}, | ||
| 793 | + #else | ||
| 794 | + {"INVALID_RAW_PUBLIC_KEY", 20, 350}, | ||
| 795 | + #endif | ||
| 796 | + #ifdef SSL_R_INVALID_RECORD | ||
| 797 | + {"INVALID_RECORD", ERR_LIB_SSL, SSL_R_INVALID_RECORD}, | ||
| 798 | + #else | ||
| 799 | + {"INVALID_RECORD", 20, 317}, | ||
| 800 | + #endif | ||
| 801 | #ifdef SSL_R_INVALID_SEQUENCE_NUMBER | ||
| 802 | {"INVALID_SEQUENCE_NUMBER", ERR_LIB_SSL, SSL_R_INVALID_SEQUENCE_NUMBER}, | ||
| 803 | #else | ||
| 804 | @@ -6865,6 +7222,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 805 | #else | ||
| 806 | {"LIBRARY_HAS_NO_CIPHERS", 20, 161}, | ||
| 807 | #endif | ||
| 808 | + #ifdef SSL_R_MAXIMUM_ENCRYPTED_PKTS_REACHED | ||
| 809 | + {"MAXIMUM_ENCRYPTED_PKTS_REACHED", ERR_LIB_SSL, SSL_R_MAXIMUM_ENCRYPTED_PKTS_REACHED}, | ||
| 810 | + #else | ||
| 811 | + {"MAXIMUM_ENCRYPTED_PKTS_REACHED", 20, 395}, | ||
| 812 | + #endif | ||
| 813 | #ifdef SSL_R_MISSING_DSA_SIGNING_CERT | ||
| 814 | {"MISSING_DSA_SIGNING_CERT", ERR_LIB_SSL, SSL_R_MISSING_DSA_SIGNING_CERT}, | ||
| 815 | #else | ||
| 816 | @@ -6925,6 +7287,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 817 | #else | ||
| 818 | {"MISSING_SUPPORTED_GROUPS_EXTENSION", 20, 209}, | ||
| 819 | #endif | ||
| 820 | + #ifdef SSL_R_MISSING_SUPPORTED_VERSIONS_EXTENSION | ||
| 821 | + {"MISSING_SUPPORTED_VERSIONS_EXTENSION", ERR_LIB_SSL, SSL_R_MISSING_SUPPORTED_VERSIONS_EXTENSION}, | ||
| 822 | + #else | ||
| 823 | + {"MISSING_SUPPORTED_VERSIONS_EXTENSION", 20, 420}, | ||
| 824 | + #endif | ||
| 825 | #ifdef SSL_R_MISSING_TMP_DH_KEY | ||
| 826 | {"MISSING_TMP_DH_KEY", ERR_LIB_SSL, SSL_R_MISSING_TMP_DH_KEY}, | ||
| 827 | #else | ||
| 828 | @@ -7065,6 +7432,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 829 | #else | ||
| 830 | {"NO_SRTP_PROFILES", 20, 359}, | ||
| 831 | #endif | ||
| 832 | + #ifdef SSL_R_NO_STREAM | ||
| 833 | + {"NO_STREAM", ERR_LIB_SSL, SSL_R_NO_STREAM}, | ||
| 834 | + #else | ||
| 835 | + {"NO_STREAM", 20, 355}, | ||
| 836 | + #endif | ||
| 837 | #ifdef SSL_R_NO_SUITABLE_DIGEST_ALGORITHM | ||
| 838 | {"NO_SUITABLE_DIGEST_ALGORITHM", ERR_LIB_SSL, SSL_R_NO_SUITABLE_DIGEST_ALGORITHM}, | ||
| 839 | #else | ||
| 840 | @@ -7080,6 +7452,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 841 | #else | ||
| 842 | {"NO_SUITABLE_KEY_SHARE", 20, 101}, | ||
| 843 | #endif | ||
| 844 | + #ifdef SSL_R_NO_SUITABLE_RECORD_LAYER | ||
| 845 | + {"NO_SUITABLE_RECORD_LAYER", ERR_LIB_SSL, SSL_R_NO_SUITABLE_RECORD_LAYER}, | ||
| 846 | + #else | ||
| 847 | + {"NO_SUITABLE_RECORD_LAYER", 20, 322}, | ||
| 848 | + #endif | ||
| 849 | #ifdef SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM | ||
| 850 | {"NO_SUITABLE_SIGNATURE_ALGORITHM", ERR_LIB_SSL, SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM}, | ||
| 851 | #else | ||
| 852 | @@ -7160,6 +7537,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 853 | #else | ||
| 854 | {"PIPELINE_FAILURE", 20, 406}, | ||
| 855 | #endif | ||
| 856 | + #ifdef SSL_R_POLL_REQUEST_NOT_SUPPORTED | ||
| 857 | + {"POLL_REQUEST_NOT_SUPPORTED", ERR_LIB_SSL, SSL_R_POLL_REQUEST_NOT_SUPPORTED}, | ||
| 858 | + #else | ||
| 859 | + {"POLL_REQUEST_NOT_SUPPORTED", 20, 418}, | ||
| 860 | + #endif | ||
| 861 | #ifdef SSL_R_POST_HANDSHAKE_AUTH_ENCODING_ERR | ||
| 862 | {"POST_HANDSHAKE_AUTH_ENCODING_ERR", ERR_LIB_SSL, SSL_R_POST_HANDSHAKE_AUTH_ENCODING_ERR}, | ||
| 863 | #else | ||
| 864 | @@ -7190,6 +7572,21 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 865 | #else | ||
| 866 | {"PSK_NO_SERVER_CB", 20, 225}, | ||
| 867 | #endif | ||
| 868 | + #ifdef SSL_R_QUIC_HANDSHAKE_LAYER_ERROR | ||
| 869 | + {"QUIC_HANDSHAKE_LAYER_ERROR", ERR_LIB_SSL, SSL_R_QUIC_HANDSHAKE_LAYER_ERROR}, | ||
| 870 | + #else | ||
| 871 | + {"QUIC_HANDSHAKE_LAYER_ERROR", 20, 393}, | ||
| 872 | + #endif | ||
| 873 | + #ifdef SSL_R_QUIC_NETWORK_ERROR | ||
| 874 | + {"QUIC_NETWORK_ERROR", ERR_LIB_SSL, SSL_R_QUIC_NETWORK_ERROR}, | ||
| 875 | + #else | ||
| 876 | + {"QUIC_NETWORK_ERROR", 20, 387}, | ||
| 877 | + #endif | ||
| 878 | + #ifdef SSL_R_QUIC_PROTOCOL_ERROR | ||
| 879 | + {"QUIC_PROTOCOL_ERROR", ERR_LIB_SSL, SSL_R_QUIC_PROTOCOL_ERROR}, | ||
| 880 | + #else | ||
| 881 | + {"QUIC_PROTOCOL_ERROR", 20, 382}, | ||
| 882 | + #endif | ||
| 883 | #ifdef SSL_R_READ_BIO_NOT_SET | ||
| 884 | {"READ_BIO_NOT_SET", ERR_LIB_SSL, SSL_R_READ_BIO_NOT_SET}, | ||
| 885 | #else | ||
| 886 | @@ -7200,6 +7597,16 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 887 | #else | ||
| 888 | {"READ_TIMEOUT_EXPIRED", 20, 312}, | ||
| 889 | #endif | ||
| 890 | + #ifdef SSL_R_RECORDS_NOT_RELEASED | ||
| 891 | + {"RECORDS_NOT_RELEASED", ERR_LIB_SSL, SSL_R_RECORDS_NOT_RELEASED}, | ||
| 892 | + #else | ||
| 893 | + {"RECORDS_NOT_RELEASED", 20, 321}, | ||
| 894 | + #endif | ||
| 895 | + #ifdef SSL_R_RECORD_LAYER_FAILURE | ||
| 896 | + {"RECORD_LAYER_FAILURE", ERR_LIB_SSL, SSL_R_RECORD_LAYER_FAILURE}, | ||
| 897 | + #else | ||
| 898 | + {"RECORD_LAYER_FAILURE", 20, 313}, | ||
| 899 | + #endif | ||
| 900 | #ifdef SSL_R_RECORD_LENGTH_MISMATCH | ||
| 901 | {"RECORD_LENGTH_MISMATCH", ERR_LIB_SSL, SSL_R_RECORD_LENGTH_MISMATCH}, | ||
| 902 | #else | ||
| 903 | @@ -7210,6 +7617,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 904 | #else | ||
| 905 | {"RECORD_TOO_SMALL", 20, 298}, | ||
| 906 | #endif | ||
| 907 | + #ifdef SSL_R_REMOTE_PEER_ADDRESS_NOT_SET | ||
| 908 | + {"REMOTE_PEER_ADDRESS_NOT_SET", ERR_LIB_SSL, SSL_R_REMOTE_PEER_ADDRESS_NOT_SET}, | ||
| 909 | + #else | ||
| 910 | + {"REMOTE_PEER_ADDRESS_NOT_SET", 20, 346}, | ||
| 911 | + #endif | ||
| 912 | #ifdef SSL_R_RENEGOTIATE_EXT_TOO_LONG | ||
| 913 | {"RENEGOTIATE_EXT_TOO_LONG", ERR_LIB_SSL, SSL_R_RENEGOTIATE_EXT_TOO_LONG}, | ||
| 914 | #else | ||
| 915 | @@ -7255,6 +7667,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 916 | #else | ||
| 917 | {"SCT_VERIFICATION_FAILED", 20, 208}, | ||
| 918 | #endif | ||
| 919 | + #ifdef SSL_R_SEQUENCE_CTR_WRAPPED | ||
| 920 | + {"SEQUENCE_CTR_WRAPPED", ERR_LIB_SSL, SSL_R_SEQUENCE_CTR_WRAPPED}, | ||
| 921 | + #else | ||
| 922 | + {"SEQUENCE_CTR_WRAPPED", 20, 327}, | ||
| 923 | + #endif | ||
| 924 | #ifdef SSL_R_SERVERHELLO_TLSEXT | ||
| 925 | {"SERVERHELLO_TLSEXT", ERR_LIB_SSL, SSL_R_SERVERHELLO_TLSEXT}, | ||
| 926 | #else | ||
| 927 | @@ -7325,6 +7742,16 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 928 | #else | ||
| 929 | {"SSLV3_ALERT_BAD_CERTIFICATE", 20, 1042}, | ||
| 930 | #endif | ||
| 931 | + #ifdef SSL_R_SSLV3_ALERT_BAD_CERTIFICATE | ||
| 932 | + {"SSLV3_ALERT_BAD_CERTIFICATE", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_BAD_CERTIFICATE}, | ||
| 933 | + #else | ||
| 934 | + {"SSLV3_ALERT_BAD_CERTIFICATE", 20, 1042}, | ||
| 935 | + #endif | ||
| 936 | + #ifdef SSL_R_SSLV3_ALERT_BAD_RECORD_MAC | ||
| 937 | + {"SSLV3_ALERT_BAD_RECORD_MAC", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_BAD_RECORD_MAC}, | ||
| 938 | + #else | ||
| 939 | + {"SSLV3_ALERT_BAD_RECORD_MAC", 20, 1020}, | ||
| 940 | + #endif | ||
| 941 | #ifdef SSL_R_SSLV3_ALERT_BAD_RECORD_MAC | ||
| 942 | {"SSLV3_ALERT_BAD_RECORD_MAC", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_BAD_RECORD_MAC}, | ||
| 943 | #else | ||
| 944 | @@ -7335,11 +7762,26 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 945 | #else | ||
| 946 | {"SSLV3_ALERT_CERTIFICATE_EXPIRED", 20, 1045}, | ||
| 947 | #endif | ||
| 948 | + #ifdef SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED | ||
| 949 | + {"SSLV3_ALERT_CERTIFICATE_EXPIRED", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED}, | ||
| 950 | + #else | ||
| 951 | + {"SSLV3_ALERT_CERTIFICATE_EXPIRED", 20, 1045}, | ||
| 952 | + #endif | ||
| 953 | #ifdef SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED | ||
| 954 | {"SSLV3_ALERT_CERTIFICATE_REVOKED", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED}, | ||
| 955 | #else | ||
| 956 | {"SSLV3_ALERT_CERTIFICATE_REVOKED", 20, 1044}, | ||
| 957 | #endif | ||
| 958 | + #ifdef SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED | ||
| 959 | + {"SSLV3_ALERT_CERTIFICATE_REVOKED", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED}, | ||
| 960 | + #else | ||
| 961 | + {"SSLV3_ALERT_CERTIFICATE_REVOKED", 20, 1044}, | ||
| 962 | + #endif | ||
| 963 | + #ifdef SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN | ||
| 964 | + {"SSLV3_ALERT_CERTIFICATE_UNKNOWN", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN}, | ||
| 965 | + #else | ||
| 966 | + {"SSLV3_ALERT_CERTIFICATE_UNKNOWN", 20, 1046}, | ||
| 967 | + #endif | ||
| 968 | #ifdef SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN | ||
| 969 | {"SSLV3_ALERT_CERTIFICATE_UNKNOWN", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN}, | ||
| 970 | #else | ||
| 971 | @@ -7350,6 +7792,16 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 972 | #else | ||
| 973 | {"SSLV3_ALERT_DECOMPRESSION_FAILURE", 20, 1030}, | ||
| 974 | #endif | ||
| 975 | + #ifdef SSL_R_SSLV3_ALERT_DECOMPRESSION_FAILURE | ||
| 976 | + {"SSLV3_ALERT_DECOMPRESSION_FAILURE", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_DECOMPRESSION_FAILURE}, | ||
| 977 | + #else | ||
| 978 | + {"SSLV3_ALERT_DECOMPRESSION_FAILURE", 20, 1030}, | ||
| 979 | + #endif | ||
| 980 | + #ifdef SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE | ||
| 981 | + {"SSLV3_ALERT_HANDSHAKE_FAILURE", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE}, | ||
| 982 | + #else | ||
| 983 | + {"SSLV3_ALERT_HANDSHAKE_FAILURE", 20, 1040}, | ||
| 984 | + #endif | ||
| 985 | #ifdef SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE | ||
| 986 | {"SSLV3_ALERT_HANDSHAKE_FAILURE", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE}, | ||
| 987 | #else | ||
| 988 | @@ -7360,11 +7812,26 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 989 | #else | ||
| 990 | {"SSLV3_ALERT_ILLEGAL_PARAMETER", 20, 1047}, | ||
| 991 | #endif | ||
| 992 | + #ifdef SSL_R_SSLV3_ALERT_ILLEGAL_PARAMETER | ||
| 993 | + {"SSLV3_ALERT_ILLEGAL_PARAMETER", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_ILLEGAL_PARAMETER}, | ||
| 994 | + #else | ||
| 995 | + {"SSLV3_ALERT_ILLEGAL_PARAMETER", 20, 1047}, | ||
| 996 | + #endif | ||
| 997 | #ifdef SSL_R_SSLV3_ALERT_NO_CERTIFICATE | ||
| 998 | {"SSLV3_ALERT_NO_CERTIFICATE", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_NO_CERTIFICATE}, | ||
| 999 | #else | ||
| 1000 | {"SSLV3_ALERT_NO_CERTIFICATE", 20, 1041}, | ||
| 1001 | #endif | ||
| 1002 | + #ifdef SSL_R_SSLV3_ALERT_NO_CERTIFICATE | ||
| 1003 | + {"SSLV3_ALERT_NO_CERTIFICATE", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_NO_CERTIFICATE}, | ||
| 1004 | + #else | ||
| 1005 | + {"SSLV3_ALERT_NO_CERTIFICATE", 20, 1041}, | ||
| 1006 | + #endif | ||
| 1007 | + #ifdef SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE | ||
| 1008 | + {"SSLV3_ALERT_UNEXPECTED_MESSAGE", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE}, | ||
| 1009 | + #else | ||
| 1010 | + {"SSLV3_ALERT_UNEXPECTED_MESSAGE", 20, 1010}, | ||
| 1011 | + #endif | ||
| 1012 | #ifdef SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE | ||
| 1013 | {"SSLV3_ALERT_UNEXPECTED_MESSAGE", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE}, | ||
| 1014 | #else | ||
| 1015 | @@ -7375,6 +7842,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 1016 | #else | ||
| 1017 | {"SSLV3_ALERT_UNSUPPORTED_CERTIFICATE", 20, 1043}, | ||
| 1018 | #endif | ||
| 1019 | + #ifdef SSL_R_SSLV3_ALERT_UNSUPPORTED_CERTIFICATE | ||
| 1020 | + {"SSLV3_ALERT_UNSUPPORTED_CERTIFICATE", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_UNSUPPORTED_CERTIFICATE}, | ||
| 1021 | + #else | ||
| 1022 | + {"SSLV3_ALERT_UNSUPPORTED_CERTIFICATE", 20, 1043}, | ||
| 1023 | + #endif | ||
| 1024 | #ifdef SSL_R_SSL_COMMAND_SECTION_EMPTY | ||
| 1025 | {"SSL_COMMAND_SECTION_EMPTY", ERR_LIB_SSL, SSL_R_SSL_COMMAND_SECTION_EMPTY}, | ||
| 1026 | #else | ||
| 1027 | @@ -7450,6 +7922,36 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 1028 | #else | ||
| 1029 | {"STILL_IN_INIT", 20, 121}, | ||
| 1030 | #endif | ||
| 1031 | + #ifdef SSL_R_STREAM_COUNT_LIMITED | ||
| 1032 | + {"STREAM_COUNT_LIMITED", ERR_LIB_SSL, SSL_R_STREAM_COUNT_LIMITED}, | ||
| 1033 | + #else | ||
| 1034 | + {"STREAM_COUNT_LIMITED", 20, 411}, | ||
| 1035 | + #endif | ||
| 1036 | + #ifdef SSL_R_STREAM_FINISHED | ||
| 1037 | + {"STREAM_FINISHED", ERR_LIB_SSL, SSL_R_STREAM_FINISHED}, | ||
| 1038 | + #else | ||
| 1039 | + {"STREAM_FINISHED", 20, 365}, | ||
| 1040 | + #endif | ||
| 1041 | + #ifdef SSL_R_STREAM_RECV_ONLY | ||
| 1042 | + {"STREAM_RECV_ONLY", ERR_LIB_SSL, SSL_R_STREAM_RECV_ONLY}, | ||
| 1043 | + #else | ||
| 1044 | + {"STREAM_RECV_ONLY", 20, 366}, | ||
| 1045 | + #endif | ||
| 1046 | + #ifdef SSL_R_STREAM_RESET | ||
| 1047 | + {"STREAM_RESET", ERR_LIB_SSL, SSL_R_STREAM_RESET}, | ||
| 1048 | + #else | ||
| 1049 | + {"STREAM_RESET", 20, 375}, | ||
| 1050 | + #endif | ||
| 1051 | + #ifdef SSL_R_STREAM_SEND_ONLY | ||
| 1052 | + {"STREAM_SEND_ONLY", ERR_LIB_SSL, SSL_R_STREAM_SEND_ONLY}, | ||
| 1053 | + #else | ||
| 1054 | + {"STREAM_SEND_ONLY", 20, 379}, | ||
| 1055 | + #endif | ||
| 1056 | + #ifdef SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED | ||
| 1057 | + {"TLSV13_ALERT_CERTIFICATE_REQUIRED", ERR_LIB_SSL, SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED}, | ||
| 1058 | + #else | ||
| 1059 | + {"TLSV13_ALERT_CERTIFICATE_REQUIRED", 20, 1116}, | ||
| 1060 | + #endif | ||
| 1061 | #ifdef SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED | ||
| 1062 | {"TLSV13_ALERT_CERTIFICATE_REQUIRED", ERR_LIB_SSL, SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED}, | ||
| 1063 | #else | ||
| 1064 | @@ -7460,6 +7962,16 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 1065 | #else | ||
| 1066 | {"TLSV13_ALERT_MISSING_EXTENSION", 20, 1109}, | ||
| 1067 | #endif | ||
| 1068 | + #ifdef SSL_R_TLSV13_ALERT_MISSING_EXTENSION | ||
| 1069 | + {"TLSV13_ALERT_MISSING_EXTENSION", ERR_LIB_SSL, SSL_R_TLSV13_ALERT_MISSING_EXTENSION}, | ||
| 1070 | + #else | ||
| 1071 | + {"TLSV13_ALERT_MISSING_EXTENSION", 20, 1109}, | ||
| 1072 | + #endif | ||
| 1073 | + #ifdef SSL_R_TLSV1_ALERT_ACCESS_DENIED | ||
| 1074 | + {"TLSV1_ALERT_ACCESS_DENIED", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_ACCESS_DENIED}, | ||
| 1075 | + #else | ||
| 1076 | + {"TLSV1_ALERT_ACCESS_DENIED", 20, 1049}, | ||
| 1077 | + #endif | ||
| 1078 | #ifdef SSL_R_TLSV1_ALERT_ACCESS_DENIED | ||
| 1079 | {"TLSV1_ALERT_ACCESS_DENIED", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_ACCESS_DENIED}, | ||
| 1080 | #else | ||
| 1081 | @@ -7470,6 +7982,16 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 1082 | #else | ||
| 1083 | {"TLSV1_ALERT_DECODE_ERROR", 20, 1050}, | ||
| 1084 | #endif | ||
| 1085 | + #ifdef SSL_R_TLSV1_ALERT_DECODE_ERROR | ||
| 1086 | + {"TLSV1_ALERT_DECODE_ERROR", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_DECODE_ERROR}, | ||
| 1087 | + #else | ||
| 1088 | + {"TLSV1_ALERT_DECODE_ERROR", 20, 1050}, | ||
| 1089 | + #endif | ||
| 1090 | + #ifdef SSL_R_TLSV1_ALERT_DECRYPTION_FAILED | ||
| 1091 | + {"TLSV1_ALERT_DECRYPTION_FAILED", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_DECRYPTION_FAILED}, | ||
| 1092 | + #else | ||
| 1093 | + {"TLSV1_ALERT_DECRYPTION_FAILED", 20, 1021}, | ||
| 1094 | + #endif | ||
| 1095 | #ifdef SSL_R_TLSV1_ALERT_DECRYPTION_FAILED | ||
| 1096 | {"TLSV1_ALERT_DECRYPTION_FAILED", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_DECRYPTION_FAILED}, | ||
| 1097 | #else | ||
| 1098 | @@ -7480,6 +8002,16 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 1099 | #else | ||
| 1100 | {"TLSV1_ALERT_DECRYPT_ERROR", 20, 1051}, | ||
| 1101 | #endif | ||
| 1102 | + #ifdef SSL_R_TLSV1_ALERT_DECRYPT_ERROR | ||
| 1103 | + {"TLSV1_ALERT_DECRYPT_ERROR", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_DECRYPT_ERROR}, | ||
| 1104 | + #else | ||
| 1105 | + {"TLSV1_ALERT_DECRYPT_ERROR", 20, 1051}, | ||
| 1106 | + #endif | ||
| 1107 | + #ifdef SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION | ||
| 1108 | + {"TLSV1_ALERT_EXPORT_RESTRICTION", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION}, | ||
| 1109 | + #else | ||
| 1110 | + {"TLSV1_ALERT_EXPORT_RESTRICTION", 20, 1060}, | ||
| 1111 | + #endif | ||
| 1112 | #ifdef SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION | ||
| 1113 | {"TLSV1_ALERT_EXPORT_RESTRICTION", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION}, | ||
| 1114 | #else | ||
| 1115 | @@ -7490,6 +8022,16 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 1116 | #else | ||
| 1117 | {"TLSV1_ALERT_INAPPROPRIATE_FALLBACK", 20, 1086}, | ||
| 1118 | #endif | ||
| 1119 | + #ifdef SSL_R_TLSV1_ALERT_INAPPROPRIATE_FALLBACK | ||
| 1120 | + {"TLSV1_ALERT_INAPPROPRIATE_FALLBACK", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_INAPPROPRIATE_FALLBACK}, | ||
| 1121 | + #else | ||
| 1122 | + {"TLSV1_ALERT_INAPPROPRIATE_FALLBACK", 20, 1086}, | ||
| 1123 | + #endif | ||
| 1124 | + #ifdef SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY | ||
| 1125 | + {"TLSV1_ALERT_INSUFFICIENT_SECURITY", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY}, | ||
| 1126 | + #else | ||
| 1127 | + {"TLSV1_ALERT_INSUFFICIENT_SECURITY", 20, 1071}, | ||
| 1128 | + #endif | ||
| 1129 | #ifdef SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY | ||
| 1130 | {"TLSV1_ALERT_INSUFFICIENT_SECURITY", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY}, | ||
| 1131 | #else | ||
| 1132 | @@ -7500,6 +8042,26 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 1133 | #else | ||
| 1134 | {"TLSV1_ALERT_INTERNAL_ERROR", 20, 1080}, | ||
| 1135 | #endif | ||
| 1136 | + #ifdef SSL_R_TLSV1_ALERT_INTERNAL_ERROR | ||
| 1137 | + {"TLSV1_ALERT_INTERNAL_ERROR", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_INTERNAL_ERROR}, | ||
| 1138 | + #else | ||
| 1139 | + {"TLSV1_ALERT_INTERNAL_ERROR", 20, 1080}, | ||
| 1140 | + #endif | ||
| 1141 | + #ifdef SSL_R_TLSV1_ALERT_NO_APPLICATION_PROTOCOL | ||
| 1142 | + {"TLSV1_ALERT_NO_APPLICATION_PROTOCOL", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_NO_APPLICATION_PROTOCOL}, | ||
| 1143 | + #else | ||
| 1144 | + {"TLSV1_ALERT_NO_APPLICATION_PROTOCOL", 20, 1120}, | ||
| 1145 | + #endif | ||
| 1146 | + #ifdef SSL_R_TLSV1_ALERT_NO_APPLICATION_PROTOCOL | ||
| 1147 | + {"TLSV1_ALERT_NO_APPLICATION_PROTOCOL", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_NO_APPLICATION_PROTOCOL}, | ||
| 1148 | + #else | ||
| 1149 | + {"TLSV1_ALERT_NO_APPLICATION_PROTOCOL", 20, 1120}, | ||
| 1150 | + #endif | ||
| 1151 | + #ifdef SSL_R_TLSV1_ALERT_NO_RENEGOTIATION | ||
| 1152 | + {"TLSV1_ALERT_NO_RENEGOTIATION", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_NO_RENEGOTIATION}, | ||
| 1153 | + #else | ||
| 1154 | + {"TLSV1_ALERT_NO_RENEGOTIATION", 20, 1100}, | ||
| 1155 | + #endif | ||
| 1156 | #ifdef SSL_R_TLSV1_ALERT_NO_RENEGOTIATION | ||
| 1157 | {"TLSV1_ALERT_NO_RENEGOTIATION", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_NO_RENEGOTIATION}, | ||
| 1158 | #else | ||
| 1159 | @@ -7510,21 +8072,56 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 1160 | #else | ||
| 1161 | {"TLSV1_ALERT_PROTOCOL_VERSION", 20, 1070}, | ||
| 1162 | #endif | ||
| 1163 | + #ifdef SSL_R_TLSV1_ALERT_PROTOCOL_VERSION | ||
| 1164 | + {"TLSV1_ALERT_PROTOCOL_VERSION", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_PROTOCOL_VERSION}, | ||
| 1165 | + #else | ||
| 1166 | + {"TLSV1_ALERT_PROTOCOL_VERSION", 20, 1070}, | ||
| 1167 | + #endif | ||
| 1168 | #ifdef SSL_R_TLSV1_ALERT_RECORD_OVERFLOW | ||
| 1169 | {"TLSV1_ALERT_RECORD_OVERFLOW", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_RECORD_OVERFLOW}, | ||
| 1170 | #else | ||
| 1171 | {"TLSV1_ALERT_RECORD_OVERFLOW", 20, 1022}, | ||
| 1172 | #endif | ||
| 1173 | + #ifdef SSL_R_TLSV1_ALERT_RECORD_OVERFLOW | ||
| 1174 | + {"TLSV1_ALERT_RECORD_OVERFLOW", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_RECORD_OVERFLOW}, | ||
| 1175 | + #else | ||
| 1176 | + {"TLSV1_ALERT_RECORD_OVERFLOW", 20, 1022}, | ||
| 1177 | + #endif | ||
| 1178 | + #ifdef SSL_R_TLSV1_ALERT_UNKNOWN_CA | ||
| 1179 | + {"TLSV1_ALERT_UNKNOWN_CA", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_UNKNOWN_CA}, | ||
| 1180 | + #else | ||
| 1181 | + {"TLSV1_ALERT_UNKNOWN_CA", 20, 1048}, | ||
| 1182 | + #endif | ||
| 1183 | #ifdef SSL_R_TLSV1_ALERT_UNKNOWN_CA | ||
| 1184 | {"TLSV1_ALERT_UNKNOWN_CA", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_UNKNOWN_CA}, | ||
| 1185 | #else | ||
| 1186 | {"TLSV1_ALERT_UNKNOWN_CA", 20, 1048}, | ||
| 1187 | #endif | ||
| 1188 | + #ifdef SSL_R_TLSV1_ALERT_UNKNOWN_PSK_IDENTITY | ||
| 1189 | + {"TLSV1_ALERT_UNKNOWN_PSK_IDENTITY", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_UNKNOWN_PSK_IDENTITY}, | ||
| 1190 | + #else | ||
| 1191 | + {"TLSV1_ALERT_UNKNOWN_PSK_IDENTITY", 20, 1115}, | ||
| 1192 | + #endif | ||
| 1193 | + #ifdef SSL_R_TLSV1_ALERT_UNKNOWN_PSK_IDENTITY | ||
| 1194 | + {"TLSV1_ALERT_UNKNOWN_PSK_IDENTITY", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_UNKNOWN_PSK_IDENTITY}, | ||
| 1195 | + #else | ||
| 1196 | + {"TLSV1_ALERT_UNKNOWN_PSK_IDENTITY", 20, 1115}, | ||
| 1197 | + #endif | ||
| 1198 | #ifdef SSL_R_TLSV1_ALERT_USER_CANCELLED | ||
| 1199 | {"TLSV1_ALERT_USER_CANCELLED", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_USER_CANCELLED}, | ||
| 1200 | #else | ||
| 1201 | {"TLSV1_ALERT_USER_CANCELLED", 20, 1090}, | ||
| 1202 | #endif | ||
| 1203 | + #ifdef SSL_R_TLSV1_ALERT_USER_CANCELLED | ||
| 1204 | + {"TLSV1_ALERT_USER_CANCELLED", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_USER_CANCELLED}, | ||
| 1205 | + #else | ||
| 1206 | + {"TLSV1_ALERT_USER_CANCELLED", 20, 1090}, | ||
| 1207 | + #endif | ||
| 1208 | + #ifdef SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE | ||
| 1209 | + {"TLSV1_BAD_CERTIFICATE_HASH_VALUE", ERR_LIB_SSL, SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE}, | ||
| 1210 | + #else | ||
| 1211 | + {"TLSV1_BAD_CERTIFICATE_HASH_VALUE", 20, 1114}, | ||
| 1212 | + #endif | ||
| 1213 | #ifdef SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE | ||
| 1214 | {"TLSV1_BAD_CERTIFICATE_HASH_VALUE", ERR_LIB_SSL, SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE}, | ||
| 1215 | #else | ||
| 1216 | @@ -7535,6 +8132,16 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 1217 | #else | ||
| 1218 | {"TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE", 20, 1113}, | ||
| 1219 | #endif | ||
| 1220 | + #ifdef SSL_R_TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE | ||
| 1221 | + {"TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE", ERR_LIB_SSL, SSL_R_TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE}, | ||
| 1222 | + #else | ||
| 1223 | + {"TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE", 20, 1113}, | ||
| 1224 | + #endif | ||
| 1225 | + #ifdef SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE | ||
| 1226 | + {"TLSV1_CERTIFICATE_UNOBTAINABLE", ERR_LIB_SSL, SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE}, | ||
| 1227 | + #else | ||
| 1228 | + {"TLSV1_CERTIFICATE_UNOBTAINABLE", 20, 1111}, | ||
| 1229 | + #endif | ||
| 1230 | #ifdef SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE | ||
| 1231 | {"TLSV1_CERTIFICATE_UNOBTAINABLE", ERR_LIB_SSL, SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE}, | ||
| 1232 | #else | ||
| 1233 | @@ -7545,6 +8152,16 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 1234 | #else | ||
| 1235 | {"TLSV1_UNRECOGNIZED_NAME", 20, 1112}, | ||
| 1236 | #endif | ||
| 1237 | + #ifdef SSL_R_TLSV1_UNRECOGNIZED_NAME | ||
| 1238 | + {"TLSV1_UNRECOGNIZED_NAME", ERR_LIB_SSL, SSL_R_TLSV1_UNRECOGNIZED_NAME}, | ||
| 1239 | + #else | ||
| 1240 | + {"TLSV1_UNRECOGNIZED_NAME", 20, 1112}, | ||
| 1241 | + #endif | ||
| 1242 | + #ifdef SSL_R_TLSV1_UNSUPPORTED_EXTENSION | ||
| 1243 | + {"TLSV1_UNSUPPORTED_EXTENSION", ERR_LIB_SSL, SSL_R_TLSV1_UNSUPPORTED_EXTENSION}, | ||
| 1244 | + #else | ||
| 1245 | + {"TLSV1_UNSUPPORTED_EXTENSION", 20, 1110}, | ||
| 1246 | + #endif | ||
| 1247 | #ifdef SSL_R_TLSV1_UNSUPPORTED_EXTENSION | ||
| 1248 | {"TLSV1_UNSUPPORTED_EXTENSION", ERR_LIB_SSL, SSL_R_TLSV1_UNSUPPORTED_EXTENSION}, | ||
| 1249 | #else | ||
| 1250 | @@ -7665,6 +8282,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 1251 | #else | ||
| 1252 | {"UNKNOWN_KEY_EXCHANGE_TYPE", 20, 250}, | ||
| 1253 | #endif | ||
| 1254 | + #ifdef SSL_R_UNKNOWN_MANDATORY_PARAMETER | ||
| 1255 | + {"UNKNOWN_MANDATORY_PARAMETER", ERR_LIB_SSL, SSL_R_UNKNOWN_MANDATORY_PARAMETER}, | ||
| 1256 | + #else | ||
| 1257 | + {"UNKNOWN_MANDATORY_PARAMETER", 20, 323}, | ||
| 1258 | + #endif | ||
| 1259 | #ifdef SSL_R_UNKNOWN_PKEY_TYPE | ||
| 1260 | {"UNKNOWN_PKEY_TYPE", ERR_LIB_SSL, SSL_R_UNKNOWN_PKEY_TYPE}, | ||
| 1261 | #else | ||
| 1262 | @@ -7700,6 +8322,21 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 1263 | #else | ||
| 1264 | {"UNSUPPORTED_COMPRESSION_ALGORITHM", 20, 257}, | ||
| 1265 | #endif | ||
| 1266 | + #ifdef SSL_R_UNSUPPORTED_CONFIG_VALUE | ||
| 1267 | + {"UNSUPPORTED_CONFIG_VALUE", ERR_LIB_SSL, SSL_R_UNSUPPORTED_CONFIG_VALUE}, | ||
| 1268 | + #else | ||
| 1269 | + {"UNSUPPORTED_CONFIG_VALUE", 20, 414}, | ||
| 1270 | + #endif | ||
| 1271 | + #ifdef SSL_R_UNSUPPORTED_CONFIG_VALUE_CLASS | ||
| 1272 | + {"UNSUPPORTED_CONFIG_VALUE_CLASS", ERR_LIB_SSL, SSL_R_UNSUPPORTED_CONFIG_VALUE_CLASS}, | ||
| 1273 | + #else | ||
| 1274 | + {"UNSUPPORTED_CONFIG_VALUE_CLASS", 20, 415}, | ||
| 1275 | + #endif | ||
| 1276 | + #ifdef SSL_R_UNSUPPORTED_CONFIG_VALUE_OP | ||
| 1277 | + {"UNSUPPORTED_CONFIG_VALUE_OP", ERR_LIB_SSL, SSL_R_UNSUPPORTED_CONFIG_VALUE_OP}, | ||
| 1278 | + #else | ||
| 1279 | + {"UNSUPPORTED_CONFIG_VALUE_OP", 20, 416}, | ||
| 1280 | + #endif | ||
| 1281 | #ifdef SSL_R_UNSUPPORTED_ELLIPTIC_CURVE | ||
| 1282 | {"UNSUPPORTED_ELLIPTIC_CURVE", ERR_LIB_SSL, SSL_R_UNSUPPORTED_ELLIPTIC_CURVE}, | ||
| 1283 | #else | ||
| 1284 | @@ -7720,6 +8357,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 1285 | #else | ||
| 1286 | {"UNSUPPORTED_STATUS_TYPE", 20, 329}, | ||
| 1287 | #endif | ||
| 1288 | + #ifdef SSL_R_UNSUPPORTED_WRITE_FLAG | ||
| 1289 | + {"UNSUPPORTED_WRITE_FLAG", ERR_LIB_SSL, SSL_R_UNSUPPORTED_WRITE_FLAG}, | ||
| 1290 | + #else | ||
| 1291 | + {"UNSUPPORTED_WRITE_FLAG", 20, 412}, | ||
| 1292 | + #endif | ||
| 1293 | #ifdef SSL_R_USE_SRTP_NOT_NEGOTIATED | ||
| 1294 | {"USE_SRTP_NOT_NEGOTIATED", ERR_LIB_SSL, SSL_R_USE_SRTP_NOT_NEGOTIATED}, | ||
| 1295 | #else | ||
| 1296 | @@ -7750,6 +8392,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 1297 | #else | ||
| 1298 | {"WRONG_CURVE", 20, 378}, | ||
| 1299 | #endif | ||
| 1300 | + #ifdef SSL_R_WRONG_RPK_TYPE | ||
| 1301 | + {"WRONG_RPK_TYPE", ERR_LIB_SSL, SSL_R_WRONG_RPK_TYPE}, | ||
| 1302 | + #else | ||
| 1303 | + {"WRONG_RPK_TYPE", 20, 351}, | ||
| 1304 | + #endif | ||
| 1305 | #ifdef SSL_R_WRONG_SIGNATURE_LENGTH | ||
| 1306 | {"WRONG_SIGNATURE_LENGTH", ERR_LIB_SSL, SSL_R_WRONG_SIGNATURE_LENGTH}, | ||
| 1307 | #else | ||
| 1308 | @@ -8055,6 +8702,16 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 1309 | #else | ||
| 1310 | {"BAD_OBJECT", 34, 119}, | ||
| 1311 | #endif | ||
| 1312 | + #ifdef X509V3_R_BAD_OPTION | ||
| 1313 | + {"BAD_OPTION", ERR_LIB_X509V3, X509V3_R_BAD_OPTION}, | ||
| 1314 | + #else | ||
| 1315 | + {"BAD_OPTION", 34, 170}, | ||
| 1316 | + #endif | ||
| 1317 | + #ifdef X509V3_R_BAD_VALUE | ||
| 1318 | + {"BAD_VALUE", ERR_LIB_X509V3, X509V3_R_BAD_VALUE}, | ||
| 1319 | + #else | ||
| 1320 | + {"BAD_VALUE", 34, 171}, | ||
| 1321 | + #endif | ||
| 1322 | #ifdef X509V3_R_BN_DEC2BN_ERROR | ||
| 1323 | {"BN_DEC2BN_ERROR", ERR_LIB_X509V3, X509V3_R_BN_DEC2BN_ERROR}, | ||
| 1324 | #else | ||
| 1325 | @@ -8370,6 +9027,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 1326 | #else | ||
| 1327 | {"UNKNOWN_OPTION", 34, 120}, | ||
| 1328 | #endif | ||
| 1329 | + #ifdef X509V3_R_UNKNOWN_VALUE | ||
| 1330 | + {"UNKNOWN_VALUE", ERR_LIB_X509V3, X509V3_R_UNKNOWN_VALUE}, | ||
| 1331 | + #else | ||
| 1332 | + {"UNKNOWN_VALUE", 34, 172}, | ||
| 1333 | + #endif | ||
| 1334 | #ifdef X509V3_R_UNSUPPORTED_OPTION | ||
| 1335 | {"UNSUPPORTED_OPTION", ERR_LIB_X509V3, X509V3_R_UNSUPPORTED_OPTION}, | ||
| 1336 | #else | ||
| 1337 | @@ -8430,6 +9092,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 1338 | #else | ||
| 1339 | {"CRL_VERIFY_FAILURE", 11, 131}, | ||
| 1340 | #endif | ||
| 1341 | + #ifdef X509_R_DUPLICATE_ATTRIBUTE | ||
| 1342 | + {"DUPLICATE_ATTRIBUTE", ERR_LIB_X509, X509_R_DUPLICATE_ATTRIBUTE}, | ||
| 1343 | + #else | ||
| 1344 | + {"DUPLICATE_ATTRIBUTE", 11, 140}, | ||
| 1345 | + #endif | ||
| 1346 | #ifdef X509_R_ERROR_GETTING_MD_BY_NID | ||
| 1347 | {"ERROR_GETTING_MD_BY_NID", ERR_LIB_X509, X509_R_ERROR_GETTING_MD_BY_NID}, | ||
| 1348 | #else | ||
| 1349 | @@ -8590,6 +9257,11 @@ static struct py_ssl_error_code error_codes[] = { | ||
| 1350 | #else | ||
| 1351 | {"UNSUPPORTED_ALGORITHM", 11, 111}, | ||
| 1352 | #endif | ||
| 1353 | + #ifdef X509_R_UNSUPPORTED_VERSION | ||
| 1354 | + {"UNSUPPORTED_VERSION", ERR_LIB_X509, X509_R_UNSUPPORTED_VERSION}, | ||
| 1355 | + #else | ||
| 1356 | + {"UNSUPPORTED_VERSION", 11, 145}, | ||
| 1357 | + #endif | ||
| 1358 | #ifdef X509_R_WRONG_LOOKUP_TYPE | ||
| 1359 | {"WRONG_LOOKUP_TYPE", ERR_LIB_X509, X509_R_WRONG_LOOKUP_TYPE}, | ||
| 1360 | #else | ||
| 1361 | diff --git a/Tools/c-analyzer/cpython/_parser.py b/Tools/c-analyzer/cpython/_parser.py | ||
| 1362 | index 21be53e7884..a08b32fa45d 100644 | ||
| 1363 | --- a/Tools/c-analyzer/cpython/_parser.py | ||
| 1364 | +++ b/Tools/c-analyzer/cpython/_parser.py | ||
| 1365 | @@ -70,9 +70,7 @@ Python/thread_pthread.h | ||
| 1366 | Python/thread_pthread_stubs.h | ||
| 1367 | |||
| 1368 | # only huge constants (safe but parsing is slow) | ||
| 1369 | -Modules/_ssl_data_31.h | ||
| 1370 | -Modules/_ssl_data_300.h | ||
| 1371 | -Modules/_ssl_data_111.h | ||
| 1372 | +Modules/_ssl_data_*.h | ||
| 1373 | Modules/cjkcodecs/mappings_*.h | ||
| 1374 | Modules/unicodedata_db.h | ||
| 1375 | Modules/unicodename_db.h | ||
| 1376 | diff --git a/Tools/ssl/make_ssl_data.py b/Tools/ssl/make_ssl_data.py | ||
| 1377 | index 9860871..0cd05c7 100755 | ||
| 1378 | --- a/Tools/ssl/make_ssl_data.py | ||
| 1379 | +++ b/Tools/ssl/make_ssl_data.py | ||
| 1380 | @@ -5,9 +5,28 @@ This script should be called *manually* when we want to upgrade SSLError | ||
| 1381 | `library` and `reason` mnemonics to a more recent OpenSSL version. | ||
| 1382 | |||
| 1383 | It takes two arguments: | ||
| 1384 | -- the path to the OpenSSL source tree (e.g. git checkout) | ||
| 1385 | +- the path to the OpenSSL git checkout | ||
| 1386 | - the path to the header file to be generated Modules/_ssl_data_{version}.h | ||
| 1387 | - error codes are version specific | ||
| 1388 | + | ||
| 1389 | +The OpenSSL git checkout should be at a specific tag, using commands like: | ||
| 1390 | + git tag --list 'openssl-*' | ||
| 1391 | + git switch --detach openssl-3.4.0 | ||
| 1392 | + | ||
| 1393 | + | ||
| 1394 | +After generating the definitions, compare the result with newest pre-existing file. | ||
| 1395 | +You can use a command like: | ||
| 1396 | + | ||
| 1397 | + git diff --no-index Modules/_ssl_data_31.h Modules/_ssl_data_34.h | ||
| 1398 | + | ||
| 1399 | +- If the new version *only* adds new definitions, remove the pre-existing file | ||
| 1400 | + and adjust the #include in _ssl.c to point to the new version. | ||
| 1401 | +- If the new version removes or renumbers some definitions, keep both files and | ||
| 1402 | + add a new #include in _ssl.c. | ||
| 1403 | + | ||
| 1404 | +A newly supported OpenSSL version should also be added to: | ||
| 1405 | +- Tools/ssl/multissltests.py | ||
| 1406 | +- .github/workflows/build.yml | ||
| 1407 | """ | ||
| 1408 | |||
| 1409 | import argparse | ||
| 1410 | @@ -16,6 +35,7 @@ import operator | ||
| 1411 | import os | ||
| 1412 | import re | ||
| 1413 | import sys | ||
| 1414 | +import subprocess | ||
| 1415 | |||
| 1416 | |||
| 1417 | parser = argparse.ArgumentParser( | ||
| 1418 | @@ -118,9 +138,17 @@ def main(): | ||
| 1419 | # sort by libname, numeric error code | ||
| 1420 | args.reasons = sorted(reasons, key=operator.itemgetter(0, 3)) | ||
| 1421 | |||
| 1422 | + git_describe = subprocess.run( | ||
| 1423 | + ['git', 'describe', '--long', '--dirty'], | ||
| 1424 | + cwd=args.srcdir, | ||
| 1425 | + capture_output=True, | ||
| 1426 | + encoding='utf-8', | ||
| 1427 | + check=True, | ||
| 1428 | + ) | ||
| 1429 | lines = [ | ||
| 1430 | - "/* File generated by Tools/ssl/make_ssl_data.py */" | ||
| 1431 | - f"/* Generated on {datetime.datetime.utcnow().isoformat()} */" | ||
| 1432 | + "/* File generated by Tools/ssl/make_ssl_data.py */", | ||
| 1433 | + f"/* Generated on {datetime.datetime.now(datetime.UTC).isoformat()} */", | ||
| 1434 | + f"/* Generated from Git commit {git_describe.stdout.strip()} */", | ||
| 1435 | ] | ||
| 1436 | lines.extend(gen_library_codes(args)) | ||
| 1437 | lines.append("") | ||
| 1438 | diff --git a/Tools/ssl/multissltests.py b/Tools/ssl/multissltests.py | ||
| 1439 | index eae0e0c..fb06f63 100755 | ||
| 1440 | --- a/Tools/ssl/multissltests.py | ||
| 1441 | +++ b/Tools/ssl/multissltests.py | ||
| 1442 | @@ -51,6 +51,7 @@ OPENSSL_RECENT_VERSIONS = [ | ||
| 1443 | "3.1.7", | ||
| 1444 | "3.2.6", | ||
| 1445 | "3.3.5", | ||
| 1446 | + "3.4.0", | ||
| 1447 | ] | ||
| 1448 | |||
| 1449 | LIBRESSL_OLD_VERSIONS = [ | ||
| 1450 | -- | ||
| 1451 | 2.30.2 | ||
| 1452 | |||
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 deleted file mode 100644 index 84ad2abb0b..0000000000 --- a/meta/recipes-devtools/python/python3/0001-Lib-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch +++ /dev/null | |||
| @@ -1,46 +0,0 @@ | |||
| 1 | From 129ee75863081d9e3418acca3df1e47667f671ad Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alexander Kanavin <alex@linutronix.de> | ||
| 3 | Date: Thu, 16 Sep 2021 16:35:37 +0200 | ||
| 4 | Subject: [PATCH] Lib/pty.py: handle stdin I/O errors same way as master I/O | ||
| 5 | errors | ||
| 6 | |||
| 7 | reading stdin can throw the same I/O errors as reading from master fd does, | ||
| 8 | e.g. when running under Yocto's test harness: | ||
| 9 | ====================================================================== | ||
| 10 | ERROR: test_spawn_doesnt_hang (test.test_pty.PtyTest) | ||
| 11 | ---------------------------------------------------------------------- | ||
| 12 | Traceback (most recent call last): | ||
| 13 | File "/usr/lib/python3.10/test/test_pty.py", line 316, in test_spawn_doesnt_hang | ||
| 14 | pty.spawn([sys.executable, '-c', 'print("hi there")']) | ||
| 15 | File "/usr/lib/python3.10/pty.py", line 181, in spawn | ||
| 16 | _copy(master_fd, master_read, stdin_read) | ||
| 17 | File "/usr/lib/python3.10/pty.py", line 157, in _copy | ||
| 18 | data = stdin_read(STDIN_FILENO) | ||
| 19 | File "/usr/lib/python3.10/pty.py", line 132, in _read | ||
| 20 | return os.read(fd, 1024) | ||
| 21 | OSError: [Errno 5] Input/output error | ||
| 22 | |||
| 23 | So let's treat both channels the same. | ||
| 24 | |||
| 25 | Upstream-Status: Submitted [https://github.com/python/cpython/pull/28388] | ||
| 26 | Signed-off-by: Alexander Kanavin <alex@linutronix.de> | ||
| 27 | --- | ||
| 28 | Lib/pty.py | 5 ++++- | ||
| 29 | 1 file changed, 4 insertions(+), 1 deletion(-) | ||
| 30 | |||
| 31 | diff --git a/Lib/pty.py b/Lib/pty.py | ||
| 32 | index 1d97994..fa8821b 100644 | ||
| 33 | --- a/Lib/pty.py | ||
| 34 | +++ b/Lib/pty.py | ||
| 35 | @@ -178,7 +178,10 @@ def _copy(master_fd, master_read=_read, stdin_read=_read): | ||
| 36 | i_buf = i_buf[n:] | ||
| 37 | |||
| 38 | if stdin_avail and STDIN_FILENO in rfds: | ||
| 39 | - data = stdin_read(STDIN_FILENO) | ||
| 40 | + try: | ||
| 41 | + data = stdin_read(STDIN_FILENO) | ||
| 42 | + except OSError: | ||
| 43 | + data = b"" | ||
| 44 | if not data: | ||
| 45 | stdin_avail = False | ||
| 46 | else: | ||
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 deleted file mode 100644 index ffdf9affd9..0000000000 --- a/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch +++ /dev/null | |||
| @@ -1,31 +0,0 @@ | |||
| 1 | From 3f4f3e917950e286d5729ea949ca342995eb3c3e Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alexander Kanavin <alex@linutronix.de> | ||
| 3 | Date: Fri, 17 Nov 2023 14:26:32 +0100 | ||
| 4 | Subject: [PATCH] Lib/sysconfig.py: use prefix value from build configuration | ||
| 5 | file | ||
| 6 | |||
| 7 | This allows correctly substituting them for target installs using | ||
| 8 | native python. | ||
| 9 | |||
| 10 | Upstream-Status: Inappropriate [oe-core cross builds] | ||
| 11 | Signed-off-by: Alexander Kanavin <alex@linutronix.de> | ||
| 12 | --- | ||
| 13 | Lib/sysconfig/__init__.py | 5 +++++ | ||
| 14 | 1 file changed, 5 insertions(+) | ||
| 15 | |||
| 16 | diff --git a/Lib/sysconfig/__init__.py b/Lib/sysconfig/__init__.py | ||
| 17 | index f8e1c7d..0882526 100644 | ||
| 18 | --- a/Lib/sysconfig/__init__.py | ||
| 19 | +++ b/Lib/sysconfig/__init__.py | ||
| 20 | @@ -501,6 +501,11 @@ def _init_config_vars(): | ||
| 21 | _CONFIG_VARS['VPATH'] = sys._vpath | ||
| 22 | if os.name == 'posix': | ||
| 23 | _init_posix(_CONFIG_VARS) | ||
| 24 | + _CONFIG_VARS['installed_base'] = _CONFIG_VARS['prefix'] | ||
| 25 | + _CONFIG_VARS['base'] = _CONFIG_VARS['prefix'] | ||
| 26 | + _CONFIG_VARS['installed_platbase'] = _CONFIG_VARS['prefix'] | ||
| 27 | + _CONFIG_VARS['platbase'] = _CONFIG_VARS['prefix'] | ||
| 28 | + _CONFIG_VARS['platlibdir'] = _CONFIG_VARS['PLATLIBDIR'] | ||
| 29 | if _HAS_USER_BASE: | ||
| 30 | # Setting 'userbase' is done below the call to the | ||
| 31 | # init function to enable using 'get_config_var' in | ||
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 deleted file mode 100644 index 39b62f6f26..0000000000 --- a/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch +++ /dev/null | |||
| @@ -1,33 +0,0 @@ | |||
| 1 | From e7a8a7385f561f214054cf95f0a22bfa064eee0b Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | ||
| 3 | Date: Wed, 30 Jan 2019 12:41:04 +0100 | ||
| 4 | Subject: [PATCH] Makefile.pre: use qemu wrapper when gathering profile data | ||
| 5 | |||
| 6 | Upstream-Status: Inappropriate [oe-core specific] | ||
| 7 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | ||
| 8 | |||
| 9 | Update to remove test_types from the test list, since that fails under | ||
| 10 | qemu now. | ||
| 11 | |||
| 12 | Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> | ||
| 13 | --- | ||
| 14 | Makefile.pre.in | 3 +-- | ||
| 15 | 1 file changed, 1 insertion(+), 2 deletions(-) | ||
| 16 | |||
| 17 | diff --git a/Makefile.pre.in b/Makefile.pre.in | ||
| 18 | index 3bd4495f95b..8e8fc60bc76 100644 | ||
| 19 | --- a/Makefile.pre.in | ||
| 20 | +++ b/Makefile.pre.in | ||
| 21 | @@ -751,8 +751,7 @@ profile-run-stamp: | ||
| 22 | # enabled. | ||
| 23 | $(MAKE) profile-gen-stamp | ||
| 24 | # Next, run the profile task to generate the profile information. | ||
| 25 | - @ # FIXME: can't run for a cross build | ||
| 26 | - $(LLVM_PROF_FILE) $(RUNSHARED) ./$(BUILDPYTHON) $(PROFILE_TASK) | ||
| 27 | + ./pgo-wrapper ./python -m test.regrtest --pgo test_grammar test_opcodes test_dict | ||
| 28 | $(LLVM_PROF_MERGER) | ||
| 29 | # Remove profile generation binary since we are done with it. | ||
| 30 | $(MAKE) clean-retain-profile | ||
| 31 | -- | ||
| 32 | 2.39.5 | ||
| 33 | |||
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 deleted file mode 100644 index 8fa794b5e7..0000000000 --- a/meta/recipes-devtools/python/python3/0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch +++ /dev/null | |||
| @@ -1,72 +0,0 @@ | |||
| 1 | From 8828a52ebace98199569404f01174398bcc64a00 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Yi Fan Yu <yifan.yu@windriver.com> | ||
| 3 | Date: Thu, 1 Apr 2021 13:08:37 -0700 | ||
| 4 | Subject: [PATCH] Skip failing tests due to load variability on YP AB | ||
| 5 | |||
| 6 | Skip these tests until AB-INT is solved. | ||
| 7 | |||
| 8 | [YOCTO #14296] | ||
| 9 | |||
| 10 | Upstream-Status: Inappropriate [OE-Specific] | ||
| 11 | |||
| 12 | Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com> | ||
| 13 | |||
| 14 | Skip two additional tests due to suspected load variability failures. | ||
| 15 | |||
| 16 | [YOCTO #15131] | ||
| 17 | [YOCTO #15177] | ||
| 18 | |||
| 19 | Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> | ||
| 20 | --- | ||
| 21 | Lib/test/_test_multiprocessing.py | 3 +++ | ||
| 22 | Lib/test/test_time.py | 2 ++ | ||
| 23 | 2 files changed, 5 insertions(+) | ||
| 24 | |||
| 25 | diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py | ||
| 26 | index 5dae370..23eb971 100644 | ||
| 27 | --- a/Lib/test/_test_multiprocessing.py | ||
| 28 | +++ b/Lib/test/_test_multiprocessing.py | ||
| 29 | @@ -701,6 +701,7 @@ class _TestProcess(BaseTestCase): | ||
| 30 | close_queue(q) | ||
| 31 | |||
| 32 | @support.requires_resource('walltime') | ||
| 33 | + @unittest.skip('timing related test, dependent on load') | ||
| 34 | def test_many_processes(self): | ||
| 35 | if self.TYPE == 'threads': | ||
| 36 | self.skipTest('test not appropriate for {}'.format(self.TYPE)) | ||
| 37 | @@ -2232,6 +2233,7 @@ class _TestBarrier(BaseTestCase): | ||
| 38 | except threading.BrokenBarrierError: | ||
| 39 | results.append(True) | ||
| 40 | |||
| 41 | + @unittest.skip('timing related test, dependent on load') | ||
| 42 | def test_timeout(self): | ||
| 43 | """ | ||
| 44 | Test wait(timeout) | ||
| 45 | @@ -5320,6 +5322,7 @@ class TestWait(unittest.TestCase): | ||
| 46 | time.sleep(period) | ||
| 47 | |||
| 48 | @support.requires_resource('walltime') | ||
| 49 | + @unittest.skip('timing related test, dependent on load') | ||
| 50 | def test_wait_integer(self): | ||
| 51 | from multiprocessing.connection import wait | ||
| 52 | |||
| 53 | diff --git a/Lib/test/test_time.py b/Lib/test/test_time.py | ||
| 54 | index 293799f..1dbb623 100644 | ||
| 55 | --- a/Lib/test/test_time.py | ||
| 56 | +++ b/Lib/test/test_time.py | ||
| 57 | @@ -548,6 +548,7 @@ class TimeTestCase(unittest.TestCase): | ||
| 58 | @unittest.skipIf( | ||
| 59 | support.is_wasi, "process_time not available on WASI" | ||
| 60 | ) | ||
| 61 | + @unittest.skip('timing related test, dependent on load') | ||
| 62 | def test_process_time(self): | ||
| 63 | # process_time() should not include time spend during a sleep | ||
| 64 | start = time.process_time() | ||
| 65 | @@ -561,6 +562,7 @@ class TimeTestCase(unittest.TestCase): | ||
| 66 | self.assertTrue(info.monotonic) | ||
| 67 | self.assertFalse(info.adjustable) | ||
| 68 | |||
| 69 | + @unittest.skip('timing related test, dependent on load') | ||
| 70 | def test_thread_time(self): | ||
| 71 | if not hasattr(time, 'thread_time'): | ||
| 72 | if sys.platform.startswith(('linux', 'android', '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 deleted file mode 100644 index adaca4ff77..0000000000 --- a/meta/recipes-devtools/python/python3/0001-Update-test_sysconfig-for-posix_user-purelib.patch +++ /dev/null | |||
| @@ -1,36 +0,0 @@ | |||
| 1 | From 5bf5aa6eae1fa3eed66893e51a1858ab481426b4 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Wentao Zhang <wentao.zhang@windriver.com> | ||
| 3 | Date: Mon, 20 Mar 2023 13:39:52 +0800 | ||
| 4 | Subject: [PATCH] Update test_sysconfig for posix_user purelib | ||
| 5 | |||
| 6 | Steps to trigger the failed test: | ||
| 7 | Edit local.conf to add something as follows: | ||
| 8 | BASELIB = "lib64" | ||
| 9 | IMAGE_INSTALL:append = " python3-tests". | ||
| 10 | bitbake core-image-sato | ||
| 11 | runqemu qemux86-64 nographic slirp | ||
| 12 | Reproducer: | ||
| 13 | $python3 -m test test_sysconfig | ||
| 14 | |||
| 15 | Update test_sysconfig.test_user_similar() for the posix_user scheme: | ||
| 16 | "purelib" doesn't use sys.platlibdir. | ||
| 17 | |||
| 18 | Upstream-Status: Inappropriate [oe-core specific] | ||
| 19 | Signed-off-by: Wentao Zhang <wentao.zhang@windriver.com> | ||
| 20 | --- | ||
| 21 | Lib/test/test_sysconfig.py | 2 +- | ||
| 22 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 23 | |||
| 24 | diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py | ||
| 25 | index 1ade492..4e94889 100644 | ||
| 26 | --- a/Lib/test/test_sysconfig.py | ||
| 27 | +++ b/Lib/test/test_sysconfig.py | ||
| 28 | @@ -430,7 +430,7 @@ class TestSysConfig(unittest.TestCase): | ||
| 29 | expected = os.path.normpath(global_path.replace(base, user, 1)) | ||
| 30 | # bpo-44860: platlib of posix_user doesn't use sys.platlibdir, | ||
| 31 | # whereas posix_prefix does. | ||
| 32 | - if name == 'platlib': | ||
| 33 | + if name == 'platlib' or name == 'purelib': | ||
| 34 | # Replace "/lib64/python3.11/site-packages" suffix | ||
| 35 | # with "/lib/python3.11/site-packages". | ||
| 36 | py_version_abi = sysconfig._get_python_version_abi() | ||
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 deleted file mode 100644 index 9bc8b091cc..0000000000 --- a/meta/recipes-devtools/python/python3/0001-skip-no_stdout_fileno-test-due-to-load-variability.patch +++ /dev/null | |||
| @@ -1,29 +0,0 @@ | |||
| 1 | From c5bdd39f8ebc4e6c58a47d7e424eac028eddb4ff Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Trevor Gamblin <tgamblin@baylibre.com> | ||
| 3 | Date: Fri, 15 Sep 2023 08:48:33 -0400 | ||
| 4 | Subject: [PATCH] skip no_stdout_fileno test due to load variability | ||
| 5 | |||
| 6 | Skip test_input_no_stdout_fileno so that it doesn't fail on systems | ||
| 7 | under heavy load. | ||
| 8 | |||
| 9 | Upstream-Status: Inappropriate [OE-Specific] | ||
| 10 | |||
| 11 | [YOCTO #15210] | ||
| 12 | |||
| 13 | Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> | ||
| 14 | --- | ||
| 15 | Lib/test/test_builtin.py | 1 + | ||
| 16 | 1 file changed, 1 insertion(+) | ||
| 17 | |||
| 18 | diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py | ||
| 19 | index c5394de..ed17fb6 100644 | ||
| 20 | --- a/Lib/test/test_builtin.py | ||
| 21 | +++ b/Lib/test/test_builtin.py | ||
| 22 | @@ -2474,6 +2474,7 @@ class PtyTests(unittest.TestCase): | ||
| 23 | "byte 0xe9 in position 4: ordinal not in " | ||
| 24 | "range(128)") | ||
| 25 | |||
| 26 | + @unittest.skip("Test may fail under heavy load") | ||
| 27 | def test_input_no_stdout_fileno(self): | ||
| 28 | # Issue #24402: If stdin is the original terminal but stdout.fileno() | ||
| 29 | # 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 deleted file mode 100644 index b9c68a98d7..0000000000 --- a/meta/recipes-devtools/python/python3/0001-sysconfig.py-use-platlibdir-also-for-purelib.patch +++ /dev/null | |||
| @@ -1,27 +0,0 @@ | |||
| 1 | From bbcb17dc1ed283f41c8cd94d39f70898f0c45583 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alexander Kanavin <alex@linutronix.de> | ||
| 3 | Date: Sun, 12 Sep 2021 21:44:36 +0200 | ||
| 4 | Subject: [PATCH] sysconfig.py: use platlibdir also for purelib | ||
| 5 | |||
| 6 | This is needed in multilib configurations where hardcoding 'lib' | ||
| 7 | is not correct. | ||
| 8 | |||
| 9 | Upstream-Status: Inappropriate [oe-core specific] | ||
| 10 | Signed-off-by: Alexander Kanavin <alex@linutronix.de> | ||
| 11 | --- | ||
| 12 | Lib/sysconfig/__init__.py | 2 +- | ||
| 13 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 14 | |||
| 15 | diff --git a/Lib/sysconfig/__init__.py b/Lib/sysconfig/__init__.py | ||
| 16 | index 80aef34..f8e1c7d 100644 | ||
| 17 | --- a/Lib/sysconfig/__init__.py | ||
| 18 | +++ b/Lib/sysconfig/__init__.py | ||
| 19 | @@ -29,7 +29,7 @@ _INSTALL_SCHEMES = { | ||
| 20 | 'posix_prefix': { | ||
| 21 | 'stdlib': '{installed_base}/{platlibdir}/{implementation_lower}{py_version_short}{abi_thread}', | ||
| 22 | 'platstdlib': '{platbase}/{platlibdir}/{implementation_lower}{py_version_short}{abi_thread}', | ||
| 23 | - 'purelib': '{base}/lib/{implementation_lower}{py_version_short}{abi_thread}/site-packages', | ||
| 24 | + 'purelib': '{base}/{platlibdir}/{implementation_lower}{py_version_short}{abi_thread}/site-packages', | ||
| 25 | 'platlib': '{platbase}/{platlibdir}/{implementation_lower}{py_version_short}{abi_thread}/site-packages', | ||
| 26 | 'include': | ||
| 27 | '{installed_base}/include/{implementation_lower}{py_version_short}{abiflags}', | ||
diff --git a/meta/recipes-devtools/python/python3/0001-test_active_children-skip-problematic-test.patch b/meta/recipes-devtools/python/python3/0001-test_active_children-skip-problematic-test.patch deleted file mode 100644 index 08ac5861b3..0000000000 --- a/meta/recipes-devtools/python/python3/0001-test_active_children-skip-problematic-test.patch +++ /dev/null | |||
| @@ -1,27 +0,0 @@ | |||
| 1 | From 540765b148d942a2339affa6c0d11445e9d0f26c Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Trevor Gamblin <tgamblin@baylibre.com> | ||
| 3 | Date: Thu, 13 Jun 2024 10:54:31 -0400 | ||
| 4 | Subject: [PATCH] test_active_children: skip problematic test | ||
| 5 | |||
| 6 | This test is failing in some tests on the Autobuilder. Since it's of a | ||
| 7 | similar nature to other failing/hanging tests, disable it for now. | ||
| 8 | |||
| 9 | Upstream-Status: Inappropriate [OE-Specific] | ||
| 10 | |||
| 11 | Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> | ||
| 12 | --- | ||
| 13 | Lib/test/_test_multiprocessing.py | 1 + | ||
| 14 | 1 file changed, 1 insertion(+) | ||
| 15 | |||
| 16 | diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py | ||
| 17 | index 23eb971..b1295b2 100644 | ||
| 18 | --- a/Lib/test/_test_multiprocessing.py | ||
| 19 | +++ b/Lib/test/_test_multiprocessing.py | ||
| 20 | @@ -594,6 +594,7 @@ class _TestProcess(BaseTestCase): | ||
| 21 | self.assertTrue(type(cpus) is int) | ||
| 22 | self.assertTrue(cpus >= 1) | ||
| 23 | |||
| 24 | + @unittest.skip("skipping problematic test") | ||
| 25 | def test_active_children(self): | ||
| 26 | self.assertEqual(type(self.active_children()), list) | ||
| 27 | |||
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 deleted file mode 100644 index 68e277d662..0000000000 --- a/meta/recipes-devtools/python/python3/0001-test_ctypes.test_find-skip-without-tools-sdk.patch +++ /dev/null | |||
| @@ -1,33 +0,0 @@ | |||
| 1 | From 0e9d0c58e77ef540d9601ce84a1aa79d9ce6ee9b Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Tim Orling <timothy.t.orling@intel.com> | ||
| 3 | Date: Fri, 18 Jun 2021 11:56:50 -0700 | ||
| 4 | Subject: [PATCH] test_ctypes.test_find: skip without tools-sdk | ||
| 5 | |||
| 6 | These tests need full packagegroup-core-buildessential, the | ||
| 7 | easiest way to dynamically check for that is looking for | ||
| 8 | 'tools-sdk' in IMAGE_FEATURES. | ||
| 9 | |||
| 10 | Upstream-Status: Inappropriate [oe-specific] | ||
| 11 | |||
| 12 | Signed-off-by: Tim Orling <timothy.t.orling@intel.com> | ||
| 13 | --- | ||
| 14 | Lib/test/test_ctypes/test_find.py | 2 ++ | ||
| 15 | 1 file changed, 2 insertions(+) | ||
| 16 | |||
| 17 | diff --git a/Lib/test/test_ctypes/test_find.py b/Lib/test/test_ctypes/test_find.py | ||
| 18 | index 85b2861..b033203 100644 | ||
| 19 | --- a/Lib/test/test_ctypes/test_find.py | ||
| 20 | +++ b/Lib/test/test_ctypes/test_find.py | ||
| 21 | @@ -116,10 +116,12 @@ class FindLibraryLinux(unittest.TestCase): | ||
| 22 | # LD_LIBRARY_PATH) | ||
| 23 | self.assertEqual(find_library(libname), 'lib%s.so' % libname) | ||
| 24 | |||
| 25 | + @unittest.skip("Needs IMAGE_FEATURE += \"tools-sdk\"") | ||
| 26 | def test_find_library_with_gcc(self): | ||
| 27 | with unittest.mock.patch("ctypes.util._findSoname_ldconfig", lambda *args: None): | ||
| 28 | self.assertNotEqual(find_library('c'), None) | ||
| 29 | |||
| 30 | + @unittest.skip("Needs IMAGE_FEATURE += \"tools-sdk\"") | ||
| 31 | def test_find_library_with_ld(self): | ||
| 32 | with unittest.mock.patch("ctypes.util._findSoname_ldconfig", lambda *args: None), \ | ||
| 33 | unittest.mock.patch("ctypes.util._findLib_gcc", lambda *args: None): | ||
diff --git a/meta/recipes-devtools/python/python3/0001-test_deadlock-skip-problematic-test.patch b/meta/recipes-devtools/python/python3/0001-test_deadlock-skip-problematic-test.patch deleted file mode 100644 index 3336e2913a..0000000000 --- a/meta/recipes-devtools/python/python3/0001-test_deadlock-skip-problematic-test.patch +++ /dev/null | |||
| @@ -1,27 +0,0 @@ | |||
| 1 | From 5a44f74549b32395109342e9299510c32db71068 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Trevor Gamblin <tgamblin@baylibre.com> | ||
| 3 | Date: Wed, 12 Jun 2024 10:29:03 -0400 | ||
| 4 | Subject: [PATCH] test_deadlock: skip problematic test | ||
| 5 | |||
| 6 | This test hangs frequently when run on the Autobuilder. Disable it in | ||
| 7 | testing until the cause can be determined. | ||
| 8 | |||
| 9 | Upstream-Status: Inappropriate [OE-Specific] | ||
| 10 | |||
| 11 | Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> | ||
| 12 | --- | ||
| 13 | Lib/test/test_concurrent_futures/test_deadlock.py | 1 + | ||
| 14 | 1 file changed, 1 insertion(+) | ||
| 15 | |||
| 16 | diff --git a/Lib/test/test_concurrent_futures/test_deadlock.py b/Lib/test/test_concurrent_futures/test_deadlock.py | ||
| 17 | index 3c30c45..008d6c0 100644 | ||
| 18 | --- a/Lib/test/test_concurrent_futures/test_deadlock.py | ||
| 19 | +++ b/Lib/test/test_concurrent_futures/test_deadlock.py | ||
| 20 | @@ -90,6 +90,7 @@ class ErrorAtUnpickle(object): | ||
| 21 | return _raise_error_ignore_stderr, (UnpicklingError, ) | ||
| 22 | |||
| 23 | |||
| 24 | +@unittest.skip("skipping problematic test") | ||
| 25 | class ExecutorDeadlockTest: | ||
| 26 | TIMEOUT = support.LONG_TIMEOUT | ||
| 27 | |||
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 deleted file mode 100644 index 189246911b..0000000000 --- a/meta/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch +++ /dev/null | |||
| @@ -1,45 +0,0 @@ | |||
| 1 | From c1f3cf625c0f011060ddaa2a4096f6aa13dd1ee6 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Mingli Yu <mingli.yu@windriver.com> | ||
| 3 | Date: Mon, 5 Aug 2019 15:57:39 +0800 | ||
| 4 | Subject: [PATCH] test_locale.py: correct the test output format | ||
| 5 | |||
| 6 | Before this patch: | ||
| 7 | # python3 -m test -v test_locale | ||
| 8 | [snip] | ||
| 9 | test_getsetlocale_issue1813 (test.test_locale.TestMiscellaneous) ... testing with ('tr_TR', 'ISO8859-9') ok | ||
| 10 | [snip] | ||
| 11 | |||
| 12 | After this patch: | ||
| 13 | # python3 -m test -v test_locale | ||
| 14 | [snip] | ||
| 15 | test_getsetlocale_issue1813 (test.test_locale.TestMiscellaneous) ... testing with ('tr_TR', 'ISO8859-9')... ok | ||
| 16 | [snip] | ||
| 17 | |||
| 18 | Make the test ended with "... ok" is common in python | ||
| 19 | unittest world, we should make it keep consistent | ||
| 20 | with other test cases in case it may be ignored to | ||
| 21 | record in the report if we use the common filter | ||
| 22 | "... ok". | ||
| 23 | |||
| 24 | Upstream-Status: Submitted [https://github.com/python/cpython/pull/15132] | ||
| 25 | |||
| 26 | Rebased for 3.9.4, still not accepted upstream Signed-off-by: Alejandro Hernandez <alejandro@enedino.org> | ||
| 27 | |||
| 28 | Signed-off-by: Mingli Yu <mingli.yu@windriver.com> | ||
| 29 | --- | ||
| 30 | Lib/test/test_locale.py | 2 +- | ||
| 31 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 32 | |||
| 33 | diff --git a/Lib/test/test_locale.py b/Lib/test/test_locale.py | ||
| 34 | index da4bd79..fd9e67d 100644 | ||
| 35 | --- a/Lib/test/test_locale.py | ||
| 36 | +++ b/Lib/test/test_locale.py | ||
| 37 | @@ -501,7 +501,7 @@ class TestRealLocales(unittest.TestCase): | ||
| 38 | self.skipTest('test needs Turkish locale') | ||
| 39 | loc = locale.getlocale(locale.LC_CTYPE) | ||
| 40 | if verbose: | ||
| 41 | - print('testing with %a' % (loc,), end=' ', flush=True) | ||
| 42 | + print('testing with %a...' % (loc,), end=' ', flush=True) | ||
| 43 | try: | ||
| 44 | locale.setlocale(locale.LC_CTYPE, loc) | ||
| 45 | except locale.Error as exc: | ||
diff --git a/meta/recipes-devtools/python/python3/0001-test_readline-skip-limited-history-test.patch b/meta/recipes-devtools/python/python3/0001-test_readline-skip-limited-history-test.patch deleted file mode 100644 index a619d51c10..0000000000 --- a/meta/recipes-devtools/python/python3/0001-test_readline-skip-limited-history-test.patch +++ /dev/null | |||
| @@ -1,46 +0,0 @@ | |||
| 1 | From 1a0a145261ba4f97aaff3c0c656ac2e0ad9695a8 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Trevor Gamblin <tgamblin@baylibre.com> | ||
| 3 | Date: Tue, 13 Aug 2024 11:07:05 -0400 | ||
| 4 | Subject: [PATCH] test_readline: skip limited history test | ||
| 5 | |||
| 6 | This test was added recently and is failing on the ptest image when | ||
| 7 | using the default PACKAGECONFIG settings (i.e. with editline instead of | ||
| 8 | readline).. Disable it until the proper fix is determined. | ||
| 9 | |||
| 10 | A bug has been opened upstream: https://github.com/python/cpython/issues/123018 | ||
| 11 | |||
| 12 | Upstream-Status: Inappropriate [OE-specific] | ||
| 13 | |||
| 14 | Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> | ||
| 15 | --- | ||
| 16 | Lib/test/test_readline.py | 3 +++ | ||
| 17 | 1 file changed, 3 insertions(+) | ||
| 18 | |||
| 19 | diff --git a/Lib/test/test_readline.py b/Lib/test/test_readline.py | ||
| 20 | index 537a9fb..ddf0323 100644 | ||
| 21 | --- a/Lib/test/test_readline.py | ||
| 22 | +++ b/Lib/test/test_readline.py | ||
| 23 | @@ -71,6 +71,7 @@ class TestHistoryManipulation (unittest.TestCase): | ||
| 24 | |||
| 25 | @unittest.skipUnless(hasattr(readline, "append_history_file"), | ||
| 26 | "append_history not available") | ||
| 27 | + @unittest.skip("Skipping problematic test") | ||
| 28 | def test_write_read_append(self): | ||
| 29 | hfile = tempfile.NamedTemporaryFile(delete=False) | ||
| 30 | hfile.close() | ||
| 31 | @@ -142,6 +143,7 @@ class TestHistoryManipulation (unittest.TestCase): | ||
| 32 | self.assertEqual(readline.get_history_item(1), "entrée 1") | ||
| 33 | self.assertEqual(readline.get_history_item(2), "entrée 22") | ||
| 34 | |||
| 35 | + @unittest.skip("Skipping problematic test") | ||
| 36 | def test_write_read_limited_history(self): | ||
| 37 | previous_length = readline.get_history_length() | ||
| 38 | self.addCleanup(readline.set_history_length, previous_length) | ||
| 39 | @@ -390,6 +392,7 @@ readline.write_history_file(history_file) | ||
| 40 | self.assertIn(b"done", output) | ||
| 41 | |||
| 42 | |||
| 43 | + @unittest.skip("Skipping problematic test") | ||
| 44 | def test_write_read_limited_history(self): | ||
| 45 | previous_length = readline.get_history_length() | ||
| 46 | self.addCleanup(readline.set_history_length, previous_length) | ||
diff --git a/meta/recipes-devtools/python/python3/0001-test_shutdown-skip-problematic-test.patch b/meta/recipes-devtools/python/python3/0001-test_shutdown-skip-problematic-test.patch deleted file mode 100644 index 4e284de613..0000000000 --- a/meta/recipes-devtools/python/python3/0001-test_shutdown-skip-problematic-test.patch +++ /dev/null | |||
| @@ -1,43 +0,0 @@ | |||
| 1 | From b678363156b5d40e09c1d138840180e3ddc7d20b Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Trevor Gamblin <tgamblin@baylibre.com> | ||
| 3 | Date: Wed, 8 May 2024 11:58:09 -0400 | ||
| 4 | Subject: [PATCH] test_shutdown: skip problematic test | ||
| 5 | |||
| 6 | This test hangs frequently when run on the Autobuilder. Disable it in | ||
| 7 | testing until the cause can be determined. | ||
| 8 | |||
| 9 | Upstream-Status: Inappropriate [OE-Specific] | ||
| 10 | |||
| 11 | Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> | ||
| 12 | --- | ||
| 13 | Lib/test/test_concurrent_futures/test_shutdown.py | 3 +++ | ||
| 14 | 1 file changed, 3 insertions(+) | ||
| 15 | |||
| 16 | diff --git a/Lib/test/test_concurrent_futures/test_shutdown.py b/Lib/test/test_concurrent_futures/test_shutdown.py | ||
| 17 | index 7a4065a..6b878a4 100644 | ||
| 18 | --- a/Lib/test/test_concurrent_futures/test_shutdown.py | ||
| 19 | +++ b/Lib/test/test_concurrent_futures/test_shutdown.py | ||
| 20 | @@ -20,6 +20,7 @@ def sleep_and_print(t, msg): | ||
| 21 | sys.stdout.flush() | ||
| 22 | |||
| 23 | |||
| 24 | +@unittest.skip("skipping problematic test") | ||
| 25 | class ExecutorShutdownTest: | ||
| 26 | def test_run_after_shutdown(self): | ||
| 27 | self.executor.shutdown() | ||
| 28 | @@ -156,6 +157,7 @@ class ExecutorShutdownTest: | ||
| 29 | signal.signal(signal.SIGALRM, old_handler) | ||
| 30 | |||
| 31 | |||
| 32 | +@unittest.skip("skipping problematic test") | ||
| 33 | class ThreadPoolShutdownTest(ThreadPoolMixin, ExecutorShutdownTest, BaseTestCase): | ||
| 34 | def test_threads_terminate(self): | ||
| 35 | def acquire_lock(lock): | ||
| 36 | @@ -252,6 +254,7 @@ class ThreadPoolShutdownTest(ThreadPoolMixin, ExecutorShutdownTest, BaseTestCase | ||
| 37 | self.assertIn(out.strip(), [b"apple", b""]) | ||
| 38 | |||
| 39 | |||
| 40 | +@unittest.skip("skipping problematic test") | ||
| 41 | class ProcessPoolShutdownTest(ExecutorShutdownTest): | ||
| 42 | def test_processes_terminate(self): | ||
| 43 | def acquire_lock(lock): | ||
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 deleted file mode 100644 index b452c6556f..0000000000 --- a/meta/recipes-devtools/python/python3/0001-test_storlines-skip-due-to-load-variability.patch +++ /dev/null | |||
| @@ -1,29 +0,0 @@ | |||
| 1 | From 9f252a691cd335341938489da32d6e2d4620d8ca Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Trevor Gamblin <tgamblin@baylibre.com> | ||
| 3 | Date: Fri, 6 Oct 2023 10:59:44 -0400 | ||
| 4 | Subject: [PATCH] test_storlines: skip due to load variability | ||
| 5 | |||
| 6 | This is yet another test that intermittently fails on the Yocto AB when | ||
| 7 | a worker is under heavy load, so skip it during testing. | ||
| 8 | |||
| 9 | Upstream-Status: Inappropriate [OE-Specific] | ||
| 10 | |||
| 11 | [YOCTO #14933] | ||
| 12 | |||
| 13 | Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> | ||
| 14 | --- | ||
| 15 | Lib/test/test_ftplib.py | 1 + | ||
| 16 | 1 file changed, 1 insertion(+) | ||
| 17 | |||
| 18 | diff --git a/Lib/test/test_ftplib.py b/Lib/test/test_ftplib.py | ||
| 19 | index bed0e6d..36602be 100644 | ||
| 20 | --- a/Lib/test/test_ftplib.py | ||
| 21 | +++ b/Lib/test/test_ftplib.py | ||
| 22 | @@ -630,6 +630,7 @@ class TestFTPClass(TestCase): | ||
| 23 | self.client.storbinary('stor', f, rest=r) | ||
| 24 | self.assertEqual(self.server.handler_instance.rest, str(r)) | ||
| 25 | |||
| 26 | + @unittest.skip('timing related test, dependent on load') | ||
| 27 | def test_storlines(self): | ||
| 28 | data = RETR_DATA.replace('\r\n', '\n').encode(self.client.encoding) | ||
| 29 | f = io.BytesIO(data) | ||
diff --git a/meta/recipes-devtools/python/python3/check_build_completeness.py b/meta/recipes-devtools/python/python3/check_build_completeness.py deleted file mode 100755 index a1eace3f57..0000000000 --- a/meta/recipes-devtools/python/python3/check_build_completeness.py +++ /dev/null | |||
| @@ -1,17 +0,0 @@ | |||
| 1 | #!/usr/bin/env python3 | ||
| 2 | import sys | ||
| 3 | logfile = open(sys.argv[1]).read() | ||
| 4 | |||
| 5 | necessary_bits = logfile.find("The necessary bits to build these optional modules were not found") | ||
| 6 | to_find_bits = logfile.find("To find the necessary bits, look in setup.py in detect_modules() for the module's name.") | ||
| 7 | if necessary_bits != -1: | ||
| 8 | print("%s" %(logfile[necessary_bits:to_find_bits])) | ||
| 9 | |||
| 10 | failed_to_build = logfile.find("Failed to build these modules:") | ||
| 11 | if failed_to_build != -1: | ||
| 12 | failed_to_build_end = logfile.find("\n\n", failed_to_build) | ||
| 13 | print("%s" %(logfile[failed_to_build:failed_to_build_end])) | ||
| 14 | |||
| 15 | if necessary_bits != -1 or failed_to_build != -1: | ||
| 16 | sys.exit(1) | ||
| 17 | |||
diff --git a/meta/recipes-devtools/python/python3/create_manifest3.py b/meta/recipes-devtools/python/python3/create_manifest3.py deleted file mode 100644 index 288d5ede3a..0000000000 --- a/meta/recipes-devtools/python/python3/create_manifest3.py +++ /dev/null | |||
| @@ -1,444 +0,0 @@ | |||
| 1 | # This script is used as a bitbake task to create a new python manifest | ||
| 2 | # $ bitbake python -c create_manifest | ||
| 3 | # | ||
| 4 | # Our goal is to keep python-core as small as possible and add other python | ||
| 5 | # packages only when the user needs them, hence why we split upstream python | ||
| 6 | # into several packages. | ||
| 7 | # | ||
| 8 | # In a very simplistic way what this does is: | ||
| 9 | # Launch python and see specifically what is required for it to run at a minimum | ||
| 10 | # | ||
| 11 | # Go through the python-manifest file and launch a separate task for every single | ||
| 12 | # one of the files on each package, this task will check what was required for that | ||
| 13 | # specific module to run, these modules will be called dependencies. | ||
| 14 | # The output of such task will be a list of the modules or dependencies that were | ||
| 15 | # found for that file. | ||
| 16 | # | ||
| 17 | # Such output will be parsed by this script, we will look for each dependency on the | ||
| 18 | # manifest and if we find that another package already includes it, then we will add | ||
| 19 | # that package as an RDEPENDS to the package we are currently checking; in case we dont | ||
| 20 | # find the current dependency on any other package we will add it to the current package | ||
| 21 | # as part of FILES. | ||
| 22 | # | ||
| 23 | # | ||
| 24 | # This way we will create a new manifest from the data structure that was built during | ||
| 25 | # this process, on this new manifest each package will contain specifically only | ||
| 26 | # what it needs to run. | ||
| 27 | # | ||
| 28 | # There are some caveats which we try to deal with, such as repeated files on different | ||
| 29 | # packages, packages that include folders, wildcards, and special packages. | ||
| 30 | # Its also important to note that this method only works for python files, and shared | ||
| 31 | # libraries. Static libraries, header files and binaries need to be dealt with manually. | ||
| 32 | # | ||
| 33 | # This script differs from its python2 version mostly on how shared libraries are handled | ||
| 34 | # The manifest file for python3 has an extra field which contains the cached files for | ||
| 35 | # each package. | ||
| 36 | # Tha method to handle cached files does not work when a module includes a folder which | ||
| 37 | # itself contains the pycache folder, gladly this is almost never the case. | ||
| 38 | # | ||
| 39 | # Author: Alejandro Enedino Hernandez Samaniego <alejandro at enedino dot org> | ||
| 40 | |||
| 41 | |||
| 42 | import sys | ||
| 43 | import subprocess | ||
| 44 | import json | ||
| 45 | import os | ||
| 46 | import collections | ||
| 47 | |||
| 48 | if '-d' in sys.argv: | ||
| 49 | debugFlag = '-d' | ||
| 50 | else: | ||
| 51 | debugFlag = '' | ||
| 52 | |||
| 53 | # Get python version from ${PYTHON_MAJMIN} | ||
| 54 | pyversion = str(sys.argv[1]) | ||
| 55 | |||
| 56 | # Hack to get native python search path (for folders), not fond of it but it works for now | ||
| 57 | pivot = 'recipe-sysroot-native' | ||
| 58 | for p in sys.path: | ||
| 59 | if pivot in p: | ||
| 60 | nativelibfolder = p[:p.find(pivot)+len(pivot)] | ||
| 61 | |||
| 62 | # Empty dict to hold the whole manifest | ||
| 63 | new_manifest = collections.OrderedDict() | ||
| 64 | |||
| 65 | # Check for repeated files, folders and wildcards | ||
| 66 | allfiles = [] | ||
| 67 | repeated = [] | ||
| 68 | wildcards = [] | ||
| 69 | |||
| 70 | hasfolders = [] | ||
| 71 | allfolders = [] | ||
| 72 | |||
| 73 | def isFolder(value): | ||
| 74 | value = value.replace('${PYTHON_MAJMIN}',pyversion) | ||
| 75 | if os.path.isdir(value.replace('${libdir}',nativelibfolder+'/usr/lib')) or os.path.isdir(value.replace('${libdir}',nativelibfolder+'/usr/lib64')) or os.path.isdir(value.replace('${libdir}',nativelibfolder+'/usr/lib32')): | ||
| 76 | return True | ||
| 77 | else: | ||
| 78 | return False | ||
| 79 | |||
| 80 | def isCached(item): | ||
| 81 | if '__pycache__' in item: | ||
| 82 | return True | ||
| 83 | else: | ||
| 84 | return False | ||
| 85 | |||
| 86 | def prepend_comments(comments, json_manifest): | ||
| 87 | with open(json_manifest, 'r+') as manifest: | ||
| 88 | json_contents = manifest.read() | ||
| 89 | manifest.seek(0, 0) | ||
| 90 | manifest.write(comments + json_contents) | ||
| 91 | |||
| 92 | def print_indent(msg, offset): | ||
| 93 | for l in msg.splitlines(): | ||
| 94 | msg = ' ' * offset + l | ||
| 95 | print(msg) | ||
| 96 | |||
| 97 | |||
| 98 | # Read existing JSON manifest | ||
| 99 | with open('python3-manifest.json') as manifest: | ||
| 100 | # The JSON format doesn't allow comments so we hack the call to keep the comments using a marker | ||
| 101 | manifest_str = manifest.read() | ||
| 102 | json_start = manifest_str.find('# EOC') + 6 # EOC + \n | ||
| 103 | manifest.seek(0) | ||
| 104 | comments = manifest.read(json_start) | ||
| 105 | manifest_str = manifest.read() | ||
| 106 | old_manifest = json.loads(manifest_str, object_pairs_hook=collections.OrderedDict) | ||
| 107 | |||
| 108 | # | ||
| 109 | # First pass to get core-package functionality, because we base everything on the fact that core is actually working | ||
| 110 | # Not exactly the same so it should not be a function | ||
| 111 | # | ||
| 112 | |||
| 113 | print_indent('Getting dependencies for package: core', 0) | ||
| 114 | |||
| 115 | |||
| 116 | # This special call gets the core dependencies and | ||
| 117 | # appends to the old manifest so it doesnt hurt what it | ||
| 118 | # currently holds. | ||
| 119 | # This way when other packages check for dependencies | ||
| 120 | # on the new core package, they will still find them | ||
| 121 | # even when checking the old_manifest | ||
| 122 | |||
| 123 | output = subprocess.check_output([sys.executable, 'get_module_deps3.py', 'python-core-package', '%s' % debugFlag]).decode('utf8') | ||
| 124 | for coredep in output.split(): | ||
| 125 | coredep = coredep.replace(pyversion,'${PYTHON_MAJMIN}') | ||
| 126 | if isCached(coredep): | ||
| 127 | if coredep not in old_manifest['core']['cached']: | ||
| 128 | old_manifest['core']['cached'].append(coredep) | ||
| 129 | else: | ||
| 130 | if coredep not in old_manifest['core']['files']: | ||
| 131 | old_manifest['core']['files'].append(coredep) | ||
| 132 | |||
| 133 | |||
| 134 | # The second step is to loop through the existing files contained in the core package | ||
| 135 | # according to the old manifest, identify if they are modules, or some other type | ||
| 136 | # of file that we cant import (directories, binaries, configs) in which case we | ||
| 137 | # can only assume they were added correctly (manually) so we ignore those and | ||
| 138 | # pass them to the manifest directly. | ||
| 139 | |||
| 140 | for filedep in old_manifest['core']['files']: | ||
| 141 | if isFolder(filedep): | ||
| 142 | if isCached(filedep): | ||
| 143 | if filedep not in old_manifest['core']['cached']: | ||
| 144 | old_manifest['core']['cached'].append(filedep) | ||
| 145 | else: | ||
| 146 | if filedep not in old_manifest['core']['files']: | ||
| 147 | old_manifest['core']['files'].append(filedep) | ||
| 148 | continue | ||
| 149 | if '${bindir}' in filedep: | ||
| 150 | if filedep not in old_manifest['core']['files']: | ||
| 151 | old_manifest['core']['files'].append(filedep) | ||
| 152 | continue | ||
| 153 | if filedep == '': | ||
| 154 | continue | ||
| 155 | if '${includedir}' in filedep: | ||
| 156 | if filedep not in old_manifest['core']['files']: | ||
| 157 | old_manifest['core']['files'].append(filedep) | ||
| 158 | continue | ||
| 159 | |||
| 160 | # Get actual module name , shouldnt be affected by libdir/bindir, etc. | ||
| 161 | pymodule = os.path.splitext(os.path.basename(os.path.normpath(filedep)))[0] | ||
| 162 | |||
| 163 | # We now know that were dealing with a python module, so we can import it | ||
| 164 | # and check what its dependencies are. | ||
| 165 | # We launch a separate task for each module for deterministic behavior. | ||
| 166 | # Each module will only import what is necessary for it to work in specific. | ||
| 167 | # The output of each task will contain each module's dependencies | ||
| 168 | |||
| 169 | print_indent('Getting dependencies for module: %s' % pymodule, 2) | ||
| 170 | output = subprocess.check_output([sys.executable, 'get_module_deps3.py', '%s' % pymodule, '%s' % debugFlag]).decode('utf8') | ||
| 171 | print_indent('The following dependencies were found for module %s:\n' % pymodule, 4) | ||
| 172 | print_indent(output, 6) | ||
| 173 | |||
| 174 | |||
| 175 | for pymodule_dep in output.split(): | ||
| 176 | pymodule_dep = pymodule_dep.replace(pyversion,'${PYTHON_MAJMIN}') | ||
| 177 | |||
| 178 | if isCached(pymodule_dep): | ||
| 179 | if pymodule_dep not in old_manifest['core']['cached']: | ||
| 180 | old_manifest['core']['cached'].append(pymodule_dep) | ||
| 181 | else: | ||
| 182 | if pymodule_dep not in old_manifest['core']['files']: | ||
| 183 | old_manifest['core']['files'].append(pymodule_dep) | ||
| 184 | |||
| 185 | |||
| 186 | # At this point we are done with the core package. | ||
| 187 | # The old_manifest dictionary is updated only for the core package because | ||
| 188 | # all others will use this a base. | ||
| 189 | |||
| 190 | |||
| 191 | print('\n\nChecking for directories...\n') | ||
| 192 | # To improve the script speed, we check which packages contain directories | ||
| 193 | # since we will be looping through (only) those later. | ||
| 194 | for pypkg in old_manifest: | ||
| 195 | for filedep in old_manifest[pypkg]['files']: | ||
| 196 | if isFolder(filedep): | ||
| 197 | print_indent('%s is a directory' % filedep, 2) | ||
| 198 | if pypkg not in hasfolders: | ||
| 199 | hasfolders.append(pypkg) | ||
| 200 | if filedep not in allfolders: | ||
| 201 | allfolders.append(filedep) | ||
| 202 | |||
| 203 | |||
| 204 | |||
| 205 | # This is the main loop that will handle each package. | ||
| 206 | # It works in a similar fashion than the step before, but | ||
| 207 | # we will now be updating a new dictionary that will eventually | ||
| 208 | # become the new manifest. | ||
| 209 | # | ||
| 210 | # The following loops though all packages in the manifest, | ||
| 211 | # through all files on each of them, and checks whether or not | ||
| 212 | # they are modules and can be imported. | ||
| 213 | # If they can be imported, then it checks for dependencies for | ||
| 214 | # each of them by launching a separate task. | ||
| 215 | # The output of that task is then parsed and the manifest is updated | ||
| 216 | # accordingly, wether it should add the module on FILES for the current package | ||
| 217 | # or if that module already belongs to another package then the current one | ||
| 218 | # will RDEPEND on it | ||
| 219 | |||
| 220 | for pypkg in old_manifest: | ||
| 221 | # Use an empty dict as data structure to hold data for each package and fill it up | ||
| 222 | new_manifest[pypkg] = collections.OrderedDict() | ||
| 223 | new_manifest[pypkg]['summary'] = old_manifest[pypkg]['summary'] | ||
| 224 | new_manifest[pypkg]['rdepends'] = [] | ||
| 225 | new_manifest[pypkg]['files'] = [] | ||
| 226 | new_manifest[pypkg]['cached'] = old_manifest[pypkg]['cached'] | ||
| 227 | |||
| 228 | # All packages should depend on core | ||
| 229 | if pypkg != 'core': | ||
| 230 | new_manifest[pypkg]['rdepends'].append('core') | ||
| 231 | new_manifest[pypkg]['cached'] = [] | ||
| 232 | |||
| 233 | print('\n') | ||
| 234 | print('--------------------------') | ||
| 235 | print('Handling package %s' % pypkg) | ||
| 236 | print('--------------------------') | ||
| 237 | |||
| 238 | # Handle special cases, we assume that when they were manually added | ||
| 239 | # to the manifest we knew what we were doing. | ||
| 240 | special_packages = ['misc', 'modules', 'dev', 'tests'] | ||
| 241 | if pypkg in special_packages or 'staticdev' in pypkg: | ||
| 242 | print_indent('Passing %s package directly' % pypkg, 2) | ||
| 243 | new_manifest[pypkg] = old_manifest[pypkg] | ||
| 244 | continue | ||
| 245 | |||
| 246 | for filedep in old_manifest[pypkg]['files']: | ||
| 247 | # We already handled core on the first pass, we can ignore it now | ||
| 248 | if pypkg == 'core': | ||
| 249 | if filedep not in new_manifest[pypkg]['files']: | ||
| 250 | new_manifest[pypkg]['files'].append(filedep) | ||
| 251 | continue | ||
| 252 | |||
| 253 | # Handle/ignore what we cant import | ||
| 254 | if isFolder(filedep): | ||
| 255 | new_manifest[pypkg]['files'].append(filedep) | ||
| 256 | # Asyncio (and others) are both the package and the folder name, we should not skip those... | ||
| 257 | path,mod = os.path.split(filedep) | ||
| 258 | if mod != pypkg: | ||
| 259 | continue | ||
| 260 | if '${bindir}' in filedep: | ||
| 261 | if filedep not in new_manifest[pypkg]['files']: | ||
| 262 | new_manifest[pypkg]['files'].append(filedep) | ||
| 263 | continue | ||
| 264 | if filedep == '': | ||
| 265 | continue | ||
| 266 | if '${includedir}' in filedep: | ||
| 267 | if filedep not in new_manifest[pypkg]['files']: | ||
| 268 | new_manifest[pypkg]['files'].append(filedep) | ||
| 269 | continue | ||
| 270 | |||
| 271 | # Get actual module name , shouldnt be affected by libdir/bindir, etc. | ||
| 272 | # We need to check if the imported module comes from another (e.g. sqlite3.dump) | ||
| 273 | path, pymodule = os.path.split(filedep) | ||
| 274 | path = os.path.basename(path) | ||
| 275 | pymodule = os.path.splitext(os.path.basename(pymodule))[0] | ||
| 276 | |||
| 277 | # If this condition is met, it means we need to import it from another module | ||
| 278 | # or its the folder itself (e.g. unittest) | ||
| 279 | if path == pypkg: | ||
| 280 | if pymodule: | ||
| 281 | pymodule = path + '.' + pymodule | ||
| 282 | else: | ||
| 283 | pymodule = path | ||
| 284 | |||
| 285 | |||
| 286 | |||
| 287 | # We now know that were dealing with a python module, so we can import it | ||
| 288 | # and check what its dependencies are. | ||
| 289 | # We launch a separate task for each module for deterministic behavior. | ||
| 290 | # Each module will only import what is necessary for it to work in specific. | ||
| 291 | # The output of each task will contain each module's dependencies | ||
| 292 | |||
| 293 | print_indent('\nGetting dependencies for module: %s' % pymodule, 2) | ||
| 294 | output = subprocess.check_output([sys.executable, 'get_module_deps3.py', '%s' % pymodule, '%s' % debugFlag]).decode('utf8') | ||
| 295 | print_indent('The following dependencies were found for module %s:\n' % pymodule, 4) | ||
| 296 | print_indent(output, 6) | ||
| 297 | |||
| 298 | reportFILES = [] | ||
| 299 | reportRDEPS = [] | ||
| 300 | |||
| 301 | for pymodule_dep in output.split(): | ||
| 302 | |||
| 303 | # Warning: This first part is ugly | ||
| 304 | # One of the dependencies that was found, could be inside of one of the folders included by another package | ||
| 305 | # We need to check if this happens so we can add the package containing the folder as an rdependency | ||
| 306 | # e.g. Folder encodings contained in codecs | ||
| 307 | # This would be solved if no packages included any folders | ||
| 308 | |||
| 309 | # This can be done in two ways: | ||
| 310 | # 1 - We assume that if we take out the filename from the path we would get | ||
| 311 | # the folder string, then we would check if folder string is in the list of folders | ||
| 312 | # This would not work if a package contains a folder which contains another folder | ||
| 313 | # e.g. path/folder1/folder2/filename folder_string= path/folder1/folder2 | ||
| 314 | # folder_string would not match any value contained in the list of folders | ||
| 315 | # | ||
| 316 | # 2 - We do it the other way around, checking if the folder is contained in the path | ||
| 317 | # e.g. path/folder1/folder2/filename folder_string= path/folder1/folder2 | ||
| 318 | # is folder_string inside path/folder1/folder2/filename?, | ||
| 319 | # Yes, it works, but we waste a couple of milliseconds. | ||
| 320 | |||
| 321 | pymodule_dep = pymodule_dep.replace(pyversion,'${PYTHON_MAJMIN}') | ||
| 322 | inFolders = False | ||
| 323 | for folder in allfolders: | ||
| 324 | # The module could have a directory named after it, e.g. xml, if we take out the filename from the path | ||
| 325 | # we'll end up with ${libdir}, and we want ${libdir}/xml | ||
| 326 | if isFolder(pymodule_dep): | ||
| 327 | check_path = pymodule_dep | ||
| 328 | else: | ||
| 329 | check_path = os.path.dirname(pymodule_dep) | ||
| 330 | if folder in check_path : | ||
| 331 | inFolders = True # Did we find a folder? | ||
| 332 | folderFound = False # Second flag to break inner for | ||
| 333 | # Loop only through packages which contain folders | ||
| 334 | for pypkg_with_folder in hasfolders: | ||
| 335 | if (folderFound == False): | ||
| 336 | # print('Checking folder %s on package %s' % (pymodule_dep,pypkg_with_folder)) | ||
| 337 | for folder_dep in old_manifest[pypkg_with_folder]['files'] or folder_dep in old_manifest[pypkg_with_folder]['cached']: | ||
| 338 | if folder_dep == folder: | ||
| 339 | print ('%s directory found in %s' % (folder, pypkg_with_folder)) | ||
| 340 | folderFound = True | ||
| 341 | if pypkg_with_folder not in new_manifest[pypkg]['rdepends'] and pypkg_with_folder != pypkg: | ||
| 342 | new_manifest[pypkg]['rdepends'].append(pypkg_with_folder) | ||
| 343 | else: | ||
| 344 | break | ||
| 345 | |||
| 346 | # A folder was found so we're done with this item, we can go on | ||
| 347 | if inFolders: | ||
| 348 | continue | ||
| 349 | |||
| 350 | |||
| 351 | |||
| 352 | # No directories beyond this point | ||
| 353 | # We might already have this module on the dictionary since it could depend on a (previously checked) module | ||
| 354 | if pymodule_dep not in new_manifest[pypkg]['files'] and pymodule_dep not in new_manifest[pypkg]['cached']: | ||
| 355 | # Handle core as a special package, we already did it so we pass it to NEW data structure directly | ||
| 356 | if pypkg == 'core': | ||
| 357 | print('Adding %s to %s FILES' % (pymodule_dep, pypkg)) | ||
| 358 | if pymodule_dep.endswith('*'): | ||
| 359 | wildcards.append(pymodule_dep) | ||
| 360 | if isCached(pymodule_dep): | ||
| 361 | new_manifest[pypkg]['cached'].append(pymodule_dep) | ||
| 362 | else: | ||
| 363 | new_manifest[pypkg]['files'].append(pymodule_dep) | ||
| 364 | |||
| 365 | # Check for repeated files | ||
| 366 | if pymodule_dep not in allfiles: | ||
| 367 | allfiles.append(pymodule_dep) | ||
| 368 | else: | ||
| 369 | if pymodule_dep not in repeated: | ||
| 370 | repeated.append(pymodule_dep) | ||
| 371 | else: | ||
| 372 | |||
| 373 | |||
| 374 | # Last step: Figure out if we this belongs to FILES or RDEPENDS | ||
| 375 | # We check if this module is already contained on another package, so we add that one | ||
| 376 | # as an RDEPENDS, or if its not, it means it should be contained on the current | ||
| 377 | # package, and we should add it to FILES | ||
| 378 | for possible_rdep in old_manifest: | ||
| 379 | # Debug | ||
| 380 | # print('Checking %s ' % pymodule_dep + ' in %s' % possible_rdep) | ||
| 381 | if pymodule_dep in old_manifest[possible_rdep]['files'] or pymodule_dep in old_manifest[possible_rdep]['cached']: | ||
| 382 | # Since were nesting, we need to check its not the same pypkg | ||
| 383 | if(possible_rdep != pypkg): | ||
| 384 | if possible_rdep not in new_manifest[pypkg]['rdepends']: | ||
| 385 | # Add it to the new manifest data struct as RDEPENDS since it contains something this module needs | ||
| 386 | reportRDEPS.append('Adding %s to %s RDEPENDS, because it contains %s\n' % (possible_rdep, pypkg, pymodule_dep)) | ||
| 387 | new_manifest[pypkg]['rdepends'].append(possible_rdep) | ||
| 388 | break | ||
| 389 | else: | ||
| 390 | |||
| 391 | # Since this module wasnt found on another package, it is not an RDEP, | ||
| 392 | # so we add it to FILES for this package. | ||
| 393 | # A module shouldn't contain itself (${libdir}/python3/sqlite3 shouldnt be on sqlite3 files) | ||
| 394 | if os.path.basename(pymodule_dep) != pypkg: | ||
| 395 | reportFILES.append(('Adding %s to %s FILES\n' % (pymodule_dep, pypkg))) | ||
| 396 | if isCached(pymodule_dep): | ||
| 397 | new_manifest[pypkg]['cached'].append(pymodule_dep) | ||
| 398 | else: | ||
| 399 | new_manifest[pypkg]['files'].append(pymodule_dep) | ||
| 400 | if pymodule_dep.endswith('*'): | ||
| 401 | wildcards.append(pymodule_dep) | ||
| 402 | if pymodule_dep not in allfiles: | ||
| 403 | allfiles.append(pymodule_dep) | ||
| 404 | else: | ||
| 405 | if pymodule_dep not in repeated: | ||
| 406 | repeated.append(pymodule_dep) | ||
| 407 | |||
| 408 | print('\n') | ||
| 409 | print('#################################') | ||
| 410 | print('Summary for module %s' % pymodule) | ||
| 411 | print('FILES found for module %s:' % pymodule) | ||
| 412 | print(''.join(reportFILES)) | ||
| 413 | print('RDEPENDS found for module %s:' % pymodule) | ||
| 414 | print(''.join(reportRDEPS)) | ||
| 415 | print('#################################') | ||
| 416 | |||
| 417 | print('The following FILES contain wildcards, please check if they are necessary') | ||
| 418 | print(wildcards) | ||
| 419 | print('The following FILES contain folders, please check if they are necessary') | ||
| 420 | print(hasfolders) | ||
| 421 | |||
| 422 | |||
| 423 | # Sort it just so it looks nicer | ||
| 424 | for pypkg in new_manifest: | ||
| 425 | new_manifest[pypkg]['files'].sort() | ||
| 426 | new_manifest[pypkg]['cached'].sort() | ||
| 427 | new_manifest[pypkg]['rdepends'].sort() | ||
| 428 | |||
| 429 | # Create the manifest from the data structure that was built | ||
| 430 | with open('python3-manifest.json.new','w') as outfile: | ||
| 431 | json.dump(new_manifest,outfile, indent=4) | ||
| 432 | outfile.write('\n') | ||
| 433 | |||
| 434 | prepend_comments(comments,'python3-manifest.json.new') | ||
| 435 | |||
| 436 | if (repeated): | ||
| 437 | error_msg = '\n\nERROR:\n' | ||
| 438 | error_msg += 'The following files were found in more than one package),\n' | ||
| 439 | error_msg += 'this is likely to happen when new files are introduced after an upgrade,\n' | ||
| 440 | error_msg += 'please check which package should get it,\n modify the manifest accordingly and re-run the create_manifest task:\n' | ||
| 441 | error_msg += '\n'.join(repeated) | ||
| 442 | error_msg += '\n' | ||
| 443 | sys.exit(error_msg) | ||
| 444 | |||
diff --git a/meta/recipes-devtools/python/python3/get_module_deps3.py b/meta/recipes-devtools/python/python3/get_module_deps3.py deleted file mode 100644 index 8e432b49af..0000000000 --- a/meta/recipes-devtools/python/python3/get_module_deps3.py +++ /dev/null | |||
| @@ -1,174 +0,0 @@ | |||
| 1 | # This script is launched on separate task for each python module | ||
| 2 | # It checks for dependencies for that specific module and prints | ||
| 3 | # them out, the output of this execution will have all dependencies | ||
| 4 | # for a specific module, which will be parsed an dealt on create_manifest.py | ||
| 5 | # | ||
| 6 | # Author: Alejandro Enedino Hernandez Samaniego <alejandro at enedino dot org> | ||
| 7 | |||
| 8 | |||
| 9 | import sys | ||
| 10 | import os | ||
| 11 | |||
| 12 | # We can get a log per module, for all the dependencies that were found, but its messy. | ||
| 13 | if '-d' in sys.argv: | ||
| 14 | debug = True | ||
| 15 | else: | ||
| 16 | debug = False | ||
| 17 | |||
| 18 | # We can get a list of the modules which are currently required to run python | ||
| 19 | # so we run python-core and get its modules, we then import what we need | ||
| 20 | # and check what modules are currently running, if we substract them from the | ||
| 21 | # modules we had initially, we get the dependencies for the module we imported. | ||
| 22 | |||
| 23 | # We use importlib to achieve this, so we also need to know what modules importlib needs | ||
| 24 | import importlib | ||
| 25 | |||
| 26 | core_deps = set(sys.modules) | ||
| 27 | |||
| 28 | def fix_path(dep_path): | ||
| 29 | import os | ||
| 30 | # We DONT want the path on our HOST system | ||
| 31 | pivot = 'recipe-sysroot-native' | ||
| 32 | dep_path = dep_path[dep_path.find(pivot)+len(pivot):] | ||
| 33 | |||
| 34 | if '/usr/bin' in dep_path: | ||
| 35 | dep_path = dep_path.replace('/usr/bin','${bindir}') | ||
| 36 | |||
| 37 | # Handle multilib, is there a better way? | ||
| 38 | if '/usr/lib32' in dep_path: | ||
| 39 | dep_path = dep_path.replace('/usr/lib32','${libdir}') | ||
| 40 | if '/usr/lib64' in dep_path: | ||
| 41 | dep_path = dep_path.replace('/usr/lib64','${libdir}') | ||
| 42 | if '/usr/lib' in dep_path: | ||
| 43 | dep_path = dep_path.replace('/usr/lib','${libdir}') | ||
| 44 | if '/usr/include' in dep_path: | ||
| 45 | dep_path = dep_path.replace('/usr/include','${includedir}') | ||
| 46 | if '__init__.' in dep_path: | ||
| 47 | dep_path = os.path.split(dep_path)[0] | ||
| 48 | return dep_path | ||
| 49 | |||
| 50 | |||
| 51 | # Module to import was passed as an argument | ||
| 52 | current_module = str(sys.argv[1]).rstrip() | ||
| 53 | if debug == True: | ||
| 54 | log = open('temp/log_%s' % current_module.strip('.*'),'w') | ||
| 55 | log.write('Module %s generated the following dependencies:\n' % current_module) | ||
| 56 | try: | ||
| 57 | m = importlib.import_module(current_module) | ||
| 58 | # handle python packages which may not include all modules in the __init__ | ||
| 59 | if hasattr(m, '__file__') and os.path.basename(m.__file__) == "__init__.py": | ||
| 60 | modulepath = os.path.dirname(m.__file__) | ||
| 61 | for i in os.listdir(modulepath): | ||
| 62 | if i.startswith("_") or not(i.endswith(".py")): | ||
| 63 | continue | ||
| 64 | submodule = "{}.{}".format(current_module, i[:-3]) | ||
| 65 | try: | ||
| 66 | importlib.import_module(submodule) | ||
| 67 | except: | ||
| 68 | pass # ignore all import or other exceptions raised during import | ||
| 69 | except ImportError as e: | ||
| 70 | if debug == True: | ||
| 71 | log.write('Module was not found\n') | ||
| 72 | pass | ||
| 73 | |||
| 74 | |||
| 75 | # Get current module dependencies, dif will contain a list of specific deps for this module | ||
| 76 | module_deps = set(sys.modules) | ||
| 77 | |||
| 78 | # We handle the core package (1st pass on create_manifest.py) as a special case | ||
| 79 | if current_module == 'python-core-package': | ||
| 80 | dif = core_deps | ||
| 81 | else: | ||
| 82 | # We know this is not the core package, so there must be a difference. | ||
| 83 | dif = module_deps-core_deps | ||
| 84 | |||
| 85 | |||
| 86 | # Check where each dependency came from | ||
| 87 | for item in dif: | ||
| 88 | # Main module returns script filename, __main matches mp_main__ as well | ||
| 89 | if 'main__' in item: | ||
| 90 | continue | ||
| 91 | |||
| 92 | dep_path = '' | ||
| 93 | try: | ||
| 94 | if debug == True: | ||
| 95 | log.write('\nCalling: sys.modules[' + '%s' % item + '].__file__\n') | ||
| 96 | dep_path = sys.modules['%s' % item].__file__ | ||
| 97 | except AttributeError as e: | ||
| 98 | # Deals with thread (builtin module) not having __file__ attribute | ||
| 99 | if debug == True: | ||
| 100 | log.write(item + ' ') | ||
| 101 | log.write(str(e)) | ||
| 102 | log.write('\n') | ||
| 103 | pass | ||
| 104 | except NameError as e: | ||
| 105 | # Deals with NameError: name 'dep_path' is not defined | ||
| 106 | # because module is not found (wasn't compiled?), e.g. bddsm | ||
| 107 | if debug == True: | ||
| 108 | log.write(item+' ') | ||
| 109 | log.write(str(e)) | ||
| 110 | pass | ||
| 111 | |||
| 112 | if dep_path == '': | ||
| 113 | continue | ||
| 114 | if debug == True: | ||
| 115 | log.write('Dependency path found:\n%s\n' % dep_path) | ||
| 116 | |||
| 117 | # Site-customize is a special case since we (OpenEmbedded) put it there manually | ||
| 118 | if 'sitecustomize' in dep_path: | ||
| 119 | dep_path = '${libdir}/python${PYTHON_MAJMIN}/sitecustomize.py' | ||
| 120 | # Prints out result, which is what will be used by create_manifest | ||
| 121 | print (dep_path) | ||
| 122 | continue | ||
| 123 | |||
| 124 | dep_path = fix_path(dep_path) | ||
| 125 | |||
| 126 | import sysconfig | ||
| 127 | soabi = sysconfig.get_config_var('SOABI') | ||
| 128 | # Check if its a shared library and deconstruct it | ||
| 129 | if soabi in dep_path: | ||
| 130 | if debug == True: | ||
| 131 | log.write('Shared library found in %s\n' % dep_path) | ||
| 132 | dep_path = dep_path.replace(soabi,'*') | ||
| 133 | print (dep_path) | ||
| 134 | continue | ||
| 135 | if "_sysconfigdata" in dep_path: | ||
| 136 | dep_path = dep_path.replace(sysconfig._get_sysconfigdata_name(), "_sysconfigdata*") | ||
| 137 | |||
| 138 | if debug == True: | ||
| 139 | log.write(dep_path+'\n') | ||
| 140 | # Prints out result, which is what will be used by create_manifest | ||
| 141 | print (dep_path) | ||
| 142 | |||
| 143 | |||
| 144 | cpython_tag = sys.implementation.cache_tag | ||
| 145 | cached = '' | ||
| 146 | # Theres no naive way to find *.pyc files on python3 | ||
| 147 | try: | ||
| 148 | if debug == True: | ||
| 149 | log.write('\nCalling: sys.modules[' + '%s' % item + '].__cached__\n') | ||
| 150 | cached = sys.modules['%s' % item].__cached__ | ||
| 151 | except AttributeError as e: | ||
| 152 | # Deals with thread (builtin module) not having __cached__ attribute | ||
| 153 | if debug == True: | ||
| 154 | log.write(item + ' ') | ||
| 155 | log.write(str(e)) | ||
| 156 | log.write('\n') | ||
| 157 | pass | ||
| 158 | except NameError as e: | ||
| 159 | # Deals with NameError: name 'cached' is not defined | ||
| 160 | if debug == True: | ||
| 161 | log.write(item+' ') | ||
| 162 | log.write(str(e)) | ||
| 163 | pass | ||
| 164 | if cached is not None: | ||
| 165 | if debug == True: | ||
| 166 | log.write(cached + '\n') | ||
| 167 | cached = fix_path(cached) | ||
| 168 | cached = cached.replace(cpython_tag,'*') | ||
| 169 | if "_sysconfigdata" in cached: | ||
| 170 | cached = cached.replace(sysconfig._get_sysconfigdata_name(), "_sysconfigdata*") | ||
| 171 | print (cached) | ||
| 172 | |||
| 173 | if debug == True: | ||
| 174 | log.close() | ||
diff --git a/meta/recipes-devtools/python/python3/makerace.patch b/meta/recipes-devtools/python/python3/makerace.patch deleted file mode 100644 index bf73135e09..0000000000 --- a/meta/recipes-devtools/python/python3/makerace.patch +++ /dev/null | |||
| @@ -1,31 +0,0 @@ | |||
| 1 | From 2b458b4e1bcd57e3f135d3f0e715f64b98b27906 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
| 3 | Date: Tue, 13 Jul 2021 23:19:29 +0100 | ||
| 4 | Subject: [PATCH] python3: Fix make race | ||
| 5 | |||
| 6 | libainstall installs python-config.py but the .pyc cache files are generated | ||
| 7 | by the libinstall target. This means some builds may not generate the pyc files | ||
| 8 | for python-config.py depending on the order things happen in. This means builds | ||
| 9 | are not always reproducible. | ||
| 10 | |||
| 11 | Add a dependency to avoid the race. | ||
| 12 | |||
| 13 | Upstream-Status: Pending | ||
| 14 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
| 15 | --- | ||
| 16 | Makefile.pre.in | 2 +- | ||
| 17 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 18 | |||
| 19 | diff --git a/Makefile.pre.in b/Makefile.pre.in | ||
| 20 | index be1b9ea..9ec3a71 100644 | ||
| 21 | --- a/Makefile.pre.in | ||
| 22 | +++ b/Makefile.pre.in | ||
| 23 | @@ -2492,7 +2492,7 @@ COMPILEALL_OPTS=-j0 | ||
| 24 | TEST_MODULES=@TEST_MODULES@ | ||
| 25 | |||
| 26 | .PHONY: libinstall | ||
| 27 | -libinstall: all $(srcdir)/Modules/xxmodule.c | ||
| 28 | +libinstall: all $(srcdir)/Modules/xxmodule.c libainstall | ||
| 29 | @for i in $(SCRIPTDIR) $(LIBDEST); \ | ||
| 30 | do \ | ||
| 31 | if test ! -d $(DESTDIR)$$i; then \ | ||
diff --git a/meta/recipes-devtools/python/python3/python3-manifest.json b/meta/recipes-devtools/python/python3/python3-manifest.json deleted file mode 100644 index 441830833b..0000000000 --- a/meta/recipes-devtools/python/python3/python3-manifest.json +++ /dev/null | |||
| @@ -1,1215 +0,0 @@ | |||
| 1 | # DO NOT (entirely) modify this file manually, please read. | ||
| 2 | # | ||
| 3 | # IMPORTANT NOTE: | ||
| 4 | # Please keep in mind that the create_manifest task relies on the fact that the | ||
| 5 | # target and native Python packages are the same, and it also needs to be executed | ||
| 6 | # with a fully working native package (with all the PACKAGECONFIGs enabled and all | ||
| 7 | # and all the modules should be working, check log.do_compile), otherwise the script | ||
| 8 | # will fail to find dependencies correctly, this note is valid either if you are | ||
| 9 | # upgrading to a new Python version or adding a new package. | ||
| 10 | # | ||
| 11 | # | ||
| 12 | # If you are adding a new package please follow the next steps: | ||
| 13 | # How to add a new package: | ||
| 14 | # - If a user wants to add a new package all that has to be done is: | ||
| 15 | # Modify the python3-manifest.json file, and add the required file(s) to the FILES list, | ||
| 16 | # fill up the SUMMARY section as well, the script should handle all the rest. | ||
| 17 | # | ||
| 18 | # Real example: | ||
| 19 | # We want to add a web browser package, including the file webbrowser.py | ||
| 20 | # which at the moment is on python3-misc. | ||
| 21 | # "webbrowser": { | ||
| 22 | # "files": ["${libdir}/python${PYTHON_MAJMIN}/lib-dynload/webbrowser.py"], | ||
| 23 | # "rdepends": [], | ||
| 24 | # "summary": "Python Web Browser support"} | ||
| 25 | # | ||
| 26 | # * Note that the rdepends field was left empty | ||
| 27 | # | ||
| 28 | # We run $ bitbake python3 -c create_manifest and the resulting manifest | ||
| 29 | # should be completed after a few seconds, showing something like: | ||
| 30 | # "webbrowser": { | ||
| 31 | # "files": ["${libdir}/python${PYTHON_MAJMIN}/webbrowser.py"], | ||
| 32 | # "rdepends": ["core","fcntl","io","pickle","shell","subprocess"], | ||
| 33 | # "summary": "Python Web Browser support"} | ||
| 34 | # | ||
| 35 | # | ||
| 36 | # If you are upgrading Python to a new version please follow the next steps: | ||
| 37 | # After each Python upgrade, the create_manifest task should be executed, because we | ||
| 38 | # don't control what changes on upstream Python, so, some module dependency | ||
| 39 | # might have changed without us realizing it, a certain module can either have | ||
| 40 | # more or less dependencies, or could be depending on a new file that was just | ||
| 41 | # created on the new release and for obvious reasons we wouldn't have it on our | ||
| 42 | # old manifest, all of these issues would cause runtime errors on our system. | ||
| 43 | # | ||
| 44 | # - Upgrade both the native and target Python packages to a new version | ||
| 45 | # - Run the create_manifest task for the target Python package as its shown below: | ||
| 46 | # | ||
| 47 | # $ bitbake python3 -c create_manifest | ||
| 48 | # | ||
| 49 | # This will automatically replace your manifest file located under the Python directory | ||
| 50 | # with an new one, which contains the new dependencies (if any). | ||
| 51 | # | ||
| 52 | # Several things could have gone wrong here, I will try to explain a few: | ||
| 53 | # | ||
| 54 | # a) A new file was introduced on this release, e.g. sha3*.so: | ||
| 55 | # The task will check what its needed to import every module, more than one module would | ||
| 56 | # would probably depend on sha3*.so, although only one module should contain it. | ||
| 57 | # | ||
| 58 | # After running the task, the new manifest will have the sha3*.so file on more than one | ||
| 59 | # module, you need to manually decide which one of them should get it and delete it from | ||
| 60 | # the others, for example sha3*.so should likely be on ${PN}-crypt. | ||
| 61 | # Once you have deleted from the others you need to run the create_manifest task again, | ||
| 62 | # this will populate the other module's rdepends fields, with ${PN}-crypt and you should be | ||
| 63 | # good to go. | ||
| 64 | # | ||
| 65 | # b) The native package wasn't built correctly and its missing a certain module: | ||
| 66 | # As mentioned before, you need to make sure the native package was built with all the modules | ||
| 67 | # because it is used as base to build the manifest file, you need to manually check log.do_compile | ||
| 68 | # since it won't error out the compile function if its only missing a couple of modules. | ||
| 69 | # | ||
| 70 | # e.g. missing the _uuid module, log.do_compile would show the following: | ||
| 71 | # Python build finished successfully! | ||
| 72 | # The necessary bits to build these optional modules were not found: | ||
| 73 | # _uuid | ||
| 74 | # | ||
| 75 | # What will happen here is that the new manifest would not be aware that the _uuid module exists, so | ||
| 76 | # not only we won't know of any dependencies to it, but also, the _uuid* files will be packaged on | ||
| 77 | # the misc package (which is where any file that doesn't belong anywhere else ends up). | ||
| 78 | # | ||
| 79 | # This will eventually cause runtime errors on our system if we don't include the misc package on | ||
| 80 | # on our image, because the _uuid files will be missing. | ||
| 81 | # If we build the _uuid module correctly and run the create_manifest task the _uuid files will be | ||
| 82 | # detected correctly along with its dependencies, and we will get a working manifest. | ||
| 83 | # | ||
| 84 | # This is the reason why it is important to make sure we have a fully working native build, | ||
| 85 | # so we can avoid these errors. | ||
| 86 | # | ||
| 87 | # | ||
| 88 | # | ||
| 89 | # DO NOT MODIFY THE NEXT LINE!, IT IS USED AS A MARKER FOR THE ACTUAL JSON MANIFEST | ||
| 90 | # EOC | ||
| 91 | { | ||
| 92 | "tests": { | ||
| 93 | "summary": "Python test suite", | ||
| 94 | "rdepends": [ | ||
| 95 | "core", | ||
| 96 | "modules" | ||
| 97 | ], | ||
| 98 | "files": [ | ||
| 99 | "${libdir}/python${PYTHON_MAJMIN}/*/test", | ||
| 100 | "${libdir}/python${PYTHON_MAJMIN}/*/tests", | ||
| 101 | "${libdir}/python${PYTHON_MAJMIN}/idlelib/idle_test/", | ||
| 102 | "${libdir}/python${PYTHON_MAJMIN}/test" | ||
| 103 | ], | ||
| 104 | "cached": [] | ||
| 105 | }, | ||
| 106 | "asyncio": { | ||
| 107 | "summary": "Python Asynchronous I/O", | ||
| 108 | "rdepends": [ | ||
| 109 | "core", | ||
| 110 | "io", | ||
| 111 | "logging", | ||
| 112 | "netclient", | ||
| 113 | "numbers", | ||
| 114 | "stringold" | ||
| 115 | ], | ||
| 116 | "files": [ | ||
| 117 | "${libdir}/python${PYTHON_MAJMIN}/asyncio", | ||
| 118 | "${libdir}/python${PYTHON_MAJMIN}/concurrent", | ||
| 119 | "${libdir}/python${PYTHON_MAJMIN}/concurrent/futures", | ||
| 120 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_asyncio.*.so" | ||
| 121 | ], | ||
| 122 | "cached": [] | ||
| 123 | }, | ||
| 124 | "audio": { | ||
| 125 | "summary": "Python Audio Handling", | ||
| 126 | "rdepends": [ | ||
| 127 | "core" | ||
| 128 | ], | ||
| 129 | "files": [ | ||
| 130 | "${libdir}/python${PYTHON_MAJMIN}/wave.py" | ||
| 131 | ], | ||
| 132 | "cached": [ | ||
| 133 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/wave.*.pyc" | ||
| 134 | ] | ||
| 135 | }, | ||
| 136 | "codecs": { | ||
| 137 | "summary": "Python codec", | ||
| 138 | "rdepends": [ | ||
| 139 | "core" | ||
| 140 | ], | ||
| 141 | "files": [ | ||
| 142 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_multibytecodec.*.so" | ||
| 143 | ], | ||
| 144 | "cached": [] | ||
| 145 | }, | ||
| 146 | "compile": { | ||
| 147 | "summary": "Python bytecode compilation support", | ||
| 148 | "rdepends": [ | ||
| 149 | "core" | ||
| 150 | ], | ||
| 151 | "files": [ | ||
| 152 | "${libdir}/python${PYTHON_MAJMIN}/compileall.py", | ||
| 153 | "${libdir}/python${PYTHON_MAJMIN}/filecmp.py", | ||
| 154 | "${libdir}/python${PYTHON_MAJMIN}/py_compile.py" | ||
| 155 | ], | ||
| 156 | "cached": [ | ||
| 157 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/compileall.*.pyc", | ||
| 158 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/filecmp.*.pyc", | ||
| 159 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/py_compile.*.pyc" | ||
| 160 | ] | ||
| 161 | }, | ||
| 162 | "compression": { | ||
| 163 | "summary": "Python high-level compression support", | ||
| 164 | "rdepends": [ | ||
| 165 | "core" | ||
| 166 | ], | ||
| 167 | "files": [ | ||
| 168 | "${libdir}/python${PYTHON_MAJMIN}/gzip.py", | ||
| 169 | "${libdir}/python${PYTHON_MAJMIN}/tarfile.py", | ||
| 170 | "${libdir}/python${PYTHON_MAJMIN}/zipfile", | ||
| 171 | "${libdir}/python${PYTHON_MAJMIN}/zipfile/_path" | ||
| 172 | ], | ||
| 173 | "cached": [ | ||
| 174 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/gzip.*.pyc", | ||
| 175 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/tarfile.*.pyc" | ||
| 176 | ] | ||
| 177 | }, | ||
| 178 | "core": { | ||
| 179 | "summary": "Python interpreter and core modules", | ||
| 180 | "rdepends": ["compression"], | ||
| 181 | "files": [ | ||
| 182 | "${bindir}/python${PYTHON_MAJMIN}", | ||
| 183 | "${bindir}/python${PYTHON_MAJMIN}.real", | ||
| 184 | "${bindir}/python3", | ||
| 185 | "${includedir}/python${PYTHON_MAJMIN}/pyconfig*.h", | ||
| 186 | "${libdir}/python${PYTHON_MAJMIN}/UserDict.py", | ||
| 187 | "${libdir}/python${PYTHON_MAJMIN}/UserList.py", | ||
| 188 | "${libdir}/python${PYTHON_MAJMIN}/UserString.py", | ||
| 189 | "${libdir}/python${PYTHON_MAJMIN}/__future__.py", | ||
| 190 | "${libdir}/python${PYTHON_MAJMIN}/_abcoll.py", | ||
| 191 | "${libdir}/python${PYTHON_MAJMIN}/_bootlocale.py", | ||
| 192 | "${libdir}/python${PYTHON_MAJMIN}/_collections_abc.py", | ||
| 193 | "${libdir}/python${PYTHON_MAJMIN}/_colorize.py", | ||
| 194 | "${libdir}/python${PYTHON_MAJMIN}/_compression.py", | ||
| 195 | "${libdir}/python${PYTHON_MAJMIN}/_markupbase.py", | ||
| 196 | "${libdir}/python${PYTHON_MAJMIN}/_opcode_metadata.py", | ||
| 197 | "${libdir}/python${PYTHON_MAJMIN}/_pyrepl", | ||
| 198 | "${libdir}/python${PYTHON_MAJMIN}/_pyrepl/pager.py", | ||
| 199 | "${libdir}/python${PYTHON_MAJMIN}/_sitebuiltins.py", | ||
| 200 | "${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py", | ||
| 201 | "${libdir}/python${PYTHON_MAJMIN}/_weakrefset.py", | ||
| 202 | "${libdir}/python${PYTHON_MAJMIN}/abc.py", | ||
| 203 | "${libdir}/python${PYTHON_MAJMIN}/argparse.py", | ||
| 204 | "${libdir}/python${PYTHON_MAJMIN}/ast.py", | ||
| 205 | "${libdir}/python${PYTHON_MAJMIN}/bisect.py", | ||
| 206 | "${libdir}/python${PYTHON_MAJMIN}/bz2.py", | ||
| 207 | "${libdir}/python${PYTHON_MAJMIN}/code.py", | ||
| 208 | "${libdir}/python${PYTHON_MAJMIN}/codecs.py", | ||
| 209 | "${libdir}/python${PYTHON_MAJMIN}/codeop.py", | ||
| 210 | "${libdir}/python${PYTHON_MAJMIN}/collections", | ||
| 211 | "${libdir}/python${PYTHON_MAJMIN}/collections/abc.py", | ||
| 212 | "${libdir}/python${PYTHON_MAJMIN}/configparser.py", | ||
| 213 | "${libdir}/python${PYTHON_MAJMIN}/contextlib.py", | ||
| 214 | "${libdir}/python${PYTHON_MAJMIN}/copy.py", | ||
| 215 | "${libdir}/python${PYTHON_MAJMIN}/copyreg.py", | ||
| 216 | "${libdir}/python${PYTHON_MAJMIN}/csv.py", | ||
| 217 | "${libdir}/python${PYTHON_MAJMIN}/dataclasses.py", | ||
| 218 | "${libdir}/python${PYTHON_MAJMIN}/dis.py", | ||
| 219 | "${libdir}/python${PYTHON_MAJMIN}/encodings", | ||
| 220 | "${libdir}/python${PYTHON_MAJMIN}/encodings/aliases.py", | ||
| 221 | "${libdir}/python${PYTHON_MAJMIN}/encodings/latin_1.py", | ||
| 222 | "${libdir}/python${PYTHON_MAJMIN}/encodings/utf_8.py", | ||
| 223 | "${libdir}/python${PYTHON_MAJMIN}/enum.py", | ||
| 224 | "${libdir}/python${PYTHON_MAJMIN}/fnmatch.py", | ||
| 225 | "${libdir}/python${PYTHON_MAJMIN}/functools.py", | ||
| 226 | "${libdir}/python${PYTHON_MAJMIN}/genericpath.py", | ||
| 227 | "${libdir}/python${PYTHON_MAJMIN}/getopt.py", | ||
| 228 | "${libdir}/python${PYTHON_MAJMIN}/gettext.py", | ||
| 229 | "${libdir}/python${PYTHON_MAJMIN}/glob.py", | ||
| 230 | "${libdir}/python${PYTHON_MAJMIN}/heapq.py", | ||
| 231 | "${libdir}/python${PYTHON_MAJMIN}/imp.py", | ||
| 232 | "${libdir}/python${PYTHON_MAJMIN}/importlib", | ||
| 233 | "${libdir}/python${PYTHON_MAJMIN}/importlib/_abc.py", | ||
| 234 | "${libdir}/python${PYTHON_MAJMIN}/importlib/_bootstrap.py", | ||
| 235 | "${libdir}/python${PYTHON_MAJMIN}/importlib/_bootstrap_external.py", | ||
| 236 | "${libdir}/python${PYTHON_MAJMIN}/importlib/abc.py", | ||
| 237 | "${libdir}/python${PYTHON_MAJMIN}/importlib/machinery.py", | ||
| 238 | "${libdir}/python${PYTHON_MAJMIN}/importlib/util.py", | ||
| 239 | "${libdir}/python${PYTHON_MAJMIN}/inspect.py", | ||
| 240 | "${libdir}/python${PYTHON_MAJMIN}/io.py", | ||
| 241 | "${libdir}/python${PYTHON_MAJMIN}/ipaddress.py", | ||
| 242 | "${libdir}/python${PYTHON_MAJMIN}/keyword.py", | ||
| 243 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/_struct.*.so", | ||
| 244 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/binascii.*.so", | ||
| 245 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/time.*.so", | ||
| 246 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/xreadlines.*.so", | ||
| 247 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_bisect.*.so", | ||
| 248 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_bz2.*.so", | ||
| 249 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_csv.*.so", | ||
| 250 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_heapq.*.so", | ||
| 251 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_lzma.*.so", | ||
| 252 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_opcode.*.so", | ||
| 253 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_posixsubprocess.*.so", | ||
| 254 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_struct.*.so", | ||
| 255 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_typing.*.so", | ||
| 256 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/array.*.so", | ||
| 257 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/binascii.*.so", | ||
| 258 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/fcntl.*.so", | ||
| 259 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/grp.*.so", | ||
| 260 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/math.*.so", | ||
| 261 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/parser.*.so", | ||
| 262 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/readline.*.so", | ||
| 263 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/select.*.so", | ||
| 264 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/time.*.so", | ||
| 265 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/unicodedata.*.so", | ||
| 266 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/xreadlines.*.so", | ||
| 267 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/zlib.*.so", | ||
| 268 | "${libdir}/python${PYTHON_MAJMIN}/linecache.py", | ||
| 269 | "${libdir}/python${PYTHON_MAJMIN}/locale.py", | ||
| 270 | "${libdir}/python${PYTHON_MAJMIN}/lzma.py", | ||
| 271 | "${libdir}/python${PYTHON_MAJMIN}/new.py", | ||
| 272 | "${libdir}/python${PYTHON_MAJMIN}/ntpath.py", | ||
| 273 | "${libdir}/python${PYTHON_MAJMIN}/opcode.py", | ||
| 274 | "${libdir}/python${PYTHON_MAJMIN}/operator.py", | ||
| 275 | "${libdir}/python${PYTHON_MAJMIN}/optparse.py", | ||
| 276 | "${libdir}/python${PYTHON_MAJMIN}/os.py", | ||
| 277 | "${libdir}/python${PYTHON_MAJMIN}/pathlib", | ||
| 278 | "${libdir}/python${PYTHON_MAJMIN}/pathlib.py", | ||
| 279 | "${libdir}/python${PYTHON_MAJMIN}/pathlib/_abc.py", | ||
| 280 | "${libdir}/python${PYTHON_MAJMIN}/pathlib/_local.py", | ||
| 281 | "${libdir}/python${PYTHON_MAJMIN}/pkgutil.py", | ||
| 282 | "${libdir}/python${PYTHON_MAJMIN}/platform.py", | ||
| 283 | "${libdir}/python${PYTHON_MAJMIN}/posixpath.py", | ||
| 284 | "${libdir}/python${PYTHON_MAJMIN}/re", | ||
| 285 | "${libdir}/python${PYTHON_MAJMIN}/re/_casefix.py", | ||
| 286 | "${libdir}/python${PYTHON_MAJMIN}/re/_compiler.py", | ||
| 287 | "${libdir}/python${PYTHON_MAJMIN}/re/_constants.py", | ||
| 288 | "${libdir}/python${PYTHON_MAJMIN}/re/_parser.py", | ||
| 289 | "${libdir}/python${PYTHON_MAJMIN}/reprlib.py", | ||
| 290 | "${libdir}/python${PYTHON_MAJMIN}/rlcompleter.py", | ||
| 291 | "${libdir}/python${PYTHON_MAJMIN}/runpy.py", | ||
| 292 | "${libdir}/python${PYTHON_MAJMIN}/selectors.py", | ||
| 293 | "${libdir}/python${PYTHON_MAJMIN}/shutil.py", | ||
| 294 | "${libdir}/python${PYTHON_MAJMIN}/signal.py", | ||
| 295 | "${libdir}/python${PYTHON_MAJMIN}/site.py", | ||
| 296 | "${libdir}/python${PYTHON_MAJMIN}/sitecustomize.py", | ||
| 297 | "${libdir}/python${PYTHON_MAJMIN}/sre_compile.py", | ||
| 298 | "${libdir}/python${PYTHON_MAJMIN}/sre_constants.py", | ||
| 299 | "${libdir}/python${PYTHON_MAJMIN}/sre_parse.py", | ||
| 300 | "${libdir}/python${PYTHON_MAJMIN}/stat.py", | ||
| 301 | "${libdir}/python${PYTHON_MAJMIN}/stringprep.py", | ||
| 302 | "${libdir}/python${PYTHON_MAJMIN}/struct.py", | ||
| 303 | "${libdir}/python${PYTHON_MAJMIN}/subprocess.py", | ||
| 304 | "${libdir}/python${PYTHON_MAJMIN}/symbol.py", | ||
| 305 | "${libdir}/python${PYTHON_MAJMIN}/sysconfig", | ||
| 306 | "${libdir}/python${PYTHON_MAJMIN}/sysconfig.py", | ||
| 307 | "${libdir}/python${PYTHON_MAJMIN}/textwrap.py", | ||
| 308 | "${libdir}/python${PYTHON_MAJMIN}/threading.py", | ||
| 309 | "${libdir}/python${PYTHON_MAJMIN}/token.py", | ||
| 310 | "${libdir}/python${PYTHON_MAJMIN}/tokenize.py", | ||
| 311 | "${libdir}/python${PYTHON_MAJMIN}/traceback.py", | ||
| 312 | "${libdir}/python${PYTHON_MAJMIN}/types.py", | ||
| 313 | "${libdir}/python${PYTHON_MAJMIN}/typing.py", | ||
| 314 | "${libdir}/python${PYTHON_MAJMIN}/urllib", | ||
| 315 | "${libdir}/python${PYTHON_MAJMIN}/urllib/parse.py", | ||
| 316 | "${libdir}/python${PYTHON_MAJMIN}/warnings.py", | ||
| 317 | "${libdir}/python${PYTHON_MAJMIN}/weakref.py", | ||
| 318 | "${libdir}/python${PYTHON_MAJMIN}/zipimport.py", | ||
| 319 | "${prefix}/lib/python${PYTHON_MAJMIN}/config*/*[!.a]" | ||
| 320 | ], | ||
| 321 | "cached": [ | ||
| 322 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/__future__.*.pyc", | ||
| 323 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_bootlocale.*.pyc", | ||
| 324 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_collections_abc.*.pyc", | ||
| 325 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_colorize.*.pyc", | ||
| 326 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_compression.*.pyc", | ||
| 327 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_markupbase.*.pyc", | ||
| 328 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_opcode_metadata.*.pyc", | ||
| 329 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_sitebuiltins.*.pyc", | ||
| 330 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_sysconfigdata*.*.pyc", | ||
| 331 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_weakrefset.*.pyc", | ||
| 332 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/abc.*.pyc", | ||
| 333 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/argparse.*.pyc", | ||
| 334 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ast.*.pyc", | ||
| 335 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/bisect.*.pyc", | ||
| 336 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/bz2.*.pyc", | ||
| 337 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/code.*.pyc", | ||
| 338 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/codecs.*.pyc", | ||
| 339 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/codeop.*.pyc", | ||
| 340 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/configparser.*.pyc", | ||
| 341 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/contextlib.*.pyc", | ||
| 342 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/copy.*.pyc", | ||
| 343 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/copyreg.*.pyc", | ||
| 344 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/csv.*.pyc", | ||
| 345 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/dataclasses.*.pyc", | ||
| 346 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/dis.*.pyc", | ||
| 347 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/enum.*.pyc", | ||
| 348 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/fnmatch.*.pyc", | ||
| 349 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/functools.*.pyc", | ||
| 350 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/genericpath.*.pyc", | ||
| 351 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/getopt.*.pyc", | ||
| 352 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/gettext.*.pyc", | ||
| 353 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/glob.*.pyc", | ||
| 354 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/heapq.*.pyc", | ||
| 355 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/imp.*.pyc", | ||
| 356 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/inspect.*.pyc", | ||
| 357 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/io.*.pyc", | ||
| 358 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ipaddress.*.pyc", | ||
| 359 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/keyword.*.pyc", | ||
| 360 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/linecache.*.pyc", | ||
| 361 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/locale.*.pyc", | ||
| 362 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/lzma.*.pyc", | ||
| 363 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ntpath.*.pyc", | ||
| 364 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/opcode.*.pyc", | ||
| 365 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/operator.*.pyc", | ||
| 366 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/optparse.*.pyc", | ||
| 367 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/os.*.pyc", | ||
| 368 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pathlib.*.pyc", | ||
| 369 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pkgutil.*.pyc", | ||
| 370 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/platform.*.pyc", | ||
| 371 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/posixpath.*.pyc", | ||
| 372 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/re.*.pyc", | ||
| 373 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/reprlib.*.pyc", | ||
| 374 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/rlcompleter.*.pyc", | ||
| 375 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/runpy.*.pyc", | ||
| 376 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/selectors.*.pyc", | ||
| 377 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/shutil.*.pyc", | ||
| 378 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/signal.*.pyc", | ||
| 379 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/site.*.pyc", | ||
| 380 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/sre_compile.*.pyc", | ||
| 381 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/sre_constants.*.pyc", | ||
| 382 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/sre_parse.*.pyc", | ||
| 383 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/stat.*.pyc", | ||
| 384 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/stringprep.*.pyc", | ||
| 385 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/struct.*.pyc", | ||
| 386 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/subprocess.*.pyc", | ||
| 387 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/symbol.*.pyc", | ||
| 388 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/sysconfig.*.pyc", | ||
| 389 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/textwrap.*.pyc", | ||
| 390 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/threading.*.pyc", | ||
| 391 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/token.*.pyc", | ||
| 392 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/tokenize.*.pyc", | ||
| 393 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/traceback.*.pyc", | ||
| 394 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/types.*.pyc", | ||
| 395 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/typing.*.pyc", | ||
| 396 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/warnings.*.pyc", | ||
| 397 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/weakref.*.pyc", | ||
| 398 | "${libdir}/python${PYTHON_MAJMIN}/_pyrepl/__pycache__", | ||
| 399 | "${libdir}/python${PYTHON_MAJMIN}/_pyrepl/__pycache__/pager.*.pyc", | ||
| 400 | "${libdir}/python${PYTHON_MAJMIN}/collections/__pycache__", | ||
| 401 | "${libdir}/python${PYTHON_MAJMIN}/collections/__pycache__/abc.*.pyc", | ||
| 402 | "${libdir}/python${PYTHON_MAJMIN}/encodings/__pycache__", | ||
| 403 | "${libdir}/python${PYTHON_MAJMIN}/encodings/__pycache__/aliases.*.pyc", | ||
| 404 | "${libdir}/python${PYTHON_MAJMIN}/encodings/__pycache__/latin_1.*.pyc", | ||
| 405 | "${libdir}/python${PYTHON_MAJMIN}/encodings/__pycache__/utf_8.*.pyc", | ||
| 406 | "${libdir}/python${PYTHON_MAJMIN}/importlib/__pycache__", | ||
| 407 | "${libdir}/python${PYTHON_MAJMIN}/importlib/__pycache__/_abc.*.pyc", | ||
| 408 | "${libdir}/python${PYTHON_MAJMIN}/importlib/__pycache__/abc.*.pyc", | ||
| 409 | "${libdir}/python${PYTHON_MAJMIN}/importlib/__pycache__/machinery.*.pyc", | ||
| 410 | "${libdir}/python${PYTHON_MAJMIN}/importlib/__pycache__/util.*.pyc", | ||
| 411 | "${libdir}/python${PYTHON_MAJMIN}/pathlib/__pycache__", | ||
| 412 | "${libdir}/python${PYTHON_MAJMIN}/pathlib/__pycache__/_abc.*.pyc", | ||
| 413 | "${libdir}/python${PYTHON_MAJMIN}/pathlib/__pycache__/_local.*.pyc", | ||
| 414 | "${libdir}/python${PYTHON_MAJMIN}/re/__pycache__", | ||
| 415 | "${libdir}/python${PYTHON_MAJMIN}/re/__pycache__/_casefix.*.pyc", | ||
| 416 | "${libdir}/python${PYTHON_MAJMIN}/re/__pycache__/_compiler.*.pyc", | ||
| 417 | "${libdir}/python${PYTHON_MAJMIN}/re/__pycache__/_constants.*.pyc", | ||
| 418 | "${libdir}/python${PYTHON_MAJMIN}/re/__pycache__/_parser.*.pyc", | ||
| 419 | "${libdir}/python${PYTHON_MAJMIN}/sysconfig/__pycache__", | ||
| 420 | "${libdir}/python${PYTHON_MAJMIN}/urllib/__pycache__", | ||
| 421 | "${libdir}/python${PYTHON_MAJMIN}/urllib/__pycache__/parse.*.pyc" | ||
| 422 | ] | ||
| 423 | }, | ||
| 424 | "crypt": { | ||
| 425 | "summary": "Python basic cryptographic and hashing support", | ||
| 426 | "rdepends": [ | ||
| 427 | "core" | ||
| 428 | ], | ||
| 429 | "files": [ | ||
| 430 | "${libdir}/python${PYTHON_MAJMIN}/hashlib.py", | ||
| 431 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_blake2.*.so", | ||
| 432 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_hashlib.*.so", | ||
| 433 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_md5.*.so", | ||
| 434 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha1.*.so", | ||
| 435 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha2.*.so", | ||
| 436 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha3.*.so" | ||
| 437 | ], | ||
| 438 | "cached": [ | ||
| 439 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/hashlib.*.pyc" | ||
| 440 | ] | ||
| 441 | }, | ||
| 442 | "ctypes": { | ||
| 443 | "summary": "Python C types support", | ||
| 444 | "rdepends": [ | ||
| 445 | "core", | ||
| 446 | "io", | ||
| 447 | "math" | ||
| 448 | ], | ||
| 449 | "files": [ | ||
| 450 | "${libdir}/python${PYTHON_MAJMIN}/ctypes", | ||
| 451 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_ctypes.*.so", | ||
| 452 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_ctypes_test.*.so" | ||
| 453 | ], | ||
| 454 | "cached": [] | ||
| 455 | }, | ||
| 456 | "curses": { | ||
| 457 | "summary": "Python curses support", | ||
| 458 | "rdepends": [ | ||
| 459 | "core" | ||
| 460 | ], | ||
| 461 | "files": [ | ||
| 462 | "${libdir}/python${PYTHON_MAJMIN}/curses", | ||
| 463 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_curses.*.so", | ||
| 464 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_curses_panel.*.so" | ||
| 465 | ], | ||
| 466 | "cached": [] | ||
| 467 | }, | ||
| 468 | "datetime": { | ||
| 469 | "summary": "Python calendar and time support", | ||
| 470 | "rdepends": [ | ||
| 471 | "core" | ||
| 472 | ], | ||
| 473 | "files": [ | ||
| 474 | "${libdir}/python${PYTHON_MAJMIN}/_strptime.py", | ||
| 475 | "${libdir}/python${PYTHON_MAJMIN}/calendar.py", | ||
| 476 | "${libdir}/python${PYTHON_MAJMIN}/datetime.py", | ||
| 477 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_datetime.*.so" | ||
| 478 | ], | ||
| 479 | "cached": [ | ||
| 480 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_strptime.*.pyc", | ||
| 481 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/calendar.*.pyc", | ||
| 482 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/datetime.*.pyc" | ||
| 483 | ] | ||
| 484 | }, | ||
| 485 | "db": { | ||
| 486 | "summary": "Python file-based database support", | ||
| 487 | "rdepends": [ | ||
| 488 | "core" | ||
| 489 | ], | ||
| 490 | "files": [ | ||
| 491 | "${libdir}/python${PYTHON_MAJMIN}/dbm", | ||
| 492 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_dbm.*.so" | ||
| 493 | ], | ||
| 494 | "cached": [] | ||
| 495 | }, | ||
| 496 | "debugger": { | ||
| 497 | "summary": "Python debugger", | ||
| 498 | "rdepends": [ | ||
| 499 | "core", | ||
| 500 | "pprint", | ||
| 501 | "shell", | ||
| 502 | "stringold" | ||
| 503 | ], | ||
| 504 | "files": [ | ||
| 505 | "${libdir}/python${PYTHON_MAJMIN}/bdb.py", | ||
| 506 | "${libdir}/python${PYTHON_MAJMIN}/pdb.py" | ||
| 507 | ], | ||
| 508 | "cached": [ | ||
| 509 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/bdb.*.pyc", | ||
| 510 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pdb.*.pyc" | ||
| 511 | ] | ||
| 512 | }, | ||
| 513 | "dev": { | ||
| 514 | "cached": [], | ||
| 515 | "files": [ | ||
| 516 | "${base_libdir}/*.a", | ||
| 517 | "${base_libdir}/*.o", | ||
| 518 | "${bindir}/python*-config*", | ||
| 519 | "${datadir}/aclocal", | ||
| 520 | "${datadir}/pkgconfig", | ||
| 521 | "${includedir}", | ||
| 522 | "${libdir}/*.a", | ||
| 523 | "${libdir}/*.la", | ||
| 524 | "${libdir}/*.o", | ||
| 525 | "${libdir}/lib*${SOLIBSDEV}", | ||
| 526 | "${libdir}/pkgconfig" | ||
| 527 | ], | ||
| 528 | "rdepends": [ | ||
| 529 | "core" | ||
| 530 | ], | ||
| 531 | "summary": "Python development package" | ||
| 532 | }, | ||
| 533 | "difflib": { | ||
| 534 | "summary": "Python helpers for computing deltas between objects", | ||
| 535 | "rdepends": [ | ||
| 536 | "core" | ||
| 537 | ], | ||
| 538 | "files": [ | ||
| 539 | "${libdir}/python${PYTHON_MAJMIN}/difflib.py" | ||
| 540 | ], | ||
| 541 | "cached": [ | ||
| 542 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/difflib.*.pyc" | ||
| 543 | ] | ||
| 544 | }, | ||
| 545 | "doctest": { | ||
| 546 | "summary": "Python framework for running examples in docstrings", | ||
| 547 | "rdepends": [ | ||
| 548 | "core", | ||
| 549 | "debugger", | ||
| 550 | "difflib", | ||
| 551 | "pprint", | ||
| 552 | "shell", | ||
| 553 | "stringold", | ||
| 554 | "unittest" | ||
| 555 | ], | ||
| 556 | "files": [ | ||
| 557 | "${libdir}/python${PYTHON_MAJMIN}/doctest.py" | ||
| 558 | ], | ||
| 559 | "cached": [ | ||
| 560 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/doctest.*.pyc" | ||
| 561 | ] | ||
| 562 | }, | ||
| 563 | "email": { | ||
| 564 | "summary": "Python email support", | ||
| 565 | "rdepends": [ | ||
| 566 | "core", | ||
| 567 | "datetime", | ||
| 568 | "io", | ||
| 569 | "math", | ||
| 570 | "mime", | ||
| 571 | "netclient", | ||
| 572 | "stringold" | ||
| 573 | ], | ||
| 574 | "files": [ | ||
| 575 | "${libdir}/python${PYTHON_MAJMIN}/email", | ||
| 576 | "${libdir}/python${PYTHON_MAJMIN}/imaplib.py" | ||
| 577 | ], | ||
| 578 | "cached": [ | ||
| 579 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/imaplib.*.pyc" | ||
| 580 | ] | ||
| 581 | }, | ||
| 582 | "ensurepip": { | ||
| 583 | "summary": "Support for bootstrapping the pip installer", | ||
| 584 | "rdepends": [ | ||
| 585 | "core" | ||
| 586 | ], | ||
| 587 | "files": [ | ||
| 588 | "${libdir}/python${PYTHON_MAJMIN}/ensurepip/" | ||
| 589 | ], | ||
| 590 | "cached": [] | ||
| 591 | }, | ||
| 592 | "fcntl": { | ||
| 593 | "summary": "Python's fcntl interface", | ||
| 594 | "rdepends": [ | ||
| 595 | "core" | ||
| 596 | ], | ||
| 597 | "files": [ | ||
| 598 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/fcntl.*.so" | ||
| 599 | ], | ||
| 600 | "cached": [] | ||
| 601 | }, | ||
| 602 | "gdbm": { | ||
| 603 | "summary": "Python GNU database support", | ||
| 604 | "rdepends": [ | ||
| 605 | "core" | ||
| 606 | ], | ||
| 607 | "files": [ | ||
| 608 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_gdbm.*.so" | ||
| 609 | ], | ||
| 610 | "cached": [] | ||
| 611 | }, | ||
| 612 | "html": { | ||
| 613 | "summary": "Python HTML processing support", | ||
| 614 | "rdepends": [ | ||
| 615 | "core" | ||
| 616 | ], | ||
| 617 | "files": [ | ||
| 618 | "${libdir}/python${PYTHON_MAJMIN}/html" | ||
| 619 | ], | ||
| 620 | "cached": [] | ||
| 621 | }, | ||
| 622 | "idle": { | ||
| 623 | "summary": "Python Integrated Development Environment", | ||
| 624 | "rdepends": [ | ||
| 625 | "core" | ||
| 626 | ], | ||
| 627 | "files": [ | ||
| 628 | "${bindir}/idle*", | ||
| 629 | "${libdir}/python${PYTHON_MAJMIN}/idlelib" | ||
| 630 | ], | ||
| 631 | "cached": [] | ||
| 632 | }, | ||
| 633 | "image": { | ||
| 634 | "summary": "Python graphical image handling", | ||
| 635 | "rdepends": [ | ||
| 636 | "core" | ||
| 637 | ], | ||
| 638 | "files": [ | ||
| 639 | "${libdir}/python${PYTHON_MAJMIN}/colorsys.py" | ||
| 640 | ], | ||
| 641 | "cached": [ | ||
| 642 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/colorsys.*.pyc" | ||
| 643 | ] | ||
| 644 | }, | ||
| 645 | "io": { | ||
| 646 | "summary": "Python low-level I/O", | ||
| 647 | "rdepends": [ | ||
| 648 | "core", | ||
| 649 | "math", | ||
| 650 | "netclient" | ||
| 651 | ], | ||
| 652 | "files": [ | ||
| 653 | "${libdir}/python${PYTHON_MAJMIN}/_pyio.py", | ||
| 654 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_socket.*.so", | ||
| 655 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_ssl.*.so", | ||
| 656 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/termios.*.so", | ||
| 657 | "${libdir}/python${PYTHON_MAJMIN}/socket.py", | ||
| 658 | "${libdir}/python${PYTHON_MAJMIN}/ssl.py", | ||
| 659 | "${libdir}/python${PYTHON_MAJMIN}/tempfile.py" | ||
| 660 | ], | ||
| 661 | "cached": [ | ||
| 662 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_pyio.*.pyc", | ||
| 663 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/socket.*.pyc", | ||
| 664 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ssl.*.pyc", | ||
| 665 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/tempfile.*.pyc" | ||
| 666 | ] | ||
| 667 | }, | ||
| 668 | "json": { | ||
| 669 | "summary": "Python JSON support", | ||
| 670 | "rdepends": [ | ||
| 671 | "core" | ||
| 672 | ], | ||
| 673 | "files": [ | ||
| 674 | "${libdir}/python${PYTHON_MAJMIN}/json", | ||
| 675 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_json.*.so" | ||
| 676 | ], | ||
| 677 | "cached": [] | ||
| 678 | }, | ||
| 679 | "logging": { | ||
| 680 | "summary": "Python logging support", | ||
| 681 | "rdepends": [ | ||
| 682 | "core", | ||
| 683 | "io", | ||
| 684 | "netserver", | ||
| 685 | "pickle", | ||
| 686 | "stringold", | ||
| 687 | "threading" | ||
| 688 | ], | ||
| 689 | "files": [ | ||
| 690 | "${libdir}/python${PYTHON_MAJMIN}/logging" | ||
| 691 | ], | ||
| 692 | "cached": [] | ||
| 693 | }, | ||
| 694 | "mailbox": { | ||
| 695 | "summary": "Python mailbox format support", | ||
| 696 | "rdepends": [ | ||
| 697 | "core", | ||
| 698 | "datetime", | ||
| 699 | "email", | ||
| 700 | "io", | ||
| 701 | "math", | ||
| 702 | "mime", | ||
| 703 | "netclient", | ||
| 704 | "stringold" | ||
| 705 | ], | ||
| 706 | "files": [ | ||
| 707 | "${libdir}/python${PYTHON_MAJMIN}/mailbox.py" | ||
| 708 | ], | ||
| 709 | "cached": [ | ||
| 710 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/mailbox.*.pyc" | ||
| 711 | ] | ||
| 712 | }, | ||
| 713 | "math": { | ||
| 714 | "summary": "Python math support", | ||
| 715 | "rdepends": [ | ||
| 716 | "core" | ||
| 717 | ], | ||
| 718 | "files": [ | ||
| 719 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_random.*.so", | ||
| 720 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/cmath.*.so", | ||
| 721 | "${libdir}/python${PYTHON_MAJMIN}/random.py" | ||
| 722 | ], | ||
| 723 | "cached": [ | ||
| 724 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/random.*.pyc" | ||
| 725 | ] | ||
| 726 | }, | ||
| 727 | "mime": { | ||
| 728 | "summary": "Python MIME handling APIs", | ||
| 729 | "rdepends": [ | ||
| 730 | "core" | ||
| 731 | ], | ||
| 732 | "files": [ | ||
| 733 | "${libdir}/python${PYTHON_MAJMIN}/quopri.py" | ||
| 734 | ], | ||
| 735 | "cached": [ | ||
| 736 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/quopri.*.pyc" | ||
| 737 | ] | ||
| 738 | }, | ||
| 739 | "mmap": { | ||
| 740 | "summary": "Python memory-mapped file support", | ||
| 741 | "rdepends": [ | ||
| 742 | "core" | ||
| 743 | ], | ||
| 744 | "files": [ | ||
| 745 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/mmap.*.so" | ||
| 746 | ], | ||
| 747 | "cached": [] | ||
| 748 | }, | ||
| 749 | "modules": { | ||
| 750 | "cached": [], | ||
| 751 | "files": [], | ||
| 752 | "rdepends": [ | ||
| 753 | "asyncio", | ||
| 754 | "audio", | ||
| 755 | "codecs", | ||
| 756 | "compile", | ||
| 757 | "compression", | ||
| 758 | "core", | ||
| 759 | "crypt", | ||
| 760 | "ctypes", | ||
| 761 | "curses", | ||
| 762 | "datetime", | ||
| 763 | "db", | ||
| 764 | "debugger", | ||
| 765 | "difflib", | ||
| 766 | "doctest", | ||
| 767 | "email", | ||
| 768 | "ensurepip", | ||
| 769 | "fcntl", | ||
| 770 | "html", | ||
| 771 | "idle", | ||
| 772 | "image", | ||
| 773 | "io", | ||
| 774 | "json", | ||
| 775 | "logging", | ||
| 776 | "mailbox", | ||
| 777 | "math", | ||
| 778 | "mime", | ||
| 779 | "mmap", | ||
| 780 | "multiprocessing", | ||
| 781 | "netclient", | ||
| 782 | "netserver", | ||
| 783 | "numbers", | ||
| 784 | "pickle", | ||
| 785 | "pkgutil", | ||
| 786 | "plistlib", | ||
| 787 | "pprint", | ||
| 788 | "profile", | ||
| 789 | "pydoc", | ||
| 790 | "resource", | ||
| 791 | "shell", | ||
| 792 | "sqlite3", | ||
| 793 | "statistics", | ||
| 794 | "stringold", | ||
| 795 | "syslog", | ||
| 796 | "terminal", | ||
| 797 | "threading", | ||
| 798 | "tkinter", | ||
| 799 | "tomllib", | ||
| 800 | "unittest", | ||
| 801 | "unixadmin", | ||
| 802 | "venv", | ||
| 803 | "xml", | ||
| 804 | "xmlrpc", | ||
| 805 | "zoneinfo" | ||
| 806 | ], | ||
| 807 | "summary": "All Python modules" | ||
| 808 | }, | ||
| 809 | "multiprocessing": { | ||
| 810 | "summary": "Python multiprocessing support", | ||
| 811 | "rdepends": [ | ||
| 812 | "core", | ||
| 813 | "crypt", | ||
| 814 | "ctypes", | ||
| 815 | "io", | ||
| 816 | "math", | ||
| 817 | "mmap", | ||
| 818 | "netclient", | ||
| 819 | "pickle", | ||
| 820 | "threading" | ||
| 821 | ], | ||
| 822 | "files": [ | ||
| 823 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_multiprocessing.*.so", | ||
| 824 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_posixshmem.*.so", | ||
| 825 | "${libdir}/python${PYTHON_MAJMIN}/multiprocessing" | ||
| 826 | ], | ||
| 827 | "cached": [] | ||
| 828 | }, | ||
| 829 | "netclient": { | ||
| 830 | "summary": "Python Internet Protocol clients", | ||
| 831 | "rdepends": [ | ||
| 832 | "core", | ||
| 833 | "crypt", | ||
| 834 | "datetime", | ||
| 835 | "email", | ||
| 836 | "io", | ||
| 837 | "math", | ||
| 838 | "mime", | ||
| 839 | "stringold" | ||
| 840 | ], | ||
| 841 | "files": [ | ||
| 842 | "${libdir}/python${PYTHON_MAJMIN}/base64.py", | ||
| 843 | "${libdir}/python${PYTHON_MAJMIN}/ftplib.py", | ||
| 844 | "${libdir}/python${PYTHON_MAJMIN}/hmac.py", | ||
| 845 | "${libdir}/python${PYTHON_MAJMIN}/http", | ||
| 846 | "${libdir}/python${PYTHON_MAJMIN}/http/__pycache__", | ||
| 847 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_uuid.*.so", | ||
| 848 | "${libdir}/python${PYTHON_MAJMIN}/mimetypes.py", | ||
| 849 | "${libdir}/python${PYTHON_MAJMIN}/poplib.py", | ||
| 850 | "${libdir}/python${PYTHON_MAJMIN}/secrets.py", | ||
| 851 | "${libdir}/python${PYTHON_MAJMIN}/smtplib.py", | ||
| 852 | "${libdir}/python${PYTHON_MAJMIN}/urllib", | ||
| 853 | "${libdir}/python${PYTHON_MAJMIN}/uuid.py" | ||
| 854 | ], | ||
| 855 | "cached": [ | ||
| 856 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/base64.*.pyc", | ||
| 857 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ftplib.*.pyc", | ||
| 858 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/hmac.*.pyc", | ||
| 859 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/mimetypes.*.pyc", | ||
| 860 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/poplib.*.pyc", | ||
| 861 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/secrets.*.pyc", | ||
| 862 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/smtplib.*.pyc", | ||
| 863 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/uuid.*.pyc" | ||
| 864 | ] | ||
| 865 | }, | ||
| 866 | "netserver": { | ||
| 867 | "summary": "Python Internet Protocol servers", | ||
| 868 | "rdepends": [ | ||
| 869 | "core", | ||
| 870 | "io" | ||
| 871 | ], | ||
| 872 | "files": [ | ||
| 873 | "${libdir}/python${PYTHON_MAJMIN}/socketserver.py" | ||
| 874 | ], | ||
| 875 | "cached": [ | ||
| 876 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/socketserver.*.pyc" | ||
| 877 | ] | ||
| 878 | }, | ||
| 879 | "numbers": { | ||
| 880 | "summary": "Python number APIs", | ||
| 881 | "rdepends": [ | ||
| 882 | "core" | ||
| 883 | ], | ||
| 884 | "files": [ | ||
| 885 | "${libdir}/python${PYTHON_MAJMIN}/_pydecimal.py", | ||
| 886 | "${libdir}/python${PYTHON_MAJMIN}/contextvars.py", | ||
| 887 | "${libdir}/python${PYTHON_MAJMIN}/decimal.py", | ||
| 888 | "${libdir}/python${PYTHON_MAJMIN}/fractions.py", | ||
| 889 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_contextvars.*.so", | ||
| 890 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_decimal.*.so", | ||
| 891 | "${libdir}/python${PYTHON_MAJMIN}/numbers.py" | ||
| 892 | ], | ||
| 893 | "cached": [ | ||
| 894 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_pydecimal.*.pyc", | ||
| 895 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/contextvars.*.pyc", | ||
| 896 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/decimal.*.pyc", | ||
| 897 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/fractions.*.pyc", | ||
| 898 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/numbers.*.pyc" | ||
| 899 | ] | ||
| 900 | }, | ||
| 901 | "pickle": { | ||
| 902 | "summary": "Python serialisation/persistence support", | ||
| 903 | "rdepends": [ | ||
| 904 | "core" | ||
| 905 | ], | ||
| 906 | "files": [ | ||
| 907 | "${libdir}/python${PYTHON_MAJMIN}/_compat_pickle.py", | ||
| 908 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_pickle.*.so", | ||
| 909 | "${libdir}/python${PYTHON_MAJMIN}/pickle.py", | ||
| 910 | "${libdir}/python${PYTHON_MAJMIN}/pickletools.py", | ||
| 911 | "${libdir}/python${PYTHON_MAJMIN}/shelve.py" | ||
| 912 | ], | ||
| 913 | "cached": [ | ||
| 914 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_compat_pickle.*.pyc", | ||
| 915 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pickle.*.pyc", | ||
| 916 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pickletools.*.pyc", | ||
| 917 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/shelve.*.pyc" | ||
| 918 | ] | ||
| 919 | }, | ||
| 920 | "pkgutil": { | ||
| 921 | "summary": "Python package extension utility support", | ||
| 922 | "rdepends": [ | ||
| 923 | "core" | ||
| 924 | ], | ||
| 925 | "files": [], | ||
| 926 | "cached": [] | ||
| 927 | }, | ||
| 928 | "plistlib": { | ||
| 929 | "summary": "Generate and parse Mac OS X .plist files", | ||
| 930 | "rdepends": [ | ||
| 931 | "core", | ||
| 932 | "datetime", | ||
| 933 | "xml" | ||
| 934 | ], | ||
| 935 | "files": [ | ||
| 936 | "${libdir}/python${PYTHON_MAJMIN}/plistlib.py" | ||
| 937 | ], | ||
| 938 | "cached": [ | ||
| 939 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/plistlib.*.pyc" | ||
| 940 | ] | ||
| 941 | }, | ||
| 942 | "pprint": { | ||
| 943 | "summary": "Python pretty-print support", | ||
| 944 | "rdepends": [ | ||
| 945 | "core" | ||
| 946 | ], | ||
| 947 | "files": [ | ||
| 948 | "${libdir}/python${PYTHON_MAJMIN}/pprint.py" | ||
| 949 | ], | ||
| 950 | "cached": [ | ||
| 951 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pprint.*.pyc" | ||
| 952 | ] | ||
| 953 | }, | ||
| 954 | "profile": { | ||
| 955 | "summary": "Python basic performance profiling support", | ||
| 956 | "rdepends": [ | ||
| 957 | "core" | ||
| 958 | ], | ||
| 959 | "files": [ | ||
| 960 | "${libdir}/python${PYTHON_MAJMIN}/cProfile.py", | ||
| 961 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_lsprof.*.so", | ||
| 962 | "${libdir}/python${PYTHON_MAJMIN}/profile.py", | ||
| 963 | "${libdir}/python${PYTHON_MAJMIN}/pstats.py" | ||
| 964 | ], | ||
| 965 | "cached": [ | ||
| 966 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/cProfile.*.pyc", | ||
| 967 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/profile.*.pyc", | ||
| 968 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pstats.*.pyc" | ||
| 969 | ] | ||
| 970 | }, | ||
| 971 | "pydoc": { | ||
| 972 | "summary": "Python interactive help support", | ||
| 973 | "rdepends": [ | ||
| 974 | "core" | ||
| 975 | ], | ||
| 976 | "files": [ | ||
| 977 | "${bindir}/pydoc*", | ||
| 978 | "${libdir}/python${PYTHON_MAJMIN}/pydoc.py", | ||
| 979 | "${libdir}/python${PYTHON_MAJMIN}/pydoc_data" | ||
| 980 | ], | ||
| 981 | "cached": [ | ||
| 982 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pydoc.*.pyc" | ||
| 983 | ] | ||
| 984 | }, | ||
| 985 | "resource": { | ||
| 986 | "summary": "Python resource control interface", | ||
| 987 | "rdepends": [ | ||
| 988 | "core" | ||
| 989 | ], | ||
| 990 | "files": [ | ||
| 991 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/resource.*.so" | ||
| 992 | ], | ||
| 993 | "cached": [] | ||
| 994 | }, | ||
| 995 | "shell": { | ||
| 996 | "summary": "Python shell-like functionality", | ||
| 997 | "rdepends": [ | ||
| 998 | "core", | ||
| 999 | "stringold" | ||
| 1000 | ], | ||
| 1001 | "files": [ | ||
| 1002 | "${libdir}/python${PYTHON_MAJMIN}/cmd.py", | ||
| 1003 | "${libdir}/python${PYTHON_MAJMIN}/shlex.py" | ||
| 1004 | ], | ||
| 1005 | "cached": [ | ||
| 1006 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/cmd.*.pyc", | ||
| 1007 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/shlex.*.pyc" | ||
| 1008 | ] | ||
| 1009 | }, | ||
| 1010 | "sqlite3": { | ||
| 1011 | "summary": "Python Sqlite3 database support", | ||
| 1012 | "rdepends": [ | ||
| 1013 | "core", | ||
| 1014 | "datetime" | ||
| 1015 | ], | ||
| 1016 | "files": [ | ||
| 1017 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sqlite3.*.so", | ||
| 1018 | "${libdir}/python${PYTHON_MAJMIN}/sqlite3" | ||
| 1019 | ], | ||
| 1020 | "cached": [] | ||
| 1021 | }, | ||
| 1022 | "statistics": { | ||
| 1023 | "summary": "Basic statistics module", | ||
| 1024 | "rdepends": [ | ||
| 1025 | "core", | ||
| 1026 | "math", | ||
| 1027 | "numbers" | ||
| 1028 | ], | ||
| 1029 | "files": [ | ||
| 1030 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_statistics.*.so", | ||
| 1031 | "${libdir}/python${PYTHON_MAJMIN}/statistics.py" | ||
| 1032 | ], | ||
| 1033 | "cached": [ | ||
| 1034 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/statistics.*.pyc" | ||
| 1035 | ] | ||
| 1036 | }, | ||
| 1037 | "stringold": { | ||
| 1038 | "summary": "Common string operations", | ||
| 1039 | "rdepends": [ | ||
| 1040 | "core" | ||
| 1041 | ], | ||
| 1042 | "files": [ | ||
| 1043 | "${libdir}/python${PYTHON_MAJMIN}/string.py" | ||
| 1044 | ], | ||
| 1045 | "cached": [ | ||
| 1046 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/string.*.pyc" | ||
| 1047 | ] | ||
| 1048 | }, | ||
| 1049 | "syslog": { | ||
| 1050 | "summary": "Python syslog interface", | ||
| 1051 | "rdepends": [ | ||
| 1052 | "core" | ||
| 1053 | ], | ||
| 1054 | "files": [ | ||
| 1055 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/syslog.*.so" | ||
| 1056 | ], | ||
| 1057 | "cached": [] | ||
| 1058 | }, | ||
| 1059 | "terminal": { | ||
| 1060 | "summary": "Python terminal controlling support", | ||
| 1061 | "rdepends": [ | ||
| 1062 | "core", | ||
| 1063 | "io" | ||
| 1064 | ], | ||
| 1065 | "files": [ | ||
| 1066 | "${libdir}/python${PYTHON_MAJMIN}/pty.py", | ||
| 1067 | "${libdir}/python${PYTHON_MAJMIN}/tty.py" | ||
| 1068 | ], | ||
| 1069 | "cached": [ | ||
| 1070 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pty.*.pyc", | ||
| 1071 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/tty.*.pyc" | ||
| 1072 | ] | ||
| 1073 | }, | ||
| 1074 | "threading": { | ||
| 1075 | "summary": "Python threading & synchronization support", | ||
| 1076 | "rdepends": [ | ||
| 1077 | "core" | ||
| 1078 | ], | ||
| 1079 | "files": [ | ||
| 1080 | "${libdir}/python${PYTHON_MAJMIN}/_threading_local.py", | ||
| 1081 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_queue.*.so", | ||
| 1082 | "${libdir}/python${PYTHON_MAJMIN}/queue.py" | ||
| 1083 | ], | ||
| 1084 | "cached": [ | ||
| 1085 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_threading_local.*.pyc", | ||
| 1086 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/queue.*.pyc" | ||
| 1087 | ] | ||
| 1088 | }, | ||
| 1089 | "tkinter": { | ||
| 1090 | "summary": "Python Tcl/Tk bindings", | ||
| 1091 | "rdepends": [ | ||
| 1092 | "core" | ||
| 1093 | ], | ||
| 1094 | "files": [ | ||
| 1095 | "${libdir}/python${PYTHON_MAJMIN}/tkinter" | ||
| 1096 | ], | ||
| 1097 | "cached": [] | ||
| 1098 | }, | ||
| 1099 | "tomllib": { | ||
| 1100 | "summary": "Provides an interface for parsing TOML", | ||
| 1101 | "rdepends": [ | ||
| 1102 | "core" | ||
| 1103 | ], | ||
| 1104 | "files": [ | ||
| 1105 | "${libdir}/python${PYTHON_MAJMIN}/tomllib/" | ||
| 1106 | ], | ||
| 1107 | "cached": [] | ||
| 1108 | }, | ||
| 1109 | "unittest": { | ||
| 1110 | "summary": "Python unit testing framework", | ||
| 1111 | "rdepends": [ | ||
| 1112 | "asyncio", | ||
| 1113 | "core", | ||
| 1114 | "difflib", | ||
| 1115 | "io", | ||
| 1116 | "logging", | ||
| 1117 | "netclient", | ||
| 1118 | "numbers", | ||
| 1119 | "pprint", | ||
| 1120 | "stringold" | ||
| 1121 | ], | ||
| 1122 | "files": [ | ||
| 1123 | "${libdir}/python${PYTHON_MAJMIN}/unittest", | ||
| 1124 | "${libdir}/python${PYTHON_MAJMIN}/unittest/", | ||
| 1125 | "${libdir}/python${PYTHON_MAJMIN}/unittest/__pycache__" | ||
| 1126 | ], | ||
| 1127 | "cached": [] | ||
| 1128 | }, | ||
| 1129 | "unixadmin": { | ||
| 1130 | "summary": "Python Unix administration support", | ||
| 1131 | "rdepends": [ | ||
| 1132 | "core", | ||
| 1133 | "io" | ||
| 1134 | ], | ||
| 1135 | "files": [ | ||
| 1136 | "${libdir}/python${PYTHON_MAJMIN}/getpass.py" | ||
| 1137 | ], | ||
| 1138 | "cached": [ | ||
| 1139 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/getpass.*.pyc" | ||
| 1140 | ] | ||
| 1141 | }, | ||
| 1142 | "venv": { | ||
| 1143 | "summary": "Provides support for creating lightweight virtual environments with their own site directories, optionally isolated from system site directories.", | ||
| 1144 | "rdepends": [ | ||
| 1145 | "core", | ||
| 1146 | "logging", | ||
| 1147 | "stringold" | ||
| 1148 | ], | ||
| 1149 | "files": [ | ||
| 1150 | "${bindir}/pyvenv*", | ||
| 1151 | "${libdir}/python${PYTHON_MAJMIN}/venv" | ||
| 1152 | ], | ||
| 1153 | "cached": [] | ||
| 1154 | }, | ||
| 1155 | "xml": { | ||
| 1156 | "summary": "Python basic XML support", | ||
| 1157 | "rdepends": [ | ||
| 1158 | "core" | ||
| 1159 | ], | ||
| 1160 | "files": [ | ||
| 1161 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_elementtree.*.so", | ||
| 1162 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/pyexpat.*.so", | ||
| 1163 | "${libdir}/python${PYTHON_MAJMIN}/xml" | ||
| 1164 | ], | ||
| 1165 | "cached": [] | ||
| 1166 | }, | ||
| 1167 | "xmlrpc": { | ||
| 1168 | "summary": "Python XML-RPC support", | ||
| 1169 | "rdepends": [ | ||
| 1170 | "compression", | ||
| 1171 | "core", | ||
| 1172 | "datetime", | ||
| 1173 | "email", | ||
| 1174 | "html", | ||
| 1175 | "io", | ||
| 1176 | "mime", | ||
| 1177 | "netclient", | ||
| 1178 | "netserver", | ||
| 1179 | "numbers", | ||
| 1180 | "pydoc", | ||
| 1181 | "stringold", | ||
| 1182 | "xml" | ||
| 1183 | ], | ||
| 1184 | "files": [ | ||
| 1185 | "${libdir}/python${PYTHON_MAJMIN}/xmlrpc", | ||
| 1186 | "${libdir}/python${PYTHON_MAJMIN}/xmlrpc/__pycache__" | ||
| 1187 | ], | ||
| 1188 | "cached": [] | ||
| 1189 | }, | ||
| 1190 | "zipapp": { | ||
| 1191 | "summary": "Tools to manage the creation of zip files containing Python code", | ||
| 1192 | "rdepends": [ | ||
| 1193 | "compression", | ||
| 1194 | "core" | ||
| 1195 | ], | ||
| 1196 | "files": [ | ||
| 1197 | "${libdir}/python${PYTHON_MAJMIN}/zipapp.py" | ||
| 1198 | ], | ||
| 1199 | "cached": [ | ||
| 1200 | "${libdir}/python${PYTHON_MAJMIN}/__pycache__/zipapp.*.pyc" | ||
| 1201 | ] | ||
| 1202 | }, | ||
| 1203 | "zoneinfo": { | ||
| 1204 | "summary": "IANA time zone support", | ||
| 1205 | "rdepends": [ | ||
| 1206 | "core", | ||
| 1207 | "datetime" | ||
| 1208 | ], | ||
| 1209 | "files": [ | ||
| 1210 | "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_zoneinfo.*.so", | ||
| 1211 | "${libdir}/python${PYTHON_MAJMIN}/zoneinfo" | ||
| 1212 | ], | ||
| 1213 | "cached": [] | ||
| 1214 | } | ||
| 1215 | } | ||
diff --git a/meta/recipes-devtools/python/python3/reformat_sysconfig.py b/meta/recipes-devtools/python/python3/reformat_sysconfig.py deleted file mode 100644 index 5e2b12879d..0000000000 --- a/meta/recipes-devtools/python/python3/reformat_sysconfig.py +++ /dev/null | |||
| @@ -1,21 +0,0 @@ | |||
| 1 | #! /usr/bin/env python3 | ||
| 2 | # | ||
| 3 | # SPDX-License-Identifier: MIT | ||
| 4 | # | ||
| 5 | # Copyright 2019 by Garmin Ltd. or its subsidiaries | ||
| 6 | # | ||
| 7 | # A script to reformat python sysconfig | ||
| 8 | |||
| 9 | import sys | ||
| 10 | import pprint | ||
| 11 | l = {} | ||
| 12 | g = {} | ||
| 13 | with open(sys.argv[1], 'r') as f: | ||
| 14 | exec(f.read(), g, l) | ||
| 15 | |||
| 16 | with open(sys.argv[1], 'w') as f: | ||
| 17 | for k in sorted(l.keys()): | ||
| 18 | f.write('%s = ' % k) | ||
| 19 | pprint.pprint(l[k], stream=f, width=1) | ||
| 20 | f.write('\n') | ||
| 21 | |||
diff --git a/meta/recipes-devtools/python/python3/run-ptest b/meta/recipes-devtools/python/python3/run-ptest deleted file mode 100644 index d1c26c11e2..0000000000 --- a/meta/recipes-devtools/python/python3/run-ptest +++ /dev/null | |||
| @@ -1,3 +0,0 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | SKIPPED_TESTS= | ||
| 3 | { 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/valid-dists.patch b/meta/recipes-devtools/python/python3/valid-dists.patch deleted file mode 100644 index 38b6ebc5cb..0000000000 --- a/meta/recipes-devtools/python/python3/valid-dists.patch +++ /dev/null | |||
| @@ -1,164 +0,0 @@ | |||
| 1 | From a65c29adc027b3615154cab73aaedd58a6aa23da Mon Sep 17 00:00:00 2001 | ||
| 2 | From: "Jason R. Coombs" <jaraco@jaraco.com> | ||
| 3 | Date: Tue, 23 Jul 2024 08:36:16 -0400 | ||
| 4 | Subject: [PATCH] Prioritize valid dists to invalid dists when retrieving by | ||
| 5 | name. | ||
| 6 | |||
| 7 | Closes python/importlib_metadata#489 | ||
| 8 | |||
| 9 | Upstream-Status: Backport [https://github.com/python/importlib_metadata/commit/a65c29adc027b3615154cab73aaedd58a6aa23da] | ||
| 10 | Signed-off-by: Ross Burton <ross.burton@arm.com> | ||
| 11 | --- | ||
| 12 | Lib/importlib/metadata/__init__.py | 14 +++- | ||
| 13 | Lib/importlib/metadata/_itertools.py | 98 ++++++++++++++++++++++++++++ | ||
| 14 | 2 files changed, 110 insertions(+), 2 deletions(-) | ||
| 15 | |||
| 16 | diff --git a/Lib/importlib/metadata/__init__.py b/Lib/importlib/metadata/__init__.py | ||
| 17 | index 8ce62dd..085378c 100644 | ||
| 18 | --- a/Lib/importlib/metadata/__init__.py | ||
| 19 | +++ b/Lib/importlib/metadata/__init__.py | ||
| 20 | @@ -21,7 +21,7 @@ import collections | ||
| 21 | from . import _meta | ||
| 22 | from ._collections import FreezableDefaultDict, Pair | ||
| 23 | from ._functools import method_cache, pass_none | ||
| 24 | -from ._itertools import always_iterable, unique_everseen | ||
| 25 | +from ._itertools import always_iterable, bucket, unique_everseen | ||
| 26 | from ._meta import PackageMetadata, SimplePath | ||
| 27 | |||
| 28 | from contextlib import suppress | ||
| 29 | @@ -404,7 +404,7 @@ class Distribution(DeprecatedNonAbstract): | ||
| 30 | if not name: | ||
| 31 | raise ValueError("A distribution name is required.") | ||
| 32 | try: | ||
| 33 | - return next(iter(cls.discover(name=name))) | ||
| 34 | + return next(iter(cls._prefer_valid(cls.discover(name=name)))) | ||
| 35 | except StopIteration: | ||
| 36 | raise PackageNotFoundError(name) | ||
| 37 | |||
| 38 | @@ -428,6 +428,16 @@ class Distribution(DeprecatedNonAbstract): | ||
| 39 | resolver(context) for resolver in cls._discover_resolvers() | ||
| 40 | ) | ||
| 41 | |||
| 42 | + @staticmethod | ||
| 43 | + def _prefer_valid(dists: Iterable[Distribution]) -> Iterable[Distribution]: | ||
| 44 | + """ | ||
| 45 | + Prefer (move to the front) distributions that have metadata. | ||
| 46 | + | ||
| 47 | + Ref python/importlib_resources#489. | ||
| 48 | + """ | ||
| 49 | + buckets = bucket(dists, lambda dist: bool(dist.metadata)) | ||
| 50 | + return itertools.chain(buckets[True], buckets[False]) | ||
| 51 | + | ||
| 52 | @staticmethod | ||
| 53 | def at(path: str | os.PathLike[str]) -> Distribution: | ||
| 54 | """Return a Distribution for the indicated metadata path. | ||
| 55 | diff --git a/Lib/importlib/metadata/_itertools.py b/Lib/importlib/metadata/_itertools.py | ||
| 56 | index d4ca9b9..79d3719 100644 | ||
| 57 | --- a/Lib/importlib/metadata/_itertools.py | ||
| 58 | +++ b/Lib/importlib/metadata/_itertools.py | ||
| 59 | @@ -1,3 +1,4 @@ | ||
| 60 | +from collections import defaultdict, deque | ||
| 61 | from itertools import filterfalse | ||
| 62 | |||
| 63 | |||
| 64 | @@ -71,3 +72,100 @@ def always_iterable(obj, base_type=(str, bytes)): | ||
| 65 | return iter(obj) | ||
| 66 | except TypeError: | ||
| 67 | return iter((obj,)) | ||
| 68 | + | ||
| 69 | + | ||
| 70 | +# Copied from more_itertools 10.3 | ||
| 71 | +class bucket: | ||
| 72 | + """Wrap *iterable* and return an object that buckets the iterable into | ||
| 73 | + child iterables based on a *key* function. | ||
| 74 | + | ||
| 75 | + >>> iterable = ['a1', 'b1', 'c1', 'a2', 'b2', 'c2', 'b3'] | ||
| 76 | + >>> s = bucket(iterable, key=lambda x: x[0]) # Bucket by 1st character | ||
| 77 | + >>> sorted(list(s)) # Get the keys | ||
| 78 | + ['a', 'b', 'c'] | ||
| 79 | + >>> a_iterable = s['a'] | ||
| 80 | + >>> next(a_iterable) | ||
| 81 | + 'a1' | ||
| 82 | + >>> next(a_iterable) | ||
| 83 | + 'a2' | ||
| 84 | + >>> list(s['b']) | ||
| 85 | + ['b1', 'b2', 'b3'] | ||
| 86 | + | ||
| 87 | + The original iterable will be advanced and its items will be cached until | ||
| 88 | + they are used by the child iterables. This may require significant storage. | ||
| 89 | + | ||
| 90 | + By default, attempting to select a bucket to which no items belong will | ||
| 91 | + exhaust the iterable and cache all values. | ||
| 92 | + If you specify a *validator* function, selected buckets will instead be | ||
| 93 | + checked against it. | ||
| 94 | + | ||
| 95 | + >>> from itertools import count | ||
| 96 | + >>> it = count(1, 2) # Infinite sequence of odd numbers | ||
| 97 | + >>> key = lambda x: x % 10 # Bucket by last digit | ||
| 98 | + >>> validator = lambda x: x in {1, 3, 5, 7, 9} # Odd digits only | ||
| 99 | + >>> s = bucket(it, key=key, validator=validator) | ||
| 100 | + >>> 2 in s | ||
| 101 | + False | ||
| 102 | + >>> list(s[2]) | ||
| 103 | + [] | ||
| 104 | + | ||
| 105 | + """ | ||
| 106 | + | ||
| 107 | + def __init__(self, iterable, key, validator=None): | ||
| 108 | + self._it = iter(iterable) | ||
| 109 | + self._key = key | ||
| 110 | + self._cache = defaultdict(deque) | ||
| 111 | + self._validator = validator or (lambda x: True) | ||
| 112 | + | ||
| 113 | + def __contains__(self, value): | ||
| 114 | + if not self._validator(value): | ||
| 115 | + return False | ||
| 116 | + | ||
| 117 | + try: | ||
| 118 | + item = next(self[value]) | ||
| 119 | + except StopIteration: | ||
| 120 | + return False | ||
| 121 | + else: | ||
| 122 | + self._cache[value].appendleft(item) | ||
| 123 | + | ||
| 124 | + return True | ||
| 125 | + | ||
| 126 | + def _get_values(self, value): | ||
| 127 | + """ | ||
| 128 | + Helper to yield items from the parent iterator that match *value*. | ||
| 129 | + Items that don't match are stored in the local cache as they | ||
| 130 | + are encountered. | ||
| 131 | + """ | ||
| 132 | + while True: | ||
| 133 | + # If we've cached some items that match the target value, emit | ||
| 134 | + # the first one and evict it from the cache. | ||
| 135 | + if self._cache[value]: | ||
| 136 | + yield self._cache[value].popleft() | ||
| 137 | + # Otherwise we need to advance the parent iterator to search for | ||
| 138 | + # a matching item, caching the rest. | ||
| 139 | + else: | ||
| 140 | + while True: | ||
| 141 | + try: | ||
| 142 | + item = next(self._it) | ||
| 143 | + except StopIteration: | ||
| 144 | + return | ||
| 145 | + item_value = self._key(item) | ||
| 146 | + if item_value == value: | ||
| 147 | + yield item | ||
| 148 | + break | ||
| 149 | + elif self._validator(item_value): | ||
| 150 | + self._cache[item_value].append(item) | ||
| 151 | + | ||
| 152 | + def __iter__(self): | ||
| 153 | + for item in self._it: | ||
| 154 | + item_value = self._key(item) | ||
| 155 | + if self._validator(item_value): | ||
| 156 | + self._cache[item_value].append(item) | ||
| 157 | + | ||
| 158 | + yield from self._cache.keys() | ||
| 159 | + | ||
| 160 | + def __getitem__(self, value): | ||
| 161 | + if not self._validator(value): | ||
| 162 | + return iter(()) | ||
| 163 | + | ||
| 164 | + return self._get_values(value) | ||
diff --git a/meta/recipes-devtools/python/python3_3.13.9.bb b/meta/recipes-devtools/python/python3_3.13.9.bb deleted file mode 100644 index 2e114a6c5b..0000000000 --- a/meta/recipes-devtools/python/python3_3.13.9.bb +++ /dev/null | |||
| @@ -1,487 +0,0 @@ | |||
| 1 | SUMMARY = "The Python Programming Language" | ||
| 2 | HOMEPAGE = "http://www.python.org" | ||
| 3 | DESCRIPTION = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." | ||
| 4 | LICENSE = "PSF-2.0" | ||
| 5 | SECTION = "devel/python" | ||
| 6 | |||
| 7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3f64a4ff490f884d562feb77bf2435f1" | ||
| 8 | |||
| 9 | SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ | ||
| 10 | file://run-ptest \ | ||
| 11 | file://create_manifest3.py \ | ||
| 12 | file://get_module_deps3.py \ | ||
| 13 | file://python3-manifest.json \ | ||
| 14 | file://check_build_completeness.py \ | ||
| 15 | file://reformat_sysconfig.py \ | ||
| 16 | file://0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch \ | ||
| 17 | file://0001-test_locale.py-correct-the-test-output-format.patch \ | ||
| 18 | file://0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch \ | ||
| 19 | file://0001-test_ctypes.test_find-skip-without-tools-sdk.patch \ | ||
| 20 | file://makerace.patch \ | ||
| 21 | file://0001-sysconfig.py-use-platlibdir-also-for-purelib.patch \ | ||
| 22 | file://0001-Lib-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch \ | ||
| 23 | file://valid-dists.patch \ | ||
| 24 | file://0001-Avoid-shebang-overflow-on-python-config.py.patch \ | ||
| 25 | file://0001-Update-test_sysconfig-for-posix_user-purelib.patch \ | ||
| 26 | file://0001-skip-no_stdout_fileno-test-due-to-load-variability.patch \ | ||
| 27 | file://0001-test_storlines-skip-due-to-load-variability.patch \ | ||
| 28 | file://0001-test_shutdown-skip-problematic-test.patch \ | ||
| 29 | file://0001-test_deadlock-skip-problematic-test.patch \ | ||
| 30 | file://0001-test_active_children-skip-problematic-test.patch \ | ||
| 31 | file://0001-test_readline-skip-limited-history-test.patch \ | ||
| 32 | file://0001-Generate-data-for-OpenSSL-3.4-and-add-it-to-multissl.patch \ | ||
| 33 | " | ||
| 34 | SRC_URI:append:class-native = " \ | ||
| 35 | file://0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch \ | ||
| 36 | " | ||
| 37 | |||
| 38 | SRC_URI[sha256sum] = "ed5ef34cda36cfa2f3a340f07cac7e7814f91c7f3c411f6d3562323a866c5c66" | ||
| 39 | |||
| 40 | # exclude pre-releases for both python 2.x and 3.x | ||
| 41 | UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar" | ||
| 42 | |||
| 43 | CVE_PRODUCT = "python:python python_software_foundation:python cpython" | ||
| 44 | |||
| 45 | PYTHON_MAJMIN = "3.13" | ||
| 46 | |||
| 47 | S = "${UNPACKDIR}/Python-${PV}" | ||
| 48 | |||
| 49 | BBCLASSEXTEND = "native nativesdk" | ||
| 50 | |||
| 51 | inherit autotools pkgconfig qemu ptest multilib_header update-alternatives | ||
| 52 | |||
| 53 | MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}" | ||
| 54 | |||
| 55 | ALTERNATIVE:${PN}-dev = "python3-config" | ||
| 56 | ALTERNATIVE_LINK_NAME[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config" | ||
| 57 | ALTERNATIVE_TARGET[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}" | ||
| 58 | |||
| 59 | DEPENDS = "\ | ||
| 60 | autoconf-archive-native \ | ||
| 61 | bzip2 \ | ||
| 62 | bzip2-replacement-native \ | ||
| 63 | expat \ | ||
| 64 | libffi \ | ||
| 65 | ncurses \ | ||
| 66 | openssl \ | ||
| 67 | sqlite3 \ | ||
| 68 | util-linux-libuuid \ | ||
| 69 | virtual/crypt \ | ||
| 70 | virtual/libintl \ | ||
| 71 | xz \ | ||
| 72 | zlib \ | ||
| 73 | " | ||
| 74 | |||
| 75 | DEPENDS:append:class-target = " python3-native" | ||
| 76 | DEPENDS:append:class-nativesdk = " python3-native" | ||
| 77 | |||
| 78 | EXTRA_OECONF = " --without-ensurepip --enable-shared --with-platlibdir=${baselib} --with-system-expat" | ||
| 79 | EXTRA_OECONF:append:class-native = " --bindir=${bindir}/${PN}" | ||
| 80 | EXTRA_OECONF:append:class-target = " --with-build-python=nativepython3 PLATFORM_TRIPLET=${HOST_ARCH}-${HOST_OS}" | ||
| 81 | EXTRA_OECONF:append:class-nativesdk = " --with-build-python=nativepython3" | ||
| 82 | |||
| 83 | export CROSSPYTHONPATH = "${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/" | ||
| 84 | |||
| 85 | EXTRANATIVEPATH += "python3-native" | ||
| 86 | |||
| 87 | # LTO will be enabled via packageconfig depending upong distro features | ||
| 88 | LTO:class-target = "" | ||
| 89 | |||
| 90 | CACHED_CONFIGUREVARS = " \ | ||
| 91 | ac_cv_file__dev_ptmx=yes \ | ||
| 92 | ac_cv_file__dev_ptc=no \ | ||
| 93 | ac_cv_working_tzset=yes \ | ||
| 94 | " | ||
| 95 | CACHED_CONFIGUREVARS:append:class-target = " \ | ||
| 96 | ac_cv_libatomic_needed=yes \ | ||
| 97 | " | ||
| 98 | |||
| 99 | # set thread stack size to 2MB on musl for interpreter and stdlib C extensions | ||
| 100 | # so it does not run into stack limits due to musl's small thread stack | ||
| 101 | # This is only needed to build interpreter and not the subsequent modules | ||
| 102 | # Thats why CFLAGS_NODIST is modified instead of CFLAGS | ||
| 103 | CACHED_CONFIGUREVARS:append:libc-musl = "\ | ||
| 104 | CFLAGS_NODIST='${CFLAGS} -DTHREAD_STACK_SIZE=0x200000' \ | ||
| 105 | " | ||
| 106 | |||
| 107 | # PGO currently causes builds to not be reproducible so disable by default, see YOCTO #13407 | ||
| 108 | PACKAGECONFIG ??= "editline gdbm ${@bb.utils.filter('DISTRO_FEATURES', 'lto', d)}" | ||
| 109 | PACKAGECONFIG[readline] = "--with-readline=readline,,readline,,,editline" | ||
| 110 | PACKAGECONFIG[editline] = "--with-readline=editline,,libedit,,,readline" | ||
| 111 | # Use profile guided optimisation by running PyBench inside qemu-user | ||
| 112 | PACKAGECONFIG[pgo] = "--enable-optimizations,,qemu-native" | ||
| 113 | PACKAGECONFIG[tk] = ",,tk" | ||
| 114 | PACKAGECONFIG[tcl] = ",,tcl" | ||
| 115 | PACKAGECONFIG[gdbm] = ",,gdbm" | ||
| 116 | PACKAGECONFIG[lto] = "--with-lto,--without-lto" | ||
| 117 | PACKAGECONFIG[staticlibpython] = "--with-static-libpython,--without-static-libpython" | ||
| 118 | |||
| 119 | do_configure:prepend () { | ||
| 120 | mkdir -p ${B}/Modules | ||
| 121 | cat > ${B}/Modules/Setup.local << EOF | ||
| 122 | *disabled* | ||
| 123 | ${@bb.utils.contains('PACKAGECONFIG', 'gdbm', '', '_gdbm _dbm', d)} | ||
| 124 | ${@bb.utils.contains_any('PACKAGECONFIG', 'readline editline', '', 'readline', d)} | ||
| 125 | ${@bb.utils.contains('PACKAGECONFIG', 'tk', '', '_tkinter', d)} | ||
| 126 | EOF | ||
| 127 | } | ||
| 128 | |||
| 129 | CPPFLAGS += "-I${STAGING_INCDIR}/ncursesw -I${STAGING_INCDIR}/uuid" | ||
| 130 | |||
| 131 | # COMPILEALL_OPTS= ensures that .pyc are not compiled in parallel | ||
| 132 | # This was found to lock up builds, break reproducibility, and produce strange file ownership | ||
| 133 | # races. | ||
| 134 | # | ||
| 135 | # The upstream commit introducing the change was: | ||
| 136 | # https://github.com/python/cpython/commit/1a2dd82f56bd813aacc570e172cefe55a8a41504 | ||
| 137 | # | ||
| 138 | # The build lock up issue is reported here: | ||
| 139 | # https://bugs.python.org/issue45945 | ||
| 140 | # | ||
| 141 | # The repro failures are documented here: | ||
| 142 | # https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20211130-yr_o1a8d/packages/diff-html/ | ||
| 143 | |||
| 144 | EXTRA_OEMAKE = '\ | ||
| 145 | STAGING_LIBDIR=${STAGING_LIBDIR} \ | ||
| 146 | STAGING_INCDIR=${STAGING_INCDIR} \ | ||
| 147 | LIB=${baselib} \ | ||
| 148 | COMPILEALL_OPTS= \ | ||
| 149 | ' | ||
| 150 | |||
| 151 | # Generate a Profile Guided Optimisation wrapper script that uses qemu-user for | ||
| 152 | # all cross builds. | ||
| 153 | write_pgo_wrapper:class-native = ":" | ||
| 154 | write_pgo_wrapper() { | ||
| 155 | if ${@bb.utils.contains('PACKAGECONFIG', 'pgo', 'true', 'false', d)}; then | ||
| 156 | cat >pgo-wrapper <<EOF | ||
| 157 | #!/bin/sh | ||
| 158 | cd ${B} | ||
| 159 | ${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}', ['${B}', '${STAGING_DIR_TARGET}/${base_libdir}'])} "\$@" | ||
| 160 | EOF | ||
| 161 | chmod +x pgo-wrapper | ||
| 162 | fi | ||
| 163 | } | ||
| 164 | |||
| 165 | do_compile:prepend() { | ||
| 166 | write_pgo_wrapper | ||
| 167 | } | ||
| 168 | |||
| 169 | do_install:prepend() { | ||
| 170 | ${UNPACKDIR}/check_build_completeness.py ${T}/log.do_compile | ||
| 171 | } | ||
| 172 | |||
| 173 | do_install:append:class-target() { | ||
| 174 | oe_multilib_header python${PYTHON_MAJMIN}/pyconfig.h | ||
| 175 | } | ||
| 176 | |||
| 177 | do_install:append:class-native() { | ||
| 178 | # Make sure we use /usr/bin/env python | ||
| 179 | for PYTHSCRIPT in `grep -rIl ${bindir}/${PN}/python ${D}${bindir}/${PN}`; do | ||
| 180 | sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' $PYTHSCRIPT | ||
| 181 | done | ||
| 182 | # Add a symlink to the native Python so that scripts can just invoke | ||
| 183 | # "nativepython" and get the right one without needing absolute paths | ||
| 184 | # (these often end up too long for the #! parser in the kernel as the | ||
| 185 | # buffer is 128 bytes long). | ||
| 186 | ln -s python3-native/python3 ${D}${bindir}/nativepython3 | ||
| 187 | |||
| 188 | # Remove the opt-1.pyc and opt-2.pyc files. There are over 3,000 of them | ||
| 189 | # and the overhead in each recipe-sysroot-native isn't worth it, particularly | ||
| 190 | # when they're only used for python called with -O or -OO. | ||
| 191 | #find ${D} -name *opt-*.pyc -delete | ||
| 192 | # Remove all pyc files. There are a ton of them and it is probably faster to let | ||
| 193 | # python create the ones it wants at runtime rather than manage in the sstate | ||
| 194 | # tarballs and sysroot creation. | ||
| 195 | find ${D} -name *.pyc -delete | ||
| 196 | |||
| 197 | # Nothing should be looking into ${B} for python3-native | ||
| 198 | sed -i -e 's:${B}:/build/path/unavailable/:g' \ | ||
| 199 | ${D}/${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}*/Makefile | ||
| 200 | |||
| 201 | # disable the lookup in user's site-packages globally | ||
| 202 | sed -i 's#ENABLE_USER_SITE = None#ENABLE_USER_SITE = False#' ${D}${libdir}/python${PYTHON_MAJMIN}/site.py | ||
| 203 | |||
| 204 | # python3-config needs to be in /usr/bin and not in a subdir of it to work properly | ||
| 205 | mv ${D}/${bindir}/${PN}/python*config ${D}/${bindir}/ | ||
| 206 | } | ||
| 207 | |||
| 208 | do_install:append() { | ||
| 209 | for c in ${D}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py; do | ||
| 210 | python3 ${UNPACKDIR}/reformat_sysconfig.py $c | ||
| 211 | done | ||
| 212 | rm -f ${D}${libdir}/python${PYTHON_MAJMIN}/__pycache__/_sysconfigdata*.cpython* | ||
| 213 | |||
| 214 | mkdir -p ${D}${libdir}/python-sysconfigdata | ||
| 215 | sysconfigfile=`find ${D} -name _sysconfig*.py` | ||
| 216 | sed -i \ | ||
| 217 | -e "s,^ 'LIBDIR'.*, 'LIBDIR': '${STAGING_LIBDIR}'\,,g" \ | ||
| 218 | -e "s,^ 'INCLUDEDIR'.*, 'INCLUDEDIR': '${STAGING_INCDIR}'\,,g" \ | ||
| 219 | -e "s,^ 'CONFINCLUDEDIR'.*, 'CONFINCLUDEDIR': '${STAGING_INCDIR}'\,,g" \ | ||
| 220 | -e "s,^ 'INCLUDEPY'.*, 'INCLUDEPY': '${STAGING_INCDIR}/python${PYTHON_MAJMIN}'\,,g" \ | ||
| 221 | -e "s,^ 'CONFINCLUDEPY'.*, 'CONFINCLUDEPY': '${STAGING_INCDIR}/python${PYTHON_MAJMIN}'\,,g" \ | ||
| 222 | -e "s,${B},/build/path/unavailable/,g" \ | ||
| 223 | $sysconfigfile | ||
| 224 | cp $sysconfigfile ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py | ||
| 225 | |||
| 226 | # Remove the opt-1.pyc and opt-2.pyc files. They effectively waste space on embedded | ||
| 227 | # style targets as they're only used when python is called with the -O or -OO options | ||
| 228 | # which is rare. | ||
| 229 | find ${D} -name *opt-*.pyc -delete | ||
| 230 | } | ||
| 231 | |||
| 232 | do_install:append:class-nativesdk () { | ||
| 233 | # Make sure we use /usr/bin/env python | ||
| 234 | for PYTHSCRIPT in `grep -rIl ${bindir}/python ${D}${bindir}`; do | ||
| 235 | sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' $PYTHSCRIPT | ||
| 236 | done | ||
| 237 | create_wrapper ${D}${bindir}/python${PYTHON_MAJMIN} TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo' PYTHONNOUSERSITE='1' | ||
| 238 | } | ||
| 239 | |||
| 240 | do_install_ptest:append:class-target:libc-musl () { | ||
| 241 | 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 --ignore test.test_strptime.StrptimeTests.test_date_locale2 --ignore test.test_ctypes.test_dlerror.TestNullDlsym.test_null_dlsym"|' ${D}${PTEST_PATH}/run-ptest | ||
| 242 | } | ||
| 243 | |||
| 244 | SYSROOT_PREPROCESS_FUNCS:append:class-target = " provide_target_config_script" | ||
| 245 | SYSROOT_PREPROCESS_FUNCS:append:class-nativesdk = " provide_target_config_script" | ||
| 246 | |||
| 247 | # This is installed into /usr/python-target-config/ and not /usr/bin | ||
| 248 | # because adding target sysroot's /usr/bin/ to PATH has unwanted side effects | ||
| 249 | # in components erroneously picking up other target executables from it | ||
| 250 | provide_target_config_script() { | ||
| 251 | install -d ${SYSROOT_DESTDIR}${prefix}/python-target-config/ | ||
| 252 | install ${D}/${bindir}/python3-config ${SYSROOT_DESTDIR}/${prefix}/python-target-config/ | ||
| 253 | install ${D}/${bindir}/python${PYTHON_MAJMIN}-config ${SYSROOT_DESTDIR}/${prefix}/python-target-config/ | ||
| 254 | } | ||
| 255 | SYSROOT_DIRS += "${prefix}/python-target-config/" | ||
| 256 | |||
| 257 | SSTATE_SCAN_FILES += "Makefile _sysconfigdata.py" | ||
| 258 | SSTATE_HASHEQUIV_FILEMAP = " \ | ||
| 259 | populate_sysroot:*/lib*/python3*/_sysconfigdata*.py:${TMPDIR} \ | ||
| 260 | populate_sysroot:*/lib*/python3*/_sysconfigdata*.py:${COREBASE} \ | ||
| 261 | populate_sysroot:*/lib*/python3*/config-*/Makefile:${TMPDIR} \ | ||
| 262 | populate_sysroot:*/lib*/python3*/config-*/Makefile:${COREBASE} \ | ||
| 263 | populate_sysroot:*/lib*/python-sysconfigdata/_sysconfigdata.py:${TMPDIR} \ | ||
| 264 | populate_sysroot:*/lib*/python-sysconfigdata/_sysconfigdata.py:${COREBASE} \ | ||
| 265 | " | ||
| 266 | PACKAGE_PREPROCESS_FUNCS += "py_package_preprocess" | ||
| 267 | |||
| 268 | py_package_preprocess () { | ||
| 269 | # Remove references to buildmachine paths in target Makefile and _sysconfigdata | ||
| 270 | sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' -e s:'--with-libtool-sysroot=${STAGING_DIR_TARGET}'::g \ | ||
| 271 | -e 's|${DEBUG_PREFIX_MAP}||g' \ | ||
| 272 | -e 's:${HOSTTOOLS_DIR}/::g' \ | ||
| 273 | -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ | ||
| 274 | -e 's:${RECIPE_SYSROOT}::g' \ | ||
| 275 | -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \ | ||
| 276 | ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}*/Makefile \ | ||
| 277 | ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py \ | ||
| 278 | ${PKGD}/${bindir}/python${PYTHON_MAJMIN}-config | ||
| 279 | |||
| 280 | # Reformat _sysconfigdata after modifying it so that it remains | ||
| 281 | # reproducible | ||
| 282 | for c in ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py; do | ||
| 283 | python3 ${UNPACKDIR}/reformat_sysconfig.py $c | ||
| 284 | done | ||
| 285 | |||
| 286 | # Recompile _sysconfigdata after modifying it | ||
| 287 | cd ${PKGD} | ||
| 288 | sysconfigfile=`find . -name _sysconfigdata_*.py` | ||
| 289 | ${STAGING_BINDIR_NATIVE}/python3-native/python3 \ | ||
| 290 | -c "from py_compile import compile; compile('$sysconfigfile')" | ||
| 291 | ${STAGING_BINDIR_NATIVE}/python3-native/python3 \ | ||
| 292 | -c "from py_compile import compile; compile('$sysconfigfile', optimize=1)" | ||
| 293 | ${STAGING_BINDIR_NATIVE}/python3-native/python3 \ | ||
| 294 | -c "from py_compile import compile; compile('$sysconfigfile', optimize=2)" | ||
| 295 | cd - | ||
| 296 | |||
| 297 | mv ${PKGD}/${bindir}/python${PYTHON_MAJMIN}-config ${PKGD}/${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX} | ||
| 298 | |||
| 299 | #Remove the unneeded copy of target sysconfig data | ||
| 300 | rm -rf ${PKGD}/${libdir}/python-sysconfigdata | ||
| 301 | } | ||
| 302 | |||
| 303 | # We want bytecode precompiled .py files (.pyc's) by default | ||
| 304 | # but the user may set it on their own conf | ||
| 305 | INCLUDE_PYCS ?= "1" | ||
| 306 | |||
| 307 | python(){ | ||
| 308 | import collections, json | ||
| 309 | |||
| 310 | filename = os.path.join(d.getVar('THISDIR'), 'python3', 'python3-manifest.json') | ||
| 311 | # This python changes the datastore based on the contents of a file, so mark | ||
| 312 | # that dependency. | ||
| 313 | bb.parse.mark_dependency(d, filename) | ||
| 314 | |||
| 315 | with open(filename) as manifest_file: | ||
| 316 | manifest_str = manifest_file.read() | ||
| 317 | json_start = manifest_str.find('# EOC') + 6 | ||
| 318 | manifest_file.seek(json_start) | ||
| 319 | manifest_str = manifest_file.read() | ||
| 320 | python_manifest = json.loads(manifest_str, object_pairs_hook=collections.OrderedDict) | ||
| 321 | |||
| 322 | # First set RPROVIDES for -native case | ||
| 323 | # Hardcoded since it cant be python3-native-foo, should be python3-foo-native | ||
| 324 | pn = 'python3' | ||
| 325 | rprovides = (d.getVar('RPROVIDES') or "").split() | ||
| 326 | |||
| 327 | # ${PN}-misc-native is not in the manifest | ||
| 328 | rprovides.append(pn + '-misc-native') | ||
| 329 | |||
| 330 | for key in python_manifest: | ||
| 331 | pypackage = pn + '-' + key + '-native' | ||
| 332 | if pypackage not in rprovides: | ||
| 333 | rprovides.append(pypackage) | ||
| 334 | |||
| 335 | d.setVar('RPROVIDES:class-native', ' '.join(rprovides)) | ||
| 336 | |||
| 337 | # Then work on the target | ||
| 338 | include_pycs = d.getVar('INCLUDE_PYCS') | ||
| 339 | |||
| 340 | packages = d.getVar('PACKAGES').split() | ||
| 341 | pn = d.getVar('PN') | ||
| 342 | |||
| 343 | newpackages=[] | ||
| 344 | for key in python_manifest: | ||
| 345 | pypackage = pn + '-' + key | ||
| 346 | |||
| 347 | if pypackage not in packages: | ||
| 348 | # We need to prepend, otherwise python-misc gets everything | ||
| 349 | # so we use a new variable | ||
| 350 | newpackages.append(pypackage) | ||
| 351 | |||
| 352 | # "Build" python's manifest FILES, RDEPENDS and SUMMARY | ||
| 353 | for value in python_manifest[key]['files']: | ||
| 354 | d.appendVar('FILES:' + pypackage, ' ' + value) | ||
| 355 | |||
| 356 | # Add cached files | ||
| 357 | if include_pycs == '1': | ||
| 358 | for value in python_manifest[key]['cached']: | ||
| 359 | d.appendVar('FILES:' + pypackage, ' ' + value) | ||
| 360 | |||
| 361 | for value in python_manifest[key]['rdepends']: | ||
| 362 | # Make it work with or without $PN | ||
| 363 | if '${PN}' in value: | ||
| 364 | value=value.split('-', 1)[1] | ||
| 365 | d.appendVar('RDEPENDS:' + pypackage, ' ' + pn + '-' + value) | ||
| 366 | |||
| 367 | for value in python_manifest[key].get('rrecommends', ()): | ||
| 368 | if '${PN}' in value: | ||
| 369 | value=value.split('-', 1)[1] | ||
| 370 | d.appendVar('RRECOMMENDS:' + pypackage, ' ' + pn + '-' + value) | ||
| 371 | |||
| 372 | d.setVar('SUMMARY:' + pypackage, python_manifest[key]['summary']) | ||
| 373 | |||
| 374 | # Prepending so to avoid python-misc getting everything | ||
| 375 | packages = newpackages + packages | ||
| 376 | d.setVar('PACKAGES', ' '.join(packages)) | ||
| 377 | d.setVar('ALLOW_EMPTY:${PN}-fcntl', '1') | ||
| 378 | d.setVar('ALLOW_EMPTY:${PN}-modules', '1') | ||
| 379 | d.setVar('ALLOW_EMPTY:${PN}-pkgutil', '1') | ||
| 380 | |||
| 381 | if "pgo" in d.getVar("PACKAGECONFIG").split() and not bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', True, False, d): | ||
| 382 | bb.fatal("pgo cannot be enabled as there is no qemu-usermode support for this architecture/machine") | ||
| 383 | } | ||
| 384 | |||
| 385 | # Files needed to create a new manifest | ||
| 386 | |||
| 387 | do_create_manifest() { | ||
| 388 | # This task should be run with every new release of Python. | ||
| 389 | # We must ensure that PACKAGECONFIG enables everything when creating | ||
| 390 | # a new manifest, this is to base our new manifest on a complete | ||
| 391 | # native python build, containing all dependencies, otherwise the task | ||
| 392 | # wont be able to find the required files. | ||
| 393 | # e.g. BerkeleyDB is an optional build dependency so it may or may not | ||
| 394 | # be present, we must ensure it is. | ||
| 395 | |||
| 396 | cp ${UNPACKDIR}/create_manifest3.py ${WORKDIR} | ||
| 397 | cp ${UNPACKDIR}/python3-manifest.json ${WORKDIR} | ||
| 398 | cp ${UNPACKDIR}/get_module_deps3.py ${WORKDIR} | ||
| 399 | cd ${WORKDIR} | ||
| 400 | # This needs to be executed by python-native and NOT by HOST's python | ||
| 401 | nativepython3 create_manifest3.py ${PYTHON_MAJMIN} | ||
| 402 | cp python3-manifest.json.new ${THISDIR}/python3/python3-manifest.json | ||
| 403 | } | ||
| 404 | |||
| 405 | # bitbake python -c create_manifest | ||
| 406 | # Make sure we have native python ready when we create a new manifest | ||
| 407 | addtask do_create_manifest after do_patch do_prepare_recipe_sysroot | ||
| 408 | |||
| 409 | # manual dependency additions | ||
| 410 | RRECOMMENDS:${PN}-core:append:class-nativesdk = " nativesdk-python3-modules" | ||
| 411 | RRECOMMENDS:${PN}-crypt:append:class-target = " ${MLPREFIX}openssl ${MLPREFIX}ca-certificates" | ||
| 412 | RRECOMMENDS:${PN}-crypt:append:class-nativesdk = " ${MLPREFIX}openssl ${MLPREFIX}ca-certificates" | ||
| 413 | |||
| 414 | # For historical reasons PN is empty and provided by python3-modules | ||
| 415 | FILES:${PN} = "" | ||
| 416 | RPROVIDES:${PN}-modules = "${PN}" | ||
| 417 | |||
| 418 | FILES:${PN}-pydoc += "${bindir}/pydoc${PYTHON_MAJMIN} ${bindir}/pydoc3" | ||
| 419 | FILES:${PN}-idle += "${bindir}/idle3 ${bindir}/idle${PYTHON_MAJMIN}" | ||
| 420 | FILES:${PN}-tkinter += "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_tkinter.*.so" | ||
| 421 | |||
| 422 | # provide python-pyvenv from python3-venv | ||
| 423 | RPROVIDES:${PN}-venv += "${MLPREFIX}python3-pyvenv" | ||
| 424 | |||
| 425 | # package libpython3 | ||
| 426 | PACKAGES =+ "libpython3 libpython3-staticdev" | ||
| 427 | FILES:libpython3 = "${libdir}/libpython*.so.*" | ||
| 428 | FILES:libpython3-staticdev += "${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}-*/libpython${PYTHON_MAJMIN}.a" | ||
| 429 | INSANE_SKIP:${PN}-dev += "dev-elf" | ||
| 430 | INSANE_SKIP:${PN}-ptest = "dev-deps" | ||
| 431 | |||
| 432 | # catch all the rest (unsorted) | ||
| 433 | PACKAGES += "${PN}-misc" | ||
| 434 | RDEPENDS:${PN}-misc += "\ | ||
| 435 | ${PN}-audio \ | ||
| 436 | ${PN}-codecs \ | ||
| 437 | ${PN}-core \ | ||
| 438 | ${PN}-email \ | ||
| 439 | ${PN}-numbers \ | ||
| 440 | ${PN}-pickle \ | ||
| 441 | ${PN}-pydoc \ | ||
| 442 | " | ||
| 443 | RDEPENDS:${PN}-modules:append:class-target = " ${MLPREFIX}python3-misc" | ||
| 444 | RDEPENDS:${PN}-modules:append:class-nativesdk = " ${MLPREFIX}python3-misc" | ||
| 445 | RDEPENDS:${PN}-modules:append:class-target = " ${@bb.utils.contains('PACKAGECONFIG', 'gdbm', '${MLPREFIX}python3-gdbm', '', d)}" | ||
| 446 | FILES:${PN}-misc = "${libdir}/python${PYTHON_MAJMIN} ${libdir}/python${PYTHON_MAJMIN}/lib-dynload" | ||
| 447 | |||
| 448 | # catch manpage | ||
| 449 | PACKAGES += "${PN}-man" | ||
| 450 | FILES:${PN}-man = "${datadir}/man" | ||
| 451 | |||
| 452 | # See https://bugs.python.org/issue18748 and https://bugs.python.org/issue37395 | ||
| 453 | RDEPENDS:libpython3:append:libc-glibc = " libgcc" | ||
| 454 | RRECOMMENDS:${PN}-ctypes:append:libc-glibc = " ${MLPREFIX}ldconfig" | ||
| 455 | RDEPENDS:${PN}-ptest = "\ | ||
| 456 | ${PN}-dev \ | ||
| 457 | ${PN}-modules \ | ||
| 458 | ${PN}-tests \ | ||
| 459 | ${PN}-zipapp \ | ||
| 460 | binutils \ | ||
| 461 | bzip2 \ | ||
| 462 | coreutils \ | ||
| 463 | gcc \ | ||
| 464 | gcc-symlinks \ | ||
| 465 | g++ \ | ||
| 466 | libgcc \ | ||
| 467 | locale-base-fr-fr \ | ||
| 468 | locale-base-en-us \ | ||
| 469 | locale-base-de-de \ | ||
| 470 | sed \ | ||
| 471 | tzdata \ | ||
| 472 | unzip \ | ||
| 473 | " | ||
| 474 | RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-tr-tr" | ||
| 475 | RDEPENDS:${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${MLPREFIX}tk ${MLPREFIX}tk-lib', '', d)}" | ||
| 476 | RDEPENDS:${PN}-idle += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${PN}-tkinter ${MLPREFIX}tcl', '', d)}" | ||
| 477 | DEV_PKG_DEPENDENCY = "" | ||
| 478 | RDEPENDS:${PN}-pydoc += "${PN}-io" | ||
| 479 | |||
| 480 | RDEPENDS:${PN}-tests:append:class-target = " ${MLPREFIX}bash" | ||
| 481 | RDEPENDS:${PN}-tests:append:class-nativesdk = " ${MLPREFIX}bash" | ||
| 482 | |||
| 483 | # Python's tests contain large numbers of files we don't need in the recipe sysroots | ||
| 484 | SYSROOT_PREPROCESS_FUNCS += " py3_sysroot_cleanup" | ||
| 485 | py3_sysroot_cleanup () { | ||
| 486 | rm -rf ${SYSROOT_DESTDIR}${libdir}/python${PYTHON_MAJMIN}/test | ||
| 487 | } | ||
