This package provides a utility for multiplexing
multiple GHC and Haskell Platform installations,
each selected by an environment variable or a work-tree
configuration file.
The package also provides flexible development sandboxes
(aka hubs) into which packages can be installed
and subsequently erased. Commands are provided for
(re)naming, annotating, replicating, swapping, archiving,
locking and removing hubs. E.g.,
hub init
will create a hub based on the default GHC installation
and associate the current directory with it. Any use
of cabal or the GHC tools within this directory or it's
descendants will work with correct tool chain and the
private user-package database belonging to the hub.
The following would (i) download hexpat
(ii) install it
in a named 'hexpat-test' hub connected to the 2011.2.0.1
Haskell Platform, (iii) build the hexpat
test suite
with the same hub, and (iv) finally run the test suite.
cabal unpack hexpat
cd hexpat-*
hub init -s 2011.2.0.1 hexpat-test
cabal install
cd test
cabal install --bindir=.
./testsuite
This same 'hexpat-test' hub can be shared with other
work trees.
The tool is intended to be provided as part of a
distribution (like the JustHub Enterprise Linux
distribution) but it can be configured with existing
stock GHC installations without too much effort. Once
installed and configured the hub command inter-operates
seamlessly with the GHC tools (ghc, ghci, ghc-pkg,
etc.) and Cabal-install.
For installation instructions, introductory material,
FAQs, etc., see the home page http://justhub.org.