Adding a world file to cabal-install
Duncan Coutts
duncan.coutts at worc.ox.ac.uk
Sat Feb 7 20:35:14 EST 2009
On Fri, 2009-02-06 at 15:18 +0100, Peter Robinson wrote:
> Hello,
Hi Peter,
> I recently upgraded GHC on one of my machines and therefore had to
> reinstall all installed packages. Granted, cabal-install makes this a lot
> easier nowadays, but I saw that there's a ticket [1] for
> adding a "world" file (speaking in Gentoo terminology) that records all
> user requested packages, so I gave that a try. You can find a patch for
> the Head branch that adds preliminary support here:
> http://darcs.monoid.at/cabal-install/
Yay! :-)
> Basically the patch adds Distribution.Client.World that provides an
> /insert/, /delete/, and /getContents/ interface. /World.insert/ is called
> from Distribution.Client.Install upon successful build.
Sounds sensible.
> What's currently missing is the implementation of a cabal command that
> rebuilds the package list from ~/.cabal/world (or some other location
> set by the currently also missing configuration options).
Ok.
> 1. The world file only contains the list of package names and versions
> as requested by the user. I suppose that's all that's needed for
> rebuilding, right?
Yes.
> 2. How should that command look like? Something like:
> # cabal install --world
Hmm.
> Suggestions and advice welcome!
Yes, if anyone else has a suggestion on this pitch in. In gentoo we say:
$ emerge --upgrade world
ie world acts rather like a meta-package of all the things the user
deliberately installed.
Thanks very much Peter for having a go at this one. I promise I'll
properly review your patch soon.
I'm shortly going to do a release and I think I might leave this new
feature 'til afterwards. However don't worry as I expect to put out
another release shortly after that with more dependency resolver
improvements so your feature will make it for that release.
Duncan
More information about the cabal-devel
mailing list