On 10/14/2014 03:56 PM, Alex Xu wrote:
> On 13/10/14 03:46 PM, Zac Medico wrote:
>> Hi,
>>
>> In order to solve bug #503802 [1], I would like to add a
>> virtual/podofo-build package to pull in app-text/podofo and
>> dev-libs/boost. Then packages like app-text/calibre can put
>> virtual/podofo-build in DEPEND and app-text/podofo in RDEPEND. The
>> advantage of this approach is that it makes it possible to use a command
>> like `emerge --depclean --with-bdeps=n` to remove the build-time only
>> boost package (and virtual/podofo-build), since boost is only needed for
>> build-time headers. There may be some other possible ways to specify the
>> dependency, but this approach is the most attractive one that I've seen.
>> In fact, this approach is basically identical to the "Virtual for C++
>> tr1 <type_traits>" example that's given in the dev-manual [2].
>>
>> Would anyone like to suggest improvements to this idea, alternatives, or
>> raise any objections?
>>
>> [1] https://bugs.gentoo.org/show_bug.cgi?id=503802
>> [2] http://devmanual.gentoo.org/general-concepts/virtuals/
>>
> 
> I feel like there should be a DEPEND specifier for "packages required to
> build against this package". For example, xproto is required to build
> against SDL (at least using pkg-config), but not to simply use it at
> runtime. This applies even if one does not directly use xproto headers.
> 
> It would not be sufficient to specify that "DEPEND includes the DEPENDs
> and RDEPENDs of the dependencies", since then it would be impossible to
> specify build dependencies that only require the runtime of the
> dependee, like most build tools.

We can add that in a future EAPI:

        https://bugs.gentoo.org/show_bug.cgi?id=392239

> It seems like a poor solution to have to create virtuals for every
> package that requires such an arrangement.

Well, it's not quite as convenient as having an EAPI extension that's
specifically designed for that purpose. However, using virtuals gives us
the desired result without having to wait for a new EAPI.
-- 
Thanks,
Zac

Reply via email to