presentation of dependencies in the web interface

Duncan Coutts duncan.coutts at worc.ox.ac.uk
Thu Oct 25 10:23:17 EDT 2007


On Thu, 2007-10-25 at 11:40 +0100, Ross Paterson wrote:
> Dependencies between packages are obviously more complex now that we
> have configurations.
> 
> The web interface now has an experimental presentation of these
> dependencies transformed into disjunctive normal form, with the atoms
> being simple version ranges.  It lacks tests of os, arch and impl,
> which will need to be added later.  Still, people using configurations
> without those tests might like to check what it does to their packages.

I should be more careful with 3 vs 3.0 :-)

For tar-0.1.1.1 I used:

if flag(bytestring-in-base)
    -- bytestring was in base-2.0 and 2.1.1
    Build-depends: base >= 2.0 && < 2.2
  else
    -- in base 1.0 and 3.0 bytestring is a separate package
    Build-depends: base < 2.0 || >= 3, bytestring >= 0.9

  if flag(split-base)
    Build-depends:   base >= 3.0, directory, old-time
  else
    Build-depends:   base < 3.0

which gives the deps:

base (<2.0), binary (>=0.2), bytestring (>=0.9), unix-compat (>=0.1.2) or
base (>=2.0&&<2.2), binary (>=0.2), unix-compat (>=0.1.2) or
base (>=3&&<3.0), binary (>=0.2), bytestring (>=0.9), unix-compat (>=0.1.2) or
base (>=3.0), binary (>=0.2), bytestring (>=0.9), directory, old-time, unix-compat (>=0.1.2)

ie it has an extra line for what happens if base >= 3 but < 3.0 and
that's presumably because I used a mixture of 3 and 3.0 in my
specification above.

Duncan



More information about the cabal-devel mailing list