snap: explicitly add setuptools-rust package to python-packages
Metadata
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. |