blob: c91a8c77712b0f812ba2edea9912092c2769eefe [file] [log] [blame]
Andrew Geisslerd5838332022-05-27 11:33:10 -05001SUMMARY = "Provides cryptographic recipes and primitives to python developers"
2HOMEPAGE = "https://cryptography.io/"
3SECTION = "devel/python"
4LICENSE = "( Apache-2.0 | BSD-3-Clause ) & PSF-2.0"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=bf405a8056a6647e7d077b0e7bc36aba \
6 file://LICENSE.APACHE;md5=4e168cce331e5c827d4c2b68a6200e1b \
7 file://LICENSE.BSD;md5=5ae30ba4123bc4f2fa49aa0b0dce887b \
8 file://LICENSE.PSF;md5=43c37d21e1dbad10cddcd150ba2c0595 \
9 "
10LDSHARED += "-pthread"
11
Andrew Geissler615f2f12022-07-15 14:00:58 -050012SRC_URI[sha256sum] = "63f9c17c0e2474ccbebc9302ce2f07b55b3b3fcb211ded18a42d5764f5c10a82"
Andrew Geisslerd5838332022-05-27 11:33:10 -050013
14SRC_URI += "file://run-ptest \
15 file://check-memfree.py \
16 file://0001-Cargo.toml-specify-pem-version.patch \
17 file://0002-Cargo.toml-edition-2018-2021.patch \
18 file://0001-pyproject.toml-remove-benchmark-disable-option.patch \
19 crate://crates.io/Inflector/0.11.4 \
20 crate://crates.io/aliasable/0.1.3 \
21 crate://crates.io/asn1/0.8.7 \
22 crate://crates.io/asn1_derive/0.8.7 \
23 crate://crates.io/autocfg/1.1.0 \
24 crate://crates.io/base64/0.13.0 \
25 crate://crates.io/bitflags/1.3.2 \
26 crate://crates.io/cfg-if/1.0.0 \
27 crate://crates.io/chrono/0.4.19 \
28 crate://crates.io/indoc-impl/0.3.6 \
29 crate://crates.io/indoc/0.3.6 \
30 crate://crates.io/instant/0.1.12 \
31 crate://crates.io/lazy_static/1.4.0 \
32 crate://crates.io/libc/0.2.124 \
33 crate://crates.io/lock_api/0.4.7 \
34 crate://crates.io/num-integer/0.1.44 \
35 crate://crates.io/num-traits/0.2.14 \
36 crate://crates.io/once_cell/1.10.0 \
37 crate://crates.io/ouroboros/0.15.0 \
38 crate://crates.io/ouroboros_macro/0.15.0 \
39 crate://crates.io/parking_lot/0.11.2 \
40 crate://crates.io/parking_lot_core/0.8.5 \
41 crate://crates.io/paste-impl/0.1.18 \
42 crate://crates.io/paste/0.1.18 \
43 crate://crates.io/pem/1.0.2 \
44 crate://crates.io/proc-macro-error-attr/1.0.4 \
45 crate://crates.io/proc-macro-error/1.0.4 \
46 crate://crates.io/proc-macro-hack/0.5.19 \
47 crate://crates.io/proc-macro2/1.0.37 \
48 crate://crates.io/pyo3-build-config/0.15.2 \
49 crate://crates.io/pyo3-macros-backend/0.15.2 \
50 crate://crates.io/pyo3-macros/0.15.2 \
51 crate://crates.io/pyo3/0.15.2 \
52 crate://crates.io/quote/1.0.18 \
53 crate://crates.io/redox_syscall/0.2.13 \
54 crate://crates.io/scopeguard/1.1.0 \
55 crate://crates.io/smallvec/1.8.0 \
56 crate://crates.io/stable_deref_trait/1.2.0 \
57 crate://crates.io/syn/1.0.91 \
58 crate://crates.io/unicode-xid/0.2.2 \
59 crate://crates.io/unindent/0.1.8 \
60 crate://crates.io/version_check/0.9.4 \
61 crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
62 crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
63 crate://crates.io/winapi/0.3.9 \
64 "
65
66inherit pypi python_setuptools3_rust
67
68DEPENDS += " \
Andrew Geisslerd5838332022-05-27 11:33:10 -050069 ${PYTHON_PN}-cffi-native \
Andrew Geisslerd5838332022-05-27 11:33:10 -050070"
71
72RDEPENDS:${PN} += " \
Andrew Geisslerd5838332022-05-27 11:33:10 -050073 ${PYTHON_PN}-cffi \
Andrew Geisslerd5838332022-05-27 11:33:10 -050074"
75
76RDEPENDS:${PN}:append:class-target = " \
77 ${PYTHON_PN}-numbers \
78 ${PYTHON_PN}-threading \
79"
80
81RDEPENDS:${PN}-ptest += " \
82 ${PYTHON_PN}-bcrypt \
83 ${PYTHON_PN}-cryptography-vectors (= ${PV}) \
84 ${PYTHON_PN}-hypothesis \
85 ${PYTHON_PN}-iso8601 \
86 ${PYTHON_PN}-pretend \
87 ${PYTHON_PN}-psutil \
88 ${PYTHON_PN}-pytest \
89 ${PYTHON_PN}-pytest-subtests \
90 ${PYTHON_PN}-pytz \
91 ${PYTHON_PN}-tomli \
92"
93
94inherit ptest
95
96do_install_ptest() {
97 install -D ${WORKDIR}/check-memfree.py ${D}${PTEST_PATH}/
98 install -d ${D}${PTEST_PATH}/tests
99 cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
Andrew Geissler78b72792022-06-14 06:47:25 -0500100 # remove test_x509.py as it needs benchmark and we don't
101 # want to introduce the benchmark dependency
102 rm -rf ${D}${PTEST_PATH}/tests/bench/test_x509.py
Andrew Geisslerd5838332022-05-27 11:33:10 -0500103 install -d ${D}${PTEST_PATH}/tests/hazmat
104 cp -rf ${S}/tests/hazmat/* ${D}${PTEST_PATH}/tests/hazmat/
105 cp -r ${S}/pyproject.toml ${D}${PTEST_PATH}/
106}
107
108FILES:${PN}-ptest += " \
109 ${PTEST_PATH}/check-memfree.py \
110"
111FILES:${PN}-dbg += " \
112 ${PYTHON_SITEPACKAGES_DIR}/${SRCNAME}/hazmat/bindings/.debug \
113"
114
115BBCLASSEXTEND = "native nativesdk"