This series upgrades python3-cryptography from the last version to be
purely Python/C extensions (3.3.2) to the latest version which also
includes Rust extensions (36.0.1).
This has been tested (including full ptest runs) on:
- qemux86-64
- qemux86-musl
- qemuarm64
The test cases require an absolute minimum of 1 GB of free memory
according to the documentation, but in practice it was more performant
to have 2 GB of free memory. For this reason a check-memfree.py test is
added to run-ptest to avoid OOM/Exit code 9 in the ptest-runner. The
test cases were run with:
runqemu nographic slirp qemuparams="-m 2176 -smp 4"
On x86-64 with kvm this takes about 5 minutes.
The results are 2856+/-2 passed, 1654+/-2 skipped. Of the skipped tests
1600 of them are because of unsupported "counter location middle_fixed"
in https://github.com/pyca/cryptography/pull/2773. A further ~35 test
cases are skipped because of not setting --wychefproof-root, but even
when the Google wychefproof repository is cloned and the option is set,
it adds another ~5000 skipped test cases:
https://git.openembedded.org/meta-openembedded-contrib/commit/?h=timo/wip-python3-cryptography-ptest&id=fff4da6e70c97265e17a82f1d043ab16039d510e
Upstream uses python3-pytest-xdist to parallize test cases (and
python3-pytest-shard to distribute amongst workers), but this uses
stdin/stdout and therefore we have no output to ptest-runner.
This series introduces two helper classes pyo3.bbclass and
setuptools_rust.bbclass for Python/Rust projects.
The setuptools_rust.bbclass wraps PyO3, Cargo and the newly added
python3-setuptools-rust-native recipe. Since oe-core only supports
native rustc at this time, only a native recipe is provided.
To demonstrate that these classes are applicable to multiple recipes, we
also introduce python3-pyruvate, a WSGI implementation in Rust.
While we are at it we upgrade python3-pytest-subtests from 0.5.0 to
0.6.0.
The following changes since commit df5c1a31fdb8325d1c514f9ed8a7b3805dc581ac:
python3-diskcache: Upgrade 5.3.0 -> 5.4.0 (2022-01-10 10:35:02 -0800)
are available in the Git repository at:
git://git.openembedded.org/meta-openembedded-contrib
timo/python3-cryptography_36.0.1
http://cgit.openembedded.org/meta-openembedded-contrib/log/?h=timo/python3-cryptography_36.0.1
Tim Orling (7):
python3-setuptools-rust-native: add v1.1.2 recipe
pyo3.bbclass: add class for PyO3 cross-compilation
setuptools3_rust.bbclass: setuptoools Rust plugin
python3-pyruvate: add recipe for v1.1.2
python3-pytest-subtests: upgrade 0.5.0 -> 0.6.0
python3-cryptography-vectors: upgrade 35.0.0 => 36.0.1
python3-cryptography: upgrade 3.3.2 -> 36.0.1
meta-python/classes/pyo3.bbclass | 30 +++++
meta-python/classes/setuptools3_rust.bbclass | 11 ++
...=> python3-cryptography-vectors_36.0.1.bb} | 5 +-
.../0001-Cargo.toml-specify-pem-version.patch | 31 +++++
.../0002-Cargo.toml-edition-2018-2021.patch | 28 ++++
.../python3-cryptography/check-memfree.py | 10 ++
.../python/python3-cryptography/h-test.patch | 10 --
.../python3-cryptography/openssl3.patch | 62 ---------
.../python/python3-cryptography/run-ptest | 4 +-
.../python/python3-cryptography_3.3.2.bb | 68 ----------
.../python/python3-cryptography_36.0.1.bb | 121 ++++++++++++++++++
.../python/python3-pyruvate_1.1.2.bb | 119 +++++++++++++++++
.../python/python3-pytest-subtests_0.5.0.bb | 16 ---
.../python/python3-pytest-subtests_0.6.0.bb | 20 +++
.../python3-setuptools-rust-native_1.1.2.bb | 26 ++++
15 files changed, 403 insertions(+), 158 deletions(-)
create mode 100644 meta-python/classes/pyo3.bbclass
create mode 100644 meta-python/classes/setuptools3_rust.bbclass
rename
meta-python/recipes-devtools/python/{python3-cryptography-vectors_35.0.0.bb =>
python3-cryptography-vectors_36.0.1.bb} (72%)
create mode 100644
meta-python/recipes-devtools/python/python3-cryptography/0001-Cargo.toml-specify-pem-version.patch
create mode 100644
meta-python/recipes-devtools/python/python3-cryptography/0002-Cargo.toml-edition-2018-2021.patch
create mode 100755
meta-python/recipes-devtools/python/python3-cryptography/check-memfree.py
delete mode 100644
meta-python/recipes-devtools/python/python3-cryptography/h-test.patch
delete mode 100644
meta-python/recipes-devtools/python/python3-cryptography/openssl3.patch
delete mode 100644
meta-python/recipes-devtools/python/python3-cryptography_3.3.2.bb
create mode 100644
meta-python/recipes-devtools/python/python3-cryptography_36.0.1.bb
create mode 100644
meta-python/recipes-devtools/python/python3-pyruvate_1.1.2.bb
delete mode 100644
meta-python/recipes-devtools/python/python3-pytest-subtests_0.5.0.bb
create mode 100644
meta-python/recipes-devtools/python/python3-pytest-subtests_0.6.0.bb
create mode 100644
meta-python/recipes-devtools/python/python3-setuptools-rust-native_1.1.2.bb
--
2.30.2
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#94875):
https://lists.openembedded.org/g/openembedded-devel/message/94875
Mute This Topic: https://lists.openembedded.org/mt/88458046/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-