Extending the dependency syntax
Duncan Coutts
duncan.coutts at worcester.oxford.ac.uk
Thu Jul 28 19:32:54 EDT 2005
On Thu, 2005-07-28 at 23:42 +0100, Simon Marlow wrote:
> build-depends:
> (gconf>=1.0 [gconf] ||)
> (libglade>=1.0 [libglade] ||)
>
> But this is starting to get a bit subtle.
Just on a note about syntax. Gentoo uses this syntax for optional
dependencies:
flag? ( dep )
So for example we write the Gtk2Hs build dependencies like this:
DEPEND=">=virtual/ghc-5.04
>=x11-libs/gtk+-2
gnome? ( >=gnome-base/libglade-2
>=x11-libs/gtksourceview-0.6
>=gnome-base/gconf-2 )
mozilla? ( >=www-client/mozilla-1.4 )
doc? ( >=dev-haskell/haddock-0.6 )"
Of course cabal doesn't have the complication of package catageories and
such so for a cabal style it'd look more like:
build-depends:
ghc >= 5.04,
gnome? ( libglade >= 2,
gtksourceview >= 0.6,
gconf >= 2 ),
mozilla? ( mozilla >= 1.4 ),
doc? ( haddock >= 0.6 )
and also of course these Gtk2Hs deps are actually mostly C libraries.
But you get the idea.
And then we match up these "use" flags (more or less) 1-to-1 with
configure flags that enable/disable optional features.
Just an idea.
Duncan
More information about the Libraries
mailing list