Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] dev-python/cryptography to use rust, effectively killing alpha, hppa, ia64, m68k, s390
Date: Mon, 08 Feb 2021 11:19:22
Message-Id: b1cd5b3e12cc40a30282293e1197b03f3ced8199.camel@gentoo.org
1 Hi,
2
3 FYI the developers of dev-python/cryptography decided that Rust is going
4 to be mandatory for 1.5+ versions. It's unlikely that they're going to
5 provide LTS support or security fixes for the old versions.
6
7 Since cryptography is a very important package in the Python ecosystem,
8 and it is an indirect dependency of Portage, this means that we will
9 probably have to entirely drop support for architectures that are not
10 supported by Rust.
11
12 According to upstream platform support information [1], this probably
13 means (eventually) entirely removing the following architectures:
14 - alpha (stable)
15 - hppa (stable)
16 - ia64 (stable)
17 - m68k (exp)
18 - s390 (except for s390x, exp)
19
20 Furthermore, the Gentoo Rust packages are missing support
21 for the following platforms, apparently supported upstream:
22 - mips (exp)
23 - ppc (32) (stable)
24 - sparc (stable)
25 - s390x (exp)
26 - riscv (stable)
27
28 Apparently it's non-trivial to bootstrap Rust on these platforms,
29 so it's unclear when Gentoo is going to start providing Rust on them.
30
31 I've raised a protest on the cryptography bug tracker [2] but apparently
32 upstream considers Rust's 'memory safety' more important than ability to
33 actually use the package.
34
35 Honestly, I don't think it likely that Rust will gain support for these
36 platforms. This involves a lot of work, starting with writing a new
37 LLVM backend and getting it accepted (getting new code into LLVM is very
38 hard unless you're doing that on behalf one of the big companies). You
39 can imagine how much effort that involves compared to rewriting the new
40 code from Cryptography into C.
41
42 If we can't convince upstream, I'm afraid we'll either have to drop
43 these architectures entirely or fork Cryptography.
44
45
46 [1] https://doc.rust-lang.org/nightly/rustc/platform-support.html
47 [2] https://github.com/pyca/cryptography/issues/5771
48
49 --
50 Best regards,
51 Michał Górny

Replies