[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: 1.2.3.0
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.0.1
-- >= 0.9 && < 0.9.0.4
}}}
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-0.9.0.1`. 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
version.
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
dependencies.
--
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