Gentoo Archives: gentoo-dev

From: "Luke A. Guest" <laguest@×××××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [RFC] Un-slotting LLVM
Date: Mon, 08 Nov 2021 11:55:49
Message-Id: c109265d-1cfa-1f09-24c2-b9e88a4bac57@archeia.com
In Reply to: [gentoo-dev] [RFC] Un-slotting LLVM by "Michał Górny"
1 This would stop other projects from working where they have their own
2 llvm port, cough rocm cough.
3
4 On 08/11/2021 11:18, Michał Górny wrote:
5 > Hi,
6 >
7 > A few years back I've slotted LLVM and Clang to make the life with
8 > revdeps easier. Long story short, every major LLVM release (which
9 > happens twice a year) breaks API and it takes some time for revdeps to
10 > adjust. Slotting made it possible to install multiple versions
11 > simultaneously, and therefore let "faster" packages use newer LLVM
12 > without being blocked by "slower" packages on the user's system.
13 >
14 > Unfortunately, this ended up pretty bothersome to maintain. Besides
15 > making ebuilds quite complex (and prone to mistakes), I'm hearing more
16 > and more reports of programs being broken through getting multiple LLVM
17 > versions in the link chain.
18 >
19 > This is not something that can be easily solved. In other words, it's
20 > a mess and I don't think we're really getting anywhere. For this
21 > reason, I'm considering dropping slotting and going back to permitting
22 > only a single version of LLVM and Clang being installed.
23 >
24 > This would have two major implications:
25 >
26 > 1. If you installed any package that requires older LLVM, it'd block all
27 > other packages from updating. If you hit two packages that do not have
28 > a common supported LLVM version, you won't be able to install them
29 > at all.
30 >
31 > On the plus side, this will motivate developers to actually start fixing
32 > these packages rather than letting them rot until I start removing old
33 > LLVM versions.
34 >
35 > 2. We will no longer support having multiple clang versions installed.
36 > While it was convenient for testing stuff, it's not really a killer
37 > feature though.
38 >
39 > The only real alternative I see is actively limiting supported LLVM
40 > versions in packages to ensure that all libraries in the depgraph end up
41 > using the same LLVM version. However, I don't think it's really worth
42 > the effort.
43 >
44 > I don't have a ready unslotting plan yet.
45 >
46 > WDYT?
47 >