
On Wed, Nov 29, 2006 at 12:28:45PM +0000, Ross Paterson wrote:
Presumably it will be possible to have multiple Build-Depends lines, to allow different interactions to be treated separately. Will it be possible to constrain the same package in more than one of these? For example,
build-depends: base < 2, fps >= 0.8 build-depends: base >= 1.5, mtl
This would mean "I need a base that is both >= 1.5 and < 2". In the future we forsee something like (and I'm not proposing this syntax necessarily): build-depends: base < 2 AS foo, fps >= 0.8 build-depends: base >= 1.5 AS wibble, mtl build-depends: wibble < 6 meaning "I need a base that is < 2, and another base that is both >= 1.5 and < 6", which could be satisfied by {base 1.6} or {base 0.5, base 3}.
Flags allow the builder to force a particular configuration even if others would work on the build system, but do they have sufficiently fine granularity? The build system might have versions 1.2 and 1.3 of a package, either of which would satisfy the given dependency, but the target system has only 1.2.
Right, cabal should be able to take an option --package foo-1.2 which means that if foo is build-depended-on then it must use version 1.2. Thanks Ian