Gentoo Archives: gentoo-dev

From: Mike Gilbert <floppym@g.o>
To: Gentoo Dev <gentoo-dev@l.g.o>
Subject: Re: [gentoo-dev] [PATCH] xdg.eclass: add EAPI 8 support
Date: Thu, 15 Jul 2021 18:18:04
Message-Id: CAJ0EP41dApP-Np3=DfCcF-hixR8Y7WCgv1DDGsa2EsXeUNDV0g@mail.gmail.com
In Reply to: Re: [gentoo-dev] [PATCH] xdg.eclass: add EAPI 8 support by Ionen Wolkens
1 On Thu, Jul 15, 2021 at 9:29 AM Ionen Wolkens <ionen@g.o> wrote:
2 >
3 > On Thu, Jul 15, 2021 at 03:23:04PM +0200, Ulrich Mueller wrote:
4 > > >>>>> On Thu, 15 Jul 2021, Ionen Wolkens wrote:
5 > >
6 > > > Old DEPEND should be kept as-is not to risk breaking packages with odd
7 > > > checks that need it present at build time. I'd rather no RDEPEND switch
8 > > > either as it'll just complicate things with revbumps and tools don't
9 > > > really need to be in RDEPEND given the above.
10 > >
11 > > Well, if the challenge was to pick the _worst_ match out of
12 > > {,B,R,I}DEPEND then DEPEND would be the correct answer. :)
13 >
14 > Well, if really must improve it, I think BDEPEND is the better choice.
15 >
16 > Some packages use desktop-file-validate for their tests and the like.
17
18 If ebuilds are using these programs directly (like for testing), they
19 should really declare the dependency explicitly instead of relying on
20 an implicit dependency in xdg.eclass. The eclass deps should be
21 limited to functionality utilized by its exported phase functions.
22
23 However, I realize older ebuilds were not written with that reasoning
24 in mind, so I understand the "don't mess with older EAPIs" request
25 from leio.
26
27 Regarding BDEPEND/RDEPEND/IDEPEND, here's what we did with fcaps.eclass:
28
29 https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=789ec15b80a0ad2902d59be5bdb7c5fa6fcd0092
30
31 Quoting the commit message:
32
33 This defines the native install-time libcap dependency as:
34
35 - EAPI < 7: RDEPEND
36 Only regular ROOT=/ builds can be expected to work.
37
38 - EAPI = 7: RDEPEND + BDEPEND
39 Also install the native setcap at built time, so cross-
40 compiling will work, but not installing binpkgs in ROOTs.
41
42 - EAPI > 7: IDEPEND
43 Install native setcap at install-time; it works everywhere.