
On Fri, Feb 6, 2009 at 3:18 PM, Peter Robinson
Hello,
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/
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. 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).
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?
We also need the values for the flags specified by the user, i think.