[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
eclectic-like.

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:

    build:
        opengl? ( providers/opengl[mesa] )
    run:
        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