[Haskell-cafe] Re: Cabal dependency hell
uzytkownik2 at gmail.com
Mon Mar 8 17:31:26 EST 2010
On Mon, 2010-03-08 at 15:37 +0100, Marc Weber wrote:
> Hi Maciej,
> that's why I started hack-nix.
> You can patch dependencies easily.
> However you have to install the Nix package manager.
> It also works with lates versions only because the dependency solves is
> written in Nix itself.
> Which package is causing trouble to you?
For example happstack.
> We can't expect package maintainers to test everything.
> So it must be people like you and me who fixes those changes.
Well. Except that it require bumping versions. Which according to
hackage policy requires to fork a project (which makes it pointless in
the first place)
> The way to go is make hackage allow changing constraints on the fly
> notifying the author that he can update his repository.
> This will work in most cases.
> Bumping versions because a dependency has changed is bad as well.
> This will cause to much overhead (and it dosen't solve the problem
> because the old package is still wrong).
> Specifying dependencies must be decoupled from bumping versions.
> It's because dep specs do depend on the "world" which can change..
> At least that's what I think.
Hmm. When I was returning home I thought about some wiki-like system
that would allow to say 'Package X is compatible/not compatible with Y'.
Possibly something like:
- Only the 'sure' deps are installed in default mode
- When in 'expert' mode I can install any package which has not been
marked as incompatible
Then I can say that I tested built and:
- It failed to built
- It failed the automatic tests (if they exists)/does not work
- It success
So if there is versions:
0.7 0.8 0.9 1.0 1.0.1 1.1 1.2 1.3 1.4
- 0.8 failed to built
- >=1.0 <1.1 was marked by author
- 1.1 was marked as success
- 1.3 failed to build
- In default/normal mode it can be used with 1.0, 1.0.1 and 1.1
- In expert mode 0.9 and 1.2 can be installed in addition to above
- Any version can be installed in 'I'm feeling lucky' mode when I
explicitly say package to ignore some restriction
Possibly it is needed to collect user karma (or possibly already account
verification is sufficient).
> If you're interested in Nix and hack-nix I can show you how everything
> works using an SSH session.
> Marc Weber
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 836 bytes
Desc: This is a digitally signed message part
Url : http://www.haskell.org/pipermail/haskell-cafe/attachments/20100308/206a32d8/attachment.bin
More information about the Haskell-Cafe