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.