hub: For multiplexing GHC installations and providing development sandboxes

[ bsd3, development, distribution, program ] [ Propose Tags ]

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=.

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

[Skip to Readme]
Versions [faq] 0.0, 1.0.0, 1.1.0, 1.2.0, 1.3.0, 1.4.0,
Dependencies array, base (>=4.0 && <5), bytestring, containers, directory, fgl, filepath, hexpat (>=0.19), process, regex-compat, unix, utf8-string [details]
License BSD-3-Clause
Copyright Chris Dornan, 2011-2013
Author Chris Dornan <>
Maintainer Chris Dornan <>
Category Development, Distribution
Home page
Bug tracker
Source repo head: git clone
Uploaded by ChrisDornan at 2013-09-08T22:02:22Z
Distributions NixOS:
Executables hub
Downloads 5171 total (24 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Successful builds reported [all 1 reports]


Maintainer's Corner

For package maintainers and hackage trustees

Readme for hub-1.2.0

[back to package description]
This package provides a utility for multiplexing multiple
GHC and Haskell Platform installations, the installation
being selected by environment variable or a hidden configuraton
file or in the current working directory or one of its parents.

Thye utility also allows users to build sandboxes (called hubs)
which may link to one of the the GHC installtions installed on
the local system, and extend them with packages private to the hub.

Utilities are also provided for erasing packages from an hub and
annotating, duplicating, renaming, locking, archiving and recovering