Gentoo Archives: gentoo-dev

From: Ian Stakenvicius <axs@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Looking for a generic solution to non-USE-conditional circular deps
Date: Mon, 13 Apr 2015 17:29:47
Message-Id: 552BFD08.7050009@gentoo.org
In Reply to: Re: [gentoo-dev] Looking for a generic solution to non-USE-conditional circular deps by "Michał Górny"
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA256
3
4 On 11/04/15 01:14 PM, Michał Górny wrote:
5 > Dnia 2015-04-11, o godz. 15:23:52 James Le Cuirot
6 > <chewi@g.o> napisał(a):
7 >
8 >> On Sat, 11 Apr 2015 16:00:36 +0200 Pacho Ramos <pacho@g.o>
9 >> wrote:
10 >>
11 >>> As that USE flag should only be used for being able to install
12 >>> the package the first time, maybe it should be treated in a
13 >>> "special" way. I mean, it shouldn't be easily changed by users
14 >>> but, instead, switched "internally" by the package manager to
15 >>> allow to unbreak the cycle.
16 >>
17 >> If it only needs to be applied the first time, should there even
18 >> be a flag at all? Maybe it could be more transparent than that?
19 >
20 > You have to have the flag to conditionally apply dependencies. We
21 > don't have a magic 'only-if-it-doesnt-cause-circulars' syntax :P.
22 >
23
24 ...maybe we should?
25
26 Another modifier character on an atom would be horrid, but a variable
27 containing a list dependencies that could be ignored/dropped from the
28 depgraph if a circle occurs might not be a bad idea?
29
30 Example for dev-util/pkgconfig:
31
32 DEPEND_CIRCULARITY_TRUNCATE="dev-libs/glib:2"
33
34 src_configure() {
35 if has "dev-libs/glib:2" "${CIRCULARITY_TRUNCATED_ATOMS}"; then
36 # .. set it up to use bundled glib
37 fi
38 }
39
40
41 (Note this is half-baked, i'm not sure if i can even identify all of
42 the possible use-cases this might be triggered by, let alone how it
43 would fail)
44 -----BEGIN PGP SIGNATURE-----
45 Version: GnuPG v2
46
47 iF4EAREIAAYFAlUr/QgACgkQ2ugaI38ACPAPTwD/elG71XjuKYEw9YlP4Ajwx5y/
48 35vvi/vbtaugXEvuFHYA/37rH9j2XkKwLHEl0BPmz4iqZw5kFDNWg+oTnCTXktRS
49 =8cwn
50 -----END PGP SIGNATURE-----