[Exherbo-dev] || dependencies

Gaute Hope eg at gaute.vetsj.com
Mon Jul 13 21:05:26 BST 2009

Excerpts from Ciaran McCreesh's message of må. juli 13 21:46:43 +0200 2009:
> On Mon, 13 Jul 2009 21:35:21 +0200
> Gaute Hope <eg at gaute.vetsj.com> wrote:
> > And what about different opengl providers? They conflict and you need
> > one of them. Adding all to || deps for all packages that need one
> > doesn't seem like a good idea. PROVIDING/REPLACING/CONFLICTS variables
> > do tend to cause a mess though.
> The question on those is:
> * Are they needed at build time?
> * Are they switchable at runtime?
> * Why do they conflict?
> I'm not convinced that || is a good way of expressing anything... So
> the question becomes "what would we need to be able to express using
> new syntax if || were removed?".
I also think || is pretty bad. I think for instance mplayer should have
a dependency like:

    opengl? ( providers/opengl )

Then you would add new providers to providers/opengl; mesa, nvidia and
ati as exhereses exist. They again need to be hooked up to something

If an application needs the same provider at runtime as build you would
use the same syntax as with slots:

    opengl? ( providers/opengl:= )
if i.e. mplayer doesn't work with nvidia-provider:
    opengl? ( providers/opengl[-nvidia] )

this syntax would also make sense in case mplayer needs mesa to build,
but run with ati:

        opengl? ( providers/opengl[mesa] )
        opengl? ( providers/opengl )

this would keep a somewhat central place for providers and you don't end
up with a REPLACES=( nvidia, nvidia-driver, nvidia-unofficial, nvidia ati, ... ) and so on..

- gaute

More information about the Exherbo-dev mailing list