Stable Haskell package sets: vetted consistent packages from Hackage
Go to file
2016-10-17 16:13:09 +02:00
automated Bind-mount to /usr/bin/stack, avoid using Docker-copy of Stack entirely 2016-09-16 10:01:59 +00:00
stackage Add lib-enabled versions of the plugins 2015-05-06 15:57:00 -07:00
Stackage Separate out stackage-curator 2015-03-22 13:25:31 +02:00
.dir-locals.el Add .dir-locals.el for emacs style conformance 2014-12-31 19:36:32 +01:00
.dockerignore Add .git to dockerignore 2015-02-06 00:07:17 +02:00
.gitignore Ignore check-plan.yaml 2015-12-30 09:11:31 +02:00
.gitmodules Add blank .gitmodules 2013-06-30 09:17:45 +03:00
.project-settings.yml Converted to FP Complete Haskell Center 2014-01-31 09:38:04 +00:00
.travis.yml Basic GHC 8 updates 2016-05-24 05:39:10 +03:00
build-constraints.yaml Merge pull request #1921 from NicolasT/reedsolomon 2016-09-23 00:39:13 +02:00
check Basic GHC 8 updates 2016-05-24 05:39:10 +03:00
CURATORS.md CURATORS: The stackage build server user has changed to "curators" 2016-08-28 22:08:36 +02:00
DATA-FLOW.md Add Stackage data flow 2016-04-13 14:23:43 +03:00
debian-bootstrap.sh Fix a whitespace error. 2016-08-28 23:49:47 +01:00
Dockerfile Basic GHC 8 updates 2016-05-24 05:39:10 +03:00
LICENSE Minor cleanups 2012-11-29 18:41:59 +02:00
MAINTAINERS.md Update documentation amendment: less formal phrasing 2016-10-17 16:13:09 +02:00
README.md Update documentation: Rephrase/Clarify MAINTAINERS.md 2016-09-23 15:37:13 +02:00

stackage

Build Status

"Stable Hackage": creating a vetted set of packages from Hackage. This repository is for package authors and maintainers to get their packages into Stackage. If you simply want to use Stackage as an end user, please follow the instructions on https://www.stackage.org/.

We strongly recommend using the Haskell tool stack for doing builds, which has Stackage support built-in: stack Build Status.

Add your package

We welcome all packages, given that

  • they are compatible with current snapshots (roughly speaking: work with the latest released versions of GHC and of all the package's dependencies);
  • there is a maintainer willing to promise to keep it that way.

See the maintainers agreement for more details.

Other repos

The Stackage project consists of multiple repositories. This repository contains the metadata on packages to be included in future builds and some project information. In addition, we have the following repositories:

We also support some add-on tools to cabal-install to make its usage with Stackage both easier and more secure:

Curious how it all fits together? See the Stackage data flow.

Build the package set

Generally only the stackage build server run by the stackage curator team and people intrested in incorporating stackage snapshots into an OS distribution need to build the entire package set. If you're interested in trying this yourself, please check out the curator guide, though be aware that this is not a recommended practice and there likely will be problems you will need to debug yourself.

Processing

The following describes at a high level the series of steps for processing

Nightlies

  1. Get list of core packages
  2. Get build constraints from list of maintained packages
  3. Load up package index
  4. Calculate build plan using newest versions of packages
  5. Write out a YAML file with complete build plan
  6. Verify that the build plan can be compiled
  7. Perform the build

LTS

  1. Load up most recent build plan
  2. Convert build plan into constraints for next build
  3. Continue from step (3) above