cabal design

Isaac Jones ijones at
Mon Aug 22 23:27:57 EDT 2005

Frederik Eaton <frederik at> writes:

> So, the whole point of wigwam, and a feature of toast, is to allow
> things to be installed in multiple different "roots" ("playpens" in
> wigwam). The idea is that you may want to install, say, a web server
> and a bunch of its dependencies in one root, so that it can be tested
> and deployed in a completely encapsulated and reliable manner. You may
> want to test it independently of different versions of the same things
> in other roots, or you may want to deploy it side-by-side with an
> older version on a front-end server so that it is possible to
> seamlessly switch between old and new versions. If all roots share a
> package database, then you end up having to give the things which are
> installed in those roots separate version numbers in order to keep the
> package registrations from overwriting each other.

I see.  Gentoo has this sort of thing as well.  I had thought that in
such cases, GHC itself would be installed in the same "root" as this
version of Cabal and the packages that you want to test, in which
case, ghc-pkg would use a different package database.  Is that not the

BTW, Debian takes this a step further, with its use of chroot on its
build servers, I believe.  Conveniently for upstream authors and
packagers, using chroot doesn't require altering all of the packages
which you would want to test in such a way.



More information about the Libraries mailing list