-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 03/02/15 11:11 AM, Michał Górny wrote:
> Dnia 2015-02-03, o godz. 01:22:27 Duncan <1i5t5.dun...@cox.net>
> napisał(a):
> 
>>> 2. There is some more work to get ebuilds correct
>>> (REQUIRED_USE). However, this is a minor issue compared to the
>>> potential mistakes in interpretation of USE='ffmpeg' and
>>> USE='libav'.
>> 
>> ffmpeg-chooser.eclass ??
>> 
>> Seriously, this sounds like a lot of boilerplate that's
>> ultimately headed for a lot of ebuilds.  Implement it ONCE in an
>> eclass and have a simple inherit that's easy to do and
>> standardizes all the messages, required_use conditions, etc.
> 
> Well, there's a number of reasons why we can't go with any simple 
> eclass:
> 
> 1. packages have different dependencies on ffmpeg/libav, often
> multiple depending on own USE flags. So we need to somehow output 4
> different USE-conditional deps.
> 
> 2. And 4 different REQUIRED_USE blocks.
> 
> 3. Packages need to require specific versions of libav and ffmpeg, 
> and since both packages have different feature implementation
> rates there's no way to solve this with single version numbers. So
> we need to pass both versions to the eclass.
> 
> 4. Same goes for USE flags.
> 
> In the end, the eclass would be terribly complex and the ebuild may
> end up bigger than without it.
> 


It would be helpful if we could provide something via an eclass that
would make things more or less generic to ebuilds, much like when they
depended on the virtual.  Not something that covers all cases, but
something that simplifies for the generic cases.

FFMPEG_IMPL_MINVER=[version specifier a la virtual/ffmpeg's version
scheme]

FFMPEG_IMPL_OPTIONAL=[useflag that makes it optional, usually 'ffmpeg']

...set before the inherit to cover the main generic case
modifications, and then the eclass would append to IUSE, RDEPEND, and
REQUIRED_USE as appropriate.  Any cases more specific than this would
require their own implementation instead of inheriting this eclass.


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iF4EAREIAAYFAlTQ+RoACgkQ2ugaI38ACPBaCAEAwRWdehRV76RtZPh35SyI58zN
NA8/TMeRDdReolqHPE4A/2PwlPl8CL4ryZvNCVw/mWZEbpJHvoI82mIELGmZArZd
=NytI
-----END PGP SIGNATURE-----

Reply via email to