diff options
author | Tim Orling <ticotimo@gmail.com> | 2021-08-23 16:11:48 -0700 |
---|---|---|
committer | Tim Orling <timothy.t.orling@intel.com> | 2021-11-01 15:23:05 +0000 |
commit | 2ff0041029d22c316e45085bd131ae9c726a6030 (patch) | |
tree | fa5f3a5368c109170c3931d94adca7c45afcd8cb | |
parent | 0329049c145a7ca87778cf139bf88f18c8f79172 (diff) | |
download | meta-openembedded-contrib-2ff0041029d22c316e45085bd131ae9c726a6030.tar.gz |
python3-cryptography: upgrade 3.3.2 -> 35.0.0
Add PSF-2.0 license and explicitly add checksums for the LICENSE files that
are packaged.
RDEPENDS on python3-hypothesis (in oe-core) for ptest so we can drop the
patch for skipping.
DEPENDS on python3-setuptools-rust-native
RDEPENDS on python3-pytest-subtests for ptest
Need to inherit cargo, otherwise build_rust will fail to detect Rust
compiler. Also, so that RUST_TARGET_PATH is exported, otherwise
build_rust will fail because 'rustc --print cfg' doesn't know where
the target specifications are.
Copy pyproject.toml for ptest as it defines the pytest.marker(s) needed
Cleanup and alphabetize the RDEPENDS
Inherit python3-dir for the -dbg files for hazmat.
Export PYO3_CROSS, PYO3_CROSS_LIB_DIR, PYO3_CROSS_INCLUDE_DIR and CARGO_BUILD_TARGET
to inform setuptools-rust we are cross-compiling.
Export RUSTFLAGS so cargo can find 'std' and 'core' for target
Need to call cargo_common_do_configure to setup cargo_home/config so
that the linker properly finds e.g. crti.o and crtbeginS.o
However, bitbake vendoring does not appear to work with setuptools-rust,
as it errors out immediately because it cannot find package pyo3:
CARGO_DISABLE_BITBAKE_VENDORING = "1"
FIXME: on qemux86-musl, do_install tries to rebuild
Signed-off-by: Tim Orling <ticotimo@gmail.com>
3 files changed, 83 insertions, 75 deletions
diff --git a/meta-python/recipes-devtools/python/python3-cryptography/h-test.patch b/meta-python/recipes-devtools/python/python3-cryptography/h-test.patch deleted file mode 100644 index 9f07c73803..0000000000 --- a/meta-python/recipes-devtools/python/python3-cryptography/h-test.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/tests/hypothesis/__init__.py -+++ b/tests/hypothesis/__init__.py -@@ -3,3 +3,7 @@ - # for complete details. - - from __future__ import absolute_import, division, print_function -+ -+import pytest -+hypothesis = pytest.importorskip("hypothesis") -+ diff --git a/meta-python/recipes-devtools/python/python3-cryptography_3.3.2.bb b/meta-python/recipes-devtools/python/python3-cryptography_3.3.2.bb deleted file mode 100644 index baec105a3e..0000000000 --- a/meta-python/recipes-devtools/python/python3-cryptography_3.3.2.bb +++ /dev/null @@ -1,65 +0,0 @@ -SUMMARY = "Provides cryptographic recipes and primitives to python developers" -HOMEPAGE = "https://cryptography.io/" -SECTION = "devel/python" -LICENSE = "Apache-2.0 | BSD" -LIC_FILES_CHKSUM = "file://LICENSE;md5=bf405a8056a6647e7d077b0e7bc36aba" - -LDSHARED += "-pthread" - -SRC_URI[sha256sum] = "5a60d3780149e13b7a6ff7ad6526b38846354d11a15e21068e57073e29e19bed" - -SRC_URI += " \ - file://run-ptest \ - file://h-test.patch \ -" - -inherit pypi setuptools3 - -DEPENDS += " \ - ${PYTHON_PN}-cffi \ - ${PYTHON_PN}-cffi-native \ - ${PYTHON_PN}-asn1crypto \ - ${PYTHON_PN}-six \ -" - -RDEPENDS:${PN} += " \ - ${PYTHON_PN}-cffi \ - ${PYTHON_PN}-idna \ - ${PYTHON_PN}-asn1crypto \ - ${PYTHON_PN}-setuptools \ - ${PYTHON_PN}-six \ -" - -RDEPENDS:${PN}:class-target += " \ - ${PYTHON_PN}-cffi \ - ${PYTHON_PN}-idna \ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-asn1crypto \ - ${PYTHON_PN}-setuptools \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-threading \ -" - -RDEPENDS:${PN}-ptest += " \ - ${PN} \ - ${PYTHON_PN}-cryptography-vectors \ - ${PYTHON_PN}-iso8601 \ - ${PYTHON_PN}-pretend \ - ${PYTHON_PN}-pytest \ - ${PYTHON_PN}-pytz \ -" - -inherit ptest - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ - install -d ${D}${PTEST_PATH}/tests/hazmat - cp -rf ${S}/tests/hazmat/* ${D}${PTEST_PATH}/tests/hazmat/ -} - -FILES:${PN}-dbg += " \ - ${libdir}/${PYTHON_PN}2.7/site-packages/${SRCNAME}/hazmat/bindings/.debug \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-cryptography_35.0.0.bb b/meta-python/recipes-devtools/python/python3-cryptography_35.0.0.bb new file mode 100644 index 0000000000..f57aa0bb79 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-cryptography_35.0.0.bb @@ -0,0 +1,83 @@ +SUMMARY = "Provides cryptographic recipes and primitives to python developers" +HOMEPAGE = "https://cryptography.io/" +SECTION = "devel/python" +LICENSE = "( Apache-2.0 | BSD-3-Clause ) & PSF-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=bf405a8056a6647e7d077b0e7bc36aba \ + file://LICENSE.APACHE;md5=4e168cce331e5c827d4c2b68a6200e1b \ + file://LICENSE.BSD;md5=5ae30ba4123bc4f2fa49aa0b0dce887b \ + file://LICENSE.PSF;md5=43c37d21e1dbad10cddcd150ba2c0595 \ +" + +LDSHARED += "-pthread" + +SRC_URI[sha256sum] = "9933f28f70d0517686bd7de36166dda42094eac49415459d9bdf5e7df3e0086d" + +SRC_URI += " \ + file://run-ptest \ +" + +inherit cargo pypi python3-dir setuptools3 + +export PYO3_CROSS="1" +export PYO3_CROSS_PYTHON_VERSION="${PYTHON_BASEVERSION}" +export PYO3_CROSS_LIB_DIR="${STAGING_LIBDIR}" +export PYO3_CROSS_INCLUDE_DIR="${STAGING_INCDIR}" +export CARGO_BUILD_TARGET="${HOST_SYS}" +export RUSTFLAGS +export PYO3_PYTHON="${PYTHON}" +#export _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata__linux_${HOST_SYS}" + +DEPENDS += " \ + ${PYTHON_PN}-asn1crypto-native \ + ${PYTHON_PN}-cffi-native \ + ${PYTHON_PN}-setuptools-rust-native \ + ${PYTHON_PN}-six-native \ +" + +# bitbake vendoring does not work with setuptools-rust +CARGO_DISABLE_BITBAKE_VENDORING = "1" + +do_configure() { + cargo_common_do_configure + distutils3_do_configure +} + +RDEPENDS:${PN} += " \ + ${PYTHON_PN}-asn1crypto \ + ${PYTHON_PN}-cffi \ + ${PYTHON_PN}-idna \ + ${PYTHON_PN}-setuptools \ + ${PYTHON_PN}-six \ +" + +RDEPENDS:${PN}:append:class-target = " \ + ${PYTHON_PN}-numbers \ + ${PYTHON_PN}-threading \ +" + +RDEPENDS:${PN}-ptest += " \ + ${PYTHON_PN}-bcrypt \ + ${PYTHON_PN}-cryptography-vectors \ + ${PYTHON_PN}-hypothesis \ + ${PYTHON_PN}-iso8601 \ + ${PYTHON_PN}-pretend \ + ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-pytest-subtests \ + ${PYTHON_PN}-pytz \ +" + +inherit ptest + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ + install -d ${D}${PTEST_PATH}/tests/hazmat + cp -rf ${S}/tests/hazmat/* ${D}${PTEST_PATH}/tests/hazmat/ + cp -r ${S}/pyproject.toml ${D}${PTEST_PATH}/ +} + +FILES:${PN}-dbg += " \ + ${PYTHON_SITEPACKAGES_DIR}/${SRCNAME}/hazmat/bindings/.debug \ +" + +BBCLASSEXTEND = "native nativesdk" |