On Friday 23 February 2007, Kevin F. Quinn wrote: > On Thu, 22 Feb 2007 19:08:48 +0000 > > Ciaran McCreesh <[EMAIL PROTECTED]> wrote: > > The example given in ebuild(5) is: > > || ( > > > > sdl? ( media-libs/libsdl ) > > svga? ( media-libs/svgalib ) > > opengl? ( virtual/opengl ) > > ggi? ( media-libs/libggi ) > > virtual/x > > ) > > Took me a while to figure out why anyone would want to write that; the > key is that ebuild(5) says only one of the conditions is satisfied; > i.e. even if all the dependencies are present on the system, the > package will build only against the first matching dependency. > > The way I see it, the ebuild has to cater for the dynamic situation > anyway, for example doing something like: > > src_configure() { > use sdl && > has_version media-libs/libsdl && > vid_conf="--enable sdl" || > use svga && > has_version media-libs/svgalib && > vid_conf="--enable svga" || > use opengl && > has_version virtual/opengl && > vid_conf="--enable opengl" || > use ggi && > has_version media-libs/libggi && > vid_conf="--enable ggi" || > vid_conf="--enable x11" > ... > econf ${vid_conf} ... > } > > So the dependency could be re-written as: > > sdl? ( media-libs/libsdl ) > !sdl? ( svga? ( media-libs/svgalib ) > !svga? ( opengl? ( virtual/opengl ) > !opengl? ( ggi? ( media-libs/libggi ) > !ggi? ( virtual/x ) ) ) ) > > and you have the same result, which means the originally quoted syntax > is redundant. The only advantage it has is that it looks a little bit > prettier - but I'd argue the logic is clearer in the re-written version. > > I guess the question remains, though - should that syntax be in EAPI=0 > or not...
It is only really acceptable for buildtime only dependencies as after the build phase nothing is actually different. Paul -- Paul de Vrieze Gentoo Developer Mail: [EMAIL PROTECTED] Homepage: http://www.devrieze.net
pgpV8W7nFbHhf.pgp
Description: PGP signature