Stable Haskell package sets: vetted consistent packages from Hackage
Go to file
Stefan Wehr 7cb16ddf84 Added my packages HTF, hscurses, xmlgen, and stm-stats
The HTF package require ./sandbox/bin to be in the PATH (HTF uses
the OPTIONS_GHC pragma to invoke cpphs with custom commandline
options).
2012-12-02 22:11:29 +01:00
app BuildSettings 2012-11-29 16:37:04 +02:00
haskell-platform@73a58050d8 Initial code 2012-11-20 14:01:43 +02:00
Stackage Added my packages HTF, hscurses, xmlgen, and stm-stats 2012-12-02 22:11:29 +01:00
.gitignore Code cleanup 2012-11-22 09:27:07 +02:00
.gitmodules Initial code 2012-11-20 14:01:43 +02:00
LICENSE Minor cleanups 2012-11-29 18:41:59 +02:00
README.md More documentation 2012-11-29 19:42:20 +02:00
Setup.hs Initial code 2012-11-20 14:01:43 +02:00
stackage.cabal Minor cleanups 2012-11-29 18:41:59 +02:00

stackage

"Stable Hackage," tools for creating a vetted set of packages from Hackage.

A note about the codebase: the goal is to minimize dependencies and have the maximum range of supported compiler versions. Therefore, we avoid anything "complicated." For example, instead of using the text package, we use Strings everywhere.

Get your package included

In order to get your package included in the set of stable packages, you should send a pull request against this repository. In the Stackage.Config module, there's a function called defaultStablePackages. In general, to add a set of packages, you would add:

mapM_ (add "your-email-address") $ words
    "package1 package2 package3"

You can follow the examples of the other sets of packages in that function. Once you've done this, you should confirm that your newly added packages are compatible with the rest of stackage by building the package set.

Build the package set

As this project is just starting, we don't really have a solid set of steps. In general, the following set of commands should be good for getting started:

cabal update
cabal install cabal-dev
git clone https://github.com/fpco/stackage
cd stackage
git submodule update --init # get the Haskell Platform files
runghc app/stackage.hs build # takes a *long* time
runghc app/stackage.hs init # modifies your ~/.cabal/config file

Notes

Make sure to have Cabal-1.16 installed in either your global or user database, regardless of any sandboxing, as custom build types require it to be present. You must build with cabal-install 1.16, due to several important bug fixes.