← Back to issue list

snap: explicitly add setuptools-rust package to python-packages

View original Github issue

Metadata

Project
snapcraft
Number
#3444
Type
pull request
State
closed
Author
cjp256
Labels
Created
Updated
Closed

Current evaluation

Rejected due to build failures on s390x and ppc64el. Reviewer advised pinning the cryptography version or using the CRYPTOGRAPHY_DONT_BUILD_RUST=1 environment variable instead of adding setuptools-rust and rustc to the build dependencies.

Suggested action:

No scores available.

Issue body

With cryptography >= 3.4, setuptools-rust is required to build. It is listed as part of the setup_requires [1], but this is not accounted for in the v1 python plugin. This is due to a discrepancy of dependency resolution of pip download vs install with regards to setup_requires [2]. [1] https://github.com/pyca/cryptography/blob/main/setup.py#L46 [2] https://github.com/pypa/pip/issues/5865 Work around this by simply pinning the requirement in the snapcraft.yaml parts (as it is a Snapcraft-related issue). Additionally add rustc to build-packages to ensure it is available if the package is built from source. Signed-off-by: Chris Patterson <chris.patterson@canonical.com> - [ ] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)? - [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [ ] Have you successfully run `./runtests.sh static`? - [ ] Have you successfully run `./runtests.sh tests/unit`? -----

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Rejected due to build failures on s390x and ppc64el. Reviewer advised pinning the cryptography version or using the CRYPTOGRAPHY_DONT_BUILD_RUST=1 environment variable instead of adding setuptools-rust and rustc to the build dependencies.
qwen3.6-35b-a3b-mtp-q6 Rejected due to s390x and ppc64el build failures. Maintainers bypassed the Rust dependency by locking the cryptography version and using the CRYPTOGRAPHY_DONT_BUILD_RUST=1 environment variable instead.
qwen3.6-35b-a3b-mtp-q6 Rejected and closed without merging due to build failures on s390x and ppc64el. Reviewer recommended rolling back the cryptography dependency or applying an environment variable workaround instead.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#619 setup, packaging: pin cryptography package and update dependencies charmcraft merged Merged. Pins the cryptography package and updates dependencies to prevent build failures on armhf, ppc64el, and s390x architectures by avoiding versions requiring a Rust compiler. Approved and passed CI checks.
70%