On Thu, Dec 19, 2019 at 2:40 PM Michał Górny <mgo...@gentoo.org> wrote:
>
> Hello,
>
> Here's another potential EAPI 8 feature I'd like to discuss.  Please
> note that this is about *new dependency type*, so please don't hijack it
> into the big 'let's steal Exherbo syntax' debate.
>
> Bug: https://bugs.gentoo.org/660306
>
>
> The problem
> ===========
>
> Right now we don't really have a clean way of specifying dependencies
> that are used during pkg_*inst (and pkg_*rm?) phases.  So far RDEPEND
> was used as a 'close enough' alternative (except for a few developers
> who rejected it as 'invalid' and used DEPEND which is even more wrong).
> However, this is no longer sufficient with EAPI 7 cross support.
>
> By design, pkg_*inst phases are run in build host's environment when
> cross is used (because obviously you can't run target host executables).
> Therefore, the relevant dependencies need to be installed into CBUILD
> root, while RDEPEND is installed into CHOST root.
>
>
> The proposed solution
> =====================
>
> The proposal is to add a new dependency type (codename: IDEPEND) which
> indicates dependencies used for pkg_*inst (and pkg_*rm?) phases.  Those
> dependencies would be installed into CBUILD root (like BDEPEND), and
> therefore would be runnable from build host.  Similarly to RDEPEND, they
> would be installed for binary package installs but not for pure binpkg
> builds (without install).
>
> Example:
>
>   inherit xdg-utils
>
>   IDEPEND="dev-util/desktop-file-utils"
>
>   pkg_postinst() {
>     xdg_desktop_database_update
>   }
>
>
> WDYT?

Sounds good to me.

Reply via email to