aboutsummaryrefslogtreecommitdiffstats
path: root/meta-python/recipes-devtools/python/python3-cryptography_35.0.0.bb
diff options
context:
space:
mode:
authorTim Orling <ticotimo@gmail.com>2021-08-23 16:11:48 -0700
committerTim Orling <timothy.t.orling@intel.com>2021-11-01 15:23:05 +0000
commit2ff0041029d22c316e45085bd131ae9c726a6030 (patch)
treefa5f3a5368c109170c3931d94adca7c45afcd8cb /meta-python/recipes-devtools/python/python3-cryptography_35.0.0.bb
parent0329049c145a7ca87778cf139bf88f18c8f79172 (diff)
downloadmeta-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>
Diffstat (limited to 'meta-python/recipes-devtools/python/python3-cryptography_35.0.0.bb')
-rw-r--r--meta-python/recipes-devtools/python/python3-cryptography_35.0.0.bb83
1 files changed, 83 insertions, 0 deletions
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"