on master help sign in
Merge branch 'master' of github.com:fpco/stackage
commitb96f361caac925dc091ac306d331b6c868acccdc authorAthan Clark <athan.clark@gmail.com> dateThu 18 Feb 2016, 09:42 (11 years ago) parent3afe460b233f7b
10 files changed+786−327
.gitignore+1 .travis.yml+22−9 CURATORS.md+31−9 Dockerfile+2−19 MAINTAINERS.md+73 README.md+26−61 automated/build.sh+45−9 build-constraints.yaml+547−215 check+5 debian-bootstrap.sh+34−5
.gitignore+1
@@ -3,3 +3,4 @@
33nightly-*.yaml
44lts-*.yaml
55*.swp
6+check-plan.yaml
.travis.yml+22−9
@@ -1,27 +1,40 @@
1+# Use new container infrastructure to enable caching
12sudo: false
23
3−language: haskell
4+# Choose a lightweight base image; we provide our own build tools.
5+language: c
6+
7+# GHC depends on GMP. You can add other dependencies here as well.
8+addons:
9+ apt:
10+ packages:
11+ - libgmp-dev
12+
13+env:
14+- GHCVER=7.10.3
415
516install:
17+ # Download and unpack the stack executable
18+ - mkdir -p ~/.local/bin
19+ - export PATH=$HOME/.local/bin:$PATH
20+ - travis_retry curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
21+
622 # Get stackage-curator
723 - wget https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2
824 - bunzip2 stackage-curator.bz2
925 - chmod +x stackage-curator
10−
11− # Get stack
12− - travis_retry curl -L https://github.com/commercialhaskell/stack/releases/download/v0.1.3.0/stack-0.1.3.0-x86_64-linux-gmp4.gz | gunzip > stack
13− - chmod +x stack
26+ - mv stackage-curator ~/.local/bin
1427
1528 # Install GHC and cabal-install
16− - ./stack setup 7.10.2
17− - ./stack --resolver ghc-7.10 build stackage-update
29+ - stack setup $GHCVER
1830
1931 # Update the index
20− - travis_retry ./stack --resolver ghc-7.10 exec stackage-update
32+ - travis_retry stack update
2133
2234script:
23− - ./stack --resolver ghc-7.10 exec ./stackage-curator check
35+ - stack --resolver ghc-$GHCVER exec stackage-curator check
2436
2537cache:
2638 directories:
2739 - $HOME/.stack
40+ - $HOME/.stackage/curator/cache
CURATORS.md+31−9
@@ -1,9 +1,8 @@
1−This is a collection of instructions for what Stackage curators- the guys who
2−maintain the Stackage project itself- should be doing on a regular basis. At
3−the time of writing (July 2015), this is handled almost entirely by Michael
4−Snoyman. Curation activities are mostly automated, and do not take up a
5−significant amount of time. But it's good to spread the knowledge for obvious
6−reasons (errant buses, if I ever decide to take a vacation...).
1+This is a collection of instructions covering the processes that the Stackage curators - the
2+guys who maintain the Stackage project itself - should be doing on a regular basis.
3+Originally this was handled largely by Michael Snoyman,
4+but now we are a team of 4 people handling requests weekly in rotation.
5+Curation activities are mostly automated, and do not take up a significant amount of time.
76
87## Workflow
98
@@ -18,7 +17,7 @@ process works:
1817* The stackage-build server (described below) is able to run automated builds using the [build.sh script](https://github.com/fpco/stackage/blob/master/automated/build.sh)
1918* When a new Nightly build is completed, it is uploaded to [the nightly repo](https://github.com/fpco/stackage-nightly)
2019* Once a week, we run an LTS minor bump. Instead of using build-constraints.yaml, that job takes the previous LTS release, turns it into constraints, and then bumps the version numbers to the latest on Hackage, in accordance with the version bounds in the build plan. This plans are uploaded to [the LTS repo](https://github.com/fpco/lts-haskell)
21−* Cutting a new LTS major release is essentially just a Stackage Nightly that gets uploaded as an LTS
20+* Cutting a new LTS major release is essentially just a Stackage Nightly that gets rebuilt and uploaded as an LTS
2221
2322## Pull requests
2423
@@ -42,7 +41,7 @@ to refer to the issue for workarounds added to that file.
4241
4342### Adding Debian packages for required system tools or libraries
4443Additional (non-Haskell) system libraries or tools should be added to `stackage/debian-bootstrap.sh`.
45−Committing the changes should trigger a DockerHub. Normally only the master branch needs to be updated
44+Committing the changes should trigger a DockerHub. Normally only the nightly branch needs to be updated
4645since new packages are not added to the current lts release.
4746
4847Use [Ubuntu Package content search](http://packages.ubuntu.com/) to determine which package provides particular dev files (it defaults to trusty which is the same version as the server).
@@ -50,7 +49,11 @@ Use [Ubuntu Package content search](http://packages.ubuntu.com/) to determine wh
5049### Upgrading GHC version
5150The Dockerfile contains information on which GHC versions should be used. You
5251can modify it and push it to Github to trigger a DockerHub build. The master
53−branch is used for nightlies, and the lts branch for LTS.
52+branch is used for nightlies. For LTSes, we use the ltsX branch, where X is the
53+major version number (e.g., lts3 for lts-3.\*).
54+
55+Note that when starting a new LTS major release, you'll need to modify Docker
56+Hub to create a new Docker tag for the relevant branch name.
5457
5558### Getting the new image to the build server
5659Once a new Docker image is available, you'll need to pull it onto the stackage-build server (see
@@ -77,6 +80,8 @@ Host stackage-build
7780 Hostname ec2-52-5-20-252.compute-1.amazonaws.com
7881```
7982
83+### Running the build script
84+
8085We currently run the builds manually so make it easy to see when there are
8186bounds issues that need to be corrected. Automated this would be even better,
8287we're just not there yet.
@@ -101,6 +106,13 @@ info above). For an LTS minor bump, you'll typically want to use the
101106CONSTRAINTS='--constraint "conduit < 1.4.5" --constraint "criterion < 1.2.3"' /opt/stackage-build/stackage/automated/build.sh lts-2.17
102107```
103108
109+Valid arguments to include in this environment variable:
110+
111+* `--constraint` to modify an upper or lower bound
112+* `--add-package` to add a brand new package
113+* `--expect-test-failure` to expect tests to fail
114+* `--expect-haddock-failure` to expect haddocks to fail
115+
104116If a build fails for bounds reasons, see all of the advice above. If the code
105117itself doesn't build, or tests fail, open up an issue and then either put in a
106118version bound to avoid that version or something else. It's difficult to give
@@ -116,3 +128,13 @@ build succeeds, write something like `sleep 20h;
116128/opt/stackage-build/stackage/automated/build.sh nightly-2015-01-02`.)
117129
118130LTS minor bumps typically are run on Sundays.
131+
132+### Website sync debugging (and other out of disk space errors)
133+
134+* You can detect the problem by running `df`. If you see that `/` is out of space, we have a problem
135+* There are many temp files inside `/home/ubuntu/stackage-server-cron` that can be cleared out occasionally
136+* You can then manually run `/home/ubuntu/stackage-server-cron.sh`, or wait for the cron job to do it
137+
138+### Wiping the cache
139+
140+Sometimes the cache can get corrupted which might manifest as `can't load .so/.DLL`. You can wipe the nightly cache and rebuild everything by doing `rm -rf /opt/stackage-build/stackage/automated/nightly`.
Dockerfile+2−19
@@ -2,24 +2,7 @@ FROM ubuntu:14.04
22
33ENV HOME /home/stackage
44ENV LANG en_US.UTF-8
5−
6−RUN mkdir /home/stackage -p
7−RUN locale-gen en_US.UTF-8
8−
9−RUN DEBIAN_FRONTEND=noninteractive apt-get update
10−RUN DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common python-software-properties git
11−RUN DEBIAN_FRONTEND=noninteractive add-apt-repository ppa:hvr/ghc -y
5+ENV PATH /opt/ghc/7.10.3/bin:/usr/sbin:/usr/bin:/sbin:/bin
126
137ADD debian-bootstrap.sh /tmp/debian-bootstrap.sh
14−RUN DEBIAN_FRONTEND=noninteractive bash /tmp/debian-bootstrap.sh
15−RUN rm /tmp/debian-bootstrap.sh
16−
17−RUN DEBIAN_FRONTEND=noninteractive apt-get install -y cabal-install-1.22 ghc-7.10.2 ghc-7.10.2-htmldocs alex-3.1.3 happy-1.19.4 sudo
18−
19−ENV PATH /home/stackage/.cabal/bin:/usr/local/sbin:/usr/local/bin:/opt/ghc/7.10.2/bin:/opt/cabal/1.22/bin:/opt/alex/3.1.3/bin:/opt/happy/1.19.4/bin:/usr/sbin:/usr/bin:/sbin:/bin
20−
21−RUN cabal update
22−RUN cabal install hscolour cabal-install && cp $HOME/.cabal/bin/* /usr/local/bin && rm -rf $HOME/.cabal $HOME/.ghc /tmp/stackage
23−RUN wget https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2 && bunzip2 stackage-curator.bz2 && chmod +x stackage-curator && mv stackage-curator /usr/local/bin
24−# Get new hyperlinked Haddocks
25−RUN mkdir -p /opt/haddock && cd /opt/haddock && wget https://s3.amazonaws.com/download.fpcomplete.com/michael/haddock-2.16.2.tar.gz && tar zxf haddock-2.16.2.tar.gz && rm -f /opt/ghc/7.10.2/bin/haddock && ln -s /opt/haddock/2.16.2/bin/haddock /opt/ghc/7.10.2/bin/haddock
8+RUN /tmp/debian-bootstrap.sh && rm /tmp/debian-bootstrap.sh
MAINTAINERS.mdnew file+73
@@ -0,0 +1,73 @@
1+This project is built around the concept of maintainers taking responsibility for making their packages work with the rest of the stable ecosystem, usually meaning the newest version of all dependencies. This is a social contract, and is not reflected in the codebase in any way.
2+
3+The idea behind Stackage is that, if all packages work with the newest versions of dependencies, we avoid dependency hell. Specifically, we aim for:
4+
5+* All packages are buildable and testable from Hackage. We recommend [the Stack Travis script](http://docs.haskellstack.org/en/stable/GUIDE.html#travis-with-caching), which ensures a package is not accidentally incomplete.
6+* All packages are compatible with the newest versions of all dependencies.
7+* All packages are compatible with the versions of libraries that ship with GHC ([more information on lenient lower bounds](https://www.fpcomplete.com/blog/2014/05/lenient-lower-bounds)).
8+
9+## Adding a package
10+
11+Anyone can add a package to Stackage, but it's highly encouraged that the actual package maintainer is also the Stackage maintainer. If that is not the case, you should drop the package maintainer a note first.
12+
13+To add your package, first fork this repository.
14+In the [`build-constraints.yaml`](https://github.com/fpco/stackage/blob/master/build-constraints.yaml) file, there's a section called `packages`.
15+To add a set of packages, you would add:
16+
17+ "My Name myemail@example.com @mygithubuser":
18+ - package1
19+ - package2
20+ - package3
21+
22+After doing that, send a pull request (with a commit message like "add foo-bar"). We do not require new submissions to be tested against the rest of Stackage before the pull request (though it is a good idea to do so if you can with `stack --resolver nightly exec stackage-curator check` and `stack --resolver nightly build`), provided you meet the dependency version requirements above. If your library depends on a C library, add a note to your pull request with the Ubuntu library name, or even better edit the `debian-bootstrap.sh` script directly
23+
24+**NB** Please use commit messages like "add foo-bar" or "add johndev's packages"
25+(`build-constraints.yaml` is the most frequently changed file in this git repo
26+so commit messages like "update build-constraints.yaml" are not helpful).
27+
28+**NB2** There can be a delay of up to an hour before package versions newly
29+uploaded to Hackage appear to our build server. If you just uploaded a package
30+to Hackage that you're trying to get included, we recommend waiting an hour
31+before opening the PR.
32+
33+
34+## Uploading a new package
35+
36+When a new version of a package is uploaded to Hackage, we automatically try to include it in Stackage (unless the new version is considered experimental). That can result in a number of possible failures. If there is a failure we temporarily introduce an upper bound, and raise GitHub issue tickets to resolve the issue.
37+
38+If the new version doesn't compile then the package author should quickly (within 1 week) upload a fixed version.
39+
40+If a package's test suite is failing, the first job is to investigate why. If this is due to a bad interaction with versions of other packages in Stackage, then it is the responsibility of the maintainer to fix the test suite. In some situations, it is acceptable to not run the test suite.
41+
42+
43+## Following dependency upgrades
44+
45+If a new version of a dependency is released, and that stops your package compiling/passing the tests, then it is your responsibility to modify your package. It is highly recommended that all package maintainers follow the dependencies of their packages on [Packdeps](http://packdeps.haskellers.com/), typically using the RSS feeds.
46+
47+**If restrictive version bounds are the only problem** then you must quickly (within 1 week) upload a new version with relaxed version bounds. Note that unlike the PVP, Stackage does not require upper bounds.
48+
49+**If the new dependency causes breaking changes** then all package authors should quickly assess the likely impact on their package (within 1 week) and then produce a new compatible version. The expected timeline for new versions varies between 1 week and 1 month, depending on the significance of the change, and thus the work required to produce those new versions.
50+
51+
52+## Failing to meet the time limits
53+
54+Maintainers are humans, humans get sick/have babies/go on holiday. If you have regular problems meeting the limits, find a co-maintainer. If you have a one-off problem, respond to the GitHub tickets saying so, and some kind soul might pick up the slack.
55+
56+The time limits are intended to stop people being inconvenienced because of problems in other packages. Where such inconvenience happens, we will drop the offending packages from Stackage. While upper bounds are sometimes a temporary solution, they are against the ethos of Stackage, so will not be kept for long.
57+
58+## Adding a package to an LTS snapshot
59+
60+The steps above affect the Stackage Nightly builds, but do not directly affect
61+LTS Haskell builds. When we build a new LTS Haskell major version (anything
62+ending in `.0`), the package set is taken from Stackage Nightly. Therefore, by
63+following the above steps, you can get your package into the next major LTS
64+Haskell release.
65+
66+If you would like to get your package added to an existing LTS Haskell major
67+release (e.g., if `lts-3.21` is out, you would want your package to appear in
68+`lts-3.22`), please do the following in addition to the steps above:
69+
70+* Open up a new issue on the [lts-haskell repo](https://github.com/fpco/lts-haskell/issues/new)
71+* Specify the LTS major version you would like your package to go into (e.g., lts-3)
72+* Provide a list of packages you would like added, and if relevant, any upper bounds on those packages
73+* Be patient! The LTS releases are by their nature more conservative than nightly, and therefore adding new packages is a more manual process. The Stackage curators will try to get to your issue quickly, but there may be some delay.
README.md+26−61
@@ -4,10 +4,27 @@ stackage
44[![Build Status](https://travis-ci.org/fpco/stackage.svg?branch=master)](https://travis-ci.org/fpco/stackage)
55
66"Stable Hackage": creating a vetted set of packages from Hackage.
7+This repository is for package authors and maintainers to get their packages into Stackage.
8+If you simply want to use Stackage as an end user, please follow the instructions on [https://www.stackage.org/](https://www.stackage.org).
79
8−__NOTE__ This repository is for package authors and maintainers to get their packages into
9−Stackage. If you simply want to use Stackage as an end user, please follow the
10−instructions on [http://www.stackage.org/](http://www.stackage.org).
10+We strongly recommend using the Haskell tool stack for doing builds, which
11+includes built-in Stackage support: [stack](https://github.com/commercialhaskell/stack) [![Build Status](https://travis-ci.org/commercialhaskell/stack.svg?branch=master)](https://travis-ci.org/commercialhaskell/stack).
12+
13+
14+Add your package
15+----------------
16+
17+We welcome all packages, provided:
18+
19+* The package author/maintainer agrees to the [maintainers agreement](https://github.com/fpco/stackage/blob/master/MAINTAINERS.md).
20+* The package is buildable and testable from Hackage. We recommend [the Stack Travis script](http://docs.haskellstack.org/en/stable/GUIDE.html#travis-with-caching), which ensures a package is not accidentally incomplete.
21+* The package is compatible with the newest versions of all dependencies.
22+* The package is compatible with the versions of libraries that ship with GHC ([more information on lenient lower bounds](https://www.fpcomplete.com/blog/2014/05/lenient-lower-bounds)).
23+
24+Full details on how to add a package can be found in the [maintainers agreement](https://github.com/fpco/stackage/blob/master/MAINTAINERS.md#adding-a-package).
25+
26+Other repos
27+-----------
1128
1229The Stackage project consists of multiple repositories. This repository
1330contains the metadata on packages to be included in future builds and some
@@ -19,11 +36,6 @@ project information. In addition, we have the following repositories:
1936* [lts-haskell](https://github.com/fpco/lts-haskell)
2037* [stackage-nightly](https://github.com/fpco/stackage-nightly)
2138
22−We strongly recommend using the Haskell tool stack for doing builds, which
23−includes built-in Stackage support:
24−
25−* [stack](https://github.com/commercialhaskell/stack) [![Build Status](https://travis-ci.org/commercialhaskell/stack.svg?branch=master)](https://travis-ci.org/commercialhaskell/stack)
26−
2739We also support some add-on tools to cabal-install to make its usage with
2840Stackage both easier and more secure:
2941
@@ -33,63 +45,16 @@ Stackage both easier and more secure:
3345* [stackage-install](https://github.com/fpco/stackage-install) [![Build Status](https://travis-ci.org/fpco/stackage-install.svg?branch=master)](https://travis-ci.org/fpco/stackage-install)
3446* [stackage-build-plan](https://github.com/fpco/stackage-build-plan) [![Build Status](https://travis-ci.org/fpco/stackage-build-plan.svg?branch=master)](https://travis-ci.org/fpco/stackage-build-plan)
3547
36−Get your package included
37−-------------------------
38−
39−In order to get your package included in the set of stable packages, you should
40−send a pull request against this repository. In the [`build-constraints.yaml`](https://github.com/fpco/stackage/blob/master/build-constraints.yaml) file,
41−there's a section called `packages`. In general, to add a set of
42−packages, you would add:
43−
44− "My Name myemail@example.com @mygithubuser":
45− - package1
46− - package2
47− - package3
48−
49−You can follow the examples of the other sets of packages in that function.
50−Once you've done this, you can send a pull request to get your package
51−included.
52−
53−__NOTE__: In order to ease the process of adding new packages, we no longer
54−require new submissions to be tested on your own system before sending a pull
55−request. If you believe your package works with the newest versions of all
56−dependencies, you may send a pull request without testing first.
57−
58−Please use commit messages like "add foo-bar" or "add johndev's packages"
59−(`build-constraints.yaml` is the most frequently changed file in this git repo
60−so commit messages like "update build-constraints.yaml" are not helpful).
61−
62−You should also read the [maintainers
63−agreement](https://github.com/fpco/stackage/wiki/Maintainers-Agreement).
64−
65−Package Author Guidelines
66−-------------------------
67−
68−There are some basic rules to get your package to play nice with Stackage. Here
69−are some quick guidelines to hopefully make this easier:
70−
71−* Make sure that your code is buildability and testable from Hackage. Often
72− times, authors test their builds locally, but the tarball that gets uploaded
73− to Hackage is missing some necessary files. The best way to do this is to
74− set up a Travis job to do it for you. We recommend the
75− [multi-ghc-travis](https://github.com/hvr/multi-ghc-travis) approach.
76−* Make your code compatible with the newest versions of all dependencies.
77−* Make your code compatible with the versions of libraries that ship with GHC ([more information on lenient lower bounds](https://www.fpcomplete.com/blog/2014/05/lenient-lower-bounds)).
78−
79−There are certainly many other tips that could be added here. If you think of
80−any, please send a pull request!
8148
8249Build the package set
8350---------------------
8451
85−Generally, building the package set should be done only by the Jenkins machine
86−or by the official maintainers, as the process does require quite a bit of
87−setup on the local machine. That said, you'll likely be able to get a stable
88−build by running:
89−
90− cabal update
91− cabal install stackage
92− stackage nightly
52+Generally, building the package set should be done only by the Stackage build
53+machine by the Stackage curation team. If you're interested in trying this
54+yourself, please check out [the curator
55+guide](https://github.com/fpco/stackage/blob/master/CURATORS.md), though be
56+aware that this is not a recommended practice and there likely will be problems
57+you will need to debug yourself.
9358
9459### Docker
9560
automated/build.sh+45−9
@@ -4,7 +4,17 @@ set -eux
44
55ROOT=$(cd $(dirname $0) ; pwd)
66TARGET=$1
7−TAG=$(echo $TARGET | cut -d- -f 1)
7+
8+# For nightly-YYYY-MM-DD, tag should be nightly
9+# For lts-X.Y, tag should be ltsX
10+SHORTNAME=$(echo $TARGET | cut -d- -f 1)
11+if [ $SHORTNAME = "lts" ]
12+then
13+ TAG=$(echo $TARGET | sed 's@^lts-\([0-9]*\)\.[0-9]*@lts\1@')
14+else
15+ TAG=$SHORTNAME
16+fi
17+
818IMAGE=snoyberg/stackage:$TAG
919
1020PLAN_FILE=current-plan.yaml
@@ -12,16 +22,20 @@ DOCMAP_FILE=current-docmap.yaml
1222BUNDLE_FILE=current.bundle
1323
1424CABAL_DIR=$ROOT/cabal
25+STACK_DIR=$ROOT/stack
1526GHC_DIR=$ROOT/ghc
1627DOT_STACKAGE_DIR=$ROOT/dot-stackage
1728WORKDIR=$ROOT/$TAG/work
18−SSH_DIR=$ROOT/ssh-$TAG
29+EXTRA_BIN_DIR=$ROOT/extra-bin
30+SSH_DIR=$ROOT/ssh-$SHORTNAME
1931
2032mkdir -p \
2133 "$CABAL_DIR" \
34+ "$STACK_DIR" \
2235 "$GHC_DIR" \
2336 "$DOT_STACKAGE_DIR" \
2437 "$WORKDIR" \
38+ "$EXTRA_BIN_DIR" \
2539 "$SSH_DIR"
2640
2741GITCONFIG=$ROOT/gitconfig
@@ -63,13 +77,35 @@ bunzip2 stackage-curator.bz2
6377chmod +x stackage-curator
6478)
6579
66−ARGS_COMMON="--rm -u $USER -v $WORKDIR:/home/stackage/work -w /home/stackage/work -v $BINDIR/stackage-curator:/usr/local/bin/stackage-curator:ro -v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro"
67−ARGS_PREBUILD="$ARGS_COMMON -v $CABAL_DIR:/home/stackage/.cabal -v $GHC_DIR:/home/stackage/.ghc -v $DOT_STACKAGE_DIR:/home/stackage/.stackage"
68−ARGS_BUILD="$ARGS_COMMON -v $CABAL_DIR:/home/stackage/.cabal:ro -v $GHC_DIR:/home/stackage/.ghc:ro"
69−ARGS_UPLOAD="$ARGS_COMMON -e AWS_ACCESS_KEY=$AWS_ACCESS_KEY -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY -e AWS_SECRET_KEY=$AWS_SECRET_KEY -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_KEY -v $AUTH_TOKEN:/auth-token:ro -v $HACKAGE_CREDS:/hackage-creds:ro -v $DOT_STACKAGE_DIR:/home/stackage/.stackage -v $SSH_DIR:/home/ubuntu/.ssh:ro -v $GITCONFIG:/home/stackage/.gitconfig:ro -v $CABAL_DIR:/home/stackage/.cabal:ro"
80+ARGS_COMMON="--rm -v $WORKDIR:/home/stackage/work -w /home/stackage/work -v $BINDIR/stackage-curator:/usr/bin/stackage-curator:ro -v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro -v $EXTRA_BIN_DIR:/home/stackage/bin:ro"
81+ARGS_PREBUILD="$ARGS_COMMON -u $USER -v $CABAL_DIR:/home/stackage/.cabal -v $STACK_DIR:/home/stackage/.stack -v $GHC_DIR:/home/stackage/.ghc -v $DOT_STACKAGE_DIR:/home/stackage/.stackage"
82+ARGS_BUILD="$ARGS_COMMON -v $CABAL_DIR:/home/stackage/.cabal:ro -v $STACK_DIR:/home/stackage/.stack:ro -v $GHC_DIR:/home/stackage/.ghc:ro"
83+ARGS_UPLOAD="$ARGS_COMMON -u $USER -e AWS_ACCESS_KEY=$AWS_ACCESS_KEY -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY -e AWS_SECRET_KEY=$AWS_SECRET_KEY -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_KEY -v $AUTH_TOKEN:/auth-token:ro -v $HACKAGE_CREDS:/hackage-creds:ro -v $DOT_STACKAGE_DIR:/home/stackage/.stackage -v $SSH_DIR:/home/ubuntu/.ssh:ro -v $GITCONFIG:/home/stackage/.gitconfig:ro -v $CABAL_DIR:/home/stackage/.cabal:ro -v $STACK_DIR:/home/stackage/.stack:ro"
7084
71−# Use cabal update first to initialize ~/.cabal.config, then use stackage-curator update to get it securely
85+# Make sure we actually need this snapshot
7286docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "stackage-curator check-target-available --target $TARGET"
73−docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "cabal update && stackage-curator update && stackage-curator create-plan --plan-file $PLAN_FILE --target $TARGET ${CONSTRAINTS:-} && stackage-curator check --plan-file $PLAN_FILE && stackage-curator fetch --plan-file $PLAN_FILE && cabal install random Cabal cabal-install"
74−docker run $ARGS_BUILD $IMAGE stackage-curator make-bundle --plan-file $PLAN_FILE --docmap-file $DOCMAP_FILE --bundle-file $BUNDLE_FILE --target $TARGET
87+
88+# Get latest stack
89+curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C $EXTRA_BIN_DIR '*/stack'
90+
91+# Do all of the pre-build actions:
92+#
93+# * Update the package index
94+# * Create a new plan
95+# * Check that the plan is valid
96+# * Fetch all needed tarballs (the build step does not have write access to the tarball directory)
97+# * Do a single unpack to create the package index cache (again due to directory perms)
98+docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "/home/stackage/bin/stack update && stackage-curator create-plan --plan-file $PLAN_FILE --target $TARGET ${CONSTRAINTS:-} && stackage-curator check --plan-file $PLAN_FILE && stackage-curator fetch --plan-file $PLAN_FILE && cd /tmp && /home/stackage/bin/stack unpack random"
99+
100+# Now do the actual build. We need to first set the owner of the home directory
101+# correctly, so we run the command as root, change owner, and then use sudo to
102+# switch back to the current user
103+docker run $ARGS_BUILD $IMAGE /bin/bash -c "chown $USER /home/stackage && sudo -E -u $USER env \"PATH=\$PATH:/home/stackage/bin\" stackage-curator make-bundle --plan-file $PLAN_FILE --docmap-file $DOCMAP_FILE --bundle-file $BUNDLE_FILE --target $TARGET"
104+
105+# Successful build, so we need to:
106+#
107+# * Upload the docs to S3
108+# * Upload the 00-index.tar file to S3 (TODO: this is probably no longer necessary, since snapshots never modify .cabal files)
109+# * Upload the new plan .yaml file to the appropriate Github repo
110+# * Register as a new Hackage distro
75111docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "stackage-curator upload-docs --target $TARGET --bundle-file $BUNDLE_FILE && stackage-curator upload-index --plan-file $PLAN_FILE --target $TARGET && stackage-curator upload-github --plan-file $PLAN_FILE --docmap-file $DOCMAP_FILE --target $TARGET && stackage-curator hackage-distro --plan-file $PLAN_FILE --target $TARGET"
build-constraints.yaml+547−215
@@ -1,6 +1,26 @@
11ghc-major-version: "7.10"
22# Constraints for brand new builds
33packages:
4+ "alpheccar <misc@alpheccar.org> @alpheccar":
5+ - HPDF
6+
7+ "Dmitry Bogatov <KAction@gnu.org>":
8+ - once
9+
10+ "David Johnson djohnson.m@gmail.com @dmjio":
11+ - envy
12+ - s3-signer
13+ - google-translate
14+ # - hackernews
15+ - ses-html
16+ - stripe-haskell
17+ - stripe-http-streams
18+ - stripe-core
19+
20+ "Piotr Mlodawski @pmlodawski":
21+ - signal
22+ - ghc-session
23+
424 "Michael Snoyman michael@snoyman.com @snoyberg":
525 - bzlib-conduit
626 - cabal-install
@@ -29,7 +49,6 @@ packages:
2949 - yackage
3050 - yesod
3151 - yesod-auth
32− - yesod-auth-oauth
3352 - yesod-auth-deskcom
3453 - authenticate-oauth
3554 - yesod-bin
@@ -64,7 +83,8 @@ packages:
6483 - cairo
6584 - cassava
6685 - Chart
67− - Chart-diagrams
86+ # lucid-svg < 0.6
87+ # - Chart-diagrams
6888 - compdata
6989 - configurator
7090 - convertible
@@ -94,7 +114,6 @@ packages:
94114 - random-source
95115 - shelly
96116 - smtLib
97− - stack < 9.9.9
98117 - stackage
99118 - stackage-curator
100119 - stackage-types
@@ -144,6 +163,8 @@ packages:
144163 - cartel
145164 - Earley
146165 - ofx
166+ - pinchot
167+ - validation
147168
148169 "Neil Mitchell":
149170 - hlint
@@ -165,8 +186,7 @@ packages:
165186 - hjsmin
166187 - language-javascript
167188 - Strafunski-StrategyLib
168− # - https://github.com/fpco/stackage/pull/906
169− # - HaRe
189+ - HaRe
170190
171191 "Alfredo Di Napoli <alfredo.dinapoli@gmail.com>":
172192 - mandrill
@@ -176,8 +196,10 @@ packages:
176196 - blaze-markup
177197 - hakyll
178198 - stylish-haskell
199+ - profiteur
179200 - psqueues
180201 - websockets
202+ - websockets-snap
181203
182204 "haskell-opengl":
183205 - OpenGL
@@ -234,6 +256,7 @@ packages:
234256
235257 "Chris Done":
236258 - ace
259+ - ical
237260 - check-email
238261 - freenect
239262 - frisby
@@ -243,7 +266,8 @@ packages:
243266 - lucid
244267 - osdkeys
245268 - pdfinfo
246− #- present Due to: https://github.com/nominolo/atto-lisp/issues/20
269+ # https://github.com/fpco/stackage/issues/1062
270+ #- present
247271 - pure-io
248272 # https://github.com/jgoerzen/testpack/issues/11
249273 #- scrobble GHC 7.10, for QuickCheck 2.8 via testpack
@@ -271,15 +295,14 @@ packages:
271295 - bound
272296 - bytes
273297 - charset
274− - comonad > 4.2.7 || < 4.2.7
298+ - comonad
275299 - comonads-fd
276300 - comonad-transformers
277− # https://github.com/ekmett/compensated/issues/5
278− #- compensated GHC 7.10
301+ # https://github.com/ekmett/compensated/issues/7
302+ #- compensated
279303 - compressed
280304 - concurrent-supply
281− # https://github.com/fpco/stackage/issues/973
282− - constraints < 0.6
305+ - constraints
283306 - contravariant
284307 - distributive
285308 - either
@@ -347,7 +370,7 @@ packages:
347370 - doctest
348371 - base-compat
349372
350− "Mario Blazevic <blamario@yahoo.com>":
373+ "Mario Blazevic <blamario@yahoo.com> @blamario":
351374 - monad-parallel
352375 - monad-coroutine
353376 - incremental-parser
@@ -360,20 +383,20 @@ packages:
360383 - BlogLiterately-diagrams
361384 - diagrams
362385 - diagrams-builder
363− # https://github.com/diagrams/diagrams-haddock/issues/26
364− - diagrams-haddock < 0.3.0.8
386+ - diagrams-haddock
387+ - diagrams-cairo
365388 - diagrams-contrib
366389 - diagrams-core
390+ - diagrams-gtk
367391 - diagrams-lib
368392 - diagrams-postscript
369− # https://github.com/fpco/stackage/issues/976
370− - diagrams-svg < 1.3.1.8
393+ - diagrams-rasterific
394+ - diagrams-svg
371395 - dual-tree
372396 - force-layout
373397 - haxr
374398 - MonadRandom
375399 - monoid-extras
376− - vector-space-points
377400
378401 "Vincent Berthoux <vincent.berthoux@gmail.com>":
379402 - JuicyPixels
@@ -410,8 +433,11 @@ packages:
410433 - yesod-mangopay
411434
412435 "Alexander Altman <alexanderaltman@me.com>":
436+ # Maintaining on behalf of @roelvandijk:
413437 - base-unicode-symbols
414438 - containers-unicode-symbols
439+ # My own packages:
440+ - ChannelT
415441
416442 "Trevor L. McDonell <tmcdonell@cse.unsw.edu.au>":
417443 - accelerate
@@ -423,8 +449,9 @@ packages:
423449 - latex-formulae-image
424450 - latex-formulae-pandoc
425451 - latex-formulae-hakyll
426− - agda-snippets
427− - agda-snippets-hakyll
452+ # - agda-snippets-hakyll
453+ # Temporarily removed due to Agda's upper bound on unordered-containers.
454+ # - agda-snippets
428455
429456 "Dan Burton <danburton.email@gmail.com> @DanBurton":
430457 - hspec-jenkins
@@ -437,7 +464,6 @@ packages:
437464 - runmemo
438465 - tardis
439466 - lens-family-th
440− - lambdabot
441467
442468 "Daniel Díaz dhelta.diaz@gmail.com @Daniel-Diaz":
443469 - bimap-server
@@ -471,10 +497,12 @@ packages:
471497 "Arash Rouhani <miffoljud@gmail.com>":
472498 - yesod-text-markdown
473499
474− "Chris Allen <cma@bitemyapp.com>":
475− - bloodhound
500+ # https://github.com/fpco/stackage/issues/1155
501+ # "Chris Allen <cma@bitemyapp.com>":
502+ # - bloodhound
476503
477− "Adam Bergmark <adam@bergmark.nl>":
504+ "Adam Bergmark <adam@bergmark.nl> @bergmark":
505+ - aeson
478506 - fay
479507 - fay-base
480508 - fay-dom
@@ -517,9 +545,9 @@ packages:
517545 - posix-realtime
518546
519547 "Dominic Steinitz <dominic@steinitz.org>":
520− []
521− # GHC 7.10 https://github.com/leventov/yarr/pull/7
548+ # https://github.com/leventov/yarr/pull/7
522549 # - yarr
550+ []
523551
524552 "Ben Gamari <ben@smart-cactus.org>":
525553 - vector-fftw
@@ -527,20 +555,18 @@ packages:
527555 "Roman Cheplyaka <roma@ro-che.info>":
528556 - action-permutations
529557 - amqp
530− - curl
531− - haskell-names
532− - haskell-packages
533558 - heredoc
534− - hse-cpp
535559 - immortal
536560 - regex-applicative
537561 - lexer-applicative
538562 - smallcheck
563+ - socket
539564 - tasty
540565 - tasty-golden
541566 - tasty-hunit
542567 - tasty-quickcheck
543568 - tasty-smallcheck
569+ - tasty-html
544570 - time-lens
545571 - timezone-olson
546572 - timezone-series
@@ -583,6 +609,11 @@ packages:
583609 "Joey Hess <id@joeyh.name> @joeyh":
584610 - git-annex
585611 - Win32-extras
612+ - concurrent-output
613+
614+ "Colin Woodbury <colingw@gmail.com> @fosskers":
615+ - microlens-aeson
616+ - kanji
586617
587618 "Ketil Malde":
588619 - biocore
@@ -606,6 +637,15 @@ packages:
606637 # , "BiobaseTypes BiobaseFasta"
607638 # MC-Fold-DP
608639
640+ "Florian Eggenhofer <florian.eggenhofer@univie.ac.at>":
641+ - ClustalParser
642+ - EntrezHTTP
643+ - Genbank
644+ - RNAlien
645+ - Taxonomy
646+ - TaxonomyTools
647+ - ViennaRNAParser
648+
609649 "Silk <code@silk.co>":
610650 - aeson-utils
611651 - arrow-list
@@ -631,8 +671,10 @@ packages:
631671 - uri-encode
632672
633673 "Simon Michael <simon@joyful.com>":
674+ - regex-compat-tdfa
675+ - darcs
634676 - hledger
635− # - hledger-ui
677+ - hledger-ui
636678 - hledger-web
637679 - shelltestrunner
638680
@@ -665,7 +707,14 @@ packages:
665707 - cabal-helper
666708
667709 "Yann Esposito <yann.esposito@gmail.com>":
710+ - human-readable-duration
668711 - holy-project
712+ - wai-middleware-caching
713+ - wai-middleware-caching-lru
714+ - wai-middleware-caching-redis
715+ # not package maintainer
716+ - ekg
717+ - ekg-json
669718
670719 "Paul Rouse <pgr@doynton.org>":
671720 - yesod-auth-hashdb
@@ -695,7 +744,7 @@ packages:
695744 "Luis G. Torres <lgtorres42@gmail.com":
696745 - kdt
697746
698− "Emanuel Borsboom <manny@fpcomplete.com>":
747+ "Emanuel Borsboom <manny@fpcomplete.com> @borsboom":
699748 - BoundedChan
700749 - broadcast-chan
701750 - bytestring-lexing
@@ -720,6 +769,7 @@ packages:
720769 - Chart-cairo
721770 - ghc-events
722771 - monad-extras
772+ - stack < 9.9.9
723773
724774 "Michael Sloan <mgsloan@gmail.com>":
725775 - th-orphans
@@ -730,8 +780,6 @@ packages:
730780 - cases
731781 - focus
732782 - hasql
733− - hasql-backend
734− - hasql-postgres
735783 - list-t
736784 - mtl-prelude
737785 - neat-interpolation
@@ -779,6 +827,8 @@ packages:
779827
780828 "Arthur Fayzrakhmanov <heraldhoi@gmail.com>":
781829 - sodium
830+
831+ "Sebastian Nagel <sebastian.nagel@ncoding.at> @ch1bo":
782832 - hdevtools
783833
784834 "Andrey Chudnov <oss@chudnov.com>":
@@ -812,8 +862,10 @@ packages:
812862
813863 "Alexandr Ruchkin voidex@live.com @mvoidex":
814864 - hdocs
815− # https://github.com/fpco/stackage/issues/778
816− # - hsdev
865+ - hformat
866+ - hsdev
867+ - simple-log
868+ - text-region
817869
818870 "Aleksey Kliger aleksey@lambdageek.org @lambdageek":
819871 - unbound-generics
@@ -848,6 +900,8 @@ packages:
848900
849901 "Tomas Carnecky":
850902 - avers
903+ - avers-api
904+ - avers-server
851905 - css-syntax
852906 - etcd
853907 - github-types
@@ -865,12 +919,12 @@ packages:
865919
866920 "Jeffrey Rosenbluth jeffrey.rosenbluth@gmail.com":
867921 - palette
868− #- diagrams-canvas GHC 7.10, via blank-canvas
922+ - diagrams-canvas
869923 - diagrams-rasterific
870− # https://github.com/fpco/stackage/issues/976
871− - lucid-svg < 0.6.0.0
924+ - lucid-svg
872925 - diagrams-html5
873926 - static-canvas
927+ - svg-builder
874928
875929 "Gabríel Arthúr Pétursson gabriel@system.is":
876930 - sdl2
@@ -900,29 +954,41 @@ packages:
900954 - hspec-expectations-pretty-diff
901955
902956 "Francesco Mazzoli f@mazzo.li @bitonic":
903− - language-c-quote
957+ # Temporary block for: https://github.com/mainland/language-c-quote/issues/57
958+ # - language-c-quote
959+ []
904960
905961 "Sönke Hahn soenkehahn@gmail.com @soenkehahn":
962+ - generics-eot
906963 - getopt-generics
907964 - graph-wrapper
908965 - string-conversions
909966
910967 "Oleg Grenrus oleg.grenrus@iki.fi @phadej":
968+ - aeson-compat
911969 - aeson-extra
912970 - binary-orphans
913971 - binary-tagged
914972 - edit-distance
973+ - github
915974 - JuicyPixels-scale-dct
916975 - lattices
976+ - monad-http
917977 - postgresql-simple-url
978+ - range-set-list
918979 - regex-applicative-text
919980 - servant-yaml
920981 - spdx
982+ - these
983+ - time-parsers
921984 - waitra
922985
923986 # Not a maintainer
987+ - hashable
988+ - haxl
924989 - monad-time
925− - these
990+ - packdeps
991+ - unordered-containers
926992
927993 # fft
928994 - carray
@@ -954,6 +1020,12 @@ packages:
9541020 - universe-instances-trans
9551021 - universe-reverse-instances
9561022
1023+ "Abhinav Gupta <mail@abhinavg.net> @abhinav":
1024+ - farmhash
1025+ - language-thrift
1026+ - pinch
1027+ - sandman
1028+
9571029 "Adam C. Foltzer acfoltzer@galois.com @acfoltzer":
9581030 - cryptol
9591031 - gitrev
@@ -1027,8 +1099,7 @@ packages:
10271099 - amazonka-waf
10281100 - amazonka-workspaces
10291101 - ede
1030− # https://github.com/brendanhay/pagerduty/issues/5
1031− # - pagerduty
1102+ - pagerduty
10321103 - semver
10331104 - text-manipulate
10341105
@@ -1079,8 +1150,9 @@ packages:
10791150 - system-argv0
10801151 - markdown-unlit
10811152
1082− "Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk> @Fuuzetsu":
1083− - aeson-schema
1153+ # "Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk> @Fuuzetsu":
1154+ # Excluded due to inactivity: https://github.com/fpco/stackage/issues/856
1155+ # - aeson-schema
10841156 # H needs inline-r
10851157 # - H
10861158 # inline-r-0.7.1.2 doesn't allow vector-0.11
@@ -1101,6 +1173,7 @@ packages:
11011173
11021174 "Taylor Fausak <taylor@fausak.me> @tfausak":
11031175 - flow
1176+ - octane
11041177
11051178 "Marios Titas <redneb@gmx.com> @redneb":
11061179 - btrfs
@@ -1158,24 +1231,29 @@ packages:
11581231 - clash-ghc
11591232
11601233 "Athan Clark <athan.clark@gmail.com> @athanclark":
1234+<<<<<<< HEAD
11611235 # https://github.com/athanclark/nested-routes/issues/9
1236+=======
1237+>>>>>>> b233f7bbf4edd1aa69a4e818795b3541126cc540
11621238 - commutative
1163− - composition-extra
11641239 - digestive-functors-lucid
11651240 - ltext
11661241 - markup
11671242 - nested-routes
11681243 - path-extra
11691244 - poly-arity
1170− - pred-trie
1171− - rose-trees
1172− - sets
1173− - tries
11741245 - urlpath
11751246 - wai-transformers
1176− - wai-middleware-content-type
1177− - wai-middleware-verbs
1247+ # Temporary block due to #1074
1248+ # - wai-middleware-content-type
1249+ # - wai-middleware-verbs
1250+ # - nested-routes
11781251 - webpage
1252+ - composition-extra
1253+ - rose-trees
1254+ - sets
1255+ - tries
1256+ - pred-trie
11791257
11801258 "Fumiaki Kinoshita <fumiexcel@gmail.com> @fumieval":
11811259 - control-bool
@@ -1197,29 +1275,39 @@ packages:
11971275 - lens-simple
11981276 - lens-family-core
11991277 - lens-family
1278+ - streaming
1279+ - streaming-bytestring
1280+
12001281
12011282 "Justin Le <justin@jle.im> @mstksg":
12021283 - auto
1284+ - configurator-export
1285+ - prompt
12031286 - tagged-binary
1287+ - typelits-witnesses
12041288
12051289 "Ian Duncan <ian@iankduncan.com> @iand675":
1206− - datadog
1207− - growler
12081290 - feature-flags
1209− - flowdock
1210− - growler
1211− - engine-io-growler
12121291 - metrics
12131292 - pipes-wai
12141293 - serf
12151294 - uri-templater
12161295 - librato
1296+ - datadog
1297+ # http-types < 0.9
1298+ # - engine-io-growler
1299+ - flowdock
1300+ - growler
12171301
12181302 "Michael Xavier <michael@michaelxavier.net> @MichaelXavier":
12191303 - angel
12201304 - uri-bytestring
12211305 - phash
12221306 - cron
1307+ - tasty-tap
1308+ - tasty-fail-fast
1309+ - drifter
1310+ - drifter-postgresql
12231311
12241312 "Lars Kuhtz <lakuhtz@gmail.com> @larskuhtz":
12251313 - wai-cors
@@ -1243,8 +1331,10 @@ packages:
12431331 - nationstates
12441332
12451333 "Mathieu Boespflug <mboes@tweag.net> @mboes":
1246− # profunctors https://github.com/fpco/stackage/issues/590
1247− # netwire
1334+ - distributed-closure
1335+ - H
1336+ - ihaskell-inline-r
1337+ - inline-r
12481338 - th-lift
12491339
12501340 "Christopher Reichert <creichert07@gmail.com> @creichert":
@@ -1274,6 +1364,7 @@ packages:
12741364 - bytestring-read
12751365 - memcached-binary
12761366 - barrier
1367+ - haddocset
12771368
12781369 "Kai Zhang <kai@kzhang.org> @kaizhang":
12791370 - clustering
@@ -1283,9 +1374,13 @@ packages:
12831374 - IPv6Addr
12841375 - ip6addr
12851376 - cayley-client
1377+ - Spintax
12861378
12871379 "koral koral@mailoo.org @k0ral":
1380+ - conduit-parse
1381+ - opml-conduit
12881382 - timerep
1383+ - xml-conduit-parse
12891384
12901385 "Kostiantyn Rybnikov <k-bx@k-bx.com> @k-bx":
12911386 - protocol-buffers
@@ -1324,7 +1419,7 @@ packages:
13241419 "Will Thompson <will@willthompson.co.uk> @wjt":
13251420 - bustle
13261421
1327− "Jakub Fijałkowski kuba@codinginfinity.me @Fiolek_":
1422+ "Jakub Fijałkowski kuba@codinginfinity.me @jakubfijalkowski":
13281423 - hlibsass
13291424 - hsass
13301425
@@ -1335,10 +1430,11 @@ packages:
13351430 - transformers-lift
13361431 - ether
13371432
1338− "Juan Pedro Villa Isaza jvilla@stackbuilders.com @jpvillaisaza":
1433+ "Stack Builders stackage@stackbuilders.com @stackbuilders":
13391434 - hapistrano
13401435 - inflections
13411436 - twitter-feed
1437+ - dotenv
13421438
13431439 "Sergey Alirzaev <zl29ah@gmail.com>":
13441440 - monad-peel
@@ -1349,13 +1445,12 @@ packages:
13491445 - diff3
13501446 - digestive-functors-aeson
13511447 - exhaustive
1352− # Needs pkg-config libsystemd
1353− # - libsystemd-journal
1448+ - libsystemd-journal
13541449 - network-carbon
13551450 - socket-io
13561451
13571452 "Scott Murphy scott.murphy@plowtech.net @smurphy8":
1358− - binary-search
1453+ []
13591454
13601455 "Antoni Silvestre <antoni.silvestre@gmail.com> @asilvestre":
13611456 # Test suite needs a running neo4j server with auth disabled
@@ -1371,9 +1466,12 @@ packages:
13711466
13721467 "Ryan Scott <ryan.gl.scott@gmail.com> @RyanGlScott":
13731468 - base-orphans
1469+ - deriving-compat
13741470 - generic-deriving
13751471 - invariant
13761472 - keycode
1473+ - lift-generics
1474+ - mtl-compat
13771475 - text-show
13781476
13791477 "Kirill Zaborsky <qrilka@gmail.com> @qrilka":
@@ -1381,8 +1479,10 @@ packages:
13811479
13821480 "Matthew Pickering <matthewtpickering@gmail.com> @mpickering":
13831481 - refact
1384− - servant-pandoc
1482+ # https://github.com/fpco/stackage/issues/1094
1483+ # - servant-pandoc
13851484 - ghc-exactprint
1485+ - apply-refact
13861486
13871487 "Andrew Gibiansky <andrew.gibiansky@gmail.com> @gibiansky":
13881488 - ihaskell
@@ -1400,7 +1500,9 @@ packages:
14001500 - ipython-kernel
14011501
14021502 "Andrés Sicard-Ramírez <asr@eafit.edu.co> @asr":
1403− - Agda
1503+ # Temporarily removed due to upper bound on unordered-containers.
1504+ # - Agda
1505+ []
14041506
14051507 "James Cook <mokus@deepbondi.net> @mokus0":
14061508 - dependent-sum
@@ -1413,12 +1515,13 @@ packages:
14131515 "Timo von Holtz <tvh@tvholtz.de> @tvh":
14141516 - servant-JuicyPixels
14151517
1416− "Artyom <yom@artyom.me>":
1518+ "Artyom <yom@artyom.me> @neongreen":
14171519 - microlens
14181520 - microlens-platform
14191521 - microlens-mtl
14201522 - microlens-th
14211523 - microlens-ghc
1524+ - microlens-contra
14221525 - shortcut-links
14231526
14241527 "Takano Akio aljee@hyper.cx @takano-akio":
@@ -1445,6 +1548,9 @@ packages:
14451548 "Michael Walker <mike@barrucadu.co.uk> @barrucadu":
14461549 - both
14471550 - dejafu
1551+ - async-dejafu
1552+ - hunit-dejafu
1553+ - tasty-dejafu
14481554 - irc-ctcp
14491555 - irc-conduit
14501556 - irc-client
@@ -1493,6 +1599,10 @@ packages:
14931599 - io-streams
14941600 - openssl-streams
14951601
1602+ "Andrew Cowie <andrew@operationaldynamics.com> @afcowie":
1603+ - http-common
1604+ - http-streams
1605+
14961606 "Devan Stormont <stormont@gmail.com>":
14971607 - forecast-io
14981608
@@ -1535,6 +1645,11 @@ packages:
15351645 "Gregory W. Schwartz <gregory.schwartz@drexel.edu> @GregorySchwartz":
15361646 - fasta
15371647 - diversity
1648+ - modify-fasta
1649+ - tree-fun
1650+ - random-tree
1651+ - clumpiness
1652+ - find-clumpiness
15381653
15391654 "Simon Marechal <bartavelle@gmail.com> @bartavelle":
15401655 - compactmap
@@ -1542,13 +1657,18 @@ packages:
15421657 - filecache
15431658 - pcre-utils
15441659 - strict-base-types
1545− - stm-firehose
1546− - hslogstash
15471660 - withdependencies
1661+ # http-types < 0.9
1662+ # - stm-firehose
1663+ # - hslogstash
15481664
15491665 "Mark Karpov <markkarpov@opmbx.org> @mrkkrp":
15501666 - megaparsec
15511667 - htaglib
1668+ - slug
1669+ - path-io
1670+ - hspec-megaparsec
1671+ - plan-b
15521672
15531673 "Thomas Bereknyei <tomberek@gmail.com>":
15541674 - multiplate
@@ -1564,6 +1684,8 @@ packages:
15641684 "Nickolay Kudasov <nickolay.kudasov@gmail.com> @fizruk":
15651685 - http-api-data
15661686 - smsaero
1687+ - swagger2
1688+ - servant-swagger
15671689
15681690 "Jared Tobin <jared@jtobin.ca> @jtobin":
15691691 - mwc-probability
@@ -1590,6 +1712,8 @@ packages:
15901712 - rank1dynamic
15911713
15921714 "Alexander Vershilov <alexander.vershilov@tweag.io> @qnikst":
1715+ # https://github.com/qnikst/imagemagick/issues/41
1716+ #- imagemagick
15931717 - network-transport-zeromq
15941718
15951719 "Takahiro Himura <himuratk421@gmail.com> @thimura":
@@ -1647,81 +1771,230 @@ packages:
16471771 - sync-mht
16481772
16491773 "Michael Schröder <mc.schroeder@gmail.com> @mcschroeder":
1774+ - ctrie
16501775 - ttrie
16511776
1777+ "Greg Weber <greg@gregweber.info>":
1778+ - base-noprelude
1779+
16521780 # https://github.com/fpco/stackage/pull/979
16531781 # "Andrew Lelechenko <andrew.lelechenko@gmail.com> @Bodigrim":
16541782 # - exp-pairs
16551783
1656− # https://github.com/fpco/stackage/pull/980
1657− # "Stefan Kersten <kaoskorobase@gmail.com> @kaoskorobase":
1658− # - hsndfile
1784+ "Stefan Kersten <kaoskorobase@gmail.com> @kaoskorobase":
1785+ - hsndfile
1786+ - hsndfile-vector
16591787
16601788 "yihuang <yi.codeplayer@gmail.com> @yihuang":
16611789 - tagstream-conduit
16621790
1663− "Stackage upper bounds":
1664− # https://github.com/fpco/stackage/issues/537
1665− - zlib < 0.6
1791+ # https://github.com/fpco/stackage/issues/1001
1792+ # "Johannes Hilden <hildenjohannes@gmail.com>":
1793+ # - hashids
1794+
1795+ "Joe Hermaszewski <stackage@monoid.al> @expipiplus1":
1796+ - exact-real
1797+
1798+ # "Jonatan Sundqvist jonatanhsundqvist@gmail.com @SwiftsNamesake":
1799+ # https://github.com/fpco/stackage/issues/1039
1800+ # - Cartesian
1801+ # - Michelangelo
1802+
1803+ "Henry J. Wylde <public@hjwylde.com> @hjwylde":
1804+ - git-fmt
1805+ - omnifmt
1806+
1807+ "Will Sewell <me@willsewell.com> @willsewell":
1808+ - benchpress
1809+ - pusher-http-haskell
1810+
1811+ "Lazlo Grun <lazlo28@gmx.com> @lazlo28":
1812+ - natural-sort
1813+ - lentil
1814+
1815+ "Yorick Laupa yo.eight@gmail.com @YoEight":
1816+ - eventstore
1817+
1818+ "Sebastian Dröge slomo@coaxion.net @sdroege":
1819+ - conduit-iconv
1820+ - conduit-connection
1821+
1822+ "Andrew Rademacher <andrewrademacher@gmail.com>":
1823+ - aeson-casing
1824+
1825+ "Callum Rogers @CRogers":
1826+ - should-not-typecheck
1827+
1828+ "Mihaly Barasz klao@nilcons.com @klao":
1829+ - tz
1830+ - tzdata
1831+
1832+ "Timothy Klim <stackage@timothyklim.com> @TimothyKlim":
1833+ - pkcs10
1834+
1835+ "David Luposchainsky <dluposchainsky (λ) googles email service> @quchen":
1836+ - binary-typed
1837+ - pgp-wordlist
1838+
1839+ "Jeremy Shaw <jeremy@n-heptane.com> @stepcut":
1840+ - boomerang
1841+ - clckwrks
1842+ - clckwrks-cli
1843+ - clckwrks-plugin-page
1844+ - clckwrks-plugin-media
1845+ - clckwrks-theme-bootstrap
1846+ - hackage-whatsnew
1847+ - happstack-authenticate
1848+ - happstack-clientsession
1849+ - happstack-hsp
1850+ - happstack-jmacro
1851+ - happstack-server
1852+ - happstack-server-tls
1853+ - hsx-jmacro
1854+ - ixset
1855+ - reform
1856+ - reform-blaze
1857+ - reform-hamlet
1858+ - reform-happstack
1859+ - reform-hsp
1860+ - userid
1861+ - web-plugins
1862+ - web-routes
1863+ - web-routes-boomerang
1864+ - web-routes-happstack
1865+ - web-routes-hsp
1866+ - web-routes-th
1867+ - web-routes-wai
1868+
1869+ "Pedro Tacla Yamada <tacla.yamada@gmail.com> @yamadapc":
1870+ - ascii-progress
1871+ - drawille
1872+ - extract-dependencies
1873+ - file-modules
1874+ - frontmatter
1875+ - read-editor
1876+ - hspec-setup
1877+ - hzulip
1878+ - list-prompt
1879+ - memoization-utils
1880+ - package-description-remote
1881+ - projectroot
1882+ - questioner
1883+ - stack-run-auto
1884+
1885+ "rightfold <rightfold@gmail.com> @rightfold":
1886+ - open-browser
1887+
1888+ "Denis Redozubov <denis.redozubov@gmail.com> @dredozubov":
1889+ - tracy
1890+
1891+ "Yuji Yamamoto <whosekiteneverfly@gmail.com> @igrep":
1892+ - yes-precure5-command
1893+
1894+ "Hans-Christian Esperer <hc@hcesperer.org> @hce":
1895+ - wai-session-postgresql
1896+
1897+ "Haisheng Wu <freizl@gmail.com>":
1898+ - hoauth2
1899+
1900+ "Falko Peters <falko.peters@gmail.com>":
1901+ - scrypt
1902+
1903+ "Jakub Waszczuk <waszczuk.kuba@gmail.com> @kawu":
1904+ - dawg-ord
1905+
1906+ "Amit Levy <amit@amitlevy.com> @alevy":
1907+ - postgresql-orm
1908+ - simple
1909+ - simple-templates
1910+ - simple-session
1911+ - simple-postgresql-orm
1912+
1913+ "Sergey Astanin <s.astanin@gmail.com> @astanin":
1914+ - bindings-libzip < 0.11
1915+ - LibZip < 0.11
1916+
1917+ "Anthony Cowley <acowley@gmail.com> @acowley":
1918+ - Frames
1919+
1920+ "Takayuki Muranushi <muranushi@gmail.com> @nushio3":
1921+ - binary-search
16661922
1667− # https://github.com/fpco/stackage/issues/767
1668− - dependent-map == 0.1.*
1669− - dependent-sum == 0.2.*
1923+ "Jason Shipman <jasonpshipman@gmail.com> @jship":
1924+ # on behalf of Boris Sukholitko @bosu
1925+ - pure-cdb
16701926
1671− # https://github.com/fpco/stackage/issues/768
1672− - HUnit < 1.3
1927+ "Suhail Shergill <suhailshergill@gmail.com> @suhailshergill":
1928+ - extensible-effects
16731929
1674− # https://github.com/fpco/stackage/issues/845
1675− - aeson < 0.10
1676− - bloodhound < 0.9
1930+ "Justus Adam <dev@justus.science> @JustusAdam":
1931+ - mustache
1932+
1933+ "Cindy Wang <cindylinz@gmail.com> @CindyLinz":
1934+ - NoTrace
16771935
1678− # https://github.com/fpco/stackage/issues/846
1679− - postgresql-simple < 0.5
1936+ "Jean-Philippe Bernardy <jean-philippe.bernardy@tweag.io> @jyp":
1937+ - polynomials-bernstein
1938+ - typography-geometry
16801939
1681− # https://github.com/GaloisInc/cryptol/issues/275
1682− - sbv < 5.0
1940+ "John MacFarlane <jgm@berkeley.edu> @jgm":
1941+ - hsb2hs
1942+ - cmark
1943+ - texmath
1944+ - highlighting-kate
1945+ - pandoc-types
1946+ - zip-archive
1947+ - pandoc
1948+ - pandoc-citeproc
1949+
1950+ "Karun Ramakrishnan karun012@gmail.com @karun012":
1951+ - doctest-discover
16831952
1684− # https://github.com/fpco/stackage/issues/856
1685− - syb < 0.6
1953+ # If you stop maintaining a package you can move it here.
1954+ # It will then be disabled if it starts causing problems.
1955+ "Abandoned packages":
1956+ # https://github.com/fpco/stackage/issues/1056
1957+ - haskell-packages
1958+ - curl
1959+ - hse-cpp
16861960
1687− # https://github.com/fpco/stackage/issues/860
1688− - optparse-applicative < 0.12
1961+ "Stackage upper bounds":
1962+ # https://github.com/fpco/stackage/issues/1096
1963+ - deepseq-generics < 0.2
16891964
1690− # https://github.com/fpco/stackage/issues/880
1691− - http-types < 0.9
1965+ # https://github.com/fpco/stackage/issues/1118
1966+ - protocol-buffers < 2.2
1967+ - protocol-buffers-descriptor < 2.2
1968+ - hprotoc < 2.2
16921969
1693− # https://github.com/fpco/stackage/issues/908
1694− - bimap < 0.3.1
1970+ # https://github.com/fpco/stackage/issues/1128
1971+ - machines < 0.6
16951972
1696− # https://github.com/idontgetoutmuch/largeword/pull/12
1697− - largeword < 1.2.4
1973+ # https://github.com/fpco/stackage/issues/1147
1974+ - comonad < 4.3
1975+ - pointed < 5
1976+ - kan-extensions < 5
1977+ - lens < 4.13.1
1978+ # See expected test failure below for same issue
16981979
1699− # https://github.com/fpco/stackage/issues/942
1700− - semigroups < 0.18
1980+ # https://github.com/fpco/stackage/issues/1211
1981+ - aeson < 0.10
17011982
1702− # https://github.com/fpco/stackage/issues/946
1703− - cereal < 0.5
1704− - messagepack < 0.5.0
1705− - messagepack-rpc < 0.5.1
1706− - DRBG < 0.5.5
1983+ # https://github.com/fpco/stackage/issues/1215
1984+ - argon < 0.4.1.0
17071985
1708− # https://github.com/fpco/stackage/issues/957
1709− - exact-pi < 0.3
1986+ # https://github.com/fpco/stackage/issues/1226
1987+ - unordered-containers < 0.2.7.0
17101988
1711− # https://github.com/fpco/stackage/issues/968
1712− - bifunctors < 5.1
1989+ # https://github.com/fpco/stackage/issues/1227
1990+ - diagrams-svg < 1.4
17131991
1714− # https://github.com/fpco/stackage/issues/975
1715− - retry < 0.7
1992+ # https://github.com/fpco/stackage/issues/1229
1993+ - network-transport-tcp < 0.5
17161994
1717− # https://github.com/fpco/stackage/issues/944
1718− - lens < 4.13
1719− - reflection < 2.1
1995+ # https://github.com/shimmercat/second-transfer/issues/4
1996+ - second-transfer < 0.10.0.1
17201997
1721− # https://github.com/fpco/stackage/issues/981
1722− - haskell-src-exts < 1.17
1723− - derive < 2.5.23
1724− - hlint < 1.9.23
17251998# end of packages
17261999
17272000
@@ -1784,6 +2057,12 @@ package-flags:
17842057 twitter-types:
17852058 time15: true
17862059
2060+ darcs:
2061+ use-time-1point5: true
2062+
2063+ fay:
2064+ test: true
2065+
17872066# end of package-flags
17882067
17892068
@@ -1794,12 +2073,14 @@ skipped-builds:
17942073 - Win32-notify
17952074 - Win32-extras
17962075
2076+ # The Docker image needs libsystemd-dev from Ubuntu 15.04+ for this.
2077+ # See: https://github.com/fpco/stackage/issues/696
2078+ - libsystemd-journal
2079+
2080+
17972081
17982082# By skipping a test suite, we do not pull in the build dependencies
17992083skipped-tests:
1800− # old version of warp
1801− - HTTP
1802−
18032084 # require old hspec
18042085 - ReadArgs
18052086 - bloodhound
@@ -1818,22 +2099,18 @@ skipped-tests:
18182099 - Cabal-ide-backend
18192100
18202101 # QuickCheck 2.8
1821− - bson
1822− - cabal-install
1823− - exceptions
18242102 - testpack
18252103 - vector
1826− - Cabal
18272104 - MissingH
18282105 # https://github.com/Soostone/retry/issues/30
18292106 - retry
1830− - fft
18312107
1832− # https://github.com/fpco/stackage/issues/602
1833− - aws
2108+ # QuickCheck 2.8.2
2109+ # Fixed in aeson 0.11.0.0
2110+ - aeson
18342111
18352112 # doctest < 0.10
1836− # https://github.com/fpco/stackage/issues/622
2113+ # Closed due to inactivity: https://github.com/fpco/stackage/issues/622
18372114 - bound
18382115 - heaps
18392116 - hyphenation
@@ -1843,8 +2120,7 @@ skipped-tests:
18432120 - clustering
18442121
18452122 # tasty < 0.11
1846− # https://github.com/fpco/stackage/issues/817
1847− - tar
2123+ # Closed due to inactivity: https://github.com/fpco/stackage/issues/817
18482124 - uuid
18492125 - uuid-types
18502126
@@ -1856,13 +2132,45 @@ skipped-tests:
18562132 - amazonka-ec2
18572133 - amazonka-s3
18582134 - amazonka-swf
2135+
2136+ # Misc from GHC 7.10.3 upgrade
2137+ # https://github.com/fpco/stackage/issues/1045
2138+ - argon
2139+ - clock
2140+
2141+ # HUnit < 1.3
2142+ - GLFW-b
2143+ - HsOpenSSL
2144+ - bindings-GLFW
2145+ - bytestring-handle
2146+ - clay
2147+ - hedis
2148+ - hint
2149+ - ide-backend
2150+ - lifted-base
2151+ - newtype-generics
2152+ - parsec
2153+ - terminal-progress-bar
2154+ - threads
2155+ - yesod-static-angular
2156+
2157+ # - https://github.com/fpco/stackage/pull/906
2158+ - HaRe
2159+
2160+ # https://github.com/haskell/zlib/issues/2
2161+ - zlib
2162+
2163+ # https://github.com/ku-fpg/blank-canvas/issues/73
2164+ # Never finishes
2165+ - blank-canvas
2166+
2167+ # https://github.com/nushio3/binary-search/issues/2 (doctest never finishes)
2168+ - binary-search
18592169# end of skipped-tests
18602170
18612171# Tests which we should build and run, but which are expected to fail. We
18622172# should not fail a build based on a test failure for one of these packages.
18632173expected-test-failures:
1864− # Requires an old version of WAI and Warp for tests
1865− - HTTP
18662174
18672175 # https://github.com/bos/statistics/issues/42
18682176 - statistics
@@ -1883,9 +2191,6 @@ expected-test-failures:
18832191 # Requires a Facebook app.
18842192 - fb
18852193
1886− # https://github.com/vincenthz/language-java/issues/10
1887− - language-java
1888−
18892194 - threads
18902195 - crypto-conduit
18912196
@@ -1895,9 +2200,6 @@ expected-test-failures:
18952200 # https://github.com/skogsbaer/xmlgen/issues/2
18962201 - xmlgen
18972202
1898− # Requires a locally running PostgreSQL server with appropriate users
1899− - postgresql-simple
1900−
19012203 # Some kind of Cabal bug when trying to run tests
19022204 - thyme
19032205
@@ -1909,7 +2211,7 @@ expected-test-failures:
19092211 # https://github.com/fpco/stackage/issues/163
19102212 - hTalos
19112213
1912− # https://github.com/bos/math-functions/issues/25
2214+ # Fails sporadically - https://github.com/bos/math-functions/issues/25
19132215 - math-functions
19142216
19152217 # Requires too old a version of test-framework
@@ -1920,9 +2222,6 @@ expected-test-failures:
19202222 - lockfree-queue
19212223 - network-transport-tcp
19222224
1923− # https://github.com/fpco/stackage/issues/226
1924− - options
1925−
19262225 # No AWS creds available
19272226 - aws
19282227
@@ -1933,7 +2232,6 @@ expected-test-failures:
19332232 - system-filepath
19342233
19352234 # Requires a running webdriver server
1936− - webdriver
19372235 - webdriver-snoy
19382236 - webdriver-angular
19392237
@@ -1955,9 +2253,6 @@ expected-test-failures:
19552253 # Often run out of inotify handles
19562254 - fsnotify
19572255
1958− # Requires a correctly set up Postgres instance
1959− - opaleye
1960−
19612256 # weird problems with cabal test
19622257 - cautious-file
19632258
@@ -1977,9 +2272,6 @@ expected-test-failures:
19772272 # https://github.com/vincenthz/hs-crypto-pubkey/issues/17
19782273 - crypto-pubkey
19792274
1980− # https://github.com/kazu-yamamoto/unix-time/issues/29
1981− - unix-time
1982−
19832275 # Tests can fail when the build plan fails, which happens arbitrarily.
19842276 - stackage
19852277
@@ -1992,30 +2284,26 @@ expected-test-failures:
19922284 # Requires local database running
19932285 - rethinkdb-client-driver
19942286
1995− # https://github.com/haskell-distributed/distributed-process-execution/issues/2
2287+ # Fails sporadically: https://github.com/haskell-distributed/distributed-process-execution/issues/2
19962288 - distributed-process-execution
19972289
19982290 # Seems to depend on mtl being installed in user package database, which
19992291 # isn't always the case (e.g., build server)
20002292 - happy
20012293
2002− # https://github.com/jberryman/directory-tree/issues/4
2003− - directory-tree
2004−
20052294 # https://github.com/ndmitchell/hoogle/issues/101
20062295 - hoogle
20072296
20082297 # https://github.com/myfreeweb/gitson/issues/1
20092298 - gitson
20102299
2011− # https://github.com/jcristovao/enclosed-exceptions/issues/6
2012− - enclosed-exceptions
2013−
20142300 # Expects a running PostgreSQL server
20152301 - users-postgresql-simple
2016−
2017− # Problems with linking with system libraries on Ubuntu 12.04
2018− - nettle
2302+ - dbmigrations
2303+ - opaleye
2304+ - postgresql-simple
2305+ - wai-session-postgresql
2306+ - drifter-postgresql
20192307
20202308 # Requires locally running services
20212309 - network-anonymous-i2p
@@ -2028,21 +2316,12 @@ expected-test-failures:
20282316 - hedis
20292317 - redis-io
20302318
2031− # https://code.google.com/p/scrapyourboilerplate/issues/detail?id=26&thanks=26&ts=1430372304, GHC 7.10
2032− - syb
2033−
20342319 # https://github.com/lymar/hastache/issues/47 GHC 7.10
20352320 - hastache
20362321
2037− # https://github.com/simonmar/alex/issues/62 GHC 7.10
2038− - alex
2039−
20402322 # https://github.com/acid-state/safecopy/issues/25 GHC 7.10
20412323 - safecopy
20422324
2043− # https://github.com/haskell/haddock/issues/390 GHC 7.10
2044− - haddock-library
2045−
20462325 # https://github.com/haskell/ghc-events/issues/9
20472326 - ghc-events
20482327
@@ -2060,9 +2339,6 @@ expected-test-failures:
20602339 # this in the build scripts here...
20612340 - stack
20622341
2063− # https://github.com/kazu-yamamoto/http2/issues/4
2064− - http2
2065−
20662342 # https://github.com/prowdsponsor/mangopay/issues/30
20672343 - mangopay
20682344
@@ -2087,15 +2363,6 @@ expected-test-failures:
20872363 # https://github.com/kazu-yamamoto/logger/issues/42
20882364 - wai-logger
20892365
2090− # https://github.com/zalora/getopt-generics/issues/47
2091− - getopt-generics
2092−
2093− # https://github.com/fpco/stackage/issues/728
2094− - HList
2095−
2096− # https://github.com/zmthy/http-media/issues/16
2097− - http-media
2098−
20992366 # https://github.com/purescript/purescript/issues/1336
21002367 - purescript
21012368
@@ -2105,9 +2372,6 @@ expected-test-failures:
21052372 # https://github.com/gibiansky/IHaskell/issues/551
21062373 - ihaskell
21072374
2108− # https://github.com/alphaHeavy/lzma-conduit/issues/5
2109− - lzma-conduit
2110−
21112375 # https://github.com/well-typed/ixset-typed/issues/2
21122376 - ixset-typed
21132377
@@ -2121,66 +2385,86 @@ expected-test-failures:
21212385 # https://github.com/ddssff/cabal-debian/issues/50
21222386 - cabal-debian
21232387
2124− # https://github.com/barrucadu/dejafu/issues/14
2125− - dejafu
2126−
2127− # https://github.com/MichaelXavier/cron/issues/22
2128− - cron
2129−
21302388 # https://github.com/fpco/stackage/issues/811
21312389 - etcd
21322390
2133− # https://github.com/athanclark/pred-trie/issues/1
2134− - pred-trie
2135−
21362391 # https://github.com/kazu-yamamoto/ghc-mod/issues/611
21372392 - ghc-mod
21382393
2139− # https://github.com/agrafix/users/issues/3
2140− - users-persistent
2141−
21422394 # Requires a running server
21432395 - pipes-mongodb
21442396
21452397 # https://github.com/tweag/HaskellR/issues/208
21462398 - H
21472399
2148− # https://github.com/jgm/pandoc-citeproc/issues/172
2400+ # Fails sporadically: https://github.com/jgm/pandoc-citeproc/issues/172
21492401 - pandoc-citeproc
21502402
21512403 # https://github.com/alcidesv/second-transfer/issues/3
21522404 - second-transfer
21532405
2154− # https://github.com/mitchellwrosen/language-lua2/issues/2
2155− - language-lua2
2156−
21572406 # https://github.com/fpco/stackage/issues/916
21582407 - distributed-process-extras
21592408 - distributed-process-client-server
21602409
2161− # https://github.com/fpco/stackage/issues/917
2162− - dbmigrations
2163−
21642410 # Requires running server
21652411 - riak
21662412 - hworker
2167− - hworker-ses
21682413
2169− # https://github.com/chrisdone/hindent/issues/166
2414+ # Fail sporadically: https://github.com/chrisdone/hindent/issues/166
21702415 - hindent
2416+
2417+ # https://github.com/fpco/stackage/issues/1000
2418+ - eventstore
2419+
2420+ # https://github.com/chrisdone/sourcemap/issues/3
2421+ - sourcemap
2422+
2423+ # https://github.com/fpco/stackage/issues/1070
2424+ - parsers
2425+
2426+ # Fails sporadically: https://github.com/fpco/stackage/issues/1125
2427+ - jose-jwt
2428+
2429+ # openfile: does not exist
2430+ - skein
2431+
2432+ # https://github.com/fpco/stackage/issues/1147
2433+ - lens
2434+
2435+ # https://github.com/tanakh/aeson-lens/issues/10
2436+ - aeson-lens
2437+
2438+ # Not sure if we can fix this
2439+ - Cabal
2440+
2441+ # Sent e-mail to maintainer
2442+ - dbus
2443+
2444+ # Sent e-mail to maintainer
2445+ - ListLike
2446+
2447+ # https://github.com/creichert/wai-middleware-throttle/issues/4
2448+ - wai-middleware-throttle
2449+
2450+ # https://bitbucket.org/ssaasen/haskell-jwt/issues/18/test-suite-build-failure-in-stackage
2451+ - jwt
2452+
2453+ # https://github.com/rodrigosetti/messagepack/issues/9
2454+ - messagepack
2455+
2456+ # timeouts
2457+ - cabal-helper
2458+ - graphviz
2459+
2460+ # Problem with v0.1.6.0: https://github.com/fpco/stackage/issues/1206
2461+ - hsdev
2462+
21712463# end of expected-test-failures
21722464
21732465
21742466# Haddocks which are expected to fail. Same concept as expected test failures.
21752467expected-haddock-failures:
2176− # https://github.com/acw/bytestring-progress/issues/4
2177− - bytestring-progress
2178−
2179− # https://github.com/leventov/yarr/issues/5
2180− - yarr
2181−
2182− # https://github.com/wereHamster/rethinkdb-client-driver/issues/1
2183− - rethinkdb-client-driver
21842468
21852469 # Requires build before haddock, which doesn't always happen in incremental
21862470 # builds. Could consider special-casing this requirement.
@@ -2190,11 +2474,20 @@ expected-haddock-failures:
21902474 # Not sure why, but it's a temporary package anyway
21912475 - Cabal-ide-backend
21922476
2193− # not sure why
2194− - growler
2477+ # https://github.com/fpco/stackage/issues/994
2478+ - Michelangelo
2479+
2480+ # https://github.com/wereHamster/avers-api/issues/2
2481+ - avers-api
21952482
2196− # https://github.com/iand675/metrics/issues/5
2197− - metrics
2483+ # https://github.com/RyanGlScott/text-show/issues/15
2484+ - text-show
2485+
2486+ # https://github.com/ekmett/bifunctors/issues/42
2487+ - bifunctors
2488+
2489+ # Problem with v0.1.6.0: https://github.com/fpco/stackage/issues/1206
2490+ - hsdev
21982491
21992492# end of expected-haddock-failures
22002493
@@ -2240,6 +2533,10 @@ skipped-benchmarks:
22402533 # https://github.com/kaizhang/clustering/issues/2
22412534 - clustering
22422535
2536+ # Successful build requires unordered-containers >= 0.2.7.0
2537+ # https://github.com/fpco/stackage/issues/1226
2538+ - unordered-containers
2539+
22432540# end of skipped-benchmarks
22442541
22452542
@@ -2286,5 +2583,40 @@ github-users:
22862583 - mokus0
22872584 haskell-game:
22882585 - ocharles
2586+ Happstack:
2587+ - stepcut
2588+ clckwrks:
2589+ - stepcut
2590+ stackbuilders:
2591+ - sestrella
2592+ - CristhianMotoche
2593+ - jsl
2594+ - jpvillaisaza
2595+ - jsantos17
2596+ scotty-web:
2597+ - RyanGlScott
2598+ - xich
2599+ ku-fpg:
2600+ - RyanGlScott
2601+ haskell-compat:
2602+ - RyanGlScott
22892603
22902604# end of github-users
2605+
2606+# begin build-tool-overrides
2607+#
2608+# Used to set a mapping from build tools to package names, ignoring the
2609+# metadata on Hackage itself
2610+
2611+build-tool-overrides:
2612+ # Ignore the cabal-install-ghc72 and cabal-install-ghc74 packages
2613+ cabal:
2614+ - cabal-install
2615+
2616+# end build-tool-overrides
2617+
2618+# Useful for checking for strict upper bounds against new versions of core
2619+# packages, e.g. when a new version of transformers is released
2620+#
2621+# treat-as-non-core:
2622+# - transformers
checknew file+5
@@ -0,0 +1,5 @@
1+#!/bin/sh
2+
3+# Convenience script for checking constraints locally
4+
5+exec stack exec --resolver ghc-7.10.3 stackage-curator check
debian-bootstrap.sh+34−5
@@ -1,4 +1,4 @@
1−#!/bin/bash -ex
1+#!/usr/bin/env bash
22
33# Work in progress: create a list of commands necessary to get Stackage
44# up-and-running on a freshly installed Debian-based system (including Ubuntu).
@@ -10,13 +10,32 @@
1010# instructions, see:
1111# http://www.stackage.org/install
1212
13+set -exu
14+
15+mkdir /home/stackage -p
16+locale-gen en_US.UTF-8
17+
18+export DEBIAN_FRONTEND=noninteractive
19+apt-get update
20+apt-get install -y software-properties-common python-software-properties git
21+
22+add-apt-repository ppa:hvr/ghc -y
1323add-apt-repository -y ppa:zoogie/sdl2-snapshots
1424add-apt-repository -y ppa:marutter/rrutter
1525add-apt-repository -y ppa:openstack-ubuntu-testing/icehouse
1626
27+# Get Stack
28+sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 575159689BEFB442
29+echo 'deb http://download.fpcomplete.com/ubuntu trusty main'|sudo tee /etc/apt/sources.list.d/fpco.list
30+
1731apt-get update
1832apt-get install -y \
1933 build-essential \
34+ ghc-7.10.3 \
35+ ghc-7.10.3-htmldocs \
36+ hscolour \
37+ sudo \
38+ curl \
2039 freeglut3-dev \
2140 git \
2241 libadns1-dev \
@@ -44,6 +63,8 @@ apt-get install -y \
4463 libleveldb-dev \
4564 liblzma-dev \
4665 libmagic-dev \
66+ libmagickcore-dev \
67+ libmagickwand-dev \
4768 libmysqlclient-dev \
4869 libncurses-dev \
4970 libnotify-dev \
@@ -65,6 +86,7 @@ apt-get install -y \
6586 libxml2-dev \
6687 libxss-dev \
6788 libyaml-dev \
89+ libzip-dev \
6890 libzmq3-dev \
6991 llvm \
7092 m4 \
@@ -75,19 +97,26 @@ apt-get install -y \
7597 texlive-full \
7698 wget \
7799 zip \
100+ stack \
78101 zlib1g-dev
79102
80103mkdir /tmp/nettle-build
81104(
82105cd /tmp/nettle-build
83−wget https://ftp.gnu.org/gnu/nettle/nettle-2.7.1.tar.gz
84−tar zxf nettle-2.7.1.tar.gz
85−cd nettle-2.7.1
106+wget https://ftp.gnu.org/gnu/nettle/nettle-3.1.1.tar.gz
107+tar zxf nettle-3.1.1.tar.gz
108+cd nettle-3.1.1
86109./configure --prefix=/usr
87110make
88111make install
89112
90113mkdir -p /usr/lib/x86_64-linux-gnu/
91−ln -sfv /usr/lib/libnettle.so.4.7 /usr/lib/x86_64-linux-gnu/libnettle.so.4
114+ln -sfv /usr/lib/libnettle.so.6.1 /usr/lib/x86_64-linux-gnu/libnettle.so.6
92115)
93116rm -rf /tmp/nettle-build
117+
118+# Buggy versions of ld.bfd fail to link some Haskell packages:
119+# https://sourceware.org/bugzilla/show_bug.cgi?id=17689. Gold is
120+# faster anyways and uses less RAM.
121+update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.gold" 20
122+update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.bfd" 10