on master help sign in
Merge pull request #1 from fpco/master

Update fork.

commitb8ce12aaa43096b7b0bee79fac82e05da6bcbbd3 authorGregory Schwartz <GregorySchwartz@users.noreply.github.com> dateWed 11 Jan 2017, 14:37 (10 years ago) parent5cfd5ba4b19860
15 files changed+3505−826
.gitignore+1 .travis.yml+32−13 CURATORS.md+339 DATA-FLOW.md+129 Dockerfile+3−18 MAINTAINERS.md+96 README.md+39−74 automated/.gitignore+2 automated/build.sh+76−17 automated/check-cabal.sh+72 automated/cron.sh+24 automated/run-nightly.sh+10 build-constraints.yaml+2531−656 check+6 debian-bootstrap.sh+145−48
.gitignore+1
@@ -3,3 +3,4 @@
33nightly-*.yaml
44lts-*.yaml
55*.swp
6+check-plan.yaml
.travis.yml+32−13
@@ -1,21 +1,40 @@
1−env:
2− - CABALVER=1.22 GHCVER=7.10.1
1+# Use new container infrastructure to enable caching
2+sudo: false
3+
4+# Choose a lightweight base image; we provide our own build tools.
5+language: generic
36
4−# Note: the distinction between `before_install` and `install` is not important.
5−before_install:
6− - travis_retry sudo add-apt-repository -y ppa:hvr/ghc
7− - travis_retry sudo apt-get update
8− - travis_retry sudo apt-get install cabal-install-$CABALVER ghc-$GHCVER # see note about happy/alex
9− - export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH
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=8.0.1
1015
1116install:
12− - cabal --version
13− - echo "$(ghc --version) [$(ghc --print-project-git-commit-id 2> /dev/null || echo '?')]"
14− - travis_retry cabal update
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+
22+ # Get stackage-curator
1523 - wget https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2
1624 - bunzip2 stackage-curator.bz2
1725 - chmod +x stackage-curator
26+ - mv stackage-curator ~/.local/bin
27+
28+ # Install GHC and cabal-install
29+ - stack setup $GHCVER
30+
31+ # Update the index
32+ - travis_retry stack update
1833
19−# Here starts the actual work to be performed for the package under test; any command which exits with a non-zero exit code causes the build to fail.
2034script:
21− - ./stackage-curator check
35+ - stack --resolver ghc-$GHCVER exec stackage-curator check
36+
37+cache:
38+ directories:
39+ - $HOME/.stack
40+ - $HOME/.stackage/curator/cache
CURATORS.mdnew file+339
@@ -0,0 +1,339 @@
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.
6+
7+## Workflow overview
8+
9+This section sketches out at a high level how the entire Stackage build/curation
10+process works:
11+
12+* [build-constraints.yaml](https://github.com/fpco/stackage/blob/master/build-constraints.yaml) specifies packages to be included in Stackage
13+* [stackage-curator](http://www.stackage.org/package/stackage-curator) combines build-constraints.yaml with the current state of Hackage to create a build plan for a Stackage Nightly
14+* stackage-curator can check that build plan to ensure all version bounds are consistent
15+ * The [Travis job](https://github.com/fpco/stackage/blob/master/.travis.yml) performs these two steps to provide immediate feedback on pull requests
16+* Docker Hub [builds](https://github.com/fpco/stackage/blob/master/Dockerfile) a [Docker image](https://registry.hub.docker.com/u/snoyberg/stackage/) for running builds
17+* 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)
18+* When a new Nightly build is completed, it is uploaded to [the nightly repo](https://github.com/fpco/stackage-nightly)
19+* 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)
20+* Cutting a new LTS major release is essentially just a Stackage Nightly that gets rebuilt and uploaded as an LTS
21+
22+## Pull requests
23+
24+The typical story on pull requests is: If Travis accepts it and the
25+author only added packages under his/her own name, merge it. If the
26+build later fails (see "Adding Debian packages for required system tools or libraries"),
27+then block the package until it's fixed.
28+
29+If benchmarks, haddocks, or test suites fails at this point we
30+typically also block the package until these issues are fixed. This in
31+order to add packages with a clean slate.
32+
33+Optionally we can check if packdeps says the package is up to date.
34+Visit http://packdeps.haskellers.com/feed?needle=<package-name>
35+
36+Builds may fail because of unrelated bounds changes. If this happens,
37+first add any version bounds to get master into a passing state (see
38+"Fixing bounds issues"), then re-run the travis build.
39+
40+A common issue is that authors submit newly uploaded packages, it can
41+take up to an hour before this has synced across the stack
42+infrastructure. You can usually compare the versions of the package in
43+https://github.com/commercialhaskell/all-cabal-metadata/tree/master/packages/
44+to what's on hackage to see if this is the case. Wait an hour and
45+re-run the pull request.
46+
47+Tests also commonly fail due to missing test files, and sometimes due
48+to doctest limitations. You can point the maintainer to
49+https://github.com/bergmark/blog/blob/master/2016/package-faq.md
50+
51+## Fixing bounds issues
52+
53+The most common activity you'll deal with in Stackage curation is a version
54+bound issue, usually a restrictive upper bound. You fix this by opening an
55+issue on the Stackage repo about the problem, and modifying the
56+build-constraints.yaml file to work around it in one of the ways below. Be sure
57+to refer to the issue for workarounds added to that file.
58+
59+### Temporary upper bounds
60+
61+Most common technique, just prevent a new version of a library from
62+being included immediately. This also applies to when only benchmarks
63+and tests are affected.
64+
65+* Copy the stackage-curator output and create a new issue, see e.g
66+https://github.com/fpco/stackage/issues/2108
67+
68+* Add a new entry under the "stackage upper bounds" section of `build-constraints.yaml`. For the above example it would be
69+
70+```yaml
71+ "Stackage upper bounds":
72+ # https://github.com/fpco/stackage/issues/2108
73+ - pipes < 4.3.0
74+```
75+
76+* Commit (message e.g. "Upper bound for #2108")
77+* Optionally: Verify with `stackage-curator check` locally
78+* Push
79+* Verify that everything works on the build server (you can restart the build or wait for it to to run again)
80+
81+Sometimes releases for different packages are tightly coupled. Then it
82+can make sense to combine them into one issue, as in
83+https://github.com/fpco/stackage/issues/2143.
84+
85+If a dependency that is not explicitly in stackage is causing test or
86+benchmark failures you can skip or expect them to fail (see "Skipping
87+tests and benchmarks" and "Expecting test/benchmark/haddock
88+failures"). Bonus points for reporting this upstream to that packages'
89+maintainer.
90+
91+### Lifting upper bounds
92+
93+You can try this when you notice that a package has been updated. You
94+can also periodically try to lift bounds (I think it's good to do this
95+at the start of your week /@bergmark)
96+
97+If not all packages have been updated check if any of them are missing
98+from the original issue and if so add a new comment mentioning them. A
99+new package may appear if its dependencies were part of this issue but
100+have been updated since the last time we checked. We want to give
101+these new packages ample time to be upgraded.
102+
103+If stackage-curator is happy commit the change ("Remove upper bounds
104+and close #X"). After doing this the next nightly build may fail
105+because some packages didn't have an upper bound in place, but
106+compilation failed. In this case revert the previous commit so any
107+disabled packages are enabled again, re-open the issue, and add a new
108+comment with the failing packages. This is to give all maintainers
109+enough time to upgrade for this case as well.
110+
111+### Amending upper bounds
112+
113+With the `pipes` example above there was later a new release of
114+`pipes-safe` that required the **newer** version of `pipes`. You can
115+add that package to the same upper bounds section,
116+(e.g. https://github.com/fpco/stackage/commit/6429b1eb14db3f2a0779813ef2927085fa4ad673)
117+as we want to lift them simultaneously.
118+
119+### Skipping tests and benchmarks
120+
121+Sometimes tests and benchmark dependencies are forgotten or not cared
122+for. To disable compilation for them add them to `skipped-tests` or
123+`skipped-benchmarks`. If a package is added to these sections they
124+won't be compiled, and their dependencies won't be taken into account.
125+
126+There are sub sections under these headers that is used to group types
127+of failures together, and also to document what type of failures
128+exist.
129+
130+### Expecting test/benchmark/haddock failures
131+
132+The difference from the `skipped` sections is that items listed here
133+are compiled and their dependencies are taken into account. These
134+sections also have sub sections with groups and descriptions.
135+
136+One big category of test suites in this section are those requiring
137+running services. We don't want to run those, but we do want to check
138+dependencies and compile them.
139+
140+If there are no version bounds that would fix the issue or if you
141+can't figure it out, file it
142+(e.g. https://github.com/fpco/stackage/issues/2133) to ask the
143+maintainer for help.
144+
145+### Waiting for new releases
146+
147+Sometimes there is a failure reported on a (now possibly closed) issue
148+on an external tracker. If an issue gets resolved but there is no
149+hackage release yet we'd like to get notified when it's uploaded.
150+
151+Add the package with its current version to the
152+`tell-me-when-its-released` section. This will cause the build to stop
153+when the new version is out.
154+
155+### Excluding packages
156+
157+In an extreme case of a non-responsive maintainer, you can remove the
158+package entirely from Stackage. We try to avoid that whenever
159+possible.
160+
161+This typically happens when we move to a new major GHC release or when
162+there are only a few packages waiting for updates on an upper bounds
163+issue.
164+
165+Comment out the offending packages from the "packages" section and add
166+a comment saying why it was disabled:
167+
168+```
169+ # - swagger # bounds: aeson 1.0
170+```
171+
172+If this causes reverse dependencies to be disabled we should notify
173+the maintainers of those packages.
174+
175+
176+## Updating the content of the Docker image used for building
177+
178+### Adding Debian packages for required system tools or libraries
179+Additional (non-Haskell) system libraries or tools should be added to `stackage/debian-bootstrap.sh`.
180+Committing the changes to a branch should trigger a DockerHub. Normally only the `nightly` branch needs to be updated
181+since new packages are not added to the current lts release.
182+
183+Use [Ubuntu Package content search](http://packages.ubuntu.com/) to determine which package provides particular dev files (it defaults to xenial which is the version used to build Nightly).
184+
185+Note that we generally don't install/run services needed for testsuites in the docker images - packages with tests requiring some system service can be added to `expected-test-failures`.
186+It's good to inform the maintainer of any disabled tests (commenting in the PR is sufficient).
187+
188+If a new package fails to build because of missing system libraries we often ask the maintainer to help figure out what to install.
189+
190+### Upgrading GHC version
191+The Dockerfile contains information on which GHC versions should be used. You
192+can modify it and push it to Github to trigger a DockerHub build. The nightly
193+branch is used for nightlies. For LTSes, we use the ltsX branch, where X is the
194+major version number (e.g., lts3 for lts-3.\*).
195+
196+Note that when starting a new LTS major release, you'll need to modify Docker
197+Hub to create a new Docker tag for the relevant branch name.
198+
199+### Getting the new image to the build server
200+Once a new Docker image is available, you'll need to pull it onto the stackage-build server (see
201+below). Instead of pulling an unbounded number of images, I typically just
202+delete all of the old images and let the new ones get downloaded:
203+
204+```
205+docker rm $(docker ps -a -q)
206+docker rmi $(docker images -q)
207+```
208+
209+but `docker pull snoyberg/stackage:nightly` can also be run instead just to update the nightly image say.
210+
211+For a new GHC version you should also delete the cache directories on the stackage-build server to
212+force all packages to be rebuilt. See: [issue#746](https://github.com/fpco/stackage/issues/746). Eg:
213+```
214+rm -r nightly/work/builds/nightly/
215+```
216+This should also be done when moving the Nightly docker image to a new version of Ubuntu.
217+
218+## stackage-build server
219+
220+You'll need to get your SSH public key added to the machine. ~/.ssh/config info:
221+
222+```
223+Host stackage-build
224+ User curators
225+ Hostname build.stackage.org
226+```
227+
228+### Running the build script
229+
230+We currently run the builds manually so make it easy to see when there are
231+bounds issues that need to be corrected. Automated this would be even better,
232+we're just not there yet.
233+
234+```
235+# Run a nightly build
236+/opt/stackage-build/stackage/automated/run-nightly.sh
237+
238+# Run an LTS minor bump
239+/opt/stackage-build/stackage/automated/build.sh lts-2.17
240+
241+# Run an LTS major bump
242+/opt/stackage-build/stackage/automated/build.sh lts-3.0
243+```
244+
245+Recommended: run these from inside a `tmux` session. If you get version bound
246+problems on nightly or LTS major, you need to fix build-constraints.yaml (see
247+info above). For an LTS minor bump, you'll typically want to use the
248+`CONSTRAINTS` environment variable, e.g.:
249+
250+```
251+CONSTRAINTS='--constraint "conduit < 1.4.5" --constraint "criterion < 1.2.3"' /opt/stackage-build/stackage/automated/build.sh lts-2.17
252+```
253+
254+Valid arguments to include in this environment variable:
255+
256+* `--constraint` to modify an upper or lower bound
257+* `--add-package` to add a brand new package
258+* `--expect-test-failure` to expect tests to fail
259+* `--expect-haddock-failure` to expect haddocks to fail
260+
261+If a build fails for bounds reasons, see all of the advice above. If the code
262+itself doesn't build, or tests fail, open up an issue and then either put in a
263+version bound to avoid that version or something else. It's difficult to give
264+universal advice on how to solve things, since each situation is unique. Let's
265+develop this advice over time. For now: if you're not sure, ask for guidance.
266+
267+__`NOPLAN=1`__ If you wish to rerun a build without recalculating a
268+build plan, you can set the environment variable `NOPLAN=1`. This is
269+useful for such cases as an intermittent test failure, out of memory
270+condition, or manually tweaking the plan file. This is the default for
271+LTS builds.
272+
273+### Timing
274+
275+A looping script on the build server keeps trying to build nightly
276+with `sleep 30m` interleaved. It only publishes the nightly once per
277+day. This way new package versions or build failures can be caught
278+early and hopefully the nightlies will be timely.
279+
280+LTS minor bumps typically are run on Sundays.
281+
282+### Website sync debugging (and other out of disk space errors)
283+
284+* You can detect the problem by running `df`. If you see that `/` is out of space, we have a problem
285+* (outdated) There are many temp files inside `/home/ubuntu/stackage-server-cron` that can be cleared out occasionally
286+* (outdated) You can then manually run `/home/ubuntu/stackage-server-cron.sh`, or wait for the cron job to do it
287+
288+### Wiping the cache
289+
290+Sometimes the cache can get corrupted which might manifest as `can't load .so/.DLL`.
291+You can wipe the nightly cache and rebuild everything by doing
292+`rm -rf /var/stackage/stackage/automated/nightly`.
293+Replace nightly with `lts7` to wipe the LTS 7 cache.
294+
295+### Force a single package rebuild
296+
297+You can force a single package to rebuild by deleting its "previous result"
298+file, e.g.:
299+
300+```
301+$ rm /var/stackage/stackage/automated/nightly/work/builds/nightly/prevres/Build/cryptohash-0.11.9
302+```
303+
304+## Local curator setup
305+
306+We do not run the full stackage build locally as that might take too
307+much time. However, some steps on the other hand are much faster to do
308+yourself, e.g. verifying constraints without building anything.
309+
310+To get started, install `stackage-curator` via Git, or [the Linux binary]:
311+
312+```
313+$ git clone git@github.com:fpco/stackage-curator.git
314+$ cd stackage-curator && stack install
315+```
316+
317+It is a good idea to upgrade `stackage-curator` at the start of your week.
318+Then, clone the stackage repo, get the latest packages and run dependency
319+resolution:
320+
321+```
322+$ git clone git@github.com:fpco/stackage.git
323+$ stack update && stackage-curator check
324+```
325+
326+This can be used to make sure all version bounds are in place, including for
327+test suites and benchmarks, to check whether bounds can be lifted, and to get
328+[tell-me-when-its-released] notifications.
329+
330+`stackage-curator` does not build anything, so you wont see any compilation
331+errors for builds, tests and benchmarks.
332+
333+[the Linux binary]: https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2
334+[tell-me-when-its-released]: https://github.com/fpco/stackage/blob/master/CURATORS.md#waiting-for-new-releases
335+
336+## Adding new curators
337+
338+1. Add public ssh key to `~/.ssh/authorized_keys` on build server
339+2. Add to fpco/stackage project.
DATA-FLOW.mdnew file+129
@@ -0,0 +1,129 @@
1+# The Stackage data flow
2+
3+The Stackage project is really built on top of a number of different
4+subcomponents. This page covers how they fit together. The Stackage data flow
5+diagram gives a good bird's-eye view:
6+
7+![Stackage data flow diagram](https://cloud.githubusercontent.com/assets/49415/14490986/cad5274e-017e-11e6-85cc-a4d815175c61.png)
8+
9+## Inputs
10+
11+There are three inputs into the data flow:
12+
13+* [Hackage](http://hackage.haskell.org/) is the upstream repository of all
14+ available open source Haskell packages that are part of our ecosystem.
15+ Hackage provides both cabal file metadata (via the 00-index.tar file) and
16+ tarballs of the individual packages.
17+
18+* [build-constraints.yaml](https://github.com/fpco/stackage/blob/master/build-constraints.yaml)
19+ is the primary Stackage input file. This is where package maintainers can add
20+ packages to the Stackage package set. This also defines upper bounds, skipped
21+ tests, and a few other pieces of metadata.
22+
23+* [stackage-content](https://github.com/fpco/stackage-content) is a Github
24+ repository containing static file content served from stackage.org
25+
26+## Travis
27+
28+For [various
29+reasons](https://www.fpcomplete.com/blog/2015/05/distributing-packages-without-sysadmin),
30+we leverage Travis CI for running some processes. In particular:
31+
32+* [all-cabal-files](https://github.com/commercialhaskell/all-cabal-files/blob/hackage/.travis.yml)
33+ clones all cabal files from Hackage's 00-index.tar file into a Git repository
34+ without any modification
35+
36+* [all-cabal-hashes](https://github.com/commercialhaskell/all-cabal-hashes/blob/hackage/.travis.yml)
37+ is mostly the same, but also includes cryptographic hashes of the package
38+ tarballs for more secure download (as leveraged by
39+ [Stack](http://haskellstack.com). It is powered by [all-cabal-hashes-tool](https://github.com/commercialhaskell/all-cabal-hashes-tool)
40+
41+* [all-cabal-packages](https://github.com/commercialhaskell/all-cabal-packages)
42+ uses [hackage-mirror](http://github.com/fpco/hackage-mirror) to populate the
43+ hackage.fpcomplete.com mirror of Hackage, which provides S3-backed high
44+ availability hosting of all package tarballs
45+
46+* [all-cabal-metadata](https://github.com/commercialhaskell/all-cabal-metadata)
47+ uses
48+ [all-cabal-metadata-tool](https://github.com/commercialhaskell/all-cabal-metadata-tool)
49+ to query extra metadata from Hackage about packages and put them into YAML
50+ files. As we'll see later, this avoids the need to make a lot of costly calls
51+ to Hackage APIs
52+
53+Travis does not currently provide a means of running jobs on a regular basis.
54+Therefore, we have a simple cron job on the Stackage build server that triggers
55+each of the above builds every 30 minutes.
56+
57+## stackage-curator
58+
59+The heart of running Stackage builds is the
60+[stackage-curator](https://github.com/fpco/stackage-curator) tool. We run this
61+on a daily basis on the Stackage build server for Stackage Nightly, and on a
62+weekly basis for LTS Haskell. The build process is [highly
63+automated](https://github.com/fpco/stackage/blob/master/automated/build.sh) and
64+leverages Docker quite a bit.
65+
66+stackage-curator needs to know about the most recent versions of all packages,
67+their tarball contents, and some metadata, all of which it gets from the
68+Travis-generated sources mentioned in the previous section. In addition, it
69+needs to know about build constraints, which can come from one of two places:
70+
71+* When doing an LTS Haskell minor version bump (e.g., building lts-5.13), it
72+ grabs the previous version (e.g., lts-5.12) and converts the previous package
73+ set into constraints. For example, if lts-5.12 contains the package foo-5.6.7,
74+ this will be converted into the constraint `foo >= 5.6.7 && < 5.7`.
75+* When doing a Stackage Nightly build or LTS Haskell major version bump (e.g.,
76+ building lts-6.0), it grabs the latest version of the build-constraints.yaml
77+ file.
78+
79+By combining these constraints with the current package data, stackage-curator
80+can generate a build plan and check it. (As an aside, this build plan
81+generation and checking also occurs every time you make a pull request to the
82+stackage repo.) If there are version bounds problems, one of the [Stackage
83+curators](https://github.com/fpco/stackage/blob/master/CURATORS.md) will open
84+up a Github issue and will add upper bounds, temporarily block a package, or
85+some other corrective action.
86+
87+Once a valid build plan is found, stackage-curator will build all packages,
88+build docs, and run test suites. Assuming that all succeeds, it generates some
89+artifacts:
90+
91+* Uploads the build plan as a YAML file to either
92+ [stackage-nightly](https://github.com/fpco/stackage-nightly) or
93+ [lts-haskell](https://github.com/fpco/lts-haskell)
94+* Uploads the generated Haddock docs and a package index (containing all used
95+ .cabal files) to haddock.stackage.org.
96+
97+## stackage-server-cron
98+
99+On the Stackage build server, we run the [stackage-server-cron
100+executable](https://github.com/fpco/stackage-server/blob/master/app/stackage-server-cron.hs)
101+regularly, which generates:
102+
103+* A [SQLite
104+ database](https://github.com/fpco/stackage-server/blob/master/Stackage/Database.hs)
105+ containing information on snapshots, the packages they contain, Hackage
106+ metadata about packages, and a bit more. This database is uploaded to S3.
107+* A Hoogle database for each snapshot, which is also uploaded to S3
108+
109+## stackage-server
110+
111+The [software running stackage.org](https://github.com/fpco/stackage-server) is
112+a relatively simple Yesod web application. It pulls data from the
113+stackage-content repo, the SQLite database, the Hoogle databases, and the build
114+plans for Stackage Nightly and LTS Haskell. It doesn't generate anything
115+important of its own except for a user interface.
116+
117+## Stack
118+
119+[Stack](http://haskellstack.com) takes advantage of many of the pieces listed above as well:
120+
121+* It by default uses the all-cabal-hashes repo for getting package metadata,
122+ and downloads package contents from the hackage.fpcomplete.com mirror (using
123+ the hashes in the repo for verification)
124+* There are some metadata files in stackage-content which contain information
125+ on, for example, where to download GHC tarballs from to make `stack setup`
126+ work
127+* Stack downloads the raw build plans for Stackage Nightly and LTS Haskell from
128+ the Github repo and uses them when deciding which packages to build for a
129+ given stack.yaml file
Dockerfile+3−18
@@ -1,23 +1,8 @@
1−FROM ubuntu:14.04
1+FROM fpco/pid1:16.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/8.0.1/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.1 ghc-7.10.1-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.1/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
8+RUN /tmp/debian-bootstrap.sh && rm /tmp/debian-bootstrap.sh
MAINTAINERS.mdnew file+96
@@ -0,0 +1,96 @@
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 (You can find restrictive upper bounds by visiting http://packdeps.haskellers.com/feed?needle=PACKAGENAME).
7+* All packages in a snapshot are compatible with the versions of libraries that ship with the GHC used in the snapshot ([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 any package to Stackage but you may only add packages under your own name. 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+If you want to make sure that the package builds against the newest versions of all dependecies you can do this:
25+```
26+$ cabal update
27+$ ghc --version # Should give v8.0.1
28+$ cabal get PACKAGE-VERSION # e.g. aeson-0.11.2.1
29+$ cd PACKAGE-VERSION
30+$ cabal sandbox init # Should give "Creating a new sandbox" and not "Using an existing sandbox".
31+$ cabal install --enable-tests --enable-benchmarks --dry-run | grep latest # Should give no results
32+$ cabal install --enable-tests --enable-benchmarks --allow-newer
33+$ cabal test
34+```
35+
36+**NB** Please use commit messages like "add foo-bar" or "add johndev's packages"
37+(`build-constraints.yaml` is the most frequently changed file in this git repo
38+so commit messages like "update build-constraints.yaml" are not helpful).
39+
40+**NB2** There can be a delay of up to an hour before package versions
41+newly uploaded to Hackage appear to our build server. If you just
42+uploaded a package to Hackage that you're trying to get included, we
43+recommend waiting an hour before opening the PR. You can verify this
44+by making sure the latest version is listed at
45+https://github.com/commercialhaskell/all-cabal-metadata/tree/master/packages/.
46+
47+## Uploading a new package
48+
49+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.
50+
51+If the new version doesn't compile then the package author should quickly (within 1 week) upload a fixed version.
52+
53+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.
54+
55+
56+## Following dependency upgrades
57+
58+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.
59+
60+**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.
61+
62+**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.
63+
64+
65+## Failing to meet the time limits
66+
67+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.
68+
69+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.
70+
71+## Upgrading to a new GHC version
72+
73+The Stackage curation team tries to move Stackage Nightly to new versions of GHC quickly as they become available, while keeping LTS Haskell on a regular release schedule. For package maintainers, the most important impacts of a new GHC release are:
74+
75+* We will typically do a sweep through the Stackage upper bounds and aggressively remove packages that block them. This is because, in most cases, we will need to move to the newest versions of a package to get support for the latest GHC, and asking package maintainers to backport their fixes is an undue burden
76+ * We will definitely do this at a GHC major version release, and may do so at a minor version release
77+* Packages that are incompatible with the newest GHC version will be temporarily blocked
78+
79+If your package ends up being temporarily removed from Stackage Nightly, please simply send a pull request to add it back once it and its dependencies are compatible with the newest GHC version.
80+
81+## Adding a package to an LTS snapshot
82+
83+The steps above affect the Stackage Nightly builds, but do not directly affect
84+LTS Haskell builds. When we build a new LTS Haskell major version (anything
85+ending in `.0`), the package set is taken from Stackage Nightly. Therefore, by
86+following the above steps, you can get your package into the next major LTS
87+Haskell release.
88+
89+If you would like to get your package added to an existing LTS Haskell major
90+release (e.g., if `lts-3.21` is out, you would want your package to appear in
91+`lts-3.22`), please do the following in addition to the steps above:
92+
93+* Open up a new issue on the [lts-haskell repo](https://github.com/fpco/lts-haskell/issues/new)
94+* Specify the LTS major version you would like your package to go into (e.g., lts-3)
95+* Provide a list of packages you would like added, and if relevant, any upper bounds on those packages
96+* 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+39−74
@@ -3,11 +3,33 @@ stackage
33
44[![Build Status](https://travis-ci.org/fpco/stackage.svg?branch=master)](https://travis-ci.org/fpco/stackage)
55
6−"Stable Hackage," tools for creating a vetted set of packages from Hackage.
6+"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 to get their code 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 (You can find restrictive upper bounds by visiting http://packdeps.haskellers.com/feed?needle=PACKAGENAME).
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 and test a package can be found in the [maintainers agreement](https://github.com/fpco/stackage/blob/master/MAINTAINERS.md#adding-a-package).
25+
26+__NOTE__: There is an approximate 30 minute delay between a package uploading
27+to Hackage and being available to the Travis build script to check upper
28+bounds. If a pull request is marked as failed due to using an older version,
29+please close and reopen the PR to retrigger a Travis build.
30+
31+Other repos
32+-----------
1133
1234The Stackage project consists of multiple repositories. This repository
1335contains the metadata on packages to be included in future builds and some
@@ -18,87 +40,30 @@ project information. In addition, we have the following repositories:
1840* [stackage-types](https://github.com/fpco/stackage-types) [![Build Status](https://travis-ci.org/fpco/stackage-types.svg?branch=master)](https://travis-ci.org/fpco/stackage-types)
1941* [lts-haskell](https://github.com/fpco/lts-haskell)
2042* [stackage-nightly](https://github.com/fpco/stackage-nightly)
43+
44+We also support some add-on tools to cabal-install to make its usage with
45+Stackage both easier and more secure:
46+
2147* [stackage-cli](https://github.com/fpco/stackage-cli) [![Build Status](https://travis-ci.org/fpco/stackage-cli.svg?branch=master)](https://travis-ci.org/fpco/stackage-cli)
2248* [stackage-update](https://github.com/fpco/stackage-update) [![Build Status](https://travis-ci.org/fpco/stackage-update.svg?branch=master)](https://travis-ci.org/fpco/stackage-update)
2349* [stackage-upload](https://github.com/fpco/stackage-upload) [![Build Status](https://travis-ci.org/fpco/stackage-upload.svg?branch=master)](https://travis-ci.org/fpco/stackage-upload)
2450* [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)
2551* [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)
2652
27−Get your package included
28−-------------------------
29−
30−In order to get your package included in the set of stable packages, you should
31−send a pull request against this repository. In the [`build-constraints.yaml`](https://github.com/fpco/stackage/blob/master/build-constraints.yaml) file,
32−there's a section called `packages`. In general, to add a set of
33−packages, you would add:
34−
35− "My Name myemail@example.com @mygithubuser":
36− - package1
37− - package2
38− - package3
39−
40−You can follow the examples of the other sets of packages in that function.
41−Once you've done this, you can send a pull request to get your package
42−included.
43−
44−__NOTE__: In order to ease the process of adding new packages, we no longer
45−require new submissions to be tested on your own system before sending a pull
46−request. If you believe your package works with the newest versions of all
47−dependencies, you may send a pull request without testing first.
53+Curious how it all fits together? See the [Stackage data
54+flow](https://github.com/fpco/stackage/blob/master/DATA-FLOW.md).
4855
49−You should also read the [maintainers
50−agreement](https://github.com/fpco/stackage/wiki/Maintainers-Agreement).
51−
52−Package Author Guidelines
53−-------------------------
54−
55−There are some basic rules to get your package to play nice with Stackage. Here
56−are some quick guidelines to hopefully make this easier:
57−
58−* Make sure that your code is buildability and testable from Hackage. Often
59− times, authors test their builds locally, but the tarball that gets uploaded
60− to Hackage is missing some necessary files. The best way to do this is to
61− set up a Travis job to do it for you. We recommend the
62− [multi-ghc-travis](https://github.com/hvr/multi-ghc-travis) approach.
63−* Make your code compatible with the newest versions of all dependencies.
64−* 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)).
65−
66−There are certainly many other tips that could be added here. If you think of
67−any, please send a pull request!
6856
6957Build the package set
7058---------------------
7159
72−Generally, building the package set should be done only by the Jenkins machine
73−or by the official maintainers, as the process does require quite a bit of
74−setup on the local machine. That said, you'll likely be able to get a stable
75−build by running:
76−
77− cabal update
78− cabal install stackage
79− stackage nightly
80−
81−### Docker
82−
83−Note: This method has been disabled for now, but may be enabled again in the future.
84−
85−If you'd like to check a build plan, or perform an entire build, without
86−specially configuring your system, Docker may be a good approach. To check if
87−some modifications to `build-constraints.yaml` are valid, try the following:
88−
89−1. Create a local clone of the `stackage` repo
90−2. Make modifications to your local `build-constraints.yaml`
91−3. Inside the `stackage` working directory, run the following:
92−
93− ```
94− $ docker run -it --rm -v $(pwd):/stackage -w /stackage snoyberg/stackage /bin/bash -c 'cabal update && stackage check'
95− ```
96−
97−Similarly, if you'd like to perform an entire build, you can replace the last step with:
98−
99−```
100−$ docker run -it --rm -v $(pwd):/stackage -w /stackage snoyberg/stackage /bin/bash -c 'cabal update && stackage nightly --skip-upload'
101−```
60+Generally only the stackage build server run by the stackage curator
61+team and people intrested in incorporating stackage snapshots into an
62+OS distribution need to build the entire package set. If you're
63+interested in trying this yourself, please check out
64+[the curator guide](https://github.com/fpco/stackage/blob/master/CURATORS.md),
65+though be aware that this is not a recommended practice and there
66+likely will be problems you will need to debug yourself.
10267
10368## Processing
10469
automated/.gitignore+2
@@ -8,3 +8,5 @@
88/lts-*/
99/stackage-curator/
1010/stackage-update/
11+/aws.sh
12+/crondir/
automated/build.sh+76−17
@@ -1,34 +1,43 @@
11#!/usr/bin/env bash
22
3−set -eux
3+set -eu +x
44
55ROOT=$(cd $(dirname $0) ; pwd)
66TARGET=$1
7−TAG=$(echo $TARGET | cut -d- -f 1)
8−IMAGE=snoyberg/stackage:$TAG
97
10−if [ "$TAG" = "nightly" ]
8+source aws.sh
9+
10+# For nightly-YYYY-MM-DD, tag should be nightly
11+# For lts-X.Y, tag should be ltsX
12+SHORTNAME=$(echo $TARGET | cut -d- -f 1)
13+if [ $SHORTNAME = "lts" ]
1114then
12− TROOT=$ROOT/nightly
15+ TAG=$(echo $TARGET | sed 's@^lts-\([0-9]*\)\.[0-9]*@lts\1@')
1316else
14− TROOT=$ROOT/$(echo $TARGET | cut -d. -f 1)
17+ TAG=$SHORTNAME
1518fi
1619
20+IMAGE=snoyberg/stackage:$TAG
21+
1722PLAN_FILE=current-plan.yaml
1823DOCMAP_FILE=current-docmap.yaml
1924BUNDLE_FILE=current.bundle
2025
2126CABAL_DIR=$ROOT/cabal
27+STACK_DIR=$ROOT/stack
2228GHC_DIR=$ROOT/ghc
2329DOT_STACKAGE_DIR=$ROOT/dot-stackage
24−WORKDIR=$TROOT/work
25−SSH_DIR=$ROOT/ssh-$(echo $TARGET | cut -d- -f 1)
30+WORKDIR=$ROOT/$TAG/work
31+EXTRA_BIN_DIR=$ROOT/extra-bin
32+SSH_DIR=$ROOT/ssh-$SHORTNAME
2633
2734mkdir -p \
2835 "$CABAL_DIR" \
36+ "$STACK_DIR" \
2937 "$GHC_DIR" \
3038 "$DOT_STACKAGE_DIR" \
3139 "$WORKDIR" \
40+ "$EXTRA_BIN_DIR" \
3241 "$SSH_DIR"
3342
3443GITCONFIG=$ROOT/gitconfig
@@ -68,15 +77,65 @@ rm -f stackage-curator stackage-curator.bz2
6877wget https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2
6978bunzip2 stackage-curator.bz2
7079chmod +x stackage-curator
80+./stackage-curator --version
7181)
7282
73−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"
74−ARGS_PREBUILD="$ARGS_COMMON -v $CABAL_DIR:/home/stackage/.cabal -v $GHC_DIR:/home/stackage/.ghc -v $DOT_STACKAGE_DIR:/home/stackage/.stackage"
75−ARGS_BUILD="$ARGS_COMMON -v $CABAL_DIR:/home/stackage/.cabal:ro -v $GHC_DIR:/home/stackage/.ghc:ro"
76−ARGS_UPLOAD="$ARGS_COMMON -e AWS_ACCESS_KEY=$AWS_ACCESS_KEY -e AWS_SECRET_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"
83+ARGS_COMMON="--rm -v $WORKDIR:$HOME/work -w $HOME/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/stack:/usr/bin/stack:ro"
84+ARGS_PREBUILD="$ARGS_COMMON -u $USER -e HOME=$HOME -v $CABAL_DIR:$HOME/.cabal -v $STACK_DIR:$HOME/.stack -v $GHC_DIR:$HOME/.ghc -v $DOT_STACKAGE_DIR:$HOME/.stackage"
85+ARGS_BUILD="$ARGS_COMMON -v $CABAL_DIR:$HOME/.cabal:ro -v $STACK_DIR:$HOME/.stack:ro -v $GHC_DIR:$HOME/.ghc:ro"
86+ARGS_UPLOAD="$ARGS_COMMON -u $USER -e HOME=$HOME -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY -v $AUTH_TOKEN:/auth-token:ro -v $HACKAGE_CREDS:/hackage-creds:ro -v $DOT_STACKAGE_DIR:$HOME/.stackage -v $SSH_DIR:$HOME/.ssh:ro -v $GITCONFIG:$HOME/.gitconfig:ro -v $CABAL_DIR:$HOME/.cabal:ro -v $STACK_DIR:$HOME/.stack:ro"
87+
88+# Make sure we actually need this snapshot. We only check this for LTS releases
89+# since, for nightlies, we'd like to run builds even if they are unnecessary to
90+# get early warning information of upcoming failures. (See the duplicate check
91+# below for why this is safe.)
92+if [ $SHORTNAME = "lts" ]
93+then
94+ docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "exec stackage-curator check-target-available --target $TARGET"
95+fi
96+
97+# Get latest stack
98+curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C $EXTRA_BIN_DIR '*/stack'
99+
100+# Determine the new build plan unless NOPLAN is set
101+#
102+# * Update the package index (unless LTS)
103+# * Create a new plan
104+if [ "${NOPLAN:-}x" = "x" ]
105+then
106+ if [ $SHORTNAME = "lts" ]
107+ then
108+ docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "exec stackage-curator create-plan --plan-file $PLAN_FILE --target $TARGET ${CONSTRAINTS:-}"
109+ else
110+ docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "stack update && exec stackage-curator create-plan --plan-file $PLAN_FILE --target $TARGET ${CONSTRAINTS:-}"
111+ fi
112+fi
113+
114+# Do the rest of the pre-build actions:
115+#
116+# * Check that the plan is valid
117+# * Fetch all needed tarballs (the build step does not have write access to the tarball directory)
118+# * Do a single unpack to create the package index cache (again due to directory perms)
119+docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "stackage-curator check --plan-file $PLAN_FILE && stackage-curator fetch --plan-file $PLAN_FILE && cd /tmp && exec stack unpack random"
120+
121+# Now do the actual build. We need to first set the owner of the home directory
122+# correctly, so we run the command as root, change owner, and then use sudo to
123+# switch back to the current user
124+docker run $ARGS_BUILD $IMAGE /bin/bash -c "chown $USER $HOME && exec sudo -E -u $USER env \"HOME=$HOME\" \"PATH=\$PATH\" stackage-curator make-bundle --plan-file $PLAN_FILE --docmap-file $DOCMAP_FILE --bundle-file $BUNDLE_FILE --target $TARGET"
125+
126+# Make sure we actually need this snapshot. We used to perform this check
127+# exclusively before building. Now we perform it after as well for the case of
128+# nightly, where we don't perform this check beforehand. This is also slightly
129+# safer, in case someone else already uploaded a specific snapshot while we
130+# were building.
131+docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "exec stackage-curator check-target-available --target $TARGET"
132+
133+# Successful build, so we need to:
134+#
135+# * Upload the docs to S3
136+# * Upload the 00-index.tar file to S3 (TODO: this is probably no longer necessary, since snapshots never modify .cabal files)
137+# * Upload the new plan .yaml file to the appropriate Github repo
138+# * Register as a new Hackage distro
139+docker 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 && exec stackage-curator hackage-distro --plan-file $PLAN_FILE --target $TARGET"
77140
78−# Use cabal update first to initialize ~/.cabal.config, then use stackage-curator update to get it securely
79−docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "stackage-curator check-target-available --target $TARGET"
80−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-install"
81−docker run $ARGS_BUILD $IMAGE stackage-curator make-bundle --plan-file $PLAN_FILE --docmap-file $DOCMAP_FILE --bundle-file $BUNDLE_FILE --target $TARGET
82−docker 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"
141+date
automated/check-cabal.shnew file+72
@@ -0,0 +1,72 @@
1+#!/usr/bin/env bash
2+
3+# This script is intended for testing Cabal HEAD against a Stackage snapshot.
4+
5+set -eux
6+
7+ROOT=$(cd $(dirname $0) ; pwd)
8+TARGET=$1
9+
10+# For nightly-YYYY-MM-DD, tag should be nightly
11+# For lts-X.Y, tag should be ltsX
12+SHORTNAME=$(echo $TARGET | cut -d- -f 1)
13+if [ $SHORTNAME = "lts" ]
14+then
15+ TAG=$(echo $TARGET | sed 's@^lts-\([0-9]*\)\.[0-9]*@lts\1@')
16+ PLAN_URL=https://raw.githubusercontent.com/fpco/lts-haskell/master/$TARGET.yaml
17+else
18+ TAG=$SHORTNAME
19+ PLAN_URL=https://raw.githubusercontent.com/fpco/stackage-nightly/master/$TARGET.yaml
20+fi
21+
22+IMAGE=snoyberg/stackage:$TAG
23+
24+PLAN_FILE=$TARGET-plan.yaml
25+DOCMAP_FILE=$TARGET-docmap.yaml
26+BUNDLE_FILE=$TARGET.bundle=
27+
28+CABAL_DIR=$ROOT/cabal
29+STACK_DIR=$ROOT/stack
30+GHC_DIR=$ROOT/ghc
31+DOT_STACKAGE_DIR=$ROOT/dot-stackage
32+WORKDIR=$ROOT/$TAG/work
33+EXTRA_BIN_DIR=$ROOT/extra-bin
34+
35+mkdir -p \
36+ "$CABAL_DIR" \
37+ "$STACK_DIR" \
38+ "$GHC_DIR" \
39+ "$DOT_STACKAGE_DIR" \
40+ "$WORKDIR" \
41+ "$EXTRA_BIN_DIR"
42+
43+curl "$PLAN_URL" > $WORKDIR/$PLAN_FILE
44+
45+mkdir -p $ROOT/bin
46+BINDIR=$(cd $ROOT/bin ; pwd)
47+(
48+cd $BINDIR
49+rm -f stackage-curator stackage-curator.bz2
50+wget https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2
51+bunzip2 stackage-curator.bz2
52+chmod +x stackage-curator
53+)
54+
55+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"
56+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"
57+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"
58+
59+# Get latest stack
60+curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C $EXTRA_BIN_DIR '*/stack'
61+
62+# Do all of the pre-build actions:
63+#
64+# * Update the package index
65+# * Fetch all needed tarballs (the build step does not have write access to the tarball directory)
66+# * Do a single unpack to create the package index cache (again due to directory perms)
67+docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "/home/stackage/bin/stack update && stackage-curator fetch --plan-file $PLAN_FILE && cd /tmp && /home/stackage/bin/stack unpack random"
68+
69+# Now do the actual build. We need to first set the owner of the home directory
70+# correctly, so we run the command as root, change owner, and then use sudo to
71+# switch back to the current user
72+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 --cabal-from-head"
automated/cron.shnew file+24
@@ -0,0 +1,24 @@
1+#!/usr/bin/env bash
2+
3+set -eux
4+
5+cd "$(dirname "${BASH_SOURCE[0]}")"
6+
7+CRONDIR=$(pwd)/crondir
8+mkdir -p $CRONDIR
9+source aws.sh
10+
11+IMAGE=fpco/stackage-server-prod:latest
12+docker pull $IMAGE
13+
14+stack update
15+
16+date
17+echo "Running stackage-server-cron..."
18+docker run --rm \
19+ -v $CRONDIR:/home/ubuntu \
20+ -v $HOME/.stack/indices:/home/ubuntu/.stack/indices:ro \
21+ --workdir /home/ubuntu \
22+ -p 17834:17834 \
23+ $IMAGE \
24+ bash -c "useradd $(whoami) -u $(id -u); sudo -u $(whoami) env HOME=/home/ubuntu AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY bash -c '/usr/local/bin/stackage-server-cron 2>&1 | tee -a /home/ubuntu/stackage-server-cron.log'"
automated/run-nightly.shnew file+10
@@ -0,0 +1,10 @@
1+#!/usr/bin/env bash
2+
3+cd "$(dirname "${BASH_SOURCE[0]}")"
4+
5+while true; do
6+ ./build.sh nightly-$(date -u +%F)
7+ date
8+ sleep 30m
9+ echo
10+done
build-constraints.yaml+2531−656
@@ -1,7 +1,94 @@
1−ghc-major-version: "7.10"
2−
1+ghc-major-version: "8.0"
32# Constraints for brand new builds
43packages:
4+ "Joe M <joe9mail@gmail.com> @joe9":
5+ - logger-thread
6+ - text-generic-pretty
7+
8+ "Li-yao Xia <lysxia@gmail.com> @Lysxia":
9+ - generic-random
10+ - postgresql-orm < 0
11+
12+ "Tobias Dammers <tdammers@gmail.com> @tdammers":
13+ - ginger
14+
15+ "Yair Chuchem <yairchu@gmail.com> @yairchu":
16+ - List
17+
18+ "Luke Murphy <lukewm@riseup.net> @lwm":
19+ - tasty-discover
20+ - lentil
21+
22+ "Marco Zocca @ocramz":
23+ - sparse-linear-algebra
24+ - network-multicast
25+
26+ "Joseph Canero <jmc41493@gmail.com> @caneroj1":
27+ - sqlite-simple-errors
28+ - median-stream
29+ - stm-supply
30+
31+ "James M.C. Haver II <mchaver@gmail.com> @mchaver":
32+ - quickcheck-arbitrary-adt
33+ - hspec-golden-aeson
34+ - servant-aeson-specs
35+
36+ "Winter Land <winterland1989@gmail.com> @winterland1989":
37+ - if
38+ - tcp-streams
39+ - tcp-streams-openssl
40+ - wire-streams
41+ - binary-parsers
42+ - binary-ieee754
43+ - word24
44+ - mysql-haskell
45+ - mysql-haskell-openssl
46+
47+ "Harendra Kumar <harendra.kumar@gmail.com> @harendra-kumar":
48+ - unicode-transforms
49+
50+ "Aleksey Uimanov <s9gf4ult@gmail.com> @s9gf4ult":
51+ # - postgresql-query # via: derive
52+ - hreader
53+ - hset
54+
55+ "Aaron Taylor <aaron@hamsterdam.co> @hamsterdam":
56+ - kawhi
57+
58+ "Schell Scivally <schell@zyghost.com> @schell":
59+ - renderable
60+ - varying
61+
62+ "Nicolas Mattia <nicolas@nmattia.com> @nmattia":
63+ - makefile
64+
65+ "Michael Litchard <michael@schmong.org> @mlitchard":
66+ - point-octree
67+
68+ "Siddharth Bhat <siddu.druid@gmail.com> @bollu":
69+ - symengine
70+
71+ "alpheccar <misc@alpheccar.org> @alpheccar":
72+ - HPDF
73+ - hbayes
74+
75+ "Dmitry Bogatov <KAction@gnu.org>":
76+ - once
77+
78+ "David Johnson <djohnson.m@gmail.com> @dmjio":
79+ # - envy # bounds: GHC 8
80+ - s3-signer
81+ - google-translate
82+ - hackernews
83+ # - ses-html # bounds: time 1.6
84+ # - stripe-haskell # via: stripe-http-streams
85+ # - stripe-http-streams # via: http-streams
86+ # - stripe-core # bounds: aeson 1.0
87+
88+ "Piotr Mlodawski @pmlodawski":
89+ - signal
90+ # - ghc-session # bounds: GHC 8
91+
592 "Michael Snoyman michael@snoyman.com @snoyberg":
693 - bzlib-conduit
794 - cabal-install
@@ -15,23 +102,19 @@ packages:
15102 - markdown
16103 - mime-mail
17104 - mime-mail-ses
18− - monadcryptorandom
19105 - network-conduit-tls
20106 - persistent
21107 - persistent-mysql
22108 - persistent-postgresql
23109 - persistent-sqlite
24110 - persistent-template
25− - random-shuffle
26− - sphinx
111+ - stackage-curator
27112 - stm-conduit
28113 - wai-websockets
29114 - warp-tls
30115 - yackage
31116 - yesod
32117 - yesod-auth
33− - yesod-auth-oauth
34− - yesod-auth-deskcom
35118 - authenticate-oauth
36119 - yesod-bin
37120 - yesod-eventsource
@@ -42,125 +125,73 @@ packages:
42125 - yesod-static
43126 - yesod-test
44127 - yesod-websockets
45− - repa
46− - repa-io
47− - repa-algorithms
48− - repa-devil
49− #- JuicyPixels-repa GHC 7.10
50128 - cereal-conduit
51129 - binary-conduit
52130 - lzma-conduit
53131 - mutable-containers
54132 - hpc-coveralls
55133 - monad-unlift
134+ - monad-unlift-ref
135+ - yaml
136+ - servius
137+ - cryptonite-conduit
56138
57− "FP Complete michael@fpcomplete.com @snoyberg":
58139 - alex
59140 - async
60− - aws
61141 - base16-bytestring
62142 - c2hs
63− - cairo
64143 - cassava
65− - Chart
66−
67− # https://github.com/fpco/stackage/issues/541
68− # - Chart-diagrams
69−
70− - compdata
71− - configurator
72− - convertible
73144 - csv-conduit
74− - diagrams-cairo
75− - dimensional
76145 - executable-hash
77146 - executable-path
78− - fgl
79− - fixed-list
80147 - foreign-store
81148 - formatting
82− #- fpco-api
83149 - gtk2hs-buildtools
84150 - happy
85− - histogram-fill
86− - hmatrix
87− - hmatrix-gsl
88− - hxt
89− - hxt-relaxng
90− # https://github.com/ekmett/hybrid-vectors/issues/1
91− # - hybrid-vectors GHC 7.10
151+ - hybrid-vectors
92152 - indents
93153 - language-c
94154 - lhs2tex
95− - persistent-mongoDB
155+ # - persistent-mongoDB # bounds: http-api-data
96156 - pretty-class
97− - quandl-api
98− - random-fu
99− - random-source
100− - shelly
101− - smtLib
102− - stackage
103− # Temporary block while system-filepath issues worked out
104− # - stackage-curator
105− - stackage-types
106− - stackage-update
107− - stackage-upload
108− - stackage-cli
109− - stackage-install
110− - stackage-build-plan
111− - stackage-cabal
112− - stackage-sandbox
113− - stackage-setup
114− - stackage-metadata
115− - statistics-linreg
116157 - th-expand-syns
117− - thyme
118− # https://github.com/kallisti-dev/hs-webdriver/issues/71
119− # - webdriver
120− - web-fpco
121− - criterion
122158 - th-lift
123− - singletons
124− - th-desugar
125159 - quickcheck-assertions
126160
127− # Cloud Haskell not yet updated to GHC 7.10
128− #- distributed-process-simplelocalnet
129− # cloud-haskell
130− #- rank1dynamic
131− #- distributed-static
132− - network-transport
133− #- distributed-process
134− #- distributed-process-extras
135− #- distributed-process-async
136− #- distributed-process-client-server
137− #- distributed-process-supervisor
138− #- distributed-process-task
139− #- distributed-process-execution
140−
141− - kure
142−
143− - ide-backend
144− - ide-backend-server
145− - ide-backend-rts
146−
147− - hackage-mirror
161+ # - hackage-mirror # via: aws
148162 - wai-middleware-consul
149163 - wai-middleware-crowd
150164 - monad-logger-json
165+ - safe-exceptions
151166 - monad-logger-syslog
167+ - fsnotify-conduit
168+ - pid1
169+ - typed-process
170+ - say
152171
153− "Omari Norman <omari@smileystation.com>":
172+ - fsnotify
173+ - hinotify
174+ - hfsevents
175+ - Win32-notify
176+
177+ "Omari Norman <omari@smileystation.com> @massysett":
154178 - rainbow
179+ - rainbox
180+ - anonymous-sums
155181 - multiarg
156182 - prednote
157183 - cartel
158−
159− "Neil Mitchell":
184+ - Earley
185+ - ofx
186+ - pinchot
187+ - accuerr
188+ - timelens
189+ - non-empty-sequence
190+
191+ "Neil Mitchell @ndmitchell":
160192 - hlint
161193 - hoogle
162194 - shake
163− - derive
164195 - tagsoup
165196 - cmdargs
166197 - safe
@@ -171,38 +202,66 @@ packages:
171202 - extra
172203 - bake
173204 - ghcid
205+ - pugixml
206+ - hexml
174207
175− "Alan Zimmerman":
208+ "Alan Zimmerman @alanz":
176209 - hjsmin
177210 - language-javascript
211+ - Strafunski-StrategyLib
212+ # - HaRe # via: cabal-helper, ghc-mod, rosezipper
178213
179− "Alfredo Di Napoli <alfredo.dinapoli@gmail.com>":
214+ "Alfredo Di Napoli <alfredo.dinapoli@gmail.com> @adinapoli":
180215 - mandrill
181216
182− "Jasper Van der Jeugt":
217+ "Jon Schoning <jonschoning@gmail.com> @jonschoning":
218+ - pinboard
219+
220+ "Jasper Van der Jeugt @jaspervdj":
183221 - blaze-html
184222 - blaze-markup
223+ - cabal-dependency-licenses
185224 - hakyll
186225 - stylish-haskell
226+ - patat
227+ - profiteur
187228 - psqueues
188229 - websockets
230+ - websockets-snap
231+
232+ "Sibi Prabakaran <sibi@psibi.in> @psibi":
233+ - download
234+ - textlocal
235+
236+ "haskell-openal":
237+ - OpenAL
238+ - ALUT
239+
240+ "haskell-opengl":
241+ - OpenGL
242+ - GLURaw
243+ - GLUT
244+ - OpenGLRaw
245+ - StateVar
246+ - ObjectName
189247
190− "Antoine Latter":
248+ "Antoine Latter @aslatter":
191249 - byteorder
192250 - uuid
193251
194− "Philipp Middendorf <pmidden@secure.mailbox.org>":
252+ "Philipp Middendorf <pmidden@secure.mailbox.org> @pmiddend":
195253 - clock
196254
197− "Stefan Wehr <wehr@factisresearch.com>":
255+ "Stefan Wehr <wehr@factisresearch.com> @skogsbaer":
198256 - HTF
199257 - xmlgen
200258 - stm-stats
259+ - large-hashable
201260
202− "Bart Massey <bart.massey+stackage@gmail.com>":
261+ "Bart Massey <bart.massey+stackage@gmail.com> @BartMassey":
203262 - parseargs
204263
205− "Vincent Hanquez":
264+ "Vincent Hanquez @vincenthz":
206265 - bytedump
207266 - cipher-aes
208267 - cipher-rc4
@@ -226,8 +285,9 @@ packages:
226285 - vhd
227286 - xenstore
228287
229− "Chris Done":
288+ "Chris Done @chrisdone":
230289 - ace
290+ - ical
231291 - check-email
232292 - freenect
233293 - frisby
@@ -237,49 +297,50 @@ packages:
237297 - lucid
238298 - osdkeys
239299 - pdfinfo
240− #- present GHC 7.10, via atto-lisp
300+ # - present # compilation failure against haskell-src-exts
241301 - pure-io
242− # https://github.com/jgoerzen/testpack/issues/11
243− #- scrobble GHC 7.10, for QuickCheck 2.8 via testpack
302+ # - scrobble # compilation errors against time 1.6
244303 - shell-conduit
245304 - sourcemap
246305 - hindent
247306 - descriptive
248307 - wrap
249308 - path
250− # requires old haddock currently - haskell-docs
251− # TODO: Add structured-haskell-mode once they've been ported to HSE 1.16.
309+ - intero
310+ - weigh
311+ - haskell-docs
312+ # - structured-haskell-mode # bounds: haskell-src-exts # via: applicative-quoters
252313
253− "Alberto G. Corona <agocorona@gmail.com>":
314+ "Alberto G. Corona <agocorona@gmail.com> @agocorona":
254315 - RefSerialize
255316 - TCache
256317 - Workflow
257− # https://github.com/agocorona/MFlow/issues/60 GHC 7.10
258− # - MFlow
318+ - MFlow
319+ - transient
320+ - transient-universe
321+ - ghcjs-hplay
259322
260− "Edward Kmett <ekmett@gmail.com>":
323+ "Edward Kmett <ekmett@gmail.com> @ekmett":
261324 - ad
262325 - adjunctions
263− - approximate
326+ # - approximate # bounds: binary, comonad, pointed
264327 - bifunctors
265328 - bits
266− - bound
329+ # - bound # bounds: binary, comonad, doctest, transformers, vector
267330 - bytes
268331 - charset
269− - comonad > 4.2.7 || < 4.2.7
332+ - comonad
270333 - comonads-fd
271334 - comonad-transformers
272− # https://github.com/ekmett/compensated/issues/5
273− #- compensated GHC 7.10
274− - compressed
335+ # - compensated # bounds: binary, comonad, generic-deriving, safecopy
336+ # - compressed # bounds: comonad, pointed
275337 - concurrent-supply
276338 - constraints
277339 - contravariant
278340 - distributive
279341 - either
280342 - eq
281− # https://github.com/ekmett/ersatz/issues/11 GHC 7.10
282− # - ersatz
343+ - ersatz
283344 - exceptions
284345 - free
285346 - graphs
@@ -298,8 +359,7 @@ packages:
298359 - monadic-arrays
299360 - monad-products
300361 - monad-products
301− - monad-st
302− - monad-st
362+ # - monad-st # bounds: transformers
303363 - mtl
304364 - nats
305365 - numeric-extras
@@ -315,26 +375,26 @@ packages:
315375 - semigroupoids
316376 - semigroups
317377 - speculation
318− # https://github.com/ekmett/streams/issues/11
319− # - streams GHC 7.10
378+ - streams
320379 - tagged
380+ - trifecta
321381 - vector-instances
322382 - void
323383 - wl-pprint-extras
324384 - wl-pprint-terminfo
385+ - zippers
325386 - fixed
326387 - half
327388 - gl
328389 - lens-aeson
329390 - zlib-lens
330− - generic-deriving
331− - hyperloglog
391+ # - hyperloglog # bounds: approximate, binary, comonad
332392
333− "Andrew Farmer <afarmer@ittc.ku.edu>":
393+ "Andrew Farmer <afarmer@ittc.ku.edu> @xich":
334394 - scotty
335395 - wai-middleware-static
336396
337− "Simon Hengel <sol@typeful.net>":
397+ "Simon Hengel <sol@typeful.net> @sol":
338398 - hspec
339399 - hspec-wai
340400 - hspec-wai-json
@@ -343,36 +403,35 @@ packages:
343403 - doctest
344404 - base-compat
345405
346− "Mario Blazevic <blamario@yahoo.com>":
406+ "Mario Blazevic <blamario@yahoo.com> @blamario":
347407 - monad-parallel
348408 - monad-coroutine
349409 - incremental-parser
350410 - monoid-subclasses
351411 - picoparsec
352412
353− "Brent Yorgey <byorgey@gmail.com>":
413+ "Brent Yorgey <byorgey@gmail.com> @byorgey":
354414 - active
355415 - BlogLiterately
356416 - BlogLiterately-diagrams
357417 - diagrams
358−
359− # https://github.com/fpco/stackage/issues/443
360− #- diagrams-builder
361− #- diagrams-haddock
362−
418+ - diagrams-builder
419+ - diagrams-haddock
420+ - diagrams-cairo
363421 - diagrams-contrib
364422 - diagrams-core
423+ - diagrams-gtk
365424 - diagrams-lib
366425 - diagrams-postscript
426+ - diagrams-rasterific
367427 - diagrams-svg
368428 - dual-tree
369429 - force-layout
370430 - haxr
371431 - MonadRandom
372432 - monoid-extras
373− - vector-space-points
374433
375− "Vincent Berthoux <vincent.berthoux@gmail.com>":
434+ "Vincent Berthoux <vincent.berthoux@gmail.com> @Twinside":
376435 - JuicyPixels
377436 - FontyFruity
378437 - Rasterific
@@ -380,27 +439,53 @@ packages:
380439 - rasterific-svg
381440 - asciidiagram
382441
383− "Patrick Brisbin":
442+ "Patrick Brisbin @pbrisbin":
384443 - gravatar
385444
386− "Paul Harper <benekastah@gmail.com>":
387− - yesod-auth-oauth2
388−
389− "Felipe Lessa <felipe.lessa@gmail.com>":
390− - esqueleto
391− - fb
392− - fb-persistent
393− - yesod-fb
394− - yesod-auth-fb
395−
396− "Alexander Altman <alexanderaltman@me.com>":
445+ # "Paul Harper <benekastah@gmail.com> @benekastah":
446+ # - yesod-auth-oauth2 # bounds: aeson-1.0, http-client, load-env
447+
448+ "Felipe Lessa <felipe.lessa@gmail.com> @meteficha":
449+ # - country-codes # bounds: tagsoup
450+ # - esqueleto # bounds: persistent
451+ # - fb # bounds: aeson, http-conduit-2.2, hspec
452+ # - fb-persistent # bounds: persistent # via: fb
453+ # - mangopay # compilation failure against aeson
454+ - nonce
455+ - serversession
456+ - serversession-backend-acid-state
457+ # - serversession-backend-persistent # bounds: persistent, persistent-postgresql, persistent-sqlite
458+ # - serversession-backend-redis # bounds: hedis
459+ # - serversession-frontend-snap # bounds: snap, snap-core
460+ - serversession-frontend-wai
461+ - serversession-frontend-yesod
462+ - thumbnail-plus
463+ # - yesod-auth-account-fork # bounds: persistent
464+ # - yesod-auth-fb # bounds: time, transformers # via fb, via yesod-fb
465+ # - yesod-fb # via fb
466+ # - yesod-mangopay # via mangopay
467+
468+ "Alexander Altman <alexanderaltman@me.com> @pthariensflame":
469+ # Maintaining on behalf of @roelvandijk:
397470 - base-unicode-symbols
398471 - containers-unicode-symbols
472+ # My own packages:
473+ - ChannelT
399474
400− "Trevor L. McDonell <tmcdonell@cse.unsw.edu.au>":
475+ "Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> @tmcdonell":
401476 - accelerate
402477
403− "Dan Burton <danburton.email@gmail.com>":
478+ "Liam O'Connor <liamoc@cse.unsw.edu.au> @liamoc":
479+ # - patches-vector # bounds: QuickCheck, edit-distance-vector, hspec
480+ # - composition-tree # bounds: QuickCheck
481+ # - dixi # bounds: aeson, lens, time, [...]
482+ - latex-formulae-image
483+ # - latex-formulae-pandoc # bounds: pandoc-types
484+ # - latex-formulae-hakyll # bounds: ghc, base
485+ # - agda-snippets # bounds: ghc, base
486+ # - agda-snippets-hakyll # bounds: ghc, base
487+
488+ "Dan Burton <danburton.email@gmail.com> @DanBurton":
404489 - hspec-jenkins
405490 - yesod-gitrev
406491 - basic-prelude
@@ -413,25 +498,43 @@ packages:
413498 - lens-family-th
414499
415500 "Daniel Díaz dhelta.diaz@gmail.com @Daniel-Diaz":
416− - HaTeX
417− - matrix
501+ - bimap-server
418502 - binary-list
503+ - byteset
504+ - Clipboard
505+ - grouped-list
419506 - haskintex
420− - post-mess-age
507+ - HaTeX
508+ - hatex-guide
421509 - include-file
510+ - matrix
511+ - pcre-light
512+ - phantom-state
513+ - post-mess-age
514+ - sorted-list
422515
423− "Gabriel Gonzalez <Gabriel439@gmail.com>":
516+ "Gabriel Gonzalez <Gabriel439@gmail.com> @Gabriel439":
517+ - optparse-generic
424518 - pipes
519+ - pipes-extras
425520 - pipes-parse
426521 - pipes-concurrency
427522 - pipes-safe
428523 - turtle
429524 - foldl
525+ - morte
430526
431− "Chris Allen <cma@bitemyapp.com>":
527+ "Andrew Thaddeus Martin <andrew.thaddeus@gmail.com> @andrewthad":
528+ - yesod-table
529+
530+ "Chris Allen <cma@bitemyapp.com> bitemyapp":
531+ - machines-directory
532+ - machines-io
432533 - bloodhound
433534
434− "Adam Bergmark <adam@bergmark.nl>":
535+ "Adam Bergmark <adam@bergmark.nl> @bergmark":
536+ - HUnit
537+ - aeson
435538 - fay
436539 - fay-base
437540 - fay-dom
@@ -443,117 +546,154 @@ packages:
443546 - time-compat
444547 - through-text
445548
446− "Sebastiaan Visser <haskell@fvisser.nl>":
549+ "Benedict Aas <x@shou.io> @Shou":
550+ - boolean-like
551+ - type-operators
552+
553+ "Sebastiaan Visser <haskell@fvisser.nl> @sebastiaanvisser":
447554 - clay
448555 - fclabels
449556
450− "Rodrigo Setti <rodrigosetti@gmail.com>":
557+ "Robert Klotzner <robert.klotzner@gmx.at> @eskimor":
558+ - purescript-bridge
559+ - servant-purescript
560+ - servant-subscriber
561+
562+ "Rodrigo Setti <rodrigosetti@gmail.com> @rodrigosetti":
451563 - messagepack
452564 - messagepack-rpc
453565
454− "Boris Lykah <lykahb@gmail.com>":
455− - groundhog
456− - groundhog-th
457− - groundhog-sqlite
458− - groundhog-postgresql
459− - groundhog-mysql
566+ # "Boris Lykah <lykahb@gmail.com> @lykahb":
567+ # - groundhog # bounds: transformers
568+ # - groundhog-th # via groundhog
569+ # - groundhog-sqlite # via groundhog
570+ # - groundhog-postgresql # bounds: transformers # via groundhog
571+ # - groundhog-mysql # bounds: transformers # via: groundhog, mysql-simple
460572
461− "Janne Hellsten <jjhellst@gmail.com>":
573+ "Janne Hellsten <jjhellst@gmail.com> @nurpax":
462574 - sqlite-simple
463575
464− "Michal J. Gajda <maintainer@migamake.com>":
576+ "Michal J. Gajda <maintainer@migamake.com> @mgajda":
465577 - iterable
466578 - Octree
467579 - FenwickTree
468580 - hPDB
469581 - hPDB-examples
470−
582+ - homplexity
471583 - wordpass
472− - json-autotype
584+ # - json-autotype # bounds: aeson 1.0, lens
473585 - posix-realtime
474586
475− "Dominic Steinitz <dominic@steinitz.org>":
476− []
477− # - yarr GHC 7.10
587+ "Dom De Re <domdere@domdere.com> @domdere":
588+ - cassava-conduit
589+
590+ "Dominic Steinitz <dominic@steinitz.org> @idontgetoutmuch":
591+ # - yarr # compilation error against fixed-vector https://github.com/leventov/yarr/issues/10
592+ - random-fu
593+
594+ "Ben Gamari <ben@smart-cactus.org> @bgamari":
595+ - vector-fftw
478596
479− "Roman Cheplyaka <roma@ro-che.info>":
597+ "Roman Cheplyaka <roma@ro-che.info> @feuerbach":
480598 - action-permutations
481599 - amqp
482− - curl
483− - haskell-names
484− - haskell-packages
485600 - heredoc
486− - hse-cpp
487601 - immortal
488602 - regex-applicative
489603 - lexer-applicative
490604 - smallcheck
605+ - socket
491606 - tasty
492607 - tasty-golden
493608 - tasty-hunit
494609 - tasty-quickcheck
495610 - tasty-smallcheck
611+ - tasty-html
496612 - time-lens
497613 - timezone-olson
498614 - timezone-series
499615 - traverse-with-class
500616 - tuples-homogenous-h98
501617
502− "George Giorgidze <giorgidze@gmail.com>":
618+ "George Giorgidze <giorgidze@gmail.com> @giorgidze":
503619 - HCodecs
504620 - YampaSynth
505621 - set-monad
506622
507− "Phil Hargett <phil@haphazardhouse.net>":
623+ "Phil Hargett <phil@haphazardhouse.net> @hargettp":
508624 - courier
509625
510− "Aycan iRiCAN <iricanaycan@gmail.com>":
626+ "Aycan iRiCAN <iricanaycan@gmail.com> @aycanirican":
511627 - hdaemonize
512− - hsyslog
513628 - hweblib
514629
515− "Joachim Breitner <mail@joachim-breitner.de>":
630+ "Joachim Breitner <mail@joachim-breitner.de> @nomeata":
516631 - circle-packing
517632 - arbtt
518− # - ghc-heap-view GHC 7.10
633+ - ghc-heap-view
519634 - tttool
520635 - gipeda
521636 - list-fusion-probe
522637 - haskell-spacegoo
638+ - tasty-expected-failure
639+ - RepLib
640+ - unbound
523641
524− "Aditya Bhargava <adit@adit.io":
642+ "Aditya Bhargava <adit@adit.io> @egonSchiele":
525643 - HandsomeSoup
526644
527− "Clint Adams <clint@debian.org>":
528− #- hOpenPGP GHC 7.10, via syb-with-class
645+ "Clint Adams <clint@debian.org> @clinty":
646+ - hOpenPGP
529647 - openpgp-asciiarmor
530− # - MusicBrainz GHC 7.10, time 1.5
648+ - MusicBrainz
531649 - DAV
532− #- hopenpgp-tools GHC 7.10, via syb-with-class
650+ - hopenpgp-tools
651+ - opensource
652+
653+ "Joey Hess <id@joeyh.name> @joeyh":
654+ # - git-annex # bounds: bloomfilter, [...] # via: aws, esqueleto, [...] #
655+ # - github-backup # bounds: github
656+ - Win32-extras
657+ - concurrent-output
658+ - mountpoints
659+ - disk-free-space
533660
534− "Joey Hess <id@joeyh.name>":
535− - git-annex
661+ "Colin Woodbury <colingw@gmail.com> @fosskers":
662+ - microlens-aeson
663+ - versions
664+ - vectortiles
665+ - pipes-random
666+ - repa
667+ - repa-io
668+ - repa-algorithms
669+ # - kanji # bounds: ghc 8, base
536670
537− # https://github.com/fpco/stackage/issues/160
538− "Ketil Malde":
671+ "Ketil Malde @ketil-malde":
539672 - biocore
540673 - biofasta
541674 - biofastq
542− # - biosff GHC 7.10
675+ # - biosff # 0.3.7.1 Compilation failure due to -Werror
543676 - blastxml
544677 - bioace
545− # https://github.com/BioHaskell/biophd/issues/3
546− # - biophd
547− - biopsl # https://github.com/ingolia/SamTools/issues/3 samtools
678+ - biopsl
679+ # samtools # Compilation failure against c2hs https://github.com/ingolia/SamTools/issues/3
548680 - seqloc
549681 - bioalign
550682 - BlastHTTP
551− # The following have out-of-date dependencies currently
552− # biostockholm memexml RNAwolf
553− # , "Biobase BiobaseDotP BiobaseFR3D BiobaseInfernal BiobaseMAF"
554− # , "BiobaseTrainingData BiobaseTurner BiobaseXNA BiobaseVienna"
555− # , "BiobaseTypes BiobaseFasta"
556− # MC-Fold-DP
683+ # Outdated dependencies:
684+ # biostockholm memexml RNAwolf Biobase BiobaseDotP
685+ # BiobaseFR3D BiobaseInfernal BiobaseMAF BiobaseTrainingData
686+ # BiobaseTurner BiobaseXNA BiobaseVienna"
687+ # BiobaseTypes BiobaseFasta MC-Fold-DP
688+
689+ "Florian Eggenhofer <florian.eggenhofer@univie.ac.at> @eggzilla":
690+ - ClustalParser
691+ - EntrezHTTP
692+ - Genbank
693+ - RNAlien
694+ - Taxonomy
695+ # - TaxonomyTools # build failure
696+ - ViennaRNAParser
557697
558698 "Silk <code@silk.co>":
559699 - aeson-utils
@@ -579,37 +719,62 @@ packages:
579719 - tostring
580720 - uri-encode
581721
582− "Simon Michael <simon@joyful.com>":
722+ "Simon Michael <simon@joyful.com> @simonmichael":
723+ - darcs
583724 - hledger
584− - shelltestrunner
725+ - hledger-lib
726+ - hledger-ui
585727 - hledger-web
728+ - hledger-api
729+ # - shelltestrunner # bounds: Diff, HUnit
730+ - quickbench
731+ - regex-compat-tdfa
586732
587− "Mihai Maruseac <mihai.maruseac@gmail.com>":
733+ "Mihai Maruseac <mihai.maruseac@gmail.com> @mihaimaruseac":
588734 - io-manager
589735
590− "Dimitri Sabadie <dimitri.sabadie@gmail.com":
591− # https://github.com/fpco/stackage/pull/461#issuecomment-76914158
592− # - al
736+ "Dimitri Sabadie <dimitri.sabadie@gmail.com> @phaazon":
737+ # - al # FIXME temporary, figure out why it's not working with stackage-build
738+ - event
739+ - hid
740+ - luminance
741+ # - luminance-samples # bounds: base
593742 - monad-journal
743+ # - msi-kb-backlit # bounds: ghc, base
594744 - smoothie
745+ # - tellbot # bounds: bifunctors, http-conduit, tagsoup
746+ - wavefront
747+ - zero
595748
596− "Thomas Schilling <nominolo@googlemail.com>":
749+ "Thomas Schilling <nominolo@googlemail.com> @nominolo":
597750 - ghc-syb-utils
598751
599− "Boris Buliga <d12frosted@icloud.com>":
600− # https://github.com/kazu-yamamoto/ghc-mod/issues/437 GHC 7.10
601− # - ghc-mod
752+ "Boris Buliga <d12frosted@icloud.com> @d12frosted":
602753 - io-choice
603− # https://github.com/d12frosted/CanonicalPath/issues/5
604− # - system-canonicalpath
754+ # - system-canonicalpath # bounds: ghc, base # https://github.com/d12frosted/CanonicalPath/issues/5
605755
606− "Yann Esposito <yann.esposito@gmail.com>":
607− - holy-project
756+ # "Daniel Gröber <dxld@darkboxed.org> @DanielG":
757+ # - ghc-mod # bounds: cabal-helper, extra, haskell-src-exts, optparse-applicative, pipes
758+ # - cabal-helper # bounds: extra 1.5
608759
609− "Paul Rouse <pgr@doynton.org>":
760+ "Yann Esposito <yann.esposito@gmail.com> yogsototh @yogsototh":
761+ - human-readable-duration
762+ - holy-project
763+ - wai-middleware-caching
764+ - wai-middleware-caching-lru
765+ - wai-middleware-caching-redis
766+ # not package maintainer
767+ - ekg
768+ - ekg-json
769+
770+ "Paul Rouse <pgr@doynton.org> @paul-rouse":
771+ - mysql
772+ - mysql-simple
773+ - sphinx
774+ - xmlhtml
610775 - yesod-auth-hashdb
611776
612− "Toralf Wittner <tw@dtex.org>":
777+ "Toralf Wittner <tw@dtex.org> @twittner":
613778 - bytestring-conversion
614779 - cql
615780 - cql-io
@@ -625,25 +790,27 @@ packages:
625790 - djinn-lib
626791 - djinn-ghc
627792
628− "Arash Rouhani <miffoljud@gmail.com>":
629− - yesod-text-markdown
630−
631− "Matvey Aksenov <matvey.aksenov@gmail.com":
793+ "Matvey Aksenov <matvey.aksenov@gmail.com> @supki":
632794 - terminal-size
795+ - envparse
633796
634− "Luis G. Torres <lgtorres42@gmail.com":
797+ "Luis G. Torres <lgtorres42@gmail.com> @giogadi":
635798 - kdt
636799
637− "Emanuel Borsboom <manny@fpcomplete.com>":
800+ "Pavel Krajcevski <krajcevski@gmail.com> @Mokosha":
801+ - netwire
802+ - netwire-input
803+ - netwire-input-glfw
804+
805+ "Emanuel Borsboom <manny@fpcomplete.com> @borsboom":
638806 - BoundedChan
639807 - broadcast-chan
640808 - bytestring-lexing
641809 - bytestring-trie
642810 - data-accessor
643811 - data-accessor-mtl
644− - file-location
812+ # - file-location # bounds: transformers
645813 - fuzzcheck
646− - git-embed
647814 - haddock-api
648815 - here
649816 - hlibgit2
@@ -652,27 +819,26 @@ packages:
652819 - interpolatedstring-perl6
653820 - iproute
654821 - missing-foreign
655− # https://github.com/jgoerzen/testpack/issues/11
656− #- MissingH GHC 7.10, for QuickCheck 2.8 via testpack
822+ - MissingH
657823 - multimap
658824 - parallel-io
659825 - text-binary
660− - wl-pprint-text
661826 - Chart-cairo
662827 - ghc-events
663828 - monad-extras
829+ # - stack < 9.9.9 # bounds: ghc, template-haskell
830+ - optparse-simple
831+ - hpack
664832
665− "Michael Sloan <mgsloan@gmail.com>":
833+ "Michael Sloan <mgsloan@gmail.com> @mgsloan":
666834 - th-orphans
667835 - th-reify-many
668836
669− "Nikita Volkov <nikita.y.volkov@mail.ru>":
837+ "Nikita Volkov <nikita.y.volkov@mail.ru> @nikita-volkov":
670838 - base-prelude
671839 - cases
672840 - focus
673841 - hasql
674− - hasql-backend
675− - hasql-postgres
676842 - list-t
677843 - mtl-prelude
678844 - neat-interpolation
@@ -681,123 +847,178 @@ packages:
681847 - slave-thread
682848 - stm-containers
683849
684− "Iustin Pop <iustin@k1024.org>":
850+ "Iustin Pop <iustin@k1024.org> @iustin":
685851 - prefix-units
686852
687− "Alexander Thiemann <mail@athiemann.net>":
688− - graph-core
689− - reroute
853+ "Alexander Thiemann <mail@athiemann.net> @agrafix":
690854 - Spock
691− - Spock-digestive
855+ - Spock-core
856+ - Spock-api
857+ - Spock-api-server
858+ # - Spock-digestive # via: digestive-functors
692859 - Spock-worker
860+ - graph-core
861+ - hvect
862+ - reroute
693863 - users
694− - users-test
864+ # - users-persistent # via: esqueleto
695865 - users-postgresql-simple
696−
697− "Joey Eremondi <joey@eremondi.com>":
866+ - users-test
867+ - validate-input
868+ - ignore
869+ - elm-bridge
870+ # digestive-bootstrap # via: digestive-functors, digestive-functors-blaze
871+ - blaze-bootstrap
872+ - dataurl
873+ - psql-helpers
874+ - superbuffer
875+ - timespan
876+ - distance
877+
878+ "Joey Eremondi <joey@eremondi.com> @JoeyEremondi":
698879 - aeson-pretty
699880 - digest
700− # See: https://github.com/elm-lang/elm-compiler/commit/e714001a928b3834b62555fc350909c95d380ef4
701− #- elm-build-lib
702− #- elm-compiler
881+ # - elm-build-lib # via: elm-compiler
882+ # - elm-compiler # bounds: aeson, binary, transformers, [...]
703883 - elm-core-sources
704− #- elm-package
884+ # - elm-package # bounds: HTTP, binary # via: elm-compiler, [...]
705885 - language-glsl
706886 - prettyclass
707887 - QuasiText
708888 - union-find
709889 - zip-archive
710890
891+ "Arthur Fayzrakhmanov <heraldhoi@gmail.com> @geraldus":
892+ - yesod-form-richtext
893+ - ghcjs-perch
711894
712− "Arthur Fayzrakhmanov <heraldhoi@gmail.com>":
713− - sodium
895+ "Sebastian Nagel <sebastian.nagel@ncoding.at> @ch1bo":
714896 - hdevtools
715897
716− "Andrey Chudnov <oss@chudnov.com>":
898+ "Andrey Chudnov <oss@chudnov.com> @achudnov":
717899 - language-ecmascript
718900
719− "Tom Ellis <tom-stackage@jaguarpaw.co.uk>":
901+ "Tom Ellis <tom-stackage@jaguarpaw.co.uk> @tomjaguarpaw":
720902 - opaleye
721903 - product-profunctors
722904
723905 "Samplecount stefan@samplecount.com @kaoskorobase":
724906 - shake-language-c
725907
726− "Marcin Mrotek <marcin.jan.mrotek@gmail.com>":
727− - diagrams-hsqml
728− - type-list
729− - vinyl-utils
730−
731− "Marcin Mrotek <marcin.jan.mrotek@gmail.com>":
732− - type-list
733−
734908 "David Turner <dave.c.turner@gmail.com> @davecturner":
735909 - alarmclock
736910 - bank-holidays-england
737911
738− "Haskell Servant jkarni@gmail.com @jkarni":
912+ "Haskell Servant <jkarni@gmail.com>":
739913 - servant
740914 - servant-client
741915 - servant-docs
742− - servant-jquery
916+ - servant-js
743917 - servant-server
918+ - servant-lucid
919+ - servant-blaze
920+ - servant-foreign
921+ - servant-mock
922+ - servant-cassava
744923
745− "Alexandr Ruchkin voidex@live.com @mvoidex":
924+ "Alexandr Ruchkin <voidex@live.com> @mvoidex":
746925 - hdocs
747− # https://github.com/kazu-yamamoto/ghc-mod/issues/437 GHC 7.10
748− # - hsdev
926+ - hformat
927+ - hsdev
928+ - simple-log
929+ - text-region
749930
750− "Aleksey Kliger aleksey@lambdageek.org @lambdageek":
931+ "Aleksey Kliger <aleksey@lambdageek.org> @lambdageek":
751932 - unbound-generics
933+ - indentation-core
934+ - indentation-parsec
752935
753− "Alois Cochard alois.cochard@gmail.com @aloiscochard":
754− - codex
755− - machines-directory
756− - machines-io
936+ "Alois Cochard <alois.cochard@gmail.com> @aloiscochard":
937+ # - codex # bounds: http-client, wreq
938+ - machines-binary
757939 - machines-process
758− # on behalf of Bryan O'Sullivan @bos
759− - wreq
940+ # - sarsi # bound: cryptonite
941+ # on behalf of Bryan O'Sullivan @bos:
942+ # - wreq # bounds: authenticate-oauth, http-client
760943
761− "Andraz Bajt andraz@bajt.me @edofic":
944+ "Andraz Bajt <andraz@bajt.me> @edofic":
762945 - effect-handlers
763946 - koofr-client
764947 - snowflake
765948
766− "Leza M. Lutonda lemol-c@hotmail.com @lemol":
949+ "Leza M. Lutonda <lemol-c@hotmail.com> @lemol":
767950 - HaskellNet
951+ - HaskellNet-SSL
768952
769− "Jens Petersen juhpetersen@gmail.com @juhp":
953+ "Jens Petersen <juhpetersen@gmail.com> @juhp":
770954 - cabal-rpm
955+ - cabal-sort
956+ - hslua
957+ # - idris # bounds: safe
771958
772− "Renzo Carbonara renzocarbonara@gmail.com @k0001":
959+ - cairo
960+ - gio
961+ - glib
962+ - gtk
963+ - gtk3
964+ - gtksourceview3
965+ - pango
966+ - webkitgtk3
967+ - webkitgtk3-javascriptcore
968+
969+ - ghcjs-codemirror
970+ # - ghcjs-dom # via: ghcjs-dom-jsaddle # https://github.com/fpco/stackage/issues/1569
971+ # - jsaddle # via: ret-tf # https://github.com/fpco/stackage/issues/1569
972+ # - leksah-server # bounds: ghc, base
973+ # - ltk # bounds: ghc, base
974+ - vado
975+ # - vcsgui # via: gi-gtk-hs
976+ - vcswrapper
977+
978+ "Renzo Carbonara <renzocarbonara@gmail.com> @k0001":
773979 - network-simple
774− - pipes-aeson
775− - pipes-attoparsec
776− - pipes-binary
777− - pipes-network
778−
779− "Tomas Carnecky":
980+ # - pipes-aeson # bounds: pipes 4.3
981+ # - pipes-attoparsec # bounds: pipes 4.3
982+ # - pipes-binary # bounds: binary, pipes, transformers
983+ # - pipes-network # bounds: pipes 4.3
984+
985+ "Tomas Carnecky @wereHamster":
986+ - avers
987+ - avers-api
988+ - avers-api-docs
989+ - avers-server
990+ - css-syntax
991+ - etcd
992+ - github-types
993+ - github-webhook-handler
994+ - github-webhook-handler-snap
995+ - google-cloud
996+ - kraken
997+ - libinfluxdb
998+ # - mole # bounds: hspec, optparse-applicative
999+ - publicsuffix
7801000 - rethinkdb-client-driver
7811001
782− "Alexandr Kurilin alex@kurilin.net @alex_kurilin":
1002+ "Alexandr Kurilin <alex@kurilin.net> @alex_kurilin":
7831003 - bcrypt
7841004
785− "Jeffrey Rosenbluth jeffrey.rosenbluth@gmail.com":
1005+ "Jeffrey Rosenbluth <jeffrey.rosenbluth@gmail.com> @jeffreyrosenbluth":
7861006 - palette
787− #- diagrams-canvas GHC 7.10, via blank-canvas
1007+ - diagrams-canvas
7881008 - diagrams-rasterific
7891009 - lucid-svg
7901010 - diagrams-html5
7911011 - static-canvas
1012+ - svg-builder
7921013
793− "Gabríel Arthúr Pétursson gabriel@system.is":
1014+ "Gabríel Arthúr Pétursson <gabriel@system.is> @polarina":
7941015 - sdl2
7951016
796− "Leon Mergen leon@solatis.com @solatis":
1017+ "Leon Mergen <leon@solatis.com> @solatis":
7971018 - base32string
7981019 - base58string
799− - bitcoin-api
800− - bitcoin-api-extra
1020+ # - bitcoin-api # via: wreq
1021+ # - bitcoin-api-extra # via: bitcoin-api, wreq
8011022 - bitcoin-block
8021023 - bitcoin-script
8031024 - bitcoin-tx
@@ -807,89 +1028,300 @@ packages:
8071028 - network-anonymous-i2p
8081029 - network-anonymous-tor
8091030
810− "Timothy Jones git@zmthy.io @zmthy":
1031+ "Timothy Jones <git@zmthy.io> @zmthy":
8111032 - http-media
8121033
813− "Greg V greg@unrelenting.technology @myfreeweb":
1034+ "Greg V <greg@unrelenting.technology> @myfreeweb":
8141035 - gitson
8151036 - pcre-heavy
1037+ - http-link-header
1038+ - microformats2-parser
1039+ - hspec-expectations-pretty-diff
8161040
817− "Francesco Mazzoli f@mazzo.li @bitonic":
1041+ "Francesco Mazzoli <f@mazzo.li> @bitonic":
8181042 - language-c-quote
8191043
820− "Sönke Hahn soenkehahn@gmail.com @soenkehahn":
1044+ "Sönke Hahn <soenkehahn@gmail.com> @soenkehahn":
1045+ - generics-eot
8211046 - getopt-generics
8221047 - graph-wrapper
8231048 - string-conversions
8241049
825− "Oleg Grenrus oleg.grenrus@iki.fi @phadej":
1050+ "Jan Stolarek <jan.stolarek@p.lodz.pl> @jstolarek":
1051+ - tasty-program
1052+
1053+ "Oleg Grenrus <oleg.grenrus@iki.fi> @phadej":
1054+ - aeson-compat
1055+ - aeson-extra
1056+ - binary-orphans
1057+ - binary-tagged
8261058 - edit-distance
1059+ - generics-sop-lens
1060+ - github
1061+ - insert-ordered-containers
1062+ - integer-logarithms
1063+ - JuicyPixels-scale-dct
8271064 - lattices
1065+ - monad-http
1066+ - postgresql-simple-url
1067+ - range-set-list
1068+ - regex-applicative-text
1069+ - servant-swagger-ui
1070+ - servant-yaml
1071+ - singleton-bool
1072+ - spdx
1073+ - these
1074+ - time-parsers
8281075 - waitra
8291076
830− "Adam C. Foltzer acfoltzer@galois.com @acfoltzer":
1077+ # scrive/log
1078+ - log
1079+ - log-base
1080+ - log-elasticsearch
1081+ - log-postgres
1082+
1083+ # Not a maintainer
1084+ - arithmoi
1085+ - folds
1086+ - friendly-time
1087+ - hashable
1088+ - haxl
1089+ - monad-time
1090+ - packdeps
1091+ - recursion-schemes
1092+ - unordered-containers
1093+
1094+ - fft
1095+ - carray
1096+ - ix-shapable
1097+ - fft
1098+
1099+ # Regex packages by Chris Kuklewicz
1100+ - regex-base
1101+ - regex-compat
1102+ # - regex-dfa # 0.91 Compilation failure due to -Werror
1103+ # - regex-parsec # 0.90 Compilation failure due to -Werror
1104+ - regex-pcre
1105+ - regex-posix
1106+ - regex-tdfa
1107+ # regex-tdfa-utf8 # bounds: ghc, base
1108+ # - regex-tre # 0.91 Compilation failure due to -Werror
1109+
1110+ # Universe
1111+ - universe
1112+ - universe-base
1113+ - universe-instances-base
1114+ - universe-instances-extended
1115+ - universe-instances-trans
1116+ - universe-reverse-instances
1117+
1118+ "Abhinav Gupta <mail@abhinavg.net> @abhinav":
1119+ - farmhash
1120+ - pinch
1121+ - sandman
1122+ - language-thrift
1123+
1124+ "Adam C. Foltzer <acfoltzer@galois.com> @acfoltzer":
8311125 - cryptol
8321126 - gitrev
8331127 - persistent-refs
8341128
835− "Luke Taylor tekul.hs@gmail.com @tekul":
1129+ "Luke Taylor <tekul.hs@gmail.com> @tekul":
8361130 - jose-jwt
8371131
838− "Brendan Hay brendan.g.hay@gmail.com @brendanhay":
1132+ "Brendan Hay <brendan.g.hay@gmail.com> @brendanhay":
8391133 - amazonka
8401134 - amazonka-core
1135+ - amazonka-test
1136+ - amazonka-apigateway
1137+ - amazonka-application-autoscaling
1138+ - amazonka-appstream
8411139 - amazonka-autoscaling
1140+ - amazonka-budgets
1141+ - amazonka-certificatemanager
8421142 - amazonka-cloudformation
8431143 - amazonka-cloudfront
8441144 - amazonka-cloudhsm
845− - amazonka-cloudsearch-domains
8461145 - amazonka-cloudsearch
1146+ - amazonka-cloudsearch-domains
8471147 - amazonka-cloudtrail
848− - amazonka-cloudwatch-logs
8491148 - amazonka-cloudwatch
1149+ - amazonka-cloudwatch-events
1150+ - amazonka-cloudwatch-logs
1151+ - amazonka-codebuild
1152+ - amazonka-codecommit
8501153 - amazonka-codedeploy
1154+ - amazonka-codepipeline
8511155 - amazonka-cognito-identity
1156+ - amazonka-cognito-idp
8521157 - amazonka-cognito-sync
8531158 - amazonka-config
8541159 - amazonka-datapipeline
1160+ - amazonka-devicefarm
8551161 - amazonka-directconnect
1162+ - amazonka-discovery
1163+ - amazonka-dms
1164+ - amazonka-ds
8561165 - amazonka-dynamodb
1166+ - amazonka-dynamodb-streams
8571167 - amazonka-ec2
1168+ - amazonka-ecr
8581169 - amazonka-ecs
1170+ - amazonka-efs
8591171 - amazonka-elasticache
8601172 - amazonka-elasticbeanstalk
1173+ - amazonka-elasticsearch
8611174 - amazonka-elastictranscoder
8621175 - amazonka-elb
1176+ - amazonka-elbv2
8631177 - amazonka-emr
1178+ - amazonka-gamelift
8641179 - amazonka-glacier
1180+ - amazonka-health
8651181 - amazonka-iam
8661182 - amazonka-importexport
1183+ - amazonka-inspector
1184+ - amazonka-iot
1185+ - amazonka-iot-dataplane
8671186 - amazonka-kinesis
1187+ - amazonka-kinesis-analytics
1188+ - amazonka-kinesis-firehose
8681189 - amazonka-kms
8691190 - amazonka-lambda
1191+ - amazonka-lightsail
1192+ - amazonka-marketplace-analytics
1193+ - amazonka-marketplace-metering
8701194 - amazonka-ml
8711195 - amazonka-opsworks
1196+ - amazonka-opsworks-cm
1197+ - amazonka-pinpoint
1198+ - amazonka-polly
8721199 - amazonka-rds
8731200 - amazonka-redshift
874− - amazonka-route53-domains
1201+ - amazonka-rekognition
8751202 - amazonka-route53
1203+ - amazonka-route53-domains
8761204 - amazonka-s3
8771205 - amazonka-sdb
1206+ - amazonka-servicecatalog
8781207 - amazonka-ses
1208+ - amazonka-shield
1209+ - amazonka-sms
1210+ - amazonka-snowball
8791211 - amazonka-sns
8801212 - amazonka-sqs
8811213 - amazonka-ssm
1214+ - amazonka-stepfunctions
8821215 - amazonka-storagegateway
8831216 - amazonka-sts
8841217 - amazonka-support
8851218 - amazonka-swf
1219+ - amazonka-waf
8861220 - amazonka-workspaces
1221+ - amazonka-xray
1222+ - gogol
1223+ - gogol-core
1224+ - gogol-adexchange-buyer
1225+ - gogol-adexchange-seller
1226+ - gogol-admin-datatransfer
1227+ - gogol-admin-directory
1228+ - gogol-admin-emailmigration
1229+ - gogol-admin-reports
1230+ - gogol-adsense
1231+ - gogol-adsense-host
1232+ - gogol-affiliates
1233+ - gogol-analytics
1234+ - gogol-android-enterprise
1235+ - gogol-android-publisher
1236+ - gogol-appengine
1237+ - gogol-apps-activity
1238+ - gogol-apps-calendar
1239+ - gogol-apps-licensing
1240+ - gogol-apps-reseller
1241+ - gogol-apps-tasks
1242+ - gogol-appstate
1243+ - gogol-autoscaler
1244+ - gogol-bigquery
1245+ - gogol-billing
1246+ - gogol-blogger
1247+ - gogol-books
1248+ - gogol-civicinfo
1249+ - gogol-classroom
1250+ - gogol-cloudmonitoring
1251+ - gogol-cloudtrace
1252+ - gogol-compute
1253+ - gogol-container
1254+ - gogol-customsearch
1255+ - gogol-dataflow
1256+ - gogol-dataproc
1257+ - gogol-datastore
1258+ - gogol-debugger
1259+ - gogol-deploymentmanager
1260+ - gogol-dfareporting
1261+ - gogol-discovery
1262+ - gogol-dns
1263+ - gogol-doubleclick-bids
1264+ - gogol-doubleclick-search
1265+ - gogol-drive
1266+ - gogol-firebase-rules
1267+ - gogol-fitness
1268+ - gogol-fonts
1269+ - gogol-freebasesearch
1270+ - gogol-fusiontables
1271+ - gogol-games
1272+ - gogol-games-configuration
1273+ - gogol-games-management
1274+ - gogol-genomics
1275+ - gogol-gmail
1276+ - gogol-groups-migration
1277+ - gogol-groups-settings
1278+ - gogol-identity-toolkit
1279+ - gogol-kgsearch
1280+ - gogol-latencytest
1281+ - gogol-logging
1282+ - gogol-maps-coordinate
1283+ - gogol-maps-engine
1284+ - gogol-mirror
1285+ - gogol-monitoring
1286+ - gogol-oauth2
1287+ - gogol-pagespeed
1288+ - gogol-partners
1289+ - gogol-people
1290+ - gogol-play-moviespartner
1291+ - gogol-plus
1292+ - gogol-plus-domains
1293+ - gogol-prediction
1294+ - gogol-proximitybeacon
1295+ - gogol-pubsub
1296+ - gogol-qpxexpress
1297+ - gogol-replicapool
1298+ - gogol-replicapool-updater
1299+ - gogol-resourcemanager
1300+ - gogol-resourceviews
1301+ - gogol-script
1302+ - gogol-sheets
1303+ - gogol-shopping-content
1304+ - gogol-siteverification
1305+ - gogol-spectrum
1306+ - gogol-sqladmin
1307+ - gogol-storage
1308+ - gogol-storage-transfer
1309+ - gogol-tagmanager
1310+ - gogol-taskqueue
1311+ - gogol-translate
1312+ - gogol-urlshortener
1313+ - gogol-useraccounts
1314+ - gogol-vision
1315+ - gogol-webmaster-tools
1316+ - gogol-youtube
1317+ - gogol-youtube-analytics
1318+ - gogol-youtube-reporting
8871319 - ede
8881320 - pagerduty
8891321 - semver
8901322 - text-manipulate
8911323
892− "Nick Partridge nkpart@gmail.com @nkpart":
1324+ "Nick Partridge <nkpart@gmail.com> @nkpart":
8931325 - cabal-file-th
8941326
8951327 "Gershom Bazerman <gershomb@gmail.com> @gbaz":
@@ -904,19 +1336,17 @@ packages:
9041336 - maximal-cliques
9051337
9061338 "Alexander Bondarenko <aenor.realm@gmail.com> @wiz":
907− []
908− # GHC 7.10, via iconv
909− #- soap
910− #- soap-tls
911− #- soap-openssl
1339+ - soap
1340+ - soap-tls
1341+ - soap-openssl
9121342
9131343 "Andres Löh <andres@well-typed.com> @kosmikus":
9141344 - generics-sop
9151345
916− "Vivian McPhail <haskell.vivian.mcphail@gmail.com>":
1346+ "Vivian McPhail <haskell.vivian.mcphail@gmail.com> @amcphail":
9171347 - hmatrix-gsl-stats
918− - hstatistics
9191348 - hsignal
1349+ - hstatistics
9201350 - plot
9211351 - plot-gtk
9221352 - plot-gtk3
@@ -924,17 +1354,27 @@ packages:
9241354 - hmatrix-repa
9251355
9261356 "Noam Lewis <jones.noamle@gmail.com> @sinelaw":
927− - xml-to-json
1357+ # - xml-to-json # via: hexpat
9281358 - xml-to-json-fast
929−
930− "Tim Baumann <tim@timbaumann.info> @timjb":
931− - aeson-schema
932−
933− "David Fox <dsf@seereason.com> @ddssff":
934− - debian
935− - cabal-debian
936−
937− "Stefan Saasen <stefan@saasen.me>":
1359+ - digits
1360+ - unification-fd
1361+ - logict
1362+ - resolve-trivial-conflicts
1363+ - wl-pprint
1364+ - leveldb-haskell
1365+ - system-argv0
1366+ - markdown-unlit
1367+
1368+ "Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk> @Fuuzetsu":
1369+ # - aeson-schema # bounds: QuickCheck, aeson # compilation failure for 0.4.1.1
1370+ - H
1371+ - inline-r
1372+
1373+ # "David Fox <dsf@seereason.com> @ddssff":
1374+ # - debian # GHC bug: https://github.com/ddssff/debian-haskell/issues/6
1375+ # - cabal-debian # via: debian
1376+
1377+ "Stefan Saasen <stefan@saasen.me> @juretta":
9381378 - jwt
9391379
9401380 "Sven Bartscher sven.bartscher@weltraumschlangen.de @kritzefitz":
@@ -944,9 +1384,27 @@ packages:
9441384 - cgi
9451385
9461386 "Taylor Fausak <taylor@fausak.me> @tfausak":
1387+ - autoexporter
1388+ - bento
1389+ - bmp # Maintained by @benl23x5.
1390+ - ekg-statsd # Maintained by @tibbe.
9471391 - flow
1392+ - github-release
1393+ - gloss # Maintained by @benl23x5.
1394+ - gloss-rendering # Maintained by @benl23x5.
1395+ - gpolyline # Maintained by @fegu.
1396+ - lackey
1397+ - octane
1398+ - overloaded-records # Maintained by @trskop.
1399+ - ratel
1400+ - ratel-wai
1401+ - rattletrap
1402+ - strive
1403+ - wuss
9481404
9491405 "Marios Titas <redneb@gmx.com> @redneb":
1406+ - HsOpenSSL-x509-system
1407+ - adler32
9501408 - btrfs
9511409 - disk-free-space
9521410 - hxt-css
@@ -955,48 +1413,80 @@ packages:
9551413 - linux-namespaces
9561414
9571415 "Will Coster <willcoster@gmail.com> @fimad":
1416+ - prometheus-client
1417+ - prometheus-metrics-ghc
9581418 - scalpel
1419+ - wai-middleware-prometheus
9591420
960− "Smirnov Alexey <chemistmail@gmail.com> @chemist":
961− - snmp
962− - agentx
1421+ "William Casarin <bill@casarin.me> @jb55":
1422+ - bson-lens
1423+ - cased
1424+ - pipes-csv
1425+ - pipes-mongodb
1426+ - skeletons
1427+ - streaming-wai
1428+
1429+ # "Smirnov Alexey <chemistmail@gmail.com> @chemist":
1430+ # - snmp # bounds: ghc, base
1431+ # - agentx # bounds: ghc, base
9631432
9641433 "David Raymond Christiansen <david@davidchristiansen.dk> @david-christiansen":
9651434 - annotated-wl-pprint
9661435
967− "Yitz Gale gale@sefer.org @ygale":
1436+ "Yitz Gale <gale@sefer.org> @ygale":
9681437 - timezone-series
9691438 - timezone-olson
9701439
971− "Josh Holland josh@inv.alid.pw @jshholland":
1440+ "Josh Holland <josh@inv.alid.pw> @jshholland":
9721441 - sandi
9731442 - data-ordlist
1443+ - xmonad
9741444
9751445 "Harry Garrood <harry@garrood.me> @hdgarrood":
9761446 - aeson-better-errors
9771447
978− "Mitchell Rosen <mitchellwrosen@gmail.com":
1448+ "Mitchell Rosen <mitchellwrosen@gmail.com> @mitchellwrosen":
9791449 - tasty-hspec
9801450
9811451 "Christiaan Baaij <christiaan.baaij@gmail.com> @christiaanb":
9821452 - ghc-tcplugins-extra
1453+ - ghc-typelits-extra
1454+ - ghc-typelits-knownnat
9831455 - ghc-typelits-natnormalise
9841456 - clash-prelude
9851457 - clash-lib
9861458 - clash-vhdl
9871459 - clash-verilog
9881460 - clash-systemverilog
989− - clash-ghc
1461+ # - clash-ghc # bounds: ghc
9901462
9911463 "Athan Clark <athan.clark@gmail.com> @athanclark":
992− - nested-routes
993− - urlpath
1464+ - commutative
1465+ # - digestive-functors-lucid # via: digestive functors
1466+ # - ltext # compilation failure: https://github.com/ltext/ltext/issues/22
9941467 - markup
1468+ # - nested-routes # via: HList
1469+ - path-extra
1470+ # - poly-arity # via HList (sent e-mail to HList maintainer)
1471+ - urlpath
1472+ - wai-transformers
1473+ - wai-middleware-content-type
1474+ - wai-middleware-verbs
9951475 - webpage
9961476 - composition-extra
1477+ - rose-trees
1478+ - sets
1479+ - timemap
1480+ - triesn
1481+ - path-extra
1482+ # - pred-trie # via poly-arity
1483+ - pred-set
1484+ - HSet
9971485
9981486 "Fumiaki Kinoshita <fumiexcel@gmail.com> @fumieval":
1487+ - boundingboxes
9991488 - control-bool
1489+ - extensible
10001490 - monad-skeleton
10011491 - objective
10021492 - witherable
@@ -1005,495 +1495,1739 @@ packages:
10051495 "Peter Harpending <peter@harpending.org> @pharpend":
10061496 - editor-open
10071497 - exceptional
1498+ - optparse-helper
10081499 - pager
1500+ - semiring-simple
10091501
10101502 "Philipp Hausmann <ph_git@314.ch> @phile314":
10111503 - tasty-silver
10121504
10131505 "Michael Thompson <what_is_it_to_do_anything@yahoo.com> @michaelt":
10141506 - pipes-text
1507+ - lens-simple
1508+ - lens-family-core
1509+ - lens-family
1510+ - streaming
1511+ - streaming-bytestring
1512+
10151513
10161514 "Justin Le <justin@jle.im> @mstksg":
10171515 - auto
1516+ - configurator-export
1517+ - hamilton
1518+ - prompt
10181519 - tagged-binary
1520+ - typelits-witnesses
1521+ - uncertain
1522+ - vector-sized
10191523
10201524 "Ian Duncan <ian@iankduncan.com> @iand675":
1021− - datadog
1022− - growler
10231525 - feature-flags
1024− - flowdock
1025− - growler
1026− - engine-io-growler
10271526 - metrics
10281527 - pipes-wai
10291528 - serf
10301529 - uri-templater
10311530 - librato
1531+ # - datadog # bounds: aeson
1532+ # - engine-io-growler # bounds: websockets # via [...]
1533+ # - flowdock # bounds: aeson, http-client, [...]
1534+ # - growler # bounds: pipes, pipes-aeson, transformers
10321535
10331536 "Michael Xavier <michael@michaelxavier.net> @MichaelXavier":
1034− # https://github.com/MichaelXavier/Angel/issues/41
1035− # - angel
1537+ # - angel # https://github.com/MichaelXavier/Angel/issues/52
10361538 - uri-bytestring
1037− # Temporarily blocking again, still debugging build on server
1038− # - phash
1539+ # - phash # Can't build on stackage server https://github.com/MichaelXavier/phash/issues/5
10391540 - cron
1541+ # - tasty-tap # bounds: ghc, base
1542+ # - tasty-fail-fast # via: tasty-tap
1543+ - drifter
1544+ - drifter-postgresql
10401545
10411546 "Lars Kuhtz <lakuhtz@gmail.com> @larskuhtz":
10421547 - wai-cors
1043−
1044− "Sam Rijs <srijs@airpost.net>":
1548+ - configuration-tools
1549+
1550+ "Sam Rijs <srijs@airpost.net> @srijs":
10451551 - ndjson-conduit
1552+ # - attoparsec-trans # bounds: transformers
1553+ - operational-class
1554+ - result
1555+
1556+ "Anupam Jain <ajnsit@gmail.com> @ajnsit":
1557+ - wai-routes
1558+
1559+ "Daniel Patterson <dbp@dbpmail.net> @dbp":
1560+ # - hspec-snap # bounds: hspec, hspec-core # via: digestive-functors
1561+ - hworker
1562+ # - hworker-ses # 0.1.1.0 build failure
1563+ - fn
1564+ # - fn-extra # via: digestive-functors
1565+
1566+ "Chris Wong <lambda.fairy@gmail.com> @lfairy":
1567+ - nationstates
1568+
1569+ "Mathieu Boespflug <mboes@tweag.net> @mboes":
1570+ # - ihaskell-inline-r # via: ihaskell, ihaskell-blaze
1571+ - cassette
1572+ - choice
1573+ - distributed-closure
1574+ - H
1575+ - inline-r
1576+ - jni
1577+ - jvm
1578+ # - sparkle # build failure, requires gradle
1579+ - th-lift
10461580
1047− "Stackage upper bounds":
1048− # https://github.com/fpco/stackage/issues/537
1049− - zlib < 0.6
1581+ "Christopher Reichert <creichert07@gmail.com> @creichert":
1582+ - bencode
1583+ - hsebaysdk
1584+ - dockerfile
1585+ - wai-middleware-throttle
1586+ - yesod-auth-basic
1587+
1588+ # "Alcides Viamontes <a.viamontes.esquivel@gmail.com> @alcidesv":
1589+ # - second-transfer # bounds: GHC 8
1590+
1591+ # "Hirotomo Moriwaki <philopon.dependence@gmail.com> @philopon":
1592+ # - apiary # GHC 8 & bounds
1593+ # - apiary-logger # GHC 8 & bounds
1594+ # - apiary-persistent # GHC 8 & bounds
1595+ # - apiary-websockets # GHC 8 & bounds
1596+ # - apiary-cookie # GHC 8 & bounds
1597+ # - apiary-session # GHC 8 & bounds
1598+ # - apiary-clientsession # GHC 8 & bounds
1599+ # - apiary-authenticate # GHC 8 & bounds
1600+ # - apiary-eventsource # GHC 8 & bounds
1601+ # - apiary-mongoDB # GHC 8 & bounds
1602+ # - apiary-memcached # GHC 8 & bounds
1603+ # - types-compat # GHC 8
1604+ # - web-routing # GHC 8
1605+ # - bytestring-read # GHC 8
1606+ # - memcached-binary # GHC 8 & bounds
1607+ # - barrier # GHC 8
1608+ # - haddocset # GHC 8
1609+
1610+ "Kai Zhang <kai@kzhang.org> @kaizhang":
1611+ - clustering
1612+ - matrices
1613+
1614+ "Michel Boucey <michel.boucey@gmail.com> @MichelBoucey":
1615+ - IPv6Addr
1616+ - ip6addr
1617+ - cayley-client
1618+ - Spintax
1619+ - glabrous
1620+ - google-oauth2-jwt
1621+
1622+ "koral koral@mailoo.org @k0ral":
1623+ - atom-conduit
1624+ - conduit-parse
1625+ - opml-conduit
1626+ - rss-conduit
1627+ - imm
1628+ - timerep
1629+ - xml-conduit-parse
1630+
1631+ "Kostiantyn Rybnikov <k-bx@k-bx.com> @k-bx":
1632+ - protocol-buffers
1633+ # - hprotoc # build failure https://github.com/k-bx/protocol-buffers/issues/45
1634+ - protocol-buffers-descriptor
1635+ - ekg-core
1636+ - digits
1637+ - hbeanstalk
1638+ - iso3166-country-codes
1639+ - iso639
1640+ - murmur-hash
1641+ - monoidal-containers
1642+ - regex-pcre
1643+ - string-combinators
1644+ - string-class
1645+ - SHA
1646+ - data-ordlist
1647+ - hedis
1648+
1649+ "Rob O'Callahan ropoctl@gmail.com @rcallahan":
1650+ # - pipes-fastx # via pipes-attoparsec
1651+ # - pipes-illumina # via: pipes-bgzf
1652+ - seqalign
1653+ - thermonuc
1654+ - xlsior
1655+
1656+ "John Lenz <wuzzeb@gmail.com> @wuzzeb":
1657+ - yesod-auth-account
1658+ - yesod-static-angular
1659+ - hspec-webdriver
1660+ - webdriver-angular
1661+
1662+ "Sven Heyll <svh@posteo.de> @sheyll":
1663+ - b9
1664+ - type-spec
1665+ - pretty-types
1666+
1667+ # "Will Thompson <will@willthompson.co.uk> @wjt":
1668+ # - bustle # build failure against haskell-src-exts https://github.com/vasylp/hgettext/issues/10
1669+
1670+ "Jakub Fijałkowski <kuba@codinginfinity.me> @jakubfijalkowski":
1671+ - hlibsass
1672+ - hsass
1673+
1674+ "Robert Massaioli <robertmassaioli@gmail.com> @robertmassaioli":
1675+ - range
1676+
1677+ "Index Int <vlad.z.4096@gmail.com> @int-index":
1678+ - transformers-lift
1679+ - ether
1680+ - union
1681+
1682+ "Stack Builders stackage@stackbuilders.com @stackbuilders":
1683+ - atomic-write
1684+ - hapistrano
1685+ - inflections
1686+ - twitter-feed
1687+ - cassava-megaparsec
1688+ - dotenv
1689+ - stache
1690+
1691+ "Sergey Alirzaev <zl29ah@gmail.com> @l29ah":
1692+ - monad-peel
1693+ - NineP
1694+ - Network-NineP
1695+
1696+ "Oliver Charles <ollie@ocharles.org.uk> @ocharles":
1697+ # - engine-io # bounds: aeson, websockets
1698+ - diff3
1699+ # - digestive-functors-aeson # bounds: aeson, lens # via: digestive-functors
1700+ - exhaustive
1701+ - libsystemd-journal
1702+ - network-carbon
1703+ # - socket-io # bounds: aeson, via: engine-io
1704+ - tasty-rerun
1705+ - logging-effect
1706+
1707+ "Antoni Silvestre <antoni.silvestre@gmail.com> @asilvestre":
1708+ # Test suite needs a running neo4j server with auth disabled
1709+ # unfortunately the cabal package name and the github repo don't have the exact same name
1710+ # package name is haskell-neo4j-client github name is haskell-neo4j-rest-client
1711+ - haskell-neo4j-client
1712+
1713+ "Alexey Khudyakov <alexey.skladnoy@gmail.com> @Shimuuar":
1714+ - histogram-fill
1715+ - fixed-vector
1716+ - fixed-vector-hetero
1717+ - type-level-numbers
1718+
1719+ "Ryan Scott <ryan.gl.scott@gmail.com> @RyanGlScott":
1720+ - base-orphans
1721+ - code-page
1722+ - deriving-compat
1723+ - echo
1724+ - generic-deriving
1725+ - hashmap
1726+ - invariant
1727+ - keycode
1728+ - lift-generics
1729+ - mtl-compat
1730+ - proxied
1731+ - text-show
1732+ - text-show-instances
1733+
1734+ "Kirill Zaborsky <qrilka@gmail.com> @qrilka":
1735+ - xlsx
1736+
1737+ "Matt Parsons <parsonsmatt@gmail.com> @parsonsmatt":
1738+ - monad-logger-prefix
1739+
1740+ "Matthew Pickering <matthewtpickering@gmail.com> @mpickering":
1741+ - refact
1742+ # - servant-pandoc # bounds: pandoc-types, servant-docs
1743+ - ghc-exactprint
1744+ # - apply-refact
1745+
1746+ # "Andrew Gibiansky <andrew.gibiansky@gmail.com> @gibiansky":
1747+ # - ihaskell # GHC 8
1748+ # - ihaskell-aeson # via: ihaskell
1749+ # - ihaskell-basic # via: ihaskell
1750+ # - ihaskell-blaze # via: ihaskell
1751+ # - ihaskell-charts # via: ihaskell
1752+ # - ihaskell-diagrams # via: ihaskell
1753+ # - ihaskell-hatex # via: ihaskell
1754+ # - ihaskell-juicypixels # via: ihaskell
1755+ # - ihaskell-magic # via: ihaskell
1756+ # - ihaskell-rlangqq # via: ihaskell
1757+ # - ihaskell-static-canvas # via: ihaskell
1758+ # - ghc-parser # GHC 8
1759+ # - ipython-kernel # GHC 8
1760+
1761+ "Andrés Sicard-Ramírez <asr@eafit.edu.co> @asr":
1762+ - Agda
1763+
1764+ "James Cook <mokus@deepbondi.net> @mokus0":
1765+ - dependent-sum
1766+ # - dependent-sum-template # bounds: dependent-sum
1767+ - dependent-map
1768+ - dice
1769+ - hstatsd
1770+ - misfortune
1771+
1772+ "Timo von Holtz <tvh@tvholtz.de> @tvh":
1773+ - haxl-amazonka
1774+ - hasql-migration
1775+ - servant-JuicyPixels
1776+
1777+ "Artyom <yom@artyom.me> @neongreen":
1778+ - microlens
1779+ - microlens-platform
1780+ - microlens-mtl
1781+ - microlens-th
1782+ - microlens-ghc
1783+ - microlens-contra
1784+ - shortcut-links
1785+ - cheapskate-lucid
1786+ - cheapskate-highlight
1787+ - cmark-lucid
1788+ - cmark-highlight
1789+ - Spock-lucid
1790+ - charsetdetect-ae
1791+ - ilist
1792+ - text-all
1793+
1794+ "Takano Akio tak@anoak.io @takano-akio":
1795+ - fast-builder
1796+ - filelock
1797+ - euphoria
1798+
1799+ "Ashley Moni ashley.moni1@gmail.com @AshleyMoni":
1800+ - quadtree
1801+
1802+ "Brian Lewis brian@lorf.org @bsl":
1803+ - bindings-GLFW
1804+ - GLFW-b
1805+
1806+ "Niklas Hambüchen mail@nh2.me @nh2":
1807+ - hidapi
1808+ - iso8601-time
1809+ - loop
1810+ - netpbm
1811+ - network-house
1812+ - reinterpret-cast
1813+ # As dependencies of packages above
1814+ - attoparsec-binary
1815+ - storable-record
1816+
1817+ "Brandon Martin <brandon@codedmart.com> @codedmart":
1818+ # - engine-io-wai # bounds: ghc, base
1819+ - rethinkdb
1820+
1821+ "Michael Walker <mike@barrucadu.co.uk> @barrucadu":
1822+ - both
1823+ - concurrency
1824+ - dpor
1825+ - dejafu
1826+ - async-dejafu
1827+ - hunit-dejafu
1828+ - tasty-dejafu
1829+ - irc-ctcp
1830+ - irc-conduit
1831+ - irc-client
1832+
1833+ "Trevor Elliott <awesomelyawesome@gmail.com> @elliottt":
1834+ - irc
1835+
1836+ "Dennis Gosnell <cdep.illabout@gmail.com> @cdepillabout":
1837+ - emailaddress
1838+ - envelope
1839+ - from-sum
1840+ - hailgun
1841+ - hailgun-simple
1842+ # - ig # bounds: http-conduit, transformers
1843+ - natural-transformation
1844+ - opaleye-trans
1845+ - pretty-simple
1846+ - read-env-var
1847+ - yahoo-finance-api
1848+
1849+ "Franklin Chen <franklinchen@franklinchen.com> @FranklinChen":
1850+ - Ebnf2ps
1851+
1852+ "Dmitry Ivanov <ethercrow@gmail.com> @ethercrow":
1853+ - charsetdetect-ae
1854+ - compiler-errors
1855+ - docopt
1856+ - dynamic-state
1857+ - dyre
1858+ - io-storage
1859+ - oo-prototypes
1860+ - pointedlist
1861+ - word-trie
1862+ - xdg-basedir
1863+ # - yi # build failure https://github.com/commercialhaskell/stack/issues/2795
1864+ - yi-core
1865+ # - yi-frontend-pango # build failure https://github.com/commercialhaskell/stack/issues/2795
1866+ - yi-frontend-vty
1867+ - yi-fuzzy-open
1868+ - yi-ireader
1869+ - yi-keymap-cua
1870+ - yi-keymap-emacs
1871+ - yi-keymap-vim
1872+ - yi-language
1873+ - yi-misc-modes
1874+ - yi-mode-haskell
1875+ - yi-mode-javascript
1876+ - yi-rope
1877+ - yi-snippet
1878+
1879+ "Tobias Bexelius <tobias_bexelius@hotmail.com> @tobbebex":
1880+ - GPipe
1881+
1882+ "Patrick Redmond <plredmond@gmail.com> @plredmond":
1883+ - GPipe-GLFW
1884+
1885+ # "Csaba Hruska <csaba.hruska@gmail.com> @csabahruska":
1886+ # - lambdacube-ir # bounds: aeson
1887+ # - lambdacube-gl # bounds: aeson, time # via: lambdacube-ir
1888+ # - lambdacube-compiler # bounds: aeson, megaparsec # via: lambdacube-ir
1889+
1890+ "Spencer Janssen <spencerjanssen@gmail.com> @spencerjanssen":
1891+ - Xauth
1892+
1893+ "Sebastian de Bellefon <arnaudpourseb@gmail.com> @Helkafen":
1894+ - wai-middleware-metrics
1895+
1896+ "Stefan Berthold":
1897+ - smallcaps
1898+
1899+ "Gregory Collins <greg@gregorycollins.net> @gregorycollins":
1900+ - hashtables
1901+ - io-streams
1902+ - openssl-streams
1903+
1904+ "Andrew Cowie <andrew@operationaldynamics.com> @afcowie":
1905+ - http-common
1906+ - http-streams
1907+
1908+ # "Devan Stormont <stormont@gmail.com> @stormont":
1909+ # - forecast-io # bounds: aeson 1.0
1910+
1911+ "Sean Hunt <scshunt@csclub.uwaterloo.ca @scshunt":
1912+ - cheapskate
1913+
1914+ "Ivan Miljenovic <Ivan.Miljenovic@gmail.com> @ivan-m":
1915+ - fgl
1916+ - fgl-arbitrary
1917+ - graphviz
1918+ - wl-pprint-text
10501919
1051− # https://github.com/fpco/stackage/issues/549
1052− - tttool < 1.4
1920+ "Sharif Olorin <sio@tesser.org> @olorin":
1921+ - quickcheck-text
1922+ - nagios-check
1923+
1924+ "Peter Simons <simons@cryp.to> @peti":
1925+ - distribution-nixpkgs
1926+ - cabal2nix
1927+ - funcmp
1928+ - hackage-db
1929+ - hledger-interest
1930+ - hopenssl
1931+ - hsdns
1932+ - hsemail
1933+ - hsyslog
1934+ - jailbreak-cabal
1935+ - language-nix
1936+ - nix-paths
1937+ - streamproc
1938+ - titlecase
1939+
1940+ "Mark Fine <mark.fine@gmail.com> @markfine":
1941+ - postgresql-schema
1942+ # - sbp # build failure
1943+
1944+ "Jinjing Wang <nfjinjing@gmail.com> @nfjinjing":
1945+ - moesocks
1946+
1947+ "Gregory W. Schwartz <gregory.schwartz@drexel.edu> @GregorySchwartz":
1948+ # - fasta # via pipes-attoparsec
1949+ # - diversity # via fasta
1950+ # - modify-fasta # via fasta
1951+ - tree-fun
1952+ - random-tree
1953+ - clumpiness
1954+ # - find-clumpiness # build failure against optparse-applicative https://github.com/GregorySchwartz/find-clumpiness/issues/1
1955+ # - blosum # via fasta
1956+
1957+ "Simon Marechal <bartavelle@gmail.com> @bartavelle":
1958+ - compactmap
1959+ - stateWriter
1960+ - filecache
1961+ - pcre-utils
1962+ - strict-base-types
1963+ - withdependencies
1964+ - hruby
1965+ - language-puppet
1966+ - tar-conduit
1967+ # - stm-firehose # bounds: http-types, stm-conduit, transformers, wai, warp
1968+ # - hslogstash # bounds: aeson, lens, time, transformers # via: stm-firehose
1969+
1970+ "Mark Karpov <markkarpov@opmbx.org> @mrkkrp":
1971+ - megaparsec
1972+ - htaglib
1973+ - slug
1974+ - path-io
1975+ - hspec-megaparsec
1976+ - plan-b
1977+ - zip
1978+ - JuicyPixels-extra
1979+ - identicon
1980+ - pagination
1981+ - data-check
1982+ - text-metrics
1983+ - tagged-identity
1984+ - req
1985+ - req-conduit
1986+ - cue-sheet
1987+ - wave
1988+ - flac
1989+ - flac-picture
1990+
1991+ # "Thomas Bereknyei <tomberek@gmail.com>":
1992+ # - multiplate # bounds: transformers
1993+
1994+ "Sumit Sahrawat <sumit.sahrawat.apm13@iitbhu.ac.in> @sumitsahrawat":
1995+ - plot-gtk-ui
1996+ # - calculator # bounds: ghc, base
1997+
1998+ "Emmanuel Touzery <etouzery@gmail.com> @emmanueltouzery":
1999+ - app-settings
2000+ - hsexif
2001+
2002+ "Nickolay Kudasov <nickolay.kudasov@gmail.com> @fizruk":
2003+ - http-api-data
2004+ # - smsaero # build failure against aeson https://github.com/GetShopTV/smsaero/issues/12
2005+ - swagger2
2006+ - servant-swagger
2007+
2008+ "Jared Tobin <jared@jtobin.ca> @jtobin":
2009+ - mwc-probability
2010+ - mcmc-types
2011+ - mighty-metropolis
2012+ - speedy-slice
2013+ - hasty-hamiltonian
2014+ - declarative
2015+ - sampling
2016+ - flat-mcmc
2017+
2018+ "Facundo Domínguez <facundo.dominguez@tweag.io> @facundominguez":
2019+ - distributed-process
2020+ # - distributed-process-async # GHC 8
2021+ # - distributed-process-client-server # GHC 8
2022+ # - distributed-process-execution # GHC 8
2023+ # - distributed-process-extras # GHC 8
2024+ # - distributed-process-registry # GHC 8
2025+ # - distributed-process-supervisor # GHC 8
2026+ # - distributed-process-task # GHC 8
2027+ - distributed-process-simplelocalnet
2028+ - distributed-static
2029+ - network-transport
2030+ - network-transport-tcp
2031+ - network-transport-inmemory
2032+ - network-transport-composed
2033+ - rank1dynamic
10532034
1054− # https://github.com/fpco/stackage/issues/572
1055− - attoparsec < 0.13
1056− - aeson < 0.8.1.0
1057− - jose-jwt < 0.6
2035+ # "Alexander Vershilov <alexander.vershilov@tweag.io> @qnikst":
2036+ # - imagemagick # https://github.com/qnikst/imagemagick/issues/41
2037+ # - network-transport-zeromq # bounds: ghc # via: distributed-process-tests
10582038
1059− # https://github.com/fpco/stackage/issues/577
1060− - MonadRandom < 0.4
2039+ "Takahiro Himura <himuratk421@gmail.com> @thimura":
2040+ - lens-regex
2041+ # - twitter-conduit # bounds: http-conduit 2.2 # via: twitter-types, twitter-types-lens
2042+ # - twitter-types # via: derive
2043+ # - twitter-types-lens # via: twitter-types
10612044
1062− # https://github.com/fpco/stackage/issues/581
1063− - xml-conduit < 1.3
1064− - html-conduit < 1.2
2045+ # "Robbin C. <robbinch33@gmail.com> robbinch":
2046+ # - zim-parser # via: lzma
10652047
1066− # https://github.com/fpco/stackage/issues/588
1067− - semigroupoids < 4.5
1068− - semigroupoid-extras < 4.5
1069− - lens < 4.10
2048+ "David Wiltshire <david.wiltshire@metark.com> @dave77":
2049+ # on behalf of Alexey Karakulov @w3rs
2050+ - hashable-time
10702051
1071− # https://github.com/fpco/stackage/issues/590
1072− - bifunctors < 5
1073− - profunctors < 5
1074− - machines < 0.5
1075− - free < 4.12
2052+ # "Tim Baumann <tim@timbaumann.info> @timjb":
2053+ # - engine-io-yesod # bounds: ghc, base
10762054
1077− # https://github.com/fpco/stackage/issues/591
1078− - th-orphans < 0.12
2055+ "Tim McGilchrist <timmcgil@gmail.com> @tmcgilchrist":
2056+ - riak
2057+ - airship
2058+
2059+ "Yuras Shumovich <shumovichy@gmail.com> @Yuras":
2060+ - pdf-toolbox-core
2061+ - pdf-toolbox-content
2062+ - pdf-toolbox-document
2063+ - io-region
2064+ - scanner
2065+
2066+ "Stanislav Chernichkin <schernichkin@gmail.com> @schernichkin":
2067+ - partial-isomorphisms
2068+ - vinyl
2069+
2070+ "Christoph Breitkopf <chbreitkopf@gmail.com> @bokesan":
2071+ - IntervalMap
2072+
2073+ "Michele Lacchia <michelelacchia@gmail.com> @rubik":
2074+ - docopt
2075+ - pathwalk
2076+
2077+ "John Galt <jgalt@centromere.net> @centromere":
2078+ - cacophony
2079+ - pipes-cacophony
2080+ - blake2
2081+ - nfc
2082+
2083+ "Adam Curtis <kallisti.dev@gmail.com> @kallisti-dev":
2084+ - webdriver
2085+
2086+ "Luke Iannini <lukexi@me.com> @lukexi":
2087+ - inline-c
2088+ - inline-c-cpp
2089+ - ekg
2090+
2091+ # "Emin Karayel <me@eminkarayel.de> @ekarayel":
2092+ # - sync-mht # bounds: ghc, base
2093+
2094+ "Michael Schröder <mc.schroeder@gmail.com> @mcschroeder":
2095+ - ctrie
2096+ - ttrie
2097+
2098+ "Greg Weber <greg@gregweber.info> @gregwebs":
2099+ - base-noprelude
2100+
2101+ "Andrew Lelechenko <andrew.lelechenko@gmail.com> @Bodigrim":
2102+ - exp-pairs
2103+
2104+ "Stefan Kersten <kaoskorobase@gmail.com> @kaoskorobase":
2105+ - hsndfile
2106+ - hsndfile-vector
2107+
2108+ "yihuang <yi.codeplayer@gmail.com> @yihuang":
2109+ - tagstream-conduit
2110+
2111+ # "Johannes Hilden <hildenjohannes@gmail.com> @johanneshilden":
2112+ # Missing test files https://github.com/fpco/stackage/issues/1001 - hashids
2113+
2114+ # "Joe Hermaszewski <stackage@monoid.al> @expipiplus1":
2115+ # - exact-real # bounds: ghc, base
2116+
2117+ # "Jonatan Sundqvist jonatanhsundqvist@gmail.com @SwiftsNamesake":
2118+ # - Cartesian # bounds: lens
2119+ # - Michelangelo # bounds: lens # via: Wavefront
2120+
2121+ # "Henry J. Wylde <public@hjwylde.com> @hjwylde":
2122+ # - git-fmt # bounds: optparse-applicative 0.13
2123+ # - omnifmt # bounds: optparse-applicative 0.13
2124+ # - werewolf # bounds: aeson, extra, lens
2125+ # - werewolf-slack # bounds: aeson, extra, http-client, http-client-tls # via: werewolf
2126+
2127+ "Will Sewell <me@willsewell.com> @willsewell":
2128+ - benchpress
2129+ - pusher-http-haskell
2130+
2131+ "Yorick Laupa yo.eight@gmail.com @YoEight":
2132+ - eventstore
2133+ - dotnet-timespan
2134+
2135+ "Sebastian Dröge slomo@coaxion.net @sdroege":
2136+ - conduit-iconv
2137+ - conduit-connection
2138+
2139+ "Andrew Rademacher <andrewrademacher@gmail.com> @AndrewRademacher":
2140+ - aeson-casing
2141+ - graylog
2142+ - parsec-numeric
2143+
2144+ "Callum Rogers @CRogers":
2145+ - should-not-typecheck
2146+
2147+ "Mihaly Barasz klao@nilcons.com @klao":
2148+ - lens-datetime
2149+ - tz
2150+ - tzdata
2151+
2152+ "Timothy Klim <stackage@timothyklim.com> @TimothyKlim":
2153+ - pkcs10
2154+
2155+ "David Luposchainsky <dluposchainsky (λ) googles email service> @quchen":
2156+ - binary-typed
2157+ - pgp-wordlist
2158+ - show-prettyprint
2159+
2160+ "Jeremy Shaw <jeremy@n-heptane.com> @stepcut":
2161+ - boomerang
2162+ - clckwrks
2163+ - clckwrks-cli
2164+ - clckwrks-plugin-page
2165+ - clckwrks-plugin-media
2166+ - clckwrks-theme-bootstrap
2167+ - hackage-whatsnew
2168+ - happstack-authenticate
2169+ - happstack-clientsession
2170+ - happstack-hsp
2171+ - happstack-jmacro
2172+ - happstack-server
2173+ - happstack-server-tls
2174+ - hsx-jmacro
2175+ - ixset
2176+ - reform
2177+ - reform-blaze
2178+ - reform-hamlet
2179+ - reform-happstack
2180+ - reform-hsp
2181+ - userid
2182+ - web-plugins
2183+ - web-routes
2184+ - web-routes-boomerang
2185+ - web-routes-happstack
2186+ - web-routes-hsp
2187+ - web-routes-th
2188+ - web-routes-wai
2189+ - hsx2hs
2190+
2191+ "Pedro Tacla Yamada <tacla.yamada@gmail.com> @yamadapc":
2192+ - ascii-progress
2193+ - drawille
2194+ # - extract-dependencies # via: package-description-remote
2195+ - file-modules
2196+ - frontmatter
2197+ - read-editor
2198+ - hspec-setup
2199+ # - hzulip # bounds: aeson, stm-conduit
2200+ - list-prompt
2201+ # - memoization-utils # bounds: time
2202+ # - package-description-remote # via: wreq
2203+ - projectroot
2204+ - questioner
2205+ # - stack-run-auto # via: extract-dependencies, wreq
2206+ # - hpack-convert # bounds: aeson 1.0
2207+ - language-dockerfile
2208+
2209+ "Pascal Hartig <phartig@rdrei.net> @passy":
2210+ - giphy-api
2211+ - optparse-text
2212+
2213+ "rightfold <rightfold@gmail.com> @rightfold":
2214+ - open-browser
2215+
2216+ "Denis Redozubov <denis.redozubov@gmail.com> @dredozubov":
2217+ - tracy
2218+ # - hreader-lens # bounds: hreader
2219+
2220+ "Yuji Yamamoto <whosekiteneverfly@gmail.com> @igrep":
2221+ - yes-precure5-command
2222+
2223+ "Hans-Christian Esperer <hc@hcesperer.org> @hce":
2224+ - avwx
2225+ - wai-session-postgresql
2226+
2227+ "Haisheng Wu <freizl@gmail.com> @freizl":
2228+ - hoauth2
2229+
2230+ "Falko Peters <falko.peters@gmail.com> @informatikr":
2231+ - scrypt
2232+
2233+ "Jakub Waszczuk <waszczuk.kuba@gmail.com> @kawu":
2234+ - dawg-ord
2235+
2236+ "Amit Levy <amit@amitlevy.com> @alevy":
2237+ # - postgresql-orm # 0.4.1 compilation failure
2238+ - simple
2239+ - simple-templates
2240+ - simple-session
2241+ # - simple-postgresql-orm # via: postgresql-orm
2242+
2243+ "Sergey Astanin <s.astanin@gmail.com> @astanin":
2244+ # Stackage server uses Ubuntu 16.04 which ships libzip-1.0.1.
2245+ # Haskell packages should match major.minor versions of the C library.
2246+ - bindings-libzip >= 1.0
2247+ - LibZip >= 1.0
2248+
2249+ "Anthony Cowley <acowley@gmail.com> @acowley":
2250+ - Frames
2251+ - hpp
2252+
2253+ "Takayuki Muranushi <muranushi@gmail.com> @nushio3":
2254+ - binary-search
2255+ - unicode-show
2256+
2257+ "Jason Shipman <jasonpshipman@gmail.com> @jship":
2258+ # on behalf of Boris Sukholitko @bosu
2259+ - pure-cdb
2260+
2261+ "Suhail Shergill <suhailshergill@gmail.com> @suhailshergill":
2262+ - extensible-effects
2263+
2264+ # "Justus Adam <dev@justus.science> @JustusAdam":
2265+ # - mustache # via: wreq
2266+
2267+ "Cindy Wang <cindylinz@gmail.com> @CindyLinz":
2268+ - NoTrace
2269+ - linked-list-with-iterator
2270+
2271+ "Jean-Philippe Bernardy <jean-philippe.bernardy@tweag.io> @jyp":
2272+ - polynomials-bernstein
2273+ - typography-geometry
2274+
2275+ "John MacFarlane <jgm@berkeley.edu> @jgm":
2276+ - hsb2hs
2277+ - cmark
2278+ - texmath
2279+ - highlighting-kate
2280+ - pandoc-types
2281+ - zip-archive
2282+ - doctemplates
2283+ - pandoc
2284+ - pandoc-citeproc
2285+
2286+ "Karun Ramakrishnan <karun012@gmail.com> @karun012":
2287+ - doctest-discover
2288+
2289+ "Elie Genard <elaye.github.io@gmail.com> @eliegenard":
2290+ - turtle-options
2291+
2292+ # "Ruey-Lin Hsu <petercommand@gmail.com> @petercommand":
2293+ # - MASMGen # bounds: ghc, base
2294+
2295+ "Ozgun Ataman ozgun.ataman@soostone.com @ozataman":
2296+ - string-conv
2297+ - rng-utils
2298+ - rotating-log
2299+ - ua-parser
2300+ - hs-GeoIP
2301+ - retry
2302+ - katip
2303+ - katip-elasticsearch
2304+
2305+ "Sid Kapur sidharthkapur1@gmail.com @sid-kap":
2306+ - tuple
2307+ - OneTuple
2308+ - SVGFonts
2309+ - Chart-diagrams
2310+
2311+ # "Aaron Levin <aaron.levin@soundcloud.com> @aaronmblevin":
2312+ # - haskell-kubernetes # bounds: QuickCheck, aeson, http-api-data, lens, servant, servant-client
2313+
2314+ "Aaron Levin <vilevin@gmail.com> @aaronmblevin":
2315+ - free-vl
2316+
2317+ "Kazuo Koga <obiwanko@me.com> @kkazuo":
2318+ - xlsx-tabular
2319+
2320+ "Mikhail Glushenkov <mikhail.glushenkov@gmail.com> @23Skidoo":
2321+ - Cabal
2322+ - cabal-install
2323+ - pointful
10792324
1080− # https://github.com/fpco/stackage/issues/602
1081− - errors < 2
2325+ "Lennart Kolmodin <kolmodin@gmail.com> @kolmodin":
2326+ - binary-bits
10822327
1083− # https://github.com/fpco/stackage/issues/610
1084− - either < 4.4
2328+ "Nicolas Trangez <ikke@nicolast.be> @NicolasT":
2329+ - reedsolomon
10852330
1086− # https://github.com/fpco/stackage/issues/615
1087− - syb < 0.5
2331+ "Alp Mestanogullari <alpmestan@gmail.com> @alpmestan":
2332+ - taggy
2333+ - taggy-lens
10882334
1089− # https://github.com/fpco/stackage/issues/622
1090− - doctest < 0.10
2335+ "Alex McLean <lxyxpx@gmail.com> @yaxu":
2336+ - tidal
10912337
1092− # https://github.com/fpco/stackage/issues/627
1093− - persistent < 2.2
1094− - persistent-mysql < 2.2
1095− - persistent-postgresql < 2.2
1096− - persistent-sqlite < 2.2
2338+ "Kei Hibino <ex8k.hibino@gmail.com> @khibino":
2339+ - relational-query
2340+ - relational-query-HDBC
2341+ - persistable-types-HDBC-pg
2342+ - relational-record
2343+ - text-ldap
2344+ - debian-build
2345+ - json-rpc-generic
10972346
1098−# Package flags are applied to individual packages, and override the values of
1099−# global-flags
1100−package-flags:
1101− mersenne-random-pure64:
1102− small_base: false
2347+ "wren romano <wren@community.haskell.org> @wrengr":
2348+ - bytestring-lexing
2349+ - bytestring-trie
2350+ - data-or
2351+ - exact-combinatorics
2352+ - logfloat
2353+ - pointless-fun
2354+ - prelude-safeenum
2355+ - stm-chans
2356+ - unification-fd
2357+ - unix-bytestring
2358+
2359+ # "Carlo Hamalainen <carlo@carlo-hamalainen.net> @carlohamalainen":
2360+ # - ghc-imported-from # bounds: process-streaming # via: ghc-mod
2361+
2362+ "Fraser Tweedale <frase@frase.id.au> @frasertweedale":
2363+ - jose
2364+
2365+ # "Yutaka Nishimura <ytk.nishimura@gmail.com> @ynishi":
2366+ # - atndapi # https://github.com/ynishi/atndapi/issues/1
2367+
2368+ "Yoshikuni Jujo <PAF01143@nifty.ne.jp> @YoshikuniJujo":
2369+ - zot
2370+ - yjtools
2371+ - io-machine
2372+
2373+ "Jan Gerlinger <git@jangerlinger.de> @JanGe":
2374+ - irc-dcc
2375+ - xdcc
2376+
2377+ "John Ky newhoggy@gmail.com @newhoggy":
2378+ - hw-bits
2379+ - hw-conduit
2380+ - hw-diagnostics
2381+ - hw-json
2382+ - hw-parser
2383+ - hw-prim
2384+ - hw-rankselect
2385+ - hw-succinct
2386+
2387+ # "Ismail Mustafa <ismailmustafa@rocketmail.com> @ismailmustafa":
2388+ # - handwriting # via: wreq
2389+
2390+ "Stephen Diehl <stephen.m.diehl@gamil.com> @sdiehl":
2391+ - protolude
2392+ - repline
2393+ # - picosat # https://github.com/sdiehl/haskell-picosat/issues/6
2394+
2395+ # "Daishi Nakajima <nakaji.dayo@gmail.com> @nakaji_dayo":
2396+ # - yesod-job-queue # build failure https://github.com/nakaji-dayo/yesod-job-queue/issues/10
2397+
2398+ # "Braden Walters <vc@braden-walters.info> @meoblast001":
2399+ # - hakyll-sass # bounds: aeson-pretty
2400+
2401+ "Patrick Thomson <patrick@helium.com> @helium":
2402+ - postgresql-transactional
2403+
2404+ "Tom Murphy <amindfv@gmail.com> @amindfv":
2405+ # - vivid # 0.2.0.5 compilation failure
2406+ # - midair # bounds: ghc, base
2407+ - nano-erl
2408+
2409+ "Toshio Ito <debug.ito@gmail.com> @debug-ito":
2410+ - fold-debounce
2411+ - fold-debounce-conduit
2412+ - stopwatch
2413+ - wikicfp-scraper
2414+ - wild-bind
2415+ - wild-bind-x11
2416+ - wild-bind-indicator
2417+ - wild-bind-task-x11
2418+
2419+ "Cies Breijs <cies@kde.nl> @cies":
2420+ - htoml
2421+
2422+ "Martijn Rijkeboer <mrr@sru-systems.com> @mrijkeboer":
2423+ - protobuf-simple
2424+
2425+ "David Reaver <johndreaver@gmail.com> @jdreaver":
2426+ - oanda-rest-api
2427+ - stratosphere
2428+
2429+ "Alexey Rodiontsev <alex.rodiontsev@gmail.com> @klappvisor":
2430+ - telegram-api
2431+
2432+ "Iñaki García Etxebarria <garetxe@gmail.com> @garetxe":
2433+ - gi-atk
2434+ - gi-cairo
2435+ - gi-gdk
2436+ - gi-gdkpixbuf
2437+ - gi-gio
2438+ - gi-glib
2439+ - gi-gobject
2440+ - gi-gtk
2441+ - gi-pango
2442+ - gi-soup
2443+ - gi-javascriptcore == 3.0.*
2444+ - gi-webkit
2445+ - haskell-gi
2446+ - haskell-gi-base
2447+
2448+ "Brandon Simmons <brandon.m.simmons@gmail.com> @jberryman":
2449+ - directory-tree
2450+
2451+ "Ian Grant Jeffries <ian@housejeffries.com> @seagreen":
2452+ - hjsonpointer
2453+ - hjsonschema
2454+
2455+ "Drew Hess <src@drewhess.com> @dhess":
2456+ - hpio
2457+
2458+ "Richard Eisenberg <eir@cis.upenn.edu> @goldfirere":
2459+ - th-desugar
2460+ - singletons
2461+ - units
2462+ - units-defs
2463+ - HUnit-approx
2464+ - units-parser
11032465
1104− cloud-haskell:
1105− tcp: true
1106− simplelocalnet: true
1107− p2p: true
2466+ "Doug McClean <douglas.mcclean@gmail.com> @dmcclean":
2467+ - dimensional
2468+ - exact-pi
2469+ - numtype-dk
11082470
1109− logfloat:
1110− splitbase: true
2471+ "Bjorn Buckwalter <bjorn@buckwalter.se> @bjornbm":
2472+ - leapseconds-announced
11112473
1112− curl:
1113− new-base: true
2474+ "Pavel Ryzhov <paul@paulrz.cz> @paulrzcz":
2475+ - hquantlib
2476+ - persistent-redis
11142477
1115− hxt:
1116− network-uri: true
1117− hxt-http:
1118− network-uri: true
1119− hxt-relaxng:
1120− network-uri: true
2478+ "Henri Verroken <henriverroken@gmail.com> @hverr":
2479+ - cache
11212480
1122− pandoc:
1123− https: true
1124− old-locale: false
2481+ "Cliff Harvey <cs.hbar+hs@gmail.com> @BlackBrane":
2482+ - ansigraph
2483+ - quantum-random
11252484
1126− text:
1127− integer-simple: false
2485+ "Tebello Thejane <zyxoas+stackage@gmail.com> @tebello-thejane":
2486+ - bitx-bitcoin
11282487
1129− tar:
1130− old-time: false
2488+ "Andrew Lelechenko <andrew.lelechenko@gmail.com> @Bodigrim":
2489+ - exp-pairs
2490+ - fast-digits
11312491
1132− # https://github.com/fpco/stackage/pull/482#issuecomment-83635207
1133− jose-jwt:
1134− doctest: false
2492+ # "Greg Hurrell <greg@hurrell.net> @wincent":
2493+ # - docvim # compilation failure: https://github.com/wincent/docvim/issues/30
11352494
1136− time-locale-compat:
1137− old-locale: false
2495+ "Ashley Yakeley <ashley@semantic.org> @AshleyYakeley":
2496+ - countable
11382497
1139− HsOpenSSL:
1140− fast-bignum: false
2498+ "Victor Denisov <denisovenator@gmail.com> @VictorDenisov":
2499+ - mongoDB
2500+ - bson
11412501
1142− cabal-rpm:
1143− old-locale: false
2502+ "Alexis King <lexi.lambda@gmail.com> @lexi-lambda":
2503+ - test-fixture
2504+ - text-conversions
2505+ - th-to-exp
2506+ - type-assertions
11442507
1145−# By skipping a test suite, we do not pull in the build dependencies
1146−skipped-tests:
1147− - ReadArgs # old version of hspec
1148− - ersatz # old QuickCheck
1149− - punycode # pulls in encoding
1150− - HTTP
1151− - Octree
1152− - options
1153− - hasql
1154−
1155− # require old hspec
1156− - bloodhound
1157− - fb
1158−
1159− # require old tasty
1160− - diagrams-haddock
1161−
1162− # requires old hsql
1163− - hasql-postgres
1164−
1165− # https://github.com/pa-ba/compdata/issues/4
1166− - compdata
1167−
1168− # Too lazy to keep the test dependencies up to date
1169− - base-prelude
1170− - cases
1171− - focus
1172− - hasql
1173− - hasql-backend
1174− - hasql-postgres
1175− - list-t
1176− - mtl-prelude
1177− - neat-interpolation
1178− - partial-handler
1179− - postgresql-binary
1180− - slave-thread
1181− - stm-containers
1182−
1183− # Cloud Haskell out-of-date dependencies
1184− - distributed-process-async
1185− - distributed-process-client-server
1186− - distributed-process-extras
1187−
1188− # https://github.com/fpco/stackage/pull/380#issuecomment-68060871
1189− - Rasterific
1190−
1191− # https://github.com/Soostone/retry/issues/18
1192− - retry
1193−
1194− # Just a temporary package with a flimsy, inherited test suite
1195− - Cabal-ide-backend
1196−
1197− # QuickCheck 2.8
1198− - bson
1199− - cabal-install
1200− - exceptions
1201− - graphviz
1202− - pandoc
1203− - testpack
1204− - vector
1205− - Cabal
1206− - MissingH
2508+ "Patrick Chilton <chpatrick@gmail.com> @chpatrick":
2509+ - solga
2510+ - solga-swagger
2511+ - clang-pure
2512+ - webrtc-vad
12072513
1208− # Upper bound on src-log, see: https://github.com/fpco/stackage/issues/509
1209− - language-c-quote
2514+ "Michal Konecny <mikkonecny@gmail.com> @michalkonecny":
2515+ - hmpfr
12102516
1211−# Tests which we should build and run, but which are expected to fail. We
1212−# should not fail a build based on a test failure for one of these packages.
1213−expected-test-failures:
1214− # Requires an old version of WAI and Warp for tests
1215− - HTTP
2517+ "Bartosz Nitka <niteria@gmail.com> @niteria":
2518+ - haskell-packages
2519+ - oeis
12162520
1217− # https://github.com/bos/statistics/issues/42
1218− - statistics
2521+ "Gergely Patai <patai.gergely@gmail.com> @cobbpg":
2522+ - elerea
12192523
1220− # https://github.com/kazu-yamamoto/simple-sendfile/pull/10
1221− - simple-sendfile
2524+ "Christopher Wells <cwellsny@nycap.rr.com> @ExcalburZero":
2525+ - pixelated-avatar-generator
12222526
1223− # Tests require shell script and are incompatible with sandboxed package
1224− # databases
1225− - HTF
2527+ "Allele Dev <allele.dev@gmail.com> @queertypes":
2528+ - freer
2529+ - wai-request-spec
12262530
1227− # Unfortunately network failures seem to happen haphazardly
1228− - network
2531+ "Dominic Orchard <dom.orchard@gmail.com> @dorchard":
2532+ - array-memoize
2533+ - camfort
2534+ - codo-notation
2535+ - fortran-src
2536+ # - ixmonad # 0.57 Compilation failure https://github.com/fpco/stackage/pull/1710#issuecomment-235067168
2537+ - language-fortran
12292538
1230− # Test suite takes too long to run on some systems
1231− - punycode
2539+ "Philipp Schuster <phischu3000@gmail.com> @phischu":
2540+ - haskell-names
12322541
1233− # Requires a Facebook app.
1234− - fb
2542+ "Shao Cheng <astrohavoc@gmail.com> @TerrorJack":
2543+ - simple-download
2544+ - encoding-io
12352545
1236− # https://github.com/vincenthz/language-java/issues/10
1237− - language-java
2546+ "Anton Gushcha <ncrashed@gmail.com> @ncrashed":
2547+ - aeson-injector
12382548
1239− - threads
1240− - crypto-conduit
2549+ # "Rune K. Svendsen <runesvend@gmail.com> @runeks":
2550+ # - bitcoin-payment-channel # bounds: QuickCheck, aeson 1.0 # via: haskoin-core
12412551
1242− # https://github.com/basvandijk/concurrent-extra/issues/
1243− - concurrent-extra
2552+ "Al Zohali <zohl@fmap.me> @zohl":
2553+ - servant-auth-cookie < 0.4.1 || > 0.4.1
12442554
1245− # https://github.com/skogsbaer/xmlgen/issues/2
1246− - xmlgen
2555+ "Joachim Fasting <joachifm@fastmail.fm> @joachifm":
2556+ - libmpd
12472557
1248− # Requires a locally running PostgreSQL server with appropriate users
1249− - postgresql-simple
2558+ "Moritz Kiefer <moritz.kiefer@purelyfunctional.org> @cocreature":
2559+ - lrucaching
12502560
1251− # Some kind of Cabal bug when trying to run tests
1252− - thyme
2561+ "Thierry Bourrillon <thierry.bourrillon@fpinsight.com> @tbourrillon":
2562+ - hocilib
12532563
1254− - shake
2564+ # "Matthias Herrmann <matthias.mh.herrmann@gmail.com> @2chilled":
2565+ # - scrape-changes # via: wreq
12552566
1256− # Problems with doctest and sandboxing
1257− - warp
1258− - wai-logger
2567+ "Daniel Mendler <mail@daniel-mendler.de> @minad":
2568+ - quickcheck-special
2569+ - writer-cps-mtl
2570+ - writer-cps-transformers
2571+ - wl-pprint-annotated
2572+ - wl-pprint-console
2573+ - console-style
2574+ - unlit
2575+ - intro
12592576
1260− # https://github.com/fpco/stackage/issues/163
1261− - hTalos
2577+ "Taras Serduke <taras.serduke@gmail.com> @tserduke":
2578+ - do-list
12622579
1263− # https://github.com/bos/math-functions/issues/25
1264− - math-functions
2580+ "Travis Whitaker <pi.boy.travis@gmail.com>":
2581+ - cpuinfo
2582+ - lmdb
2583+ - rdf
12652584
1266− # Requires too old a version of test-framework
1267− - time
2585+ "Iago Abal <iagoabal+stack@gmail.com>":
2586+ - bv
12682587
1269− # Cloud Haskell tests seem to be unreliable
1270− - distributed-process
1271− - lockfree-queue
1272− - network-transport-tcp
2588+ "Juan Pedro Villa Isaza @jpvillaisaza":
2589+ - licensor
12732590
1274− # https://github.com/fpco/stackage/issues/226
1275− - options
2591+ "Florian Hofmann fho@f12n.de @fhaust":
2592+ - vector-split
12762593
1277− # Depends on a missing graphviz executable
1278− - graphviz
2594+ "Alex Mason <alex.mason@data61.csiro.au> @Axman6":
2595+ - foldl-statistics
2596+ - amazonka-s3-streaming
12792597
1280− # No AWS creds available
1281− - aws
2598+ "Ondrej Palkovsky <palkovsky.ondrej@gmail.com> @ondrap":
2599+ - json-stream
12822600
1283− # Not sure why...
1284− - singletons
2601+ "Philipp Balzarek <p.balzarek@googlemail.com>":
2602+ - xml-picklers
12852603
1286− # https://github.com/BioHaskell/octree/issues/4
1287− - Octree
2604+ "Lennart Spitzner lsp@informatik.uni-kiel.de @lspitzner":
2605+ - multistate
2606+ - pqueue
12882607
1289− # https://github.com/jmillikin/haskell-filesystem/issues/3
1290− - system-filepath
2608+ "Ryan Mulligan <ryan@ryantm.com> @ryantm":
2609+ - hdbc-mysql
12912610
1292− # Requires a running webdriver server
1293− - webdriver
1294− - webdriver-snoy
2611+ "Tony Day <tonyday567@gmail.com> @tonyday567":
2612+ - chart-unit
12952613
1296− # Weird conflicts with sandboxing
1297− - ghc-mod
1298− - ghcid
2614+ "Iphigenia Df <iphydf@gmail.com> @iphydf":
2615+ - data-msgpack
2616+ - network-msgpack-rpc
12992617
1300− # Requires locally running server
1301− - bloodhound
2618+ "Dino Morelli <dino@ui3.info> @dino-":
2619+ - epub-metadata
2620+ - hsinstall
2621+ - tce-conf
13022622
1303− # Requires SAT solver and old QuickCheck
1304− - ersatz
2623+ "Jonathan Fischoff <jonathangfischoff@gmail.com>":
2624+ - threads-extra
2625+ - clock-extras
2626+ - next-ref
13052627
1306− # Failing doctests
1307− - bits
2628+ "Bernie Pope <bjpope@unimelb.edu.au> @bjpop":
2629+ - language-python
13082630
1309− # No server running
1310− - amqp
2631+ "Mahdi Dibaiee <mdibaiee@aol.com>":
2632+ - picedit
2633+ - mathexpr
2634+ - sibe
13112635
1312− # Often run out of inotify handles
1313− - fsnotify
2636+ "Alexis Williams <sasinestro@gmail.com> @sasinestro":
2637+ - stb-image-redux
2638+ - wavefront-obj
13142639
1315− # Requires a correctly set up Postgres instance
1316− - opaleye
2640+ "XT <e@xtendo.org> @xtendo-org":
2641+ - rawfilepath
2642+ "Konstantin Zudov <co@zudov.me> @zudov":
2643+ - html-email-validate
13172644
1318− # weird problems with cabal test
1319− - cautious-file
2645+ "Carl Baatz <carl.baatz@gmail.com> @cbaatz":
2646+ - atom-basic
13202647
1321− # https://github.com/haskell/cabal/pull/2277
1322− - cabal-install
2648+ "Reuben D'Netto <rdnetto@gmail.com>":
2649+ - glob-posix
13232650
1324− # https://github.com/haskell/network-uri/issues/10
1325− - network-uri
2651+ "Kadzuya Okamoto <arow.okamoto@gmail.com> @arowM":
2652+ - type-level-kv-list
2653+ - heterocephalus
13262654
1327− # https://github.com/fpco/stackage/issues/376
1328− - rematch
2655+ "Marcin Tolysz <tolysz@gmail.com> @tolysz":
2656+ - rawstring-qm
13292657
1330− # https://github.com/haskell-distributed/distributed-process-supervisor/issues/1
1331− - distributed-process-supervisor
2658+ "Tom Nielsen <tanielsen@gmail.com> @glutamate":
2659+ - datasets
2660+
2661+ "Hyunje Jun <me@noraesae.net> @noraesae":
2662+ - line
2663+
2664+ "Hannes Saffrich <m0rphism@zankapfel.org> @m0rphism":
2665+ - dmenu
2666+ - dmenu-pmount
2667+ - dmenu-pkill
2668+ - dmenu-search
2669+ - printcess
2670+
2671+ "Alexey Kuleshevich <lehins@yandex.ru> @lehins":
2672+ - hip
13322673
1333− # Fails sporadically
1334− - crypto-numbers
1335− - distributed-process-task
2674+ "Hans-Peter Deifel <hpd@hpdeifel.de> @hpdeifel":
2675+ - hledger-iadd
2676+
2677+ "Roy Levien <royl@aldaron.com> @orome":
2678+ - crypto-enigma
2679+
2680+ "Boldizsár Németh <nboldi@elte.hu> @nboldi":
2681+ - instance-control
2682+ - references
2683+ - haskell-tools-ast
2684+ - haskell-tools-backend-ghc
2685+ - haskell-tools-rewrite
2686+ - haskell-tools-prettyprint
2687+ #- haskell-tools-refactor
2688+ - haskell-tools-demo
2689+ #- haskell-tools-cli
2690+ - haskell-tools-daemon
2691+ - haskell-tools-debug
2692+
2693+ "David Fisher <ddf1991@gmail.com> @ddfisher":
2694+ - socket-activation
2695+
2696+ # If you stop maintaining a package you can move it here.
2697+ # It will then be disabled if it starts causing problems.
2698+ # See https://github.com/fpco/stackage/issues/1056
2699+ "Abandoned packages":
2700+ - curl
13362701
1337− # https://github.com/vincenthz/hs-crypto-pubkey/issues/17
1338− - crypto-pubkey
2702+ # Purescript
2703+ - bower-json
2704+ - boxes
2705+ - pattern-arrows
2706+ # - purescript # BLOCKED aeson-1.0
13392707
1340− # https://github.com/kazu-yamamoto/unix-time/issues/29
1341− - unix-time
2708+ - type-list
2709+ - vinyl-utils
2710+ - language-lua2 # https://github.com/mitchellwrosen/language-lua2/issues/4
13422711
1343− # Tests can fail when the build plan fails, which happens arbitrarily.
1344− - stackage
2712+ # If you want to make sure a package is removed from stackage,
2713+ # place it here with a `< 0` constraint and send a pull
2714+ # request. This will tell us if other packages would be
2715+ # affected. Packages will be kept in this list indefinitely so
2716+ # that new packages depending on it will be flagged as well.
2717+ "Removed packages": []
13452718
1346− # https://github.com/TomMD/DRBG/issues/7
1347− - DRBG
2719+ "GHC upper bounds":
2720+ # Need to always match the version shipped with GHC
2721+ - Win32 == 2.3.1.1
13482722
1349− # https://github.com/bos/wreq/issues/53
1350− - wreq
2723+ "Stackage upper bounds":
2724+ # https://github.com/fpco/stackage/issues/2037
2725+ - haskell-src-exts < 1.19
13512726
1352− # Requires local database running
1353− - rethinkdb-client-driver
2727+ # https://github.com/fpco/stackage/issues/2042
2728+ - network-multicast < 0.2
13542729
1355− # https://github.com/haskell-distributed/distributed-process-execution/issues/2
1356− - distributed-process-execution
2730+ # https://github.com/haskell/vector/issues/142
2731+ - primitive < 0.6.2.0
13572732
1358− # Seems to depend on mtl being installed in user package database, which
1359− # isn't always the case (e.g., build server)
1360− - happy
2733+ # https://github.com/fpco/stackage/issues/2127
2734+ - leapseconds-announced < 2017.0.0.1
13612735
1362− # https://github.com/jberryman/directory-tree/issues/4
1363− - directory-tree
2736+ # https://github.com/fpco/stackage/issues/2032
2737+ - datasets < 0.2.2
13642738
1365− # https://github.com/ndmitchell/hoogle/issues/101
1366− - hoogle
2739+ # https://github.com/fpco/stackage/issues/2136
2740+ - X11 < 1.7
13672741
1368− # https://github.com/myfreeweb/gitson/issues/1
1369− - gitson
2742+ # https://github.com/fpco/stackage/issues/2177
2743+ - aeson < 1.1.0.0
13702744
1371− # https://github.com/jcristovao/enclosed-exceptions/issues/6
1372− - enclosed-exceptions
2745+ # https://github.com/fpco/stackage/issues/2180
2746+ - MonadRandom < 0.5
13732747
1374− # Expects a running PostgreSQL server
1375− - users-postgresql-simple
2748+ # https://github.com/fpco/stackage/issues/2184
2749+ # https://github.com/ekmett/hashable-extras/pull/3
2750+ - hashable < 1.2.5.0
13762751
1377− # Problems with linking with system libraries on Ubuntu 12.04
1378− - nettle
2752+ # https://github.com/fpco/stackage/issues/2194
2753+ - vector < 0.12.0.0
13792754
1380− # Requires locally running services
1381− - network-anonymous-i2p
2755+ # https://github.com/fpco/stackage/issues/2197
2756+ - brick < 0.16
13822757
1383− # Tests not reliable on non-Windows systems
1384− - nsis
2758+# end of packages
13852759
1386− # Requires running server
1387− - consul-haskell
1388− - hedis
1389− - redis-io
2760+# Package flags are applied to individual packages, and override the values of
2761+# global-flags
2762+package-flags:
2763+ brick:
2764+ demos: true
2765+
2766+ mersenne-random-pure64:
2767+ small_base: false
2768+
2769+ cloud-haskell:
2770+ tcp: true
2771+ simplelocalnet: true
2772+ p2p: true
2773+
2774+ logfloat:
2775+ splitbase: true
2776+
2777+ curl:
2778+ new-base: true
2779+
2780+ hxt:
2781+ network-uri: true
2782+ hxt-http:
2783+ network-uri: true
2784+ hxt-relaxng:
2785+ network-uri: true
13902786
1391− # https://code.google.com/p/scrapyourboilerplate/issues/detail?id=26&thanks=26&ts=1430372304, GHC 7.10
1392− - syb
2787+ pandoc:
2788+ https: true
2789+ old-locale: false
13932790
1394− # https://github.com/lymar/hastache/issues/47 GHC 7.10
1395− - hastache
2791+ text:
2792+ integer-simple: false
13962793
1397− # https://github.com/simonmar/alex/issues/62 GHC 7.10
1398− - alex
2794+ tar:
2795+ old-time: false
13992796
1400− # https://github.com/haskell-suite/haskell-names/issues/63 GHC 7.10
1401− - haskell-names
2797+ time-locale-compat:
2798+ old-locale: false
14022799
1403− # https://github.com/ekmett/hyperloglog/issues/10 GHC 7.10
1404− - hyperloglog
2800+ th-data-compat:
2801+ template-haskell-210: false
2802+ th-reify-compat:
2803+ template-haskell-210: false
14052804
1406− # https://github.com/acid-state/safecopy/issues/25 GHC 7.10
1407− - safecopy
2805+ HsOpenSSL:
2806+ fast-bignum: false
14082807
1409− # https://github.com/ekmett/linear/issues/75 GHC 7.10
1410− - linear
2808+ cabal-rpm:
2809+ old-locale: false
14112810
1412− # https://github.com/haskell/haddock/issues/390 GHC 7.10
1413− - haddock-library
2811+ NineP:
2812+ bytestring-in-base: false
2813+
2814+ nix-paths:
2815+ allow-relative-paths: true
2816+
2817+ fay:
2818+ test: true
2819+
2820+ reedsolomon:
2821+ llvm: false
2822+
2823+ # https://github.com/ghcjs/jsaddle/issues/9
2824+ jsaddle:
2825+ gtk3: true
2826+
2827+ ghc-heap-view:
2828+ ghc_7_7: false
2829+ ghc_8_0: true
2830+
2831+# end of package-flags
2832+
2833+# Special configure options for individual packages
2834+
2835+configure-args:
2836+ jni:
2837+ - --extra-lib-dirs
2838+ - /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server
2839+ - --extra-include-dirs
2840+ - /usr/lib/jvm/java-8-openjdk-amd64/include
2841+ - --extra-include-dirs
2842+ - /usr/lib/jvm/java-8-openjdk-amd64/include/linux
2843+ jvm:
2844+ - --extra-lib-dirs
2845+ - /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server
2846+ - --extra-include-dirs
2847+ - /usr/lib/jvm/java-8-openjdk-amd64/include
2848+ - --extra-include-dirs
2849+ - /usr/lib/jvm/java-8-openjdk-amd64/include/linux
2850+ sparkle:
2851+ - --extra-lib-dirs
2852+ - /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server
2853+ - --extra-include-dirs
2854+ - /usr/lib/jvm/java-8-openjdk-amd64/include
2855+ - --extra-include-dirs
2856+ - /usr/lib/jvm/java-8-openjdk-amd64/include/linux
2857+ hocilib:
2858+ - --extra-lib-dirs
2859+ - /usr/local/lib
2860+
2861+# end of configure-args
2862+
2863+
2864+# Used for packages that cannot be built on Linux
2865+skipped-builds:
2866+ - hfsevents
2867+ - Win32
2868+ - Win32-notify
2869+ - Win32-extras
2870+
2871+# end of skipped-builds
14142872
1415− # https://github.com/ekmett/machines/issues/44
1416− - machines
14172873
1418− # https://github.com/haskell/ghc-events/issues/9
1419− - ghc-events
2874+# By skipping a test suite, we do not pull in the build dependencies
2875+# Packages should only be added here if required by `stackage-curator check'
2876+# or if Setup fails because of missing foreign libraries.
2877+# Otherwise place them in expected-test-failures.
2878+skipped-tests:
2879+ # Outdated dependencies
2880+ # These can periodically be checked for updates;
2881+ # just remove these lines and run `stackage-curator check' to verify.
2882+ # # HUnit 1.5
2883+ - GLFW-b
2884+ - Glob
2885+ - HTTP
2886+ - bindings-GLFW
2887+ - case-insensitive
2888+ - darcs
2889+ - exception-transformers
2890+ - extensible-effects
2891+ - fclabels
2892+ - language-ecmascript
2893+ - lifted-base
2894+ - parsec
2895+ - rank1dynamic
2896+ - threads
2897+ - tz
2898+ - tzdata
2899+ - uuid
2900+ - uuid-types
2901+ # # Other outdated dependencies
2902+ - Cabal # QuickCheck 2.9
2903+ - ReadArgs # https://github.com/rampion/ReadArgs/issues/8
2904+ - bytestring-handle # QuickCheck 2.9
2905+ - cases # https://github.com/nikita-volkov/cases/pull/3
2906+ - chell # options & via chell-quickcheck
2907+ - clay # hspec 2.3
2908+ - ed25519 # QuickCheck 2.9
2909+ - fgl # hspec 2.3
2910+ - fgl-arbitrary # hspec 2.3
2911+ - hasql # QuickCheck 2.9
2912+ - hastache # https://github.com/lymar/hastache/pull/53
2913+ - heaps # https://github.com/ekmett/heaps/pull/8
2914+ - hyphenation # https://github.com/ekmett/hyphenation/pull/10
2915+ - next-ref # hspec 2.3
2916+ - point-octree # hspec 2.2.4 https://github.com/mlitchard/point-octree/issues/1
2917+ - servant-mock # hspec-wai 0.8
2918+ - snap # QuickCheck 2.9
2919+ - state-plus # QuickCheck 2.9
2920+ - system-filepath # QuickCheck 2.9 via chell-quickcheck
2921+ - terminal-progress-bar # fixed on master, depends on older version of itself
2922+ - vector # https://github.com/haskell/vector/commit/31edb3fc51e76facc1e291f1e9e721663d91dbd8
2923+
2924+ # Transitive outdated dependencies
2925+ # These packages
2926+ # These can also be checked for updates periodically.
2927+ - MissingH # via testpack https://github.com/jgoerzen/testpack/issues/11
2928+ - clustering # via RLang-QQ via HList https://github.com/kaizhang/clustering/issues/2 (also sent e-mail to HList maintainer)
2929+ - options # QuickCheck via chell-quickcheck
2930+
2931+ # Blocked by stackage upper bounds. These can be re-enabled once
2932+ # the relevant stackage upper bound is lifted.
2933+
2934+
2935+ # Runtime issues
2936+ - blank-canvas # Never finishes https://github.com/ku-fpg/blank-canvas/issues/73
2937+ - binary-search # Never finishes https://github.com/nushio3/binary-search/issues/2
2938+ - jsaddle # Never finishes without framebuffer https://github.com/ghcjs/jsaddle/issues/9
2939+
2940+ # Missing foreign library
2941+ - symengine # symengine
2942+
2943+
2944+ # Wontfix. The maintainer chose to keep these broken/outdated, only
2945+ # re-enable if requested.
2946+ - postgresql-binary # https://github.com/nikita-volkov/postgresql-binary/issues/6#issuecomment-243063139
2947+
2948+ - optparse-applicative # https://github.com/pcapriotti/optparse-applicative/issues/228
2949+
2950+
2951+# end of skipped-tests
14202952
1421− # https://github.com/ekmett/parsers/issues/47
1422− - parsers
2953+# Tests which we should build and run, but which are expected to fail. We
2954+# should not fail a build based on a test failure for one of these packages.
2955+expected-test-failures:
14232956
1424− # Requires a running server
2957+ # Intermittent failures or unreliable. These tests may pass when
2958+ # re-enabled, but will eventually fail again. Only remove these
2959+ # from expected-failures if we know a fix has been released.
2960+ - aeson-lens # https://github.com/tanakh/aeson-lens/issues/10
2961+ - cabal-debian # https://github.com/ddssff/cabal-debian/issues/50
2962+ - crypto-numbers
2963+ - css-text # 0.1.2.2 https://github.com/yesodweb/css-text/issues/10
2964+ - distributed-process
2965+ - distributed-process-execution # https://github.com/haskell-distributed/distributed-process-execution/issues/2
2966+ - distributed-process-task
2967+ - fsnotify # Often runs out of inotify handles
2968+ - idris # https://github.com/fpco/stackage/issues/1382
2969+ - ihaskell # https://github.com/gibiansky/IHaskell/issues/551
2970+ - math-functions # https://github.com/bos/math-functions/issues/25
2971+ - network # Unfortunately network failures seem to happen haphazardly
2972+ - nsis # Intermittent on non-Windows systems
2973+ - pandoc-citeproc # https://github.com/jgm/pandoc-citeproc/issues/172
2974+ - spdx # https://github.com/phadej/spdx/issues/8
2975+ - statistics # https://github.com/bos/statistics/issues/42
2976+ - haskell-tools-refactor # https://github.com/haskell-tools/haskell-tools/issues/231
2977+ - foldl-statistics # https://github.com/data61/foldl-statistics/issues/2
2978+
2979+ # Timeouts
2980+ # These tests sometimes take too long and hit the stackage build
2981+ # servers time limit so these shouldn't be removed from
2982+ # expected-tests unless we know a fix has been released.
2983+ - cabal-helper
2984+ - generic-random
2985+ - lens
2986+ - graphviz
2987+ - punycode
2988+ - zip
2989+
2990+ # Requires running servers, accounts, or a specific
2991+ # environment. These shouldn't be re-enabled unless we know a fix
2992+ # has been released.
2993+ - mysql-haskell # Requires local mysql server with a test account, and binlog enabled.
2994+ - GLFW-b # X
2995+ - HTF # Requires shell script and are incompatible with sandboxed package databases
2996+ - HaRe # # Needs ~/.ghc-mod/cabal-helper https://github.com/fpco/stackage/pull/906
2997+ - amqp
2998+ - aws # AWS Credentials
2999+ - bindings-GLFW # Expects running X server
14253000 - bitcoin-api
14263001 - bitcoin-api-extra
3002+ - bitcoin-api-extra
3003+ - bloodhound # ElasticSearch
3004+ - cabal-install
3005+ - consul-haskell
3006+ - dbmigrations # PostgreSQL
3007+ - dns # https://github.com/kazu-yamamoto/dns/issues/29
3008+ - drifter-postgresql # PostgreSQL
3009+ - etcd # etcd https://github.com/fpco/stackage/issues/811
3010+ - eventstore # Event Store
3011+ - fb # Facebook app
3012+ - ghc-imported-from # depends on haddocks being generated first https://github.com/fpco/stackage/pull/1315
3013+ - ghc-mod # https://github.com/DanielG/ghc-mod/issues/611
3014+ - gitson # 0.5.2 error with git executable https://github.com/myfreeweb/gitson/issues/1
3015+ - gitson # https://github.com/myfreeweb/gitson/issues/1
3016+ - happy # Needs mtl in the user package DB
3017+ - haskell-neo4j-client # neo4j with auth disabled
3018+ - hasql # PostgreSQL
3019+ - hasql-transaction # PostgreSQL
3020+ - hedis
3021+ - hocilib # oracle
3022+ - hworker
3023+ - jvm
3024+ - katip-elasticsearch # elasticsearch
3025+ - log # ElasticSearch
3026+ - mangopay # https://github.com/prowdsponsor/mangopay/issues/30
3027+ - memcached-binary # memcached
3028+ - mongoDB # mongoDB - https://github.com/mongodb-haskell/mongodb/issues/61
3029+ - mysql # MySQL
3030+ - mysql-simple # MySQL
3031+ - network-anonymous-i2p
3032+ - opaleye # PostgreSQL
3033+ - persistent-redis # redis - https://github.com/fpco/stackage/pull/1581
3034+ - pipes-mongodb
3035+ - postgresql-query # PostgreSQL
3036+ - postgresql-simple # PostgreSQL
3037+ - purescript # git 128 https://github.com/purescript/purescript/issues/2292
3038+ - redis-io
3039+ - rethinkdb
3040+ - rethinkdb-client-driver
3041+ - riak
3042+ - serialport # "The tests need two serial ports as command line arguments" https://github.com/jputcu/serialport/issues/30
3043+ - serversession-backend-redis # redis
3044+ - shake # Needs ghc on $PATH with some installed haskell packages
3045+ - singletons # Needs ghc on $PATH with som installed haskell packages
3046+ - users-postgresql-simple # PostgreSQL
3047+ - wai-cors # PhantomJS
3048+ - wai-session-postgresql # PostgreSQL
3049+ - webdriver-angular # webdriver server
3050+ - yahoo-finance-api # Requires being able to access Yahoo Finance API
3051+
3052+ # Test executable requires arguments
3053+ - hpqtypes
3054+
3055+ # Deprecated
3056+ # Eventually we'll have to disable these packages completely.
3057+ - doctest-prop # https://github.com/bitemyapp/bloodhound/issues/146
3058+ - system-filepath # https://github.com/jmillikin/haskell-filesystem/issues/3
3059+
3060+ # Missing test files in sdist
3061+ # Hopefully gets fixed in the next release...
3062+ - angel # https://github.com/MichaelXavier/Angel/issues/43
3063+ - camfort # 0.900 https://github.com/camfort/camfort/issues/41
3064+ - crypto-pubkey # https://github.com/vincenthz/hs-crypto-pubkey/issues/23
3065+ - ghc-events # https://github.com/haskell/ghc-events/issues/9
3066+ - graylog # 0.1.0.1 https://github.com/fpco/stackage/pull/1254
3067+ - haskell-names # 0.7.0 https://github.com/haskell-suite/haskell-names/issues/78
3068+ - rematch # No issue tracker, sent e-mail to maintainer https://github.com/fpco/stackage/issues/376
3069+ - xlsior # https://github.com/rcallahan/xlsior/issues/1
3070+ - ginger # https://bitbucket.org/tdammers/ginger/issues/1/test-suite-failure-due-to-missing-test
3071+ - yi-keymap-vim # https://github.com/yi-editor/yi/issues/954
3072+
3073+ # Assertion failures, these can be real bugs or just limitations
3074+ # in the test cases.
3075+ - DRBG # https://github.com/TomMD/DRBG/issues/7
3076+ - cayley-client # https://github.com/MichelBoucey/cayley-client/issues/2
3077+ - clash-prelude # 0.10.14 Runtime errors https://github.com/clash-lang/clash-prelude/issues/57
3078+ - direct-sqlite # 2.3.17 https://github.com/IreneKnapp/direct-sqlite/issues/63
3079+ - ed25519 # 0.0.5.0 https://github.com/thoughtpolice/hs-ed25519/issues/15
3080+ - nettle # https://github.com/stbuehler/haskell-nettle/issues/8
3081+ - th-printf # 0.3.1 https://github.com/pikajude/th-printf/issues/3
3082+ - wreq # https://github.com/bos/wreq/issues/53
3083+ - xmonad # 0.12 https://github.com/xmonad/xmonad/issues/36
3084+
3085+ # Compilation failures
3086+ - ListLike # No issue tracker, e-mail sent to maintainer
3087+ - dbus # 0.10.12 No issue tracker, e-mail sent to maintainer
3088+ - hspec-expectations-pretty-diff # GHC 8 issue not reported upstream since issue tracker disabled
3089+ - jose-jwt # doctest ambiguity https://github.com/fpco/stackage/issues/2169
3090+ - servant-server # 0.9.1.1 due to hspec-wai-0.8.0 https://github.com/haskell-servant/servant/issues/643
3091+ - sourcemap # https://github.com/chrisdone/sourcemap/issues/3
3092+ - text-ldap # # https://github.com/khibino/haskell-text-ldap/issues/1
3093+ - thyme # https://github.com/liyang/thyme/issues/50
3094+ - tries # https://github.com/athanclark/tries/issues/2
3095+ - wai-middleware-content-type # 0.4.1 - https://github.com/athanclark/wai-middleware-content-type/issues/2
3096+ - xmlgen # https://github.com/skogsbaer/xmlgen/issues/6
3097+ - Spock-core # https://github.com/agrafix/Spock/issues/102
3098+
3099+ # Misc.
3100+ - distributed-process-supervisor # # https://github.com/haskell-d
3101+ - ghcid # Weird conflicts with sandboxingistributed/distributed-process-supervisor/issues/1
3102+ - haskell-docs # GHC bug
3103+
3104+ # Stackage upper bounds, re-enable these when their upper bound is removed
3105+ - hindent # 4.6.4
3106+
3107+ # Recursive deps https://github.com/fpco/stackage/issues/1818
3108+ - clock # 0.7.2 clock:test => tasty:lib => clock:lib
3109+ - options
3110+ - text # 1.2.2.1
3111+ - wai-logger # Missing build dep because of this https://github.com/kazu-yamamoto/logger/issues/42
14273112
1428− # https://github.com/ekmett/semigroupoids/issues/34
1429− - semigroupoids
3113+ # Problem on the stackage build server, we need to dig deeper into
3114+ # these if we want them fixed
3115+ - stack # Permissions failure when creating /home/stackage/.stack.
3116+ - skein # openfile: does not exist https://github.com/fpco/stackage/issues/1187
14303117
1431− # https://github.com/kazu-yamamoto/dns/issues/29
1432− - dns
3118+ - snap-core # https://github.com/snapframework/snap-core/issues/26
14333119
1434− # https://github.com/afcowie/http-streams/issues/80
1435− - http-streams
3120+ - hackernews # https://github.com/dmjio/hackernews/issues/19
14363121
1437− # No PhantomJS available
1438− - wai-cors
3122+ - language-lua2 # https://github.com/mitchellwrosen/language-lua2/issues/4
14393123
1440−# Haddocks which are expected to fail. Same concept as expected test failures.
1441−expected-haddock-failures:
1442− # https://github.com/acw/bytestring-progress/issues/4
1443− - bytestring-progress
3124+ - commutative # https://github.com/athanclark/commutative/issues/4
14443125
1445− # https://github.com/leventov/yarr/issues/5
1446− - yarr
3126+ - cubicbezier # https://github.com/kuribas/cubicbezier/issues/3
14473127
1448− # https://github.com/wereHamster/rethinkdb-client-driver/issues/1
1449− - rethinkdb-client-driver
3128+ - yesod-auth-basic # https://github.com/creichert/yesod-auth-basic/issues/1
3129+
3130+ - folds # https://github.com/ekmett/folds/issues/12
3131+# end of expected-test-failures
3132+
3133+# Benchmarks which are known not to build. Note that, currently we do not run
3134+# benchmarks, and therefore failures are only for building, not running.
3135+expected-benchmark-failures:
3136+ # Recursive deps https://github.com/fpco/stackage/issues/1818
3137+ - attoparsec
3138+ - hashable
3139+ - unordered-containers # 0.2.7.1 unordered-containers:bench -> criterion:lib -> aeson:lib -> unordered-containers:lib
3140+
3141+ # stack bug https://github.com/commercialhaskell/stack/issues/2153
3142+ - scientific
3143+ - vector-binary-instances
3144+
3145+ # Missing files in sdist
3146+ - cassava # https://github.com/hvr/cassava/pull/117
3147+ - picoparsec # https://bitbucket.org/blamario/picoparsec/issues/3/benchmark-compilation-failure
3148+
3149+ # Compilation failures
3150+ - Frames # https://github.com/acowley/Frames/issues/47
3151+ - cryptohash # https://github.com/vincenthz/hs-cryptohash/pull/43
3152+ - dbus # No issue tracker, sent e-mail to maintainer
3153+ - thyme # https://github.com/liyang/thyme/issues/50
3154+ - xmlgen # https://github.com/skogsbaer/xmlgen/issues/6
3155+
3156+# end of expected-benchmark-failures
3157+
3158+
3159+# Haddocks which are expected to fail. Same concept as expected test failures.
3160+expected-haddock-failures:
14503161
14513162 # Requires build before haddock, which doesn't always happen in incremental
14523163 # builds. Could consider special-casing this requirement.
14533164 - gtk
14543165 - gtk3
14553166
1456− # Not sure why, but it's a temporary package anyway
1457− - Cabal-ide-backend
3167+ # Intermittent failures or unreliable. These tay pass when
3168+ # re-enabled, but will eventually fail again. Only remove these
3169+ # from expected-haddock-failures if we know a fix has been released.
3170+ - gi-gtk # Uses all memory
3171+
3172+ # Problem on the stackage build server, we need to dig deeper into
3173+ # these if we want them fixed
3174+ - yesod-job-queue # https://github.com/fpco/stackage/issues/1383
3175+
3176+ # "Compilation" errors
3177+ - MemoTrie # https://github.com/conal/MemoTrie/issues/10
3178+ - metrics # https://github.com/iand675/metrics/issues/5
3179+ - text-generic-pretty # https://github.com/fpco/stackage/pull/2160
3180+
3181+ # Haddock bugs
3182+ - swagger2 # https://github.com/GetShopTV/swagger2/issues/66
14583183
1459−# Benchmarks which should not be built. Note that Stackage does *not* generally
1460−# build benchmarks. The difference here will be whether dependencies for these
1461−# benchmarks are included or not.
3184+ # "Argument list too long"
3185+ - classy-prelude-yesod
3186+ - hledger-web
3187+
3188+# end of expected-haddock-failures
3189+
3190+# Benchmarks which should not be built. Note that Stackage builds benchmarks but does not run them.
3191+# By skipping a benchmark, we do not pull in the build dependencies
3192+# Packages should only be added here if required by `stackage-curator check'
3193+# or if Setup fails because of missing foreign libraries.
3194+# Otherwise place them in expected-benchmark-failures.
14623195skipped-benchmarks:
1463− - machines
3196+
3197+ # Outdated dependencies
3198+ # These can periodically be checked for updates;
3199+ # just remove these lines and run `stackage-curator check'
3200+ # to verify.
14643201 - criterion-plus
1465− - graphviz
1466− - lifted-base
1467− - pandoc
1468− - stm-containers
1469− - uuid
14703202
1471− # pulls in criterion-plus, which has restrictive upper bounds
1472− - cases
1473− - hasql-postgres
3203+ # Transitive outdated dependencies
3204+ # These packages
3205+ # These can also be checked for updates periodically.
3206+ - cases # via criterion-plus
3207+ - hasql-postgres # via criterion-plus
3208+ - ttrie # via criterion-plus
3209+ - machines # via pipes
14743210
1475− # https://github.com/vincenthz/hs-crypto-cipher/issues/46
1476− - cipher-aes
1477− - cipher-blowfish
1478− - cipher-camellia
1479− - cipher-des
1480− - cipher-rc4
3211+ # Compilation failures
3212+ - cipher-aes # https://github.com/vincenthz/hs-crypto-cipher/issues/46
3213+ - cipher-blowfish # https://github.com/vincenthz/hs-crypto-cipher/issues/46
3214+ - cipher-camellia # https://github.com/vincenthz/hs-crypto-cipher/issues/46
3215+ - cipher-des # https://github.com/vincenthz/hs-crypto-cipher/issues/46
3216+ - cipher-rc4 # https://github.com/vincenthz/hs-crypto-cipher/issues/46
14813217
1482− # sometimes falls out-of-sync on hasql-postgres
1483− - hasql
3218+ # GHC Bugs
3219+ - hledger-lib # https://github.com/fpco/stackage/issues/1587
14843220
1485− # https://github.com/fpco/stackage/issues/494
1486− - case-insensitive
1487− - postgresql-binary
1488− - scientific
3221+ - pipes # optparse-applicative 0.13
3222+
3223+# end of skipped-benchmarks
14893224
1490− # Pulls in discount which depends on extra C libraries
1491− - cmark
14923225
14933226skipped-profiling:
14943227 # https://github.com/nomeata/ghc-heap-view/commit/8d198eb8fbbad2ce0c4527c781659f35b8909c04#diff-8288955e209cfbead5b318a8598be9c0R10
14953228 - ghc-heap-view
14963229
3230+
14973231# Mapping from Github account holding a package to the Github users who should
14983232# be pinged on failure. If no value is specified here, then the owning account
14993233# will be pinged.
@@ -1518,3 +3252,144 @@ github-users:
15183252 - mihaimaruseac
15193253 elm-lang:
15203254 - JoeyEremondi
3255+ prowdsponsor:
3256+ - meteficha
3257+ analytics:
3258+ - ekmett
3259+ haskell-openal:
3260+ - svenpanne
3261+ # - the-real-blackh
3262+ haskell-opengl:
3263+ - ekmett
3264+ - svenpanne
3265+ # - dagit
3266+ # - elliottt
3267+ # - jmcarthur
3268+ lambdabot:
3269+ - DanBurton
3270+ - mokus0
3271+ haskell-game:
3272+ - ocharles
3273+ Happstack:
3274+ - stepcut
3275+ clckwrks:
3276+ - stepcut
3277+ stackbuilders:
3278+ - sestrella
3279+ - jsl
3280+ - jsantos17
3281+ - mrkkrp
3282+ scotty-web:
3283+ - RyanGlScott
3284+ - xich
3285+ ku-fpg:
3286+ - RyanGlScott
3287+ haskell-compat:
3288+ - RyanGlScott
3289+ haskell-servant:
3290+ - jkarni
3291+ - SoenkeHahn
3292+ vivid:
3293+ - vivid-synth
3294+ midair:
3295+ - vivid-synth
3296+ nano-erl:
3297+ - vivid-synth
3298+ telegram-api:
3299+ - klappvisor
3300+ fpinsight:
3301+ - thierry-b
3302+ arithmoi:
3303+ - Bodigrim
3304+ - cartazio
3305+ - phadej
3306+
3307+# end of github-users
3308+
3309+# begin build-tool-overrides
3310+#
3311+# Used to set a mapping from build tools to package names, ignoring the
3312+# metadata on Hackage itself
3313+
3314+build-tool-overrides:
3315+ # Ignore the cabal-install-ghc72 and cabal-install-ghc74 packages
3316+ cabal:
3317+ - cabal-install
3318+
3319+# end build-tool-overrides
3320+
3321+# Useful for checking for strict upper bounds against new versions of core
3322+# packages, e.g. when a new version of transformers is released
3323+#
3324+# treat-as-non-core:
3325+# - transformers
3326+
3327+# Give an error if the latest package version doesn't match what's
3328+# listed below, see:
3329+# https://github.com/fpco/stackage-curator/issues/25
3330+#
3331+# Example:
3332+# If bindings-GLFW-3.1.2.1 is the current latest version write
3333+# - bindings-GLFW-3.1.2.1 # Comment saying what should be done when the new version is releasedskipped test-suite
3334+tell-me-when-its-released:
3335+- point-octree-0.5.5.3 # re-enable test and then we can resolve https://github.com/fpco/lts-haskell/issues/27
3336+- wreq-0.4.1.0 # Try to re-enable lots of packages, (esp https://github.com/fpco/stackage/issues/2032) and the test-suite if https://github.com/bos/wreq/issues/53 is closed.
3337+- yarr-1.4.0.2 # Re-enable package https://github.com/fpco/stackage/issues/1876
3338+- terminal-progress-bar-0.1.1 # Unskip test suite
3339+- optparse-applicative-0.13.0.0 # Unskip test suite https://github.com/pcapriotti/optparse-applicative/issues/228
3340+- Spock-core-0.11.0.0 # testsuite fail
3341+- vivid-0.2.0.5 # compilation failure
3342+
3343+# Packages which should be hidden after registering, to avoid module name
3344+# conflicts. This is intended for at least two use cases:
3345+#
3346+# * Making doctests pass (https://github.com/yesodweb/wai/issues/579)
3347+#
3348+# * Allowing tools like Stack to get a mapping from module name to package name
3349+# for automatically installing dependencies
3350+hide:
3351+- async-dejafu # https://github.com/yesodweb/wai/issues/579
3352+- monads-tf # mtl is preferred
3353+- protolude # `module Panic` conflicts with base
3354+- crypto-api # `module Crypto.Random` conflicts with cryptonite
3355+- fay-base # conflicts with many modules in base and others
3356+- hashmap # conflicts with Data.HashSet in unordered-containers
3357+- hxt-unicode # conflicts with Data.String.UTF8 in utf8-string
3358+- hledger-web # conflicts with Foundation in foundation
3359+- plot-gtk3 # conflicts with many modules in plot-gtk
3360+- gtk3 # conflicts with many modules in gtk
3361+- regex-pcre-builtin # conflicts with many modules in regex-pcre
3362+- regex-compat-tdfa # conflicts with many modules in regex-compat
3363+- log # conflicts with modules in its dependencies
3364+- zip # conflicts with Codec.Archive.Zip in zip-archive
3365+- monad-extras # conflicts with Control.Monad.Extra in extra
3366+- control-monad-free # conflicts with Control.Monad.Free in free
3367+- prompt # conflicts with Control.Monad.Prompt in MonadPrompt
3368+- kawhi # conflicts with Control.Monad.Http in monad-http
3369+- language-c # conflicts with modules in language-c-quote
3370+- gl # conflicts with modules in OpenGLRaw
3371+- svg-tree # conflicts with Graphics.Svg in svg-builder
3372+- Glob # conflicts with System.FilePath.Glob in filemanip
3373+- nanospec # conflicts with Test.Hspec in hspec
3374+- HTF # conflicts with Test.Framework in test-framework
3375+- courier # conflicts with Network.Transport in network-transport
3376+- newtype-generics # conflicts with Control.Newtype in newtype
3377+- objective # conflicts with Control.Object in natural-transformation
3378+
3379+# Cryptonite deprecations
3380+- cipher-aes
3381+- cipher-blowfish
3382+- cipher-camellia
3383+- cipher-des
3384+- cipher-rc4
3385+- crypto-cipher-types
3386+- crypto-numbers
3387+- crypto-pubkey
3388+- crypto-random
3389+- cryptohash
3390+- cryptohash-conduit
3391+
3392+# cryptohash forks
3393+- cryptohash-md5
3394+- cryptohash-sha1
3395+- cryptohash-sha256
checknew file+6
@@ -0,0 +1,6 @@
1+#!/bin/sh
2+
3+# Convenience script for checking constraints locally
4+
5+cd `dirname $0`
6+exec stack exec --resolver ghc-8.0.1 stackage-curator check
debian-bootstrap.sh+145−48
@@ -1,7 +1,7 @@
1−#!/bin/bash -ex
1+#!/usr/bin/env bash
22
33# Work in progress: create a list of commands necessary to get Stackage
4−# up-and-running on a freshly installed Debian-based system (includin Ubuntu).
4+# up-and-running on a freshly installed Debian-based system (including Ubuntu).
55
66# Quick start:
77# wget -O - https://raw.github.com/fpco/stackage/master/debian-bootstrap.sh | bash -ex
@@ -10,64 +10,161 @@
1010# instructions, see:
1111# http://www.stackage.org/install
1212
13−add-apt-repository -y ppa:zoogie/sdl2-snapshots
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
21+
22+add-apt-repository ppa:hvr/ghc -y
23+add-apt-repository -y ppa:marutter/rrutter
24+# not sure what this was needed for
25+#add-apt-repository -y ppa:openstack-ubuntu-testing/icehouse
26+
27+# Set the GHC version
28+GHCVER=8.0.1
29+
30+# Get Stack
31+apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 575159689BEFB442
32+echo 'deb http://download.fpcomplete.com/ubuntu xenial main'|tee /etc/apt/sources.list.d/fpco.list
1433
1534apt-get update
1635apt-get install -y \
1736 build-essential \
18− libncurses-dev \
37+ ghc-$GHCVER \
38+ ghc-$GHCVER-dyn \
39+ ghc-$GHCVER-prof \
40+ ghc-$GHCVER-htmldocs \
41+ hscolour \
42+ sudo \
43+ curl \
44+ freeglut3-dev \
1945 git \
20− wget \
21− m4 \
22− texlive-full \
23− libgmp3-dev \
24− zlib1g-dev \
25− libedit2 \
46+ libadns1-dev \
47+ libaio1 \
48+ libalut-dev \
49+ libasound2-dev \
50+ libblas-dev \
51+ libbz2-dev \
52+ libcairo2-dev \
53+ libclang-3.7-dev \
54+ libcurl4-openssl-dev \
55+ libdevil-dev \
2656 libedit-dev \
27− freeglut3-dev \
28− libglu1-mesa-dev \
57+ libedit2 \
58+ libfftw3-dev \
59+ libflac-dev \
60+ libfreenect-dev \
61+ libgd2-xpm-dev \
62+ libgeoip-dev \
63+ libgirepository1.0-dev \
64+ libglfw3-dev \
2965 libglib2.0-dev \
30− libcairo2-dev \
31− libpango1.0-dev \
66+ libglu1-mesa-dev \
67+ libgmp3-dev \
68+ libgnutls-dev \
69+ libgsasl7-dev \
70+ libgsl0-dev \
71+ libgtk-3-dev \
3272 libgtk2.0-dev \
33− zip \
34− libdevil-dev \
35− llvm \
36− libbz2-dev \
37− libjudy-dev \
38− libsqlite3-dev \
39− libmysqlclient-dev \
40− libpq-dev \
73+ libgtksourceview-3.0-dev \
74+ libhidapi-dev \
4175 libicu-dev \
42− libssl-dev \
43− libgsl0-dev \
44− libblas-dev \
76+ libjudy-dev \
4577 liblapack-dev \
46− libcurl4-openssl-dev \
47− libfreenect-dev \
48− libnotify-dev \
49− libgd2-xpm-dev \
50− libyaml-dev \
78+ libleveldb-dev \
79+ liblmdb-dev \
5180 liblzma-dev \
81+ libmagic-dev \
82+ libmagickcore-dev \
83+ libmagickwand-dev \
84+ libmarkdown2-dev \
85+ libmpfr-dev \
86+ libmysqlclient-dev \
87+ libncurses-dev \
88+ libnfc-dev \
89+ libnotify-dev \
90+ libopenal-dev \
91+ libpango1.0-dev \
92+ libpcap0.8-dev \
93+ libpq-dev \
5294 libsdl2-dev \
53− libxss-dev \
54− libgtk-3-dev \
95+ libsnappy-dev \
96+ libsndfile1-dev \
97+ libsqlite3-dev \
98+ libssl-dev \
99+ libsystemd-dev \
100+ libtagc0-dev \
101+ libtre-dev \
102+ libudev-dev \
103+ libusb-1.0-0-dev \
104+ libwebkitgtk-3.0-dev \
105+ libxau-dev \
55106 libxml2-dev \
56− libgsasl7-dev \
57− libphash0-dev \
58− libzmq3-dev
107+ libxrandr-dev \
108+ libxss-dev \
109+ libyaml-dev \
110+ libzip-dev \
111+ libzmq3-dev \
112+ llvm-3.7 \
113+ m4 \
114+ nettle-dev \
115+ nodejs \
116+ npm \
117+ openjdk-8-jdk \
118+ r-base \
119+ r-base-dev \
120+ ruby-dev \
121+ stack \
122+ wget \
123+ xclip \
124+ z3 \
125+ zip \
126+ zlib1g-dev
127+
128+# Put documentation where we expect it
129+mv /opt/ghc/$GHCVER/share/doc/ghc-$GHCVER/ /opt/ghc/$GHCVER/share/doc/ghc
130+
131+# Buggy versions of ld.bfd fail to link some Haskell packages:
132+# https://sourceware.org/bugzilla/show_bug.cgi?id=17689. Gold is
133+# faster anyways and uses less RAM.
134+update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.gold" 20
135+update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.bfd" 10
136+
137+# GHC requires a specific LLVM version on the system PATH for its LLVM backend.
138+# This version is tracked here:
139+# https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM/Installing
140+#
141+# GHC 8.0 requires LLVM 3.7 tools (specifically, llc-3.7 and opt-3.7).
142+update-alternatives --install "/usr/bin/llc" "llc" "/usr/bin/llc-3.7" 50
143+update-alternatives --install "/usr/bin/opt" "opt" "/usr/bin/opt-3.7" 50
59144
60−mkdir /tmp/nettle-build
61−(
62−cd /tmp/nettle-build
63−wget https://ftp.gnu.org/gnu/nettle/nettle-2.7.1.tar.gz
64−tar zxf nettle-2.7.1.tar.gz
65−cd nettle-2.7.1
66−./configure --prefix=/usr
67−make
68−make install
145+# install ocilib dependencies then build and install ocilib
146+cd /tmp \
147+ && wget https://storage.googleapis.com/oracle.fpinsight.com/instantClient/oracle-instantclient12.1-basiclite_12.1.0.2.0-2_amd64.deb \
148+ && dpkg -i oracle-instantclient12.1-basiclite_12.1.0.2.0-2_amd64.deb \
149+ && rm -f oracle-instantclient12.1-basiclite_12.1.0.2.0-2_amd64.deb \
150+ && wget https://storage.googleapis.com/oracle.fpinsight.com/instantClient/oracle-instantclient12.1-devel_12.1.0.2.0-2_amd64.deb \
151+ && dpkg -i oracle-instantclient12.1-devel_12.1.0.2.0-2_amd64.deb \
152+ && rm -f oracle-instantclient12.1-devel_12.1.0.2.0-2_amd64.deb \
153+ && wget https://github.com/vrogier/ocilib/archive/v4.2.1.tar.gz \
154+ && tar xvf v4.2.1.tar.gz \
155+ && cd /tmp/ocilib-4.2.1 \
156+ && ./configure --with-oracle-import=linkage \
157+ --with-oracle-charset=ansi \
158+ --with-oracle-headers-path=/usr/include/oracle/12.1/client64 \
159+ --with-oracle-lib-path=/usr/lib/oracle/12.1/client64/lib \
160+ && make \
161+ && make install \
162+ && cd \
163+ && rm -rf /tmp/ocilib-4.2.1 \
164+ && echo "/usr/local/lib" > /etc/ld.so.conf.d/usr-local.conf \
165+ && echo "/usr/lib/oracle/12.1/client64/lib" > /etc/ld.so.conf.d/oracle-client.conf \
166+ && ldconfig
69167
70−mkdir -p /usr/lib/x86_64-linux-gnu/
71−ln -sfv /usr/lib/libnettle.so.4.7 /usr/lib/x86_64-linux-gnu/libnettle.so.4
72−)
73−rm -rf /tmp/nettle-build
168+# Add JDK to system paths.
169+echo "/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/" > /etc/ld.so.conf.d/openjdk.conf \
170+ && ldconfig