On Thu, Jul 15, 2021 at 9:29 AM Ionen Wolkens <io...@gentoo.org> wrote:
>
> On Thu, Jul 15, 2021 at 03:23:04PM +0200, Ulrich Mueller wrote:
> > >>>>> On Thu, 15 Jul 2021, Ionen Wolkens wrote:
> >
> > > Old DEPEND should be kept as-is not to risk breaking packages with odd
> > > checks that need it present at build time. I'd rather no RDEPEND switch
> > > either as it'll just complicate things with revbumps and tools don't
> > > really need to be in RDEPEND given the above.
> >
> > Well, if the challenge was to pick the _worst_ match out of
> > {,B,R,I}DEPEND then DEPEND would be the correct answer. :)
>
> Well, if really must improve it, I think BDEPEND is the better choice.
>
> Some packages use desktop-file-validate for their tests and the like.

If ebuilds are using these programs directly (like for testing), they
should really declare the dependency explicitly instead of relying on
an implicit dependency in xdg.eclass. The eclass deps should be
limited to functionality utilized by its exported phase functions.

However, I realize older ebuilds were not written with that reasoning
in mind, so I understand the "don't mess with older EAPIs" request
from leio.

Regarding BDEPEND/RDEPEND/IDEPEND, here's what we did with fcaps.eclass:

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=789ec15b80a0ad2902d59be5bdb7c5fa6fcd0092

Quoting the commit message:

    This defines the native install-time libcap dependency as:

      - EAPI < 7: RDEPEND
            Only regular ROOT=/ builds can be expected to work.

      - EAPI = 7: RDEPEND + BDEPEND
            Also install the native setcap at built time, so cross-
            compiling will work, but not installing binpkgs in ROOTs.

      - EAPI > 7: IDEPEND
            Install native setcap at install-time; it works everywhere.

Reply via email to