[Hackage] #220: detect inconsistent package dependencies

Hackage trac at galois.com
Sat Feb 2 12:04:51 EST 2008

#220: detect inconsistent package dependencies
  Reporter:  duncan         |        Owner:                
      Type:  enhancement    |       Status:  new           
  Priority:  normal         |    Milestone:                
 Component:  Cabal library  |      Version:       
  Severity:  normal         |   Resolution:                
  Keywords:                 |   Difficulty:  hard (< 1 day)
Ghcversion:  6.8.2          |     Platform:                
Comment (by duncan):

 This is a serious problem, package developers have responed by hard-coding
 package versions which they happen to know work with ghc-6.8.2 without
 hitting this problem.

 For example [http://hackage.haskell.org/cgi-bin/hackage-
 scripts/package/yi-0.3 yi-0.3] specifies:
 build-depends: bytestring ==
             -- >= 0.9 && <

 It is clear that the real dependency is {{{>= 0.9 && < 0.9.1}}} because
 the API is exactly the same for the `0.9.0.x` series. However because `yi`
 depends on the `ghc` package, with `ghc-6.8.2` we would hit the problem
 that the `ghc` package is built with `bytestring-`. So hard coding
 the `bytestring` version is a quick fix but it means of course that this
 package will not work with any other version of ghc and cannot take
 advantage of rebuilding the ghc package to use a different bytestring

 The solution is for the package manger to resolve this problem and not for
 packages to hard code binary dependencies, they should stick to api

Ticket URL: <http://hackage.haskell.org/trac/hackage/ticket/220#comment:2>
Hackage <http://haskell.org/cabal/>
Hackage: Cabal and related projects

More information about the cabal-devel mailing list