Gentoo Archives: gentoo-dev

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