[Exherbo-dev] Dealing with media options

Anders Ossowicki arkanoid at exherbo.org
Fri Aug 7 10:40:52 BST 2009

Excerpts from Maxime COSTE's message of Fri Aug 07 10:32:59 +0200 2009:
> On Thu, Aug 06, 2009 at 02:23:21AM +0200, Anders Ossowicki wrote:
> > > 1. Only use specification flags (get rid of lame, mad, x264, a52dec)
> > This is by far the most user-friendly approach, since an average user
> > cares about mp3-support, not whether we use lame or another library to
> > achieve it.
> I'm not sure that's true for the average exherbo user, I do care about limiting
> the number of libraries providing the same functionalities on my systems, that
> is one of the reason I use exherbo.
The mad and lame libraries do not provide the same functionality. What we
really do here is letting the option 'mp3' mean two different things -
encoding and decoding support. I think that for most people and most use
cases this is the sensible thing to do. If a package support decoding
through two different libraries, an exheres writer ought to look at other
exhereseses and try to determine which of the two libraries we most
commonly use and then choose that.
Limiting the number of libraries needed should be done through sane
defaults, not a lot of choices we have to test, debug, support and

> What about extending options ? something like:
> mp3 : enable mp3 support using default implementation
> mp3~mad : prefere mad as mp3 decoder
> -mp3~lame : do not use lame to encode mp3
I think this is a needless complication. In general, you do not care
which library a package use to enable support for something. If we go by
this approach, you will increase the amount of (mostly uninformed) choices
that has to be made. Even if, by default, the choice is 'everything' a
user will have to consider it, have to dig through even more information.

> enabling mp3 would automatically enable mp3~.* but there should be a way to
> automatically solve conflicts when a package needs one and only one
> implementation.
That would be letting the exheres choose a preferred implementation. Ie.
in effect letting the exheres choose, but make it overridable by the
user. In 90% of the usecases for something like this, I think the user
couldn't care less about the different implementations. I also think it
will become a mess for Paludis to track in the long run but I don't know
enough about Paludis to say that for sure.

More information about the Exherbo-dev mailing list