on master help sign in
87 files changed+10819−2039
since splitsnapshots
unifiedsplit
.dockerignore+2 .github/PULL_REQUEST_TEMPLATE.md+22 .github/workflows/check.yml+21 .github/workflows/image.yml+26 .gitignore+4 .travis.yml−40 CODE_OF_CONDUCT.md+3 CURATORS.md+492−52 DATA-FLOW.md+4−4 Dockerfile+9−2 MAINTAINERS.md+209−49 README.md+85−29 Stackage/Config.hs−8 automated/.gitignore+2−12 automated/build.sh+81−52 automated/check-cabal.sh−72 automated/cron.sh−15 automated/dockerfiles/README.md+33 automated/dockerfiles/build.sh+177 automated/dockerfiles/lts-10.0/Dockerfile+67 automated/dockerfiles/lts-10.1/Dockerfile+3 automated/dockerfiles/lts-10.5/Dockerfile+3 automated/dockerfiles/lts-11.0/Dockerfile+67 automated/dockerfiles/lts-11.22/Dockerfile+3 automated/dockerfiles/lts-11.6/Dockerfile+3 automated/dockerfiles/lts-12.0/Dockerfile+69 automated/dockerfiles/lts-12.13/Dockerfile+3 automated/dockerfiles/lts-12.15/Dockerfile+14 automated/dockerfiles/lts-12.21/Dockerfile+3 automated/dockerfiles/lts-12.26/Dockerfile+89 automated/dockerfiles/lts-13.0/Dockerfile+69 automated/dockerfiles/lts-13.12/Dockerfile+93 automated/dockerfiles/lts-13.20/Dockerfile+93 automated/dockerfiles/lts-13.25/Dockerfile+3 automated/dockerfiles/lts-13.27/Dockerfile+9 automated/dockerfiles/lts-13.3/Dockerfile+10 automated/dockerfiles/lts-14.0/Dockerfile+89 automated/dockerfiles/lts-14.0/Dockerfile.sub+89 automated/dockerfiles/lts-15.0/Dockerfile+89 automated/dockerfiles/lts-15.10/Dockerfile+3 automated/dockerfiles/lts-15.5/Dockerfile+89 automated/dockerfiles/lts-16.0/Dockerfile+90 automated/dockerfiles/lts-16.12/Dockerfile+90 automated/dockerfiles/lts-16.8/Dockerfile+3 automated/dockerfiles/lts-17.0/Dockerfile+90 automated/dockerfiles/lts-17.10/Dockerfile+3 automated/dockerfiles/lts-17.3/Dockerfile+90 automated/dockerfiles/lts-18.0/Dockerfile+90 automated/dockerfiles/lts-18.7/Dockerfile+90 automated/dockerfiles/lts-9.0/Dockerfile+55 automated/dockerfiles/lts-9.20/Dockerfile+3 automated/dockerfiles/lts-9.21/Dockerfile+3 automated/run-nightly.sh+1−6 become-a-curator.md+44 build-constraints.yaml+6341−1598 check+10−2 commenter+20 debian-bootstrap.sh+232−35 etc/check.sh+28 etc/commenter/.gitignore+3 etc/commenter/Cargo.lock+365 etc/commenter/Cargo.toml+14 etc/commenter/README.md+3 etc/commenter/commenter+2 etc/commenter/latest-version/LICENSE+30 etc/commenter/latest-version/README.md+1 stackage/Setup.hs → etc/commenter/latest-version/Setup.hs etc/commenter/latest-version/cabal.project+6 etc/commenter/latest-version/latest-version.cabal+23 etc/commenter/latest-version/src/Main.hs+28 etc/commenter/latest-version/stack.yaml+4 etc/commenter/latest-version/stack.yaml.lock+13 etc/commenter/src/lib.rs+574 etc/commenter/src/main.rs+171 etc/curator-exes/.gitignore+1 etc/curator-exes/Dockerfile+13 etc/curator-exes/README.md+5 etc/curator-exes/run.sh+11 etc/curator-exes/stack.yaml+22 etc/diskspace/clean-old-stack-libs.sh+13 etc/diskspace/remove-old-stack-work-libs.hs+57 stackage/ChangeLog.md−9 stackage/LICENSE−20 stackage/README.md−2 stackage/Stackage/Dummy.hs−3 stackage/stackage.cabal−29 verify-package+47
.dockerignore+2
@@ -6,3 +6,5 @@ cabal.sandbox.config
66tarballs
77*.yaml
88.git
9+automated
10+.github
.github/PULL_REQUEST_TEMPLATE.mdnew file+22
@@ -0,0 +1,22 @@
1+Checklist:
2+- [ ] Meaningful commit message, eg `add my-cool-package` (please don't mention `build-constraints.yml`)
3+- [ ] At least 30 minutes have passed since uploading to Hackage
4+- [ ] On your own machine, you have successfully run the following command (find verify-package in the root of this repo):
5+
6+ ./verify-package $package # or $package-$version
7+
8+The script runs virtually the following commands in a clean directory:
9+
10+ stack unpack $package-$version # `-$version` is optional
11+ cd $package-$version
12+ rm -f stack.yaml && stack init --resolver nightly --ignore-subdirs
13+ stack build --resolver nightly --haddock --test --bench --no-run-benchmarks
14+
15+
16+### CI
17+
18+Our CI tries to line up build-constraints.yaml with the current state
19+of Hackage. This means that failures that are unrelated to your PR may
20+cause the check to fail. If you think a failure is unrelated you can
21+simply ignore it and the Curators will let you know if there is
22+anything you need to do.
.github/workflows/check.ymlnew file+21
@@ -0,0 +1,21 @@
1+name: check
2+on:
3+ push:
4+ branches: [ master ]
5+ pull_request:
6+ branches: [ master ]
7+jobs:
8+ build:
9+ runs-on: ubuntu-latest
10+ name: Stackage check
11+ steps:
12+ - uses: actions/checkout@v2
13+ - uses: actions/cache@v2
14+ with:
15+ path: |
16+ ~/.stack
17+ ~/.stackage/curator/cache
18+ key: ${{ runner.os }}-stackage-nightly-${{ hashFiles('**/build-constraints.yaml') }}
19+ restore-keys: |
20+ ${{ runner.os }}-
21+ - run: etc/check.sh
.github/workflows/image.ymlnew file+26
@@ -0,0 +1,26 @@
1+name: image
2+
3+on:
4+ push:
5+ branches:
6+ - nightly
7+ - lts18
8+
9+jobs:
10+ push:
11+ runs-on: ubuntu-latest
12+ if: github.event_name == 'push'
13+
14+ steps:
15+ - uses: actions/checkout@v2
16+
17+ - name: Log into Github registry
18+ run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login docker.pkg.github.com -u ${{ github.actor }} --password-stdin
19+
20+ - name: Build image
21+ run: |
22+ IMAGE_ID=docker.pkg.github.com/${{ github.repository }}/build:${GITHUB_REF#refs/heads/}
23+ #IMAGE_ID=${{ github.repository }}:${GITHUB_REF#refs/heads/}
24+ docker build . -f Dockerfile --tag $IMAGE_ID
25+ docker push $IMAGE_ID
26+ echo Pushed new build image $IMAGE_ID
.gitignore+4
@@ -4,3 +4,7 @@ nightly-*.yaml
44lts-*.yaml
55*.swp
66check-plan.yaml
7+*~
8+/constraints.yaml
9+/snapshot.yaml
10+/snapshot-incomplete.yaml
.travis.ymldeleted−40
@@ -1,40 +0,0 @@
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: c
6−
7−# GHC depends on GMP. You can add other dependencies here as well.
8−addons:
9− apt:
10− packages:
11− - libgmp-dev
12−
13−env:
14−- GHCVER=8.0.1
15−
16−install:
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
23− - wget https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2
24− - bunzip2 stackage-curator.bz2
25− - 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
33−
34−script:
35− - stack --resolver ghc-$GHCVER exec stackage-curator check
36−
37−cache:
38− directories:
39− - $HOME/.stack
40− - $HOME/.stackage/curator/cache
CODE_OF_CONDUCT.mdnew file+3
@@ -0,0 +1,3 @@
1+We use the [Haskell Foundation's Guidelines For Respectful
2+Communication](https://haskell.foundation/guidelines-for-respectful-communication/)
3+as our Code of Conduct.
CURATORS.md+492−52
@@ -1,32 +1,62 @@
11This 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.
2+team who maintain the Stackage project itself - should be doing on a regular basis.
53Curation activities are mostly automated, and do not take up a significant amount of time.
4+The following is the current list of curators, in alphabetical order:
65
7−## Workflow
6+* Adam Bergmark (@bergmark)
7+* Alexey Zabelin (@alexeyzab)
8+* Chris Dornan (@cdornan)
9+* Dan Burton (@danburton)
10+* Jens Petersen (@juhp)
11+* Joe Kachmar (@jkachmar)
12+* Michael Snoyman (@snoyberg)
13+* Mihai Maruseac (@mihaimaruseac)
14+
15+## Workflow overview
816
917This section sketches out at a high level how the entire Stackage build/curation
1018process works:
1119
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+* [build-constraints.yaml](https://github.com/commercialhaskell/stackage/blob/master/build-constraints.yaml) specifies packages to be included in Stackage
21+* [curator](https://github.com/commercialhaskell/curator) combines build-constraints.yaml with the current state of Hackage to create a build plan for a Stackage Nightly
22+* `curator` can check that build plan to ensure all version bounds are consistent
23+ * The [Travis job](https://github.com/commercialhaskell/stackage/blob/master/.travis.yml) performs these two steps to provide immediate feedback on pull requests
24+* Docker Hub [builds](https://github.com/commercialhaskell/stackage/blob/master/Dockerfile) a [Docker image](https://hub.docker.com/r/commercialhaskell/stackage/) for running builds
25+* The stackage-build server (described below) is able to run automated builds using the [build.sh script](https://github.com/commercialhaskell/stackage/blob/master/automated/build.sh)
26+* When a new Nightly build is completed, it is uploaded to [the nightly repo](https://github.com/commercialhaskell/stackage-nightly)
27+* 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/commercialhaskell/lts-haskell)
2028* Cutting a new LTS major release is essentially just a Stackage Nightly that gets rebuilt and uploaded as an LTS
2129
2230## Pull requests
2331
2432The typical story on pull requests is: If Travis accepts it and the
2533author only added packages under his/her own name, merge it. If the
26−build later fails (see below), then block the package until it's
27−fixed.
34+build later fails (see [Adding Debian packages]), then block the
35+package until it's fixed.
36+
37+[Adding Debian packages]: https://github.com/commercialhaskell/stackage/blob/master/CURATORS.md#adding-debian-packages-for-required-system-tools-or-libraries
38+
39+If benchmarks, haddocks, or test suites fails at this point we
40+typically also block the package until these issues are fixed. This in
41+order to add packages with a clean slate.
2842
2943Optionally we can check if packdeps says the package is up to date.
44+Visit http://packdeps.haskellers.com/feed?needle=<package-name>
45+
46+Builds may fail because of unrelated bounds changes. If this happens,
47+first add any version bounds to get master into a passing state (see
48+"Fixing bounds issues"), then re-run the travis build.
49+
50+A common issue is that authors submit newly uploaded packages, it can
51+take up to an hour before this has synced across the stack
52+infrastructure. You can usually compare the versions of the package in
53+https://github.com/commercialhaskell/all-cabal-metadata/tree/master/packages/
54+to what's on hackage to see if this is the case. Wait an hour and
55+re-run the pull request.
56+
57+Tests also commonly fail due to missing test files, and sometimes due
58+to doctest limitations. You can point the maintainer to
59+https://github.com/bergmark/blog/blob/master/2016/package-faq.md
3060
3161## Fixing bounds issues
3262
@@ -36,29 +66,171 @@ issue on the Stackage repo about the problem, and modifying the
3666build-constraints.yaml file to work around it in one of the ways below. Be sure
3767to refer to the issue for workarounds added to that file.
3868
39−* __Temporary upper bounds__ Most common technique, just prevent a new version of a library from being included immediately
40−* __Skipping tests and benchmarks__ If the upper bound is only in a test suite or benchmark, you can add the relevant package to skipped-tests or skipped-benchmarks. For example, if conduit had an upper bound on criterion for a benchmark, you could added conduit as a skipped benchmark.
41−* __Excluding packages__ In an extreme case of a non-responsive maintainer, you can remove the package entirely from Stackage. We try to avoid that whenever possible
69+### Temporary upper bounds
70+
71+Most common technique, just prevent a new version of a library from
72+being included immediately. This also applies to when only benchmarks
73+and tests are affected.
74+
75+* Copy the `curator` output and create a new issue, see e.g
76+https://github.com/commercialhaskell/stackage/issues/2108
77+
78+* Add a new entry under the "stackage upper bounds" section of `build-constraints.yaml`. For the above example it would be
79+
80+```yaml
81+ "Stackage upper bounds":
82+ # https://github.com/commercialhaskell/stackage/issues/2108
83+ - pipes < 4.3.0
84+```
85+
86+* Commit (message e.g. "Upper bound for #2108")
87+* Optionally: Verify with `./check` locally
88+* Push
89+* Verify that everything works on the build server (you can restart the build or wait for it to to run again)
90+
91+Sometimes releases for different packages are tightly coupled. Then it
92+can make sense to combine them into one issue, as in
93+https://github.com/commercialhaskell/stackage/issues/2143.
94+
95+If a dependency that is not explicitly in stackage is causing test or
96+benchmark failures you can skip or expect them to fail (see "Skipping
97+tests and benchmarks" and "Expecting test/benchmark/haddock
98+failures"). Bonus points for reporting this upstream to that packages'
99+maintainer.
100+
101+### Lifting upper bounds
102+
103+You can try this when you notice that a package has been updated. You
104+can also periodically try to lift bounds (I think it's good to do this
105+at the start of your week /@bergmark)
106+
107+If not all packages have been updated check if any of them are missing
108+from the original issue and if so add a new comment mentioning them. A
109+new package may appear if its dependencies were part of this issue but
110+have been updated since the last time we checked. We want to give
111+these new packages ample time to be upgraded.
112+
113+If `curator` is happy commit the change ("Remove upper bounds
114+and close #X"). After doing this the next nightly build may fail
115+because some packages didn't have an upper bound in place, but
116+compilation failed. In this case revert the previous commit so any
117+disabled packages are enabled again, re-open the issue, and add a new
118+comment with the failing packages. This is to give all maintainers
119+enough time to upgrade for this case as well.
120+
121+### Amending upper bounds
122+
123+With the `pipes` example above there was later a new release of
124+`pipes-safe` that required the **newer** version of `pipes`. You can
125+add that package to the same upper bounds section,
126+(e.g. https://github.com/commercialhaskell/stackage/commit/6429b1eb14db3f2a0779813ef2927085fa4ad673)
127+as we want to lift them simultaneously.
128+
129+### Skipping tests and benchmarks
130+
131+Sometimes tests and benchmark dependencies are forgotten or not cared
132+for. To disable compilation for them add them to `skipped-tests` or
133+`skipped-benchmarks`. If a package is added to these sections they
134+won't be compiled, and their dependencies won't be taken into account.
135+
136+There are sub sections under these headers that is used to group types
137+of failures together, and also to document what type of failures
138+exist.
139+
140+### Expecting test/benchmark/haddock failures
141+
142+The difference from the `skipped` sections is that items listed here
143+are compiled and their dependencies are taken into account
144+(but they are allowed to fail to build).
145+These sections also have subsections with groups and descriptions.
146+
147+One big category of test suites in this section are those requiring
148+running services. We don't want to run those, but we do want to check
149+dependencies and compile them.
150+
151+If there are no version bounds that would fix the issue or if you
152+can't figure it out, file it
153+(e.g. https://github.com/commercialhaskell/stackage/issues/2133) to ask the
154+maintainer for help.
155+
156+### Waiting for new releases
157+
158+Sometimes there is a failure reported on a (now possibly closed) issue
159+on an external tracker. If an issue gets resolved but there is no
160+hackage release yet we'd like to get notified when it's uploaded.
161+
162+Add the package with its current version to the
163+`tell-me-when-its-released` section. This will cause the build to stop
164+when the new version is out.
165+
166+### Excluding packages
167+
168+In an extreme case of a non-responsive maintainer, you can remove the
169+package entirely from Stackage. We try to avoid that whenever
170+possible.
171+
172+This typically happens when we move to a new major GHC release or when
173+there are only a few packages waiting for updates on an upper bounds
174+issue.
175+
176+If a package needs to be disabled due to build failures: Add a `< 0`
177+bound to the package to exclude it, and add a comment stating why it
178+was disabled: `- swagger < 0 # compile failure againts aeson 1.0`
179+
180+If a package needs to be disabled due to bounds issues, see the "Large
181+scale enabling/disabling of packages" section below.
182+
183+If this causes reverse dependencies to be disabled we should notify
184+the maintainers of those packages.
185+
42186
43187## Updating the content of the Docker image used for building
44188
45189### Adding Debian packages for required system tools or libraries
46190Additional (non-Haskell) system libraries or tools should be added to `stackage/debian-bootstrap.sh`.
47−Committing the changes to a branch should trigger a DockerHub. Normally only the nightly branch needs to be updated
48−since new packages are not added to the current lts release.
191+After you've committed those changes, merging them into the `nightly` branch should
192+trigger a DockerHub build. Simply run:
193+
194+```bash
195+ $ git checkout nightly
196+ $ git merge master
197+ $ git push
198+```
49199
50200Use [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).
51201
52−Note we generally don't install/run services needed for testsuites in the docker images - packages with tests requiring some system service can be add to expected-test-failures.
202+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`.
203+It's good to inform the maintainer of any disabled tests (commenting in the PR is sufficient).
204+
205+If a new package fails to build because of missing system libraries we often ask the maintainer to help figure out what to install.
53206
54207### Upgrading GHC version
55208The Dockerfile contains information on which GHC versions should be used. You
56−can modify it and push it to Github to trigger a DockerHub build. The nightly
209+can modify it and push it to Github to trigger a build. The nightly
57210branch is used for nightlies. For LTSes, we use the ltsX branch, where X is the
58211major version number (e.g., lts3 for lts-3.\*).
59212
60−Note that when starting a new LTS major release, you'll need to modify Docker
61−Hub to create a new Docker tag for the relevant branch name.
213+Update the `Win32` version in `build-constraints.yaml` under "GHC upper bounds".
214+
215+Note that when starting a new LTS major release, you'll need to modify `.github/workflows/image.yml` to add a new lts branch.
216+
217+Update `GHCVER` in `Dockerfile`. (This env var automatically gets passed to `debian-bootstrap.sh`.)
218+
219+Ensure that the [global-hints.yaml
220+file](https://github.com/fpco/stackage-content/blob/master/stack/global-hints.yaml)
221+is updated with information on the latest GHC release by cloning that
222+repo and running `./update-global-hints.hs ghc-X.Y.Z`.
223+
224+If enountering an error like the following, this means that the Stack metadata
225+has not yet been updated, so wait some time until this happens:
226+
227+```
228+This probably means a GHC bindist has not yet been added for OS key 'linux64', 'linux64-ncurses6', 'linux64-tinfo6'.
229+Supported versions: ...
230+update-global-hints.hs: Received ExitFailure 1 when running
231+```
232+
233+Also required to build an LTS minor bump with a ghc version change: On the build server, modify `/var/stackage/stackage/automated/work/lts-$THIS_LTS_MAJOR_VER/constraints.yaml` and update the ghc-version. (You may need to update sibling files as well.) Then run `NOPLAN=1 /var/stackage/stackage/automated/build.sh lts-$THIS_LTS_MINOR_BUMP` to build the LTS.
62234
63235### Getting the new image to the build server
64236Once a new Docker image is available, you'll need to pull it onto the stackage-build server (see
@@ -70,23 +242,49 @@ docker rm $(docker ps -a -q)
70242docker rmi $(docker images -q)
71243```
72244
73−but `docker pull snoyberg/stackage:nightly` can also be run instead just to update the nightly image say.
245+but `docker pull ghcr.io/commercialhaskell/stackage/build:nightly` can also be run instead just to update the nightly image say.
246+
247+For a new GHC version you should also delete the ~~cache~~ .stack-work snapshot install directories on the stackage-build server to
248+~~force all packages to be rebuilt~~ clear up some space. See: [issue#746](https://github.com/commercialhaskell/stackage/issues/746). Eg:
74249
75−For a new GHC version you should also delete the cache directories on the stackage-build server to
76−force all packages to be rebuilt. See: [issue#746](https://github.com/fpco/stackage/issues/746). Eg:
77250```
78−rm -r nightly/work/builds/nightly/
251+# for example
252+SNAP_SERIES=nightly # or lts16
253+OLD_GHCVER=8.10.1
254+rm -r work/$SNAP_SERIES/unpack-dir/.stack-work/install/x86_64-linux/*/$OLD_GHCVER/
79255```
80256This should also be done when moving the Nightly docker image to a new version of Ubuntu.
81257
258+If you're impatient and would like to build the Docker image on the
259+build server instead of waiting for Docker Hub, you can run the
260+following command (replacing `BRANCH=nightly` if the image for a different branch is desired):
261+
262+```
263+BRANCH=nightly
264+DIR=$(mktemp -d)
265+(cd $DIR \
266+ && git clone https://github.com/commercialhaskell/stackage \
267+ && cd stackage \
268+ && git checkout $BRANCH \
269+ && docker build --tag commercialhaskell/stackage:$BRANCH .)
270+rm -rf $DIR
271+```
272+
273+Note that we do a clean clone of the `stackage` repo instead of using
274+the existing checkout because of how `docker build` works: it will
275+send the entire local directory contents as context to the Docker
276+daemon, which in the case of the build tree is a _lot_ of content. (We
277+can discuss the wisdom&mdash;or lack thereof&mdash;of Docker's
278+approach separately.)
279+
82280## stackage-build server
83281
84282You'll need to get your SSH public key added to the machine. ~/.ssh/config info:
85283
86284```
87285Host stackage-build
88− User ubuntu
89− Hostname ec2-52-5-20-252.compute-1.amazonaws.com
286+ User curators
287+ Hostname build.stackage.org
90288```
91289
92290### Running the build script
@@ -97,42 +295,51 @@ we're just not there yet.
97295
98296```
99297# Run a nightly build
100−/opt/stackage-build/stackage/automated/run-nightly.sh
298+/var/stackage/stackage/automated/run-nightly.sh
101299
102300# Run an LTS minor bump
103−/opt/stackage-build/stackage/automated/build.sh lts-2.17
301+/var/stackage/stackage/automated/build.sh lts-15.1
104302
105303# Run an LTS major bump
106−/opt/stackage-build/stackage/automated/build.sh lts-3.0
304+/var/stackage/stackage/automated/build.sh lts-16.0
107305```
108306
109−Recommended: run these from inside a `screen` session. If you get version bound
307+Recommended: run these from inside a `tmux` session. If you get version bound
110308problems on nightly or LTS major, you need to fix build-constraints.yaml (see
111−info above). For an LTS minor bump, you'll typically want to use the
112−`CONSTRAINTS` environment variable, e.g.:
309+info above).
113310
114−```
115−CONSTRAINTS='--constraint "conduit < 1.4.5" --constraint "criterion < 1.2.3"' /opt/stackage-build/stackage/automated/build.sh lts-2.17
116−```
311+### Building LTS minor releases
312+Before running the build, please make sure that the Dockerfile in `automated/dockerfiles/lts-X.Y` is up to date, where X is the major version that you're building and Y is the latest minor version of X for which a Dockerfile exists.
313+ * If any changes need to be made, (eg, new GHC version), copy `automated/lts-X.Y/Dockerfile` to `automated/lts-X.Z/Dockerfile`, where Z is the minor version you're building, and include the new changes.
314+ * If you are building the first release of a new LTS major version, create a new `lts-X.Z/Dockerfile` based on the previous LTS's, and adjust the variables at the top to match the requirements of the snapshot. Ensure that `STACK_VERSION` is the latest release of Stack, and `BOOTSTRAP_COMMIT` is the commit ID of this repo containing the version of the `bootstrap-commit.sh` used to build the snapshot. Also ensure the FROM image's Ubuntu version matches that used in the [root Dockerfile](Dockerfile) used to build this snapshot.
315+
316+First run `build.sh` to regenerate updated `ltsXX/work/constraints.yaml` and `ltsXX/work/snapshot-incomplete.yaml` files.
117317
118−Valid arguments to include in this environment variable:
318+For an LTS minor bump, you'll typically want to:
119319
120−* `--constraint` to modify an upper or lower bound
121−* `--add-package` to add a brand new package
122−* `--expect-test-failure` to expect tests to fail
123−* `--expect-haddock-failure` to expect haddocks to fail
320+* Add constraints to package `range:` fields _under_ the `source:` field in that `constraints.yaml` (should not be necessary normally to edit `snapshot-incomplete.yaml` to change the version used for that package).
321+* Add new packages to the `constraints.yaml` file
322+* Test, benchmark, haddock failures can also be added to package fields in the `constraints.yaml` if necessary, though it should be avoided if possible for LTS.
323+
324+Then run `NOPLAN=1 build.sh` to build the generate an updated snapshot.
124325
125326If a build fails for bounds reasons, see all of the advice above. If the code
126327itself doesn't build, or tests fail, open up an issue and then either put in a
127328version bound to avoid that version or something else. It's difficult to give
128329universal advice on how to solve things, since each situation is unique. Let's
129−develop this advice over time. For now: if you're not sure, ask Michael for
130−guidance.
330+develop this advice over time. For now: if you're not sure, ask for guidance.
131331
132332__`NOPLAN=1`__ If you wish to rerun a build without recalculating a
133333build plan, you can set the environment variable `NOPLAN=1`. This is
134334useful for such cases as an intermittent test failure, out of memory
135−condition, or manually tweaking the plan file.
335+condition, or manually tweaking the plan file. (When using `NOPLAN=1`,
336+if one needs to revert one package, say due to a build or test regression,
337+one can edit `current-plan.yaml` and updated the SHA256 hash of the .cabal file,
338+to avoid having to rebuild everything again.)
339+
340+Note LTS builds without NOPLAN will use the latest Hackage data.
341+
342+If you need to make further modifications beyond what `constraints.yaml` allows, you can directly edit the `snapshot-incomplete.yaml` file. Then, instead of `NOPLAN=1 build.sh`, you need to use `NOPLAN=2 build.sh`. Note that from this point on, further changes to `constraints.yaml` will not impact the build plan.
136343
137344### Timing
138345
@@ -141,14 +348,247 @@ with `sleep 30m` interleaved. It only publishes the nightly once per
141348day. This way new package versions or build failures can be caught
142349early and hopefully the nightlies will be timely.
143350
144−LTS minor bumps typically are run on Sundays.
351+LTS minor bumps are typically run on weekends. It can be a good idea
352+to start the build on friday or saturday to have enough time to
353+resolve any issues before the next curator shift the coming monday.
145354
146−### Website sync debugging (and other out of disk space errors)
355+### Diskspace errors (and website sync debugging)
147356
148−* You can detect the problem by running `df`. If you see that `/` is out of space, we have a problem
149−* There are many temp files inside `/home/ubuntu/stackage-server-cron` that can be cleared out occasionally
150−* You can then manually run `/home/ubuntu/stackage-server-cron.sh`, or wait for the cron job to do it
357+* You can detect the problem by running `df`. If you see that `/` is out of space, we have a problem.
358+* If you see that `/var/stackage/` is out of space, you can:
359+ * run `./etc/diskspace/clean-old-stack-libs.sh [nightly|lts-XX]`
360+ * If that is insufficient then remove all the old builds under the previous ghc/Cabal version:
361+ * `rm -r /var/stackage/stackage/automated/work/[nightly|lts-XX]/unpack-dir/unpacked/*/.stack-work/dist/x86_64-linux/Cabal-X.Y.0.0/`
362+
363+ optionally (not recommended?):
364+ * `rm -r /var/stackage/stackage/automated/work/lts*/unpack-dir/unpacked/`
365+ * `rm -r /var/stackage/stackage/automated/work/nightly/unpack-dir/unpacked/`
151366
152367### Wiping the cache
153368
154−Sometimes the cache can get corrupted which might manifest as `can't load .so/.DLL`. You can wipe the nightly cache and rebuild everything by doing `rm -rf /opt/stackage-build/stackage/automated/nightly`.
369+Sometimes the cache can get corrupted which might manifest as `can't load .so/.DLL`.
370+You can wipe the nightly cache and rebuild everything by doing
371+`rm -rf /var/stackage/stackage/automated/nightly`.
372+Replace nightly with `lts7` to wipe the LTS 7 cache.
373+
374+### Force a single package rebuild
375+
376+You can force a single package to rebuild by deleting its "previous result"
377+file, e.g.:
378+
379+```
380+$ rm /var/stackage/stackage/automated/nightly/work/builds/nightly/prevres/Build/cryptohash-0.11.9
381+```
382+
383+### Restarting docker
384+
385+If docker hangs with e.g. `docker: Error response from daemon:
386+connection error: desc = "transport: dial unix
387+/var/run/docker/containerd/docker-containerd .sock: connect:
388+connection refused".` you can restart it with `sudo systemctl restart
389+docker.service`.
390+
391+## Local curator setup
392+
393+We do not run the full stackage build locally as that might take too
394+much time. However, some steps on the other hand are much faster to do
395+yourself, e.g. verifying constraints without building anything.
396+
397+To get started, install `curator` via Git:
398+
399+```
400+$ git clone git@github.com:commercialhaskell/curator.git
401+$ cd curator && stack install curator
402+```
403+
404+It is a good idea to upgrade `curator` at the start of your week.
405+Then, clone the stackage repo, get the latest packages and run dependency
406+resolution:
407+
408+```
409+$ git clone git@github.com:commercialhaskell/stackage.git
410+$ cd stackage
411+$ ./check
412+```
413+
414+This can be used to make sure all version bounds are in place, including for
415+test suites and benchmarks, to check whether bounds can be lifted, and to get
416+[tell-me-when-its-released] notifications.
417+
418+`curator` does not build anything, so you wont see any compilation
419+errors for builds, tests and benchmarks.
420+
421+[tell-me-when-its-released]: https://github.com/commercialhaskell/stackage/blob/master/CURATORS.md#waiting-for-new-releases
422+
423+### Large scale enabling/disabling of packages
424+
425+`etc/commenter` is a binary that automates `build-constraints.yaml` workflows.
426+
427+#### Setup
428+This is currently a rust program, You can install the rust toolchain
429+by using [rustup](https://rustup.rs/).
430+
431+For some commands you also need etc/commenter/latest-version installed.
432+```
433+stack install --stack-yaml etc/commenter/latest-version/stack.yaml
434+```
435+
436+#### Example usage
437+
438+After disabling a few packages you get this curator output:
439+
440+```
441+ConfigFile (GHC 9 bounds issues, @maintainer) (not present) depended on by:
442+- [ ] xdg-desktop-entry-0.1.1.1 (-any). @maintainer. Used by: library
443+
444+
445+pipes-misc (GHC 9 bounds issues, @maintainer) (not present) depended on by:
446+- [ ] pipes-fluid-0.6.0.1 (>=0.5). @handles. Used by: test-suite
447+
448+
449+testing-feat (GHC 9 bounds issues, Grandfathered dependencies) (not present) depended on by:
450+- [ ] dual-tree-0.2.3.0 (-any). Grandfathered dependencies. @handles. Used by: test-suite
451+```
452+
453+Now run:
454+```
455+./check 2>&1 >/dev/null | ./commenter add
456+```
457+
458+You will get this output:
459+```
460+[INFO] ...
461+LIBS + EXES
462+
463+ - xdg-desktop-entry < 0 # tried xdg-desktop-entry-0.1.1.1, but its *library* requires the disabled package: ConfigFile
464+
465+TESTS
466+
467+ - dual-tree # tried dual-tree-0.2.3.0, but its *test-suite* requires the disabled package: testing-feat
468+ - pipes-fluid # tried pipes-fluid-0.6.0.1, but its *test-suite* requires the disabled package: pipes-misc
469+
470+Adding 1 libs, 2 tests, 0 benches to build-constraints.yaml
471+```
472+
473+These bounds are added to build-constraints.yaml automatically.
474+
475+Re-run this command until no more packages are disabled.
476+
477+#### Re-enabling
478+
479+We can periodically remove all packages under the bounds sections and then re-run the disabling flow above until we get a clean plan. This will automatically pick up packages that have been fixed.
480+
481+```
482+./commenter clear
483+./check 2>&1 >/dev/null | ./commenter add
484+```
485+
486+Repeat the second command until no updates are made to build-constraints.yaml.
487+
488+#### Checking for new releases
489+
490+Run `stack update` before doing this.
491+
492+`./commenter outdated` looks through all bounds issues and library
493+compilation failures and compares the marked version with the latest hackage release. Example output is
494+
495+```
496+Fin mismatch, manual: 0.2.8.0, hackage: 0.2.9.0
497+aeson mismatch, auto: 1.5.6.0, hackage: 2.0.2.0
498+```
499+
500+where "manual" means the bound was added manually by a curator,
501+perhaps due to a compilation failure so we could try re-enabling the
502+package. "auto" means it's part of the sections generated by
503+`./commenter`, to update that run the `Re-enabling` step as documented
504+above.
505+
506+`outdated` only finds packages that are in the auto generated
507+sections, or that are of the form `- package < 0 # $version`.
508+
509+#### Notes
510+
511+* Please make sure to separate bounds issues from compilation failures/test run failures, as we cannot verify that a package builds or that tests pass without running the build!
512+
513+#### Diffing snapshots / Inspecting changes
514+
515+To diff existing snapshots, or to evaluate changes before they end up
516+in a snapshot you can run:
517+
518+```
519+./commenter diff-snapshot <old-snapshot.yaml> <new-snapshot.yaml>
520+```
521+
522+Existing snapshots can be retrieved from https://github.com/commercialhaskell/stackage-snapshots. Preliminary snapshots can be generated by running relevant parts of `automated/build.sh`, at the time of writing:
523+
524+```
525+TARGET=nightly-2021-01-14 \ # the date doesn't matter
526+ curator update && \
527+ curator constraints --target $TARGET && \
528+ curator snapshot-incomplete --target $TARGET && \
529+ curator snapshot
530+```
531+
532+#### Finding disabled packages with lots of dependents
533+
534+`./commenter disabled` prints the number of transitive dependents a disabled package has. Low hanging fruit to get a lot of packages included again.
535+
536+Example output:
537+```
538+[...]
539+stringable is disabled with 10 dependents
540+llvm-hs is disabled with 12 dependents
541+th-data-compat is disabled with 12 dependents
542+amazonka-core is disabled with 96 dependents
543+gogol-core is disabled with 96 dependents
544+```
545+
546+## Adding new curators
547+
548+1. Add public ssh key to `~/.ssh/authorized_keys` on build server
549+2. Add to commercialhaskell/stackage project.
550+
551+## Dealing with a new GHC release
552+
553+As mentioned in the [GHC upgrade note], the major impact of a new GHC release
554+is on the packages that are causing upper bounds to be put in place. In order
555+to minimise out-of-date breakage and allow maintainers to have a solid chance
556+of getting their packages into the newest LTS, we try to do the following:
557+
558+Make an early announcement (in the form of a blog post, typically) of the new
559+GHC release on the nightly build and the planned deadline for the new LTS release.
560+Make it clear, that in the time coming up to this, we hope package maintainers
561+will upgrade their packages to allow for the new GHC release.
562+
563+We prefer to prune packages causing upper bounds constraints **after** the LTS
564+release to allow the maximum amount of packages to get into the newest LTS.
565+
566+You will almost always need to update the Win32 package version listed in the
567+build-constraints.yaml file.
568+
569+After the first LTS release, the package pruning process may begin in the
570+nightly build in order to move forward with getting the latest versions of
571+packages compatible with the new GHC release.
572+
573+[GHC upgrade note]: https://github.com/commercialhaskell/stackage/blob/master/MAINTAINERS.md#upgrading-to-a-new-ghc-version
574+
575+## New LTS major bump
576+
577+Every 3-6 months, we make a new major release of LTS. The procedure we follow for this is:
578+
579+1. Write a blog post on stackage.org announcing the intent to cut a major
580+ release. Give an estimated date two weeks in the future from the publication
581+ date of the post.
582+2. Spread the blog post on social media and mailing lists as much as possible.
583+3. Expect maintainers to send significant requests for added packages and
584+ relaxed upper bounds. There will likely be some hard decisions to be made
585+ regarding relaxing a bound versus keeping more packages. All of these changes
586+ occur on master and affect nightly.
587+4. Once the estimated date hits, push a new `ltsXX` and wait for the docker image build.
588+5. Run the build procedure for the new LTS release.
589+6. After the LTS build completes, more aggressively prune upper bounds from
590+ `build-constraints.yaml`.
591+7. Once both (5) and (6) are done, publish a new blog post on stackage.org
592+ announcing the new LTS and Nightly, with links to the change pages on
593+ stackage.org. Include a reminder that requests for packages to be added to LTS
594+ may be made on commercialhaskell/lts-haskell.
DATA-FLOW.md+4−4
@@ -15,7 +15,7 @@ There are three inputs into the data flow:
1515 Hackage provides both cabal file metadata (via the 00-index.tar file) and
1616 tarballs of the individual packages.
1717
18−* [build-constraints.yaml](https://github.com/fpco/stackage/blob/master/build-constraints.yaml)
18+* [build-constraints.yaml](https://github.com/commercialhaskell/stackage/blob/master/build-constraints.yaml)
1919 is the primary Stackage input file. This is where package maintainers can add
2020 packages to the Stackage package set. This also defines upper bounds, skipped
2121 tests, and a few other pieces of metadata.
@@ -26,7 +26,7 @@ There are three inputs into the data flow:
2626## Travis
2727
2828For [various
29−reasons](https://www.fpcomplete.com/blog/2015/05/distributing-packages-without-sysadmin),
29+reasons](https://tech.fpcomplete.com/blog/2015/05/distributing-packages-without-sysadmin),
3030we leverage Travis CI for running some processes. In particular:
3131
3232* [all-cabal-files](https://github.com/commercialhaskell/all-cabal-files/blob/hackage/.travis.yml)
@@ -60,7 +60,7 @@ The heart of running Stackage builds is the
6060[stackage-curator](https://github.com/fpco/stackage-curator) tool. We run this
6161on a daily basis on the Stackage build server for Stackage Nightly, and on a
6262weekly basis for LTS Haskell. The build process is [highly
63−automated](https://github.com/fpco/stackage/blob/master/automated/build.sh) and
63+automated](https://github.com/commercialhaskell/stackage/blob/master/automated/build.sh) and
6464leverages Docker quite a bit.
6565
6666stackage-curator needs to know about the most recent versions of all packages,
@@ -80,7 +80,7 @@ By combining these constraints with the current package data, stackage-curator
8080can generate a build plan and check it. (As an aside, this build plan
8181generation and checking also occurs every time you make a pull request to the
8282stackage repo.) If there are version bounds problems, one of the [Stackage
83−curators](https://github.com/fpco/stackage/blob/master/CURATORS.md) will open
83+curators](https://github.com/commercialhaskell/stackage/blob/master/CURATORS.md) will open
8484up a Github issue and will add upper bounds, temporarily block a package, or
8585some other corrective action.
8686
Dockerfile+9−2
@@ -1,8 +1,15 @@
1−FROM ubuntu:16.04
1+FROM fpco/pid1:18.04
22
33ENV HOME /home/stackage
44ENV LANG en_US.UTF-8
5−ENV PATH /opt/ghc/8.0.1/bin:/usr/sbin:/usr/bin:/sbin:/bin
5+ENV GHCVER 9.0.2
6+
7+# NOTE: also update debian-bootstrap.sh when cuda version changes
8+ENV PATH /home/stackage/.stack/programs/x86_64-linux/ghc-$GHCVER/bin:/usr/local/cuda-10.0/bin:/usr/sbin:/usr/bin:/sbin:/bin
9+ENV CUDA_PATH /usr/local/cuda-10.0
610
711ADD debian-bootstrap.sh /tmp/debian-bootstrap.sh
812RUN /tmp/debian-bootstrap.sh && rm /tmp/debian-bootstrap.sh
13+
14+# Include file path
15+ENV CPATH /usr/lib/jvm/java-8-openjdk-amd64/include:/usr/lib/jvm/java-8-openjdk-amd64/include/linux:/usr/lib/llvm-3.7/include
MAINTAINERS.md+209−49
@@ -2,82 +2,198 @@ This project is built around the concept of maintainers taking responsibility fo
22
33The idea behind Stackage is that, if all packages work with the newest versions of dependencies, we avoid dependency hell. Specifically, we aim for:
44
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.
5+* All packages are buildable and testable from Hackage. We recommend [the Stack Travis script](https://docs.haskellstack.org/en/stable/travis_ci/), which ensures a package is not accidentally incomplete.
66* 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)).
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://tech.fpcomplete.com/blog/2014/05/lenient-lower-bounds)).
8+
9+Packages in Stackage are not patched: all package changes occur upstream in Hackage.
810
911## Adding a package
1012
1113Anyone 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.
1214
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:
15+To add your package you can edit [`build-constraints.yaml`](https://github.com/fpco/stackage/blob/master/build-constraints.yaml) directly on github or fork the project. There's a section called `packages` where you would add yourself and your packages:
1616
17− "My Name myemail@example.com @mygithubuser":
17+ "My Name <myemail@example.com> @mygithubuser":
1818 - package1
1919 - package2
2020 - package3
2121
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
22+Any dependencies of your packages that are not already part of
23+stackage also need to be added explicitly (When this happens you will
24+see `not present` errors in the CI log). As mentioned above: If you
25+don't maintain this package yourself it is preferable that the actual
26+maintainer is also the stackage maintainer, but you are allowed to add
27+it under your own name.
2328
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−```
29+If your package depends on a C library, please add it to the `debian-bootstrap.sh` script.
3530
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).
31+After doing that, commit with a message like "add foo-bar" and send a pull request.
3932
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 in
45−https://github.com/commercialhaskell/all-cabal-files/tree/master/PACKAGENAME.
33+The continuous integration job will do some checks to see if your package's dependencies are up-to-date.
4634
35+The CI job notably doesn't compile packages, run tests, build documentation, or find missing C libraries.
36+If you want to be proactive or if CI fails, you can make sure that your package builds against the latest nightly.
37+See the [verify-package](https://github.com/commercialhaskell/stackage/blob/master/verify-package) script in this repository.
4738
48−## Uploading a new package
39+This approach works well, but has two limitations you should be aware
40+of:
4941
50−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.
42+* It won't notify you of restrictive upper bounds in your package if
43+ Stackage has the same upper bounds. For that reason, we recommend
44+ using [Packdeps](http://packdeps.haskellers.com/) (see "Following
45+ dependency upgrades" below). You can also run `cabal outdated`.
46+* If the latest Stackage Nightly is missing some of the latest
47+ packages, your build above may succeed whereas the Travis job may
48+ fail. Again: Packdeps will help you detect this situation.
5149
52−If the new version doesn't compile then the package author should quickly (within 1 week) upload a fixed version.
50+## Github and Notifications
5351
54−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.
52+Stackage uses Github notifications to reduce overhead of contacting individual
53+package maintainers through various channels. As a package maintainer, you will
54+receive notifications for a number of reasons, package build failures of
55+different sorts, blockages and bounds issues, etc.
56+
57+Please note, Github does some throttling on the number people that can be
58+notified within one issue. This means that on issues created with a large
59+number of packages affected, maintainers may not receive a notification. This
60+is not ideal, but Stackage is largely a manual process and done on a best
61+effort basis.
5562
63+## Uploading a new package version
64+
65+When a new version of a package in Stackage is uploaded to Hackage, we automatically try to include it in Stackage. That can result in a number of possible failures. If there is a failure we temporarily introduce an upper bound, and open a GitHub issue ticket to resolve the issue.
66+
67+If the new version doesn't compile then the package author should upload a fixed version.
68+
69+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.
5670
5771## Following dependency upgrades
5872
59−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.
73+If a new version of a dependency is released your package may fail to
74+build or tests may fail. In most cases we will add an upper bound on
75+the dependency so that your package remains in nightly. We'll also
76+create a github issue pinging you with the bounds issues or give build
77+logs showing failures. It's then up to you to modify your package.
6078
61−**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.
79+We recommend that you also follow the dependencies of your packages on
80+[Packdeps](http://packdeps.haskellers.com/) (typically using the RSS
81+feeds) as well as that often gives you notice ahead of stackage
82+issues. There are cases where we will not notice a new release of a
83+package because of other upper bounds that are in place.
6284
63−**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.
85+If a package is not updated in time, it may be temporarily removed
86+from Stackage by the curator team. We strive to notify you when this
87+happens. If it does you are always welcome to file another pull
88+request to add it back.
6489
90+We typically use fairly long windows before disabling packages, but it
91+is decided on a case-by-case basis.
6592
66−## Failing to meet the time limits
93+* If restrictive version bounds are the only problem, we will give
94+ maintainers at least a week to respond.
95+* If there are real breaking changes, the curator team will retain
96+ more discretion on how long a window to give before dropping
97+ packages.
98+* We typically drop upper bounds and disable conflicting packages in Nightly after we create
99+ a new Long Term Support (LTS) major version.
100+* There are rare cases where an upper bound or build failure are hard
101+ to deal with so then we may disable
67102
68−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.
103+**NOTE** Previously we had stricter time limits, but we decided to
104+remove that: Anyone is free to add a package to Stackage regardless of
105+responsiveness guarantees. However, as stated above, we may elect to
106+temporarily remove a package if it is not updated in a timely manner.
69107
70−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.
108+## Understanding stackage issues
71109
72−## Upgrading to a new GHC version
110+### Bounds issues
111+
112+These are the most common.
113+
114+Using https://github.com/commercialhaskell/stackage/issues/6217 as an example.
73115
74−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:
116+Our convention is to title a PR after the package that is being held
117+back from the nightly snapshot (here: aeson).
75118
76−* 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
77− * We will definitely do this at a GHC major version release, and may do so at a minor version release
78−* Packages that are incompatible with the newest GHC version will be temporarily blocked
119+The issue body is templated and looks like this:
120+
121+```
122+aeson-2.0.0.0 ([changelog](http://hackage.haskell.org/package/aeson-2.0.0.0/changelog)) (MAINTAINER) is out of bounds for:
123+- [ ] Agda-2.6.2 (>=1.1.2.0 && < 1.6). MAINTAINER. Used by: library
124+- [ ] HsYAML-aeson-0.2.0.0 (>=1.4.0.0 && < 1.6). MAINTAINER. Used by: library
125+- [ ] IPv6Addr-2.0.2 (>=0.8.0.2 && < 1.6). MAINTAINER. Used by: library
126+[...]
127+```
128+
129+This (usually - see "Other issues") means that there was a new release of the package in the
130+header (aeson). This is expected and the aeson maintainer is
131+not expected to act. They are pinged to notify them that the
132+latest version of their package will not be part of the nightly
133+snapshots until the issue closed.
134+
135+The list of packages with checkboxes denote the packages that prevent
136+us from using the latest version of aeson, the first version number is
137+the current version of that package in nightly (e.g. Agda 2.6.2). The
138+constraint in parenthesis `(>=1.1.2.0 && < 1.6)` is Agda's current
139+bound on `aeson`. To check this box we expect there to be an update
140+of Agda to support aeson 2.0.0.0.
141+
142+Once all boxes are checked we should be able to close the issue and
143+upgrade aeson.
144+
145+### Other issues
146+
147+Other common types of issues are
148+* Packages with failing tests, haddocks, or benchmarks (note that we only *compile* benchmarks)
149+ + Maintainers may choose to update these parts of their package, or
150+ to exclude them from the stackage build (e.g. adding a package to
151+ `skipped-tests`)
152+* New releases of packages that depend on packages that are not a part
153+ of stackage. This is denoted as `not present`
154+ + Maintainers are encouraged to ask the maintainer of these packages
155+ to join stackage, or to be the stackage contact person themselves.
156+* A new release of a package with stricter upper bounds than its previous version
157+ + This will look like a normal bounds issue, and should be treated
158+ the same way by maintainers. Curators usually resolve this by
159+ adding an upper bound to that package instead of its dependency.
160+
161+## Delays
162+
163+Maintainers are humans, humans get sick/have babies/go on
164+holiday. Sometimes a dependency upgrade is extra time consuming.
165+
166+Consider finding a co-maintainer with access to SCM and Hackage to
167+help you out.
168+
169+We appreciate if you notify us of any expected delays in the Github
170+issues, some kind soul might decide to help out.
171+
172+## Upgrading to a new GHC version
79173
80−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.
174+The Stackage curation team tries to move Stackage Nightly to new
175+versions of GHC quickly as they become available, while keeping LTS
176+Haskell on a regular release schedule. For package maintainers, the
177+most important impacts of a new GHC release are:
178+
179+* We will typically do a sweep through the Stackage upper bounds and
180+ remove blocking packages. We prefer to do it this way rather than
181+ ask other maintainers to backport fixes.
182+ * We will definitely do this at a GHC major version release, and
183+ may do so at a minor version release
184+* Packages that are incompatible with the newest GHC version will be
185+ temporarily disabled
186+
187+If your package ends up being temporarily disabled from Stackage
188+Nightly, please simply send a pull request to add it back once it and
189+its dependencies are compatible with the newest GHC version.
190+
191+Note that it is _not_ a goal of LTS Haskell to track the latest
192+version of GHC. If you want the latest and greatest, Stackage Nightly
193+is your best bet. In particular, LTS Haskell will often&mdash;but not
194+always&mdash;avoid upgrading to the first point release of GHC
195+releases (e.g., 8.x.1) to allow further testing and to get the
196+benefits of the first bugfix release (e.g., 8.x.2).
81197
82198## Adding a package to an LTS snapshot
83199
@@ -87,11 +203,55 @@ ending in `.0`), the package set is taken from Stackage Nightly. Therefore, by
87203following the above steps, you can get your package into the next major LTS
88204Haskell release.
89205
90−If you would like to get your package added to an existing LTS Haskell major
91−release (e.g., if `lts-3.21` is out, you would want your package to appear in
92−`lts-3.22`), please do the following in addition to the steps above:
206+If you would like to get your package added to the current LTS Haskell
207+major release, please do the following in addition to the steps for Nightly described earlier:
93208
209+* Check that your package can be built with the current LTS version (e.g. `stack build --test --bench --haddock --resolver lts`)
94210* Open up a new issue on the [lts-haskell repo](https://github.com/fpco/lts-haskell/issues/new)
95−* Specify the LTS major version you would like your package to go into (e.g., lts-3)
96−* Provide a list of packages you would like added, and if relevant, any upper bounds on those packages
97−* 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.
211+ * Provide a list of packages you would like added
212+ * If relevant, mention any upper bounds that are needed on those packages
213+* Be patient! The LTS releases are less frequent than Nightly. The
214+ Stackage curators will try to get to your issue as soon as possible,
215+ but it may take some time.
216+
217+## LTS package guarantees and exceptions
218+
219+In general, we try to stick to some rules when it comes to the
220+packages included in LTS minor bumps. In particular:
221+
222+* If a package exists in LTS-X.Y, it should also exist in LTS-X.(Y+1)
223+* We should not include a major version bump of a package between
224+ LTS-X.Y and LTS-X.(Y+1)
225+
226+However, there are some cases where exceptions may be made, based
227+purely on Stackage Curator discretion. The most common examples are:
228+
229+* If a package does not follow the PVP in its version number policy,
230+ applying the standard version bump rules would not necessarily
231+ makes sense. As an example, suppose package `foo` decides to
232+ follow SemVer instead of the PVP. By our standard rules of version
233+ bumps, a change from `foo-1.2.0` to `foo-1.3.0` would be
234+ considered a major version bump, and disallowed in an LTS minor
235+ version bump. However, if a package is following SemVer, this
236+ would not be a breaking change, and curators may elect to include
237+ it. Note though that curators and their tooling will not know your
238+ package is following SemVer, so in this case you would have to open
239+ an issue on the [lts-haskell repo](https://github.com/fpco/lts-haskell/issues/new).
240+
241+* If a package has overly restrictive version bounds on a
242+ dependency, in particular constraining a minor version
243+ unnecessarily, we may drop that package instead of artificially
244+ holding back the dependency. As an example: suppose `LTS-20.1`
245+ includes `foo-1.2.0` and `bar-1`. `bar-1` has a dependency `foo >=
246+ 1.2.0 && < 1.2.1`, which is overly constrained on the minor
247+ version number according to the PVP. Then `foo-1.2.1` is
248+ released. The Stackage Curator team would have two choices:
249+
250+ * Reject `foo-1.2.1` from `LTS-20.2`, since that is what `bar-1`
251+ requires.
252+ * Drop `bar-1` from `LTS-20.2`, and allow `foo-1.2.1`.
253+
254+ Decisions will need to be taken on a case-by-case basis, and may
255+ depend on such issues as whether an important bugfix or security
256+ update in included. The curator team may also try to notify the
257+ author of `bar` to try and get a patched version released.
README.md+85−29
@@ -1,30 +1,30 @@
11stackage
22========
3+[![check](https://github.com/commercialhaskell/stackage/actions/workflows/check.yml/badge.svg)](https://github.com/commercialhaskell/stackage/actions/workflows/check.yml)
34
4−[![Build Status](https://travis-ci.org/fpco/stackage.svg?branch=master)](https://travis-ci.org/fpco/stackage)
5+Stable sets of Haskell Packages from Hackage
56
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).
7+_This repository is for package authors and maintainers to get their packages into Stackage._
98
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).
9+If you simply want to use Stackage as an end user, please follow the instructions on [https://www.stackage.org/](https://www.stackage.org).
1210
11+We strongly recommend using the Haskell [stack](https://github.com/commercialhaskell/stack) tool for doing builds, which
12+includes built-in Stackage support.
1313
1414Add your package
1515----------------
1616
1717We welcome all packages, provided:
1818
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.
19+* The package author/maintainer agrees to the [maintainers agreement](https://github.com/commercialhaskell/stackage/blob/master/MAINTAINERS.md).
20+* The package is buildable and testable from Hackage. We recommend [the Stack Travis script](https://docs.haskellstack.org/en/stable/travis_ci/), which ensures a package is not accidentally incomplete.
2121* 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)).
22+* The package is compatible with the versions of libraries that ship with GHC ([more information on lenient lower bounds](https://tech.fpcomplete.com/blog/2014/05/lenient-lower-bounds)).
2323
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).
24+Full details on how to add and test a package can be found in the [maintainers agreement](https://github.com/commercialhaskell/stackage/blob/master/MAINTAINERS.md#adding-a-package).
2525
2626__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
27+to Hackage and being available to the Github workflow action to check upper
2828bounds. If a pull request is marked as failed due to using an older version,
2929please close and reopen the PR to retrigger a Travis build.
3030
@@ -35,33 +35,22 @@ The Stackage project consists of multiple repositories. This repository
3535contains the metadata on packages to be included in future builds and some
3636project information. In addition, we have the following repositories:
3737
38−* [stackage-server](https://github.com/fpco/stackage-server) [![Build Status](https://travis-ci.org/fpco/stackage-server.svg?branch=master)](https://travis-ci.org/fpco/stackage-server)
39−* [stackage-curator](https://github.com/fpco/stackage-curator) [![Build Status](https://travis-ci.org/fpco/stackage-curator.svg?branch=master)](https://travis-ci.org/fpco/stackage-curator)
40−* [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)
41−* [lts-haskell](https://github.com/fpco/lts-haskell)
42−* [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−
47−* [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)
48−* [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)
49−* [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)
50−* [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)
51−* [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)
38+* [stackage-server](https://github.com/fpco/stackage-server) [![Base image](https://github.com/fpco/stackage-server/actions/workflows/base.yml/badge.svg)](https://github.com/fpco/stackage-server/actions/workflows/base.yml)
39+* [curator](https://github.com/commercialhaskell/curator) ![Build Status](https://github.com/commercialhaskell/curator/workflows/Runtime%20image/badge.svg)
40+* [lts-haskell](https://github.com/commercialhaskell/lts-haskell)
41+* [stackage-snapshots](https://github.com/commercialhaskell/stackage-snapshots/)
5242
5343Curious how it all fits together? See the [Stackage data
54−flow](https://github.com/fpco/stackage/blob/master/DATA-FLOW.md).
55−
44+flow](https://github.com/commercialhaskell/stackage/blob/master/DATA-FLOW.md).
5645
5746Build the package set
5847---------------------
5948
6049Generally only the stackage build server run by the stackage curator
61−team and people intrested in incorporating stackage snapshots into an
50+team and people interested in incorporating stackage snapshots into an
6251OS distribution need to build the entire package set. If you're
6352interested in trying this yourself, please check out
64−[the curator guide](https://github.com/fpco/stackage/blob/master/CURATORS.md),
53+[the curator guide](https://github.com/commercialhaskell/stackage/blob/master/CURATORS.md),
6554though be aware that this is not a recommended practice and there
6655likely will be problems you will need to debug yourself.
6756
@@ -84,3 +73,70 @@ The following describes at a high level the series of steps for processing
84731. Load up most recent build plan
85742. Convert build plan into constraints for next build
86753. Continue from step (3) above
76+
77+Frequently Asked Questions
78+--------------------------
79+
80+__Why is Stackage LTS still on an older version of GHC?__
81+
82+Typically it takes some months from a new major ghc release before
83+the Haskell ecosystem supports it fully enough that we can push it
84+to a new stable Stackage major version release. There can also be
85+ghc regressions that hold up a LTS major release.
86+
87+The lag for minor ghc releases should be less
88+but it still requires extra work and there is usually some delay - this also
89+allows for some community testing before updating LTS.
90+
91+__Why does Stackage have an older version of a package than Hackage?__
92+
93+There are a number of answers to this question:
94+
95+* Simplest reason: how old of a Stackage snapshot are you using? Once a
96+ snapshot is created, it's frozen for all time. So if you use
97+ nightly-2016-01-01, by the time you get to 2018, it will be pretty dated.
98+* If you're using an LTS snapshot: we lock down major versions when
99+ first creating an LTS run, so subsequent minor versions will not get
100+ new versions necessary. For example, if LTS 6.0 has `foo` version
101+ 1.2.3, and the author immediately thereafter releases a version
102+ 1.3.0 and never releases another 1.2.\* version, you'll never get
103+ another update in the LTS 6 line
104+* Sometimes we have upper bounds in place because other packages have
105+ problems with newer versions of dependencies. Open up the
106+ [build-constraints file](https://github.com/commercialhaskell/stackage/blob/master/build-constraints.yaml)
107+ and search for "Stackage upper bounds"
108+* Wired-in packages - those that ship with GHC and cannot be upgraded,
109+ and packages depending on them - are fixed to GHC versions. Common
110+ examples of this are containers and transformers. There's a lot more
111+ information on this in
112+ [an FP Complete blog post](https://tech.fpcomplete.com/blog/2014/05/lenient-lower-bounds)
113+
114+__How long do you maintain an LTS build?__
115+
116+We only guarantee that we will maintain a single LTS major version at
117+a time, and that it will be maintained for at least three months. This
118+is the
119+[originally proposed support window](https://tech.fpcomplete.com/blog/2014/12/backporting-bug-fixes),
120+and hasn't changed since then.
121+
122+That said, we do maintain the capability to keep multiple LTS runs
123+operational in parallel, and with LTS 6 and 7 in fact did so. We
124+aren't changing our guarantees yet on longevity of a release, but are
125+trying to push out the bounds a bit farther.
126+
127+__What time are Stackage snapshots published?__
128+
129+Stackage Nightly and LTS are not released at a fixed time of day, they get
130+pushed to stackage.org (and the metadata to the stackage-nightly and
131+stackage-lts github repos) when their builds finish on the Stackage build
132+server and the latest built haddocks have been synced over. This time varies
133+greatly depending on build times for package updates, bounds breakage,
134+problems with new packages being added and other build issues, etc. There are
135+days when a release does not happen. LTS releases tend to happen over the
136+weekend or early in the week.
137+
138+__Where to get help regarding uploading packages?__
139+
140+Please ask on the #stackage channel on the
141+[Haskell Foundation Slack](https://join.slack.com/t/haskell-foundation/shared_invite/zt-mjh76fw0-CEjg2NbyVE8rVQDvR~0F4A)
142+or open an issue or comment on the PR which uploads the package.
Stackage/Config.hsdeleted−8
@@ -1,8 +0,0 @@
1−{-
2−
3−NOTE: This module is no longer used for tracking packages included in Stackage.
4−To simplify the codebase, that information is now stored in the
5−build-constraints.yaml configuration file. The file should be self-explanatory.
6−Sorry for the inconvenience.
7−
8−-}
automated/.gitignore+2−12
@@ -1,12 +1,2 @@
1−/auth-token
2−/bin/
3−/gitconfig
4−/hackage-creds
5−/ssh-nightly/
6−/ssh-lts/
7−/nighlty/
8−/lts-*/
9−/stackage-curator/
10−/stackage-update/
11−/aws.sh
12−/crondir/
1+/work/
2+/*-build.log
automated/build.sh+81−52
@@ -1,11 +1,11 @@
11#!/usr/bin/env bash
22
3−set -eux
3+set -eu +x -o pipefail
44
55ROOT=$(cd $(dirname $0) ; pwd)
66TARGET=$1
77
8−source aws.sh
8+source work/aws.sh
99
1010# For nightly-YYYY-MM-DD, tag should be nightly
1111# For lts-X.Y, tag should be ltsX
@@ -13,47 +13,37 @@ SHORTNAME=$(echo $TARGET | cut -d- -f 1)
1313if [ $SHORTNAME = "lts" ]
1414then
1515 TAG=$(echo $TARGET | sed 's@^lts-\([0-9]*\)\.[0-9]*@lts\1@')
16+ WORKDIR=$ROOT/work/$(echo $TARGET | sed 's@^lts-\([0-9]*\)\.[0-9]*@lts-\1@')
1617else
1718 TAG=$SHORTNAME
19+ WORKDIR=$ROOT/work/$TAG
1820fi
1921
20−IMAGE=snoyberg/stackage:$TAG
22+#IMAGE=commercialhaskell/stackage:$TAG
23+IMAGE=ghcr.io/commercialhaskell/stackage/build:$TAG
2124
22−PLAN_FILE=current-plan.yaml
23−DOCMAP_FILE=current-docmap.yaml
24−BUNDLE_FILE=current.bundle
25−
26−CABAL_DIR=$ROOT/cabal
27−STACK_DIR=$ROOT/stack
28−GHC_DIR=$ROOT/ghc
29−DOT_STACKAGE_DIR=$ROOT/dot-stackage
30−WORKDIR=$ROOT/$TAG/work
31−EXTRA_BIN_DIR=$ROOT/extra-bin
32−SSH_DIR=$ROOT/ssh-$SHORTNAME
25+PANTRY_DIR=$ROOT/work/stack/pantry
26+STACK_DIR=$ROOT/work/stack
27+DOT_STACKAGE_DIR=$ROOT/work/dot-stackage
28+# ssh key is used for committing snapshots (and their constraints) to Github
29+SSH_DIR=$ROOT/work/ssh
30+USERID=$(id -u)
3331
3432mkdir -p \
35− "$CABAL_DIR" \
33+ "$PANTRY_DIR" \
3634 "$STACK_DIR" \
37− "$GHC_DIR" \
3835 "$DOT_STACKAGE_DIR" \
3936 "$WORKDIR" \
40− "$EXTRA_BIN_DIR" \
4137 "$SSH_DIR"
4238
43−GITCONFIG=$ROOT/gitconfig
39+GITCONFIG=$ROOT/work/gitconfig
4440cat >$GITCONFIG <<EOF
4541[user]
4642 email = michael+stackage-build@fpcomplete.com
4743 name = Stackage Build host
4844EOF
4945
50−cat >$SSH_DIR/known_hosts <<EOF
51−|1|Qn0iij8BnxGZXbyFSozS9zWkH+Q=|YrKKNp2KHO3/oc4UBFIe1zOvhDc= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
52−|1|RxBEt2ljiEppr019szMIhbY12m0=|0FZ2Oji1LphRbPLLEQhFzTmL69I= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
53−EOF
54−
55−AUTH_TOKEN=$ROOT/auth-token
56−HACKAGE_CREDS=$ROOT/hackage-creds
46+HACKAGE_CREDS=$ROOT/work/hackage-creds
5747
5848function require_400_file {
5949 if [ ! -f "$1" ]
@@ -66,23 +56,34 @@ function require_400_file {
6656}
6757
6858require_400_file "$SSH_DIR/id_rsa"
69−require_400_file "$AUTH_TOKEN"
7059require_400_file "$HACKAGE_CREDS"
7160
72−mkdir -p $ROOT/bin
73−BINDIR=$(cd $ROOT/bin ; pwd)
61+mkdir -p $ROOT/work/bin
62+BINDIR=$(cd $ROOT/work/bin ; pwd)
7463(
7564cd $BINDIR
76−rm -f stackage-curator stackage-curator.bz2
77−wget https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2
78−bunzip2 stackage-curator.bz2
79−chmod +x stackage-curator
65+rm -f curator stack *.bz2
66+
67+curl -L "https://github.com/commercialhaskell/curator/releases/download/commit-1ef870178f6a0544fe5a3fd23a83fc075aabd695/curator.bz2" | bunzip2 > curator
68+chmod +x curator
69+echo -n "curator version: "
70+docker run --rm -v $(pwd)/curator:/exe $IMAGE /exe --version
71+
72+curl -L https://github.com/commercialhaskell/stack/releases/download/v2.7.3/stack-2.7.3-linux-x86_64-bin > stack
73+chmod +x stack
74+echo -n "stack version: "
75+docker run --rm -v $(pwd)/stack:/exe $IMAGE /exe --version
8076)
8177
82−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:$HOME/bin:ro"
83−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"
84−ARGS_BUILD="$ARGS_COMMON -v $CABAL_DIR:$HOME/.cabal:ro -v $STACK_DIR:$HOME/.stack:ro -v $GHC_DIR:$HOME/.ghc:ro"
85−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"
78+# We share pantry directory between snapshots while the other content in .stack
79+# is stored separately (because e.g. Ubuntu releases between LTS and nightly
80+# could differ). Also the order of binds is important.
81+ARGS_COMMON="--rm -v $WORKDIR:$HOME/work -w $HOME/work -v $BINDIR/curator:/usr/bin/curator:ro -v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro -v $BINDIR/stack:/usr/bin/stack:ro -v $STACK_DIR:$HOME/.stack -v $PANTRY_DIR:$HOME/.stack/pantry"
82+ARGS_PREBUILD="$ARGS_COMMON -u $USERID -e HOME=$HOME -v $DOT_STACKAGE_DIR:$HOME/.stackage"
83+ARGS_BUILD="$ARGS_COMMON"
84+# instance-data is an undocumented feature of S3 used by amazonka,
85+# see https://github.com/brendanhay/amazonka/issues/271
86+ARGS_UPLOAD="$ARGS_COMMON -u $USERID -e HOME=$HOME -v $HACKAGE_CREDS:/hackage-creds:ro -v $DOT_STACKAGE_DIR:$HOME/.stackage -v $SSH_DIR:$HOME/.ssh:ro -v $GITCONFIG:$HOME/.gitconfig:ro -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY -v $DOT_STACKAGE_DIR:/dot-stackage"
8687
8788# Make sure we actually need this snapshot. We only check this for LTS releases
8889# since, for nightlies, we'd like to run builds even if they are unnecessary to
@@ -90,40 +91,68 @@ ARGS_UPLOAD="$ARGS_COMMON -u $USER -e HOME=$HOME -e AWS_ACCESS_KEY_ID=$AWS_ACCES
9091# below for why this is safe.)
9192if [ $SHORTNAME = "lts" ]
9293then
93− docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "exec stackage-curator check-target-available --target $TARGET"
94+ docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "exec curator check-target-available --target $TARGET"
9495fi
9596
96−# Get latest stack
97−curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C $EXTRA_BIN_DIR '*/stack'
9897
99−# Do all of the pre-build actions:
98+# Determine the new build plan unless NOPLAN is set
10099#
101−# * Update the package index
100+# * Update the package index (unless LTS)
102101# * Create a new plan
103−# * Check that the plan is valid
104−# * Fetch all needed tarballs (the build step does not have write access to the tarball directory)
105−# * Do a single unpack to create the package index cache (again due to directory perms)
106−if [ "${NOPLAN:-}x" = "x" ]
102+if [ "${NOPLAN:-}x" = "1x" ]
107103then
108− docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "$HOME/bin/stack update && stackage-curator create-plan --plan-file $PLAN_FILE --target $TARGET ${CONSTRAINTS:-} && stackage-curator check --plan-file $PLAN_FILE && stackage-curator fetch --plan-file $PLAN_FILE && cd /tmp && exec $HOME/bin/stack unpack random"
104+ docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "curator snapshot-incomplete --target $TARGET && curator snapshot"
105+elif [ "${NOPLAN:-}x" = "2x" ]
106+then
107+ docker run $ARGS_PREBUILD $IMAGE curator snapshot
108+elif [ $SHORTNAME = "lts" ]
109+then
110+ docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "curator constraints --target $TARGET && curator snapshot-incomplete --target $TARGET && curator snapshot"
111+else
112+ docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "curator update && curator constraints --target $TARGET && curator snapshot-incomplete --target $TARGET && curator snapshot"
109113fi
110114
115+
116+# Do the rest of the pre-build actions:
117+#
118+# * Check that the snapshot is valid
119+# * Fetch and unpack all needed tarballs (the build step does not have write access to the tarball directory)
120+docker run $ARGS_PREBUILD $IMAGE /bin/bash -c 'GHCVER=$(sed -n "s/^ghc-version: \(.*\)/\1/p" constraints.yaml) && stack setup ghc-$GHCVER --verbosity=error && stack exec --resolver=ghc-$GHCVER curator check-snapshot && curator unpack'
121+
122+case $SHORTNAME in
123+ lts) JOBS=1 ;;
124+ nightly) JOBS=2 ;;
125+esac
126+
111127# Now do the actual build. We need to first set the owner of the home directory
112128# correctly, so we run the command as root, change owner, and then use sudo to
113129# switch back to the current user
114−docker run $ARGS_BUILD $IMAGE /bin/bash -c "chown $USER $HOME && exec sudo -E -u $USER env \"HOME=$HOME\" \"PATH=\$PATH:$HOME/bin\" stackage-curator make-bundle --plan-file $PLAN_FILE --docmap-file $DOCMAP_FILE --bundle-file $BUNDLE_FILE --target $TARGET"
130+docker run $ARGS_BUILD $IMAGE nice -n 15 /bin/bash -c "chown $USER $HOME && exec sudo -E -u $USER env \"HOME=$HOME\" \"PATH=\$PATH\" curator build --jobs $JOBS" 2>&1 | tee "$SHORTNAME-build.log"
115131
116132# Make sure we actually need this snapshot. We used to perform this check
117133# exclusively before building. Now we perform it after as well for the case of
118134# nightly, where we don't perform this check beforehand. This is also slightly
119135# safer, in case someone else already uploaded a specific snapshot while we
120136# were building.
121−docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "exec stackage-curator check-target-available --target $TARGET"
137+docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "exec curator check-target-available --target $TARGET"
122138
123139# Successful build, so we need to:
124140#
125141# * Upload the docs to S3
126−# * Upload the 00-index.tar file to S3 (TODO: this is probably no longer necessary, since snapshots never modify .cabal files)
127−# * Upload the new plan .yaml file to the appropriate Github repo
128−# * Register as a new Hackage distro
129−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"
142+# * Upload the new snapshot .yaml file to the appropriate Github repo, also upload its constraints
143+docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "curator upload-docs --target $TARGET && curator upload-github --target $TARGET"
144+
145+# fixed in https://github.com/commercialhaskell/curator/pull/24
146+docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "exec curator hackage-distro --target $TARGET"
147+
148+# Build and push docker image fpco/stack-build & fpco/stack-build-small for current release
149+
150+if [ $SHORTNAME = "lts" ]
151+then
152+ $ROOT/dockerfiles/build.sh $TARGET
153+ $ROOT/dockerfiles/build.sh --push $TARGET
154+ $ROOT/dockerfiles/build.sh --push --small $TARGET
155+fi
156+
157+echo -n "Completed at "
158+date
automated/check-cabal.shdeleted−72
@@ -1,72 +0,0 @@
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.shdeleted−15
@@ -1,15 +0,0 @@
1−#!/usr/bin/env bash
2−
3−set -eux
4−
5−CRONDIR=$(pwd)/crondir
6−mkdir -p $CRONDIR
7−source aws.sh
8−
9−echo "Running stackage-server-cron..."
10−echo "('tail -f $CRONDIR/stackage-server-cron.log' to watch)"
11−docker run --rm \
12− -v $CRONDIR:/home/ubuntu \
13− -w /home/ubuntu \
14− fpco/stackage-server-prod:latest \
15− 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/dockerfiles/README.mdnew file+33
@@ -0,0 +1,33 @@
1+dockerfiles/stack-build
2+=======================
3+
4+Build [fpco/stack-build](https://hub.docker.com/r/fpco/stack-build/) Docker
5+images. This script and its Dockerfiles are used for building images for LTS >=
6+8.0.
7+
8+Usage
9+-----
10+
11+ ./build.sh [--push] [--dry-run] [--small] lts-X.Y"
12+
13+Options
14+-------
15+
16+`--help`: show this help
17+
18+`--push`: push the image after building/tagging it
19+
20+`--dry-run`: print the important commands that will be run, but don't actually
21+ run them
22+
23+`--small`: build the small variant of the image
24+
25+Argument
26+---------
27+
28+The image for the selected LTS version will be built.
29+
30+This searches for a Dockerfile for the selected snapshot in
31+`lts-X.Y/Dockerfile`, and if one isn't found reuses the same image as built the
32+most recent `lts-X.Y/Dockerfile` found for earlier minor versions of the same
33+major version.
automated/dockerfiles/build.shnew file+177
@@ -0,0 +1,177 @@
1+#!/usr/bin/env bash
2+
3+set -eu
4+cd "$(dirname "$0")"
5+
6+#
7+# Constants and defaults
8+#
9+
10+DOCKER_REPO=fpco/stack-build
11+PUSH=false
12+DRY=false
13+VARIANT=build
14+
15+#
16+# Functions
17+#
18+
19+# Print usage information and exit with failure status. First argument is an
20+# error message.
21+usage() {
22+ echo "$0: $1" >&2
23+ echo
24+ echo "Usage: $0 [--push] [--dry-run] [--small] lts-X.Y]"
25+ echo "See README.md for more information."
26+ echo
27+ exit 1
28+}
29+
30+# Print a command, and if --dry-run disabled also run it
31+dry() {
32+ echo ">>> $*"
33+ [[ $DRY = true ]] || "$@"
34+}
35+
36+# Push an image if --push is enabled (otherwise do nothing)
37+push() {
38+ [[ $PUSH = false ]] || dry docker push "$1"
39+}
40+
41+# Tag an image, and then push it if --push is enabled
42+tagpush() {
43+ dry docker tag "$1" "$2"
44+ push "$2"
45+}
46+
47+#
48+# Parse command-line
49+#
50+
51+LTS_SLUG_ARG=
52+while [[ $# -gt 0 ]]; do
53+ case "$1" in
54+ --push)
55+ PUSH=true
56+ shift
57+ ;;
58+ --dry-run)
59+ DRY=true
60+ shift
61+ ;;
62+ --small)
63+ VARIANT=small
64+ DOCKER_REPO=fpco/stack-build-small
65+ shift
66+ ;;
67+ -*)
68+ usage "Unknown option: $1"
69+ ;;
70+ *)
71+ if [[ -n "$LTS_SLUG_ARG" ]]; then
72+ usage "Cannot specify multiple snaphots: $1"
73+ fi
74+ LTS_SLUG_ARG="$1"
75+ shift
76+ ;;
77+ esac
78+done
79+
80+case "$LTS_SLUG_ARG" in
81+ "")
82+ usage "Missing argument: snapshot"
83+ ;;
84+ lts-*.*)
85+ LTS_SLUG="$LTS_SLUG_ARG"
86+ ;;
87+ *)
88+ echo "$0: Wrong snapshot format: $LTS_SLUG_ARG" >&2
89+ exit 1
90+ ;;
91+esac
92+
93+#
94+# Determine if lts slug is latest
95+#
96+
97+SNAPSHOTS="$(mktemp "lts-snapshots.json.XXXXXX")"
98+trap "rm -f \"$SNAPSHOTS\"" EXIT
99+wget -qO- https://www.stackage.org/download/lts-snapshots.json >"$SNAPSHOTS"
100+
101+LTS_VERSION="${LTS_SLUG#lts-}"
102+LTS_MAJOR="${LTS_VERSION%.*}"
103+LTS_MINOR="${LTS_VERSION#*.}"
104+
105+#
106+# Determine latest LTS version
107+#
108+
109+if [[ ! -x "$HOME/.local/bin/jq" ]]; then
110+ mkdir -p $HOME/.local/bin
111+ if [[ "$(uname)" = "Darwin" ]]; then
112+ curl -o $HOME/.local/bin/jq -L https://github.com/stedolan/jq/releases/download/jq-1.6/jq-osx-amd64
113+ else
114+ curl -o $HOME/.local/bin/jq -L https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64
115+ fi
116+ chmod +x $HOME/.local/bin/jq
117+fi
118+
119+LATEST_LTS_SLUG=$($HOME/.local/bin/jq -r ".[\"lts\"]" $SNAPSHOTS)
120+LATEST_LTS_VERSION="${LATEST_LTS_SLUG#lts-}"
121+LATEST_LTS_MAJOR="${LATEST_LTS_VERSION%.*}"
122+LATEST_LTS_MINOR="${LATEST_LTS_VERSION#*.}"
123+
124+#
125+# Determine latest minor version of the selected major version
126+#
127+
128+MAJOR_LATEST_LTS_SLUG=$(jq -r ".[\"lts-$LTS_MAJOR\"]" $SNAPSHOTS)
129+MAJOR_LATEST_LTS_VERSION="${MAJOR_LATEST_LTS_SLUG#lts-}"
130+MAJOR_LATEST_LTS_MAJOR="${MAJOR_LATEST_LTS_VERSION%.*}"
131+MAJOR_LATEST_LTS_MINOR="${MAJOR_LATEST_LTS_VERSION#*.}"
132+
133+#
134+# Find the Dockerfile for the selected snapshot
135+#
136+
137+if [[ -s "$LTS_SLUG/Dockerfile" ]]; then
138+
139+ # If there is an exact match, build and push that image
140+
141+ sed "s/\\\$DOCKER_REPO/$(echo $DOCKER_REPO|sed 's/\//\\\//')/g" "$LTS_SLUG/Dockerfile" >"$LTS_SLUG/Dockerfile.sub"
142+ dry docker build -t "$DOCKER_REPO:$LTS_SLUG" --build-arg "DOCKER_REPO=$DOCKER_REPO" --build-arg "LTS_SLUG=$LTS_SLUG" --build-arg "VARIANT=$VARIANT" -f "$LTS_SLUG/Dockerfile.sub" "$LTS_SLUG"
143+ rm -f "$LTS_SLUG/Dockerfile.sub"
144+ push "$DOCKER_REPO:$LTS_SLUG"
145+else
146+
147+ # If no exact match, find a dockerfile for any earlier minor version of the
148+ # selected major version, and just create a new tag from version's image with the selected
149+ # minor version (assuming that nothing needs to change), and push it.
150+
151+ minor=$(( LTS_MINOR - 1 ))
152+ while [[ ! -s "lts-$LTS_MAJOR.$minor/Dockerfile" && $minor -ge 0 ]]; do
153+ minor=$(( minor - 1 ))
154+ done
155+ if [[ $minor -lt 0 ]]; then
156+ echo "$0: Cannot find any Dockerfile for LTS major version" >&2
157+ exit 1
158+ fi
159+ dry docker pull "$DOCKER_REPO:lts-$LTS_MAJOR.$minor" || true
160+ tagpush "$DOCKER_REPO:lts-$LTS_MAJOR.$minor" "$DOCKER_REPO:$LTS_SLUG"
161+fi
162+
163+#
164+# Create and push additional tags
165+#
166+
167+# If we select the latest minor version for the selected major version, then
168+# also create and push an 'lts-X' tag.
169+if [[ $LTS_MINOR -ge $MAJOR_LATEST_LTS_MINOR ]]; then
170+ tagpush "$DOCKER_REPO:$LTS_SLUG" "$DOCKER_REPO:lts-$LTS_MAJOR"
171+fi
172+
173+# If we selected the latest LTS snapshot, also create and push the 'lts' and 'latest' tags.
174+if [[ "$LTS_MAJOR" = "$LATEST_LTS_MAJOR" ]] && [[ $LTS_MINOR -ge $LATEST_LTS_MINOR ]]; then
175+ tagpush "$DOCKER_REPO:$LTS_SLUG" "$DOCKER_REPO:lts"
176+ tagpush "$DOCKER_REPO:$LTS_SLUG" "$DOCKER_REPO:latest"
177+fi
automated/dockerfiles/lts-10.0/Dockerfilenew file+67
@@ -0,0 +1,67 @@
1+FROM ubuntu:16.04
2+
3+MAINTAINER Emanuel Borsboom <manny@fpcomplete.com>
4+
5+ARG GHC_VERSION=8.2.2
6+ARG LTS_SLUG=lts-10.0
7+ARG PID1_VERSION=0.1.0.1
8+ARG STACK_VERSION=1.6.3
9+ARG BOOTSTRAP_COMMIT=a8234cb586c3022099a3b0155275ed067df00f72
10+ARG DEBIAN_FRONTEND=noninteractive
11+
12+#
13+# Set encoding to UTF-8 and PATH to find GHC and cabal/stack-installed binaries.
14+#
15+
16+ENV LANG=C.UTF-8 \
17+ LC_ALL=C.UTF-8 \
18+ PATH=/root/.cabal/bin:/root/.local/bin:/opt/ghc/$GHC_VERSION/bin:$PATH
19+
20+#
21+# Use Stackage's debian-bootstrap.sh script to install system libraries and
22+# tools required to build any Stackage package.
23+#
24+
25+RUN apt-get update && \
26+ apt-get install -y wget && \
27+ wget -qO- https://raw.githubusercontent.com/fpco/stackage/$BOOTSTRAP_COMMIT/debian-bootstrap.sh | bash && \
28+ rm -rf /var/lib/apt/lists/*
29+
30+#
31+# Create symlink to help tools find GHC documentation
32+#
33+
34+RUN ln -s ghc /opt/ghc/$GHC_VERSION/share/doc/ghc-$GHC_VERSION
35+
36+#
37+# Use 'stack' to install basic Haskell tools like alex, happy, and cpphs. We
38+# remove most of the STACK_ROOT afterward to save space, but keep the 'share'
39+# files that some of these tools require.
40+#
41+
42+RUN stack --system-ghc --resolver=$LTS_SLUG --local-bin-path=/usr/local/bin install \
43+ cabal-install happy alex cpphs gtk2hs-buildtools hscolour && \
44+ cd $HOME/.stack && \
45+ find . -type f -not -path './snapshots/*/share/*' -exec rm '{}' \; && \
46+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
47+
48+#
49+# Install 'pid1' init daemon
50+#
51+
52+RUN wget -O- "https://github.com/fpco/pid1/releases/download/pid1%2F$PID1_VERSION/pid1-$PID1_VERSION-linux-x86_64.tar.gz" | tar xzf - -C /usr/local && \
53+ chown root:root /usr/local/sbin && \
54+ chown root:root /usr/local/sbin/pid1
55+
56+#
57+# Install Stack
58+#
59+
60+RUN wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/local/bin '*/stack'
61+
62+#
63+# Set up pid1 entrypoint and default command
64+#
65+
66+ENTRYPOINT ["/usr/local/sbin/pid1"]
67+CMD ["bash"]
automated/dockerfiles/lts-10.1/Dockerfilenew file+3
@@ -0,0 +1,3 @@
1+FROM fpco/stack-build:lts-10.0
2+ARG STACK_VERSION=1.6.3
3+RUN wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/local/bin '*/stack'
automated/dockerfiles/lts-10.5/Dockerfilenew file+3
@@ -0,0 +1,3 @@
1+FROM fpco/stack-build:lts-10.0
2+ARG STACK_VERSION=1.6.5
3+RUN wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/local/bin '*/stack'
automated/dockerfiles/lts-11.0/Dockerfilenew file+67
@@ -0,0 +1,67 @@
1+FROM ubuntu:16.04
2+
3+MAINTAINER Emanuel Borsboom <manny@fpcomplete.com>
4+
5+ARG GHC_VERSION=8.2.2
6+ARG LTS_SLUG=lts-11.0
7+ARG PID1_VERSION=0.1.0.1
8+ARG STACK_VERSION=1.6.5
9+ARG BOOTSTRAP_COMMIT=13ab2b86779c98598e96af7f4c4b9653ba280be5
10+ARG DEBIAN_FRONTEND=noninteractive
11+
12+#
13+# Set encoding to UTF-8 and PATH to find GHC and cabal/stack-installed binaries.
14+#
15+
16+ENV LANG=C.UTF-8 \
17+ LC_ALL=C.UTF-8 \
18+ PATH=/root/.cabal/bin:/root/.local/bin:/opt/ghc/$GHC_VERSION/bin:$PATH
19+
20+#
21+# Use Stackage's debian-bootstrap.sh script to install system libraries and
22+# tools required to build any Stackage package.
23+#
24+
25+RUN apt-get update && \
26+ apt-get install -y wget && \
27+ wget -qO- https://raw.githubusercontent.com/fpco/stackage/$BOOTSTRAP_COMMIT/debian-bootstrap.sh | bash && \
28+ rm -rf /var/lib/apt/lists/*
29+
30+#
31+# Create symlink to help tools find GHC documentation
32+#
33+
34+RUN ln -s ghc /opt/ghc/$GHC_VERSION/share/doc/ghc-$GHC_VERSION
35+
36+#
37+# Use 'stack' to install basic Haskell tools like alex, happy, and cpphs. We
38+# remove most of the STACK_ROOT afterward to save space, but keep the 'share'
39+# files that some of these tools require.
40+#
41+
42+RUN stack --system-ghc --resolver=$LTS_SLUG --local-bin-path=/usr/local/bin install \
43+ cabal-install happy alex cpphs gtk2hs-buildtools hscolour && \
44+ cd $HOME/.stack && \
45+ find . -type f -not -path './snapshots/*/share/*' -exec rm '{}' \; && \
46+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
47+
48+#
49+# Install 'pid1' init daemon
50+#
51+
52+RUN wget -O- "https://github.com/fpco/pid1/releases/download/pid1%2F$PID1_VERSION/pid1-$PID1_VERSION-linux-x86_64.tar.gz" | tar xzf - -C /usr/local && \
53+ chown root:root /usr/local/sbin && \
54+ chown root:root /usr/local/sbin/pid1
55+
56+#
57+# Install Stack
58+#
59+
60+RUN wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/local/bin '*/stack'
61+
62+#
63+# Set up pid1 entrypoint and default command
64+#
65+
66+ENTRYPOINT ["/usr/local/sbin/pid1"]
67+CMD ["bash"]
automated/dockerfiles/lts-11.22/Dockerfilenew file+3
@@ -0,0 +1,3 @@
1+FROM fpco/stack-build:lts-11.6
2+ARG STACK_VERSION=1.9.3
3+RUN wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/local/bin '*/stack'
automated/dockerfiles/lts-11.6/Dockerfilenew file+3
@@ -0,0 +1,3 @@
1+FROM fpco/stack-build:lts-11.5
2+ARG STACK_VERSION=1.7.1
3+RUN wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/local/bin '*/stack'
automated/dockerfiles/lts-12.0/Dockerfilenew file+69
@@ -0,0 +1,69 @@
1+FROM ubuntu:16.04
2+
3+MAINTAINER Emanuel Borsboom <manny@fpcomplete.com>
4+
5+ARG GHC_VERSION=8.4.3
6+ARG LTS_SLUG=lts-12.0
7+ARG PID1_VERSION=0.1.2.0
8+ARG STACK_VERSION=1.7.1
9+ARG CUDA_VERSION=8.0
10+ARG BOOTSTRAP_COMMIT=56c62ccbf31229ee2b09d3a0b4cd2ad94e7406a8
11+ARG DEBIAN_FRONTEND=noninteractive
12+
13+#
14+# Set encoding to UTF-8 and PATH to find GHC and cabal/stack-installed binaries.
15+#
16+
17+ENV LANG=C.UTF-8 \
18+ LC_ALL=C.UTF-8 \
19+ PATH=/root/.cabal/bin:/root/.local/bin:/usr/local/cuda-$CUDA_VERSION/bin:/opt/ghc/$GHC_VERSION/bin:$PATH \
20+ CUDA_PATH=/usr/local/cuda-$CUDA_VERSION \
21+ LD_LIBRARY_PATH=/usr/local/cuda-$CUDA_VERSION/lib64:/usr/local/cuda-$CUDA_VERSION/nvvm/lib64
22+#
23+# Use Stackage's debian-bootstrap.sh script to install system libraries and
24+# tools required to build any Stackage package.
25+#
26+
27+RUN apt-get update && \
28+ apt-get install -y wget && \
29+ wget -qO- https://raw.githubusercontent.com/fpco/stackage/$BOOTSTRAP_COMMIT/debian-bootstrap.sh | bash && \
30+ rm -rf /var/lib/apt/lists/*
31+
32+#
33+# Create symlink to help tools find GHC documentation
34+#
35+
36+RUN ln -s ghc /opt/ghc/$GHC_VERSION/share/doc/ghc-$GHC_VERSION
37+
38+#
39+# Use 'stack' to install basic Haskell tools like alex, happy, and cpphs. We
40+# remove most of the STACK_ROOT afterward to save space, but keep the 'share'
41+# files that some of these tools require.
42+#
43+
44+RUN stack --system-ghc --resolver=$LTS_SLUG --local-bin-path=/usr/local/bin install \
45+ cabal-install happy alex cpphs gtk2hs-buildtools hscolour && \
46+ cd $HOME/.stack && \
47+ find . -type f -not -path './snapshots/*/share/*' -exec rm '{}' \; && \
48+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
49+
50+#
51+# Install 'pid1' init daemon
52+#
53+
54+RUN wget -O- "https://github.com/fpco/pid1/releases/download/v$PID1_VERSION/pid1-$PID1_VERSION-linux-x86_64.tar.gz" | tar xzf - -C /usr/local && \
55+ chown root:root /usr/local/sbin && \
56+ chown root:root /usr/local/sbin/pid1
57+
58+#
59+# Install Stack
60+#
61+
62+RUN wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/local/bin '*/stack'
63+
64+#
65+# Set up pid1 entrypoint and default command
66+#
67+
68+ENTRYPOINT ["/usr/local/sbin/pid1"]
69+CMD ["bash"]
automated/dockerfiles/lts-12.13/Dockerfilenew file+3
@@ -0,0 +1,3 @@
1+FROM fpco/stack-build:lts-12.0
2+ARG STACK_VERSION=1.9.1
3+RUN wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/local/bin '*/stack'
automated/dockerfiles/lts-12.15/Dockerfilenew file+14
@@ -0,0 +1,14 @@
1+FROM fpco/stack-build:lts-12.0
2+ARG STACK_VERSION=1.9.1
3+ARG GHC_VERSION=8.4.4
4+RUN apt-get update && \
5+ apt-get install -y \
6+ ghc-$GHC_VERSION \
7+ ghc-$GHC_VERSION-dyn \
8+ ghc-$GHC_VERSION-htmldocs \
9+ ghc-$GHC_VERSION-prof && \
10+ rm -rf /var/lib/apt/lists/*
11+RUN wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/local/bin '*/stack'
12+RUN ln -s ghc-$GHC_VERSION /opt/ghc/$GHC_VERSION/share/doc/ghc
13+ARG CUDA_VERSION=8.0
14+ENV PATH=/root/.cabal/bin:/root/.local/bin:/usr/local/cuda-$CUDA_VERSION/bin:/opt/ghc/$GHC_VERSION/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
automated/dockerfiles/lts-12.21/Dockerfilenew file+3
@@ -0,0 +1,3 @@
1+FROM fpco/stack-build:lts-12.15
2+ARG STACK_VERSION=1.9.3
3+RUN wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/local/bin '*/stack'
automated/dockerfiles/lts-12.26/Dockerfilenew file+89
@@ -0,0 +1,89 @@
1+FROM ubuntu:16.04
2+
3+MAINTAINER Emanuel Borsboom <manny@fpcomplete.com>
4+
5+ARG GHC_VERSION=8.4.4
6+ARG LTS_SLUG=lts-12.0
7+ARG PID1_VERSION=0.1.2.0
8+ARG STACK_VERSION=1.9.3
9+ARG CUDA_VERSION=8.0
10+ARG BOOTSTRAP_COMMIT=7f982f63a3734ddb2a7cbbc52b8cec983c496efa
11+ARG DEBIAN_FRONTEND=noninteractive
12+ARG VARIANT=build
13+
14+#
15+# Set encoding to UTF-8 and PATH to find GHC and cabal/stack-installed binaries.
16+#
17+
18+ENV LANG=C.UTF-8 \
19+ LC_ALL=C.UTF-8 \
20+ PATH=/root/.cabal/bin:/root/.local/bin:/usr/local/cuda-$CUDA_VERSION/bin:/opt/ghc/$GHC_VERSION/bin:$PATH \
21+ CUDA_PATH=/usr/local/cuda-$CUDA_VERSION \
22+ LD_LIBRARY_PATH=/usr/local/cuda-$CUDA_VERSION/lib64:/usr/local/cuda-$CUDA_VERSION/nvvm/lib64
23+#
24+# Use Stackage's debian-bootstrap.sh script to install system libraries and
25+# tools required to build any Stackage package.
26+#
27+
28+RUN apt-get update && \
29+ apt-get install -y --no-install-recommends wget netbase ca-certificates && \
30+ if [ "$VARIANT" = "small" ]; then \
31+ echo "deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main" >>/etc/apt/sources.list && \
32+ echo "deb-src http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main" >>/etc/apt/sources.list && \
33+ apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 063DAB2BDC0B3F9FCEBC378BFF3AEACEF6F88286 && \
34+ apt-get update && \
35+ apt-get install -y --no-install-recommends \
36+ ghc-$GHC_VERSION ghc-$GHC_VERSION-htmldocs \
37+ g++ gcc libc6-dev libffi-dev libgmp-dev make xz-utils zlib1g-dev git gnupg \
38+ libtinfo-dev; \
39+ else \
40+ wget -qO- https://raw.githubusercontent.com/fpco/stackage/$BOOTSTRAP_COMMIT/debian-bootstrap.sh | bash; \
41+ fi && \
42+ rm -rf /var/lib/apt/lists/*
43+
44+#
45+# Create symlink to help tools find GHC documentation
46+#
47+
48+RUN ln -s ghc /opt/ghc/$GHC_VERSION/share/doc/ghc-$GHC_VERSION
49+
50+#
51+# Install Stack
52+#
53+
54+RUN wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/local/bin '*/stack'
55+
56+#
57+# Configure Stack to use the GHC installed in the Docker image rather than installing its own
58+#
59+
60+RUN mkdir /etc/stack/ && \
61+ echo "system-ghc: true" >/etc/stack/config.yaml
62+
63+#
64+# Use 'stack' to install basic Haskell tools like alex, happy, and cpphs. We
65+# remove most of the STACK_ROOT afterward to save space, but keep the 'share'
66+# files that some of these tools require.
67+#
68+
69+RUN export STACK_ROOT=/usr/local/lib/stack && \
70+ stack --resolver=$LTS_SLUG --local-bin-path=/usr/local/bin install \
71+ cabal-install happy alex cpphs gtk2hs-buildtools hscolour hlint hindent && \
72+ cd $STACK_ROOT && \
73+ find . -type f -not -path './snapshots/*/share/*' -exec rm '{}' \; && \
74+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
75+
76+#
77+# Install 'pid1' init daemon
78+#
79+
80+RUN wget -O- "https://github.com/fpco/pid1/releases/download/v$PID1_VERSION/pid1-$PID1_VERSION-linux-x86_64.tar.gz" | tar xzf - -C /usr/local && \
81+ chown root:root /usr/local/sbin && \
82+ chown root:root /usr/local/sbin/pid1
83+
84+#
85+# Set up pid1 entrypoint and default command
86+#
87+
88+ENTRYPOINT ["/usr/local/sbin/pid1"]
89+CMD ["bash"]
automated/dockerfiles/lts-13.0/Dockerfilenew file+69
@@ -0,0 +1,69 @@
1+FROM ubuntu:16.04
2+
3+MAINTAINER Emanuel Borsboom <manny@fpcomplete.com>
4+
5+ARG GHC_VERSION=8.6.3
6+ARG LTS_SLUG=lts-13.0
7+ARG PID1_VERSION=0.1.2.0
8+ARG STACK_VERSION=1.9.3
9+ARG CUDA_VERSION=10.0
10+ARG BOOTSTRAP_COMMIT=26b29f2862462afd47fb916ed0a2c2a6844ebca9
11+ARG DEBIAN_FRONTEND=noninteractive
12+
13+#
14+# Set encoding to UTF-8 and PATH to find GHC and cabal/stack-installed binaries.
15+#
16+
17+ENV LANG=C.UTF-8 \
18+ LC_ALL=C.UTF-8 \
19+ PATH=/root/.cabal/bin:/root/.local/bin:/usr/local/cuda-$CUDA_VERSION/bin:/opt/ghc/$GHC_VERSION/bin:$PATH \
20+ CUDA_PATH=/usr/local/cuda-$CUDA_VERSION \
21+ LD_LIBRARY_PATH=/usr/local/cuda-$CUDA_VERSION/lib64:/usr/local/cuda-$CUDA_VERSION/nvvm/lib64
22+#
23+# Use Stackage's debian-bootstrap.sh script to install system libraries and
24+# tools required to build any Stackage package.
25+#
26+
27+RUN apt-get update && \
28+ apt-get install -y wget && \
29+ wget -qO- https://raw.githubusercontent.com/fpco/stackage/$BOOTSTRAP_COMMIT/debian-bootstrap.sh | bash && \
30+ rm -rf /var/lib/apt/lists/*
31+
32+#
33+# Create symlink to help tools find GHC documentation
34+#
35+
36+RUN ln -s ghc /opt/ghc/$GHC_VERSION/share/doc/ghc-$GHC_VERSION
37+
38+#
39+# Use 'stack' to install basic Haskell tools like alex, happy, and cpphs. We
40+# remove most of the STACK_ROOT afterward to save space, but keep the 'share'
41+# files that some of these tools require.
42+#
43+
44+RUN stack --system-ghc --resolver=$LTS_SLUG --local-bin-path=/usr/local/bin install \
45+ cabal-install happy alex cpphs gtk2hs-buildtools hscolour && \
46+ cd $HOME/.stack && \
47+ find . -type f -not -path './snapshots/*/share/*' -exec rm '{}' \; && \
48+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
49+
50+#
51+# Install 'pid1' init daemon
52+#
53+
54+RUN wget -O- "https://github.com/fpco/pid1/releases/download/v$PID1_VERSION/pid1-$PID1_VERSION-linux-x86_64.tar.gz" | tar xzf - -C /usr/local && \
55+ chown root:root /usr/local/sbin && \
56+ chown root:root /usr/local/sbin/pid1
57+
58+#
59+# Install Stack
60+#
61+
62+RUN wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/local/bin '*/stack'
63+
64+#
65+# Set up pid1 entrypoint and default command
66+#
67+
68+ENTRYPOINT ["/usr/local/sbin/pid1"]
69+CMD ["bash"]
automated/dockerfiles/lts-13.12/Dockerfilenew file+93
@@ -0,0 +1,93 @@
1+FROM ubuntu:16.04
2+
3+MAINTAINER Emanuel Borsboom <manny@fpcomplete.com>
4+
5+ARG GHC_VERSION=8.6.4
6+ARG LTS_SLUG=lts-13.11
7+ARG PID1_VERSION=0.1.2.0
8+ARG STACK_VERSION=1.9.3
9+ARG CUDA_VERSION=10.0
10+ARG BOOTSTRAP_COMMIT=9f2b7ab95c711794257b059604e80ab9ad3c0c45
11+ARG DEBIAN_FRONTEND=noninteractive
12+ARG VARIANT=build
13+
14+#
15+# Set encoding to UTF-8 and PATH to find GHC and cabal/stack-installed binaries.
16+#
17+
18+ENV LANG=C.UTF-8 \
19+ LC_ALL=C.UTF-8 \
20+ PATH=/root/.cabal/bin:/root/.local/bin:/usr/local/cuda-$CUDA_VERSION/bin:/opt/ghc/$GHC_VERSION/bin:$PATH \
21+ CUDA_PATH=/usr/local/cuda-$CUDA_VERSION \
22+ LD_LIBRARY_PATH=/usr/local/cuda-$CUDA_VERSION/lib64:/usr/local/cuda-$CUDA_VERSION/nvvm/lib64
23+
24+#
25+# Use Stackage's debian-bootstrap.sh script to install system libraries and
26+# tools required to build any Stackage package.
27+#
28+
29+RUN apt-get update && \
30+ apt-get install -y --no-install-recommends wget netbase ca-certificates && \
31+ if [ "$VARIANT" = "small" ]; then \
32+ echo "deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main" >>/etc/apt/sources.list && \
33+ echo "deb-src http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main" >>/etc/apt/sources.list && \
34+ apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 063DAB2BDC0B3F9FCEBC378BFF3AEACEF6F88286 && \
35+ apt-get update && \
36+ apt-get install -y --no-install-recommends \
37+ ghc-$GHC_VERSION ghc-$GHC_VERSION-htmldocs \
38+ g++ gcc libc6-dev libffi-dev libgmp-dev make xz-utils zlib1g-dev git gnupg \
39+ libtinfo-dev; \
40+ else \
41+ wget -qO- https://raw.githubusercontent.com/fpco/stackage/$BOOTSTRAP_COMMIT/debian-bootstrap.sh | sed "s/^GHCVER=8.6.3$/GHCVER=$GHC_VERSION/" | bash && \
42+ # Add g++ version required for building 'double-conversion' \
43+ # (see https://github.com/commercialhaskell/stack/issues/4470) \
44+ apt-get install -y g++-7; \
45+ fi && \
46+ rm -rf /var/lib/apt/lists/*
47+
48+#
49+# Create symlink to help tools find GHC documentation
50+#
51+
52+RUN ln -s ghc /opt/ghc/$GHC_VERSION/share/doc/ghc-$GHC_VERSION
53+
54+#
55+# Install Stack
56+#
57+
58+RUN wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/local/bin '*/stack'
59+
60+#
61+# Configure Stack to use the GHC installed in the Docker image rather than installing its own
62+#
63+
64+RUN mkdir /etc/stack/ && \
65+ echo "system-ghc: true" >/etc/stack/config.yaml
66+
67+#
68+# Use 'stack' to install basic Haskell tools like alex, happy, and cpphs. We
69+# remove most of the STACK_ROOT afterward to save space, but keep the 'share'
70+# files that some of these tools require.
71+#
72+
73+RUN export STACK_ROOT=/usr/local/lib/stack && \
74+ stack --resolver=$LTS_SLUG --local-bin-path=/usr/local/bin install \
75+ cabal-install happy alex cpphs gtk2hs-buildtools hscolour hlint hindent && \
76+ cd $STACK_ROOT && \
77+ find . -type f -not -path './snapshots/*/share/*' -exec rm '{}' \; && \
78+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
79+
80+#
81+# Install 'pid1' init daemon
82+#
83+
84+RUN wget -O- "https://github.com/fpco/pid1/releases/download/v$PID1_VERSION/pid1-$PID1_VERSION-linux-x86_64.tar.gz" | tar xzf - -C /usr/local && \
85+ chown root:root /usr/local/sbin && \
86+ chown root:root /usr/local/sbin/pid1
87+
88+#
89+# Set up pid1 entrypoint and default command
90+#
91+
92+ENTRYPOINT ["/usr/local/sbin/pid1"]
93+CMD ["bash"]
automated/dockerfiles/lts-13.20/Dockerfilenew file+93
@@ -0,0 +1,93 @@
1+FROM ubuntu:16.04
2+
3+MAINTAINER Emanuel Borsboom <manny@fpcomplete.com>
4+
5+ARG GHC_VERSION=8.6.5
6+ARG LTS_SLUG=lts-13.20
7+ARG PID1_VERSION=0.1.2.0
8+ARG STACK_VERSION=1.9.3
9+ARG CUDA_VERSION=10.0
10+ARG BOOTSTRAP_COMMIT=9f2b7ab95c711794257b059604e80ab9ad3c0c45
11+ARG DEBIAN_FRONTEND=noninteractive
12+ARG VARIANT=build
13+
14+#
15+# Set encoding to UTF-8 and PATH to find GHC and cabal/stack-installed binaries.
16+#
17+
18+ENV LANG=C.UTF-8 \
19+ LC_ALL=C.UTF-8 \
20+ PATH=/root/.cabal/bin:/root/.local/bin:/usr/local/cuda-$CUDA_VERSION/bin:/opt/ghc/$GHC_VERSION/bin:$PATH \
21+ CUDA_PATH=/usr/local/cuda-$CUDA_VERSION \
22+ LD_LIBRARY_PATH=/usr/local/cuda-$CUDA_VERSION/lib64:/usr/local/cuda-$CUDA_VERSION/nvvm/lib64
23+
24+#
25+# Use Stackage's debian-bootstrap.sh script to install system libraries and
26+# tools required to build any Stackage package.
27+#
28+
29+RUN apt-get update && \
30+ apt-get install -y --no-install-recommends wget netbase ca-certificates && \
31+ if [ "$VARIANT" = "small" ]; then \
32+ echo "deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main" >>/etc/apt/sources.list && \
33+ echo "deb-src http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main" >>/etc/apt/sources.list && \
34+ apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 063DAB2BDC0B3F9FCEBC378BFF3AEACEF6F88286 && \
35+ apt-get update && \
36+ apt-get install -y --no-install-recommends \
37+ ghc-$GHC_VERSION ghc-$GHC_VERSION-htmldocs \
38+ g++ gcc libc6-dev libffi-dev libgmp-dev make xz-utils zlib1g-dev git gnupg \
39+ libtinfo-dev; \
40+ else \
41+ wget -qO- https://raw.githubusercontent.com/fpco/stackage/$BOOTSTRAP_COMMIT/debian-bootstrap.sh | sed "s/^GHCVER=8.6.3$/GHCVER=$GHC_VERSION/" | bash && \
42+ # Add g++ version required for building 'double-conversion' \
43+ # (see https://github.com/commercialhaskell/stack/issues/4470) \
44+ apt-get install -y g++-7; \
45+ fi && \
46+ rm -rf /var/lib/apt/lists/*
47+
48+#
49+# Create symlink to help tools find GHC documentation
50+#
51+
52+RUN ln -s ghc /opt/ghc/$GHC_VERSION/share/doc/ghc-$GHC_VERSION
53+
54+#
55+# Install Stack
56+#
57+
58+RUN wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/local/bin '*/stack'
59+
60+#
61+# Configure Stack to use the GHC installed in the Docker image rather than installing its own
62+#
63+
64+RUN mkdir /etc/stack/ && \
65+ echo "system-ghc: true" >/etc/stack/config.yaml
66+
67+#
68+# Use 'stack' to install basic Haskell tools like alex, happy, and cpphs. We
69+# remove most of the STACK_ROOT afterward to save space, but keep the 'share'
70+# files that some of these tools require.
71+#
72+
73+RUN export STACK_ROOT=/usr/local/lib/stack && \
74+ stack --resolver=$LTS_SLUG --local-bin-path=/usr/local/bin install \
75+ cabal-install happy alex cpphs gtk2hs-buildtools hscolour hlint hindent && \
76+ cd $STACK_ROOT && \
77+ find . -type f -not -path './snapshots/*/share/*' -exec rm '{}' \; && \
78+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
79+
80+#
81+# Install 'pid1' init daemon
82+#
83+
84+RUN wget -O- "https://github.com/fpco/pid1/releases/download/v$PID1_VERSION/pid1-$PID1_VERSION-linux-x86_64.tar.gz" | tar xzf - -C /usr/local && \
85+ chown root:root /usr/local/sbin && \
86+ chown root:root /usr/local/sbin/pid1
87+
88+#
89+# Set up pid1 entrypoint and default command
90+#
91+
92+ENTRYPOINT ["/usr/local/sbin/pid1"]
93+CMD ["bash"]
automated/dockerfiles/lts-13.25/Dockerfilenew file+3
@@ -0,0 +1,3 @@
1+FROM $DOCKER_REPO:lts-13.24
2+ARG STACK_VERSION=2.1.1
3+RUN wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/local/bin '*/stack'
automated/dockerfiles/lts-13.27/Dockerfilenew file+9
@@ -0,0 +1,9 @@
1+FROM $DOCKER_REPO:lts-13.26
2+ARG VARIANT
3+RUN if [ "$VARIANT" = "small" ]; then \
4+ apt-get update && \
5+ apt-get install -y --no-install-recommends sudo && \
6+ rm -rf /var/lib/apt/lists/*; \
7+ fi
8+ARG STACK_VERSION=2.1.3
9+RUN wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64-static.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/local/bin '*/stack'
automated/dockerfiles/lts-13.3/Dockerfilenew file+10
@@ -0,0 +1,10 @@
1+FROM fpco/stack-build:lts-13.0
2+
3+#
4+# Add g++ version required for building 'double-conversion'
5+# (see https://github.com/commercialhaskell/stack/issues/4470)
6+#
7+
8+RUN apt-get update && \
9+ apt-get install -y g++-7 && \
10+ rm -rf /var/lib/apt/lists/*
automated/dockerfiles/lts-14.0/Dockerfilenew file+89
@@ -0,0 +1,89 @@
1+FROM ubuntu:18.04
2+
3+LABEL maintainer="manny@fpcomplete.com"
4+
5+ARG GHC_VERSION=8.6.5
6+ARG LTS_SLUG=lts-14.0
7+ARG PID1_VERSION=0.1.2.0
8+ARG STACK_VERSION=2.1.3
9+ARG CUDA_VERSION=10.0
10+ARG JVM_PATH=/usr/lib/jvm/java-8-openjdk-amd64
11+ARG LLVM_VERSION=3.9
12+ARG BOOTSTRAP_COMMIT=d4143f1845f26e8e99d0a1a8134d6ff535ab98b2
13+ARG DEBIAN_FRONTEND=noninteractive
14+ARG VARIANT=build
15+ARG STACK_ROOT=/home/stackage/.stack
16+
17+#
18+# Set encoding to UTF-8 and PATH to find GHC and cabal/stack-installed binaries.
19+#
20+
21+ENV LANG=C.UTF-8 \
22+ LC_ALL=C.UTF-8 \
23+ PATH=/root/.local/bin:/usr/local/cuda-$CUDA_VERSION/bin:$STACK_ROOT/programs/x86_64-linux/ghc-$GHC_VERSION/bin:$PATH \
24+ CUDA_PATH=/usr/local/cuda-$CUDA_VERSION \
25+ CPATH=$JVM_PATH/include:$JVM_PATH/include/linux:/usr/lib/llvm-$LLVM_VERSION/include
26+
27+#
28+# Install pre-requisites
29+#
30+
31+RUN apt-get update && \
32+ apt-get install -y --no-install-recommends \
33+ wget netbase ca-certificates g++ gcc libc6-dev libffi-dev libgmp-dev \
34+ make xz-utils zlib1g-dev git gnupg libtinfo-dev && \
35+ rm -rf /var/lib/apt/lists/*
36+
37+#
38+# Use Stackage's debian-bootstrap.sh script to install system libraries and
39+# tools required to build any Stackage package.
40+# Re-installs 'stack' *after* running debian-bootstrap.sh since that may have
41+# installed a different version.
42+# In the case of 'small' image, just install Stack and GHC.
43+#
44+
45+RUN if [ "$VARIANT" != "small" ]; then \
46+ wget -qO- https://raw.githubusercontent.com/fpco/stackage/$BOOTSTRAP_COMMIT/debian-bootstrap.sh | sed "s/^GHCVER=8.6.5$/GHCVER=$GHC_VERSION/" | GHCVER=$GHC_VERSION bash; \
47+ fi && \
48+ wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/bin '*/stack' && \
49+ if [ "$VARIANT" = "small" ]; then \
50+ stack setup --resolver ghc-$GHC_VERSION; \
51+ fi && \
52+ rm -rf /var/lib/apt/lists/* && \
53+ cd $STACK_ROOT && \
54+ find . -type f -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \
55+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
56+
57+#
58+# Configure Stack to use the GHC installed in the Docker image rather than installing its own
59+#
60+
61+RUN mkdir /etc/stack/ && \
62+ echo "system-ghc: true" >/etc/stack/config.yaml
63+
64+#
65+# Use 'stack' to install basic Haskell tools like alex, happy, and cpphs. We
66+# remove most of the STACK_ROOT afterward to save space, but keep the 'share'
67+# files that some of these tools require.
68+#
69+
70+RUN stack --resolver=$LTS_SLUG --local-bin-path=/usr/bin install \
71+ happy alex cpphs gtk2hs-buildtools hscolour hlint hindent && \
72+ cd $STACK_ROOT && \
73+ find . -type f -not -path './snapshots/*/share/*' -and -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \
74+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
75+
76+#
77+# Install 'pid1' init daemon
78+#
79+
80+RUN wget -O- "https://github.com/fpco/pid1/releases/download/v$PID1_VERSION/pid1-$PID1_VERSION-linux-x86_64.tar.gz" | tar xzf - -C /usr/local && \
81+ chown root:root /usr/local/sbin && \
82+ chown root:root /usr/local/sbin/pid1
83+
84+#
85+# Set up pid1 entrypoint and default command
86+#
87+
88+ENTRYPOINT ["/usr/local/sbin/pid1"]
89+CMD ["bash"]
automated/dockerfiles/lts-14.0/Dockerfile.subnew file+89
@@ -0,0 +1,89 @@
1+FROM ubuntu:18.04
2+
3+LABEL maintainer="manny@fpcomplete.com"
4+
5+ARG GHC_VERSION=8.6.5
6+ARG LTS_SLUG=lts-14.0
7+ARG PID1_VERSION=0.1.2.0
8+ARG STACK_VERSION=2.1.3
9+ARG CUDA_VERSION=10.0
10+ARG JVM_PATH=/usr/lib/jvm/java-8-openjdk-amd64
11+ARG LLVM_VERSION=3.9
12+ARG BOOTSTRAP_COMMIT=d4143f1845f26e8e99d0a1a8134d6ff535ab98b2
13+ARG DEBIAN_FRONTEND=noninteractive
14+ARG VARIANT=build
15+ARG STACK_ROOT=/home/stackage/.stack
16+
17+#
18+# Set encoding to UTF-8 and PATH to find GHC and cabal/stack-installed binaries.
19+#
20+
21+ENV LANG=C.UTF-8 \
22+ LC_ALL=C.UTF-8 \
23+ PATH=/root/.local/bin:/usr/local/cuda-$CUDA_VERSION/bin:$STACK_ROOT/programs/x86_64-linux/ghc-$GHC_VERSION/bin:$PATH \
24+ CUDA_PATH=/usr/local/cuda-$CUDA_VERSION \
25+ CPATH=$JVM_PATH/include:$JVM_PATH/include/linux:/usr/lib/llvm-$LLVM_VERSION/include
26+
27+#
28+# Install pre-requisites
29+#
30+
31+RUN apt-get update && \
32+ apt-get install -y --no-install-recommends \
33+ wget netbase ca-certificates g++ gcc libc6-dev libffi-dev libgmp-dev \
34+ make xz-utils zlib1g-dev git gnupg libtinfo-dev && \
35+ rm -rf /var/lib/apt/lists/*
36+
37+#
38+# Use Stackage's debian-bootstrap.sh script to install system libraries and
39+# tools required to build any Stackage package.
40+# Re-installs 'stack' *after* running debian-bootstrap.sh since that may have
41+# installed a different version.
42+# In the case of 'small' image, just install Stack and GHC.
43+#
44+
45+RUN if [ "$VARIANT" != "small" ]; then \
46+ wget -qO- https://raw.githubusercontent.com/fpco/stackage/$BOOTSTRAP_COMMIT/debian-bootstrap.sh | sed "s/^GHCVER=8.6.5$/GHCVER=$GHC_VERSION/" | GHCVER=$GHC_VERSION bash; \
47+ fi && \
48+ wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/bin '*/stack' && \
49+ if [ "$VARIANT" = "small" ]; then \
50+ stack setup --resolver ghc-$GHC_VERSION; \
51+ fi && \
52+ rm -rf /var/lib/apt/lists/* && \
53+ cd $STACK_ROOT && \
54+ find . -type f -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \
55+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
56+
57+#
58+# Configure Stack to use the GHC installed in the Docker image rather than installing its own
59+#
60+
61+RUN mkdir /etc/stack/ && \
62+ echo "system-ghc: true" >/etc/stack/config.yaml
63+
64+#
65+# Use 'stack' to install basic Haskell tools like alex, happy, and cpphs. We
66+# remove most of the STACK_ROOT afterward to save space, but keep the 'share'
67+# files that some of these tools require.
68+#
69+
70+RUN stack --resolver=$LTS_SLUG --local-bin-path=/usr/bin install \
71+ happy alex cpphs gtk2hs-buildtools hscolour hlint hindent && \
72+ cd $STACK_ROOT && \
73+ find . -type f -not -path './snapshots/*/share/*' -and -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \
74+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
75+
76+#
77+# Install 'pid1' init daemon
78+#
79+
80+RUN wget -O- "https://github.com/fpco/pid1/releases/download/v$PID1_VERSION/pid1-$PID1_VERSION-linux-x86_64.tar.gz" | tar xzf - -C /usr/local && \
81+ chown root:root /usr/local/sbin && \
82+ chown root:root /usr/local/sbin/pid1
83+
84+#
85+# Set up pid1 entrypoint and default command
86+#
87+
88+ENTRYPOINT ["/usr/local/sbin/pid1"]
89+CMD ["bash"]
automated/dockerfiles/lts-15.0/Dockerfilenew file+89
@@ -0,0 +1,89 @@
1+FROM ubuntu:18.04
2+
3+LABEL maintainer="manny@fpcomplete.com"
4+
5+ARG GHC_VERSION=8.8.2
6+ARG LTS_SLUG=lts-15.0
7+ARG PID1_VERSION=0.1.2.0
8+ARG STACK_VERSION=2.1.3
9+ARG CUDA_VERSION=10.0
10+ARG JVM_PATH=/usr/lib/jvm/java-8-openjdk-amd64
11+ARG LLVM_PATH=/usr/lib/llvm-7
12+ARG BOOTSTRAP_COMMIT=77790c7bcb21fd8875871245df5c5c39a55ec0c1
13+ARG DEBIAN_FRONTEND=noninteractive
14+ARG VARIANT=build
15+ARG STACK_ROOT=/home/stackage/.stack
16+
17+#
18+# Set encoding to UTF-8 and PATH to find GHC and cabal/stack-installed binaries.
19+#
20+
21+ENV LANG=C.UTF-8 \
22+ LC_ALL=C.UTF-8 \
23+ PATH=/root/.local/bin:/usr/local/cuda-$CUDA_VERSION/bin:$STACK_ROOT/programs/x86_64-linux/ghc-$GHC_VERSION/bin:$PATH \
24+ CUDA_PATH=/usr/local/cuda-$CUDA_VERSION \
25+ CPATH=$JVM_PATH/include:$JVM_PATH/include/linux:$LLVM_PATH/include
26+
27+#
28+# Install pre-requisites
29+#
30+
31+RUN apt-get update && \
32+ apt-get install -y --no-install-recommends \
33+ wget netbase ca-certificates g++ gcc libc6-dev libffi-dev libgmp-dev \
34+ make xz-utils zlib1g-dev git gnupg libtinfo-dev && \
35+ rm -rf /var/lib/apt/lists/*
36+
37+#
38+# Use Stackage's debian-bootstrap.sh script to install system libraries and
39+# tools required to build any Stackage package.
40+# Re-installs 'stack' *after* running debian-bootstrap.sh since that may have
41+# installed a different version.
42+# In the case of 'small' image, just install Stack and GHC.
43+#
44+
45+RUN if [ "$VARIANT" != "small" ]; then \
46+ wget -qO- https://raw.githubusercontent.com/fpco/stackage/$BOOTSTRAP_COMMIT/debian-bootstrap.sh | sed "s/^GHCVER=8.6.5$/GHCVER=$GHC_VERSION/" | GHCVER=$GHC_VERSION bash; \
47+ fi && \
48+ wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/bin '*/stack' && \
49+ if [ "$VARIANT" = "small" ]; then \
50+ stack setup --resolver ghc-$GHC_VERSION; \
51+ fi && \
52+ rm -rf /var/lib/apt/lists/* && \
53+ cd $STACK_ROOT && \
54+ find . -type f -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \
55+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
56+
57+#
58+# Configure Stack to use the GHC installed in the Docker image rather than installing its own
59+#
60+
61+RUN mkdir /etc/stack/ && \
62+ echo "system-ghc: true" >/etc/stack/config.yaml
63+
64+#
65+# Use 'stack' to install basic Haskell tools like alex, happy, and cpphs. We
66+# remove most of the STACK_ROOT afterward to save space, but keep the 'share'
67+# files that some of these tools require.
68+#
69+
70+RUN stack --resolver=$LTS_SLUG --local-bin-path=/usr/bin install \
71+ happy alex cpphs gtk2hs-buildtools hscolour hlint hindent && \
72+ cd $STACK_ROOT && \
73+ find . -type f -not -path './snapshots/*/share/*' -and -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \
74+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
75+
76+#
77+# Install 'pid1' init daemon
78+#
79+
80+RUN wget -O- "https://github.com/fpco/pid1/releases/download/v$PID1_VERSION/pid1-$PID1_VERSION-linux-x86_64.tar.gz" | tar xzf - -C /usr/local && \
81+ chown root:root /usr/local/sbin && \
82+ chown root:root /usr/local/sbin/pid1
83+
84+#
85+# Set up pid1 entrypoint and default command
86+#
87+
88+ENTRYPOINT ["/usr/local/sbin/pid1"]
89+CMD ["bash"]
automated/dockerfiles/lts-15.10/Dockerfilenew file+3
@@ -0,0 +1,3 @@
1+FROM $DOCKER_REPO:lts-15.5
2+ARG STACK_VERSION=2.3.1
3+RUN wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/local/bin '*/stack'
automated/dockerfiles/lts-15.5/Dockerfilenew file+89
@@ -0,0 +1,89 @@
1+FROM ubuntu:18.04
2+
3+LABEL maintainer="manny@fpcomplete.com"
4+
5+ARG GHC_VERSION=8.8.3
6+ARG LTS_SLUG=lts-15.0
7+ARG PID1_VERSION=0.1.2.0
8+ARG STACK_VERSION=2.1.3
9+ARG CUDA_VERSION=10.0
10+ARG JVM_PATH=/usr/lib/jvm/java-8-openjdk-amd64
11+ARG LLVM_PATH=/usr/lib/llvm-7
12+ARG BOOTSTRAP_COMMIT=77790c7bcb21fd8875871245df5c5c39a55ec0c1
13+ARG DEBIAN_FRONTEND=noninteractive
14+ARG VARIANT=build
15+ARG STACK_ROOT=/home/stackage/.stack
16+
17+#
18+# Set encoding to UTF-8 and PATH to find GHC and cabal/stack-installed binaries.
19+#
20+
21+ENV LANG=C.UTF-8 \
22+ LC_ALL=C.UTF-8 \
23+ PATH=/root/.local/bin:/usr/local/cuda-$CUDA_VERSION/bin:$STACK_ROOT/programs/x86_64-linux/ghc-$GHC_VERSION/bin:$PATH \
24+ CUDA_PATH=/usr/local/cuda-$CUDA_VERSION \
25+ CPATH=$JVM_PATH/include:$JVM_PATH/include/linux:$LLVM_PATH/include
26+
27+#
28+# Install pre-requisites
29+#
30+
31+RUN apt-get update && \
32+ apt-get install -y --no-install-recommends \
33+ wget netbase ca-certificates g++ gcc libc6-dev libffi-dev libgmp-dev \
34+ make xz-utils zlib1g-dev git gnupg libtinfo-dev jq && \
35+ rm -rf /var/lib/apt/lists/*
36+
37+#
38+# Use Stackage's debian-bootstrap.sh script to install system libraries and
39+# tools required to build any Stackage package.
40+# Re-installs 'stack' *after* running debian-bootstrap.sh since that may have
41+# installed a different version.
42+# In the case of 'small' image, just install Stack and GHC.
43+#
44+
45+RUN if [ "$VARIANT" != "small" ]; then \
46+ wget -qO- https://raw.githubusercontent.com/fpco/stackage/$BOOTSTRAP_COMMIT/debian-bootstrap.sh | sed "s/^GHCVER=8.6.5$/GHCVER=$GHC_VERSION/" | GHCVER=$GHC_VERSION bash; \
47+ fi && \
48+ wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/bin '*/stack' && \
49+ if [ "$VARIANT" = "small" ]; then \
50+ stack setup --resolver ghc-$GHC_VERSION; \
51+ fi && \
52+ rm -rf /var/lib/apt/lists/* && \
53+ cd $STACK_ROOT && \
54+ find . -type f -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \
55+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
56+
57+#
58+# Configure Stack to use the GHC installed in the Docker image rather than installing its own
59+#
60+
61+RUN mkdir /etc/stack/ && \
62+ echo "system-ghc: true" >/etc/stack/config.yaml
63+
64+#
65+# Use 'stack' to install basic Haskell tools like alex, happy, and cpphs. We
66+# remove most of the STACK_ROOT afterward to save space, but keep the 'share'
67+# files that some of these tools require.
68+#
69+
70+RUN stack --resolver=$LTS_SLUG --local-bin-path=/usr/bin install \
71+ happy alex cpphs gtk2hs-buildtools hscolour hlint hindent && \
72+ cd $STACK_ROOT && \
73+ find . -type f -not -path './snapshots/*/share/*' -and -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \
74+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
75+
76+#
77+# Install 'pid1' init daemon
78+#
79+
80+RUN wget -O- "https://github.com/fpco/pid1/releases/download/v$PID1_VERSION/pid1-$PID1_VERSION-linux-x86_64.tar.gz" | tar xzf - -C /usr/local && \
81+ chown root:root /usr/local/sbin && \
82+ chown root:root /usr/local/sbin/pid1
83+
84+#
85+# Set up pid1 entrypoint and default command
86+#
87+
88+ENTRYPOINT ["/usr/local/sbin/pid1"]
89+CMD ["bash"]
automated/dockerfiles/lts-16.0/Dockerfilenew file+90
@@ -0,0 +1,90 @@
1+FROM ubuntu:18.04
2+
3+LABEL maintainer="manny@fpcomplete.com"
4+
5+ARG GHC_VERSION=8.8.3
6+ARG LTS_SLUG=lts-16.0
7+ARG PID1_VERSION=0.1.2.0
8+ARG STACK_VERSION=2.3.1
9+ARG CUDA_VERSION=10.0
10+ARG JVM_PATH=/usr/lib/jvm/java-8-openjdk-amd64
11+ARG LLVM_PATH=/usr/lib/llvm-7
12+ARG BOOTSTRAP_COMMIT=1afd08ff0a3c3627f17eb1b928d35f337db40e08
13+
14+ARG DEBIAN_FRONTEND=noninteractive
15+ARG VARIANT=build
16+ARG STACK_ROOT=/home/stackage/.stack
17+
18+#
19+# Set encoding to UTF-8 and PATH to find GHC and cabal/stack-installed binaries.
20+#
21+
22+ENV LANG=C.UTF-8 \
23+ LC_ALL=C.UTF-8 \
24+ PATH=/root/.local/bin:/usr/local/cuda-$CUDA_VERSION/bin:$STACK_ROOT/programs/x86_64-linux/ghc-$GHC_VERSION/bin:$PATH \
25+ CUDA_PATH=/usr/local/cuda-$CUDA_VERSION \
26+ CPATH=$JVM_PATH/include:$JVM_PATH/include/linux:$LLVM_PATH/include
27+
28+#
29+# Install pre-requisites
30+#
31+
32+RUN apt-get update && \
33+ apt-get install -y --no-install-recommends \
34+ wget netbase ca-certificates g++ gcc libc6-dev libffi-dev libgmp-dev \
35+ make xz-utils zlib1g-dev git gnupg libtinfo-dev jq && \
36+ rm -rf /var/lib/apt/lists/*
37+
38+#
39+# Use Stackage's debian-bootstrap.sh script to install system libraries and
40+# tools required to build any Stackage package.
41+# Re-installs 'stack' *after* running debian-bootstrap.sh since that may have
42+# installed a different version.
43+# In the case of 'small' image, just install Stack and GHC.
44+#
45+
46+RUN if [ "$VARIANT" != "small" ]; then \
47+ wget -qO- https://raw.githubusercontent.com/fpco/stackage/$BOOTSTRAP_COMMIT/debian-bootstrap.sh | sed "s/^GHCVER=8.6.5$/GHCVER=$GHC_VERSION/" | GHCVER=$GHC_VERSION bash; \
48+ fi && \
49+ wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/bin '*/stack' && \
50+ if [ "$VARIANT" = "small" ]; then \
51+ stack setup --resolver ghc-$GHC_VERSION; \
52+ fi && \
53+ rm -rf /var/lib/apt/lists/* && \
54+ cd $STACK_ROOT && \
55+ find . -type f -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \
56+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
57+
58+#
59+# Configure Stack to use the GHC installed in the Docker image rather than installing its own
60+#
61+
62+RUN mkdir /etc/stack/ && \
63+ echo "system-ghc: true" >/etc/stack/config.yaml
64+
65+#
66+# Use 'stack' to install basic Haskell tools like alex, happy, and cpphs. We
67+# remove most of the STACK_ROOT afterward to save space, but keep the 'share'
68+# files that some of these tools require.
69+#
70+
71+RUN stack --resolver=$LTS_SLUG --local-bin-path=/usr/bin install \
72+ happy alex cpphs gtk2hs-buildtools hscolour hlint hindent && \
73+ cd $STACK_ROOT && \
74+ find . -type f -not -path './snapshots/*/share/*' -and -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \
75+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
76+
77+#
78+# Install 'pid1' init daemon
79+#
80+
81+RUN wget -O- "https://github.com/fpco/pid1/releases/download/v$PID1_VERSION/pid1-$PID1_VERSION-linux-x86_64.tar.gz" | tar xzf - -C /usr/local && \
82+ chown root:root /usr/local/sbin && \
83+ chown root:root /usr/local/sbin/pid1
84+
85+#
86+# Set up pid1 entrypoint and default command
87+#
88+
89+ENTRYPOINT ["/usr/local/sbin/pid1"]
90+CMD ["bash"]
automated/dockerfiles/lts-16.12/Dockerfilenew file+90
@@ -0,0 +1,90 @@
1+FROM ubuntu:18.04
2+
3+LABEL maintainer="manny@fpcomplete.com"
4+
5+ARG GHC_VERSION=8.8.4
6+ARG LTS_SLUG=lts-16.12
7+ARG PID1_VERSION=0.1.2.0
8+ARG STACK_VERSION=2.3.3
9+ARG CUDA_VERSION=10.0
10+ARG JVM_PATH=/usr/lib/jvm/java-8-openjdk-amd64
11+ARG LLVM_PATH=/usr/lib/llvm-7
12+ARG BOOTSTRAP_COMMIT=1afd08ff0a3c3627f17eb1b928d35f337db40e08
13+
14+ARG DEBIAN_FRONTEND=noninteractive
15+ARG VARIANT=build
16+ARG STACK_ROOT=/home/stackage/.stack
17+
18+#
19+# Set encoding to UTF-8 and PATH to find GHC and cabal/stack-installed binaries.
20+#
21+
22+ENV LANG=C.UTF-8 \
23+ LC_ALL=C.UTF-8 \
24+ PATH=/root/.local/bin:/usr/local/cuda-$CUDA_VERSION/bin:$STACK_ROOT/programs/x86_64-linux/ghc-$GHC_VERSION/bin:$PATH \
25+ CUDA_PATH=/usr/local/cuda-$CUDA_VERSION \
26+ CPATH=$JVM_PATH/include:$JVM_PATH/include/linux:$LLVM_PATH/include
27+
28+#
29+# Install pre-requisites
30+#
31+
32+RUN apt-get update && \
33+ apt-get install -y --no-install-recommends \
34+ wget netbase ca-certificates g++ gcc libc6-dev libffi-dev libgmp-dev \
35+ make xz-utils zlib1g-dev git gnupg libtinfo-dev jq && \
36+ rm -rf /var/lib/apt/lists/*
37+
38+#
39+# Use Stackage's debian-bootstrap.sh script to install system libraries and
40+# tools required to build any Stackage package.
41+# Re-installs 'stack' *after* running debian-bootstrap.sh since that may have
42+# installed a different version.
43+# In the case of 'small' image, just install Stack and GHC.
44+#
45+
46+RUN if [ "$VARIANT" != "small" ]; then \
47+ wget -qO- https://raw.githubusercontent.com/fpco/stackage/$BOOTSTRAP_COMMIT/debian-bootstrap.sh | sed "s/^GHCVER=8.6.5$/GHCVER=$GHC_VERSION/" | GHCVER=$GHC_VERSION bash; \
48+ fi && \
49+ wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/bin '*/stack' && \
50+ if [ "$VARIANT" = "small" ]; then \
51+ stack setup --resolver ghc-$GHC_VERSION; \
52+ fi && \
53+ rm -rf /var/lib/apt/lists/* && \
54+ cd $STACK_ROOT && \
55+ find . -type f -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \
56+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
57+
58+#
59+# Configure Stack to use the GHC installed in the Docker image rather than installing its own
60+#
61+
62+RUN mkdir /etc/stack/ && \
63+ echo "system-ghc: true" >/etc/stack/config.yaml
64+
65+#
66+# Use 'stack' to install basic Haskell tools like alex, happy, and cpphs. We
67+# remove most of the STACK_ROOT afterward to save space, but keep the 'share'
68+# files that some of these tools require.
69+#
70+
71+RUN stack --resolver=$LTS_SLUG --local-bin-path=/usr/bin install \
72+ happy alex cpphs gtk2hs-buildtools hscolour hlint hindent && \
73+ cd $STACK_ROOT && \
74+ find . -type f -not -path './snapshots/*/share/*' -and -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \
75+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
76+
77+#
78+# Install 'pid1' init daemon
79+#
80+
81+RUN wget -O- "https://github.com/fpco/pid1/releases/download/v$PID1_VERSION/pid1-$PID1_VERSION-linux-x86_64.tar.gz" | tar xzf - -C /usr/local && \
82+ chown root:root /usr/local/sbin && \
83+ chown root:root /usr/local/sbin/pid1
84+
85+#
86+# Set up pid1 entrypoint and default command
87+#
88+
89+ENTRYPOINT ["/usr/local/sbin/pid1"]
90+CMD ["bash"]
automated/dockerfiles/lts-16.8/Dockerfilenew file+3
@@ -0,0 +1,3 @@
1+FROM $DOCKER_REPO:lts-16.0
2+ARG STACK_VERSION=2.3.3
3+RUN wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/local/bin '*/stack'
automated/dockerfiles/lts-17.0/Dockerfilenew file+90
@@ -0,0 +1,90 @@
1+FROM ubuntu:18.04
2+
3+LABEL maintainer="manny@fpcomplete.com"
4+
5+ARG GHC_VERSION=8.8.3
6+ARG LTS_SLUG=lts-17.0
7+ARG PID1_VERSION=0.1.2.0
8+ARG STACK_VERSION=2.5.1
9+ARG CUDA_VERSION=10.0
10+ARG JVM_PATH=/usr/lib/jvm/java-8-openjdk-amd64
11+ARG LLVM_PATH=/usr/lib/llvm-7
12+ARG BOOTSTRAP_COMMIT=1afd08ff0a3c3627f17eb1b928d35f337db40e08
13+
14+ARG DEBIAN_FRONTEND=noninteractive
15+ARG VARIANT=build
16+ARG STACK_ROOT=/home/stackage/.stack
17+
18+#
19+# Set encoding to UTF-8 and PATH to find GHC and cabal/stack-installed binaries.
20+#
21+
22+ENV LANG=C.UTF-8 \
23+ LC_ALL=C.UTF-8 \
24+ PATH=/root/.local/bin:/usr/local/cuda-$CUDA_VERSION/bin:$STACK_ROOT/programs/x86_64-linux/ghc-$GHC_VERSION/bin:$PATH \
25+ CUDA_PATH=/usr/local/cuda-$CUDA_VERSION \
26+ CPATH=$JVM_PATH/include:$JVM_PATH/include/linux:$LLVM_PATH/include
27+
28+#
29+# Install pre-requisites
30+#
31+
32+RUN apt-get update && \
33+ apt-get install -y --no-install-recommends \
34+ wget netbase ca-certificates g++ gcc libc6-dev libffi-dev libgmp-dev \
35+ make xz-utils zlib1g-dev git gnupg libtinfo-dev jq && \
36+ rm -rf /var/lib/apt/lists/*
37+
38+#
39+# Use Stackage's debian-bootstrap.sh script to install system libraries and
40+# tools required to build any Stackage package.
41+# Re-installs 'stack' *after* running debian-bootstrap.sh since that may have
42+# installed a different version.
43+# In the case of 'small' image, just install Stack and GHC.
44+#
45+
46+RUN if [ "$VARIANT" != "small" ]; then \
47+ wget -qO- https://raw.githubusercontent.com/fpco/stackage/$BOOTSTRAP_COMMIT/debian-bootstrap.sh | sed "s/^GHCVER=8.6.5$/GHCVER=$GHC_VERSION/" | GHCVER=$GHC_VERSION bash; \
48+ fi && \
49+ wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/bin '*/stack' && \
50+ if [ "$VARIANT" = "small" ]; then \
51+ stack setup --resolver ghc-$GHC_VERSION; \
52+ fi && \
53+ rm -rf /var/lib/apt/lists/* && \
54+ cd $STACK_ROOT && \
55+ find . -type f -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \
56+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
57+
58+#
59+# Configure Stack to use the GHC installed in the Docker image rather than installing its own
60+#
61+
62+RUN mkdir /etc/stack/ && \
63+ echo "system-ghc: true" >/etc/stack/config.yaml
64+
65+#
66+# Use 'stack' to install basic Haskell tools like alex, happy, and cpphs. We
67+# remove most of the STACK_ROOT afterward to save space, but keep the 'share'
68+# files that some of these tools require.
69+#
70+
71+RUN stack --resolver=$LTS_SLUG --local-bin-path=/usr/bin install \
72+ happy alex cpphs gtk2hs-buildtools hscolour hlint hindent && \
73+ cd $STACK_ROOT && \
74+ find . -type f -not -path './snapshots/*/share/*' -and -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \
75+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
76+
77+#
78+# Install 'pid1' init daemon
79+#
80+
81+RUN wget -O- "https://github.com/fpco/pid1/releases/download/v$PID1_VERSION/pid1-$PID1_VERSION-linux-x86_64.tar.gz" | tar xzf - -C /usr/local && \
82+ chown root:root /usr/local/sbin && \
83+ chown root:root /usr/local/sbin/pid1
84+
85+#
86+# Set up pid1 entrypoint and default command
87+#
88+
89+ENTRYPOINT ["/usr/local/sbin/pid1"]
90+CMD ["bash"]
automated/dockerfiles/lts-17.10/Dockerfilenew file+3
@@ -0,0 +1,3 @@
1+FROM $DOCKER_REPO:lts-17.9
2+ARG STACK_VERSION=2.7.1
3+RUN wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/local/bin '*/stack'
automated/dockerfiles/lts-17.3/Dockerfilenew file+90
@@ -0,0 +1,90 @@
1+FROM ubuntu:18.04
2+
3+LABEL maintainer="manny@fpcomplete.com"
4+
5+ARG GHC_VERSION=8.8.4
6+ARG LTS_SLUG=lts-17.3
7+ARG PID1_VERSION=0.1.2.0
8+ARG STACK_VERSION=2.5.1
9+ARG CUDA_VERSION=10.0
10+ARG JVM_PATH=/usr/lib/jvm/java-8-openjdk-amd64
11+ARG LLVM_PATH=/usr/lib/llvm-7
12+ARG BOOTSTRAP_COMMIT=1afd08ff0a3c3627f17eb1b928d35f337db40e08
13+
14+ARG DEBIAN_FRONTEND=noninteractive
15+ARG VARIANT=build
16+ARG STACK_ROOT=/home/stackage/.stack
17+
18+#
19+# Set encoding to UTF-8 and PATH to find GHC and cabal/stack-installed binaries.
20+#
21+
22+ENV LANG=C.UTF-8 \
23+ LC_ALL=C.UTF-8 \
24+ PATH=/root/.local/bin:/usr/local/cuda-$CUDA_VERSION/bin:$STACK_ROOT/programs/x86_64-linux/ghc-$GHC_VERSION/bin:$PATH \
25+ CUDA_PATH=/usr/local/cuda-$CUDA_VERSION \
26+ CPATH=$JVM_PATH/include:$JVM_PATH/include/linux:$LLVM_PATH/include
27+
28+#
29+# Install pre-requisites
30+#
31+
32+RUN apt-get update && \
33+ apt-get install -y --no-install-recommends \
34+ wget netbase ca-certificates g++ gcc libc6-dev libffi-dev libgmp-dev \
35+ make xz-utils zlib1g-dev git gnupg libtinfo-dev jq && \
36+ rm -rf /var/lib/apt/lists/*
37+
38+#
39+# Use Stackage's debian-bootstrap.sh script to install system libraries and
40+# tools required to build any Stackage package.
41+# Re-installs 'stack' *after* running debian-bootstrap.sh since that may have
42+# installed a different version.
43+# In the case of 'small' image, just install Stack and GHC.
44+#
45+
46+RUN if [ "$VARIANT" != "small" ]; then \
47+ wget -qO- https://raw.githubusercontent.com/fpco/stackage/$BOOTSTRAP_COMMIT/debian-bootstrap.sh | sed "s/^GHCVER=8.6.5$/GHCVER=$GHC_VERSION/" | GHCVER=$GHC_VERSION bash; \
48+ fi && \
49+ wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/bin '*/stack' && \
50+ if [ "$VARIANT" = "small" ]; then \
51+ stack setup --resolver ghc-$GHC_VERSION; \
52+ fi && \
53+ rm -rf /var/lib/apt/lists/* && \
54+ cd $STACK_ROOT && \
55+ find . -type f -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \
56+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
57+
58+#
59+# Configure Stack to use the GHC installed in the Docker image rather than installing its own
60+#
61+
62+RUN mkdir /etc/stack/ && \
63+ echo "system-ghc: true" >/etc/stack/config.yaml
64+
65+#
66+# Use 'stack' to install basic Haskell tools like alex, happy, and cpphs. We
67+# remove most of the STACK_ROOT afterward to save space, but keep the 'share'
68+# files that some of these tools require.
69+#
70+
71+RUN stack --resolver=$LTS_SLUG --local-bin-path=/usr/bin install \
72+ happy alex cpphs gtk2hs-buildtools hscolour hlint hindent && \
73+ cd $STACK_ROOT && \
74+ find . -type f -not -path './snapshots/*/share/*' -and -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \
75+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
76+
77+#
78+# Install 'pid1' init daemon
79+#
80+
81+RUN wget -O- "https://github.com/fpco/pid1/releases/download/v$PID1_VERSION/pid1-$PID1_VERSION-linux-x86_64.tar.gz" | tar xzf - -C /usr/local && \
82+ chown root:root /usr/local/sbin && \
83+ chown root:root /usr/local/sbin/pid1
84+
85+#
86+# Set up pid1 entrypoint and default command
87+#
88+
89+ENTRYPOINT ["/usr/local/sbin/pid1"]
90+CMD ["bash"]
automated/dockerfiles/lts-18.0/Dockerfilenew file+90
@@ -0,0 +1,90 @@
1+FROM ubuntu:18.04
2+
3+LABEL maintainer="manny@fpcomplete.com"
4+
5+ARG GHC_VERSION=8.10.4
6+ARG LTS_SLUG=lts-18.0
7+ARG PID1_VERSION=0.1.2.0
8+ARG STACK_VERSION=2.7.3
9+ARG CUDA_VERSION=10.0
10+ARG JVM_PATH=/usr/lib/jvm/java-8-openjdk-amd64
11+ARG LLVM_PATH=/usr/lib/llvm-7
12+ARG BOOTSTRAP_COMMIT=b91382f2ff1f2775f4aa9d42c9a6b06b33e5904d
13+
14+ARG DEBIAN_FRONTEND=noninteractive
15+ARG VARIANT=build
16+ARG STACK_ROOT=/home/stackage/.stack
17+
18+#
19+# Set encoding to UTF-8 and PATH to find GHC and cabal/stack-installed binaries.
20+#
21+
22+ENV LANG=C.UTF-8 \
23+ LC_ALL=C.UTF-8 \
24+ PATH=/root/.local/bin:/usr/local/cuda-$CUDA_VERSION/bin:$STACK_ROOT/programs/x86_64-linux/ghc-$GHC_VERSION/bin:$PATH \
25+ CUDA_PATH=/usr/local/cuda-$CUDA_VERSION \
26+ CPATH=$JVM_PATH/include:$JVM_PATH/include/linux:$LLVM_PATH/include
27+
28+#
29+# Install pre-requisites
30+#
31+
32+RUN apt-get update && \
33+ apt-get install -y --no-install-recommends \
34+ wget netbase ca-certificates g++ gcc libc6-dev libffi-dev libgmp-dev \
35+ make xz-utils zlib1g-dev git gnupg libtinfo-dev jq && \
36+ rm -rf /var/lib/apt/lists/*
37+
38+#
39+# Use Stackage's debian-bootstrap.sh script to install system libraries and
40+# tools required to build any Stackage package.
41+# Re-installs 'stack' *after* running debian-bootstrap.sh since that may have
42+# installed a different version.
43+# In the case of 'small' image, just install Stack and GHC.
44+#
45+
46+RUN if [ "$VARIANT" != "small" ]; then \
47+ wget -qO- https://raw.githubusercontent.com/fpco/stackage/$BOOTSTRAP_COMMIT/debian-bootstrap.sh | sed "s/^GHCVER=9.0.1$/GHCVER=$GHC_VERSION/" | GHCVER=$GHC_VERSION bash; \
48+ fi && \
49+ wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/bin '*/stack' && \
50+ if [ "$VARIANT" = "small" ]; then \
51+ stack setup --resolver ghc-$GHC_VERSION; \
52+ fi && \
53+ rm -rf /var/lib/apt/lists/* && \
54+ cd $STACK_ROOT && \
55+ find . -type f -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \
56+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
57+
58+#
59+# Configure Stack to use the GHC installed in the Docker image rather than installing its own
60+#
61+
62+RUN mkdir /etc/stack/ && \
63+ echo "system-ghc: true" >/etc/stack/config.yaml
64+
65+#
66+# Use 'stack' to install basic Haskell tools like alex, happy, and cpphs. We
67+# remove most of the STACK_ROOT afterward to save space, but keep the 'share'
68+# files that some of these tools require.
69+#
70+
71+RUN stack --resolver=$LTS_SLUG --local-bin-path=/usr/bin install \
72+ happy alex cpphs gtk2hs-buildtools hscolour hlint hindent && \
73+ cd $STACK_ROOT && \
74+ find . -type f -not -path './snapshots/*/share/*' -and -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \
75+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
76+
77+#
78+# Install 'pid1' init daemon
79+#
80+
81+RUN wget -O- "https://github.com/fpco/pid1/releases/download/v$PID1_VERSION/pid1-$PID1_VERSION-linux-x86_64.tar.gz" | tar xzf - -C /usr/local && \
82+ chown root:root /usr/local/sbin && \
83+ chown root:root /usr/local/sbin/pid1
84+
85+#
86+# Set up pid1 entrypoint and default command
87+#
88+
89+ENTRYPOINT ["/usr/local/sbin/pid1"]
90+CMD ["bash"]
automated/dockerfiles/lts-18.7/Dockerfilenew file+90
@@ -0,0 +1,90 @@
1+FROM ubuntu:18.04
2+
3+LABEL maintainer="manny@fpcomplete.com"
4+
5+ARG GHC_VERSION=8.10.6
6+ARG LTS_SLUG=lts-18.6
7+ARG PID1_VERSION=0.1.2.0
8+ARG STACK_VERSION=2.7.3
9+ARG CUDA_VERSION=10.0
10+ARG JVM_PATH=/usr/lib/jvm/java-8-openjdk-amd64
11+ARG LLVM_PATH=/usr/lib/llvm-7
12+ARG BOOTSTRAP_COMMIT=b1d40e112040a7f44eff47a9fafb6937f5d02dff
13+
14+ARG DEBIAN_FRONTEND=noninteractive
15+ARG VARIANT=build
16+ARG STACK_ROOT=/home/stackage/.stack
17+
18+#
19+# Set encoding to UTF-8 and PATH to find GHC and cabal/stack-installed binaries.
20+#
21+
22+ENV LANG=C.UTF-8 \
23+ LC_ALL=C.UTF-8 \
24+ PATH=/root/.local/bin:/usr/local/cuda-$CUDA_VERSION/bin:$STACK_ROOT/programs/x86_64-linux/ghc-$GHC_VERSION/bin:$PATH \
25+ CUDA_PATH=/usr/local/cuda-$CUDA_VERSION \
26+ CPATH=$JVM_PATH/include:$JVM_PATH/include/linux:$LLVM_PATH/include
27+
28+#
29+# Install pre-requisites
30+#
31+
32+RUN apt-get update && \
33+ apt-get install -y --no-install-recommends \
34+ wget netbase ca-certificates g++ gcc libc6-dev libffi-dev libgmp-dev \
35+ make xz-utils zlib1g-dev git gnupg libtinfo-dev jq && \
36+ rm -rf /var/lib/apt/lists/*
37+
38+#
39+# Use Stackage's debian-bootstrap.sh script to install system libraries and
40+# tools required to build any Stackage package.
41+# Re-installs 'stack' *after* running debian-bootstrap.sh since that may have
42+# installed a different version.
43+# In the case of 'small' image, just install Stack and GHC.
44+#
45+
46+RUN if [ "$VARIANT" != "small" ]; then \
47+ wget -qO- https://raw.githubusercontent.com/fpco/stackage/$BOOTSTRAP_COMMIT/debian-bootstrap.sh | sed "s/^GHCVER=9.0.1$/GHCVER=$GHC_VERSION/" | GHCVER=$GHC_VERSION bash; \
48+ fi && \
49+ wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/bin '*/stack' && \
50+ if [ "$VARIANT" = "small" ]; then \
51+ stack setup --resolver ghc-$GHC_VERSION; \
52+ fi && \
53+ rm -rf /var/lib/apt/lists/* && \
54+ cd $STACK_ROOT && \
55+ find . -type f -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \
56+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
57+
58+#
59+# Configure Stack to use the GHC installed in the Docker image rather than installing its own
60+#
61+
62+RUN mkdir /etc/stack/ && \
63+ echo "system-ghc: true" >/etc/stack/config.yaml
64+
65+#
66+# Use 'stack' to install basic Haskell tools like alex, happy, and cpphs. We
67+# remove most of the STACK_ROOT afterward to save space, but keep the 'share'
68+# files that some of these tools require.
69+#
70+
71+RUN stack --resolver=$LTS_SLUG --local-bin-path=/usr/bin install \
72+ happy alex cpphs gtk2hs-buildtools hscolour hlint hindent && \
73+ cd $STACK_ROOT && \
74+ find . -type f -not -path './snapshots/*/share/*' -and -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \
75+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
76+
77+#
78+# Install 'pid1' init daemon
79+#
80+
81+RUN wget -O- "https://github.com/fpco/pid1/releases/download/v$PID1_VERSION/pid1-$PID1_VERSION-linux-x86_64.tar.gz" | tar xzf - -C /usr/local && \
82+ chown root:root /usr/local/sbin && \
83+ chown root:root /usr/local/sbin/pid1
84+
85+#
86+# Set up pid1 entrypoint and default command
87+#
88+
89+ENTRYPOINT ["/usr/local/sbin/pid1"]
90+CMD ["bash"]
automated/dockerfiles/lts-9.0/Dockerfilenew file+55
@@ -0,0 +1,55 @@
1+FROM ubuntu:16.04
2+
3+MAINTAINER Emanuel Borsboom <manny@fpcomplete.com>
4+
5+ARG GHC_VERSION=8.0.2
6+ARG LTS_SLUG=lts-9.0
7+ARG PID1_VERSION=0.1.0.1
8+ARG BOOTSTRAP_COMMIT=1bc67bb54eda08c90d8421bc11d257354a379d11
9+ARG DEBIAN_FRONTEND=noninteractive
10+
11+#
12+# Set encoding to UTF-8 and PATH to find GHC and cabal/stack-installed binaries.
13+#
14+
15+ENV LANG=C.UTF-8 \
16+ LC_ALL=C.UTF-8 \
17+ PATH=/root/.cabal/bin:/root/.local/bin:/opt/ghc/$GHC_VERSION/bin:$PATH
18+
19+#
20+# Use Stackage's debian-bootstrap.sh script to install system libraries and
21+# tools required to build any Stackage package.
22+#
23+
24+RUN apt-get update && \
25+ apt-get install -y wget && \
26+ wget -qO- https://raw.githubusercontent.com/fpco/stackage/$BOOTSTRAP_COMMIT/debian-bootstrap.sh | bash && \
27+ ln -s ghc /opt/ghc/$GHC_VERSION/share/doc/ghc-$GHC_VERSION && \
28+ rm -rf /var/lib/apt/lists/*
29+
30+#
31+# Use 'stack' to install basic Haskell tools like alex, happy, and cpphs. We
32+# remove most of the STACK_ROOT afterward to save space, but keep the 'share'
33+# files that some of these tools require.
34+#
35+
36+RUN stack --system-ghc --resolver=$LTS_SLUG --local-bin-path=/usr/local/bin install \
37+ cabal-install happy alex cpphs gtk2hs-buildtools hscolour && \
38+ cd $HOME/.stack && \
39+ find . -type f -not -path './snapshots/*/share/*' -exec rm '{}' \; && \
40+ find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true
41+
42+#
43+# Install proper 'pid1' init daemon
44+#
45+
46+RUN wget -O- "https://github.com/fpco/pid1/releases/download/pid1%2F$PID1_VERSION/pid1-$PID1_VERSION-linux-x86_64.tar.gz" | tar xzf - -C /usr/local && \
47+ chown root:root /usr/local/sbin && \
48+ chown root:root /usr/local/sbin/pid1
49+
50+#
51+# Set up pid1 entrypoint and default command
52+#
53+
54+ENTRYPOINT ["/usr/local/sbin/pid1"]
55+CMD ["bash"]
automated/dockerfiles/lts-9.20/Dockerfilenew file+3
@@ -0,0 +1,3 @@
1+FROM fpco/stack-build:lts-9.0
2+ARG STACK_VERSION=1.6.1
3+RUN wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/local/bin '*/stack'
automated/dockerfiles/lts-9.21/Dockerfilenew file+3
@@ -0,0 +1,3 @@
1+FROM fpco/stack-build:lts-9.0
2+ARG STACK_VERSION=1.6.5
3+RUN wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/local/bin '*/stack'
automated/run-nightly.sh+1−6
@@ -5,12 +5,7 @@ cd "$(dirname "${BASH_SOURCE[0]}")"
55while true; do
66 ./build.sh nightly-$(date -u +%F)
77 date
8− echo
9−
10− echo "Running cron.sh (hiding verbose output)"
11− ./cron.sh | grep -v '^Skipping'
12− echo "done."
13− date
148
159 sleep 30m
10+ echo
1611done
become-a-curator.mdnew file+44
@@ -0,0 +1,44 @@
1+## We are no longer accepting applications, please wait until next time
2+
3+We are looking to expand the stackage curator team!
4+
5+As a stackage curator you will help the community by curating and
6+publishing the widely used nightly and LTS snapshots: Collections of
7+packages that are guaranteed to play well together. All curators are
8+volunteers.
9+
10+This is a great opportunity to contribute to the haskell community and get
11+familiar with the tools of the trade! You will also be in regular
12+contact with experienced community members.
13+
14+We don't have any prerequisites, but familiarity with any of Haskell,
15+Cabal, Stack, Linux, Git, and Docker is a plus.
16+
17+We work in shifts of one week, which means you will be on duty every
18+6th week. Our suggestion is to pair you up with another curator to
19+help out in the beginning.
20+
21+The workload is usually about 30 minutes per day, whenever you have
22+time. The work consists of keeping the builds running on the build
23+server, filing issues for packages needing updates when new releases
24+occur, and closing resolved issues. The LTS snapshots are prepared
25+once a week. All communication with package maintainers happen on
26+github.
27+
28+We also have a curator slack channel where we help each other out.
29+
30+The current curator team consists of:
31+* Adam Bergmark
32+* Dan Burton
33+* Jens Petersen
34+* Luke Murphy
35+* Michael Snoyman
36+
37+We onboarded Luke as the newest member a few months ago and this
38+helped us iron out and document the process further.
39+
40+You can read the curator documentation here: https://github.com/commercialhaskell/stackage/blob/master/CURATORS.md
41+
42+To apply, please fill in this form: [REDACTED]
43+
44+If you applied last time, we encourage you to do so again!
build-constraints.yaml+6341−1598
@@ -1,10 +1,687 @@
1−ghc-major-version: "8.0"
1+ghc-major-version: "9.0"
2+# new curator is supposed to use exact GHC version
3+ghc-version: "9.0.2"
4+
5+# This affects which version of the Cabal file format we allow. We
6+# should ensure that this is always no greater than the version
7+# supported by the most recent cabal-install and Stack releases.
8+cabal-format-version: "3.0"
9+
210# Constraints for brand new builds
311packages:
12+
13+ "Xy Ren <xy.r@outlook.com> @re-xyr":
14+ - cleff
15+
16+ "Janus Troelsen <ysangkok@gmail.com> @ysangkok":
17+ - ListZipper
18+ - rollbar
19+ - timezone-olson-th
20+
21+ "David Burkett <david@davidburkett.xyz> @Disco-Dave":
22+ - katip-wai
23+
24+ "Lukas Epple <sternenseemann@systemli.org> @sternenseemann":
25+ - socket
26+ - spacecookie
27+ - gopher-proxy
28+ - filepath-bytestring < 1.4.2.1.10 # https://github.com/commercialhaskell/stackage/issues/6355
29+ - download-curl
30+ - cabal2nix
31+ - distribution-nixpkgs
32+ - hackage-db
33+ - language-nix
34+ - jailbreak-cabal
35+
36+ "Profpatsch <mail@profpatsch.de> @Profpatsch":
37+ - error
38+ - yarn-lock
39+
40+ "James Sully <sullyj3@gmail.com> @sullyj3":
41+ - buttplug-hs-core
42+
43+ "Manuel Schneckenreither <manuel.schnecki@gmail.com> @schnecki":
44+ - experimenter
45+ - api-maker
46+ - easy-logger
47+
48+ "Kamil Dworakowski <kamil@dworakowski.name> @luntain":
49+ - error-or
50+ - error-or-utils
51+ - inbox
52+ - mock-time
53+
54+ "Liang-Ting Chen<liang.ting.chen.tw@gmail.com> @L-TChen":
55+ - geniplate-mirror
56+
57+ "Andreas Abel <andreas.abel@gu.se> @andreasabel":
58+ - BNFC
59+ - Sit
60+ - STMonadTrans
61+ - Agda
62+ - agda2lagda
63+ - cabal-clean
64+ - ListLike
65+ - haskell-src
66+ - fix-whitespace
67+ - hs-tags
68+ - goldplate
69+ - hasktags
70+ - regex-base
71+ - regex-compat
72+ - regex-pcre
73+ - regex-posix
74+ - regex-posix-clib
75+ - regex-tdfa
76+ - java-adt
77+ - shelly
78+ - tasty-silver
79+
80+ "Diogo Biazus <diogo@biazus.ca>":
81+ - hasql-notifications
82+
83+ "David James <dj112358@outlook.com> @davjam":
84+ - MapWith
85+
86+ "Bernie Pope <florbitous@gmail.com> @bjpop":
87+ - language-python
88+
89+ "Nils Alex <nils@famalex.de> @nilsalex":
90+ - safe-tensor
91+
92+ "Artur Gajowy <artur.gajowy@gmail.com> @ArturGajowy":
93+ - ghc-clippy-plugin
94+
95+ "Daniel Rolls <daniel.rolls.27@googlemail.com> @danielrolls":
96+ - byte-count-reader
97+
98+ "Allan Lukwago <epicallan.al@gmail.com> @epicallan":
99+ - servant-errors
100+
101+ "Christian Charukiewicz <charukiewicz@protonmail.com> @charukiewicz":
102+ - isbn
103+
104+ "Koz Ross <koz.ross@retro-freedom.nz> @kozross":
105+ - medea
106+
107+ "Marcin Rzeźnicki <marcin.rzeznicki@gmail.com> @marcin-rzeznicki":
108+ - hspec-tables
109+ - stackcollapse-ghc
110+ - libjwt-typed
111+
112+ "Mauricio Fierro <mauriciofierrom@gmail.com> @mauriciofierrom":
113+ - dialogflow-fulfillment
114+
115+ "Mihai Giurgeanu <mihai.giurgeanu@gmail.com> @mihaigiurgeanu":
116+ - sqlcli
117+ - sqlcli-odbc
118+ # not a maintainer
119+ - logging
120+
121+ "Sasha Bogicevic <sasa.bogicevic@pm.me> @v0d1ch":
122+ - plaid
123+
124+ "Geoffrey Mainland <mainland@drexel.edu> @mainland":
125+ - exception-mtl
126+ - exception-transformers
127+ - mainland-pretty
128+ - ref-fd
129+ - ref-tf
130+ - srcloc
131+ - symbol
132+
133+ "Patrick Bahr <paba@itu.dk>":
134+ - equivalence
135+ - compdata
136+ - Rattus
137+
138+ "Rob Stewart <robstewart57@gmail.com> @robstewart57":
139+ - gitlab-haskell < 0 # 0.3.2.0 text 1.2.5.0 exports `elem`
140+
141+ "Callan McGill <callan.mcgill@gmail.com> @callanmcgill":
142+ - perfect-vector-shuffle
143+
144+ "Luke Clifton <lukec@themk.net> @luke-clifton":
145+ - generic-monoid
146+
147+ "Tobias Reinhart <tobi.reinhart@fau.de> @TobiReinhart":
148+ - sparse-tensor
149+
150+ "Stephan Schiffels <stephan_schiffels@mac.com> @stschiff":
151+ - sequence-formats
152+ - pipes-ordered-zip
153+ - sequenceTools
154+
155+ "YongJoon Joe <developer@quietjoon.net> @QuietJoon":
156+ - doldol
157+ - ENIG
158+
159+ "Chris Penner <christopher.penner@gmail.com> @ChrisPenner":
160+ - eve
161+ - lens-regex-pcre
162+ - lens-csv
163+ - selections
164+ - slick
165+ - unipatterns
166+
167+ "Emily Pillmore <emilypi@cohomolo.gy> @topos":
168+ - base16
169+ - base16-lens
170+ - base32
171+ - base32-lens
172+ - base64
173+ - base64-lens
174+ - lens-process
175+ - microlens-process
176+ - nonempty-vector
177+ - smash
178+ - smash-aeson
179+ - smash-microlens
180+ - smash-lens
181+ - strict-tuple
182+ - strict-tuple-lens
183+
184+ "Matthieu Monsch <mtth@apache.org> @mtth":
185+ - flags-applicative
186+ - more-containers
187+ - tracing
188+
189+ "Robert Vollmert <rob@vllmrt.net> @robx":
190+ - configurator-pg
191+ - postgrest
192+
193+ "Sandy Maguire <sandy@sandymaguire.me> @isovector":
194+ - ecstasy
195+ - interpolatedstring-qq2
196+ - prospect
197+ - do-notation
198+ - unagi-chan
199+ - type-errors
200+
201+ "Matej Niznik <matten@tuta.io> @TheMatten":
202+ - polysemy
203+ - polysemy-plugin
204+ - polysemy-zoo
205+ - loopbreaker
206+
207+ "William Yao <williamyaoh@gmail.com> @williamyaoh":
208+ - string-interpolate
209+
210+ "Roel van Dijk <roel@lambdacube.nl> @roelvandijk":
211+ - terminal-progress-bar
212+
213+ "Marek Fajkus <marek.faj@gmail.com> @turboMaCk":
214+ - wai-enforce-https
215+ - aeson-combinators
216+
217+ "Fernando Freire <dogonthehorizon@gmail.com> @dogonthehorizon":
218+ - hal
219+
220+ "Nathan Fairhurst <nathan.fairhurst@nike.com> @iamfromspace":
221+ - hal
222+
223+ "Daniel Taskoff <daniel.taskoff@gmail.com> @dtaskoff":
224+ - hlibcpuid
225+ - skip-var
226+ - system-info
227+
228+ "Dzianis Kabanau <kobargh@gmail.com> @kobargh":
229+ - template-toolkit
230+
231+ "Christopher Davenport <chris@christopherdavenport.tech> @ChristopherDavenport":
232+ - nonemptymap
233+ - hinfo
234+
235+ "Joerg Winter <jwin1968@gmail.com> @clojj":
236+ - rosezipper
237+
238+ "Edward Wastell <edward@wastell.co.uk> @edwardwas":
239+ - TotalMap
240+ - sized-grid
241+
242+ "Antonio Alonso Dominguez <alonso.domin@gmail.com> @alonsodomin":
243+ - hschema
244+ - hschema-aeson
245+ - hschema-prettyprinter
246+ - hschema-quickcheck
247+
248+ "Preetham Gujjula <preetham.gujjula@gmail.com> @pgujjula":
249+ - modular
250+ - list-predicate
251+
252+ "Guillaume Bouchard <guillaum.bouchard@gmail.com> @guibou":
253+ - krank
254+ - pretty-terminal
255+ - PyF
256+
257+ "Erik Schnetter <schnetter@gmail.com> @eschnett":
258+ - mpi-hs
259+ - mpi-hs-binary
260+ - mpi-hs-cereal
261+
262+ "Yang Bo <pop.atry@gmail.com> @Atry":
263+ - control-dsl
264+
265+ "Laurent P. René de Cotret <laurent.decotret@outlook.com> @LaurentRDC":
266+ - pandoc-plot
267+
268+ "Andrew Newman <andrewfnewman@gmail.com> @andrewfnewman":
269+ - geojson
270+
271+ "Mateusz Karbowy <mateusz.karbowy@gmail.com> @obszczymucha":
272+ - parsec-numbers
273+
274+ "Joshua Grosso <jgrosso256@gmail.com> @jgrosso":
275+ - axel
276+
277+ "Varun Gandhi <theindigamer15@gmail.com> @theindigamer":
278+ - edit
279+
280+ "Luka Hadžiegrić <reygoch@gmail.com> @reygoch":
281+ - valor
282+
283+ "Scott N. Walck <walck@lvc.edu> @walck":
284+ - cyclotomic
285+ - learn-physics
286+ - TypeCompose
287+
288+ # @ghorn
289+ - not-gloss
290+ - spatial-math
291+
292+ "Phil de Joux <phil.dejoux@blockscope.com> @philderbeast":
293+ - siggy-chardust
294+ - detour-via-sci
295+ - hpack-dhall
296+
297+ "Matthew Ahrens <matt.p.ahrens@gmail.com> @mpahrens":
298+ - forkable-monad
299+ - butter < 0 # 0.1.0.6 text 1.2.5.0 exports `elem`
300+
301+ "Iris Ward <aditu.venyhandottir@gmail.com> @AdituV":
302+ - typenums
303+
304+ "Jude Taylor <me@jude.xyz> @pikajude":
305+ - th-printf
306+
307+ "Christian Marie <christian@ponies.io> @christian-marie":
308+ - git-vogue
309+
310+ "Manuel Bärenz <programming@manuelbaerenz.de> @turion":
311+ - dunai
312+ - rhine
313+ - rhine-gloss
314+ - finite-typelits
315+ - essence-of-live-coding
316+ - essence-of-live-coding-gloss
317+ - essence-of-live-coding-pulse
318+ - essence-of-live-coding-quickcheck
319+ - essence-of-live-coding-warp
320+ - pulse-simple
321+ - simple-affine-space
322+ - has-transformers
323+
324+ "Paul Johnson <paul@cogito.org.uk> @PaulJohnson":
325+ - geodetics
326+ - Ranged-sets
327+
328+ "Travis Athougies <travis@athougies.net> @tathougies":
329+ - beam-core
330+ - beam-migrate
331+ - beam-mysql
332+ - beam-postgres
333+ - beam-sqlite
334+
335+ "Fraser Murray <fraser.m.murray@gmail.com @intolerable":
336+ - stitch
337+
338+ "Yusent Chig <yusent@protonmail.com> @yusent":
339+ - yesod-auth-bcryptdb
340+
341+ "Johannes Gerer <oss@johannesgerer.com>":
342+ - buchhaltung
343+
344+ "Tom McLaughlin <tom@codedown.io> @thomasjm":
345+ - aeson-typescript
346+ - fsnotify
347+ - sandwich
348+ - sandwich-quickcheck
349+ - sandwich-slack
350+ - sandwich-webdriver
351+ - slack-progressbar
352+
353+ "Paulo Tanaka <paulot@fb.com> @paulot":
354+ # on behalf of Bryan O'Sullivan @bos:
355+ - zstd
356+
357+ "Jacek Galowicz <jacek@galowicz.de> @tfc":
358+ - hamtsolo
359+
360+ "Ferdinand van Walree <ferdinandvwalree@gmail.com> @Ferdinand-vW":
361+ - tuple-sop
362+ - sessiontypes
363+ - sessiontypes-distributed
364+
365+ "Jacob Thomas Errington <tsani@mail.jerrington.me> @tsani":
366+ - servant-github-webhook
367+ - pushbullet-types
368+
369+ "Theodore Lief Gannon <tanuki@gmail.com> @tejon":
370+ - aeson-yak
371+ - safe-foldable
372+
373+ "Jaro Reinders <jaro.reinders@gmail.com> @Noughtmare":
374+ - haskell-lsp-client
375+
376+ "Florian Knupfer <fknupfer@gmail.com> @knupfer":
377+ - type-of-html
378+ - type-of-html-static
379+ - chronos-bench
380+
381+ "Mikolaj Konarski <mikolaj.konarski@funktory.com> @Mikolaj":
382+ - sdl2-ttf
383+ - enummapset
384+ - assert-failure
385+ - minimorph
386+ - miniutter
387+ - LambdaHack
388+ - Allure
389+
390+ "Jürgen Keck <jhyphenkeck@gmail.com> @j-keck":
391+ - wreq-stringless
392+
393+ "Olaf Chitil <oc@kent.ac.uk> @OlafChitil":
394+ - FPretty
395+
396+ "Maarten Faddegon <stackage@maartenfaddegon.nl> @MaartenFaddegon":
397+ - libgraph
398+ - Hoed
399+
400+ "Agustin Camino <agustin.camino@gmail.com> @acamino":
401+ - state-codes
402+
403+ "Sebastian Mihai Ardelean <ardeleanasm@gmail.com> @ardeleanasm":
404+ - qchas
405+
406+ "Patrick Pelletier <code@funwithsoftware.org> @ppelleti":
407+ - mercury-api
408+ - normalization-insensitive
409+
410+ "Jacob Stanley <jacob@stanley.io> @jacobstanley":
411+ - hedgehog < 1.1 # https://github.com/commercialhaskell/stackage/issues/6415
412+ - hedgehog-quickcheck
413+ - transformers-bifunctors
414+ - unix-compat
415+
416+ "Walter Schulze <awalterschulze@gmail.com> @awalterschulze":
417+ - katydid
418+
419+ "Nobutada Matsubara <t12307043@gunma-u.ac.jp> @matsubara0507":
420+ - chatwork
421+ - rakuten
422+ - servant-kotlin
423+
424+ "Pavol Klacansky <pavol@klacansky.com> @pavolzetor":
425+ - openexr-write
426+
427+ "Pasqualino Assini <tittoassini@gmail.com> @tittoassini":
428+ - zm
429+ - flat
430+ - model
431+
432+ "Jose Iborra <pepeiborra@gmail.com> @pepeiborra":
433+ - arrowp-qq
434+ - haskell-src-exts-util
435+ - hexml-lens
436+ - hp2pretty
437+ - floatshow
438+ - ghc-check
439+
440+ "Roman Gonzalez <open-source@roman-gonzalez.info> @roman":
441+ - componentm
442+ - componentm-devel
443+ - teardown
444+ - etc
445+ - capataz
446+
447+ "Richard Cook <rcook@rcook.org> @rcook":
448+ - hidden-char
449+ - oset
450+ - req-url-extra
451+ - sexpr-parser
452+
453+ "Vanessa McHale <vmchale@gmail.com> @vmchale":
454+ - bz2
455+
456+ "Henning Thielemann <stackage@henning-thielemann.de> @thielema":
457+ - accelerate-arithmetic
458+ - accelerate-fftw
459+ - accelerate-fourier
460+ - accelerate-utility
461+ - align-audio
462+ - alsa-core
463+ - alsa-pcm
464+ - alsa-seq
465+ - apportionment
466+ - audacity
467+ - battleship-combinatorics
468+ - bibtex
469+ - board-games
470+ - buffer-pipe
471+ - cabal-flatpak
472+ - calendar-recycling
473+ - checksum
474+ - combinatorial
475+ - comfort-graph
476+ - comfort-array
477+ - comfort-array-shape
478+ - comfort-fftw
479+ - concurrent-split
480+ - cutter
481+ - data-accessor
482+ - data-accessor-mtl
483+ - data-accessor-template
484+ - data-accessor-transformers
485+ - data-ref
486+ - doctest-exitcode-stdio
487+ - doctest-extract
488+ - doctest-lib
489+ - dsp
490+ - enumset
491+ - equal-files
492+ - event-list
493+ - explicit-exception
494+ - fixed-length
495+ - fftw-ffi
496+ - gnuplot
497+ - group-by-date
498+ - guarded-allocation
499+ - iff
500+ - interpolation
501+ - jack
502+ - latex
503+ - lazyio
504+ - markov-chain
505+ - midi
506+ - midi-alsa
507+ - midi-music-box
508+ - mbox-utility
509+ - med-module
510+ - monoid-transformer
511+ - non-empty
512+ - non-negative
513+ - numeric-prelude
514+ - numeric-quest
515+ - pathtype
516+ - pooled-io
517+ - probability
518+ - quickcheck-transformer
519+ - sample-frame
520+ - sample-frame-np
521+ - set-cover
522+ - shell-utility
523+ - sound-collage
524+ - sox
525+ - soxlib
526+ - split-record
527+ - spreadsheet
528+ - stm-split
529+ - storable-record
530+ - storable-tuple
531+ - storablevector
532+ - synthesizer-core
533+ - synthesizer-dimensional
534+ - synthesizer-alsa
535+ - synthesizer-midi
536+ - tagchup
537+ - tfp
538+ - unicode
539+ - unique-logic
540+ - unique-logic-tf
541+ - unsafe
542+ - utility-ht
543+ - xml-basic
544+ - youtube
545+ - prelude-compat
546+ - fft
547+ - carray
548+ - lapack-ffi-tools
549+ - netlib-ffi
550+ - blas-ffi
551+ - lapack-ffi
552+ - netlib-carray
553+ - blas-carray
554+ - lapack-carray
555+ - netlib-comfort-array
556+ - blas-comfort-array
557+ - lapack-comfort-array
558+ - lapack
559+ - lapack-hmatrix
560+ - hmm-lapack
561+ - magico
562+ - resistor-cube
563+ - linear-circuit
564+ # Not a maintainer
565+ - cabal-plan
566+ - topograph
567+ - ix-shapable
568+ - hsshellscript
569+ - hyper
570+ - storable-endian
571+
572+ "Jeremy Barisch-Rooney <barischj@tcd.ie> @barischrooneyj":
573+ - threepenny-gui-flexbox
574+
575+ "Romain Edelmann <romain.edelmann@gmail.com> @redelmann":
576+ - distribution
577+
578+ "Nikita Tchayka <nikitatchayka@gmail.com> @nickseagull":
579+ - ramus
580+ - require
581+ - tintin
582+ - aws-lambda-haskell-runtime
583+
584+ "Simon Jakobi <simon.jakobi@gmail.com> @sjakobi":
585+ - threepenny-gui
586+ - newtype-generics
587+ - bsb-http-chunked
588+ - hspec-parsec
589+ - checkers
590+ - unordered-containers
591+ - prettyprinter
592+ - prettyprinter-ansi-terminal
593+ - prettyprinter-compat-wl-pprint
594+ - prettyprinter-compat-ansi-wl-pprint
595+ - prettyprinter-compat-annotated-wl-pprint
596+ - prettyprinter-convert-ansi-wl-pprint
597+
598+ "Joe M <joe9mail@gmail.com> @joe9":
599+ - logger-thread
600+ - text-generic-pretty
601+
602+ "Li-yao Xia <lysxia@gmail.com> @Lysxia":
603+ - ap-normalize
604+ - boltzmann-samplers
605+ - first-class-families
606+ - generic-data
607+ - generic-data-surgery
608+ - generic-functor
609+ - generic-random
610+ - scanf
611+ - show-combinators
612+ - type-map
613+ - quickcheck-higherorder
614+ - test-fun
615+
616+ "Tobias Dammers <tdammers@gmail.com> @tdammers":
617+ - ginger
618+ - yeshql
619+
620+ "Yair Chuchem <yairchu@gmail.com> @yairchu":
621+ - generic-constraints
622+ - List
623+ - ListTree
624+
625+ "Marco Zocca @ocramz":
626+ - ad-delcont
627+ - sparse-linear-algebra
628+ - depq
629+ - matrix-market-attoparsec
630+ - splitmix-distributions
631+ - rp-tree
632+ - xeno
633+ - bytestring-mmap # required by xeno
634+ - datasets
635+ - lucid-extras
636+ - mnist-idx-conduit
637+ - rigel-viz
638+
639+ "Joseph Canero <jmc41493@gmail.com> @caneroj1":
640+ - sqlite-simple-errors
641+ - median-stream
642+ - stm-supply
643+ - filter-logger
644+ - tile
645+ - mbtiles
646+
647+ "James M.C. Haver II <mchaver@gmail.com> @mchaver":
648+ - quickcheck-arbitrary-adt
649+ - hspec-golden-aeson
650+ - quickcheck-arbitrary-template
651+
652+ "Winter Han <winterland1989@gmail.com> @winterland1989":
653+ - if
654+ - tcp-streams
655+ - tcp-streams-openssl
656+ - wire-streams
657+ - binary-parsers
658+ - binary-ieee754
659+ - word24
660+ - mysql-haskell
661+ - mysql-haskell-openssl
662+ - data-has
663+ - unboxed-ref
664+
665+ "Harendra Kumar <harendra.kumar@gmail.com> @harendra-kumar":
666+ - bench-show
667+ - monad-recorder
668+ - packcheck
669+ - streamly
670+ - unicode-transforms
671+ - xls
672+
673+ "Pranay Sashank <pranaysashank@gmail.com> @pranaysashank":
674+ - fusion-plugin-types
675+ - fusion-plugin
676+
677+ "Adithya Kumar <adi.obilisetty@gmail.com> @adithyaov":
678+ - unicode-data
679+
4680 "Aleksey Uimanov <s9gf4ult@gmail.com> @s9gf4ult":
5681 - postgresql-query
6682 - hreader
7683 - hset
684+ - base58-bytestring
8685
9686 "Aaron Taylor <aaron@hamsterdam.co> @hamsterdam":
10687 - kawhi
@@ -16,63 +693,61 @@ packages:
16693 "Nicolas Mattia <nicolas@nmattia.com> @nmattia":
17694 - makefile
18695
19− "Michael Litchard <michael@schmong.org> @mlitchard":
20− - point-octree
21−
22696 "Siddharth Bhat <siddu.druid@gmail.com> @bollu":
23697 - symengine
24698
25699 "alpheccar <misc@alpheccar.org> @alpheccar":
26700 - HPDF
27− - hbayes
28701
29− "Dmitry Bogatov <KAction@gnu.org>":
702+ "Dmitry Bogatov <KAction@gnu.org> @iu-guest":
30703 - once
704+ - mbug
31705
32− "David Johnson djohnson.m@gmail.com @dmjio":
33− # GHC 8 - envy
706+ "David Johnson <djohnson.m@gmail.com> @dmjio":
707+ - miso
708+ - envy
34709 - s3-signer
35− # bounds - google-translate
36− # via snap - hackernews
37− # bounds - ses-html
38− # via stripe-http-streams - stripe-haskell
39− # via http-streams - stripe-http-streams
710+ - google-translate
711+ - hackernews
712+ - ses-html
713+ - stripe-haskell
714+ - stripe-http-client
40715 - stripe-core
716+ - stripe-tests
41717
42718 "Piotr Mlodawski @pmlodawski":
719+ - error-util < 0 # 0.0.1.2 MonadFail
43720 - signal
44− # GHC 8 - ghc-session
45721
46722 "Michael Snoyman michael@snoyman.com @snoyberg":
47723 - bzlib-conduit
48− - cabal-install
49− - cabal-src
50724 - case-insensitive
51725 - classy-prelude-yesod
52726 - conduit-combinators
53727 - conduit-extra
54728 - hebrew-time
55− - keter
56729 - markdown
57730 - mime-mail
58731 - mime-mail-ses
732+ - mime-types
59733 - network-conduit-tls
60734 - persistent
61− # via mysql https://github.com/bos/mysql/issues/20 - persistent-mysql
735+ - persistent-mysql
62736 - persistent-postgresql
63737 - persistent-sqlite
64738 - persistent-template
65− - stackage-curator
66− - stm-conduit
739+ - persistent-test
740+ - store
741+ - wai-extra
67742 - wai-websockets
68743 - warp-tls
69− - yackage
70744 - yesod
745+ - authenticate
746+ - html-conduit
71747 - yesod-auth
72748 - authenticate-oauth
73749 - yesod-bin
74750 - yesod-eventsource
75− - yesod-fay
76751 - yesod-gitrepo
77752 - yesod-newsfeed
78753 - yesod-sitemap
@@ -81,7 +756,7 @@ packages:
81756 - yesod-websockets
82757 - cereal-conduit
83758 - binary-conduit
84− # GHC 8 - lzma-conduit
759+ - lzma-conduit
85760 - mutable-containers
86761 - hpc-coveralls
87762 - monad-unlift
@@ -89,58 +764,70 @@ packages:
89764 - yaml
90765 - servius
91766 - cryptonite-conduit
767+ - streaming-commons
92768
93− - alex
769+ - alex < 3.2.7 || > 3.2.7
94770 - async
95771 - base16-bytestring
96− - c2hs
97− - cassava
98− # GHC 8 - csv-conduit
772+ - csv-conduit
99773 - executable-hash
100774 - executable-path
101775 - foreign-store
102776 - formatting
103777 - gtk2hs-buildtools
104− - happy
778+ - happy < 1.21.0 || > 1.21.0 # https://github.com/commercialhaskell/stackage/issues/6294
105779 - hybrid-vectors
106780 - indents
107781 - language-c
108− - lhs2tex
109− # GHC 8 2.5 compilation failure - persistent-mongoDB
782+ - persistent-mongoDB
110783 - pretty-class
111784 - th-expand-syns
112− - criterion
113785 - th-lift
114786 - quickcheck-assertions
115787
116− - hackage-mirror
117− - wai-middleware-consul
118788 - wai-middleware-crowd
119789 - monad-logger-json
120790 - safe-exceptions
121− - monad-logger-syslog
791+ - fsnotify-conduit
792+ - pid1
793+ - typed-process
794+ - say
795+ - unliftio-core
796+ - unliftio
122797
123− - fsnotify
124798 - hinotify
125799 - hfsevents
126800 - Win32-notify
801+ - windns
802+
803+ - mono-traversable
804+ - http-client
805+ - http-conduit
806+ - githash
807+
808+ - time-manager
809+ - pantry
810+ - mega-sdist
811+ - http-download
812+ - hi-file-parser
813+ - rio-prettyprint
814+ - packdeps
815+
816+ "Brandon Barker <brandon.barnnker@gmail.com> @bbarker":
817+ - unexceptionalio
818+ - unexceptionalio-trans
819+ - zio
127820
128− "Omari Norman <omari@smileystation.com>":
821+ "Omari Norman <omari@smileystation.com> @massysett":
129822 - rainbow
130823 - rainbox
131− - pipes-cliff
132− - anonymous-sums
133824 - multiarg
134− - prednote
135− - cartel
136− - Earley
137825 - ofx
138− - pinchot
139826 - accuerr
140827 - timelens
141− - non-empty-sequence
828+ - squeather
142829
143− "Neil Mitchell":
830+ "Neil Mitchell <ndmitchell@gmail.com> @ndmitchell":
144831 - hlint
145832 - hoogle
146833 - shake
@@ -151,35 +838,78 @@ packages:
151838 - nsis
152839 - js-jquery
153840 - js-flot
841+ - js-dgtable
154842 - extra
155− - bake
156843 - ghcid
157−
158− "Alan Zimmerman":
844+ - hexml
845+ - profiterole
846+ - record-dot-preprocessor
847+ - filepattern
848+ - record-hasfield
849+ - rattle
850+ - hie-bios
851+ - fuzzy
852+
853+ "Digital Asset <shayne.fletcher@digitalasset.com>":
854+ - ghc-lib
855+ - ghc-lib-parser
856+
857+ "Shayne Fletcher <shayne.fletcher@digitalasset.com>":
858+ - ghc-lib-parser-ex >= 9.0.0.6
859+
860+ "Karl Ostmo <kostmo@gmail.com> @kostmo":
861+ - perfect-hash-generator
862+
863+ "Alan Zimmerman @alanz":
864+ - ghc-exactprint
865+ - haskell-lsp
159866 - hjsmin
160867 - language-javascript
161868 - Strafunski-StrategyLib
162− - HaRe
163869
164− "Alfredo Di Napoli <alfredo.dinapoli@gmail.com>":
870+ "Luke Lau <luke_lau@icloud.com> @bubba":
871+ - lsp-test
872+
873+ "Alfredo Di Napoli <alfredo.dinapoli@gmail.com> @adinapoli":
165874 - mandrill
166875
167876 "Jon Schoning <jonschoning@gmail.com> @jonschoning":
168877 - pinboard
878+ - swagger-petstore
169879
170− "Jasper Van der Jeugt":
880+ "Jasper Van der Jeugt @jaspervdj":
171881 - blaze-html
172882 - blaze-markup
173− - cabal-dependency-licenses
174− # via snap-core - hakyll
175883 - stylish-haskell
176884 - profiteur
177885 - psqueues
178886 - websockets
179− # via snap-core - websockets-snap
887+ - websockets-snap
888+
889+ "Jasper Van der Jeugt @jaspervdj & Alexander Batischev <eual.jp@gmail.com> @Minoru":
890+ - hakyll
180891
181892 "Sibi Prabakaran <sibi@psibi.in> @psibi":
182893 - download
894+ - textlocal
895+ - shell-conduit
896+ - tldr
897+ - fb
898+ - yesod-fb
899+ - yesod-auth-fb
900+ - hourglass-orphans
901+ - wai-slack-middleware
902+ - sysinfo
903+ - xmonad-extras
904+ - persistent-redis
905+ - fakedata
906+ - fakedata-parser
907+ - fakedata-quickcheck
908+ - streamly-bytestring
909+
910+ "haskell-openal":
911+ - OpenAL
912+ - ALUT
183913
184914 "haskell-opengl":
185915 - OpenGL
@@ -189,22 +919,24 @@ packages:
189919 - StateVar
190920 - ObjectName
191921
192− "Antoine Latter":
922+ "Antoine Latter @aslatter":
193923 - byteorder
194924 - uuid
195925
196− "Philipp Middendorf <pmidden@secure.mailbox.org>":
926+ "Philipp Middendorf <pmidden@secure.mailbox.org> @pmiddend":
197927 - clock
198928
199− "Stefan Wehr <wehr@factisresearch.com>":
929+ "Stefan Wehr <mail@stefanwehr.de> @skogsbaer":
200930 - HTF
201931 - xmlgen
202932 - stm-stats
933+ - large-hashable
203934
204− "Bart Massey <bart.massey+stackage@gmail.com>":
935+ "Bart Massey <bart.massey+stackage@gmail.com> @BartMassey":
205936 - parseargs
206937
207− "Vincent Hanquez":
938+ "Vincent Hanquez @vincenthz":
939+ - basement
208940 - bytedump
209941 - cipher-aes
210942 - cipher-rc4
@@ -214,8 +946,12 @@ packages:
214946 - cryptocipher
215947 - cryptohash
216948 - cryptonite
949+ - cryptonite-openssl
217950 - crypto-pubkey-types
218951 - crypto-random-api
952+ - foundation
953+ - gauge
954+ - git < 0 # 0.3.0 compile fail MonadFail
219955 - hit
220956 - memory
221957 - language-java
@@ -223,14 +959,15 @@ packages:
223959 - pem
224960 - siphash
225961 - socks
962+ - tasty-kat
226963 - tls
227964 - tls-debug
228− - vhd
229− - xenstore
965+ - vhd < 0 # 0.2.2 compile fail: Missing Semigroup Checksum
966+ - xenstore < 0 # 0.1.1 compile fail: sClose not in scope
230967
231− "Chris Done":
968+ "Chris Done @chrisdone":
969+ - labels
232970 - ace
233− - ical
234971 - check-email
235972 - freenect
236973 - frisby
@@ -238,21 +975,18 @@ packages:
238975 - hostname-validate
239976 - ini
240977 - lucid
241− - osdkeys
242978 - pdfinfo
243− # GHC 8 https://github.com/fpco/stackage/issues/1062 - present
244979 - pure-io
245− # GHC 8 - scrobble
246− - shell-conduit
247980 - sourcemap
248981 - hindent
249982 - descriptive
250983 - wrap
251984 - path
252− - intero
253985 - weigh
254− # GHC 8 - haskell-docs
255− # bounds - structured-haskell-mode
986+ - odbc
987+ - structured-haskell-mode
988+ - casa-client
989+ - casa-types
256990
257991 "Alberto G. Corona <agocorona@gmail.com> @agocorona":
258992 - RefSerialize
@@ -261,57 +995,66 @@ packages:
261995 - MFlow
262996 - transient
263997 - transient-universe
264− - ghcjs-hplay
998+ - axiom
265999
266− "Edward Kmett <ekmett@gmail.com>":
1000+ "Edward Kmett <ekmett@gmail.com> @ekmett":
2671001 - ad
2681002 - adjunctions
269− # GHC 8 & bounds - approximate
1003+ - algebra
1004+ - ansi-wl-pprint
1005+ - approximate
2701006 - bifunctors
2711007 - bits
272− # GHC 8 - bound
1008+ - bound
2731009 - bytes
2741010 - charset
2751011 - comonad
276− - comonads-fd
277− - comonad-transformers
278− # GHC 8 & bounds - compensated
279− # bounds - compressed
1012+ - compensated
1013+ - compressed
2801014 - concurrent-supply
2811015 - constraints
2821016 - contravariant
2831017 - distributive
1018+ - discrimination
2841019 - either
2851020 - eq
2861021 - ersatz
287− - exceptions
1022+ - fixed
1023+ - folds
2881024 - free
1025+ - gl
2891026 - graphs
290− - groupoids
1027+ - half
2911028 - heaps
1029+ - hybrid-vectors
1030+ - hyperloglog
2921031 - hyphenation
1032+ - indexed-traversable
2931033 - integration
1034+ - intern
2941035 - intervals
2951036 - kan-extensions
1037+ - keys
2961038 - lca
2971039 - lens
1040+ - lens-action
1041+ - lens-aeson
1042+ - lens-properties
2981043 - linear
2991044 - linear-accelerate
3001045 - log-domain
3011046 - machines
3021047 - monadic-arrays
3031048 - monad-products
304− - monad-products
305− # GHC 8 - monad-st
306− - mtl
1049+ - monad-st
1050+ # - mtl take the one that ships with GHC
3071051 - nats
3081052 - numeric-extras
3091053 - parsers
3101054 - pointed
311− - prelude-extras
312− - profunctor-extras
3131055 - profunctors
314− - reducers
1056+ - promises
1057+ - rcu
3151058 - reducers
3161059 - reflection
3171060 - semigroupoid-extras
@@ -319,25 +1062,28 @@ packages:
3191062 - semigroups
3201063 - speculation
3211064 - streams
1065+ - structs
3221066 - tagged
1067+ - tagged-transformer
1068+ - transformers-compat <0.7 # https://github.com/commercialhaskell/stackage/issues/6137
1069+ - trifecta
1070+ - unique
3231071 - vector-instances
3241072 - void
3251073 - wl-pprint-extras
1074+ - wreq
3261075 - wl-pprint-terminfo
3271076 - zippers
328− - fixed
329− - half
330− - gl
331− - lens-aeson
3321077 - zlib-lens
333− # GHC 8 - hyperloglog
3341078
335− "Andrew Farmer <afarmer@ittc.ku.edu>":
1079+ "Andrew Farmer <afarmer@ittc.ku.edu> @xich":
3361080 - scotty
3371081 - wai-middleware-static
3381082
339− "Simon Hengel <sol@typeful.net>":
1083+ "Simon Hengel <sol@typeful.net> @sol":
3401084 - hspec
1085+ - hspec-core
1086+ - hspec-discover
3411087 - hspec-wai
3421088 - hspec-wai-json
3431089 - aeson-qq
@@ -345,35 +1091,37 @@ packages:
3451091 - doctest
3461092 - base-compat
3471093
348− "Mario Blazevic <blamario@yahoo.com> @blamario":
1094+ "Mario Blazevic <blamario@protonmail.com> @blamario":
3491095 - monad-parallel
3501096 - monad-coroutine
351− - incremental-parser
3521097 - monoid-subclasses
353− - picoparsec
1098+ - rank2classes
1099+ - input-parsers
1100+ - incremental-parser
1101+ - construct
3541102
355− "Brent Yorgey <byorgey@gmail.com>":
1103+ "Brent Yorgey <byorgey@gmail.com> @byorgey":
3561104 - active
357− # via haxr - BlogLiterately
358− # GHC 8 - BlogLiterately-diagrams
3591105 - diagrams
360− # GHC 8 & bounds - diagrams-builder
361− # GHC 8 & bounds - diagrams-haddock
1106+ - diagrams-builder
3621107 - diagrams-cairo
1108+ - diagrams-canvas
3631109 - diagrams-contrib
3641110 - diagrams-core
3651111 - diagrams-gtk
1112+ - diagrams-html5
3661113 - diagrams-lib
3671114 - diagrams-postscript
3681115 - diagrams-rasterific
1116+ - diagrams-solve
3691117 - diagrams-svg
370− - dual-tree
3711118 - force-layout
372− # via http-streams - haxr
1119+ - SVGFonts
1120+ - haxr
3731121 - MonadRandom
3741122 - monoid-extras
3751123
376− "Vincent Berthoux <vincent.berthoux@gmail.com>":
1124+ "Vincent Berthoux <vincent.berthoux@gmail.com> @Twinside":
3771125 - JuicyPixels
3781126 - FontyFruity
3791127 - Rasterific
@@ -381,73 +1129,108 @@ packages:
3811129 - rasterific-svg
3821130 - asciidiagram
3831131
384− "Patrick Brisbin":
1132+ "Patrick Brisbin @pbrisbin":
1133+ - bugsnag-haskell
3851134 - gravatar
386−
387− "Paul Harper <benekastah@gmail.com>":
1135+ - load-env
1136+ - yesod-auth-oauth2 < 0.7 # https://github.com/commercialhaskell/stackage/issues/6424
1137+ - yesod-markdown
1138+ - yesod-paginator
1139+
1140+ "Freckle Engineering <freckle-engineering@renaissance.com> @pbrisbin @mjgpy3 @stevenxl":
1141+ - bcp47
1142+ - bcp47-orphans
1143+ - faktory
1144+ - graphula
1145+ - hspec-expectations-json
1146+ - yesod-page-cursor
1147+ - yesod-routes-flow
1148+ - nonempty-zipper
1149+ - sendgrid-v3
3881150 - yesod-auth-oauth2
1151+ - hspec-junit-formatter < 1.1 # https://github.com/freckle/freckle-app/issues/43
1152+ - aws-xray-client
1153+ - aws-xray-client-wai
1154+ - freckle-app
3891155
3901156 "Felipe Lessa <felipe.lessa@gmail.com> @meteficha":
391− # bounds - country-codes
392− # bounds - esqueleto
3931157 - fb
394− # bounds - fb-persistent
395− # VERSION MISSING Compilation failure against aeson https://github.com/prowdsponsor/mangopay/issues/32 - mangopay
3961158 - nonce
3971159 - serversession
398− - serversession-backend-acid-state
399− # bounds - serversession-backend-persistent
400− # bounds - serversession-backend-redis
401− # via snap - serversession-frontend-snap
1160+ - serversession-backend-persistent
1161+ - serversession-backend-redis
4021162 - serversession-frontend-wai
4031163 - serversession-frontend-yesod
4041164 - thumbnail-plus
405− # bounds - yesod-auth-account-fork
406− # GHC 8 - yesod-auth-fb
1165+ - yesod-auth-fb
4071166 - yesod-fb
408− # VERSION MISSING Compilation failure against aeson https://github.com/prowdsponsor/mangopay/issues/32 - yesod-mangopay
4091167
410− "Alexander Altman <alexanderaltman@me.com>":
1168+ "Alexander Altman <alexanderaltman@me.com> @pthariensflame":
4111169 # Maintaining on behalf of @roelvandijk:
4121170 - base-unicode-symbols
4131171 - containers-unicode-symbols
4141172 # My own packages:
4151173 - ChannelT
4161174
417− "Trevor L. McDonell <tmcdonell@cse.unsw.edu.au>":
1175+ "Trevor L. McDonell <trevor.mcdonell@gmail.com> @tmcdonell":
4181176 - accelerate
419−
420− # "Liam O'Connor <liamoc@cse.unsw.edu.au>":
421− # GHC 8 - patches-vector
422− # GHC 8 - composition-tree
423− # GHC 8 & bounds - dixi
424− # GHC 8 - latex-formulae-image
425− # via latex-formulae-image - latex-formulae-pandoc
426− # GHC 8 - latex-formulae-hakyll
427− # GHC 8 & bounds - agda-snippets
428− # GHC 8 - agda-snippets-hakyll
1177+ - accelerate-bignum
1178+ - accelerate-blas
1179+ - accelerate-fft
1180+ - accelerate-io
1181+ - accelerate-llvm
1182+ - accelerate-llvm-native
1183+ - accelerate-llvm-ptx
1184+ - accelerate-examples
1185+ - repa
1186+ - repa-algorithms
1187+ - repa-io
1188+ - gloss
1189+ - gloss-rendering
1190+ - gloss-algorithms
1191+ - gloss-examples
1192+ - gloss-raster
1193+ - gloss-accelerate
1194+ - gloss-raster-accelerate
1195+ - colour-accelerate
1196+ - lens-accelerate
1197+ - mwc-random-accelerate
1198+ - cuda
1199+ - cufft
1200+ - cublas
1201+ - cusparse
1202+ - cusolver
1203+ - nvvm
1204+ - wide-word # @erikd
4291205
4301206 "Dan Burton <danburton.email@gmail.com> @DanBurton":
431− - hspec-jenkins
432− - yesod-gitrev
1207+ - ANum
4331208 - basic-prelude
4341209 - composition
1210+ - haskell-src-meta
4351211 - io-memoize
1212+ - lens-family-th
4361213 - numbers
4371214 - rev-state
4381215 - runmemo
4391216 - tardis
440− - lens-family-th
441−
442− "Daniel Díaz dhelta.diaz@gmail.com @Daniel-Diaz":
1217+ - yesod-gitrev
1218+ # @mr's packages
1219+ - ftp-client
1220+ - ftp-client-conduit
1221+ # other: real maintainers pls steal these back
1222+ - text-format # needed by liquid-fixpoint
1223+ - liquid-fixpoint
1224+
1225+ "Daniel Casanueva <dhelta.diaz@gmail.com> @Daniel-Diaz":
4431226 - bimap-server
4441227 - binary-list
4451228 - byteset
4461229 - Clipboard
1230+ - gmail-simple < 0 # 0.1.0.2 https://github.com/Daniel-Diaz/gmail-simple/issues/1
4471231 - grouped-list
4481232 - haskintex
4491233 - HaTeX
450− - hatex-guide
4511234 - include-file
4521235 - matrix
4531236 - pcre-light
@@ -455,77 +1238,93 @@ packages:
4551238 - post-mess-age
4561239 - sorted-list
4571240
458− "Gabriel Gonzalez <Gabriel439@gmail.com>":
1241+ "Gabriella Gonzalez <Gabriel439@gmail.com> @Gabriel439":
4591242 - optparse-generic
4601243 - pipes
4611244 - pipes-extras
1245+ - pipes-http
4621246 - pipes-parse
4631247 - pipes-concurrency
4641248 - pipes-safe
4651249 - turtle
4661250 - foldl
467− - morte
468−
469− "Andrew Thaddeus Martin <andrew.thaddeus@gmail.com>":
470− - yesod-table
471−
472− "Arash Rouhani <miffoljud@gmail.com>":
473− - yesod-text-markdown
474−
475− "Chris Allen <cma@bitemyapp.com>":
1251+ - bench
1252+ - dhall
1253+ - dhall-bash
1254+ - dhall-json
1255+ - dhall-lsp-server
1256+ - dhall-yaml
1257+ - aeson-yaml # req'd by dhall-json
1258+ - dhall-nix
1259+ - nix-derivation
1260+ - list-transformer
1261+
1262+ "Andrew Thaddeus Martin <andrew.thaddeus@gmail.com> @andrewthad":
1263+ - colonnade
1264+ - blaze-colonnade
1265+ - dot
1266+
1267+ "Chris Allen <cma@bitemyapp.com> @bitemyapp":
1268+ - machines-directory
1269+ - machines-io
4761270 - bloodhound
4771271
4781272 "Adam Bergmark <adam@bergmark.nl> @bergmark":
4791273 - aeson
480− - fay
481− - fay-base
482− - fay-dom
483− - fay-jquery
484− - fay-text
485− - fay-uri
1274+ - HUnit
1275+ - attoparsec-iso8601
4861276 - feed
487− # via snap - snaplet-fay
4881277 - time-compat
4891278 - through-text
1279+ # Not my packages
1280+ - HStringTemplate
1281+ - spoon
1282+ - tagshare
4901283
491− "Sebastiaan Visser <haskell@fvisser.nl>":
1284+ "Benedict Aas <x@shou.io> @Shou":
1285+ - boolean-like
1286+ - type-operators
1287+
1288+ "Sebastiaan Visser <haskell@fvisser.nl> @sebastiaanvisser":
4921289 - clay
4931290 - fclabels
4941291
495− "Rodrigo Setti <rodrigosetti@gmail.com>":
1292+ "Robert Klotzner <robert.klotzner@gmx.at> @eskimor":
1293+ - purescript-bridge
1294+ - servant-purescript < 0 # 0.10.0.0 compile fail #6091/closed
1295+ - servant-subscriber
1296+
1297+ "Rodrigo Setti <rodrigosetti@gmail.com> @rodrigosetti":
4961298 - messagepack
4971299 - messagepack-rpc
4981300
499− # "Boris Lykah <lykahb@gmail.com>":
500− # GHC 8 - groundhog
501− # GHC 8 - groundhog-th
502− # GHC 8 - groundhog-sqlite
503− # GHC 8 - groundhog-postgresql
504− # GHC 8 - groundhog-mysql
1301+ "Boris Lykah <lykahb@gmail.com> @lykahb":
1302+ - groundhog
1303+ - groundhog-inspector
1304+ - groundhog-mysql
1305+ - groundhog-postgresql
1306+ - groundhog-sqlite
1307+ - groundhog-th
5051308
506− "Janne Hellsten <jjhellst@gmail.com>":
1309+ "Janne Hellsten <jjhellst@gmail.com> @nurpax":
5071310 - sqlite-simple
5081311
509− "Michal J. Gajda <maintainer@migamake.com>":
1312+ "Michal J. Gajda <maintainer@migamake.com> @mgajda":
5101313 - iterable
511− - Octree
5121314 - FenwickTree
513− - hPDB
514− - hPDB-examples
515− - homplexity
516− - wordpass
5171315 - json-autotype
518− - posix-realtime
5191316
520− "Dom De Re <domdere@domdere.com>":
1317+ "Dom De Re <domdere@domdere.com> @domdere":
5211318 - cassava-conduit
5221319
523− "Dominic Steinitz <dominic@steinitz.org>":
524− - yarr
1320+ "Dominic Steinitz <dominic@steinitz.org> @idontgetoutmuch":
1321+ - monad-bayes
5251322 - random-fu
5261323
527− "Ben Gamari <ben@smart-cactus.org>":
1324+ "Ben Gamari <ben@smart-cactus.org> @bgamari":
5281325 - vector-fftw
1326+ - cborg-json
1327+ - language-dot
5291328
5301329 "Roman Cheplyaka <roma@ro-che.info> @feuerbach":
5311330 - action-permutations
@@ -534,8 +1333,6 @@ packages:
5341333 - immortal
5351334 - regex-applicative
5361335 - lexer-applicative
537− - smallcheck
538− - socket
5391336 - tasty
5401337 - tasty-golden
5411338 - tasty-hunit
@@ -543,37 +1340,28 @@ packages:
5431340 - tasty-smallcheck
5441341 - tasty-html
5451342 - time-lens
546− # GHC 8 - timezone-olson
547− # GHC 8 - timezone-series
1343+ - timezone-olson
1344+ - timezone-series
5481345 - traverse-with-class
5491346 - tuples-homogenous-h98
5501347
551− "George Giorgidze <giorgidze@gmail.com>":
552− - HCodecs
1348+ "George Giorgidze <giorgidze@gmail.com> @giorgidze":
5531349 - YampaSynth
5541350 - set-monad
5551351
556− "Phil Hargett <phil@haphazardhouse.net>":
1352+ "Phil Hargett <phil@haphazardhouse.net> @hargettp":
5571353 - courier
5581354
559− "Aycan iRiCAN <iricanaycan@gmail.com>":
1355+ "Aycan iRiCAN <iricanaycan@gmail.com> @aycanirican":
5601356 - hdaemonize
5611357 - hweblib
5621358
563− "Joachim Breitner <mail@joachim-breitner.de>":
1359+ "Joachim Breitner <mail@joachim-breitner.de> @nomeata":
5641360 - circle-packing
565− - arbtt
566− - ghc-heap-view
567− - tttool
568− - gipeda
569− - list-fusion-probe
5701361 - haskell-spacegoo
5711362 - tasty-expected-failure
572− - RepLib
573− # https://github.com/fpco/stackage/pull/1794
574− #- unbound
5751363
576− "Aditya Bhargava <adit@adit.io":
1364+ "Aditya Bhargava <adit@adit.io> @egonSchiele":
5771365 - HandsomeSoup
5781366
5791367 "Clint Adams <clint@debian.org> @clinty":
@@ -583,165 +1371,182 @@ packages:
5831371 - DAV
5841372 - hopenpgp-tools
5851373 - opensource
1374+ - debian
1375+ - cabal-debian
1376+ # dependencies:
1377+ - monad-chronicle
1378+
1379+ "Piyush P Kurur <ppk@cse.iitk.ac.in> @piyush-kurur":
1380+ - raaz
1381+ - naqsha
5861382
5871383 "Joey Hess <id@joeyh.name> @joeyh":
588− # via esqueleto - git-annex
589− # via github - github-backup
590− - Win32-extras
1384+ - git-annex
5911385 - concurrent-output
5921386 - mountpoints
5931387 - disk-free-space
5941388
595− "Colin Woodbury <colingw@gmail.com> @fosskers":
1389+ "Colin Woodbury <colin@fosskers.ca> @fosskers":
1390+ - aur
1391+ - aura
1392+ - bounded-queue
1393+ - kanji
1394+ - language-bash
5961395 - microlens-aeson
1396+ - pipes-random
1397+ - servant-xml
1398+ - streaming-attoparsec
5971399 - versions
5981400 - vectortiles
599− - pipes-random
600− # GHC 8 - kanji
6011401
602− "Ketil Malde":
1402+ "Ketil Malde @ketil-malde":
6031403 - biocore
6041404 - biofasta
6051405 - biofastq
606− # 0.3.7.1 Compilation failure due to -Werror - biosff
6071406 - blastxml
6081407 - bioace
609− # 0.8.8 Compilation failure https://github.com/BioHaskell/biophd/issues/3 - biophd
6101408 - biopsl
611− # VERSION MISSING Compilation failure against c2hs https://github.com/ingolia/SamTools/issues/3 - samtools
6121409 - seqloc
6131410 - bioalign
6141411 - BlastHTTP
615− # The following have out-of-date dependencies currently
616− # biostockholm memexml RNAwolf
617− # , "Biobase BiobaseDotP BiobaseFR3D BiobaseInfernal BiobaseMAF"
618− # , "BiobaseTrainingData BiobaseTurner BiobaseXNA BiobaseVienna"
619− # , "BiobaseTypes BiobaseFasta"
620− # MC-Fold-DP
621−
622− "Florian Eggenhofer <florian.eggenhofer@univie.ac.at>":
1412+
1413+ "Florian Eggenhofer <florian.eggenhofer@univie.ac.at> @eggzilla":
6231414 - ClustalParser
624− # GHC 8 - EntrezHTTP
1415+ - EntrezHTTP
6251416 - Genbank
626− # GHC 8 - RNAlien
627− # via EntrezHTTP - Taxonomy
628− # via ENtrezHTTP - TaxonomyTools
1417+ - RNAlien
1418+ - biocore
1419+ - bimaps
1420+ - BiobaseBlast
1421+ - BiobaseENA
1422+ - BiobaseEnsembl
1423+ - BiobaseFasta
1424+ - BiobaseHTTP
1425+ - BiobaseTypes
1426+ - BiobaseXNA
1427+ - DPutils
1428+ - ForestStructures
1429+ - OrderedBits
1430+ - PrimitiveArray
1431+ - SciBaseTypes
1432+ - Taxonomy
6291433 - ViennaRNAParser
1434+ - either-unwrap
6301435
6311436 "Silk <code@silk.co>":
632− - aeson-utils
633− - arrow-list
6341437 - attoparsec-expr
635− - bumper
636− - code-builder
637− - fay-builder
638− - generic-aeson
6391438 - generic-xmlpickler
640− - hxt-pickle-utils
6411439 - imagesize-conduit
642− - json-schema
6431440 - multipart
644− - rest-client
645− - rest-core
646− - rest-gen
647− - rest-happstack
648− # GHC 8 - rest-snap
649− - rest-stringmap
650− - rest-types
651− - rest-wai
6521441 - tostring
6531442 - uri-encode
6541443
6551444 "Simon Michael <simon@joyful.com> @simonmichael":
1445+ - quickbench
6561446 - regex-compat-tdfa
657− # bounds - darcs
658− - hledger
659− - hledger-lib
660− # - hledger-ui
661− # - hledger-web
662− # via Diff - shelltestrunner
663−
664− "Mihai Maruseac <mihai.maruseac@gmail.com>":
1447+ - shelltestrunner
1448+ # The hledger project aims to keep the latest release of the core
1449+ # "hledger-lib" and "hledger" packages in stackage nightly at all times.
1450+ # When other hledger-* packages (or minor non-hledger packages) have
1451+ # incompatible bounds, we would prefer they be disabled temporarily,
1452+ # rather than disabling the latest hledger-lib and hledger.
1453+ # (#3494/closed, #5779/closed)
1454+ # Temporary upper bound to avoid mistaken and deprecated 1.24.99 release:
1455+ - hledger < 1.24.99
1456+ - hledger-lib < 1.24.99
1457+ - hledger-ui < 1.24.99
1458+ - hledger-web < 1.24.99
1459+
1460+ "Mihai Maruseac <mihai.maruseac@gmail.com> @mihaimaruseac":
6651461 - io-manager
6661462
667− "Dimitri Sabadie <dimitri.sabadie@gmail.com":
668− # - al FIXME temporary, figure out why it's not working with stackage-build
1463+ "Dimitri Sabadie <dimitri.sabadie@gmail.com> @phaazon":
1464+ - al
6691465 - event
6701466 - hid
671− # GHC 8 - luminance
672− # GHC 8 - luminance-samples
6731467 - monad-journal
674− # GHC 8 - msi-kb-backlit
6751468 - smoothie
676− # bounds - tellbot
677− # GHC 8 - wavefront
1469+ - wavefront
6781470 - zero
6791471
680− "Thomas Schilling <nominolo@googlemail.com>":
1472+ "Thomas Schilling <nominolo@googlemail.com> @nominolo":
6811473 - ghc-syb-utils
6821474
683− "Boris Buliga <d12frosted@icloud.com>":
1475+ "Boris Buliga <d12frosted@icloud.com> @d12frosted":
6841476 - io-choice
685− # UNKNOWN VERSION Compilation failure https://github.com/d12frosted/CanonicalPath/issues/5 - system-canonicalpath
686−
687− "Daniel Gröber <dxld@darkboxed.org> @DanielG":
688− - ghc-mod
689− - cabal-helper
6901477
691− "Yann Esposito <yann.esposito@gmail.com>":
1478+ "Yann Esposito <yann.esposito@gmail.com> yogsototh @yogsototh":
6921479 - human-readable-duration
6931480 - holy-project
6941481 - wai-middleware-caching
6951482 - wai-middleware-caching-lru
6961483 - wai-middleware-caching-redis
697− # not package maintainer
698− - ekg
699− - ekg-json
7001484
701− "Paul Rouse <pgr@doynton.org>":
702− - sphinx
1485+ "Paul Rouse <pgr@doynton.org> @paul-rouse":
1486+ - mysql
1487+ - mysql-simple
1488+ - sphinx < 0 # 0.6.0.2 compile fail: Could not find module Network
7031489 - xmlhtml
7041490 - yesod-auth-hashdb
7051491
7061492 "Toralf Wittner <tw@dtex.org> @twittner":
7071493 - bytestring-conversion
708− # GHC8/3.1.0 compilation failure - cql
709− # via cql - cql-io
1494+ - cql
1495+ - cql-io
7101496 - redis-resp
7111497 - redis-io
7121498 - swagger
7131499 - tinylog
7141500 - wai-predicates
715− # GHC 8 - wai-routing
1501+ - wai-routing
7161502 - zeromq4-haskell
7171503
718− "trupill@gmail.com":
1504+ "Alejandro Serrano <trupill@gmail.com> @serras":
7191505 - djinn-lib
7201506 - djinn-ghc
1507+ - generics-mrsop < 0 # 2.3.0 compile fail: TyVarBndr
1508+ - kind-apply
1509+ - kind-generics
1510+ - kind-generics-th
1511+ - simplistic-generics
1512+ - wl-pprint
1513+ - AC-Angle
1514+ - language-protobuf
1515+ - generic-aeson
1516+ - parameterized
1517+ - tracing-control
1518+ - primitive-unlifted < 0.2 # 1.0.0.0 ghc 9.0.2 panic, https://github.com/metrix-ai/primitive-extras/issues/6
1519+ - stm-lifted
1520+ - monad-primitive
1521+ - mwc-random-monad
7211522
722− "Arash Rouhani <miffoljud@gmail.com>":
723− - yesod-text-markdown
1523+ "Flavio Corpa <flaviocorpa@gmail.com> @kutyel":
1524+ - language-avro
7241525
725− "Matvey Aksenov <matvey.aksenov@gmail.com":
1526+ "Matvey Aksenov <matvey.aksenov@gmail.com> @supki":
7261527 - terminal-size
1528+ - envparse
7271529
728− "Luis G. Torres <lgtorres42@gmail.com":
1530+ "Luis G. Torres <lgtorres42@gmail.com> @giogadi":
7291531 - kdt
7301532
1533+ "Pavel Krajcevski <krajcevski@gmail.com> @Mokosha":
1534+ - netwire
1535+ - netwire-input
1536+ - netwire-input-glfw
1537+ - yoga
1538+ - freetype2
1539+ - HCodecs
1540+ - netcode-io
1541+ - reliable-io
1542+
7311543 "Emanuel Borsboom <manny@fpcomplete.com> @borsboom":
7321544 - BoundedChan
7331545 - broadcast-chan
734− - bytestring-lexing
735− - bytestring-trie
736− - data-accessor
737− - data-accessor-mtl
738− # GHC 8 - file-location
7391546 - fuzzcheck
740− - haddock-api
7411547 - here
7421548 - hlibgit2
7431549 - gitlib-libgit2
744− - hostname-validate
7451550 - interpolatedstring-perl6
7461551 - iproute
7471552 - missing-foreign
@@ -752,197 +1557,277 @@ packages:
7521557 - Chart-cairo
7531558 - ghc-events
7541559 - monad-extras
755− - stack < 9.9.9
7561560 - optparse-simple
7571561 - hpack
1562+ - bindings-uname
1563+ - stack < 9.9.9 # see #3563/closed
7581564
759− "Michael Sloan <mgsloan@gmail.com>":
1565+ "Michael Sloan <mgsloan@gmail.com> @mgsloan":
1566+ - store
1567+ - store-core
1568+ - store-streaming
7601569 - th-orphans
7611570 - th-reify-many
1571+ - th-utilities
7621572
763− "Nikita Volkov <nikita.y.volkov@mail.ru>":
1573+ "Nikita Volkov <nikita.y.volkov@mail.ru> @nikita-volkov":
1574+ - acc
1575+ - attoparsec-data
1576+ - attoparsec-time
7641577 - base-prelude
1578+ - bytestring-strict-builder
1579+ - bytestring-tree-builder
7651580 - cases
1581+ - deferred-folds
1582+ - deque
1583+ - domain
1584+ - domain-core
1585+ - domain-optics
7661586 - focus
7671587 - hasql
1588+ - hasql-optparse-applicative
1589+ - hasql-pool
1590+ - hasql-th
1591+ - hasql-transaction
1592+ - headed-megaparsec
1593+ - jsonifier
7681594 - list-t
7691595 - mtl-prelude
7701596 - neat-interpolation
1597+ - optima
7711598 - partial-handler
7721599 - postgresql-binary
1600+ - postgresql-syntax
1601+ - primitive-extras
1602+ - ptr-poker
1603+ - rebase
1604+ - rerebase
7731605 - slave-thread
7741606 - stm-containers
775−
776− "Iustin Pop <iustin@k1024.org>":
1607+ - stm-hamt
1608+ - template-haskell-compat-v0208
1609+ - text-builder
1610+ - th-lego
1611+ - vector-builder
1612+ - yaml-unscrambler
1613+ - xml-parser
1614+
1615+ "Iustin Pop <iustin@k1024.org> @iustin":
7771616 - prefix-units
7781617
779− "Alexander Thiemann <mail@athiemann.net>":
780− - Spock
781− # via digestive-functors - Spock-digestive
782− - Spock-worker
783− - graph-core
784− # 0.2.0.2 Compilation failure https://github.com/agrafix/highjson/issues/1 - highjson
785− - hvect
786− - reroute
787− - users
788− # via esqueleto - users-persistent
789− - users-postgresql-simple
790− - users-test
791− - validate-input
792− - ignore
793− - elm-bridge
794− - hackmanager
795− # via digestive-functors - digestive-bootstrap
796− - blaze-bootstrap
797− - dataurl
798− - psql-helpers
799−
800− "Joey Eremondi <joey@eremondi.com>":
801− - aeson-pretty
1618+ "Alexander Thiemann <mail@athiemann.net> @agrafix":
1619+ - Spock
1620+ - Spock-core
1621+ - Spock-api
1622+ - Spock-api-server
1623+ - Spock-worker
1624+ - graph-core
1625+ - hvect
1626+ - reroute
1627+ - users
1628+ - users-persistent
1629+ - users-postgresql-simple
1630+ - users-test
1631+ - validate-input
1632+ - ignore < 0 # 0.1.1.0 compile fail https://github.com/agrafix/ignore/issues/5
1633+ - blaze-bootstrap
1634+ - dataurl
1635+ - psql-helpers
1636+ - superbuffer
1637+ - timespan
1638+ - distance < 0 # 0.1.0.0 compile fail: Semigroup Distance
1639+ - async-extra
1640+ - format-numbers
1641+ - highjson
1642+ - highjson-swagger
1643+ - highjson-th
1644+ - fileplow
1645+
1646+ "Joey Eremondi <joey@eremondi.com> @JoeyEremondi":
8021647 - digest
803− # via elm-compiler - elm-build-lib
804− # bounds - elm-compiler
8051648 - elm-core-sources
806− # bounds - elm-package
8071649 - language-glsl
8081650 - prettyclass
8091651 - QuasiText
8101652 - union-find
8111653 - zip-archive
8121654
813− "Arthur Fayzrakhmanov <heraldhoi@gmail.com>":
814− # GHC 8 - sodium
1655+ "Arthur Fayzrakhmanov <heraldhoi@gmail.com> @geraldus":
8151656 - yesod-form-richtext
8161657 - ghcjs-perch
8171658
818− "Sebastian Nagel <sebastian.nagel@ncoding.at> @ch1bo":
819− - hdevtools
820−
821− "Andrey Chudnov <oss@chudnov.com>":
822− - language-ecmascript
823−
824− "Tom Ellis <tom-stackage@jaguarpaw.co.uk>":
1659+ "Tom Ellis <tom-stackage@jaguarpaw.co.uk> @tomjaguarpaw":
8251660 - opaleye
8261661 - product-profunctors
1662+ - strict-wrapper
8271663
8281664 "Samplecount stefan@samplecount.com @kaoskorobase":
8291665 - shake-language-c
8301666
831− "Marcin Mrotek <marcin.jan.mrotek@gmail.com>":
832− - type-list
833− - zoom-refs
834− - vinyl-utils
835−
8361667 "David Turner <dave.c.turner@gmail.com> @davecturner":
8371668 - alarmclock
8381669 - bank-holidays-england
8391670
840− "Haskell Servant jkarni@gmail.com":
1671+ "Haskell Servant <haskell-servant-maintainers@googlegroups.com>":
8411672 - servant
1673+ - servant-blaze
1674+ - servant-cassava
8421675 - servant-client
1676+ - servant-client-core
1677+ - servant-conduit
8431678 - servant-docs
1679+ - servant-foreign
1680+ - servant-http-streams
8441681 - servant-js
845− - servant-server
8461682 - servant-lucid
847− - servant-blaze
848− - servant-foreign
1683+ - servant-machines
8491684 - servant-mock
850− - servant-cassava
1685+ - servant-multipart
1686+ - servant-multipart-api
1687+ - servant-pipes
1688+ - servant-server
1689+ - servant-swagger
1690+ - servant-swagger-ui
1691+ - servant-swagger-ui-core
8511692
852− "Alexandr Ruchkin voidex@live.com @mvoidex":
853− # missing test files https://github.com/fpco/stackage/issues/1562 - hdocs
1693+ "Optics <optics@well-typed.com>":
1694+ - indexed-profunctors
1695+ - optics
1696+ - optics-core
1697+ - optics-extra
1698+ - optics-th
1699+ - optics-vl
1700+
1701+ "Alexandr Ruchkin <voidex@live.com> @mvoidex":
8541702 - hformat
855− # missing test files https://github.com/fpco/stackage/issues/1562 - hsdev
8561703 - simple-log
8571704 - text-region
1705+ - haskell-names
1706+ - hsdev
8581707
859− "Aleksey Kliger aleksey@lambdageek.org @lambdageek":
1708+ "Aleksey Kliger <aleksey@lambdageek.org> @lambdageek":
8601709 - unbound-generics
8611710 - indentation-core
8621711 - indentation-parsec
1712+ - clang-compilation-database
8631713
864− "Alois Cochard alois.cochard@gmail.com @aloiscochard":
865− # GHC 8 & bounds - codex
866− # GHC 8 - machines-binary
867− # GHC 8 - machines-directory
868− # bounds - machines-io
869− # GHC 8 - machines-process
870− # GHC 8 - sarsi
871− - wreq # on behalf of Bryan O'Sullivan @bos
1714+ "Alois Cochard <alois.cochard@gmail.com> @aloiscochard":
1715+ - machines-binary
1716+ # on behalf of Bryan O'Sullivan @bos:
1717+ - wreq
8721718
873− "Andraz Bajt andraz@bajt.me @edofic":
1719+ "Andraz Bajt <andraz@bajt.me> @edofic":
8741720 - effect-handlers
8751721 - koofr-client
8761722 - snowflake
8771723
878− "Leza M. Lutonda lemol-c@hotmail.com @lemol":
1724+ "Leza M. Lutonda <lemol-c@hotmail.com> @lemol":
8791725 - HaskellNet
8801726 - HaskellNet-SSL
8811727
882− "Jens Petersen juhpetersen@gmail.com @juhp":
1728+ "Tristan de Cacqueray <tdecacqu@redhat.com> @tristanC":
1729+ - linux-capabilities
1730+
1731+ "Jens Petersen <juhpetersen@gmail.com> @juhp":
1732+ - bodhi
1733+ - bugzilla-redhat
1734+ - cabal-file
8831735 - cabal-rpm
884− - cabal-sort
885− - hslua
1736+ - cached-json-file
1737+ - copr-api
1738+ - dl-fedora < 0 # 0.9.2 https://github.com/juhp/dl-fedora/issues/2
1739+ - fedora-dists
1740+ - fedora-haskell-tools
1741+ - HaXml
1742+ - hkgr
1743+ - http-directory
1744+ - http-query
1745+ - koji
1746+ - pagure
1747+ - pagure-cli
1748+ - pdc
1749+ - pkgtreediff
1750+ - rhbzquery
1751+ - rpm-nvr
1752+ - rpmbuild-order
1753+ - simple-cabal
1754+ - simple-cmd
1755+ - simple-cmd-args
1756+ - stack-all
1757+ - stack-clean-old
1758+
1759+ - async-pool
1760+ - darcs
8861761 - idris
887−
1762+ - libffi
8881763 - cairo
889− - gio
8901764 - glib
891− - gtk
892− - gtk3
893− - gtksourceview3
1765+ - gio
8941766 - pango
895− - webkitgtk3
896− - webkitgtk3-javascriptcore
897−
1767+ - gtk3
8981768 - ghcjs-codemirror
899− # via gi-gtk https://github.com/fpco/stackage/issues/1569 - ghcjs-dom
900− # via gi-gtk https://github.com/fpco/stackage/issues/1569 - jsaddle
901− # GHC 8 & bounds - leksah-server
902− # GHC 8 - ltk
1769+ - ghcjs-dom
1770+ - jsaddle
9031771 - vado
904− # GHC 8 - vcsgui
9051772 - vcswrapper
906−
907− "Renzo Carbonara renzocarbonara@gmail.com @k0001":
1773+ - ShellCheck
1774+ - binary-shared
1775+ - xdg-userdirs
1776+ # please take these
1777+ - cryptohash-md5
1778+ - cryptohash-sha1
1779+
1780+ "Renzo Carbonara <renzocarbonara@gmail.com> @k0001":
1781+ - df1
1782+ - di
1783+ - di-core
1784+ - di-df1
1785+ - di-handle
1786+ - di-monad
1787+ - exinst
1788+ - flay
9081789 - network-simple
1790+ - network-simple-tls
9091791 - pipes-aeson
9101792 - pipes-attoparsec
911− # GHC 8 - pipes-binary
1793+ - pipes-binary
9121794 - pipes-network
913−
914− "Tomas Carnecky":
915− # GHC 8 0.0.15 compilation failure - avers
916− # via avers - avers-api
917− # via avers - avers-server
1795+ - pipes-network-tls
1796+ - safe-money
1797+ - vector-bytes-instances
1798+ - xmlbf-xeno
1799+ - xmlbf-xmlhtml
1800+ - xmlbf
1801+
1802+ "Tomas Carnecky @wereHamster":
1803+ - avers
1804+ - avers-api
1805+ - avers-server
9181806 - css-syntax
9191807 - etcd
9201808 - github-types
9211809 - github-webhook-handler
922− # GHC 8 & via snap-core - github-webhook-handler-snap
1810+ - github-webhook-handler-snap
9231811 - google-cloud
9241812 - kraken
9251813 - libinfluxdb
926− # GHC 8 & via snap - mole
1814+ - mole
9271815 - publicsuffix
9281816 - rethinkdb-client-driver
1817+ - snap-blaze
9291818
930− "Alexandr Kurilin alex@kurilin.net @alex_kurilin":
1819+ "Alexandr Kurilin <alex@kurilin.net> @alex_kurilin":
9311820 - bcrypt
9321821
933− "Jeffrey Rosenbluth jeffrey.rosenbluth@gmail.com":
1822+ "Jeffrey Rosenbluth <jeffrey.rosenbluth@gmail.com> @jeffreyrosenbluth":
9341823 - palette
9351824 - diagrams-canvas
936− - diagrams-rasterific
937− - lucid-svg
938− - diagrams-html5
939− - static-canvas
9401825 - svg-builder
9411826
942− "Gabríel Arthúr Pétursson gabriel@system.is":
1827+ "Gabríel Arthúr Pétursson <gabriel@system.is> @polarina":
9431828 - sdl2
9441829
945− "Leon Mergen leon@solatis.com @solatis":
1830+ "Leon Mergen <leon@solatis.com> @solatis":
9461831 - base32string
9471832 - base58string
9481833 - bitcoin-api
@@ -952,125 +1837,68 @@ packages:
9521837 - bitcoin-tx
9531838 - bitcoin-types
9541839 - hexstring
955− - network-attoparsec
956− - network-anonymous-i2p
1840+ - network-attoparsec < 0 # 0.12.2 compile fail MonadFail
1841+ - network-anonymous-i2p < 0 # 0.10.0 compile fail
9571842 - network-anonymous-tor
9581843
959− "Timothy Jones git@zmthy.io @zmthy":
1844+ "Timothy Jones <tim@zmthy.net> @zmthy":
9601845 - http-media
9611846
962− "Greg V greg@unrelenting.technology @myfreeweb":
963− - gitson
1847+ "Greg V <greg@unrelenting.technology> @myfreeweb":
9641848 - pcre-heavy
9651849 - http-link-header
9661850 - microformats2-parser
9671851 - hspec-expectations-pretty-diff
1852+ - wai-cli
1853+ - magicbane
9681854
969− "Francesco Mazzoli f@mazzo.li @bitonic":
1855+ "Francesco Mazzoli <f@mazzo.li> @bitonic":
9701856 - language-c-quote
9711857
972− "Sönke Hahn soenkehahn@gmail.com @soenkehahn":
1858+ "Sönke Hahn <soenkehahn@gmail.com> @soenkehahn":
9731859 - generics-eot
9741860 - getopt-generics
9751861 - graph-wrapper
9761862 - string-conversions
1863+ - hspec-checkers
1864+ - FindBin
9771865
978− "Jan Stolarek jan.stolarek@p.lodz.pl @jstolarek":
1866+ "Jan Stolarek <jan.stolarek@p.lodz.pl> @jstolarek":
9791867 - tasty-program
9801868
981− "Oleg Grenrus oleg.grenrus@iki.fi @phadej":
982− - aeson-compat
983− # GHC 8 - aeson-extra
984− - binary-orphans
985− - binary-tagged
986− - edit-distance
987− - generics-sop-lens
988− # GHC 8 - github
989− - insert-ordered-containers
990− - JuicyPixels-scale-dct
991− - lattices
992− - monad-http
993− - postgresql-simple-url
994− - range-set-list
995− - regex-applicative-text
996− - servant-swagger-ui
997− - servant-yaml
998− - singleton-bool
999− - spdx
1000− - these
1001− - time-parsers
1002− - waitra
1003−
1004− # Not a maintainer
1005− - arithmoi
1006− - friendly-time
1007− - hashable
1008− # GHC 8 - haxl
1009− - monad-time
1010− - packdeps
1011− - unordered-containers
1012−
1013− # fft
1014− - carray
1015− - ix-shapable
1016− - fft
1017−
1018− # Regex packages by Chris Kuklewicz
1019− - regex-base
1020− - regex-compat
1021− # 0.91 Compilation failure due to -Werror - regex-dfa
1022− # 0.90 Compilation failure due to -Werror - regex-parsec
1023− - regex-pcre
1024− - regex-posix
1025− - regex-tdfa
1026− # GHC 8 - regex-tdfa-utf8
1027− # 0.91 Compilation failure due to -Werror - regex-tre
1028−
1029− # Purescript
1030− - bower-json
1031− - boxes
1032− - pattern-arrows
1033− - purescript
1034−
1035− # Universe
1036− - universe
1037− - universe-base
1038− - universe-instances-base
1039− - universe-instances-extended
1040− - universe-instances-trans
1041− - universe-reverse-instances
1042−
10431869 "Abhinav Gupta <mail@abhinavg.net> @abhinav":
10441870 - farmhash
10451871 - pinch
1046− - sandman
1047− - language-thrift
1872+ - sandman < 0 # 0.2.0.1 compile fail (Cabal 3)
10481873
1049− "Adam C. Foltzer acfoltzer@galois.com @acfoltzer":
1050− - cryptol
1874+ "Adam C. Foltzer <acfoltzer@galois.com> @acfoltzer":
10511875 - gitrev
10521876 - persistent-refs
10531877
1054− "Luke Taylor tekul.hs@gmail.com @tekul":
1878+ "Luke Taylor <tekul.hs@gmail.com> @tekul":
10551879 - jose-jwt
10561880
1057− "Brendan Hay brendan.g.hay@gmail.com @brendanhay":
1881+ "Brendan Hay <brendan.g.hay@gmail.com> @brendanhay":
10581882 - amazonka
10591883 - amazonka-core
10601884 - amazonka-test
10611885 - amazonka-apigateway
10621886 - amazonka-application-autoscaling
1887+ - amazonka-appstream
1888+ - amazonka-athena
10631889 - amazonka-autoscaling
1890+ - amazonka-budgets
10641891 - amazonka-certificatemanager
10651892 - amazonka-cloudformation
10661893 - amazonka-cloudfront
10671894 - amazonka-cloudhsm
1068− - amazonka-cloudsearch-domains
10691895 - amazonka-cloudsearch
1896+ - amazonka-cloudsearch-domains
10701897 - amazonka-cloudtrail
1898+ - amazonka-cloudwatch
10711899 - amazonka-cloudwatch-events
10721900 - amazonka-cloudwatch-logs
1073− - amazonka-cloudwatch
1901+ - amazonka-codebuild
10741902 - amazonka-codecommit
10751903 - amazonka-codedeploy
10761904 - amazonka-codepipeline
@@ -1084,9 +1912,9 @@ packages:
10841912 - amazonka-discovery
10851913 - amazonka-dms
10861914 - amazonka-ds
1087− - amazonka-dynamodb-streams
10881915 - amazonka-dynamodb
1089− - amazonka-ec2
1916+ - amazonka-dynamodb-streams
1917+ - amazonka-ec2 < 0 # takes too much memory to build https://github.com/brendanhay/amazonka/issues/549
10901918 - amazonka-ecr
10911919 - amazonka-ecs
10921920 - amazonka-efs
@@ -1095,40 +1923,56 @@ packages:
10951923 - amazonka-elasticsearch
10961924 - amazonka-elastictranscoder
10971925 - amazonka-elb
1926+ - amazonka-elbv2
10981927 - amazonka-emr
10991928 - amazonka-gamelift
11001929 - amazonka-glacier
1930+ - amazonka-glue
1931+ - amazonka-health
11011932 - amazonka-iam
11021933 - amazonka-importexport
11031934 - amazonka-inspector
1104− - amazonka-iot-dataplane
11051935 - amazonka-iot
1936+ - amazonka-iot-dataplane
11061937 - amazonka-kinesis
1938+ - amazonka-kinesis-analytics
11071939 - amazonka-kinesis-firehose
11081940 - amazonka-kms
11091941 - amazonka-lambda
1942+ - amazonka-lightsail
11101943 - amazonka-marketplace-analytics
11111944 - amazonka-marketplace-metering
11121945 - amazonka-ml
11131946 - amazonka-opsworks
1947+ - amazonka-opsworks-cm
1948+ - amazonka-pinpoint
1949+ - amazonka-polly
11141950 - amazonka-rds
11151951 - amazonka-redshift
1116− - amazonka-route53-domains
1952+ - amazonka-rekognition
11171953 - amazonka-route53
1954+ - amazonka-route53-domains
11181955 - amazonka-s3
11191956 - amazonka-sdb
1957+ - amazonka-servicecatalog
11201958 - amazonka-ses
1959+ - amazonka-shield
1960+ - amazonka-sms
1961+ - amazonka-snowball
11211962 - amazonka-sns
11221963 - amazonka-sqs
11231964 - amazonka-ssm
1965+ - amazonka-stepfunctions
11241966 - amazonka-storagegateway
11251967 - amazonka-sts
11261968 - amazonka-support
11271969 - amazonka-swf
11281970 - amazonka-waf
11291971 - amazonka-workspaces
1972+ - amazonka-xray
1973+ # gogol-* disabled due to `gogol-core` due to `servant`: #6089/closed
11301974 - gogol
1131− - gogol-core
1975+ - gogol-core < 0 # 0.5.0 compile fail
11321976 - gogol-adexchange-buyer
11331977 - gogol-adexchange-seller
11341978 - gogol-admin-datatransfer
@@ -1225,91 +2069,87 @@ packages:
12252069 - gogol-youtube-analytics
12262070 - gogol-youtube-reporting
12272071 - ede
1228− - pagerduty
2072+ - pagerduty < 0 # 0.0.8 compile fail with GHC 8.4 https://github.com/brendanhay/pagerduty/issues/10
12292073 - semver
12302074 - text-manipulate
12312075
1232− "Nick Partridge nkpart@gmail.com @nkpart":
2076+ "Nick Partridge <nkpart@gmail.com> @nkpart":
12332077 - cabal-file-th
12342078
12352079 "Gershom Bazerman <gershomb@gmail.com> @gbaz":
12362080 - jmacro
12372081 - jmacro-rpc
2082+ - jmacro-rpc-snap
12382083 - jmacro-rpc-happstack
1239− # via snap-core - jmacro-rpc-snap
2084+
12402085 - mbox
12412086 - kmeans
12422087 - boolsimplifier
12432088 - cubicspline
12442089 - maximal-cliques
12452090
1246− "Alexander Bondarenko <aenor.realm@gmail.com> @wiz":
2091+ "Alexander Bondarenko <aenor.realm@gmail.com> @dpwiz":
2092+ - hedn
12472093 - soap
12482094 - soap-tls
12492095 - soap-openssl
12502096
12512097 "Andres Löh <andres@well-typed.com> @kosmikus":
12522098 - generics-sop
2099+ - records-sop
2100+ - sop-core
12532101
12542102 "Vivian McPhail <haskell.vivian.mcphail@gmail.com> @amcphail":
12552103 - hmatrix-gsl-stats
12562104 - hsignal
12572105 - hstatistics
1258− # GHC 8 - plot
1259− # via plot - plot-gtk
1260− # via plot - plot-gtk3
1261−
2106+ - plot
12622107 - vector-buffer
1263− # 0.1.2.1 Compilation failure against hmatrix https://github.com/amcphail/hmatrix-repa/issues/2 - hmatrix-repa
2108+ - hmatrix-repa
12642109
12652110 "Noam Lewis <jones.noamle@gmail.com> @sinelaw":
1266− # via hxt-tagsoup - xml-to-json
2111+ - xml-to-json
12672112 - xml-to-json-fast
2113+ - wl-pprint
2114+ # not a maintainer
2115+ - hxt-curl
2116+ - hxt-expat
2117+ - hxt-tagsoup
2118+ - hexpat
12682119 - digits
1269− - unification-fd
12702120 - logict
1271− - resolve-trivial-conflicts
1272− - wl-pprint
12732121 - leveldb-haskell
12742122 - system-argv0
12752123 - markdown-unlit
12762124
1277− "Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk> @Fuuzetsu":
1278− # 0.4.1.1 compilation failure against GHC 8 - aeson-schema
1279− - H
1280− - inline-r
1281−
1282− # "David Fox <dsf@seereason.com> @ddssff":
1283− # GHC bug https://github.com/ddssff/debian-haskell/issues/6 - debian
1284− # via memoize - cabal-debian
1285−
1286− "Stefan Saasen <stefan@saasen.me>":
2125+ "Brian McKenna <brian@brianmckenna.org> @puffnfresh":
12872126 - jwt
12882127
12892128 "Sven Bartscher sven.bartscher@weltraumschlangen.de @kritzefitz":
12902129 - setlocale
12912130
1292− "John Chee <cheecheeo+stackage@gmail.com> @chee1bot":
1293− - cgi
1294−
12952131 "Taylor Fausak <taylor@fausak.me> @tfausak":
12962132 - autoexporter
1297− - bento
1298− - bmp # Maintained by @benl23x5.
1299− # GHC 8 - ekg-statsd # Maintained by @tibbe.
2133+ - burrito
2134+ - derulo
13002135 - flow
1301− # via uri-templater - github-release
1302− - gloss # Maintained by @benl23x5.
1303− - gloss-rendering # Maintained by @benl23x5.
1304− - gpolyline # Maintained by @fegu.
2136+ - github-release
2137+ - json-feed
13052138 - lackey
1306− - octane
1307− - overloaded-records # Maintained by @trskop.
2139+ - list-singleton
2140+ - rampart
13082141 - ratel
13092142 - ratel-wai
2143+ - rattletrap
2144+ - salve
2145+ - splint
13102146 - strive
2147+ - witch
13112148 - wuss
13122149
2150+ - bmp # @benl23x5
2151+ - gpolyline # @fegu
2152+
13132153 "Marios Titas <redneb@gmx.com> @redneb":
13142154 - HsOpenSSL-x509-system
13152155 - adler32
@@ -1324,158 +2164,186 @@ packages:
13242164 - prometheus-client
13252165 - prometheus-metrics-ghc
13262166 - scalpel
2167+ - scalpel-core
13272168 - wai-middleware-prometheus
13282169
13292170 "William Casarin <bill@casarin.me> @jb55":
13302171 - bson-lens
13312172 - cased
2173+ - elm-export
2174+ - elm-export-persistent
13322175 - pipes-csv
13332176 - pipes-mongodb
2177+ - servant-elm
2178+ - servant-streaming
2179+ - servant-streaming-client
2180+ - servant-streaming-server
13342181 - skeletons
13352182
1336− # "Smirnov Alexey <chemistmail@gmail.com> @chemist":
1337− # GHC 8 - snmp
1338− # GHC 8 - agentx
1339−
13402183 "David Raymond Christiansen <david@davidchristiansen.dk> @david-christiansen":
13412184 - annotated-wl-pprint
13422185
1343− # "Yitz Gale gale@sefer.org @ygale":
1344− # GHC 8 - timezone-series
1345− # GHC 8 - timezone-olson
1346−
1347− "Josh Holland josh@inv.alid.pw @jshholland":
1348− - sandi
1349− - data-ordlist
1350− - xmonad
2186+ "Yitz Gale <gale@sefer.org> @ygale":
2187+ - boolean-normal-forms
2188+ - strict-concurrency
2189+ - timezone-series
2190+ - timezone-olson
13512191
13522192 "Harry Garrood <harry@garrood.me> @hdgarrood":
13532193 - aeson-better-errors
13542194
1355− "Mitchell Rosen <mitchellwrosen@gmail.com":
1356− - language-lua2
2195+ "Mitchell Rosen <mitchellwrosen@gmail.com> @mitchellwrosen":
2196+ - ki
13572197 - tasty-hspec
2198+ - termbox
2199+ - text-ansi
2200+ - timer-wheel
13582201
1359− "Christiaan Baaij <christiaan.baaij@gmail.com> @christiaanb":
2202+ "QBayLogic B.V. <devops@qbaylogic.com> @martijnbastiaan":
13602203 - ghc-tcplugins-extra
13612204 - ghc-typelits-extra
13622205 - ghc-typelits-knownnat
13632206 - ghc-typelits-natnormalise
13642207 - clash-prelude
13652208 - clash-lib
1366− - clash-vhdl
1367− - clash-verilog
1368− - clash-systemverilog
1369− # GHC 8 - clash-ghc
2209+ - clash-ghc
2210+
2211+ "Martijn Bastiaan <martijn@hmbastiaan.nl> @martijnbastiaan":
2212+ - aeson-pretty
2213+ - doctest-parallel
13702214
13712215 "Athan Clark <athan.clark@gmail.com> @athanclark":
2216+ - aeson-attoparsec
2217+ - alternative-vector
2218+ - almost-fix
2219+ - attoparsec-base64
2220+ - attoparsec-path
2221+ # - attoparsec-ip # Deprecated in favor of ip
2222+ - attoparsec-uri < 0 # 0.0.7 compile fail
2223+ - chan
13722224 - commutative
1373− # via digestive functors - digestive-functors-lucid
1374− - ltext
2225+ - composition-extra
2226+ - every
2227+ - extractable-singleton
2228+ - follow-file
2229+ - HSet < 0 # 0.0.1 compile fail: duplicate Hashable instance
13752230 - markup
1376− # via poly-arity - nested-routes
2231+ - monad-control-aligned
2232+ - monadoid
2233+ - n-tuple
13772234 - path-extra
1378− # via HList - poly-arity
1379− - urlpath
1380− - wai-transformers
1381− - wai-middleware-content-type
1382− - wai-middleware-verbs
1383− - webpage
1384− - composition-extra
2235+ - pred-set
2236+ - pred-trie
2237+ - path-extra
2238+ - poly-arity
2239+ - quickcheck-combinators
13852240 - rose-trees
13862241 - sets
2242+ - since
13872243 - timemap
2244+ - tmapchan
2245+ - tmapmvar
13882246 - tries
1389− - path-extra
1390− # via poly-arity - pred-trie
1391− - pred-set
1392− - HSet
2247+ - unit-constraint
2248+ - unfoldable-restricted
2249+ - urlpath
2250+ - wai-transformers
2251+ - websockets-rpc
2252+ - websockets-simple
2253+ - webpage
2254+ - ws
13932255
13942256 "Fumiaki Kinoshita <fumiexcel@gmail.com> @fumieval":
2257+ - boundingboxes
13952258 - control-bool
2259+ - drinkery
13962260 - monad-skeleton
1397− - objective
1398− - witherable
13992261 - xml-lens
2262+ - witherable
2263+ - deriving-aeson
14002264
14012265 "Peter Harpending <peter@harpending.org> @pharpend":
14022266 - editor-open
1403− - exceptional
1404− - optparse-helper
2267+ - exceptional < 0 # 0.3.0.0 MonadFail
14052268 - pager
14062269 - semiring-simple
14072270
14082271 "Philipp Hausmann <ph_git@314.ch> @phile314":
1409− - tasty-silver
2272+ - language-thrift
14102273
14112274 "Michael Thompson <what_is_it_to_do_anything@yahoo.com> @michaelt":
14122275 - pipes-text
14132276 - lens-simple
14142277 - lens-family-core
14152278 - lens-family
1416− - streaming
1417− - streaming-bytestring
1418−
14192279
14202280 "Justin Le <justin@jle.im> @mstksg":
2281+ - advent-of-code-api
14212282 - auto
2283+ - backprop
2284+ - bins
2285+ - conduino
14222286 - configurator-export
2287+ - decidable
2288+ - emd
2289+ - functor-products < 0 # 0.1.1.0 compilation failure https://github.com/mstksg/functor-products/issues/1
2290+ - hamilton
2291+ - hmatrix-backprop
2292+ - hmatrix-vector-sized
2293+ - lens-typelevel
2294+ - list-witnesses
2295+ - nonempty-containers
2296+ - one-liner-instances
14232297 - prompt
2298+ - servant-cli
14242299 - tagged-binary
2300+ - type-combinators-singletons
14252301 - typelits-witnesses
14262302 - uncertain
2303+ - vector-sized
14272304
14282305 "Ian Duncan <ian@iankduncan.com> @iand675":
14292306 - feature-flags
14302307 - metrics
14312308 - pipes-wai
14322309 - serf
1433− # 0.2.0.0 compilation failure - uri-templater
1434− # via uri-templater - librato
1435− # bounds - datadog
1436− - http-types
1437− # bounds - engine-io-growler
1438− # bounds - flowdock
1439− # GHC 8 - growler
2310+ - uri-templater
2311+ - data-sketches
2312+ - data-sketches-core
14402313
14412314 "Michael Xavier <michael@michaelxavier.net> @MichaelXavier":
1442− - angel
14432315 - uri-bytestring
1444− # Can't build on stackage server https://github.com/MichaelXavier/phash/issues/5 - phash
14452316 - cron
1446− # GHC 8 - tasty-tap
1447− # via tasty-tap - tasty-fail-fast
2317+ - tasty-tap
2318+ - tasty-fail-fast
14482319 - drifter
14492320 - drifter-postgresql
2321+ - drifter-sqlite
14502322
14512323 "Lars Kuhtz <lakuhtz@gmail.com> @larskuhtz":
14522324 - wai-cors
14532325 - configuration-tools
2326+ - random-bytestring
14542327
1455− "Sam Rijs <srijs@airpost.net>":
2328+ "Sam Rijs <srijs@airpost.net> @srijs":
14562329 - ndjson-conduit
1457− # GHC 8 - attoparsec-trans
14582330 - operational-class
2331+ - result
14592332
1460− # "Anupam Jain <ajnsit@gmail.com>":
1461− # GHC 8 - wai-routes
1462−
1463− "Daniel Patterson <dbp@dbpmail.net>":
1464− # GHC 8 - hspec-snap
2333+ "Daniel Patterson <dbp@dbpmail.net> @dbp":
14652334 - hworker
1466− - hworker-ses
14672335 - fn
1468− # via heist - fn-extra
1469−
1470− "Chris Wong <lambda.fairy@gmail.com> @lfairy":
1471− - nationstates
14722336
14732337 "Mathieu Boespflug <mboes@tweag.net> @mboes":
1474− # via ihaskell & via ihaskell-blaze - ihaskell-inline-r
1475− - cassette
2338+ - choice
14762339 - distributed-closure
1477− - H
2340+ - inline-java
14782341 - inline-r
2342+ - jni < 0 # compile fail
2343+ - jvm
2344+ - jvm-streaming
2345+ - H
2346+ - sparkle
14792347 - th-lift
14802348
14812349 "Christopher Reichert <creichert07@gmail.com> @creichert":
@@ -1485,31 +2353,12 @@ packages:
14852353 - wai-middleware-throttle
14862354 - yesod-auth-basic
14872355
1488− # "Alcides Viamontes <a.viamontes.esquivel@gmail.com>":
1489− # GHC 8 - second-transfer
1490−
1491− # "Hirotomo Moriwaki <philopon.dependence@gmail.com> @philopon":
1492− # GHC 8 & bounds - apiary
1493− # GHC 8 & bounds - apiary-logger
1494− # GHC 8 & bounds - apiary-persistent
1495− # GHC 8 & bounds - apiary-websockets
1496− # GHC 8 & bounds - apiary-cookie
1497− # GHC 8 & bounds - apiary-session
1498− # GHC 8 & bounds - apiary-clientsession
1499− # GHC 8 & bounds - apiary-authenticate
1500− # GHC 8 & bounds - apiary-eventsource
1501− # GHC 8 & bounds - apiary-mongoDB
1502− # GHC 8 & bounds - apiary-memcached
1503− # GHC 8 - types-compat
1504− # GHC 8 - web-routing
1505− # GHC 8 - bytestring-read
1506− # GHC 8 & bounds - memcached-binary
1507− # GHC 8 - barrier
1508− # GHC 8 - haddocset
2356+ "Hirotomo Moriwaki <philopon.dependence@gmail.com> @philopon":
2357+ - barrier
15092358
15102359 "Kai Zhang <kai@kzhang.org> @kaizhang":
1511− - clustering
15122360 - matrices
2361+ - haskell-igraph < 0 # 0.8.0 compile fail ghc 8.10.1 #5440/closed
15132362
15142363 "Michel Boucey <michel.boucey@gmail.com> @MichelBoucey":
15152364 - IPv6Addr
@@ -1517,43 +2366,59 @@ packages:
15172366 - cayley-client
15182367 - Spintax
15192368 - glabrous
2369+ - google-oauth2-jwt
2370+ - IPv6DB
2371+ - gothic
2372+ - NanoID
15202373
15212374 "koral koral@mailoo.org @k0ral":
15222375 - atom-conduit
15232376 - conduit-parse
2377+ - dublincore-xml-conduit
2378+ - euler-tour-tree
15242379 - opml-conduit
15252380 - rss-conduit
1526− - imm
15272381 - timerep
15282382 - xml-conduit-parse
15292383
2384+ "Daniel Cartwright <chessai1996@gmail.com> @chessai":
2385+ - streaming
2386+ - streaming-bytestring
2387+ - country
2388+ - semirings
2389+ - torsor
2390+ - chronos
2391+ - refined
2392+ - these-skinny
2393+ - hedgehog-classes
2394+
15302395 "Kostiantyn Rybnikov <k-bx@k-bx.com> @k-bx":
1531− - protocol-buffers
1532− - hprotoc
1533− - protocol-buffers-descriptor
1534− - ekg-core
2396+ - SHA
2397+ - currency
2398+ - data-ordlist
15352399 - digits
2400+ - dns
2401+ - friday
2402+ - friday-juicypixels
15362403 - hbeanstalk
2404+ - hedis
2405+ - hprotoc
2406+ - hsyslog-udp
15372407 - iso3166-country-codes
15382408 - iso639
1539− - murmur-hash
15402409 - monoidal-containers
2410+ - murmur-hash
2411+ - protocol-buffers
2412+ - protocol-buffers-descriptor
15412413 - regex-pcre
1542− - string-combinators
15432414 - string-class
1544− - SHA
1545− - data-ordlist
1546− - cron
1547− - hedis
2415+ - string-combinators
15482416
1549− "Rob O'Callahan ropoctl@gmail.com":
2417+ "Rob O'Callahan ropoctl@gmail.com @rcallahan":
15502418 - pipes-fastx
1551− - pipes-illumina
15522419 - seqalign
1553− - thermonuc
1554− - xlsior
2420+
15552421 "John Lenz <wuzzeb@gmail.com> @wuzzeb":
1556− - yesod-auth-account
15572422 - yesod-static-angular
15582423 - hspec-webdriver
15592424 - webdriver-angular
@@ -1562,52 +2427,46 @@ packages:
15622427 - b9
15632428 - type-spec
15642429 - pretty-types
2430+ - function-builder
2431+ - bytestring-to-vector
15652432
1566− "Will Thompson <will@willthompson.co.uk> @wjt":
1567− - bustle
1568−
1569− "Jakub Fijałkowski kuba@codinginfinity.me @jakubfijalkowski":
2433+ "Jakub Fijałkowski <kuba@codinginfinity.me> @jakubfijalkowski":
15702434 - hlibsass
15712435 - hsass
15722436
1573− "Robert Massaioli robertmassaioli@gmail.com":
2437+ "Robert Massaioli <robertmassaioli@gmail.com> @robertmassaioli":
15742438 - range
15752439
1576− "Index Int <vlad.z.4096@gmail.com>":
2440+ "Vladislav Zavialov <vlad.z.4096@gmail.com> @int-index":
15772441 - transformers-lift
1578− - ether
15792442 - union
2443+ - named
2444+ - inj
2445+ - shower
15802446
15812447 "Stack Builders stackage@stackbuilders.com @stackbuilders":
15822448 - atomic-write
2449+ - dbcleaner
2450+ - dotenv
15832451 - hapistrano
2452+ - hspec-golden
15842453 - inflections
1585− - twitter-feed
1586− - cassava-megaparsec
1587− - dotenv
15882454 - stache
2455+ - scalendar
15892456
1590− "Sergey Alirzaev <zl29ah@gmail.com>":
2457+ "Sergey Alirzaev <zl29ah@gmail.com> @l29ah":
15912458 - monad-peel
1592− # GHC 8 - Network-NineP
1593−
1594− "Oliver Charles <ollie@ocharles.org.uk>":
1595− # GHC 8 - engine-io
1596− - diff3
1597− # GHC 8 & bounds - digestive-functors-aeson
1598− # GHC 8 - exhaustive
1599− # GHC 8 - libsystemd-journal
1600− # GHC 8 - network-carbon
1601− # GHC 8 - socket-io
1602− - tasty-rerun
1603−
1604− # "Scott Murphy scott.murphy@plowtech.net @smurphy8":
2459+ - NineP
2460+ - Network-NineP
16052461
16062462 "Antoni Silvestre <antoni.silvestre@gmail.com> @asilvestre":
16072463 # Test suite needs a running neo4j server with auth disabled
16082464 # unfortunately the cabal package name and the github repo don't have the exact same name
16092465 # package name is haskell-neo4j-client github name is haskell-neo4j-rest-client
1610− - haskell-neo4j-client
2466+ - haskell-neo4j-client < 0 # 0.3.2.4 compile fail with GHC 8.4 https://github.com/asilvestre/haskell-neo4j-rest-client/issues/32
2467+
2468+ "Anton Kholomiov <anton.kholomiov@gmail.com>":
2469+ - data-fix
16112470
16122471 "Alexey Khudyakov <alexey.skladnoy@gmail.com> @Shimuuar":
16132472 - histogram-fill
@@ -1616,189 +2475,228 @@ packages:
16162475 - type-level-numbers
16172476
16182477 "Ryan Scott <ryan.gl.scott@gmail.com> @RyanGlScott":
2478+ - abstract-deque
2479+ - abstract-deque-tests
2480+ - abstract-par
2481+ - atomic-primops
2482+ - base-compat-batteries
16192483 - base-orphans
2484+ - chaselev-deque
2485+ - code-page
2486+ - constraint-tuples
2487+ - criterion
2488+ - criterion-measurement
2489+ - data-reify
16202490 - deriving-compat
2491+ - dotgen
2492+ - echo
2493+ - eliminators
16212494 - generic-deriving
2495+ - ghc-bignum-orphans
2496+ - hashmap
2497+ - indexed-traversable-instances
16222498 - invariant
16232499 - keycode
16242500 - lift-generics
2501+ - mintty
2502+ - monad-par
2503+ - monad-par-extras
16252504 - mtl-compat
2505+ - ordered-containers
16262506 - proxied
2507+ - rdtsc
2508+ - singleton-nats
2509+ - singletons-base
2510+ - singletons-th
16272511 - text-show
2512+ - text-show-instances
2513+ - th-abstraction
2514+ - th-compat
2515+ - thread-local-storage
2516+ - type-equality
16282517
16292518 "Kirill Zaborsky <qrilka@gmail.com> @qrilka":
16302519 - xlsx
16312520
16322521 "Matt Parsons <parsonsmatt@gmail.com> @parsonsmatt":
16332522 - monad-logger-prefix
2523+ - monad-metrics
2524+ - prairie
2525+ - ekg-cloudwatch
2526+ - smtp-mail
2527+ - liboath-hs
2528+ - servant-quickcheck
2529+ - esqueleto
2530+ - hedgehog-fakedata
2531+ - persistent-discover
2532+ - persistent-documentation
2533+ - persistent-typed-db
2534+ - persistent-qq
2535+ - persistent-pagination
2536+ - hspec-hedgehog
2537+ - exception-via
2538+ - record-wrangler
2539+ - lift-type
2540+ - some-dict-of
2541+ - discover-instances
16342542
16352543 "Matthew Pickering <matthewtpickering@gmail.com> @mpickering":
16362544 - refact
1637− # bounds - servant-pandoc
1638− - ghc-exactprint
1639− - apply-refact
16402545
1641− # "Andrew Gibiansky <andrew.gibiansky@gmail.com> @gibiansky":
1642− # GHC 8 - ihaskell
1643− # via ihaskell - ihaskell-aeson
1644− # via ihaskell - ihaskell-basic
1645− # via ihaskell - ihaskell-blaze
1646− # via ihaskell - ihaskell-charts
1647− # via ihaskell - ihaskell-diagrams
1648− # via ihaskell - ihaskell-hatex
1649− # via ihaskell - ihaskell-juicypixels
1650− # via ihaskell - ihaskell-magic
1651− # via ihaskell - ihaskell-rlangqq
1652− # via ihaskell - ihaskell-static-canvas
1653− # GHC 8 - ghc-parser
1654− # GHC 8 - ipython-kernel
1655−
1656− # "Andrés Sicard-Ramírez <asr@eafit.edu.co> @asr":
1657− # bounds - Agda
2546+ "Andrew Gibiansky <andrew.gibiansky@gmail.com> @gibiansky":
2547+ - ipython-kernel
16582548
16592549 "James Cook <mokus@deepbondi.net> @mokus0":
2550+ - dependent-map
16602551 - dependent-sum
16612552 - dependent-sum-template
1662− - dependent-map
16632553 - dice
16642554 - hstatsd
16652555 - misfortune
16662556
16672557 "Timo von Holtz <tvh@tvholtz.de> @tvh":
1668− # via haxl - haxl-amazonka
2558+ - ekg-wai
2559+ - haxl-amazonka
2560+ - hasql-migration
16692561 - servant-JuicyPixels
16702562
1671− "Artyom <yom@artyom.me> @neongreen":
2563+ "Artyom Kazak <artyom@artyom.me> @neongreen":
16722564 - microlens
16732565 - microlens-platform
16742566 - microlens-mtl
16752567 - microlens-th
16762568 - microlens-ghc
16772569 - microlens-contra
1678− - shortcut-links
1679− - cheapskate-lucid
16802570 - cheapskate-highlight
2571+ - cheapskate-lucid
16812572 - cmark-lucid
16822573 - cmark-highlight
16832574 - Spock-lucid
16842575 - charsetdetect-ae
1685− - ilist
16862576 - text-all
16872577
16882578 "Takano Akio tak@anoak.io @takano-akio":
16892579 - fast-builder
16902580 - filelock
16912581
1692− "Ashley Moni ashley.moni1@gmail.com @AshleyMoni":
1693− - quadtree
1694−
16952582 "Brian Lewis brian@lorf.org @bsl":
16962583 - bindings-GLFW
16972584 - GLFW-b
16982585
16992586 "Niklas Hambüchen mail@nh2.me @nh2":
2587+ - conduit-concurrent-map
17002588 - hidapi
17012589 - iso8601-time
17022590 - loop
2591+ - lz4-frame-conduit
17032592 - netpbm
1704− - network-house
2593+ - network-house < 0 # 0.1.0.2 compile failure MonadFail
17052594 - reinterpret-cast
2595+ - shared-memory
2596+ - posix-paths
17062597 # As dependencies of packages above
17072598 - attoparsec-binary
1708− - storable-record
1709−
1710− "Brandon Martin <brandon@codedmart.com> @codedmart":
1711− # GHC 8 & via engine-io - engine-io-wai
1712− - rethinkdb
17132599
17142600 "Michael Walker <mike@barrucadu.co.uk> @barrucadu":
17152601 - both
1716− - dpor
2602+ - concurrency
17172603 - dejafu
1718− - async-dejafu
17192604 - hunit-dejafu
17202605 - tasty-dejafu
17212606 - irc-ctcp
17222607 - irc-conduit
17232608 - irc-client
17242609
2610+ "Rudy Matela <rudy@matela.com.br> @rudymatela":
2611+ - leancheck
2612+ - leancheck-instances
2613+ - fitspec
2614+ - express
2615+ - speculate
2616+ - extrapolate
2617+ - code-conjure
2618+ - percent-format
2619+ - tasty-leancheck
2620+ - hspec-leancheck
2621+ - test-framework-leancheck
2622+
17252623 "Trevor Elliott <awesomelyawesome@gmail.com> @elliottt":
17262624 - irc
17272625
17282626 "Dennis Gosnell <cdep.illabout@gmail.com> @cdepillabout":
1729− - emailaddress
17302627 - envelope
1731− # GHC 8 - ig
2628+ - from-sum
17322629 - natural-transformation
1733− - opaleye-trans
2630+ - password
2631+ - password-instances
2632+ - password-types
2633+ - pretty-simple
2634+ - print-console-colors
17342635 - read-env-var
1735− - yahoo-finance-api
2636+ - servant-checked-exceptions
2637+ - servant-checked-exceptions-core
2638+ - servant-rawm
2639+ - servant-static-th
2640+ - termonad
2641+ - world-peace
2642+ - xml-html-qq
2643+ - xml-indexed-cursor
17362644
17372645 "Franklin Chen <franklinchen@franklinchen.com> @FranklinChen":
17382646 - Ebnf2ps
17392647
1740− "Dmitry Ivanov <ethercrow@gmail.com> @ethercrow":
1741− - charsetdetect-ae
1742− - docopt
1743− - dynamic-state
1744− - dyre
1745− - io-storage
1746− - oo-prototypes
1747− - pointedlist
1748− - word-trie
1749− - xdg-basedir
1750− - yi
1751− - yi-fuzzy-open
1752− - yi-language
1753− - yi-rope
1754−
1755− # "Tobias Bexelius <tobias_bexelius@hotmail.com> @tobbebex":
1756− # GHC 8 - GPipe
1757−
1758− # "Patrick Redmond <plredmond@gmail.com> @plredmond":
1759− # GHC 8 - GPipe-GLFW
1760−
1761− # "Csaba Hruska <csaba.hruska@gmail.com> @csabahruska":
1762− # GHC 8 - lambdacube-ir
1763− # GHC 8 & via wavefront - lambdacube-gl
1764− # GHC 8 & bounds - lambdacube-compiler
1765−
1766− "Spencer Janssen <spencerjanssen@gmail.com>":
2648+ "Tobias Bexelius <tobias_bexelius@hotmail.com> @tobbebex":
2649+ - GPipe
2650+
2651+ "Jonas Carpay <jonascarpay@gmail.com> @jonascarpay":
2652+ - apecs
2653+ - apecs-gloss
2654+ - apecs-physics
2655+ - aeson-commit
2656+ - js-chart
2657+ - tasty-focus
2658+
2659+ "Spencer Janssen <spencerjanssen@gmail.com> @spencerjanssen":
17672660 - Xauth
17682661
17692662 "Sebastian de Bellefon <arnaudpourseb@gmail.com> @Helkafen":
17702663 - wai-middleware-metrics
17712664
1772− "Stefan Berthold":
1773− - smallcaps
1774−
1775− "Gregory Collins <greg@gregorycollins.net>":
2665+ "Gregory Collins <greg@gregorycollins.net> @gregorycollins":
17762666 - hashtables
17772667 - io-streams
17782668 - openssl-streams
17792669
1780− "Andrew Cowie <andrew@operationaldynamics.com> @afcowie":
2670+ "Andrew Cowie <istathar@gmail.com> @istathar":
2671+ - chronologique
17812672 - http-common
17822673 - http-streams
1783−
1784− "Devan Stormont <stormont@gmail.com>":
1785− - forecast-io
2674+ - locators
2675+ - core-data
2676+ - core-program
2677+ - core-telemetry
2678+ - core-text
17862679
17872680 "Sean Hunt <scshunt@csclub.uwaterloo.ca @scshunt":
17882681 - cheapskate
2682+
17892683 "Ivan Miljenovic <Ivan.Miljenovic@gmail.com> @ivan-m":
17902684 - fgl
1791− - fgl-arbitrary
17922685 - graphviz
17932686 - wl-pprint-text
2687+ - servant-pandoc
17942688
17952689 "Sharif Olorin <sio@tesser.org> @olorin":
17962690 - quickcheck-text
17972691 - nagios-check
17982692
1799− "Peter Simons simons@cryp.to @peti":
1800− - distribution-nixpkgs
2693+ "Peter Simons <simons@cryp.to> @peti":
18012694 - cabal2nix
2695+ - cabal2spec
2696+ - cgi
2697+ - distribution-nixpkgs
2698+ - distribution-opensuse
2699+ - flexible-defaults
18022700 - funcmp
18032701 - hackage-db
18042702 - hledger-interest
@@ -1807,26 +2705,39 @@ packages:
18072705 - hsemail
18082706 - hsyslog
18092707 - jailbreak-cabal
2708+ - lambdabot-core
2709+ - lambdabot-irc-plugins
18102710 - language-nix
2711+ - logging-facade-syslog
2712+ - MonadPrompt
18112713 - nix-paths
2714+ - parsec-class
2715+ - prim-uniq
2716+ - random-fu < 0 # 0.2.7.7 compile fail
2717+ - random-source
2718+ - rvar
2719+ - SafeSemaphore
18122720 - streamproc
2721+ - stringsearch # for cgi
2722+ - titlecase
18132723
18142724 "Mark Fine <mark.fine@gmail.com> @markfine":
18152725 - postgresql-schema
1816− # test failures https://github.com/fpco/stackage/issues/873 - sbp
2726+ - sbp
18172727
18182728 "Jinjing Wang <nfjinjing@gmail.com> @nfjinjing":
18192729 - moesocks
18202730
18212731 "Gregory W. Schwartz <gregory.schwartz@drexel.edu> @GregorySchwartz":
1822− - fasta
18232732 - diversity
2733+ - fasta
18242734 - modify-fasta
18252735 - tree-fun
18262736 - random-tree
18272737 - clumpiness
18282738 - find-clumpiness
18292739 - blosum
2740+ - rank-product
18302741
18312742 "Simon Marechal <bartavelle@gmail.com> @bartavelle":
18322743 - compactmap
@@ -1837,39 +2748,49 @@ packages:
18372748 - withdependencies
18382749 - hruby
18392750 - language-puppet
1840− - http-types
1841− # Doesn't allow http-types >= 0.9.1 - stm-firehose
1842− # GHC 8 & doesn't allow aeson >= 0.11.2.0 & doesn't allow lens >= 4.14 - hslogstash
2751+ - tar-conduit
18432752
1844− "Mark Karpov <markkarpov@opmbx.org> @mrkkrp":
1845− - megaparsec
1846− - htaglib
1847− - slug
1848− - path-io
1849− - hspec-megaparsec
1850− - plan-b
1851− - zip
2753+ "Mark Karpov <markkarpov92@gmail.com> @mrkkrp":
18522754 - JuicyPixels-extra
2755+ - cue-sheet
2756+ - flac
2757+ - flac-picture
2758+ - forma
2759+ - ghc-syntax-highlighter
2760+ - hspec-megaparsec
2761+ - htaglib
2762+ - html-entity-map
18532763 - identicon
2764+ - lame
2765+ - megaparsec
2766+ - megaparsec-tests
2767+ - mmark
2768+ - mmark-cli
2769+ - mmark-ext
2770+ - modern-uri
2771+ - ormolu
18542772 - pagination
1855− - data-check
1856−
1857− # "Thomas Bereknyei <tomberek@gmail.com>":
1858− # GHC 8 - multiplate
1859−
1860− # "Sumit Sahrawat <sumit.sahrawat.apm13@iitbhu.ac.in> @sumitsahrawat":
1861− # GHC 8 & via plot - plot-gtk-ui
1862− # GHC 8 - calculator
2773+ - parser-combinators
2774+ - parser-combinators-tests
2775+ - path
2776+ - path-io
2777+ - req
2778+ - req-conduit
2779+ - stache
2780+ - tagged-identity
2781+ - text-metrics
2782+ - wave
2783+ - zip
18632784
18642785 "Emmanuel Touzery <etouzery@gmail.com> @emmanueltouzery":
18652786 - app-settings
18662787 - hsexif
2788+ - slack-web
18672789
18682790 "Nickolay Kudasov <nickolay.kudasov@gmail.com> @fizruk":
18692791 - http-api-data
1870− - smsaero
18712792 - swagger2
1872− - servant-swagger
2793+ - telegram-bot-simple
18732794
18742795 "Jared Tobin <jared@jtobin.ca> @jtobin":
18752796 - mwc-probability
@@ -1880,93 +2801,66 @@ packages:
18802801 - declarative
18812802 - sampling
18822803 - flat-mcmc
2804+ - urbit-hob
2805+ - hnock
18832806
18842807 "Facundo Domínguez <facundo.dominguez@tweag.io> @facundominguez":
1885− # GHC 8 - distributed-process
1886− # GHC 8 - distributed-process-async
1887− # GHC 8 - distributed-process-client-server
1888− # GHC 8 - distributed-process-execution
1889− # GHC 8 - distributed-process-extras
1890− # GHC 8 - distributed-process-registry
1891− # GHC 8 - distributed-process-simplelocalnet
1892− # GHC 8 - distributed-process-supervisor
1893− # GHC 8 - distributed-process-task
2808+ - distributed-process
2809+ - distributed-process-simplelocalnet
2810+ - distributed-process-tests
18942811 - distributed-static
2812+ - inline-c
2813+ - jvm-batching
18952814 - network-transport
2815+ - network-transport-tests
18962816 - network-transport-tcp
18972817 - network-transport-inmemory
18982818 - network-transport-composed
2819+ - pthread
18992820 - rank1dynamic
19002821
1901− # "Alexander Vershilov <alexander.vershilov@tweag.io> @qnikst":
1902− # https://github.com/qnikst/imagemagick/issues/41 - imagemagick
1903− # GHC 8 - network-transport-zeromq
2822+ "Dave Tapley <dukedave@gmail.com> @dukedave":
2823+ - inline-c-cpp
19042824
1905− "Takahiro Himura <himuratk421@gmail.com> @thimura":
2825+ "Takahiro Himura <himuratk421@gmail.com> @himura":
19062826 - lens-regex
19072827 - twitter-conduit
19082828 - twitter-types
19092829 - twitter-types-lens
19102830
1911− # "Robbin C. <robbinch33@gmail.com>":
1912− # via lzma-conduit - zim-parser
2831+ "Robbin C. <robbinch33@gmail.com> @robbinch":
2832+ - zim-parser
19132833
19142834 "David Wiltshire <david.wiltshire@metark.com> @dave77":
19152835 # on behalf of Alexey Karakulov @w3rs
19162836 - hashable-time
19172837
1918− # "Tim Baumann <tim@timbaumann.info> @timjb":
1919− # GHC 8 & via engine-io - engine-io-yesod
1920−
1921− "Tim McGilchrist <timmcgil@gmail.com> @tmcgilchrist":
1922− # bounds - riak
1923− - airship
1924−
19252838 "Yuras Shumovich <shumovichy@gmail.com> @Yuras":
1926− - pdf-toolbox-core
19272839 - pdf-toolbox-content
2840+ - pdf-toolbox-core
19282841 - pdf-toolbox-document
19292842 - io-region
19302843 - scanner
19312844
19322845 "Stanislav Chernichkin <schernichkin@gmail.com> @schernichkin":
1933− # GHC 8 - partial-isomorphisms
1934− - vinyl
2846+ - partial-isomorphisms
19352847
19362848 "Christoph Breitkopf <chbreitkopf@gmail.com> @bokesan":
19372849 - IntervalMap
19382850
1939− "Michele Lacchia <michelelacchia@gmail.com>":
1940− # GHC 8 - argon
1941− - docopt
2851+ "Michele Lacchia <michelelacchia@gmail.com> @rubik":
19422852 - pathwalk
19432853
19442854 "John Galt <jgalt@centromere.net> @centromere":
19452855 - cacophony
1946− - pipes-cacophony
19472856 - blake2
2857+ - nfc
19482858
1949− "Adam Curtis <kallisti.dev@gmail.com> @kallisti-dev":
1950− - webdriver
1951−
1952− "Luke Iannini <lukexi@me.com> @lukexi":
1953− - inline-c
1954− - inline-c-cpp
1955− - ekg
1956−
1957− # "Emin Karayel <me@eminkarayel.de>":
1958− # GHC 8 - sync-mht
19592859
19602860 "Michael Schröder <mc.schroeder@gmail.com> @mcschroeder":
19612861 - ctrie
19622862 - ttrie
19632863
1964− "Greg Weber <greg@gregweber.info>":
1965− - base-noprelude
1966−
1967− # "Andrew Lelechenko <andrew.lelechenko@gmail.com> @Bodigrim":
1968− # Missing test files https://github.com/fpco/stackage/pull/979 - exp-pairs
1969−
19702864 "Stefan Kersten <kaoskorobase@gmail.com> @kaoskorobase":
19712865 - hsndfile
19722866 - hsndfile-vector
@@ -1974,67 +2868,50 @@ packages:
19742868 "yihuang <yi.codeplayer@gmail.com> @yihuang":
19752869 - tagstream-conduit
19762870
1977− # "Johannes Hilden <hildenjohannes@gmail.com>":
1978− # Missing test files https://github.com/fpco/stackage/issues/1001 - hashids
1979−
1980− # "Joe Hermaszewski <stackage@monoid.al> @expipiplus1":
1981− # GHC 8 & via memoize - exact-real
1982−
1983− # "Jonatan Sundqvist jonatanhsundqvist@gmail.com @SwiftsNamesake":
1984− # bounds - Cartesian
1985− # bounds - Michelangelo
1986−
1987− "Henry J. Wylde <public@hjwylde.com> @hjwylde":
1988− - git-fmt
1989− - omnifmt
1990− - werewolf
1991− - werewolf-slack
2871+ "Johannes Hilden <hildenjohannes@gmail.com> @laserpants":
2872+ - hashids
2873+ - fuzzyset
19922874
19932875 "Will Sewell <me@willsewell.com> @willsewell":
19942876 - benchpress
1995− # GHC 8 - pusher-http-haskell
1996−
1997− "Lazlo Grun <lazlo28@gmx.com> @lazlo28":
1998− - natural-sort
1999− # GHC 8 - lentil
2877+ - pusher-http-haskell
20002878
20012879 "Yorick Laupa yo.eight@gmail.com @YoEight":
20022880 - eventstore
20032881 - dotnet-timespan
2882+ - eventsource-api
2883+ - eventsource-geteventstore-store
2884+ - eventsource-store-specs
2885+ - eventsource-stub-store
20042886
20052887 "Sebastian Dröge slomo@coaxion.net @sdroege":
2006− - conduit-iconv
2007− # GHC 8 - conduit-connection
2888+ - conduit-iconv < 0 # 0.1.1.3 compile fail MonadFail
2889+ - conduit-connection
20082890
2009− "Andrew Rademacher <andrewrademacher@gmail.com>":
2891+ "Andrew Rademacher <andrewrademacher@gmail.com> @AndrewRademacher":
20102892 - aeson-casing
2011− - graylog
2893+ - graylog < 0 # 0.1.0.1 compile fail Couldn't find module Network.BSD
2894+ - parsec-numeric
2895+ - mallard
2896+ - gdax
20122897
20132898 "Callum Rogers @CRogers":
20142899 - should-not-typecheck
20152900
20162901 "Mihaly Barasz klao@nilcons.com @klao":
20172902 - lens-datetime
2018− # via timezone-olson - tz
2903+ - tz
20192904 - tzdata
20202905
20212906 "Timothy Klim <stackage@timothyklim.com> @TimothyKlim":
20222907 - pkcs10
20232908
20242909 "David Luposchainsky <dluposchainsky (λ) googles email service> @quchen":
2025− - binary-typed
20262910 - pgp-wordlist
2911+ - show-prettyprint
20272912
20282913 "Jeremy Shaw <jeremy@n-heptane.com> @stepcut":
20292914 - boomerang
2030− - clckwrks
2031− - clckwrks-cli
2032− - clckwrks-plugin-page
2033− - clckwrks-plugin-media
2034− - clckwrks-theme-bootstrap
2035− - hackage-whatsnew
2036− - happstack-authenticate
2037− - happstack-clientsession
20382915 - happstack-hsp
20392916 - happstack-jmacro
20402917 - happstack-server
@@ -2054,24 +2931,19 @@ packages:
20542931 - web-routes-hsp
20552932 - web-routes-th
20562933 - web-routes-wai
2934+ - hsx2hs
20572935
20582936 "Pedro Tacla Yamada <tacla.yamada@gmail.com> @yamadapc":
20592937 - ascii-progress
20602938 - drawille
2061− - extract-dependencies
20622939 - file-modules
20632940 - frontmatter
20642941 - read-editor
2065− - hspec-setup
2066− # bounds - hzulip
2067− - list-prompt
2068− # GHC 8 - memoization-utils
2069− - package-description-remote
2942+ - list-prompt < 0 # 0.1.1.0 compile fail https://github.com/yamadapc/list-prompt/issues/3
2943+ - package-description-remote < 0 # 0.2.0.0 compile fail
20702944 - projectroot
20712945 - questioner
2072− - stack-run-auto
2073− - hpack-convert
2074− - language-dockerfile
2946+ - language-dockerfile < 0 # 0.3.6.0 compile fail https://github.com/beijaflor-io/haskell-language-dockerfile/issues/11
20752947
20762948 "Pascal Hartig <phartig@rdrei.net> @passy":
20772949 - giphy-api
@@ -2080,54 +2952,77 @@ packages:
20802952 "rightfold <rightfold@gmail.com> @rightfold":
20812953 - open-browser
20822954
2083− # "Denis Redozubov <denis.redozubov@gmail.com> @dredozubov":
2084− # GHC 8 - tracy
2955+ "Denis Redozubov <denis.redozubov@gmail.com> @dredozubov":
2956+ - hreader-lens
2957+ - schematic
20852958
20862959 "Yuji Yamamoto <whosekiteneverfly@gmail.com> @igrep":
20872960 - yes-precure5-command
2961+ - th-strict-compat
2962+ - main-tester
2963+ - skews
2964+ - wss-client
2965+ - network-messagepack-rpc
2966+ - network-messagepack-rpc-websocket
2967+ - unicode-show
2968+ - deriveJsonNoPrefix
2969+ - fakefs
2970+ - fakepull
20882971
20892972 "Hans-Christian Esperer <hc@hcesperer.org> @hce":
2973+ - avwx
2974+ - saltine < 0.2.0.0 # https://github.com/tel/saltine/issues/58
20902975 - wai-session-postgresql
20912976
2092− "Haisheng Wu <freizl@gmail.com>":
2093− - hoauth2
2977+ "Haisheng Wu <freizl@gmail.com> @freizl":
2978+ - hoauth2 < 2.0 # https://github.com/commercialhaskell/stackage/issues/6424
20942979
2095− "Falko Peters <falko.peters@gmail.com>":
2980+ "Falko Peters <falko.peters@gmail.com> @informatikr":
20962981 - scrypt
20972982
20982983 "Jakub Waszczuk <waszczuk.kuba@gmail.com> @kawu":
20992984 - dawg-ord
21002985
21012986 "Amit Levy <amit@amitlevy.com> @alevy":
2102− # 0.4.1 compilation failure - postgresql-orm
21032987 - simple
21042988 - simple-templates
21052989 - simple-session
2106− # via postgresql-orm - simple-postgresql-orm
2990+ - postgresql-orm
21072991
2108− # "Sergey Astanin <s.astanin@gmail.com> @astanin":
2109− # Doesn't build on stackage server https://bitbucket.org/astanin/hs-libzip/issues/8/libzip-10-support - bindings-libzip < 0.11
2110− # Doesn't build on stackage server https://bitbucket.org/astanin/hs-libzip/issues/8/libzip-10-support - LibZip < 0.11
2992+ "Sergey Astanin <s.astanin@gmail.com> @astanin":
2993+ # Stackage server uses Ubuntu 16.04 which ships libzip-1.0.1.
2994+ # Haskell packages should match major.minor versions of the C library.
2995+ - bindings-libzip >= 1.0
2996+ - LibZip >= 1.0
21112997
21122998 "Anthony Cowley <acowley@gmail.com> @acowley":
2999+ - vinyl
21133000 - Frames
3001+ - hpp
21143002
21153003 "Takayuki Muranushi <muranushi@gmail.com> @nushio3":
21163004 - binary-search
2117− - unicode-show
21183005
21193006 "Jason Shipman <jasonpshipman@gmail.com> @jship":
2120− # on behalf of Boris Sukholitko @bosu
2121− - pure-cdb
3007+ - logging-effect-extra
3008+ - logging-effect-extra-file
3009+ - logging-effect-extra-handler
3010+ - overhang
3011+ - tao
3012+ - tao-example
21223013
21233014 "Suhail Shergill <suhailshergill@gmail.com> @suhailshergill":
21243015 - extensible-effects
21253016
21263017 "Justus Adam <dev@justus.science> @JustusAdam":
2127− - mustache
3018+ - marvin
3019+ - marvin-interpolate
3020+ - mustache < 2.4.0 # https://github.com/commercialhaskell/stackage/issues/6421
3021+ - exit-codes >= 1.0.0
21283022
21293023 "Cindy Wang <cindylinz@gmail.com> @CindyLinz":
21303024 - NoTrace
3025+ - linked-list-with-iterator
21313026
21323027 "Jean-Philippe Bernardy <jean-philippe.bernardy@tweag.io> @jyp":
21333028 - polynomials-bernstein
@@ -2138,71 +3033,75 @@ packages:
21383033 - cmark
21393034 - texmath
21403035 - highlighting-kate
3036+ - skylighting
3037+ - skylighting-core
21413038 - pandoc-types
21423039 - zip-archive
3040+ - doclayout
3041+ - doctemplates
3042+ - emojis
21433043 - pandoc
2144− - pandoc-citeproc
2145−
2146− "Karun Ramakrishnan karun012@gmail.com @karun012":
3044+ - citeproc
3045+ - commonmark
3046+ - commonmark-extensions
3047+ - commonmark-pandoc
3048+ - unicode-collation
3049+ - HsYAML-aeson
3050+ - ipynb
3051+
3052+ "Karun Ramakrishnan <karun012@gmail.com> @karun012":
21473053 - doctest-discover
21483054
2149− "Elie Genard <elaye.github.io@gmail.com> @eliegenard":
3055+ "Elie Genard <elaye.github.io@gmail.com> @elaye":
21503056 - turtle-options
21513057
2152− # "Ruey-Lin Hsu <petercommand@gmail.com> @petercommand":
2153− # GHC 8 - MASMGen
2154−
21553058 "Ozgun Ataman ozgun.ataman@soostone.com @ozataman":
21563059 - string-conv
21573060 - rng-utils
2158− - rotating-log
21593061 - ua-parser
21603062 - hs-GeoIP
21613063 - retry
2162− # GHC 8 - katip
2163− # via katip - katip-elasticsearch
3064+ - katip
3065+ - katip-elasticsearch < 0 # 0.7.0.0 compile fail https://github.com/commercialhaskell/stackage/issues/6341
21643066
21653067 "Sid Kapur sidharthkapur1@gmail.com @sid-kap":
21663068 - tuple
21673069 - OneTuple
2168− - SVGFonts
2169− - Chart-diagrams
2170−
2171− # "Aaron Levin <aaron.levin@soundcloud.com> @aaronmblevin":
2172− # GHC 8 & lots of other packages - haskell-kubernetes
21733070
21743071 "Aaron Levin <vilevin@gmail.com> @aaronmblevin":
21753072 - free-vl
21763073
2177− "Kazuo Koga <obiwanko@me.com>":
3074+ "Kazuo Koga <obiwanko@me.com> @kkazuo":
21783075 - xlsx-tabular
21793076
21803077 "Mikhail Glushenkov <mikhail.glushenkov@gmail.com> @23Skidoo":
3078+ # - Cabal # take the one that ships with GHC
3079+ - cabal-install
21813080 - pointful
21823081
21833082 "Lennart Kolmodin <kolmodin@gmail.com> @kolmodin":
21843083 - binary-bits
21853084
2186− # "Nicolas Trangez ikke@nicolast.be @NicolasT":
2187− # GHC 8 - reedsolomon
2188−
2189− "Alp Mestanogullari alpmestan@gmail.com @alpmestan":
2190− - taggy
2191− - taggy-lens
2192− # 0.1 Compilation failure https://github.com/fpco/stackage/issues/1660 - inline-java
2193− # via inline-java - sparkle
2194−
2195− "Alex McLean <lxyxpx@gmail.com> @yaxu":
3085+ "Alex McLean <alex@slab.org> @yaxu":
21963086 - tidal
3087+ - hosc
21973088
21983089 "Kei Hibino <ex8k.hibino@gmail.com> @khibino":
3090+ - th-data-compat
3091+ - th-reify-compat
21993092 - relational-query
22003093 - relational-query-HDBC
22013094 - persistable-types-HDBC-pg
22023095 - relational-record
22033096 - text-ldap
22043097 - debian-build
3098+ - aeson-generic-compat
22053099 - json-rpc-generic
3100+ - protocol-radius
3101+ - protocol-radius-test
3102+ - th-bang-compat
3103+ - th-constraint-compat
3104+ - persistable-record
22063105
22073106 "wren romano <wren@community.haskell.org> @wrengr":
22083107 - bytestring-lexing
@@ -2216,60 +3115,132 @@ packages:
22163115 - unification-fd
22173116 - unix-bytestring
22183117
2219− # "Carlo Hamalainen <carlo@carlo-hamalainen.net> @carlohamalainen":
2220− # GHC 8 - ghc-imported-from
2221−
22223118 "Fraser Tweedale <frase@frase.id.au> @frasertweedale":
3119+ - concise
3120+ - dyre
22233121 - jose
22243122
2225− "Yutaka Nishimura <ytk.nishimura@gmail.com> @ynishi":
2226− - atndapi
2227−
22283123 "Yoshikuni Jujo <PAF01143@nifty.ne.jp> @YoshikuniJujo":
22293124 - zot
22303125 - yjtools
22313126 - io-machine
3127+ - yjsvg
3128+ - x11-xim
3129+ - X11-xft
3130+ - Imlib
3131+ - xturtle
3132+ - gluturtle
3133+ - papillon
3134+ - zasni-gerna
3135+ - exception-hierarchy
3136+ - simplest-sqlite
3137+ - warp-tls-uid
3138+ - nowdoc
3139+ - typecheck-plugin-nat-simple
3140+ - ranged-list
3141+ - c-enum
3142+ - c-struct
3143+ - union-angle
22323144
22333145 "Jan Gerlinger <git@jangerlinger.de> @JanGe":
22343146 - irc-dcc
2235− - xdcc
3147+
3148+ "Alexey Raga <alexey.raga@gmail.com> @AlexeyRaga":
3149+ - hw-kafka-client
22363150
22373151 "John Ky newhoggy@gmail.com @newhoggy":
3152+ - aeson-lens
3153+ - antiope-core
3154+ - antiope-dynamodb
3155+ - antiope-messages
3156+ - antiope-s3
3157+ - antiope-sns
3158+ - antiope-sqs
3159+ - arbor-lru-cache
3160+ - arbor-postgres
3161+ - asif
3162+ - avro
3163+ - bits-extra
3164+ - hw-balancedparens
22383165 - hw-bits
22393166 - hw-conduit
3167+ - hw-conduit-merges
22403168 - hw-diagnostics
2241− # https://github.com/haskell-works/hw-json/issues/4
2242− # - hw-json
3169+ - hw-dsv
3170+ - hw-eliasfano
3171+ - hw-excess
3172+ - hw-fingertree
3173+ - hw-fingertree-strict
3174+ - hw-hedgehog
3175+ - hw-hspec-hedgehog
3176+ - hw-int
3177+ - hw-ip
3178+ - hw-json
3179+ - hw-json-simple-cursor
3180+ - hw-json-standard-cursor
3181+ - hw-mquery
3182+ - hw-packed-vector
22433183 - hw-parser
22443184 - hw-prim
22453185 - hw-rankselect
3186+ - hw-rankselect-base
3187+ - hw-simd
3188+ - hw-streams
22463189 - hw-succinct
3190+ - hw-xml
3191+ - tasty-discover
3192+
3193+ "George Wilson <george@wils.online> @gwils":
3194+ - hedgehog-fn
3195+ - sv
3196+ - sv-cassava
3197+ - sv-core
3198+ - tasty-hedgehog
22473199
22483200 "Ismail Mustafa <ismailmustafa@rocketmail.com> @ismailmustafa":
22493201 - handwriting
22503202
2251− "Stephen Diehl <stephen.m.diehl@gamil.com> @sdiehl":
3203+ "Stephen Diehl <stephen.m.diehl@gmail.com> @sdiehl":
3204+ - llvm-hs-pretty
22523205 - protolude
2253−
2254− "Daishi Nakajima <nakaji.dayo@gmail.com> @nakaji_dayo":
2255− - yesod-job-queue
2256−
2257− # "Braden Walters <vc@braden-walters.info> @meoblast001":
2258− # via hakyll - hakyll-sass
2259−
2260− "Patrick Thomson <patrick@helium.com>":
3206+ - repline
3207+ - picosat
3208+ - aos-signature
3209+ - bulletproofs
3210+ - pedersen-commitment
3211+ - merkle-tree
3212+ - oblivious-transfer
3213+ - pairing
3214+ - libraft
3215+ - galois-field
3216+
3217+ "Daishi Nakajima <nakaji.dayo@gmail.com> @nakaji-dayo":
3218+ - api-field-json-th
3219+
3220+ "Patrick Thomson <patrick@helium.com> @helium":
22613221 - postgresql-transactional
22623222
2263− "Tom Murphy <amindfv@gmail.com> @amindfv":
2264− # 0.2.0.5 compilation failure - vivid
2265− # GHC 8 - midair
3223+ "Tom Murphy <amindfv@gmail.com>":
3224+ - gingersnap
3225+ - microspec
3226+ - midair
22663227 - nano-erl
3228+ - rando
3229+ - vivid
3230+ - vivid-osc
3231+ - vivid-supercollider
22673232
22683233 "Toshio Ito <debug.ito@gmail.com> @debug-ito":
22693234 - fold-debounce
22703235 - fold-debounce-conduit
22713236 - stopwatch
22723237 - wikicfp-scraper
3238+ - wild-bind
3239+ - wild-bind-x11
3240+ - greskell
3241+ - greskell-core
3242+ - greskell-websocket
3243+ - hspec-need-env
22733244
22743245 "Cies Breijs <cies@kde.nl> @cies":
22753246 - htoml
@@ -2278,35 +3249,47 @@ packages:
22783249 - protobuf-simple
22793250
22803251 "David Reaver <johndreaver@gmail.com> @jdreaver":
3252+ - eventful-core
3253+ - eventful-dynamodb
3254+ - eventful-memory
3255+ - eventful-postgresql
3256+ - eventful-sql-common
3257+ - eventful-sqlite
3258+ - eventful-test-helpers
22813259 - stratosphere
2282−
2283− "Alexey Rodiontsev <alex.rodiontsev@gmail.com> @klappvisor":
2284− - telegram-api
3260+ - sum-type-boilerplate
22853261
22863262 "Iñaki García Etxebarria <garetxe@gmail.com> @garetxe":
2287− # Pinned to versions not using custom-setup, since stack does
2288− # not understand that syntax yet:
2289− # https://github.com/commercialhaskell/stack/issues/2094
2290− - gi-atk == 2.0.3
2291− - gi-cairo == 1.0.3
2292− - gi-gdk == 3.0.3
2293− - gi-gdkpixbuf == 2.0.3
2294− - gi-gio == 2.0.3
2295− - gi-glib == 2.0.3
2296− - gi-gobject == 2.0.3
2297− - gi-gtk == 3.0.3
2298− - gi-pango == 1.0.3
2299− - gi-soup == 2.4.3
2300− - gi-javascriptcore == 3.0.3
2301− - gi-webkit == 3.0.3
23023263 - haskell-gi
2303−
2304− "Brandon Simmons <brandon.m.simmons@gmail.com>":
3264+ - haskell-gi-base
3265+ - gi-atk
3266+ - gi-cairo
3267+ - gi-dbusmenu
3268+ - gi-dbusmenugtk3
3269+ - gi-gdk == 3.* # https://github.com/commercialhaskell/stackage/issues/6317
3270+ - gi-gdkpixbuf
3271+ - gi-gdkx11 == 3.* # https://github.com/commercialhaskell/stackage/issues/6317
3272+ - gi-gio
3273+ - gi-glib
3274+ - gi-gobject
3275+ - gi-graphene
3276+ - gi-gtk == 3.* # https://github.com/commercialhaskell/stackage/issues/6317
3277+ - gi-gtk-hs
3278+ - gi-gmodule
3279+ - gi-pango
3280+ - gi-xlib
3281+ - gi-harfbuzz
3282+ - gi-gsk
3283+ - gi-gtksource
3284+ - gi-javascriptcore
3285+ - gi-vte
3286+ - gi-webkit2
3287+
3288+ "Brandon Simmons <brandon.m.simmons@gmail.com> @jberryman":
23053289 - directory-tree
23063290
23073291 "Ian Grant Jeffries <ian@housejeffries.com> @seagreen":
23083292 - hjsonpointer
2309− - hjsonschema
23103293
23113294 "Drew Hess <src@drewhess.com> @dhess":
23123295 - hpio
@@ -2314,12 +3297,10 @@ packages:
23143297 "Richard Eisenberg <eir@cis.upenn.edu> @goldfirere":
23153298 - th-desugar
23163299 - singletons
2317− - units
2318− - units-defs
23193300 - HUnit-approx
23203301 - units-parser
23213302
2322− "Doug McClean <douglas.mcclean@gmail.com>":
3303+ "Doug McClean <douglas.mcclean@gmail.com> @dmcclean":
23233304 - dimensional
23243305 - exact-pi
23253306 - numtype-dk
@@ -2329,47 +3310,83 @@ packages:
23293310
23303311 "Pavel Ryzhov <paul@paulrz.cz> @paulrzcz":
23313312 - hquantlib
2332− - persistent-redis
3313+ - hquantlib-time
3314+ - HSvm
23333315
23343316 "Henri Verroken <henriverroken@gmail.com> @hverr":
3317+ - bordacount
23353318 - cache
2336−
2337− "Cliff Harvey <cs.hbar+hs@gmail.com>":
3319+ - haskey
3320+ - haskey-btree
3321+ - haskey-mtl
3322+ - intset-imperative
3323+ - lxd-client
3324+ - lxd-client-config
3325+ - xxhash-ffi
3326+ - zeromq4-patterns
3327+
3328+ "Cliff Harvey <cs.hbar+hs@gmail.com> @BlackBrane":
23383329 - ansigraph
2339− - quantum-random
3330+ - microsoft-translator
23403331
23413332 "Tebello Thejane <zyxoas+stackage@gmail.com> @tebello-thejane":
2342− - bitx-bitcoin
3333+ - bitx-bitcoin < 0 # 0.12.0.0 compile fail
23433334
23443335 "Andrew Lelechenko <andrew.lelechenko@gmail.com> @Bodigrim":
23453336 - exp-pairs
2346− - fast-digits
2347−
2348− "Greg Hurrell <greg@hurrell.net>":
2349− - docvim
3337+ - fast-digits < 0 # 0.3.1.0 Cabal 3 vs stack incompat https://github.com/commercialhaskell/stackage/issues/6167
3338+ - chimera
3339+ - quadratic-irrational
3340+ - primitive-addr
3341+ - quickcheck-classes
3342+ - quickcheck-classes-base
3343+ - arithmoi
3344+ - bitvec
3345+ - poly
3346+ - extended-reals
3347+ - ChasingBottoms
3348+ - data-interval
3349+ - vector-rotcev
3350+ - mod
3351+ - tasty-rerun
3352+ - integer-roots
3353+ - smallcheck
3354+ - quote-quot
3355+ - tasty-bench
3356+ - tasty-inspection-testing
3357+ - text-rope
23503358
2351− "Ashley Yakeley <ashley@semantic.org>":
3359+ "Ashley Yakeley <ashley@semantic.org> @AshleyYakeley":
23523360 - countable
3361+ - witness
3362+ - open-witness
23533363
23543364 "Victor Denisov <denisovenator@gmail.com> @VictorDenisov":
23553365 - mongoDB
23563366 - bson
23573367
23583368 "Alexis King <lexi.lambda@gmail.com> @lexi-lambda":
3369+ - freer-simple
3370+ - monad-mock
23593371 - test-fixture
23603372 - text-conversions
3373+ - th-to-exp
3374+ - type-assertions
23613375
2362− "Patrick Chilton <chpatrick@gmail.com>":
2363− - solga
2364− - solga-swagger
2365− # Doesn't build on stackage server https://github.com/fpco/stackage/pull/1692 - clang-pure
3376+ "Patrick Chilton <chpatrick@gmail.com> @chpatrick":
23663377 - webrtc-vad
3378+ - clang-pure < 0 # 0.2.0.6 missing system libraries #3810/closed
3379+ - codec
23673380
2368− "Michal Konecny <mikkonecny@gmail.com>":
3381+ "Michal Konecny <mikkonecny@gmail.com> @michalkonecny":
23693382 - hmpfr
3383+ - collect-errors
3384+ - mixed-types-num
3385+ - cdar-mBound
3386+ - aern2-mp
3387+ - aern2-real
23703388
23713389 "Bartosz Nitka <niteria@gmail.com> @niteria":
2372− - haskell-packages
23733390 - oeis
23743391
23753392 "Gergely Patai <patai.gergely@gmail.com> @cobbpg":
@@ -2378,128 +3395,3406 @@ packages:
23783395 "Christopher Wells <cwellsny@nycap.rr.com> @ExcalburZero":
23793396 - pixelated-avatar-generator
23803397
2381− "Allele Dev <allele.dev@gmail.com>":
2382− - freer
2383− - wai-request-spec
2384−
2385− "Dominic Orchard <dom.orchard@gmail.com>":
3398+ "Dominic Orchard <dom.orchard@gmail.com> @dorchard":
23863399 - array-memoize
2387− - camfort
2388− - codo-notation
3400+ - codo-notation < 0 # 0.5.2 compile fail MonadFail
23893401 - fortran-src
2390− # 0.57 Compilation failure https://github.com/fpco/stackage/pull/1710#issuecomment-235067168 - ixmonad
2391− - language-fortran
23923402
2393− "Philipp Schuster <phischu3000@gmail.com> @phischu":
2394− - haskell-names
2395−
2396− "Shao Cheng <astrohavoc@gmail.com>":
2397− - simple-download
2398− - encoding-io
3403+ "Cheng Shao <astrohavoc@gmail.com> @TerrorJack":
3404+ - binaryen
3405+ - cabal-toolkit
3406+ - direct-rocksdb
23993407
24003408 "Anton Gushcha <ncrashed@gmail.com> @ncrashed":
24013409 - aeson-injector
2402−
2403− "Rune K. Svendsen <runesvend@gmail.com> @runeks":
2404− - bitcoin-payment-channel
3410+ - JuicyPixels-blp
24053411
24063412 "Al Zohali <zohl@fmap.me> @zohl":
24073413 - servant-auth-cookie
3414+ - dictionaries
3415+ - cereal-time
24083416
24093417 "Joachim Fasting <joachifm@fastmail.fm> @joachifm":
24103418 - libmpd
24113419
24123420 "Moritz Kiefer <moritz.kiefer@purelyfunctional.org> @cocreature":
24133421 - lrucaching
3422+ - llvm-hs
3423+ - llvm-hs-pure
3424+
3425+ "Thierry Bourrillon <thierry.bourrillon@fpinsight.com> @tbourrillon":
3426+ - heatshrink
3427+ - hocilib
3428+
3429+ "Daniel Mendler <mail@daniel-mendler.de> @minad":
3430+ - quickcheck-special
3431+ - writer-cps-mtl
3432+ - writer-cps-transformers
3433+ - writer-cps-morph < 0 # 0.1.0.2 compile fail https://github.com/louispan/writer-cps-morph/issues/2
3434+ - writer-cps-lens
3435+ - writer-cps-full
3436+ - writer-cps-exceptions
3437+ - wl-pprint-annotated
3438+ - wl-pprint-console
3439+ - console-style
3440+ - unlit
3441+ - intro
3442+ - tasty-stats
3443+ - colorful-monoids
3444+ - ihs
3445+ - paripari
3446+ - persist
3447+
3448+ "Taras Serduke <taras.serduke@gmail.com> @tserduke":
3449+ - do-list
3450+
3451+ "Travis Whitaker <pi.boy.travis@gmail.com>":
3452+ - cpuinfo
3453+ - lmdb
3454+ - rdf
3455+ - data-compat
3456+ - deepseq-instances
3457+
3458+ "Michael Swan <mswan@fastmail.com> @michael-swan":
3459+ - pcf-font < 0 # 0.2.2.0 compile fail MonadFail
3460+ - pcf-font-embed
3461+
3462+ "Iago Abal <iagoabal+stack@gmail.com>":
3463+ - bv
3464+
3465+ "Juan Pedro Villa Isaza @jpvillaisaza":
3466+ - licensor
3467+
3468+ "Florian Hofmann fho@f12n.de @fhaust":
3469+ - vector-split
3470+ - vector-mmap
3471+
3472+ "Ondrej Palkovsky <palkovsky.ondrej@gmail.com> @ondrap":
3473+ - json-stream
3474+
3475+ "Philipp Balzarek <p.balzarek@googlemail.com>":
3476+ - xml-picklers
3477+
3478+ "Lennart Spitzner <hexagoxel@hexagoxel.de> @lspitzner":
3479+ - multistate
3480+ - pqueue
3481+ - butcher
3482+ - czipwith
3483+ - data-tree-print
3484+ - brittany
3485+
3486+ "Ryan Mulligan <ryan@ryantm.com> @ryantm":
3487+ - HDBC-mysql
3488+
3489+ "Tony Morris <haskell@tmorris.net> @tonymorris":
3490+ - validation
3491+
3492+ "Tony Day <tonyday567@gmail.com> @tonyday567":
3493+ - numhask
3494+ - numhask-array
3495+ - numhask-prelude
3496+ - numhask-space
3497+ - perf
3498+
3499+ "Iphigenia Df <iphydf@gmail.com> @iphydf":
3500+ - data-msgpack
3501+ - network-msgpack-rpc
3502+
3503+ "Dino Morelli <dino@ui3.info> @dino-":
3504+ - epub-metadata
3505+ - hsinstall
3506+ - tce-conf
3507+
3508+ "Jonathan Fischoff <jonathangfischoff@gmail.com> @jfischoff":
3509+ - clock-extras
3510+ - postgres-options
3511+ - tmp-postgres
3512+ - pg-transact
3513+ - port-utils
3514+ - postgresql-libpq-notify
3515+ - hasql-queue
3516+
3517+ "Jonathan Knowles <stackage@jonathanknowles.net> @jonathanknowles":
3518+ - bech32
3519+ - bech32-th
3520+ - cardano-coin-selection
3521+ - quiet
3522+ - roc-id
3523+
3524+ "Mahdi Dibaiee <mdibaiee@aol.com> @mdibaiee":
3525+ - picedit
3526+ - mathexpr
3527+ - termcolor
3528+
3529+ "XT <e@xtendo.org> @xtendo-org":
3530+ - rawfilepath
3531+
3532+ "Konstantin Zudov <co@zudov.me> @zudov":
3533+ - html-email-validate
3534+
3535+ "Carl Baatz <carl.baatz@gmail.com> @cbaatz":
3536+ - atom-basic
3537+
3538+ "Reuben D'Netto <rdnetto@gmail.com>":
3539+ - glob-posix
3540+
3541+ "Kadzuya Okamoto <arow.okamoto@gmail.com> @arowM":
3542+ - type-level-kv-list
3543+ - heterocephalus
3544+ - bookkeeping
3545+ - ochintin-daicho
3546+ - transaction
3547+ - tonaparser
3548+ - tonalude
3549+ - tonatona
3550+ - tonatona-logger
3551+ - tonatona-servant
3552+ - tonatona-persistent-sqlite
3553+ - tonatona-persistent-postgresql
3554+
3555+ "Marcin Tolysz <tolysz@gmail.com> @tolysz":
3556+ - rawstring-qm
3557+
3558+ "Daniel YU <leptonyu@gmail.com>":
3559+ - salak
3560+ - salak-yaml
3561+ - salak-toml
3562+ - tensors
3563+ - menshen
3564+ - crc32c
3565+ - boots
3566+
3567+ "Tom Nielsen <tanielsen@gmail.com> @glutamate":
3568+ - plotlyhs
3569+ - inliterate
3570+
3571+ "Hyunje Jun <me@noraesae.net> @noraesae":
3572+ - line
3573+
3574+ "Hannes Saffrich <m0rphism@zankapfel.org> @m0rphism":
3575+ - printcess
3576+
3577+ "Alexey Kuleshevich <lehins@yandex.ru> @lehins":
3578+ - wai-middleware-auth
3579+ - hip
3580+ - massiv
3581+ - massiv-io
3582+ - massiv-test
3583+ - massiv-serialise
3584+ - massiv-persist
3585+ - scheduler
3586+ - Color
3587+ - safe-decimal
3588+ - flush-queue
3589+ - pvar
3590+
3591+ "Hans-Peter Deifel <hpd@hpdeifel.de> @hpdeifel":
3592+ - hledger-iadd
3593+
3594+ "Roy Levien <royl@aldaron.com> @orome":
3595+ - crypto-enigma
3596+
3597+ "Boldizsár Németh <nboldi@elte.hu> @nboldi":
3598+ - instance-control
3599+ - references < 0 # 0.3.3.1 compile fail
3600+ - classyplate
3601+ - haskell-tools-ast
3602+ - haskell-tools-backend-ghc
3603+ - haskell-tools-prettyprint
3604+ - haskell-tools-refactor
3605+ - haskell-tools-rewrite
3606+ - haskell-tools-demo
3607+ - haskell-tools-cli
3608+ - haskell-tools-daemon
3609+ - haskell-tools-debug
3610+
3611+ "David Fisher <ddf1991@gmail.com> @ddfisher":
3612+ - socket-activation
3613+
3614+ "aiya000 <aiya000.develop@gmail.com> @aiya000":
3615+ - character-cases
3616+ - throwable-exceptions
3617+
3618+ "Mitsutoshi Aoe <maoe@foldr.in> @maoe":
3619+ - influxdb
3620+ - sensu-run
3621+ - viewprof
3622+
3623+ "Dylan Simon <dylan-stack@dylex.net> @dylex":
3624+ - postgresql-typed
3625+ - invertible
3626+ - ztail
3627+ - zip-stream
3628+
3629+ "Louis Pan <louis@pan.me> @louispan":
3630+ - alternators
3631+ - arrow-extras
3632+ - data-diverse
3633+ - data-diverse-lens < 0 # 4.3.0.0 compile fail (lens)
3634+ - ghcjs-base-stub
3635+ - glaze
3636+ - glazier < 0 # 1.0.0.0 compile fail (lens)
3637+ - glazier-react
3638+ - glazier-react-widget
3639+ - javascript-extras
3640+ - lens-misc
3641+ - l10n
3642+ - pipes-category
3643+ - pipes-fluid
3644+ - pipes-misc
3645+ - stm-extras
3646+
3647+ "Siniša Biđin <sinisa@bidin.eu> @sbidin":
3648+ - sdl2-image
3649+ - sdl2-mixer
3650+ - sdl2-gfx
3651+
3652+ "Aditya Manthramurthy <aditya.mmy@gmail.com> @donatello":
3653+ - minio-hs
3654+ - webby
3655+
3656+ "ncaq <ncaq@ncaq.net> @ncaq":
3657+ - debug-trace-var
3658+ - haskell-import-graph
3659+ - string-transform
3660+ - uniq-deep
3661+ - yesod-form-bootstrap4
3662+ - yesod-recaptcha2
3663+
3664+ "Andrei Barbu <andrei@0xab.com> @abarbu":
3665+ - nondeterminism
3666+ - csp
3667+ - matplotlib
3668+
3669+ "mackeyrms <librarymaintainer@mackeycorp.com> @mackeyrms":
3670+ - tsv2csv
3671+
3672+ "Thomas Sutton <me@thomas-sutton.id.au> @thsutton":
3673+ - aeson-diff
3674+ - edit-distance-vector
3675+
3676+ "Kyle Van Berendonck <kvanberendonck+stackage@gmail.com> @donkeybonks":
3677+ - rot13
3678+ - dvorak
3679+
3680+ "Cuedo Business Solutions <foss@cuedo.com.au> @cuedo":
3681+ - github-webhooks
3682+
3683+ "Pavel Yakovlev <pavel@yakovlev.me> @zmactep":
3684+ - hasbolt
3685+ - uniprot-kb
3686+ - mmtf < 0 # 0.1.3.1 compile fail MonadFail
3687+
3688+ "Christopher A. Gorski <cgorski@cgorski.org> @cgorski":
3689+ - general-games
3690+
3691+ "Cristian Adrián Ontivero <cristianontivero@gmail.com> @contivero":
3692+ - hasmin
3693+ - hopfli
3694+
3695+ "Peter Trško <peter.trsko@gmail.com> @trskop":
3696+ - between
3697+ - connection-pool
3698+ - verbosity
3699+
3700+ "Devon Hollowood <devonhollowood@gmail.com> @devonhollowood":
3701+ - search-algorithms
3702+
3703+ "Chris Dornan <chris@chrisdornan.com> @cdornan":
3704+ - sort
3705+ - regex
3706+ - regex-pcre-text
3707+ - regex-with-pcre
3708+ - possibly
3709+ - enum-text
3710+ - rg
3711+ - columnar
3712+ - no-value
3713+ - optparse-enum
3714+ - fmt
3715+
3716+ "Elliot Cameron <eacameron@gmail.com> @3noch":
3717+ - ziptastic-client
3718+ - ziptastic-core
3719+
3720+ "Hardy Jones <jones3.hardy@gmail.com> @joneshf":
3721+ - katip-rollbar
3722+ - rollbar-hs
3723+ - servant-ruby
3724+ - wai-middleware-rollbar
3725+
3726+ "Andrey Mokhov <andrey.mokhov@gmail.com> @snowleopard":
3727+ - algebraic-graphs < 0.6 # https://github.com/commercialhaskell/stackage/issues/6362
3728+
3729+ "Albert Krewinkel <albert+stackage@zeitkraut.de> @tarleb":
3730+ - hslua
3731+ - hslua-aeson
3732+ - hslua-classes
3733+ - hslua-core
3734+ - hslua-marshalling
3735+ - hslua-module-doclayout < 0 # https://github.com/commercialhaskell/stackage/issues/6416
3736+ - hslua-module-path
3737+ - hslua-module-system
3738+ - hslua-module-text
3739+ - hslua-module-version
3740+ - hslua-objectorientation
3741+ - hslua-packaging
3742+ - jira-wiki-markup
3743+ - lpeg
3744+ - lua
3745+ - lua-arbitrary
3746+ - pandoc-lua-marshal
3747+ - tasty-hslua
3748+ - tasty-lua
3749+
3750+ "Judah Jacobson <judah.jacobson@gmail.com> @judah":
3751+ - proto-lens-protobuf-types
3752+ - proto-lens-protoc
3753+ - proto-lens-runtime
3754+ - proto-lens-setup
3755+ - proto-lens
3756+ - proto-lens-arbitrary
3757+ - proto-lens-optparse
3758+ - tensorflow-test
3759+ - pier-core
3760+ - pier
3761+ - haskeline
3762+ - ghc-source-gen # tests disabled due to QuickCheck < 2.14
3763+
3764+ "Christof Schramm <christof.schramm@campus.lmu.de>":
3765+ - mnist-idx
3766+
3767+ "Naushadh <naushadh@protonmail.com> @naushadh":
3768+ - persistent-mysql-haskell
3769+
3770+ "Moritz Schulte <mtesseract@silverratio.net> @mtesseract":
3771+ - async-refresh
3772+ - async-refresh-tokens
3773+ - type-level-integers
3774+ - partial-order
3775+ - async-timer
3776+ - nakadi-client
3777+ - throttle-io-stream
3778+ - conduit-throttle
3779+
3780+ "Simon Hafner <hafnersimon@gmail.com> @reactormonk":
3781+ - uri-bytestring-aeson
3782+ - katip-scalyr-scribe
3783+
3784+ "Sebastian Witte <woozletoff@gmail.com> @saep":
3785+ - nvim-hs
3786+ - nvim-hs-contrib
3787+ - nvim-hs-ghcid
3788+
3789+ "Sam Protas <sam.protas@gmail.com> @SamProtas":
3790+ - triplesec
3791+ - composable-associations
3792+ - composable-associations-aeson
3793+ - JuicyPixels-blurhash
3794+
3795+ "Anton Ekblad <anton@ekblad.cc> @valderman":
3796+ - selda
3797+ - selda-sqlite
3798+ - selda-postgresql
3799+ - selda-json
3800+
3801+ "Luis Pedro Coelho <luis@luispedro.org> @luispedro":
3802+ - safeio
3803+ - conduit-algorithms < 0 # 0.0.11.0 compile fail
3804+ - conduit-zstd
3805+
3806+ "Alex Biehl <alexbiehl@gmail.com> @alexbiehl":
3807+ - haddock-library
3808+ - http-client-openssl
3809+
3810+ "Steven Vandevelde <icid.asset@gmail.com> @icidasset":
3811+ - shikensu
3812+
3813+ "George Pollard <porges@porg.es> @Porges":
3814+ - email-validate
3815+
3816+ "Alexander Ignatyev <ignatyev.alexander@gmail.com> @aligusnet":
3817+ - astro
3818+ - mltool
3819+ - hmatrix-morpheus
3820+
3821+ "Matt Noonan <matt.noonan@gmail.com> @matt-noonan":
3822+ - justified-containers
3823+ - roles >= 0.2
3824+ - lawful
3825+ - gdp
3826+
3827+ "Levent Erkok <erkokl@gmail.com> @LeventErkok":
3828+ - sbv
3829+ - crackNum
3830+
3831+ "János Tapolczai <janos.tapolczai@gmail.com> @jtapolczai":
3832+ - listsafe
3833+
3834+ "Serokell <libraries@serokell.io> @serokell":
3835+ - importify
3836+ - log-warper
3837+ - o-clock
3838+ - tasty-hunit-compat
3839+ - universum
3840+ - with-utf8
3841+ - uncaught-exception
3842+
3843+ "Holmusk <tech@holmusk.com> @arbus":
3844+ - elm-street
3845+
3846+ "Noel Kwan <noelkwan1998@gmail.com> @kwannoel":
3847+ - servant-docs-simple
3848+
3849+ "Lorenz Moesenlechner <moesenle@gmail.com> @moesenle":
3850+ - servant-websockets
3851+
3852+ "Daniel Campoverde <alx@sillybytes.net> @alx741":
3853+ - currencies
3854+ - alerts
3855+ - yesod-alerts
3856+ - graphite
3857+
3858+ "José Lorenzo Rodríguez <jose.zap@gmail.com> @lorenzo":
3859+ - wrecker
3860+ - language-docker
3861+ - docker-build-cacher
3862+ - mysql-haskell-nem
3863+ - hadolint
3864+
3865+ "Phil Ruffwind <rf@rufflewind.com> @Rufflewind":
3866+ - blas-hs
3867+
3868+ "Eitan Chatav <eitan@gmail.com> @echatav":
3869+ - free-categories
3870+ - squeal-postgresql
3871+
3872+ "Sam Quinn <lazersmoke@gmail.com> @Lazersmoke":
3873+ - ghost-buster
3874+
3875+ "typeable.io <makeit@typeable.io>":
3876+ - dom-parser
3877+ - xml-isogen
3878+
3879+ "Jeremy Huffman <jeremy@jeremyhuffman.com> @jeremyjh":
3880+ - higher-leveldb
3881+ - distributed-process-lifted
3882+ - distributed-process-monad-control
3883+
3884+ "Adam Curtis <kallisti.dev@gmail.com> @kallisti-dev":
3885+ - webdriver
3886+ - cond
3887+
3888+ "Naoto Shimazaki <naoto.shimazaki@gmail.com> @nshimaza":
3889+ - thread-hierarchy
3890+ - thread-supervisor
3891+ - bitset-word8
3892+ - webex-teams-api
3893+ - webex-teams-conduit
3894+ - webex-teams-pipes
3895+
3896+ "Deni Bertovic <deni@denibertovic.com> @denibertovic & James Parker <dev@jamesparker.me> @jprider63":
3897+ - docker
3898+
3899+ "Hexirp <hexirp@gmail.com> @Hexirp":
3900+ - doctest-driver-gen
3901+
3902+ "Václav Haisman <vhaisman@gmail.com> @wilx":
3903+ - hs-bibutils
3904+
3905+ "Christian Kjær Laustsen <ckl@codetalk.io> @tehnix":
3906+ - ghc-core
3907+ - colorize-haskell
3908+
3909+ "Chris Martin <ch.martin@gmail.com> @chris-martin":
3910+ - data-forest
3911+ - loc
3912+ - partial-semigroup
3913+ - path-text-utf8
3914+
3915+ "Type Classes <hello@typeclasses.com> @argumatronic @chris-martin":
3916+ - ascii
3917+ - ascii-case
3918+ - ascii-char
3919+ - ascii-group
3920+ - ascii-predicates
3921+ - ascii-superset
3922+ - ascii-th
3923+ - aws-cloudfront-signed-cookies
3924+ - d10
3925+ - hex-text
3926+ - stripe-concepts
3927+ - stripe-signature
3928+ - stripe-scotty
3929+ - stripe-wreq
3930+
3931+ "Viacheslav Lotsmanov <lotsmanov89@gmail.com> @unclechu":
3932+ - place-cursor-at
3933+ - qm-interpolated-string
3934+
3935+ "Douglas Burke <dburke.gw@gmail.com> @DougBurke":
3936+ - swish
3937+ - hvega
3938+ - ihaskell-hvega
3939+
3940+ "Adam Flott <adam@adamflott.com> @adamflott":
3941+ - milena
3942+
3943+ "Csongor Kiss <kiss.csongor.kiss@gmail.com> @kcsongor":
3944+ - generic-lens
3945+ - generic-optics
3946+ - generic-lens-core
3947+
3948+ "Bogdan Neterebskii <bog2dan1@gmail.com> @ozzzzz":
3949+ - cast
3950+ - aeson-picker
3951+
3952+ "Warlock <internalmike@gmail.com> @A1-Triard":
3953+ - errors-ext
3954+ - binary-ext
3955+
3956+ "Bob Long <robertjflong@gmail.com> @bobjflong":
3957+ - yesod-csp < 0 # 0.2.5.0 text 1.2.5.0 exports `elem`
3958+
3959+ "Alexander Vershilov <alexander.vershilov@gmail.com> @qnikst":
3960+ - stm-conduit
3961+ - co-log-concurrent
3962+ - HaskellNet
3963+
3964+ "Tung Dao <me@tungdao.com> @tungd":
3965+ - time-locale-vietnamese
3966+
3967+ "Tim McGilchrist <timmcgil@gmail.com> @tmcgilchrist":
3968+ - riak
3969+ - riak-protobuf
3970+ - airship
3971+ - hedgehog-corpus
3972+
3973+ "Tom Sydney Kerckhove <syd.kerckhove@gmail.com> @NorfairKing":
3974+ - autodocodec
3975+ - autodocodec-openapi3
3976+ - autodocodec-schema
3977+ - autodocodec-yaml
3978+ - cursor
3979+ - cursor-brick
3980+ - cursor-fuzzy-time
3981+ - cursor-gen
3982+ - fuzzy-time
3983+ - genvalidity
3984+ - genvalidity-aeson
3985+ - genvalidity-bytestring
3986+ - genvalidity-containers
3987+ - genvalidity-criterion
3988+ - genvalidity-hspec
3989+ - genvalidity-hspec-aeson
3990+ - genvalidity-hspec-binary
3991+ - genvalidity-hspec-cereal
3992+ - genvalidity-hspec-hashable
3993+ - genvalidity-hspec-optics
3994+ - genvalidity-hspec-persistent
3995+ - genvalidity-mergeful
3996+ - genvalidity-mergeless
3997+ - genvalidity-path
3998+ - genvalidity-persistent
3999+ - genvalidity-property
4000+ - genvalidity-scientific
4001+ - genvalidity-sydtest
4002+ - genvalidity-sydtest-aeson
4003+ - genvalidity-sydtest-hashable
4004+ - genvalidity-sydtest-lens
4005+ - genvalidity-sydtest-persistent
4006+ - genvalidity-text
4007+ - genvalidity-time
4008+ - genvalidity-typed-uuid
4009+ - genvalidity-unordered-containers
4010+ - genvalidity-uuid
4011+ - genvalidity-vector
4012+ - mergeful
4013+ - mergeless
4014+ - pretty-relative-time
4015+ - safe-coloured-text
4016+ - safe-coloured-text-terminfo
4017+ - sydtest
4018+ - sydtest-discover
4019+ - sydtest-persistent
4020+ - sydtest-persistent-sqlite
4021+ - sydtest-servant
4022+ - sydtest-wai
4023+ - sydtest-yesod
4024+ - typed-uuid
4025+ - validity
4026+ - validity-aeson
4027+ - validity-bytestring
4028+ - validity-containers
4029+ - validity-path
4030+ - validity-persistent
4031+ - validity-primitive
4032+ - validity-scientific
4033+ - validity-text
4034+ - validity-time
4035+ - validity-unordered-containers
4036+ - validity-uuid
4037+ - validity-vector
4038+ - yamlparse-applicative
4039+
4040+
4041+ "Henry Laxen <nadine.and.henry@pobox.com> @HenryLaxen":
4042+ - bbdb
4043+
4044+ "Stevan Andjelkovic <stevan.andjelkovic@here.com> @stevana":
4045+ - quickcheck-state-machine
4046+
4047+ "Sebastian Nagel <sebastian.nagel@ncoding.at> @ch1bo":
4048+ - hdevtools < 0 # 0.1.8.0 compile fail
4049+ - servant-exceptions
4050+ - servant-exceptions-server
4051+
4052+ "Vaibhav Sagar <vaibhavsagar@gmail.com> @vaibhavsagar":
4053+ - ihaskell
4054+ - ghc-parser
4055+
4056+ "Alexis Williams <alexis@typedr.at> @typedrat":
4057+ - stb-image-redux < 0.2.1.3 || > 0.2.1.3 # deprecated version
4058+
4059+ "Alexandre Peyroux <alex@px.io> @apeyroux":
4060+ - HSlippyMap
4061+ - google-isbn
4062+ - nuxeo
4063+
4064+ "Andrey Sverdlichenko <blaze@ruddy.ru> @rblaze":
4065+ - credential-store
4066+ - dbus
4067+ - re2
4068+
4069+ "Bardur Arantsson <stackage@scientician.net> @BardurArantsson":
4070+ - peregrin
4071+ - pg-harness-client
4072+ - pg-harness-server
4073+ - unliftio-pool
4074+ - unliftio-streams
4075+
4076+ "Sebastian Graf <sgraf1337@gmail.com> @sgraf812":
4077+ - pomaps
4078+
4079+ "Alexey Kotlyarov <a@koterpillar.com> @koterpillar":
4080+ - appendmap
4081+ - serverless-haskell
4082+
4083+ "Guru Devanla <grdvnl@gmail.com> @gdevanla":
4084+ - pptable
4085+ - cassava-records < 0 # 0.1.0.4 compile fail MonadFail
4086+ - pandoc-markdown-ghci-filter < 0 # 0.1.0.0 compile fail https://github.com/gdevanla/pandoc-markdown-ghci-filter/issues/3
4087+
4088+ "Lucas David Traverso <lucas6246@gmail.com> @ludat":
4089+ - map-syntax
4090+ - heist
4091+ - snap
4092+ - conferer
4093+ - conferer-snap
4094+ - conferer-warp
4095+ - conferer-hspec
4096+ - conferer-aeson
4097+
4098+ "Tim Humphries <tim+stackage@utf8.me> @thumphries":
4099+ - transformers-either
4100+ - transformers-fix
4101+
4102+ "Dan Firth <dan.firth@homotopic.tech> @locallycompact":
4103+ - aeson-with
4104+ - binary-instances
4105+ - comonad-extras
4106+ - compact
4107+ - composite-aeson
4108+ - composite-aeson-path
4109+ - composite-aeson-refined
4110+ - composite-aeson-throw
4111+ - composite-base
4112+ - composite-binary
4113+ - composite-ekg
4114+ - composite-hashable
4115+ - composite-tuple
4116+ - composite-xstep
4117+ - ixset-typed-binary-instance
4118+ - ixset-typed-conversions
4119+ - ixset-typed-hashable-instance
4120+ - lucid-cdn
4121+ - natural-arithmetic
4122+ - pandoc-dhall-decoder
4123+ - pandoc-throw
4124+ - path-binary-instance
4125+ - path-dhall-instance
4126+ - path-extensions
4127+ - path-formatting
4128+ - path-like
4129+ - path-utils
4130+ - polysemy-extra
4131+ - polysemy-fs
4132+ - polysemy-fskvstore
4133+ - polysemy-kvstore-jsonfile
4134+ - polysemy-kvstore
4135+ - polysemy-methodology
4136+ - polysemy-path
4137+ - polysemy-several
4138+ - polysemy-socket
4139+ - polysemy-uncontrolled
4140+ - polysemy-video
4141+ - polysemy-vinyl
4142+ - primitive-offset
4143+ - shake-plus
4144+ - shake-plus-extended
4145+ - simple-media-timestamp
4146+ - simple-media-timestamp-formatting
4147+ - simple-media-timestamp-attoparsec
4148+ - srt
4149+ - srt-attoparsec
4150+ - srt-dhall
4151+ - srt-formatting
4152+ - tuples
4153+ - unliftio-path
4154+ - variable-media-field
4155+ - variable-media-field-dhall
4156+ - variable-media-field-optics
4157+ - vinyl-loeb
4158+ - within
4159+ - zipper-extra
4160+
4161+ "Domen Kozar <domen@enlambda.com> @domenkozar":
4162+ - elm2nix
4163+ - mixpanel-client
4164+ - netrc
4165+ - pretty-sop
4166+ - servant-auth
4167+ - servant-auth-server
4168+ - servant-auth-client
4169+ - servant-auth-swagger
4170+ - servant-auth-docs
4171+ - servant-elm
4172+ - systemd
4173+
4174+ "Andre Van Der Merwe <stackage@andrevdm.com> @andrevdm":
4175+ - bhoogle
4176+ - hyraxAbif
4177+ - postgresql-migration
4178+
4179+ "David Millar-Durrant <dmillardurrant@gmail.com> @DavidM-D":
4180+ - indexed-list-literals
4181+
4182+ "Dmitry Dzhus <dima@dzhus.org> @dzhus":
4183+ - csg
4184+ - simple-vec3
4185+ - static-text
4186+ - th-env
4187+ - th-nowq
4188+
4189+ "Dan Fithian <daniel.m.fithian@gmail.com> @dfithian":
4190+ - oauthenticated
4191+ - datadog
4192+ - interpolator
4193+ - file-path-th
4194+
4195+ "Raghu Kaippully <rkaippully@gmail.com> @rkaippully":
4196+ - webgear-core
4197+ - webgear-openapi
4198+ - webgear-server
4199+
4200+ "Alex Washburn <github@recursion.ninja> @recursion-ninja":
4201+ - bv-little
4202+ - mono-traversable-keys
4203+
4204+ "Avi Press <mail@avi.press> @aviaviavi":
4205+ - curl-runnings
4206+ - cryptocompare
4207+
4208+ "Jack Kiefer <jack.c.kiefer@gmail.com> @JackKiefer":
4209+ - herms
4210+
4211+ "Sergey Vinokurov <serg.foo@gmail.com> @sergv":
4212+ - bencoding
4213+ - emacs-module < 0 # 0.1.1 compile fail ghc 8.10.1 #5436/closed
4214+ - tasty-ant-xml
4215+
4216+ "Eugene Smolanka <esmolanka@gmail.com> @esmolanka":
4217+ - sexp-grammar
4218+ - invertible-grammar
4219+
4220+ "Maximilian Tagher <feedback.tagher@gmail.com> @MaxGabriel":
4221+ - aeson-iproute
4222+ - persistent-iproute
4223+
4224+ "Damian Nadales <damian.nadales@gmail.com> @capitanbatata":
4225+ - hierarchy
4226+
4227+ "Kofi Gumbs <h.kofigumbs@gmail.com> @hkgumbs":
4228+ - codec-beam
4229+
4230+ "Chris Parks <christopher.daniel.parks@gmail.com> @cdparks":
4231+ - closed
4232+
4233+ "Chris Coffey <chris@foldl.io> @ChrisCoffey":
4234+ - servant-tracing
4235+ - cuckoo-filter
4236+ - confcrypt
4237+
4238+ "Rick Owens <rick@owensmurray.com> @owensmurray":
4239+ - om-elm
4240+
4241+ "ALeX Kazik <alex@kazik.de> @alexkazik":
4242+ - exomizer
4243+ - qnap-decrypt
4244+ - qrcode-core
4245+ - qrcode-juicypixels
4246+
4247+ "Reed Oei <oei.reed@gmail.com> @ReedOei":
4248+ - fuzzy-dates
4249+
4250+ "Matthew Farkas-Dyck <strake888@gmail.com> @strake":
4251+ - Fin
4252+ - alg
4253+ - category
4254+ - constraint
4255+ - dual
4256+ - either-both
4257+ - filtrable
4258+ - foldable1
4259+ - hs-functors
4260+ - lenz
4261+ - natural-induction
4262+ - peano
4263+ - unconstrained
4264+ - util < 0 # 0.1.17.1 compile fail needs DerivingVia enabled
4265+
4266+ "Ben Sima <ben@bsima.me> @bensima":
4267+ - yesod-text-markdown
4268+
4269+ "Alexander Krupenkin <mail@akru.me> @akru":
4270+ - web3
4271+
4272+ "Georg Rudoy <0xd34df00d@gmail.com> @0xd34df00d":
4273+ - binary-generic-combinators
4274+ - can-i-haz
4275+ - enum-subset-generate
4276+
4277+ "Trevis Elser <trevis@silencedpoet.com> @telser":
4278+ - sendfile
4279+
4280+ "Kristen Kozak <grayjay@wordroute.com> @grayjay":
4281+ - json-rpc-server
4282+ - json-rpc-client
4283+
4284+ "Magnus Therning <magnus@therning.org> @magthe":
4285+ - hsini
4286+
4287+ "Baojun Wang <wangbj@gmail.com> @wangbj":
4288+ - elf
4289+
4290+ "Tom Oram <tom@x2k.co.uk> @tomphp":
4291+ - cfenv
4292+
4293+ "Owen Lynch <root@owenlynch.org> @olynch":
4294+ - natural-sort
4295+
4296+ "John Biesnecker <jbiesnecker@gmail.com> @biesnecker":
4297+ - async-pool
4298+
4299+ "Zoltan Kelemen <kelemzol@elte.hu> @kelemzol":
4300+ - fswatch
4301+
4302+ "Matthew Wraith <matt@bitnomial.com> @wraithm":
4303+ - prometheus
4304+ - prometheus-wai-middleware
4305+ - hgrev
4306+ - seqid
4307+ - seqid-streams
4308+
4309+ "Daniel Gorin <jcpetruzza@gmail.com> @jcpetruzza":
4310+ - barbies
4311+ - data-hash
4312+
4313+ "Eduard Sergeev <eduard.sergeev@gmail.com> @EduardSergeev":
4314+ - monad-memo
4315+
4316+ "Wanja Chresta <wanja.hs@chrummibei.ch> @wchresta":
4317+ - matrix-static
4318+
4319+ "Jean-Pierre Rupp <xenog@protonmail.com> @xenog":
4320+ - json-rpc
4321+ - rfc1751
4322+ - murmur3
4323+ - nqe
4324+ - secp256k1-haskell
4325+ - rocksdb-haskell
4326+ - rocksdb-haskell-jprupp
4327+ - rocksdb-query
4328+ - haskoin-core
4329+ - haskoin-node
4330+ - haskoin-store
4331+
4332+ "asakamirai <asakamirai_hackage@towanowa.net> @asakamirai":
4333+ - kazura-queue
4334+
4335+ "Eric Torreborre <etorreborre@yahoo.com> @etorreborre":
4336+ - registry
4337+
4338+ "Ryota Kameoka <kameoka.ryota@gmail.com> @ryota-ka":
4339+ - duration
4340+
4341+ "Takenobu Tani <takenobu.hs@gmail.com> @takenobu-hs":
4342+ - ghci-hexcalc
4343+
4344+ "Nikos Karagianndis <nkarag@gmail.com> @nkarag":
4345+ - DBFunctor
4346+
4347+ "Marat Khafizov <xafizoff@gmail.com> @xafizoff":
4348+ - n2o
4349+ - n2o-nitro
4350+ - n2o-protocols
4351+ - n2o-web
4352+
4353+ "David Smith <shmish111@gmail.com> @shmish111":
4354+ - bazel-runfiles
4355+
4356+ "Rob Rix <robrix@github.com> @robrix":
4357+ - fused-effects
4358+
4359+ "Josef Thorne <joseft.168@gmail.com> @Grendel-Grendel-Grendel":
4360+ - focuslist
4361+
4362+ "Pavan Rikhi <pavan.rikhi@gmail.com> @prikhi":
4363+ - hs-php-session
4364+ - wordpress-auth
4365+ - servant-auth-wordpress
4366+ - ca-province-codes
4367+ - mx-state-codes
4368+ - sitemap-gen
4369+ - tasty-wai
4370+ - stack-templatizer
4371+ - immortal-queue
4372+ - wai-middleware-clacks
4373+ - hledger-stockquotes
4374+ - bnb-staking-csvs
4375+ - solana-staking-csvs
4376+ - cointracking-imports
4377+
4378+ "David Baynard <haskell@baynard.dev> @dbaynard":
4379+ - time-qq
4380+ - ucam-webauth
4381+ - ucam-webauth-types
4382+
4383+ "Erick Gonzalez <erick@codemonkeylabs.de> @codemonkeylabs-de":
4384+ - eap
4385+ - failable
4386+ - ttl-hashtables
4387+ - radius
4388+ - structured-cli
4389+
4390+ "Jan Path <jan@jpath.de> @janpath":
4391+ - smallcheck-series
4392+
4393+ "Taisuke Hikawa <23.prime.37@gmail.com> @23prime":
4394+ - oeis2
4395+
4396+ "David Himmelstrup <lemmih@gmail.com> @lemmih":
4397+ - chiphunk
4398+ - reanimate-svg
4399+ - reanimate
4400+ - earcut
4401+ - vector-circular
4402+ - hgeometry >= 0.12.0.2 # required by reanimate as of 0.4.2.0
4403+ - hgeometry-combinatorial
4404+ - approximate-equality # required by hgeometry-combinatorial
4405+ - type-level-natural-number # required by approximate-equality
4406+
4407+ "Vitaly Bragilevsky <vit.bragilevsky@gmail.com> @bravit":
4408+ - Chart
4409+ - Chart-diagrams
4410+
4411+ "Juri Chomé <juri.chome@gmail.com> @2mol":
4412+ - msgpack
4413+ - msgpack-rpc
4414+ - msgpack-idl
4415+ - msgpack-aeson
4416+ - int-cast
4417+
4418+ "Akihito Kirisaki <kirisaki@klaraworks.net> @kirisaki":
4419+ - caster
4420+
4421+ "Felix Paulusma <felix.paulusma@gmail.com> @Vlix":
4422+ - safe-json
4423+
4424+ "Olle Fredriksson <fredriksson.olle@gmail.com> @ollef":
4425+ - rope-utf16-splay
4426+
4427+ "Venkateswara Rao Mandela <venkat.mandela@gmail.com> @vmandela":
4428+ - pandoc-csv2table
4429+
4430+ "Elben Shira <elben@shira.im> @elben":
4431+ - pencil
4432+
4433+ "Ivan Malison <IvanMalison@gmail.com> @IvanMalison":
4434+ - ConfigFile
4435+ - dbus-hslogger
4436+ - gi-cairo-connector
4437+ - gi-cairo-render
4438+ - gtk-sni-tray
4439+ - gtk-strut
4440+ - rate-limit
4441+ - status-notifier-item
4442+ - taffybar < 0 # https://github.com/taffybar/taffybar/issues/542
4443+ - time-units
4444+ - xml-helpers
4445+ - xdg-desktop-entry
4446+
4447+ "ARATA Mizuki <minorinoki@gmail.com> @minoki":
4448+ - unboxing-vector
4449+
4450+ "Brandon Chinn <brandon@leapyear.io> @brandon-leapyear":
4451+ - aeson-schemas
4452+ - github-rest
4453+ - graphql-client
4454+ - hpc-lcov
4455+ - th-test-utils
4456+
4457+ "Brandon Chinn <brandonchinn178@gmail.com> @brandonchinn178":
4458+ - fourmolu
4459+ - http-api-data-qq
4460+ - persistent-mtl
4461+
4462+ "Akshay Mankar <itsakshaymankar@gmail.com> @akshaymankar":
4463+ - jsonpath
4464+
4465+ "James Brock <jamesbrock@gmail.com> @jamesdbrock":
4466+ - replace-megaparsec
4467+ - replace-attoparsec
4468+
4469+ "Robbie McMichael @robbiemcmichael":
4470+ - http-client-overrides
4471+
4472+ "Ian Graves <thegravian@gmail.com> @igraves":
4473+ - monad-resumption
4474+
4475+ "Marius Ghita <mhitza@gmail.com> @mhitza":
4476+ - minimal-configuration
4477+
4478+ "Davit Nalchevanidze <d.nalchevanidze@gmail.com> @nalchevanidze":
4479+ - morpheus-graphql
4480+ - morpheus-graphql-core
4481+ - morpheus-graphql-client
4482+ - morpheus-graphql-subscriptions
4483+ - morpheus-graphql-app
4484+ - morpheus-graphql-code-gen
4485+ - morpheus-graphql-tests
4486+
4487+ "Satoshi Egi <egi@egison.org> @egisatoshi":
4488+ - backtracking
4489+ - egison
4490+ - mini-egison
4491+ - sweet-egison
4492+ - egison-pattern-src
4493+ - egison-pattern-src-th-mode
4494+
4495+ "Travis Cardwell <travis.cardwell@extrema.is> @TravisCardwell":
4496+ - literatex
4497+ - ttc
4498+
4499+ "Jasper Woudenberg <mail@jasperwoudenberg.com> @jwoudenberg":
4500+ - bugsnag-hs
4501+ - junit-xml
4502+ - wai-feature-flags
4503+ - tasty-test-reporter
4504+ - pretty-diff
4505+
4506+ "Eric Conlon <ejconlon@gmail.com> @ejconlon":
4507+ - blanks
4508+ - climb
4509+ - linenoise
4510+ - little-rio
4511+ - little-logger
4512+ # Maintainership with @23Skidoo
4513+ - ekg
4514+ - ekg-core
4515+ - ekg-json
4516+ - ekg-statsd
4517+
4518+ "Jorah Gao <jorah@version.cloud> @gqk007":
4519+ - aeson-default
4520+ - vformat
4521+ - vformat-time
4522+ - vformat-aeson
4523+ - hkd-default
4524+
4525+ "Shintaro Sakata <shintaro.sakata.tokyo@gmail.com> @chemirea":
4526+ - utf8-conversions
4527+
4528+ "Alessandro Marrella <amarrella@earnestresearch.com> @amarrella":
4529+ - kubernetes-webhook-haskell
4530+
4531+ "8c6794b6 <8c6794b6@gmail.com> @8c6794b6":
4532+ - hpc-codecov
4533+
4534+ "Hiromi Ishii <konn.jinro@gmail.com> @konn":
4535+ - equational-reasoning
4536+ - ghc-typelits-presburger
4537+ - singletons-presburger
4538+ - type-natural
4539+ - subcategories
4540+ - sized
4541+
4542+ "Frank Doepper <stackage@woffs.de> @woffs":
4543+ - amqp-utils
4544+ - magic
4545+
4546+ "Ziyang Liu <free@cofree.io> @zliu41":
4547+ - apply-refact
4548+ - hadoop-streaming
4549+ - indexed-containers
4550+ - math-extras
4551+ - min-max-pqueue
4552+ - multi-containers
4553+
4554+ "Vaclav Svejcar <vaclav.svejcar@gmail.com> @vaclavsvejcar":
4555+ - headroom
4556+ - vcs-ignore
4557+
4558+ "Adrian Sieber <stackage@ad-si.com> @ad-si":
4559+ - ulid
4560+
4561+ "Rickey Visinski <rickeyvisinski+hs@gmail.com> @rickeyski":
4562+ - slack-api
4563+
4564+ "Dobromir Nikolov <dnikolovv@hotmail.com> @dnikolovv":
4565+ - it-has
4566+
4567+ "Gabriele Sales <gbrsales@gmail.com> @gbrsales":
4568+ - cabal-appimage
4569+
4570+ "Dominik Schrempf <dominik.schrempf@gmail.com> @dschrempf":
4571+ - circular
4572+ - covariance
4573+ - dirichlet
4574+ - elynx
4575+ - elynx-markov
4576+ - elynx-nexus
4577+ - elynx-seq
4578+ - elynx-tools
4579+ - elynx-tree
4580+ - glasso
4581+ - mcmc
4582+ - pava
4583+ - slynx
4584+ - tlynx
4585+
4586+ "Eric Rochester <erochest@gmail.com> @erochest":
4587+ - text-regex-replace
4588+
4589+ "Masahiro Honma <hiratara@cpan.org> @hiratara":
4590+ - string-random
4591+
4592+ "Michael B. Gale <github@michael-gale.co.uk> @mbg":
4593+ - c14n
4594+ - katip-logstash
4595+ - logstash
4596+ - monad-logger-logstash
4597+ - moss
4598+ - wai-rate-limit
4599+ - wai-rate-limit-redis
4600+ - wai-saml2
4601+
4602+ "Jun Narumi <narumij@gmail.com> @narumij":
4603+ - matrix-as-xyz
4604+ - hall-symbols
4605+ - symmetry-operations-symbols
4606+
4607+ "Hideaki Kawai <kayhide@gmail.com> @kayhide":
4608+ - wakame
4609+
4610+ "Michael Williams <mlcfp@icloud.com> @mlcfp":
4611+ - zenacy-html
4612+ - zenacy-unicode
4613+
4614+ "Maxim Koltsov <kolmax94@gmail.com> @maksbotan":
4615+ - openapi3
4616+ - servant-openapi3
4617+
4618+ "Song Zhang <HaskellZhangSong@hotmail.com> @HaskellZhangSong":
4619+ - derive-topdown
4620+
4621+ "NoRedInk <haskell-open-source@noredink.com>":
4622+ - nri-env-parser
4623+ - nri-http
4624+ - nri-kafka
4625+ - nri-observability
4626+ - nri-prelude
4627+ - nri-postgresql
4628+ - nri-redis
4629+ - nri-test-encoding
4630+
4631+ "Behrang Norouzinia <behrangn@gmail.com> @behrang":
4632+ - jalaali
4633+
4634+ "Alexander Batischev <eual.jp@gmail.com> @Minoru":
4635+ - hakyll-convert
4636+
4637+ "Edward Nerd <nerded.nerded@gmail.com> @nerded1337":
4638+ - zydiskell
4639+
4640+ "Alejandro Peralta Bazas <aleperaltabazas@gmail.com> @aleperaltabazas":
4641+ - hocon
4642+
4643+ "Joshua Booth <joshua.n.booth@gmail.com> @jnbooth":
4644+ - bitwise-enum
4645+
4646+ "Shlomo Shuck <stevenjshuck@gmail.com> @sjshuck":
4647+ - pcre2
4648+
4649+ "Emil Axelsson <78emil@gmail.com> @emax":
4650+ - tree-view
4651+
4652+ "Samuel Gélineau <gelisam@gmail.com> @gelisam":
4653+ - haskell-awk
4654+ - hint
4655+ - recursion-schemes
4656+
4657+ "Kyriakos Papachrysanthou <k.papachrisanthou@gmail.com> @3kyro":
4658+ - keep-alive
4659+
4660+ "Brooklyn Zelenka <hello@brooklynzelenka.com> @expede":
4661+ - rescue
4662+
4663+ "Artem Pelenitsyn <artem.pelenitsyn@gmail.com> @ulysses4ever":
4664+ - alex-meta
4665+ - happy-meta
4666+ - BNFC-meta
4667+
4668+ "Tomasz Maciosowski <t4ccer@gmail.com> @t4ccer":
4669+ - wai-session-redis
4670+
4671+ "Rory Tyler Hayford <rory.hayford@protonmail.com> @ngua":
4672+ - ipa
4673+
4674+ "Andreas Herrmann <andreas.herrmann@tweag.io> @aherrmann":
4675+ - capability
4676+
4677+ "Dustin Sallings <dustin@spy.net> @dustin":
4678+ - net-mqtt
4679+ - net-mqtt-lens
24144680
2415− # If you stop maintaining a package you can move it here.
2416− # It will then be disabled if it starts causing problems.
2417− # See https://github.com/fpco/stackage/issues/1056
4681+ "David A Roberts <d@vidr.cc> @davidar":
4682+ - streamt
4683+
4684+ "Martin Sosic <sosic.martin@gmail.com> @Martinsos":
4685+ - strong-path
4686+
4687+ "Arnaud Spiwack <arnaud.spiwack@tweag.io> @aspiwack":
4688+ - linear-base
4689+
4690+ "Ollie Charles <ollie@ocharles.org.up> @ocharles":
4691+ - rel8
4692+
4693+ "Grzegorz Milka <grzegorzmilka@gmail.com> @gregorias":
4694+ - trimdent
4695+
4696+ "xmonad <xmonad@haskell.org>":
4697+ - X11
4698+ - xmonad
4699+ - xmonad-contrib
4700+
4701+ "Marcellus Siegburg <marcellus.siegburg@gmail.com> @marcellussiegburg":
4702+ - call-alloy
4703+
4704+ "Rickard Andersson <gonz@severnatazvezda.com> @GoNZooo":
4705+ - gotyno-hs
4706+ - reddit-scrape
4707+
4708+ "James Cranch <cranch@cantab.net> @jcranch":
4709+ - tophat
4710+
4711+ "Jan Synacek <jan.synacek@scrive.com> @jsynacek":
4712+ - hpqtypes
4713+ - hpqtypes-extras
4714+ - fields-json
4715+ - log-base
4716+ - unjson
4717+
4718+ "Daan Leijen <daan@effp.org> @daanx":
4719+ - isocline
4720+
4721+ "Chase <totallynotchase42@@gmail.com> @TotallyNotChase":
4722+ - valida
4723+ - valida-base
4724+
4725+ "Andrew Miller <andrew@amxl.com> @A1kmm":
4726+ - polysemy-webserver
4727+
4728+ "Simon Shine <shreddedglory@gmail.com> @sshine":
4729+ - evm-opcodes
4730+
4731+ "Francesco Ariis <fa-ml@ariis.it> @ffaf1":
4732+ - ansi-terminal-game
4733+ - lentil
4734+ - linebreak
4735+ - timers-tick
4736+ - unidecode
4737+
4738+ "Chris Smith <cdsmith@gmail.com>":
4739+ - HMock
4740+ - explainable-predicates
4741+
4742+ "Tim Emiola <tim.emiola@gmail.com> @adetokunbo":
4743+ - hspec-tmp-proc
4744+ - tmp-proc
4745+ - wai-middleware-delegate
4746+
4747+ "Francisco Vallarino <fjvallarino@gmail.com> @fjvallarino":
4748+ - monomer
4749+ - nanovg
4750+
4751+ "Ghais Issa <0x47@0x49.dev> @ghais":
4752+ - LetsBeRational
4753+
4754+ "Edward Yang <qwbarch@gmail.com> @qwbarch":
4755+ - captcha-core
4756+ - captcha-2captcha
4757+ - captcha-capmonster
4758+ - data-default-extra
4759+ - data-default-instances-base
4760+ - data-default-instances-bytestring
4761+ - data-default-instances-case-insensitive
4762+ - data-default-instances-new-base
4763+ - data-default-instances-text
4764+ - data-default-instances-unordered-containers
4765+ - data-default-instances-vector
4766+
4767+ "Grandfathered dependencies":
4768+ - Boolean
4769+ - Cabal-syntax
4770+ - Decimal
4771+ - Diff
4772+ - FloatingHex
4773+ - GenericPretty
4774+ - Glob
4775+ - HDBC
4776+ - HDBC-session
4777+ - HTTP
4778+ - HasBigDecimal
4779+ - HsOpenSSL
4780+ - HsYAML
4781+ - JuicyPixels-scale-dct
4782+ - MemoTrie
4783+ - NoHoed
4784+ - NumInstances
4785+ - Only
4786+ - ParsecTools
4787+ - QuickCheck
4788+ - RSA
4789+ - Stream
4790+ - aeson-compat
4791+ - aeson-extra
4792+ - aeson-optics
4793+ - alsa-mixer
4794+ - ansi-terminal
4795+ - appar
4796+ - arrows
4797+ - asn1-encoding
4798+ - asn1-parse
4799+ - asn1-types
4800+ - assoc
4801+ - attoparsec
4802+ - auto-update
4803+ - base-noprelude
4804+ - base64-bytestring
4805+ - base64-bytestring-type
4806+ - base64-string
4807+ - bimap
4808+ - bin # req'd by boring
4809+ - binary-orphans
4810+ - binary-parser
4811+ - binary-tagged
4812+ - bindings-DSL
4813+ - bitarray
4814+ - blaze-builder
4815+ - blaze-svg
4816+ - blaze-textual
4817+ - boring
4818+ - brick
4819+ - buffer-builder
4820+ - byte-order
4821+ - byteable
4822+ - bytestring-builder
4823+ - bzlib
4824+ - c2hs
4825+ - ca-province-codes
4826+ - cabal-doctest
4827+ - call-stack
4828+ - casing
4829+ - cassava-megaparsec
4830+ - cborg
4831+ - cereal
4832+ - cereal-text
4833+ - cereal-vector
4834+ - chunked-data
4835+ - cipher-aes128
4836+ - cipher-camellia
4837+ - cipher-des
4838+ - classy-prelude
4839+ - classy-prelude-conduit
4840+ - clientsession
4841+ - cmark-gfm
4842+ - colour
4843+ - concurrent-extra
4844+ - conduit
4845+ - config-ini
4846+ - configurator
4847+ - constraints-extras
4848+ - contravariant-extras
4849+ - control-monad-free
4850+ - control-monad-omega
4851+ - convertible
4852+ - cookie
4853+ - cpphs
4854+ - crypt-sha512
4855+ - crypto-api
4856+ - crypto-api-tests
4857+ - crypto-cipher-tests
4858+ - crypto-cipher-types
4859+ - crypto-numbers
4860+ - crypto-pubkey
4861+ - crypto-random
4862+ - cryptohash-cryptoapi
4863+ - cryptohash-sha256
4864+ - cryptohash-sha512
4865+ - cryptostore
4866+ - css-text
4867+ - csv
4868+ - cubicbezier
4869+ - data-binary-ieee754
4870+ - data-bword
4871+ - data-checked
4872+ - data-clist
4873+ - data-default
4874+ - data-default-class
4875+ - data-default-instances-containers
4876+ - data-default-instances-dlist
4877+ - data-default-instances-old-locale
4878+ - data-dword
4879+ - data-endian
4880+ - data-inttrie
4881+ - data-lens-light
4882+ - data-memocombinators
4883+ - data-msgpack-types
4884+ - data-serializer
4885+ - data-textual
4886+ - dec
4887+ - deepseq-generics
4888+ - deferred-folds
4889+ - dense-linear-algebra
4890+ - deque
4891+ - dictionary-sharing
4892+ - direct-sqlite
4893+ - discount
4894+ - dlist
4895+ - dlist-instances
4896+ - dlist-nonempty
4897+ - double-conversion < 2.0.3.0 # https://github.com/commercialhaskell/stackage/issues/6417
4898+ - dual-tree
4899+ - easy-file
4900+ - easytest
4901+ - ed25519
4902+ - edit-distance
4903+ - elm-bridge
4904+ - enclosed-exceptions
4905+ - entropy
4906+ - erf
4907+ - errors
4908+ - expiring-cache-map
4909+ - extensible-exceptions
4910+ - fail
4911+ - fast-logger
4912+ - fast-math
4913+ - fib
4914+ - file-embed
4915+ - file-embed-lzma
4916+ - filemanip
4917+ - fin
4918+ - fingertree
4919+ - fmlist
4920+ - friendly-time
4921+ - functor-classes-compat
4922+ - functor-combinators
4923+ - generic-arbitrary
4924+ - generics-sop-lens
4925+ - ghc-byteorder
4926+ - ghc-compact
4927+ - ghc-paths
4928+ - ghc-prof
4929+ - github
4930+ - groom
4931+ - groups
4932+ - hackage-security
4933+ - hashable
4934+ - haskell-gi-overloading
4935+ - haskell-lexer
4936+ - haskell-lsp-types
4937+ - haskell-src-exts
4938+ - haxl
4939+ - heap
4940+ - hex
4941+ - hmatrix
4942+ - hmatrix-gsl
4943+ - hostname
4944+ - hourglass
4945+ - hsc2hs
4946+ - hscolour
4947+ - hslogger
4948+ - hsp
4949+ - hspec-attoparsec
4950+ - hspec-contrib
4951+ - hspec-expectations
4952+ - hspec-expectations-lifted
4953+ - hspec-meta
4954+ - hspec-smallcheck
4955+ - html
4956+ - html-entities
4957+ - http-client-tls
4958+ - http-date
4959+ - http-reverse-proxy
4960+ - http-types
4961+ - http2
4962+ - httpd-shed
4963+ - hw-json-simd
4964+ - hw-string-parse
4965+ - hxt
4966+ - hxt-charproperties
4967+ - hxt-http
4968+ - hxt-regex-xmlschema
4969+ - hxt-unicode
4970+ - iconv
4971+ - ieee754
4972+ - indexed
4973+ - infer-license
4974+ - insert-ordered-containers
4975+ - inspection-testing
4976+ - integer-logarithms
4977+ - io-streams-haproxy
4978+ - ixset-typed
4979+ - json
4980+ - json-alt
4981+ - kleene
4982+ - language-haskell-extract
4983+ - largeword
4984+ - lattices
4985+ - lazy-csv
4986+ - lazysmallcheck
4987+ - libBF
4988+ - libyaml
4989+ - lifted-async
4990+ - lifted-base
4991+ - loch-th
4992+ - lockfree-queue
4993+ - log-base
4994+ - logging-facade
4995+ - lrucache
4996+ - lsp
4997+ - lsp-types
4998+ - lukko
4999+ - lz4
5000+ - lzma
5001+ - lzma-clib
5002+ - managed
5003+ - math-functions
5004+ - mersenne-random
5005+ - mersenne-random-pure64
5006+ - mfsolve
5007+ - microstache
5008+ - mmap
5009+ - mmorph
5010+ - mockery
5011+ - monad-control
5012+ - monad-logger
5013+ - monad-loops
5014+ - monad-time
5015+ - monads-tf
5016+ - mono-traversable-instances
5017+ - mono-traversable-keys
5018+ - multiset
5019+ - mwc-random
5020+ - names-th
5021+ - nanospec
5022+ - nettle
5023+ - network
5024+ - network-bsd
5025+ - network-byte-order
5026+ - network-info
5027+ - network-ip
5028+ - network-run
5029+ - network-uri < 2.7.0.0 || > 2.7.0.0 # 2.7.0.0 was deprecated, don't remove bound until >2.7.0.0 is released.
5030+ - newtype
5031+ - nicify-lib
5032+ - old-locale
5033+ - old-time
5034+ - one-liner
5035+ - operational
5036+ - optional-args
5037+ - options
5038+ - optparse-applicative
5039+ - parallel
5040+ - path-pieces
5041+ - pcg-random
5042+ - pipes-bytestring
5043+ - pipes-group
5044+ - placeholders
5045+ - poll
5046+ - polyparse
5047+ - postgresql-libpq
5048+ - postgresql-simple
5049+ - postgresql-simple-url
5050+ - pretty-hex
5051+ - pretty-show
5052+ - prettyprinter-convert-ansi-wl-pprint
5053+ - primes
5054+ - primitive
5055+ - primitive-unaligned
5056+ - process-extras
5057+ - product-isomorphic
5058+ - project-template
5059+ - protobuf < 0.2.1.4 || > 0.2.1.4 # deprecated version
5060+ - pureMD5
5061+ - quickcheck-instances
5062+ - quickcheck-io
5063+ - quickcheck-simple
5064+ - quickcheck-unicode
5065+ - quicklz
5066+ - ral # req'd by boring
5067+ - random
5068+ - random-shuffle
5069+ - range-set-list
5070+ - raw-strings-qq
5071+ - readable
5072+ - regex-applicative-text
5073+ - regex-pcre-builtin
5074+ - regex-tdfa-text
5075+ - relapse
5076+ - relational-schemas
5077+ - resolv
5078+ - resource-pool
5079+ - resourcet
5080+ - rfc5051
5081+ - rio
5082+ - rio-orphans
5083+ - safe-exceptions-checked
5084+ - safecopy
5085+ - scientific
5086+ - securemem
5087+ - selective
5088+ - semialign
5089+ - semialign-indexed
5090+ - semialign-optics
5091+ - serialise
5092+ - servant-client-core
5093+ - servant-multipart-client
5094+ - servant-swagger-ui
5095+ - servant-swagger-ui-core
5096+ - servant-swagger-ui-redoc
5097+ - servant-yaml
5098+ - setenv
5099+ - shakespeare
5100+ - shell-escape
5101+ - silently
5102+ - simple-reflect
5103+ - simple-sendfile
5104+ - singleton-bool
5105+ - size-based
5106+ - skein
5107+ - snap-core
5108+ - snappy
5109+ - some
5110+ - special-values
5111+ - splice
5112+ - split
5113+ - splitmix
5114+ - sql-words
5115+ - stateref
5116+ - statistics
5117+ - step-function
5118+ - stm-delay
5119+ - storable-complex
5120+ - streaming-cassava
5121+ - strict
5122+ - strict-list
5123+ - string-qq
5124+ - stringbuilder
5125+ - structured
5126+ - sundown
5127+ - syb
5128+ - system-fileio
5129+ - system-filepath
5130+ - tabular
5131+ - tar
5132+ - tasty-lua
5133+ - tasty-th
5134+ - tdigest
5135+ - template-haskell-compat-v0208
5136+ - temporary
5137+ - temporary-rc
5138+ - temporary-resourcet
5139+ - test-framework
5140+ - test-framework-hunit
5141+ - test-framework-quickcheck2
5142+ - test-framework-smallcheck
5143+ - test-framework-th
5144+ - testing-feat
5145+ - testing-type-modifiers
5146+ - text-icu
5147+ - text-latin1
5148+ - text-postgresql
5149+ - text-printer
5150+ - text-short
5151+ - text-zipper
5152+ - tf-random
5153+ - th-extras
5154+ - th-lift-instances
5155+ - th-utilities
5156+ - these
5157+ - these-lens < 1.0.1 || > 1.0.1
5158+ - these-optics < 1.0.1 || > 1.0.1
5159+ - threads
5160+ - thyme
5161+ - time-locale-compat
5162+ - time-parsers
5163+ - timeit
5164+ - tls-session-manager
5165+ - token-bucket
5166+ - tonatona
5167+ - transformers-base
5168+ - tree-diff
5169+ - trivial-constraint
5170+ - true-name
5171+ - tuple-th
5172+ - type-fun
5173+ - type-hint
5174+ - uglymemo
5175+ - unbounded-delays
5176+ - unicode-collation
5177+ - universe
5178+ - universe-base
5179+ - universe-dependent-sum
5180+ - universe-instances-base
5181+ - universe-instances-extended
5182+ - universe-instances-trans
5183+ - universe-reverse-instances
5184+ - universe-some
5185+ - unix-time
5186+ - url
5187+ - utf8-light
5188+ - utf8-string
5189+ - uuid-types
5190+ - vault
5191+ - vec
5192+ - vector
5193+ - vector-algorithms
5194+ - vector-binary-instances
5195+ - vector-space
5196+ - vector-th-unbox
5197+ - vty
5198+ - wai
5199+ - wai-app-static
5200+ - wai-conduit
5201+ - wai-eventsource
5202+ - wai-handler-launch
5203+ - wai-logger
5204+ - wai-session
5205+ - warp
5206+ - wcwidth
5207+ - with-location
5208+ - wizards
5209+ - word-wrap
5210+ - word8
5211+ - x509
5212+ - x509-store
5213+ - x509-system
5214+ - x509-validation
5215+ - xml
5216+ - xml-conduit
5217+ - xml-conduit-writer
5218+ - xml-hamlet
5219+ - xml-types
5220+ - xss-sanitize
5221+ - yeshql-core
5222+ - yeshql-hdbc
5223+ - yesod-core
5224+ - yesod-form
5225+ - yesod-persistent
5226+ - zlib
5227+ - zlib-bindings
5228+
5229+ # If you stop maintaining a package (either just on stackage, or
5230+ # completely),you can move it here. It will be disabled if it
5231+ # starts causing problems.
5232+ #
5233+ # See #1056/closed
5234+ #
5235+ # When disabling one of these packages, move it to "Removed packages".
24185236 "Abandoned packages":
5237+ - Earley
5238+ - bower-json
5239+ - boxes
5240+ - cassava
5241+ - charsetdetect-ae # #6326/closed
5242+ - coercible-utils # #6271
5243+ - compiler-warnings # #6326/closed
24195244 - curl
5245+ - docopt # #6326/closed
5246+ - dynamic-state # #6326/closed
5247+ - first-class-patterns # #5965/closed
5248+ - ghc-trace-events # #6326/closed
5249+ - hashing # #6271
5250+ - hnix-store-core # #6271
5251+ - ilist # #5965/closed
5252+ - io-storage # #6326/closed
5253+ - monadlist # #6271
5254+ - non-empty-sequence
5255+ - numeric-limits # #6326/closed
5256+ - oo-prototypes # #6326/closed
5257+ - opentelemetry # #6326/closed
5258+ - opentelemetry-extra # #6326/closed
5259+ - opentelemetry-lightstep # #6326/closed
5260+ - opentelemetry-wai # #6326/closed
5261+ - path # #6271
5262+ - pattern-arrows
5263+ - planb-token-introspection # #6326/closed
5264+ - pointedlist # #6326/closed
5265+ - relude # #5965/closed
5266+ - shellmet # #5965/closed
5267+ - slist # #5965/closed
5268+ - type-errors-pretty # #5965/closed
5269+ - typerep-map # #5965/closed
5270+ - unordered-intmap # #6326/closed
5271+ - validation-selective # #5965/closed
5272+ - word-trie # #6326/closed
5273+ - xdg-basedir # #6326/closed
5274+ - yi-rope # #6326/closed
5275+
5276+ # Packages without maintainers that cause issues,
5277+ # this is to prevent us from including them by accident. They can
5278+ # be removed from this list if they are fixed.
5279+ "Unmaintained packages with compilation failures": []
5280+
5281+ # If you want to make sure a package is removed from stackage,
5282+ # place it here with a `< 0` constraint and send a pull
5283+ # request. This will tell us if other packages would be
5284+ # affected. Packages will be kept in this list indefinitely so
5285+ # that new packages depending on it will be flagged as well.
5286+ "Removed packages":
5287+ - PSQueue < 0 # compile fail
5288+ - Unique < 0
5289+ - cli < 0 # compile fail
5290+ - co-log-core < 0 # #5965/closed
5291+ - co-log-polysemy < 0 # #5965/closed
5292+ - fingertree-psqueue < 0 # compile fail
5293+ - hastache < 0 # bounds
5294+ - heart-core < 0 # deprecated
5295+ - hnix < 0 # #6271/closed
5296+ - json-builder < 0 # compile fail https://github.com/lpsmith/json-builder/issues/2
5297+ - lens-labels < 0 # deprecated #4358/closed
5298+ - membrain < 0 # #5965/closed
5299+ - preprocessor-tools < 0 # compile fail
5300+ - present < 0 # #6271
5301+ - prim-array < 0 # compile fail
5302+ - proto-lens-combinators < 0 # deprecated https://github.com/commercialhaskell/stackage/pull/4358
5303+ - shortcut-links < 0 # #5965/closed
5304+ - snap-server < 0 # #6271
5305+ - syb-with-class < 0 # compile fail
5306+ - tinytemplate < 0 # compile fail
5307+ - tomland < 0 # #5965/closed
5308+ - type-combinators < 0 # compile fail https://github.com/kylcarte/type-combinators/issues/8
5309+ - wai-route < 0 # compile fail
5310+ - xxhash < 0 # compile fail
5311+ - universe-instances-base < 0 # deprecated
5312+ - universe-instances-trans < 0 # deprecated
24205313
24215314 "GHC upper bounds":
24225315 # Need to always match the version shipped with GHC
2423− - Win32 == 2.3.1.1
5316+ - Win32 == 2.12.0.1
5317+
5318+ # Section for packages that have been mass-disabled due to
5319+ # compilation failures, e.g. after we upgrade GHC. Every package
5320+ # should have a `< 0` constraint.
5321+ #
5322+ # These constraints can (should?) be moved under the maintainers
5323+ # name, but please add a "compile fail" comment to them there so
5324+ # it's clear that they must be built if we want to confirm that
5325+ # they are working.
5326+ "Compilation failures":
5327+ - Fin < 0 # 0.2.9.0 `@' not in scope
5328+ - HDBC-mysql < 0 # 0.7.1.0
5329+ - Spock-core < 0 # 0.14.0.0
5330+ - Workflow < 0 # 0.8.3
5331+ - accuerr < 0 # 0.2.0.2
5332+ - aeson-lens < 0 # 0.5.0.0
5333+ - auto < 0 # 0.4.3.1
5334+ - aws-xray-client < 0 # 0.1.0.1
5335+ - backprop < 0 # 0.2.6.4
5336+ - binary-ext < 0 # 2.0.4
5337+ - bins < 0 # 0.1.2.0
5338+ - bitcoin-script < 0 # 0.11.1
5339+ - btrfs < 0 # 0.2.0.0
5340+ - bv-little < 0 # 1.1.1 - can't reproduce locally: No instance for (Eq BigNat)
5341+ - cabal-debian < 0 # 5.1
5342+ - cabal-toolkit < 0 # 0.0.7
5343+ - chaselev-deque < 0 # 0.5.0.5
5344+ - compdata < 0 # 0.12.1
5345+ - courier < 0 # 0.1.1.5
5346+ - cql < 0 # 4.0.3
5347+ - crypto-numbers < 0 # 0.2.7
5348+ - cuckoo-filter < 0 # 0.2.0.2 benchmarks are an exe
5349+ - derive-topdown < 0 # 0.0.2.2
5350+ - distributed-closure < 0 # 0.4.2.0
5351+ - djinn-ghc < 0 # 0.0.2.3
5352+ - drinkery < 0 # 0.4
5353+ - enum-subset-generate < 0 # 0.1.0.0
5354+ - essence-of-live-coding-quickcheck < 0 # 0.2.5
5355+ - etcd < 0 # 1.0.5
5356+ - farmhash < 0 # 0.1.0.5
5357+ - eve < 0 # 0.1.9.0
5358+ - eventsource-store-specs < 0 # 1.2.1
5359+ - exinst < 0 # 0.8
5360+ - ftp-client-conduit < 0 # 0.5.0.5
5361+ - giphy-api < 0 # 0.7.0.0 https://github.com/passy/giphy-api/pull/19
5362+ - gluturtle < 0 # 0.0.58.1
5363+ - haskell-import-graph < 0 # 1.0.4
5364+ - haskell-spacegoo < 0 # 0.2.0.1
5365+ - haskoin-node < 0 # libsecp256k1
5366+ - haxl < 0 # 2.3.0.0
5367+ - hbeanstalk < 0 # 0.2.4
5368+ - heterocephalus < 0 # 1.0.5.4
5369+ - hexml-lens < 0 # 0.2.1
5370+ - hexstring < 0 # 0.11.1
5371+ - hs-functors < 0 # 0.1.7.1
5372+ - hschema < 0 # 0.0.1.1
5373+ - hstatsd < 0 # 0.1
5374+ - interpolator < 0 # 1.1.0.2
5375+ - io-choice < 0 # 0.0.7
5376+ - katydid < 0 # 0.4.0.2 MonadFail
5377+ - kdt < 0 # 0.2.4 https://github.com/giogadi/kdt/issues/5
5378+ - lens-typelevel < 0 # 0.1.1.0
5379+ - llvm-hs < 0 # llvm-config
5380+ - llvm-hs-pretty < 0 # 0.9.0.0
5381+ - machines-binary < 0 # 7.0.0.0
5382+ - machines-io < 0 # 7.0.0.0
5383+ - marvin-interpolate < 0 # 1.1.2
5384+ - mltool < 0 # 0.2.0.1
5385+ - moesocks < 0 # 1.0.1.0
5386+ - monad-recorder < 0 # 0.1.1
5387+ - monad-unlift < 0 # 0.2.0
5388+ - murmur < 0 # 0.0.0.2
5389+ - n2o-protocols < 0 # 0.11.2
5390+ - nvim-hs-contrib < 0 # 2.0.0.0
5391+ - odbc < 0 # odbc
5392+ - open-witness < 0 # 0.5
5393+ - pencil < 0 # 1.0.1
5394+ - pipes-aeson < 0 # 0.4.1.8
5395+ - pipes-binary < 0 # 0.4.3
5396+ - pipes-network < 0 # 0.6.5
5397+ - pipes-text < 0 # 1.0.0
5398+ - pkcs10 < 0 # 0.2.0.0
5399+ - planb-token-introspection < 0 # 0.1.4.0
5400+ - postgresql-transactional < 0 # 1.1.1
5401+ - raaz < 0 # 0.3.6 multiple libraries
5402+ - regex-compat-tdfa < 0 # 0.95.1.4
5403+ - rhine < 0 # 0.7.0
5404+ - rose-trees < 0 # compilation seems to hang?
5405+ - sdl2-gfx < 0 # SDL2_gfx
5406+ - sdl2-image < 0 # SDL2_image
5407+ - sdl2-mixer < 0 # SDL2_mixer
5408+ - sessiontypes < 0 # 0.1.2
5409+ - simplistic-generics < 0 # 2.0.0
5410+ - slack-api < 0 # 0.12
5411+ - squeal-postgresql < 0 # 0.8.1.1
5412+ - stm-stats < 0 # 0.2.0.0
5413+ - sydtest-persistent-sqlite < 0 # 0.2.0.0
5414+ - text-region < 0 # 0.3.1.0
5415+ - th-data-compat < 0 # 0.1.0.0
5416+ - throttle-io-stream < 0 # 0.2.0.1
5417+ - throwable-exceptions < 0 # 0.1.0.9
5418+ - thyme < 0 # 0.3.5.5 unknown argument --cpp
5419+ - time-qq < 0 # 0.0.1.0
5420+ - timemap < 0 # 0.0.7 https://github.com/athanclark/timemap/issues/1
5421+ - tintin < 0 # 1.10.1
5422+ - turtle-options < 0 # 0.1.0.4
5423+ - type-assertions < 0 # 0.1.0.0
5424+ - typecheck-plugin-nat-simple < 0 # 0.1.0.2
5425+ - ulid < 0 # 0.3.0.0
5426+ - uncertain < 0 # 0.3.1.0
5427+ - unordered-intmap < 0 # 0.1.1
5428+ - users-persistent < 0 # 0.5.0.2
5429+ - wai-predicates < 0 # 1.0.0
5430+ - webex-teams-pipes < 0 # 0.2.0.1
5431+ - websockets-rpc < 0 # 0.7.0
5432+ - word24 < 0 # 2.0.1
5433+ - xls < 0 # 0.1.3 gcc failed
5434+ - xml-conduit-parse < 0 # 0.3.1.2
5435+ - xml-lens < 0 # 0.3
5436+ - xturtle < 0 # xft
5437+ - yeshql-hdbc < 0 # 4.2.0.0
5438+
5439+
5440+ # See "Large scale enabling/disabling of packages" in CURATORS.md for how to manage this section.
5441+ #
5442+ # This section is meant for libraries and executables that have
5443+ # bene disabled due to bounds issues, there is a separate section
5444+ # for compilation failures as we need to build those packages to
5445+ # verify if they have been fixeq.
5446+ "Library and exe bounds failures":
5447+ - BiobaseHTTP < 0 # tried BiobaseHTTP-1.2.0, but its *library* does not support: network-3.1.2.7
5448+ - BlastHTTP < 0 # tried BlastHTTP-1.4.2, but its *library* does not support: network-3.1.2.7
5449+ - Chart-cairo < 0 # tried Chart-cairo-1.9.3, but its *library* requires the disabled package: cairo
5450+ - Chart-diagrams < 0 # tried Chart-diagrams-1.9.3, but its *library* does not support: SVGFonts-1.8.0.1
5451+ - EntrezHTTP < 0 # tried EntrezHTTP-1.0.4, but its *library* requires the disabled package: biocore
5452+ - FPretty < 0 # tried FPretty-1.1, but its *library* does not support: base-4.15.1.0
5453+ - GPipe < 0 # tried GPipe-2.2.5, but its *library* does not support: linear-1.21.8
5454+ - Genbank < 0 # tried Genbank-1.0.3, but its *library* requires the disabled package: biocore
5455+ - H < 0 # tried H-0.9.0.1, but its *executable* requires the disabled package: inline-r
5456+ - HaskellNet < 0 # tried HaskellNet-0.6, but its *library* does not support: base-4.15.1.0
5457+ - HaskellNet-SSL < 0 # tried HaskellNet-SSL-0.3.4.4, but its *library* requires the disabled package: HaskellNet
5458+ - Hoed < 0 # tried Hoed-0.5.1, but its *library* requires the disabled package: regex-tdfa-text
5459+ - IPv6DB < 0 # tried IPv6DB-0.3.2, but its *executable* does not support: fast-logger-3.1.1
5460+ - IPv6DB < 0 # tried IPv6DB-0.3.2, but its *executable* does not support: optparse-applicative-0.16.1.0
5461+ - IPv6DB < 0 # tried IPv6DB-0.3.2, but its *library* does not support: IPv6Addr-2.0.4
5462+ - IPv6DB < 0 # tried IPv6DB-0.3.2, but its *library* does not support: aeson-1.5.6.0
5463+ - IPv6DB < 0 # tried IPv6DB-0.3.2, but its *library* does not support: attoparsec-0.14.4
5464+ - IPv6DB < 0 # tried IPv6DB-0.3.2, but its *library* does not support: hedis-0.15.0
5465+ - IPv6DB < 0 # tried IPv6DB-0.3.2, but its *library* does not support: unordered-containers-0.2.16.0
5466+ - JuicyPixels-blp < 0 # tried JuicyPixels-blp-0.2.0.0, but its *library* does not support: attoparsec-0.14.4
5467+ - JuicyPixels-blp < 0 # tried JuicyPixels-blp-0.2.0.0, but its *library* does not support: text-show-3.9.6
5468+ - MFlow < 0 # tried MFlow-0.4.6.0, but its *library* requires the disabled package: Workflow
5469+ - MFlow < 0 # tried MFlow-0.4.6.0, but its *library* requires the disabled package: monadloc
5470+ - MFlow < 0 # tried MFlow-0.4.6.0, but its *library* requires the disabled package: pwstore-fast
5471+ - MapWith < 0 # tried MapWith-0.2.0.0, but its *library* does not support: base-4.15.1.0
5472+ - Network-NineP < 0 # tried Network-NineP-0.4.7.1, but its *library* requires the disabled package: mstate
5473+ - NoTrace < 0 # tried NoTrace-0.3.0.4, but its *library* does not support: base-4.15.1.0
5474+ - RNAlien < 0 # tried RNAlien-1.7.0, but its *library* does not support: BiobaseBlast-0.3.3.0
5475+ - RNAlien < 0 # tried RNAlien-1.7.0, but its *library* does not support: BiobaseFasta-0.4.0.1
5476+ - RNAlien < 0 # tried RNAlien-1.7.0, but its *library* does not support: BiobaseHTTP-1.2.0
5477+ - RNAlien < 0 # tried RNAlien-1.7.0, but its *library* does not support: BiobaseTypes-0.2.1.0
5478+ - RNAlien < 0 # tried RNAlien-1.7.0, but its *library* does not support: aeson-1.5.6.0
5479+ - RNAlien < 0 # tried RNAlien-1.7.0, but its *library* does not support: network-3.1.2.7
5480+ - RNAlien < 0 # tried RNAlien-1.7.0, but its *library* requires the disabled package: hierarchical-clustering
5481+ - Spock < 0 # tried Spock-0.14.0.0, but its *library* requires the disabled package: Spock-core
5482+ - Spock-api-server < 0 # tried Spock-api-server-0.14.0.0, but its *library* requires the disabled package: Spock-core
5483+ - Spock-lucid < 0 # tried Spock-lucid-0.4.0.1, but its *library* requires the disabled package: Spock
5484+ - Spock-worker < 0 # tried Spock-worker-0.3.1.0, but its *library* requires the disabled package: Spock
5485+ - Strafunski-StrategyLib < 0 # tried Strafunski-StrategyLib-5.0.1.0, but its *library* does not support: base-4.15.1.0
5486+ - TotalMap < 0 # tried TotalMap-0.1.1.1, but its *library* does not support: base-4.15.1.0
5487+ - TotalMap < 0 # tried TotalMap-0.1.1.1, but its *library* does not support: lens-5.0.1
5488+ - YampaSynth < 0 # tried YampaSynth-0.2, but its *executable* requires the disabled package: Yampa
5489+ - accelerate < 0 # tried accelerate-1.3.0.0, but its *library* does not support: base-4.15.1.0
5490+ - accelerate-arithmetic < 0 # tried accelerate-arithmetic-1.0.0.1, but its *library* does not support: accelerate-1.3.0.0
5491+ - accelerate-bignum < 0 # tried accelerate-bignum-0.3.0.0, but its *library* requires the disabled package: accelerate
5492+ - accelerate-bignum < 0 # tried accelerate-bignum-0.3.0.0, but its *library* requires the disabled package: accelerate-llvm
5493+ - accelerate-bignum < 0 # tried accelerate-bignum-0.3.0.0, but its *library* requires the disabled package: accelerate-llvm-native
5494+ - accelerate-bignum < 0 # tried accelerate-bignum-0.3.0.0, but its *library* requires the disabled package: accelerate-llvm-ptx
5495+ - accelerate-blas < 0 # tried accelerate-blas-0.3.0.0, but its *library* requires the disabled package: accelerate
5496+ - accelerate-blas < 0 # tried accelerate-blas-0.3.0.0, but its *library* requires the disabled package: accelerate-llvm
5497+ - accelerate-blas < 0 # tried accelerate-blas-0.3.0.0, but its *library* requires the disabled package: accelerate-llvm-native
5498+ - accelerate-blas < 0 # tried accelerate-blas-0.3.0.0, but its *library* requires the disabled package: accelerate-llvm-ptx
5499+ - accelerate-examples < 0 # tried accelerate-examples-1.3.0.0, but its *executable* requires the disabled package: accelerate-io-bmp
5500+ - accelerate-examples < 0 # tried accelerate-examples-1.3.0.0, but its *executable* requires the disabled package: accelerate-io-repa
5501+ - accelerate-examples < 0 # tried accelerate-examples-1.3.0.0, but its *executable* requires the disabled package: accelerate-io-vector
5502+ - accelerate-examples < 0 # tried accelerate-examples-1.3.0.0, but its *executable* requires the disabled package: normaldistribution
5503+ - accelerate-fft < 0 # tried accelerate-fft-1.3.0.0, but its *library* requires the disabled package: accelerate
5504+ - accelerate-fft < 0 # tried accelerate-fft-1.3.0.0, but its *library* requires the disabled package: accelerate-llvm
5505+ - accelerate-fft < 0 # tried accelerate-fft-1.3.0.0, but its *library* requires the disabled package: accelerate-llvm-native
5506+ - accelerate-fft < 0 # tried accelerate-fft-1.3.0.0, but its *library* requires the disabled package: accelerate-llvm-ptx
5507+ - accelerate-fft < 0 # tried accelerate-fft-1.3.0.0, but its *library* requires the disabled package: lens-accelerate
5508+ - accelerate-fftw < 0 # tried accelerate-fftw-1.0.0.1, but its *library* does not support: accelerate-1.3.0.0
5509+ - accelerate-fftw < 0 # tried accelerate-fftw-1.0.0.1, but its *library* does not support: accelerate-io-1.3.0.0
5510+ - accelerate-fourier < 0 # tried accelerate-fourier-1.0.0.5, but its *library* does not support: accelerate-1.3.0.0
5511+ - accelerate-fourier < 0 # tried accelerate-fourier-1.0.0.5, but its *library* does not support: containers-0.6.4.1
5512+ - accelerate-io < 0 # tried accelerate-io-1.3.0.0, but its *library* requires the disabled package: accelerate
5513+ - accelerate-llvm < 0 # tried accelerate-llvm-1.3.0.0, but its *library* requires the disabled package: llvm-hs
5514+ - accelerate-llvm-native < 0 # tried accelerate-llvm-native-1.3.0.0, but its *library* requires the disabled package: llvm-hs
5515+ - accelerate-llvm-ptx < 0 # tried accelerate-llvm-ptx-1.3.0.0, but its *library* requires the disabled package: llvm-hs
5516+ - accelerate-utility < 0 # tried accelerate-utility-1.0.0.1, but its *library* does not support: accelerate-1.3.0.0
5517+ - aeson-diff < 0 # tried aeson-diff-1.1.0.9, but its *library* does not support: base-4.15.1.0
5518+ - aeson-injector < 0 # tried aeson-injector-1.1.5.0, but its *library* does not support: lens-5.0.1
5519+ - aeson-picker < 0 # tried aeson-picker-0.1.0.5, but its *library* does not support: lens-5.0.1
5520+ - airship < 0 # tried airship-0.9.4, but its *library* does not support: base64-bytestring-1.2.1.0
5521+ - airship < 0 # tried airship-0.9.4, but its *library* does not support: bytestring-trie-0.2.6
5522+ - airship < 0 # tried airship-0.9.4, but its *library* does not support: semigroups-0.19.2
5523+ - airship < 0 # tried airship-0.9.4, but its *library* does not support: wai-3.2.3
5524+ - airship < 0 # tried airship-0.9.4, but its *library* does not support: wai-extra-3.1.8
5525+ - alg < 0 # tried alg-0.2.13.1, but its *library* requires the disabled package: util
5526+ - amazonka < 0 # tried amazonka-1.6.1, but its *library* does not support: http-client-0.7.10
5527+ - amazonka < 0 # tried amazonka-1.6.1, but its *library* does not support: unliftio-core-0.2.0.1
5528+ - amazonka-apigateway < 0 # tried amazonka-apigateway-1.6.1, but its *library* requires the disabled package: amazonka-core
5529+ - amazonka-application-autoscaling < 0 # tried amazonka-application-autoscaling-1.6.1, but its *library* requires the disabled package: amazonka-core
5530+ - amazonka-appstream < 0 # tried amazonka-appstream-1.6.1, but its *library* requires the disabled package: amazonka-core
5531+ - amazonka-athena < 0 # tried amazonka-athena-1.6.1, but its *library* requires the disabled package: amazonka-core
5532+ - amazonka-autoscaling < 0 # tried amazonka-autoscaling-1.6.1, but its *library* requires the disabled package: amazonka-core
5533+ - amazonka-budgets < 0 # tried amazonka-budgets-1.6.1, but its *library* requires the disabled package: amazonka-core
5534+ - amazonka-certificatemanager < 0 # tried amazonka-certificatemanager-1.6.1, but its *library* requires the disabled package: amazonka-core
5535+ - amazonka-cloudformation < 0 # tried amazonka-cloudformation-1.6.1, but its *library* requires the disabled package: amazonka-core
5536+ - amazonka-cloudfront < 0 # tried amazonka-cloudfront-1.6.1, but its *library* requires the disabled package: amazonka-core
5537+ - amazonka-cloudhsm < 0 # tried amazonka-cloudhsm-1.6.1, but its *library* requires the disabled package: amazonka-core
5538+ - amazonka-cloudsearch < 0 # tried amazonka-cloudsearch-1.6.1, but its *library* requires the disabled package: amazonka-core
5539+ - amazonka-cloudsearch-domains < 0 # tried amazonka-cloudsearch-domains-1.6.1, but its *library* requires the disabled package: amazonka-core
5540+ - amazonka-cloudtrail < 0 # tried amazonka-cloudtrail-1.6.1, but its *library* requires the disabled package: amazonka-core
5541+ - amazonka-cloudwatch < 0 # tried amazonka-cloudwatch-1.6.1, but its *library* requires the disabled package: amazonka-core
5542+ - amazonka-cloudwatch-events < 0 # tried amazonka-cloudwatch-events-1.6.1, but its *library* requires the disabled package: amazonka-core
5543+ - amazonka-cloudwatch-logs < 0 # tried amazonka-cloudwatch-logs-1.6.1, but its *library* requires the disabled package: amazonka-core
5544+ - amazonka-codebuild < 0 # tried amazonka-codebuild-1.6.1, but its *library* requires the disabled package: amazonka-core
5545+ - amazonka-codecommit < 0 # tried amazonka-codecommit-1.6.1, but its *library* requires the disabled package: amazonka-core
5546+ - amazonka-codedeploy < 0 # tried amazonka-codedeploy-1.6.1, but its *library* requires the disabled package: amazonka-core
5547+ - amazonka-codepipeline < 0 # tried amazonka-codepipeline-1.6.1, but its *library* requires the disabled package: amazonka-core
5548+ - amazonka-cognito-identity < 0 # tried amazonka-cognito-identity-1.6.1, but its *library* requires the disabled package: amazonka-core
5549+ - amazonka-cognito-idp < 0 # tried amazonka-cognito-idp-1.6.1, but its *library* requires the disabled package: amazonka-core
5550+ - amazonka-cognito-sync < 0 # tried amazonka-cognito-sync-1.6.1, but its *library* requires the disabled package: amazonka-core
5551+ - amazonka-config < 0 # tried amazonka-config-1.6.1, but its *library* requires the disabled package: amazonka-core
5552+ - amazonka-core < 0 # tried amazonka-core-1.6.1, but its *library* does not support: http-client-0.7.10
5553+ - amazonka-datapipeline < 0 # tried amazonka-datapipeline-1.6.1, but its *library* requires the disabled package: amazonka-core
5554+ - amazonka-devicefarm < 0 # tried amazonka-devicefarm-1.6.1, but its *library* requires the disabled package: amazonka-core
5555+ - amazonka-directconnect < 0 # tried amazonka-directconnect-1.6.1, but its *library* requires the disabled package: amazonka-core
5556+ - amazonka-discovery < 0 # tried amazonka-discovery-1.6.1, but its *library* requires the disabled package: amazonka-core
5557+ - amazonka-dms < 0 # tried amazonka-dms-1.6.1, but its *library* requires the disabled package: amazonka-core
5558+ - amazonka-ds < 0 # tried amazonka-ds-1.6.1, but its *library* requires the disabled package: amazonka-core
5559+ - amazonka-dynamodb < 0 # tried amazonka-dynamodb-1.6.1, but its *library* requires the disabled package: amazonka-core
5560+ - amazonka-dynamodb-streams < 0 # tried amazonka-dynamodb-streams-1.6.1, but its *library* requires the disabled package: amazonka-core
5561+ - amazonka-ecr < 0 # tried amazonka-ecr-1.6.1, but its *library* requires the disabled package: amazonka-core
5562+ - amazonka-ecs < 0 # tried amazonka-ecs-1.6.1, but its *library* requires the disabled package: amazonka-core
5563+ - amazonka-efs < 0 # tried amazonka-efs-1.6.1, but its *library* requires the disabled package: amazonka-core
5564+ - amazonka-elasticache < 0 # tried amazonka-elasticache-1.6.1, but its *library* requires the disabled package: amazonka-core
5565+ - amazonka-elasticbeanstalk < 0 # tried amazonka-elasticbeanstalk-1.6.1, but its *library* requires the disabled package: amazonka-core
5566+ - amazonka-elasticsearch < 0 # tried amazonka-elasticsearch-1.6.1, but its *library* requires the disabled package: amazonka-core
5567+ - amazonka-elastictranscoder < 0 # tried amazonka-elastictranscoder-1.6.1, but its *library* requires the disabled package: amazonka-core
5568+ - amazonka-elb < 0 # tried amazonka-elb-1.6.1, but its *library* requires the disabled package: amazonka-core
5569+ - amazonka-elbv2 < 0 # tried amazonka-elbv2-1.6.1, but its *library* requires the disabled package: amazonka-core
5570+ - amazonka-emr < 0 # tried amazonka-emr-1.6.1, but its *library* requires the disabled package: amazonka-core
5571+ - amazonka-gamelift < 0 # tried amazonka-gamelift-1.6.1, but its *library* requires the disabled package: amazonka-core
5572+ - amazonka-glacier < 0 # tried amazonka-glacier-1.6.1, but its *library* requires the disabled package: amazonka-core
5573+ - amazonka-glue < 0 # tried amazonka-glue-1.6.1, but its *library* requires the disabled package: amazonka-core
5574+ - amazonka-health < 0 # tried amazonka-health-1.6.1, but its *library* requires the disabled package: amazonka-core
5575+ - amazonka-iam < 0 # tried amazonka-iam-1.6.1, but its *library* requires the disabled package: amazonka-core
5576+ - amazonka-importexport < 0 # tried amazonka-importexport-1.6.1, but its *library* requires the disabled package: amazonka-core
5577+ - amazonka-inspector < 0 # tried amazonka-inspector-1.6.1, but its *library* requires the disabled package: amazonka-core
5578+ - amazonka-iot < 0 # tried amazonka-iot-1.6.1, but its *library* requires the disabled package: amazonka-core
5579+ - amazonka-iot-dataplane < 0 # tried amazonka-iot-dataplane-1.6.1, but its *library* requires the disabled package: amazonka-core
5580+ - amazonka-kinesis < 0 # tried amazonka-kinesis-1.6.1, but its *library* requires the disabled package: amazonka-core
5581+ - amazonka-kinesis-analytics < 0 # tried amazonka-kinesis-analytics-1.6.1, but its *library* requires the disabled package: amazonka-core
5582+ - amazonka-kinesis-firehose < 0 # tried amazonka-kinesis-firehose-1.6.1, but its *library* requires the disabled package: amazonka-core
5583+ - amazonka-kms < 0 # tried amazonka-kms-1.6.1, but its *library* requires the disabled package: amazonka-core
5584+ - amazonka-lambda < 0 # tried amazonka-lambda-1.6.1, but its *library* requires the disabled package: amazonka-core
5585+ - amazonka-lightsail < 0 # tried amazonka-lightsail-1.6.1, but its *library* requires the disabled package: amazonka-core
5586+ - amazonka-marketplace-analytics < 0 # tried amazonka-marketplace-analytics-1.6.1, but its *library* requires the disabled package: amazonka-core
5587+ - amazonka-marketplace-metering < 0 # tried amazonka-marketplace-metering-1.6.1, but its *library* requires the disabled package: amazonka-core
5588+ - amazonka-ml < 0 # tried amazonka-ml-1.6.1, but its *library* requires the disabled package: amazonka-core
5589+ - amazonka-opsworks < 0 # tried amazonka-opsworks-1.6.1, but its *library* requires the disabled package: amazonka-core
5590+ - amazonka-opsworks-cm < 0 # tried amazonka-opsworks-cm-1.6.1, but its *library* requires the disabled package: amazonka-core
5591+ - amazonka-pinpoint < 0 # tried amazonka-pinpoint-1.6.1, but its *library* requires the disabled package: amazonka-core
5592+ - amazonka-polly < 0 # tried amazonka-polly-1.6.1, but its *library* requires the disabled package: amazonka-core
5593+ - amazonka-rds < 0 # tried amazonka-rds-1.6.1, but its *library* requires the disabled package: amazonka-core
5594+ - amazonka-redshift < 0 # tried amazonka-redshift-1.6.1, but its *library* requires the disabled package: amazonka-core
5595+ - amazonka-rekognition < 0 # tried amazonka-rekognition-1.6.1, but its *library* requires the disabled package: amazonka-core
5596+ - amazonka-route53 < 0 # tried amazonka-route53-1.6.1, but its *library* requires the disabled package: amazonka-core
5597+ - amazonka-route53-domains < 0 # tried amazonka-route53-domains-1.6.1, but its *library* requires the disabled package: amazonka-core
5598+ - amazonka-s3 < 0 # tried amazonka-s3-1.6.1, but its *library* requires the disabled package: amazonka-core
5599+ - amazonka-sdb < 0 # tried amazonka-sdb-1.6.1, but its *library* requires the disabled package: amazonka-core
5600+ - amazonka-servicecatalog < 0 # tried amazonka-servicecatalog-1.6.1, but its *library* requires the disabled package: amazonka-core
5601+ - amazonka-ses < 0 # tried amazonka-ses-1.6.1, but its *library* requires the disabled package: amazonka-core
5602+ - amazonka-shield < 0 # tried amazonka-shield-1.6.1, but its *library* requires the disabled package: amazonka-core
5603+ - amazonka-sms < 0 # tried amazonka-sms-1.6.1, but its *library* requires the disabled package: amazonka-core
5604+ - amazonka-snowball < 0 # tried amazonka-snowball-1.6.1, but its *library* requires the disabled package: amazonka-core
5605+ - amazonka-sns < 0 # tried amazonka-sns-1.6.1, but its *library* requires the disabled package: amazonka-core
5606+ - amazonka-sqs < 0 # tried amazonka-sqs-1.6.1, but its *library* requires the disabled package: amazonka-core
5607+ - amazonka-ssm < 0 # tried amazonka-ssm-1.6.1, but its *library* requires the disabled package: amazonka-core
5608+ - amazonka-stepfunctions < 0 # tried amazonka-stepfunctions-1.6.1, but its *library* requires the disabled package: amazonka-core
5609+ - amazonka-storagegateway < 0 # tried amazonka-storagegateway-1.6.1, but its *library* requires the disabled package: amazonka-core
5610+ - amazonka-sts < 0 # tried amazonka-sts-1.6.1, but its *library* requires the disabled package: amazonka-core
5611+ - amazonka-support < 0 # tried amazonka-support-1.6.1, but its *library* requires the disabled package: amazonka-core
5612+ - amazonka-swf < 0 # tried amazonka-swf-1.6.1, but its *library* requires the disabled package: amazonka-core
5613+ - amazonka-test < 0 # tried amazonka-test-1.6.1, but its *library* requires the disabled package: amazonka-core
5614+ - amazonka-waf < 0 # tried amazonka-waf-1.6.1, but its *library* requires the disabled package: amazonka-core
5615+ - amazonka-workspaces < 0 # tried amazonka-workspaces-1.6.1, but its *library* requires the disabled package: amazonka-core
5616+ - amazonka-xray < 0 # tried amazonka-xray-1.6.1, but its *library* requires the disabled package: amazonka-core
5617+ - ansigraph < 0 # tried ansigraph-0.3.0.5, but its *library* does not support: ansi-terminal-0.11.1
5618+ - ansigraph < 0 # tried ansigraph-0.3.0.5, but its *library* does not support: base-4.15.1.0
5619+ - antiope-core < 0 # tried antiope-core-7.5.3, but its *library* requires the disabled package: amazonka
5620+ - antiope-core < 0 # tried antiope-core-7.5.3, but its *library* requires the disabled package: amazonka-core
5621+ - antiope-dynamodb < 0 # tried antiope-dynamodb-7.5.3, but its *library* requires the disabled package: amazonka
5622+ - antiope-dynamodb < 0 # tried antiope-dynamodb-7.5.3, but its *library* requires the disabled package: amazonka-core
5623+ - antiope-messages < 0 # tried antiope-messages-7.5.3, but its *library* requires the disabled package: amazonka
5624+ - antiope-messages < 0 # tried antiope-messages-7.5.3, but its *library* requires the disabled package: amazonka-core
5625+ - antiope-s3 < 0 # tried antiope-s3-7.5.3, but its *library* requires the disabled package: amazonka
5626+ - antiope-s3 < 0 # tried antiope-s3-7.5.3, but its *library* requires the disabled package: amazonka-core
5627+ - antiope-sns < 0 # tried antiope-sns-7.5.3, but its *library* requires the disabled package: amazonka
5628+ - antiope-sns < 0 # tried antiope-sns-7.5.3, but its *library* requires the disabled package: amazonka-core
5629+ - antiope-sqs < 0 # tried antiope-sqs-7.5.3, but its *library* requires the disabled package: amazonka
5630+ - antiope-sqs < 0 # tried antiope-sqs-7.5.3, but its *library* requires the disabled package: amazonka-core
5631+ - aos-signature < 0 # tried aos-signature-0.1.1, but its *library* requires the disabled package: protolude
5632+ - arbor-postgres < 0 # tried arbor-postgres-0.0.5, but its *library* does not support: lens-5.0.1
5633+ - arbor-postgres < 0 # tried arbor-postgres-0.0.5, but its *library* does not support: optparse-applicative-0.16.1.0
5634+ - arrowp-qq < 0 # tried arrowp-qq-0.3.0, but its *library* does not support: haskell-src-exts-1.23.1
5635+ - arrowp-qq < 0 # tried arrowp-qq-0.3.0, but its *library* does not support: template-haskell-2.17.0.0
5636+ - asif < 0 # tried asif-6.0.4, but its *library* requires the disabled package: thyme
5637+ - async-timer < 0 # tried async-timer-0.2.0.0, but its *library* does not support: unliftio-core-0.2.0.1
5638+ - avers < 0 # tried avers-0.0.17.1, but its *library* does not support: attoparsec-0.14.4
5639+ - avers < 0 # tried avers-0.0.17.1, but its *library* does not support: base-4.15.1.0
5640+ - avers < 0 # tried avers-0.0.17.1, but its *library* does not support: cryptonite-0.29
5641+ - avers < 0 # tried avers-0.0.17.1, but its *library* does not support: memory-0.16.0
5642+ - avers < 0 # tried avers-0.0.17.1, but its *library* does not support: template-haskell-2.17.0.0
5643+ - avers-api < 0 # tried avers-api-0.1.0, but its *library* requires the disabled package: avers
5644+ - avers-server < 0 # tried avers-server-0.1.0.1, but its *library* requires the disabled package: avers
5645+ - avwx < 0 # tried avwx-0.3.0.3, but its *library* does not support: lens-5.0.1
5646+ - aws-xray-client-wai < 0 # tried aws-xray-client-wai-0.1.0.1, but its *library* requires the disabled package: aws-xray-client
5647+ - axel < 0 # tried axel-0.0.12, but its *library* does not support: base-4.15.1.0
5648+ - axiom < 0 # tried axiom-0.4.7, but its *library* requires the disabled package: transient-universe
5649+ - b9 < 0 # tried b9-3.2.0, but its *library* does not support: aeson-1.5.6.0
5650+ - b9 < 0 # tried b9-3.2.0, but its *library* does not support: hspec-2.8.5
5651+ - b9 < 0 # tried b9-3.2.0, but its *library* does not support: lens-5.0.1
5652+ - b9 < 0 # tried b9-3.2.0, but its *library* does not support: shake-0.19.6
5653+ - b9 < 0 # tried b9-3.2.0, but its *library* requires the disabled package: posix-pty
5654+ - b9 < 0 # tried b9-3.2.0, but its *library* requires the disabled package: template
5655+ - base-noprelude < 0 # tried base-noprelude-4.13.0.0, but its *library* does not support: base-4.15.1.0
5656+ - bcp47 < 0 # tried bcp47-0.2.0.5, but its *library* requires the disabled package: country
5657+ - bcp47-orphans < 0 # tried bcp47-orphans-0.1.0.4, but its *library* requires the disabled package: bcp47
5658+ - beam-mysql < 0 # tried beam-mysql-0.2.0.0, but its *library* does not support: aeson-1.5.6.0
5659+ - beam-mysql < 0 # tried beam-mysql-0.2.0.0, but its *library* does not support: beam-core-0.9.2.0
5660+ - beam-mysql < 0 # tried beam-mysql-0.2.0.0, but its *library* does not support: hashable-1.3.5.0
5661+ - beam-mysql < 0 # tried beam-mysql-0.2.0.0, but its *library* does not support: mysql-0.2.1
5662+ - bench-show < 0 # tried bench-show-0.3.1, but its *library* does not support: statistics-0.16.0.1
5663+ - bhoogle < 0 # tried bhoogle-0.1.3.5, but its *executable* does not support: brick-0.66.1
5664+ - bhoogle < 0 # tried bhoogle-0.1.3.5, but its *executable* does not support: bytestring-0.10.12.1
5665+ - bhoogle < 0 # tried bhoogle-0.1.3.5, but its *executable* does not support: directory-1.3.6.2
5666+ - bhoogle < 0 # tried bhoogle-0.1.3.5, but its *executable* does not support: filepath-1.4.2.1
5667+ - bhoogle < 0 # tried bhoogle-0.1.3.5, but its *executable* does not support: lens-5.0.1
5668+ - bhoogle < 0 # tried bhoogle-0.1.3.5, but its *executable* does not support: process-1.6.13.2
5669+ - bhoogle < 0 # tried bhoogle-0.1.3.5, but its *executable* does not support: protolude-0.3.0
5670+ - bhoogle < 0 # tried bhoogle-0.1.3.5, but its *executable* does not support: text-1.2.5.0
5671+ - bhoogle < 0 # tried bhoogle-0.1.3.5, but its *executable* does not support: time-1.9.3
5672+ - bhoogle < 0 # tried bhoogle-0.1.3.5, but its *executable* does not support: typed-process-0.2.8.0
5673+ - bhoogle < 0 # tried bhoogle-0.1.3.5, but its *executable* does not support: vector-0.12.3.1
5674+ - bhoogle < 0 # tried bhoogle-0.1.3.5, but its *executable* does not support: vty-5.33
5675+ - binary-bits < 0 # tried binary-bits-0.5, but its *library* does not support: base-4.15.1.0
5676+ - bioace < 0 # tried bioace-0.0.1, but its *library* requires the disabled package: biocore
5677+ - bioalign < 0 # tried bioalign-0.0.5, but its *library* requires the disabled package: biocore
5678+ - biocore < 0 # tried biocore-0.3.1, but its *library* does not support: base-4.15.1.0
5679+ - biocore < 0 # tried biocore-0.3.1, but its *library* requires the disabled package: stringable
5680+ - biofasta < 0 # tried biofasta-0.0.3, but its *library* requires the disabled package: biocore
5681+ - biofastq < 0 # tried biofastq-0.1, but its *library* requires the disabled package: biocore
5682+ - biopsl < 0 # tried biopsl-0.4, but its *library* requires the disabled package: biocore
5683+ - bitcoin-api < 0 # tried bitcoin-api-0.12.1, but its *library* requires the disabled package: bitcoin-script
5684+ - bitcoin-api < 0 # tried bitcoin-api-0.12.1, but its *library* requires the disabled package: hexstring
5685+ - bitcoin-api-extra < 0 # tried bitcoin-api-extra-0.9.1, but its *library* requires the disabled package: bitcoin-api
5686+ - bitcoin-api-extra < 0 # tried bitcoin-api-extra-0.9.1, but its *library* requires the disabled package: bitcoin-block
5687+ - bitcoin-api-extra < 0 # tried bitcoin-api-extra-0.9.1, but its *library* requires the disabled package: bitcoin-tx
5688+ - bitcoin-block < 0 # tried bitcoin-block-0.13.1, but its *library* requires the disabled package: hexstring
5689+ - bitcoin-tx < 0 # tried bitcoin-tx-0.13.1, but its *library* requires the disabled package: bitcoin-script
5690+ - bitcoin-tx < 0 # tried bitcoin-tx-0.13.1, but its *library* requires the disabled package: hexstring
5691+ - bitcoin-types < 0 # tried bitcoin-types-0.9.2, but its *library* requires the disabled package: hexstring
5692+ - blastxml < 0 # tried blastxml-0.3.2, but its *library* requires the disabled package: biocore
5693+ - blosum < 0 # tried blosum-0.1.1.4, but its *executable* requires the disabled package: pipes-text
5694+ - boolean-normal-forms < 0 # tried boolean-normal-forms-0.0.1.1, but its *library* does not support: base-4.15.1.0
5695+ - boundingboxes < 0 # tried boundingboxes-0.2.3, but its *library* does not support: lens-5.0.1
5696+ - brittany < 0 # tried brittany-0.14.0.2, but its *library* does not support: aeson-1.5.6.0
5697+ - brittany < 0 # tried brittany-0.14.0.2, but its *library* does not support: yaml-0.11.6.0
5698+ - buchhaltung < 0 # tried buchhaltung-0.0.7, but its *library* requires the disabled package: regex-tdfa-text
5699+ - bulletproofs < 0 # tried bulletproofs-1.1.0, but its *library* requires the disabled package: elliptic-curve
5700+ - butcher < 0 # tried butcher-1.3.3.2, but its *library* does not support: base-4.15.1.0
5701+ - cabal-install < 0 # tried cabal-install-3.6.2.0, but its *executable* does not support: Cabal-3.4.1.0
5702+ - cabal-install < 0 # tried cabal-install-3.6.2.0, but its *executable* does not support: base-4.15.1.0
5703+ - cairo < 0 # tried cairo-0.13.8.1, but its *library* does not support: Cabal-3.4.1.0
5704+ - category < 0 # tried category-0.2.5.0, but its *library* requires the disabled package: alg
5705+ - cereal-time < 0 # tried cereal-time-0.1.0.0, but its *library* does not support: time-1.9.3
5706+ - chatwork < 0 # tried chatwork-0.1.3.5, but its *library* does not support: aeson-1.5.6.0
5707+ - chatwork < 0 # tried chatwork-0.1.3.5, but its *library* does not support: aeson-casing-0.2.0.0
5708+ - chatwork < 0 # tried chatwork-0.1.3.5, but its *library* does not support: connection-0.3.1
5709+ - chatwork < 0 # tried chatwork-0.1.3.5, but its *library* does not support: http-api-data-0.4.3
5710+ - chatwork < 0 # tried chatwork-0.1.3.5, but its *library* does not support: http-client-0.7.10
5711+ - chatwork < 0 # tried chatwork-0.1.3.5, but its *library* does not support: req-3.9.2
5712+ - chronos < 0 # tried chronos-1.1.3, but its *library* requires the disabled package: bytebuild
5713+ - chronos < 0 # tried chronos-1.1.3, but its *library* requires the disabled package: byteslice
5714+ - chronos < 0 # tried chronos-1.1.3, but its *library* requires the disabled package: bytesmith
5715+ - chronos-bench < 0 # tried chronos-bench-0.2.0.2, but its *library* requires the disabled package: chronos
5716+ - clang-compilation-database < 0 # tried clang-compilation-database-0.1.0.1, but its *library* does not support: base-4.15.1.0
5717+ - classyplate < 0 # tried classyplate-0.3.2.0, but its *library* does not support: base-4.15.1.0
5718+ - classyplate < 0 # tried classyplate-0.3.2.0, but its *library* does not support: template-haskell-2.17.0.0
5719+ - clock-extras < 0 # tried clock-extras-0.1.0.2, but its *library* does not support: clock-0.8.2
5720+ - cmark-highlight < 0 # tried cmark-highlight-0.2.0.0, but its *library* does not support: cmark-0.6
5721+ - co-log-concurrent < 0 # tried co-log-concurrent-0.5.1.0, but its *library* requires the disabled package: co-log-core
5722+ - codec < 0 # tried codec-0.2.1, but its *library* requires the disabled package: binary-bits
5723+ - colour-accelerate < 0 # tried colour-accelerate-0.4.0.0, but its *library* requires the disabled package: accelerate
5724+ - composite-aeson < 0 # tried composite-aeson-0.7.5.0, but its *library* does not support: generic-deriving-1.14.1
5725+ - composite-aeson < 0 # tried composite-aeson-0.7.5.0, but its *library* does not support: profunctors-5.6.2
5726+ - composite-aeson < 0 # tried composite-aeson-0.7.5.0, but its *library* does not support: template-haskell-2.17.0.0
5727+ - composite-aeson-path < 0 # tried composite-aeson-path-0.7.5.0, but its *library* does not support: path-0.9.2
5728+ - composite-aeson-refined < 0 # tried composite-aeson-refined-0.7.5.0, but its *library* requires the disabled package: composite-aeson
5729+ - composite-aeson-throw < 0 # tried composite-aeson-throw-0.1.0.0, but its *library* requires the disabled package: composite-aeson
5730+ - composite-base < 0 # tried composite-base-0.7.5.0, but its *library* does not support: profunctors-5.6.2
5731+ - composite-base < 0 # tried composite-base-0.7.5.0, but its *library* does not support: template-haskell-2.17.0.0
5732+ - composite-binary < 0 # tried composite-binary-0.7.5.0, but its *library* requires the disabled package: composite-base
5733+ - composite-ekg < 0 # tried composite-ekg-0.7.5.0, but its *library* requires the disabled package: composite-base
5734+ - composite-ekg < 0 # tried composite-ekg-0.7.5.0, but its *library* requires the disabled package: ekg-core
5735+ - composite-hashable < 0 # tried composite-hashable-0.7.5.0, but its *library* requires the disabled package: composite-base
5736+ - composite-tuple < 0 # tried composite-tuple-0.1.2.0, but its *library* requires the disabled package: composite-base
5737+ - composite-xstep < 0 # tried composite-xstep-0.1.0.0, but its *library* requires the disabled package: composite-base
5738+ - compressed < 0 # tried compressed-3.11, but its *library* does not support: containers-0.6.4.1
5739+ - compressed < 0 # tried compressed-3.11, but its *library* does not support: hashable-1.3.5.0
5740+ - conduit-throttle < 0 # tried conduit-throttle-0.3.1.0, but its *library* requires the disabled package: throttle-io-stream
5741+ - confcrypt < 0 # tried confcrypt-0.2.3.3, but its *library* does not support: optparse-applicative-0.16.1.0
5742+ - confcrypt < 0 # tried confcrypt-0.2.3.3, but its *library* requires the disabled package: crypto-pubkey-openssh
5743+ - conferer-hspec < 0 # tried conferer-hspec-1.1.0.0, but its *library* does not support: hspec-core-2.8.5
5744+ - conferer-snap < 0 # tried conferer-snap-1.0.0.0, but its *library* does not support: conferer-1.1.0.0
5745+ - conferer-snap < 0 # tried conferer-snap-1.0.0.0, but its *library* requires the disabled package: snap-server
5746+ - configurator-pg < 0 # tried configurator-pg-0.2.5, but its *library* does not support: base-4.15.1.0
5747+ - configurator-pg < 0 # tried configurator-pg-0.2.5, but its *library* does not support: megaparsec-9.2.0
5748+ - constraint < 0 # tried constraint-0.1.4.0, but its *library* requires the disabled package: category
5749+ - country < 0 # tried country-0.2.1, but its *library* does not support: attoparsec-0.14.4
5750+ - country < 0 # tried country-0.2.1, but its *library* does not support: base-4.15.1.0
5751+ - cql-io < 0 # tried cql-io-1.1.1, but its *library* requires the disabled package: cql
5752+ - crypto-pubkey < 0 # tried crypto-pubkey-0.2.8, but its *library* requires the disabled package: crypto-numbers
5753+ - cryptocipher < 0 # tried cryptocipher-0.6.2, but its *library* requires the disabled package: cipher-blowfish
5754+ - csg < 0 # tried csg-0.1.0.6, but its *library* does not support: QuickCheck-2.14.2
5755+ - csg < 0 # tried csg-0.1.0.6, but its *library* does not support: attoparsec-0.14.4
5756+ - csg < 0 # tried csg-0.1.0.6, but its *library* does not support: simple-vec3-0.6.0.1
5757+ - csg < 0 # tried csg-0.1.0.6, but its *library* does not support: strict-0.4.0.1
5758+ - css-syntax < 0 # tried css-syntax-0.1.0.0, but its *library* does not support: base-4.15.1.0
5759+ - darcs < 0 # tried darcs-2.16.4, but its *library* does not support: Cabal-3.4.1.0
5760+ - darcs < 0 # tried darcs-2.16.4, but its *library* does not support: attoparsec-0.14.4
5761+ - darcs < 0 # tried darcs-2.16.4, but its *library* does not support: base-4.15.1.0
5762+ - darcs < 0 # tried darcs-2.16.4, but its *library* does not support: constraints-0.13.2
5763+ - darcs < 0 # tried darcs-2.16.4, but its *library* does not support: cryptonite-0.29
5764+ - darcs < 0 # tried darcs-2.16.4, but its *library* does not support: memory-0.16.0
5765+ - darcs < 0 # tried darcs-2.16.4, but its *library* requires the disabled package: regex-compat-tdfa
5766+ - data-accessor-template < 0 # tried data-accessor-template-0.2.1.16, but its *library* does not support: template-haskell-2.17.0.0
5767+ - data-compat < 0 # tried data-compat-0.1.0.3, but its *library* does not support: base-4.15.1.0
5768+ - data-tree-print < 0 # tried data-tree-print-0.1.0.2, but its *library* does not support: base-4.15.1.0
5769+ - decidable < 0 # tried decidable-0.3.0.0, but its *library* requires the disabled package: functor-products
5770+ - deepseq-instances < 0 # tried deepseq-instances-0.1.0.1, but its *library* does not support: base-4.15.1.0
5771+ - dhall-lsp-server < 0 # tried dhall-lsp-server-1.0.17, but its *library* requires the disabled package: haskell-lsp
5772+ - dhall-nix < 0 # tried dhall-nix-1.1.23, but its *library* requires the disabled package: hnix
5773+ - diagrams-builder < 0 # tried diagrams-builder-0.8.0.5, but its *library* requires the disabled package: haskell-src-exts-simple
5774+ - diagrams-cairo < 0 # tried diagrams-cairo-1.4.1.1, but its *library* requires the disabled package: statestack
5775+ - diagrams-canvas < 0 # tried diagrams-canvas-1.4.1, but its *library* requires the disabled package: blank-canvas
5776+ - diagrams-canvas < 0 # tried diagrams-canvas-1.4.1, but its *library* requires the disabled package: statestack
5777+ - diagrams-gtk < 0 # tried diagrams-gtk-1.4, but its *library* requires the disabled package: gtk
5778+ - diagrams-html5 < 0 # tried diagrams-html5-1.4.1, but its *library* does not support: base-4.15.1.0
5779+ - diagrams-html5 < 0 # tried diagrams-html5-1.4.1, but its *library* does not support: containers-0.6.4.1
5780+ - diagrams-html5 < 0 # tried diagrams-html5-1.4.1, but its *library* does not support: diagrams-core-1.5.0
5781+ - diagrams-html5 < 0 # tried diagrams-html5-1.4.1, but its *library* does not support: lens-5.0.1
5782+ - diagrams-html5 < 0 # tried diagrams-html5-1.4.1, but its *library* does not support: optparse-applicative-0.16.1.0
5783+ - diagrams-html5 < 0 # tried diagrams-html5-1.4.1, but its *library* requires the disabled package: statestack
5784+ - diagrams-html5 < 0 # tried diagrams-html5-1.4.1, but its *library* requires the disabled package: static-canvas
5785+ - diagrams-postscript < 0 # tried diagrams-postscript-1.5.1, but its *library* requires the disabled package: statestack
5786+ - dialogflow-fulfillment < 0 # tried dialogflow-fulfillment-0.1.1.4, but its *library* does not support: base-4.15.1.0
5787+ - dice < 0 # tried dice-0.1.0.1, but its *library* requires the disabled package: random-fu
5788+ - dictionaries < 0 # tried dictionaries-0.2.0.4, but its *executable* does not support: criterion-1.5.12.0
5789+ - dictionaries < 0 # tried dictionaries-0.2.0.4, but its *library* does not support: attoparsec-0.14.4
5790+ - dictionaries < 0 # tried dictionaries-0.2.0.4, but its *library* does not support: base-4.15.1.0
5791+ - dictionaries < 0 # tried dictionaries-0.2.0.4, but its *library* does not support: containers-0.6.4.1
5792+ - dictionaries < 0 # tried dictionaries-0.2.0.4, but its *library* does not support: exceptions-0.10.4
5793+ - dictionaries < 0 # tried dictionaries-0.2.0.4, but its *library* does not support: time-1.9.3
5794+ - direct-rocksdb < 0 # tried direct-rocksdb-0.0.3, but its *library* does not support: Cabal-3.4.1.0
5795+ - direct-rocksdb < 0 # tried direct-rocksdb-0.0.3, but its *library* requires the disabled package: cabal-toolkit
5796+ - distributed-process < 0 # tried distributed-process-0.7.4, but its *library* does not support: containers-0.6.4.1
5797+ - distributed-process < 0 # tried distributed-process-0.7.4, but its *library* does not support: hashable-1.3.5.0
5798+ - distributed-process < 0 # tried distributed-process-0.7.4, but its *library* does not support: random-1.2.1
5799+ - distributed-process < 0 # tried distributed-process-0.7.4, but its *library* does not support: stm-2.5.0.0
5800+ - distributed-process-lifted < 0 # tried distributed-process-lifted-0.3.0.1, but its *library* requires the disabled package: distributed-process
5801+ - distributed-process-monad-control < 0 # tried distributed-process-monad-control-0.5.1.3, but its *library* requires the disabled package: distributed-process
5802+ - distributed-process-simplelocalnet < 0 # tried distributed-process-simplelocalnet-0.2.4, but its *library* does not support: containers-0.6.4.1
5803+ - distributed-process-simplelocalnet < 0 # tried distributed-process-simplelocalnet-0.2.4, but its *library* does not support: network-3.1.2.7
5804+ - distributed-process-simplelocalnet < 0 # tried distributed-process-simplelocalnet-0.2.4, but its *library* does not support: network-transport-tcp-0.8.0
5805+ - distributed-process-simplelocalnet < 0 # tried distributed-process-simplelocalnet-0.2.4, but its *library* requires the disabled package: network-multicast
5806+ - distributed-process-tests < 0 # tried distributed-process-tests-0.4.11, but its *library* does not support: network-3.1.2.7
5807+ - distributed-process-tests < 0 # tried distributed-process-tests-0.4.11, but its *library* does not support: random-1.2.1
5808+ - distributed-process-tests < 0 # tried distributed-process-tests-0.4.11, but its *library* requires the disabled package: rematch
5809+ - distribution < 0 # tried distribution-1.1.1.0, but its *library* does not support: containers-0.6.4.1
5810+ - distribution < 0 # tried distribution-1.1.1.0, but its *library* does not support: random-1.2.1
5811+ - diversity < 0 # tried diversity-0.8.1.0, but its *library* requires the disabled package: fasta
5812+ - docker < 0 # tried docker-0.6.0.6, but its *library* does not support: unliftio-core-0.2.0.1
5813+ - docker-build-cacher < 0 # tried docker-build-cacher-2.1.1, but its *library* does not support: language-docker-10.4.0
5814+ - dom-parser < 0 # tried dom-parser-3.1.0, but its *library* requires the disabled package: xml-lens
5815+ - drawille < 0 # tried drawille-0.1.2.0, but its *library* does not support: containers-0.6.4.1
5816+ - earcut < 0 # tried earcut-0.1.0.4, but its *library* does not support: base-4.15.1.0
5817+ - easytest < 0 # tried easytest-0.3, but its *library* does not support: hedgehog-1.0.5
5818+ - edit < 0 # tried edit-1.0.1.0, but its *library* does not support: QuickCheck-2.14.2
5819+ - edit < 0 # tried edit-1.0.1.0, but its *library* does not support: base-4.15.1.0
5820+ - effect-handlers < 0 # tried effect-handlers-0.1.0.8, but its *library* does not support: free-5.1.7
5821+ - egison < 0 # tried egison-4.1.3, but its *library* requires the disabled package: sweet-egison
5822+ - egison-pattern-src < 0 # tried egison-pattern-src-0.2.1.2, but its *library* does not support: parser-combinators-1.3.0
5823+ - egison-pattern-src-th-mode < 0 # tried egison-pattern-src-th-mode-0.2.1.2, but its *library* does not support: template-haskell-2.17.0.0
5824+ - ekg < 0 # tried ekg-0.4.0.15, but its *library* does not support: base-4.15.1.0
5825+ - ekg < 0 # tried ekg-0.4.0.15, but its *library* requires the disabled package: snap-server
5826+ - ekg-cloudwatch < 0 # tried ekg-cloudwatch-0.0.1.6, but its *library* requires the disabled package: amazonka
5827+ - ekg-cloudwatch < 0 # tried ekg-cloudwatch-0.0.1.6, but its *library* requires the disabled package: amazonka-core
5828+ - ekg-cloudwatch < 0 # tried ekg-cloudwatch-0.0.1.6, but its *library* requires the disabled package: ekg-core
5829+ - ekg-core < 0 # tried ekg-core-0.1.1.7, but its *library* does not support: base-4.15.1.0
5830+ - ekg-core < 0 # tried ekg-core-0.1.1.7, but its *library* does not support: ghc-prim-0.7.0
5831+ - ekg-json < 0 # tried ekg-json-0.1.0.6, but its *library* does not support: base-4.15.1.0
5832+ - ekg-statsd < 0 # tried ekg-statsd-0.2.5.0, but its *library* does not support: base-4.15.1.0
5833+ - ekg-wai < 0 # tried ekg-wai-0.1.0.3, but its *library* does not support: time-1.9.3
5834+ - elm-street < 0 # tried elm-street-0.1.0.4, but its *library* does not support: base-4.15.1.0
5835+ - epub-metadata < 0 # tried epub-metadata-4.5, but its *library* requires the disabled package: regex-compat-tdfa
5836+ - euler-tour-tree < 0 # tried euler-tour-tree-0.1.1.0, but its *library* requires the disabled package: Unique
5837+ - event < 0 # tried event-0.1.4, but its *library* does not support: containers-0.6.4.1
5838+ - event < 0 # tried event-0.1.4, but its *library* does not support: semigroups-0.19.2
5839+ - eventful-dynamodb < 0 # tried eventful-dynamodb-0.2.0, but its *library* requires the disabled package: amazonka
5840+ - eventful-postgresql < 0 # tried eventful-postgresql-0.2.0, but its *library* requires the disabled package: eventful-sql-common
5841+ - eventful-sql-common < 0 # tried eventful-sql-common-0.2.0, but its *library* does not support: persistent-template-2.12.0.0
5842+ - eventful-sqlite < 0 # tried eventful-sqlite-0.2.0, but its *library* requires the disabled package: eventful-sql-common
5843+ - eventsource-geteventstore-store < 0 # tried eventsource-geteventstore-store-1.2.1, but its *library* requires the disabled package: eventsource-store-specs
5844+ - exception-hierarchy < 0 # tried exception-hierarchy-0.1.0.4, but its *library* does not support: template-haskell-2.17.0.0
5845+ - fasta < 0 # tried fasta-0.10.4.2, but its *library* requires the disabled package: pipes-text
5846+ - fib < 0 # tried fib-0.1.0.1, but its *library* requires the disabled package: base-noprelude
5847+ - filecache < 0 # tried filecache-0.4.1, but its *library* requires the disabled package: strict-base-types
5848+ - find-clumpiness < 0 # tried find-clumpiness-0.2.3.2, but its *library* requires the disabled package: BiobaseNewick
5849+ - find-clumpiness < 0 # tried find-clumpiness-0.2.3.2, but its *library* requires the disabled package: hierarchical-clustering
5850+ - foldable1 < 0 # tried foldable1-0.1.0.0, but its *library* requires the disabled package: util
5851+ - friday < 0 # tried friday-0.2.3.1, but its *library* does not support: containers-0.6.4.1
5852+ - friday < 0 # tried friday-0.2.3.1, but its *library* requires the disabled package: ratio-int
5853+ - friday-juicypixels < 0 # tried friday-juicypixels-0.1.2.4, but its *library* requires the disabled package: friday
5854+ - fswatch < 0 # tried fswatch-0.1.0.6, but its *library* does not support: base-4.15.1.0
5855+ - fswatch < 0 # tried fswatch-0.1.0.6, but its *library* does not support: haskeline-0.8.2
5856+ - galois-field < 0 # tried galois-field-1.0.2, but its *library* does not support: poly-0.5.0.0
5857+ - galois-field < 0 # tried galois-field-1.0.2, but its *library* does not support: protolude-0.3.0
5858+ - gdax < 0 # tried gdax-0.6.0.0, but its *library* requires the disabled package: regex-tdfa-text
5859+ - generic-xmlpickler < 0 # tried generic-xmlpickler-0.1.0.6, but its *library* does not support: base-4.15.1.0
5860+ - generic-xmlpickler < 0 # tried generic-xmlpickler-0.1.0.6, but its *library* does not support: generic-deriving-1.14.1
5861+ - ghc-clippy-plugin < 0 # tried ghc-clippy-plugin-0.0.0.1, but its *library* does not support: dhall-1.40.2
5862+ - ghc-clippy-plugin < 0 # tried ghc-clippy-plugin-0.0.0.1, but its *library* does not support: ghc-9.0.2
5863+ - ghc-syb-utils < 0 # tried ghc-syb-utils-0.3.0.0, but its *library* does not support: ghc-9.0.2
5864+ - ghcjs-dom < 0 # tried ghcjs-dom-0.9.5.0, but its *library* requires the disabled package: ghcjs-dom-jsaddle
5865+ - gi-gsk < 0 # tried gi-gsk-4.0.4, but its *library* does not support: gi-gdk-3.0.25
5866+ - gi-webkit2 < 0 # tried gi-webkit2-4.0.28, but its *library* requires the disabled package: gi-soup
5867+ - gingersnap < 0 # tried gingersnap-0.3.1.0, but its *library* requires the disabled package: snap-core
5868+ - gio < 0 # tried gio-0.13.8.1, but its *library* does not support: Cabal-3.4.1.0
5869+ - git-annex < 0 # tried git-annex-8.20211231, but its *executable* requires the disabled package: IfElse
5870+ - git-annex < 0 # tried git-annex-8.20211231, but its *executable* requires the disabled package: aws
5871+ - git-annex < 0 # tried git-annex-8.20211231, but its *executable* requires the disabled package: bloomfilter
5872+ - git-annex < 0 # tried git-annex-8.20211231, but its *executable* requires the disabled package: fdo-notify
5873+ - git-annex < 0 # tried git-annex-8.20211231, but its *executable* requires the disabled package: git-lfs
5874+ - git-annex < 0 # tried git-annex-8.20211231, but its *executable* requires the disabled package: http-client-restricted
5875+ - git-annex < 0 # tried git-annex-8.20211231, but its *executable* requires the disabled package: network-multicast
5876+ - git-annex < 0 # tried git-annex-8.20211231, but its *executable* requires the disabled package: sandi
5877+ - git-annex < 0 # tried git-annex-8.20211231, but its *executable* requires the disabled package: torrent
5878+ - git-vogue < 0 # tried git-vogue-0.3.0.2, but its *executable* requires the disabled package: stylish-haskell
5879+ - github-webhook-handler < 0 # tried github-webhook-handler-0.0.8, but its *library* does not support: base-4.15.1.0
5880+ - github-webhook-handler-snap < 0 # tried github-webhook-handler-snap-0.0.7, but its *library* does not support: base-4.15.1.0
5881+ - gitlib-libgit2 < 0 # tried gitlib-libgit2-3.1.2.1, but its *library* requires the disabled package: gitlib
5882+ - glaze < 0 # tried glaze-0.3.0.1, but its *library* does not support: lens-5.0.1
5883+ - glazier-react < 0 # tried glazier-react-1.0.0.0, but its *library* requires the disabled package: data-diverse-lens
5884+ - glazier-react < 0 # tried glazier-react-1.0.0.0, but its *library* requires the disabled package: glazier
5885+ - glazier-react-widget < 0 # tried glazier-react-widget-1.0.0.0, but its *library* requires the disabled package: data-diverse-lens
5886+ - glazier-react-widget < 0 # tried glazier-react-widget-1.0.0.0, but its *library* requires the disabled package: glazier
5887+ - glib < 0 # tried glib-0.13.8.1, but its *library* does not support: Cabal-3.4.1.0
5888+ - gloss-accelerate < 0 # tried gloss-accelerate-2.1.0.0, but its *library* requires the disabled package: accelerate
5889+ - gloss-accelerate < 0 # tried gloss-accelerate-2.1.0.0, but its *library* requires the disabled package: linear-accelerate
5890+ - gloss-examples < 0 # tried gloss-examples-1.13.0.3, but its *executable* does not support: random-1.2.1
5891+ - gloss-raster-accelerate < 0 # tried gloss-raster-accelerate-2.1.0.0, but its *library* requires the disabled package: accelerate
5892+ - gogol < 0 # tried gogol-0.5.0, but its *library* requires the disabled package: gogol-core
5893+ - gogol-adexchange-buyer < 0 # tried gogol-adexchange-buyer-0.5.0, but its *library* requires the disabled package: gogol-core
5894+ - gogol-adexchange-seller < 0 # tried gogol-adexchange-seller-0.5.0, but its *library* requires the disabled package: gogol-core
5895+ - gogol-admin-datatransfer < 0 # tried gogol-admin-datatransfer-0.5.0, but its *library* requires the disabled package: gogol-core
5896+ - gogol-admin-directory < 0 # tried gogol-admin-directory-0.5.0, but its *library* requires the disabled package: gogol-core
5897+ - gogol-admin-emailmigration < 0 # tried gogol-admin-emailmigration-0.3.0, but its *library* requires the disabled package: gogol-core
5898+ - gogol-admin-reports < 0 # tried gogol-admin-reports-0.5.0, but its *library* requires the disabled package: gogol-core
5899+ - gogol-adsense < 0 # tried gogol-adsense-0.5.0, but its *library* requires the disabled package: gogol-core
5900+ - gogol-adsense-host < 0 # tried gogol-adsense-host-0.5.0, but its *library* requires the disabled package: gogol-core
5901+ - gogol-affiliates < 0 # tried gogol-affiliates-0.3.0, but its *library* requires the disabled package: gogol-core
5902+ - gogol-analytics < 0 # tried gogol-analytics-0.5.0, but its *library* requires the disabled package: gogol-core
5903+ - gogol-android-enterprise < 0 # tried gogol-android-enterprise-0.5.0, but its *library* requires the disabled package: gogol-core
5904+ - gogol-android-publisher < 0 # tried gogol-android-publisher-0.5.0, but its *library* requires the disabled package: gogol-core
5905+ - gogol-appengine < 0 # tried gogol-appengine-0.5.0, but its *library* requires the disabled package: gogol-core
5906+ - gogol-apps-activity < 0 # tried gogol-apps-activity-0.5.0, but its *library* requires the disabled package: gogol-core
5907+ - gogol-apps-calendar < 0 # tried gogol-apps-calendar-0.5.0, but its *library* requires the disabled package: gogol-core
5908+ - gogol-apps-licensing < 0 # tried gogol-apps-licensing-0.5.0, but its *library* requires the disabled package: gogol-core
5909+ - gogol-apps-reseller < 0 # tried gogol-apps-reseller-0.5.0, but its *library* requires the disabled package: gogol-core
5910+ - gogol-apps-tasks < 0 # tried gogol-apps-tasks-0.5.0, but its *library* requires the disabled package: gogol-core
5911+ - gogol-appstate < 0 # tried gogol-appstate-0.5.0, but its *library* requires the disabled package: gogol-core
5912+ - gogol-autoscaler < 0 # tried gogol-autoscaler-0.3.0, but its *library* requires the disabled package: gogol-core
5913+ - gogol-bigquery < 0 # tried gogol-bigquery-0.5.0, but its *library* requires the disabled package: gogol-core
5914+ - gogol-billing < 0 # tried gogol-billing-0.5.0, but its *library* requires the disabled package: gogol-core
5915+ - gogol-blogger < 0 # tried gogol-blogger-0.5.0, but its *library* requires the disabled package: gogol-core
5916+ - gogol-books < 0 # tried gogol-books-0.5.0, but its *library* requires the disabled package: gogol-core
5917+ - gogol-civicinfo < 0 # tried gogol-civicinfo-0.5.0, but its *library* requires the disabled package: gogol-core
5918+ - gogol-classroom < 0 # tried gogol-classroom-0.5.0, but its *library* requires the disabled package: gogol-core
5919+ - gogol-cloudmonitoring < 0 # tried gogol-cloudmonitoring-0.3.0, but its *library* requires the disabled package: gogol-core
5920+ - gogol-cloudtrace < 0 # tried gogol-cloudtrace-0.5.0, but its *library* requires the disabled package: gogol-core
5921+ - gogol-compute < 0 # tried gogol-compute-0.5.0, but its *library* requires the disabled package: gogol-core
5922+ - gogol-container < 0 # tried gogol-container-0.5.0, but its *library* requires the disabled package: gogol-core
5923+ - gogol-customsearch < 0 # tried gogol-customsearch-0.5.0, but its *library* requires the disabled package: gogol-core
5924+ - gogol-dataflow < 0 # tried gogol-dataflow-0.5.0, but its *library* requires the disabled package: gogol-core
5925+ - gogol-dataproc < 0 # tried gogol-dataproc-0.5.0, but its *library* requires the disabled package: gogol-core
5926+ - gogol-datastore < 0 # tried gogol-datastore-0.5.0, but its *library* requires the disabled package: gogol-core
5927+ - gogol-debugger < 0 # tried gogol-debugger-0.5.0, but its *library* requires the disabled package: gogol-core
5928+ - gogol-deploymentmanager < 0 # tried gogol-deploymentmanager-0.5.0, but its *library* requires the disabled package: gogol-core
5929+ - gogol-dfareporting < 0 # tried gogol-dfareporting-0.5.0, but its *library* requires the disabled package: gogol-core
5930+ - gogol-discovery < 0 # tried gogol-discovery-0.5.0, but its *library* requires the disabled package: gogol-core
5931+ - gogol-dns < 0 # tried gogol-dns-0.5.0, but its *library* requires the disabled package: gogol-core
5932+ - gogol-doubleclick-bids < 0 # tried gogol-doubleclick-bids-0.5.0, but its *library* requires the disabled package: gogol-core
5933+ - gogol-doubleclick-search < 0 # tried gogol-doubleclick-search-0.5.0, but its *library* requires the disabled package: gogol-core
5934+ - gogol-drive < 0 # tried gogol-drive-0.5.0, but its *library* requires the disabled package: gogol-core
5935+ - gogol-firebase-rules < 0 # tried gogol-firebase-rules-0.5.0, but its *library* requires the disabled package: gogol-core
5936+ - gogol-fitness < 0 # tried gogol-fitness-0.5.0, but its *library* requires the disabled package: gogol-core
5937+ - gogol-fonts < 0 # tried gogol-fonts-0.5.0, but its *library* requires the disabled package: gogol-core
5938+ - gogol-freebasesearch < 0 # tried gogol-freebasesearch-0.3.0, but its *library* requires the disabled package: gogol-core
5939+ - gogol-fusiontables < 0 # tried gogol-fusiontables-0.5.0, but its *library* requires the disabled package: gogol-core
5940+ - gogol-games < 0 # tried gogol-games-0.5.0, but its *library* requires the disabled package: gogol-core
5941+ - gogol-games-configuration < 0 # tried gogol-games-configuration-0.5.0, but its *library* requires the disabled package: gogol-core
5942+ - gogol-games-management < 0 # tried gogol-games-management-0.5.0, but its *library* requires the disabled package: gogol-core
5943+ - gogol-genomics < 0 # tried gogol-genomics-0.5.0, but its *library* requires the disabled package: gogol-core
5944+ - gogol-gmail < 0 # tried gogol-gmail-0.5.0, but its *library* requires the disabled package: gogol-core
5945+ - gogol-groups-migration < 0 # tried gogol-groups-migration-0.5.0, but its *library* requires the disabled package: gogol-core
5946+ - gogol-groups-settings < 0 # tried gogol-groups-settings-0.5.0, but its *library* requires the disabled package: gogol-core
5947+ - gogol-identity-toolkit < 0 # tried gogol-identity-toolkit-0.5.0, but its *library* requires the disabled package: gogol-core
5948+ - gogol-kgsearch < 0 # tried gogol-kgsearch-0.5.0, but its *library* requires the disabled package: gogol-core
5949+ - gogol-latencytest < 0 # tried gogol-latencytest-0.3.0, but its *library* requires the disabled package: gogol-core
5950+ - gogol-logging < 0 # tried gogol-logging-0.5.0, but its *library* requires the disabled package: gogol-core
5951+ - gogol-maps-coordinate < 0 # tried gogol-maps-coordinate-0.3.0, but its *library* requires the disabled package: gogol-core
5952+ - gogol-maps-engine < 0 # tried gogol-maps-engine-0.3.0, but its *library* requires the disabled package: gogol-core
5953+ - gogol-mirror < 0 # tried gogol-mirror-0.5.0, but its *library* requires the disabled package: gogol-core
5954+ - gogol-monitoring < 0 # tried gogol-monitoring-0.5.0, but its *library* requires the disabled package: gogol-core
5955+ - gogol-oauth2 < 0 # tried gogol-oauth2-0.5.0, but its *library* requires the disabled package: gogol-core
5956+ - gogol-pagespeed < 0 # tried gogol-pagespeed-0.5.0, but its *library* requires the disabled package: gogol-core
5957+ - gogol-partners < 0 # tried gogol-partners-0.5.0, but its *library* requires the disabled package: gogol-core
5958+ - gogol-people < 0 # tried gogol-people-0.5.0, but its *library* requires the disabled package: gogol-core
5959+ - gogol-play-moviespartner < 0 # tried gogol-play-moviespartner-0.5.0, but its *library* requires the disabled package: gogol-core
5960+ - gogol-plus < 0 # tried gogol-plus-0.5.0, but its *library* requires the disabled package: gogol-core
5961+ - gogol-plus-domains < 0 # tried gogol-plus-domains-0.5.0, but its *library* requires the disabled package: gogol-core
5962+ - gogol-prediction < 0 # tried gogol-prediction-0.5.0, but its *library* requires the disabled package: gogol-core
5963+ - gogol-proximitybeacon < 0 # tried gogol-proximitybeacon-0.5.0, but its *library* requires the disabled package: gogol-core
5964+ - gogol-pubsub < 0 # tried gogol-pubsub-0.5.0, but its *library* requires the disabled package: gogol-core
5965+ - gogol-qpxexpress < 0 # tried gogol-qpxexpress-0.5.0, but its *library* requires the disabled package: gogol-core
5966+ - gogol-replicapool < 0 # tried gogol-replicapool-0.5.0, but its *library* requires the disabled package: gogol-core
5967+ - gogol-replicapool-updater < 0 # tried gogol-replicapool-updater-0.5.0, but its *library* requires the disabled package: gogol-core
5968+ - gogol-resourcemanager < 0 # tried gogol-resourcemanager-0.5.0, but its *library* requires the disabled package: gogol-core
5969+ - gogol-resourceviews < 0 # tried gogol-resourceviews-0.3.0, but its *library* requires the disabled package: gogol-core
5970+ - gogol-script < 0 # tried gogol-script-0.5.0, but its *library* requires the disabled package: gogol-core
5971+ - gogol-sheets < 0 # tried gogol-sheets-0.5.0, but its *library* requires the disabled package: gogol-core
5972+ - gogol-shopping-content < 0 # tried gogol-shopping-content-0.5.0, but its *library* requires the disabled package: gogol-core
5973+ - gogol-siteverification < 0 # tried gogol-siteverification-0.5.0, but its *library* requires the disabled package: gogol-core
5974+ - gogol-spectrum < 0 # tried gogol-spectrum-0.5.0, but its *library* requires the disabled package: gogol-core
5975+ - gogol-sqladmin < 0 # tried gogol-sqladmin-0.5.0, but its *library* requires the disabled package: gogol-core
5976+ - gogol-storage < 0 # tried gogol-storage-0.5.0, but its *library* requires the disabled package: gogol-core
5977+ - gogol-storage-transfer < 0 # tried gogol-storage-transfer-0.5.0, but its *library* requires the disabled package: gogol-core
5978+ - gogol-tagmanager < 0 # tried gogol-tagmanager-0.5.0, but its *library* requires the disabled package: gogol-core
5979+ - gogol-taskqueue < 0 # tried gogol-taskqueue-0.3.0, but its *library* requires the disabled package: gogol-core
5980+ - gogol-translate < 0 # tried gogol-translate-0.5.0, but its *library* requires the disabled package: gogol-core
5981+ - gogol-urlshortener < 0 # tried gogol-urlshortener-0.5.0, but its *library* requires the disabled package: gogol-core
5982+ - gogol-useraccounts < 0 # tried gogol-useraccounts-0.3.0, but its *library* requires the disabled package: gogol-core
5983+ - gogol-vision < 0 # tried gogol-vision-0.5.0, but its *library* requires the disabled package: gogol-core
5984+ - gogol-webmaster-tools < 0 # tried gogol-webmaster-tools-0.5.0, but its *library* requires the disabled package: gogol-core
5985+ - gogol-youtube < 0 # tried gogol-youtube-0.5.0, but its *library* requires the disabled package: gogol-core
5986+ - gogol-youtube-analytics < 0 # tried gogol-youtube-analytics-0.5.0, but its *library* requires the disabled package: gogol-core
5987+ - gogol-youtube-reporting < 0 # tried gogol-youtube-reporting-0.5.0, but its *library* requires the disabled package: gogol-core
5988+ - google-cloud < 0 # tried google-cloud-0.0.4, but its *library* does not support: base-4.15.1.0
5989+ - google-oauth2-jwt < 0 # tried google-oauth2-jwt-0.3.3, but its *library* does not support: base64-bytestring-1.2.1.0
5990+ - google-translate < 0 # tried google-translate-0.5, but its *library* does not support: http-api-data-0.4.3
5991+ - google-translate < 0 # tried google-translate-0.5, but its *library* does not support: http-client-0.7.10
5992+ - graphql-client < 0 # tried graphql-client-1.1.1, but its *executable* does not support: path-0.9.2
5993+ - groundhog-inspector < 0 # tried groundhog-inspector-0.11.0, but its *library* does not support: groundhog-0.12.0
5994+ - groundhog-inspector < 0 # tried groundhog-inspector-0.11.0, but its *library* does not support: groundhog-th-0.12
5995+ - groundhog-mysql < 0 # tried groundhog-mysql-0.12, but its *library* does not support: mysql-0.2.1
5996+ - grouped-list < 0 # tried grouped-list-0.2.2.1, but its *library* does not support: base-4.15.1.0
5997+ - gtk3 < 0 # tried gtk3-0.15.6, but its *library* does not support: Cabal-3.4.1.0
5998+ - hOpenPGP < 0 # tried hOpenPGP-2.9.7, but its *library* requires the disabled package: ixset-typed
5999+ - hackernews < 0 # tried hackernews-1.4.0.0, but its *library* does not support: http-client-0.7.10
6000+ - hackernews < 0 # tried hackernews-1.4.0.0, but its *library* does not support: servant-0.18.3
6001+ - hackernews < 0 # tried hackernews-1.4.0.0, but its *library* does not support: servant-client-0.18.3
6002+ - hadolint < 0 # tried hadolint-2.8.0, but its *library* does not support: deepseq-1.4.5.0
6003+ - hadolint < 0 # tried hadolint-2.8.0, but its *library* requires the disabled package: colourista
6004+ - hadolint < 0 # tried hadolint-2.8.0, but its *library* requires the disabled package: spdx
6005+ - hapistrano < 0 # tried hapistrano-0.4.3.0, but its *library* does not support: path-0.9.2
6006+ - happstack-hsp < 0 # tried happstack-hsp-7.3.7.5, but its *library* requires the disabled package: harp
6007+ - haskell-lsp < 0 # tried haskell-lsp-0.24.0.0, but its *executable* does not support: base-4.15.1.0
6008+ - haskell-lsp-client < 0 # tried haskell-lsp-client-1.0.0.1, but its *library* requires the disabled package: haskell-lsp
6009+ - haskell-tools-ast < 0 # tried haskell-tools-ast-1.1.1.0, but its *library* does not support: base-4.15.1.0
6010+ - haskell-tools-ast < 0 # tried haskell-tools-ast-1.1.1.0, but its *library* does not support: ghc-9.0.2
6011+ - haskell-tools-ast < 0 # tried haskell-tools-ast-1.1.1.0, but its *library* does not support: template-haskell-2.17.0.0
6012+ - haskell-tools-ast < 0 # tried haskell-tools-ast-1.1.1.0, but its *library* requires the disabled package: references
6013+ - haskell-tools-backend-ghc < 0 # tried haskell-tools-backend-ghc-1.1.1.0, but its *library* does not support: base-4.15.1.0
6014+ - haskell-tools-backend-ghc < 0 # tried haskell-tools-backend-ghc-1.1.1.0, but its *library* does not support: ghc-9.0.2
6015+ - haskell-tools-backend-ghc < 0 # tried haskell-tools-backend-ghc-1.1.1.0, but its *library* does not support: ghc-boot-th-9.0.2
6016+ - haskell-tools-backend-ghc < 0 # tried haskell-tools-backend-ghc-1.1.1.0, but its *library* does not support: template-haskell-2.17.0.0
6017+ - haskell-tools-backend-ghc < 0 # tried haskell-tools-backend-ghc-1.1.1.0, but its *library* requires the disabled package: references
6018+ - haskell-tools-cli < 0 # tried haskell-tools-cli-1.1.1.0, but its *executable* does not support: Glob-0.10.2
6019+ - haskell-tools-cli < 0 # tried haskell-tools-cli-1.1.1.0, but its *executable* does not support: optparse-applicative-0.16.1.0
6020+ - haskell-tools-cli < 0 # tried haskell-tools-cli-1.1.1.0, but its *library* does not support: base-4.15.1.0
6021+ - haskell-tools-cli < 0 # tried haskell-tools-cli-1.1.1.0, but its *library* does not support: ghc-9.0.2
6022+ - haskell-tools-cli < 0 # tried haskell-tools-cli-1.1.1.0, but its *library* does not support: strict-0.4.0.1
6023+ - haskell-tools-cli < 0 # tried haskell-tools-cli-1.1.1.0, but its *library* requires the disabled package: haskell-tools-builtin-refactorings
6024+ - haskell-tools-cli < 0 # tried haskell-tools-cli-1.1.1.0, but its *library* requires the disabled package: references
6025+ - haskell-tools-daemon < 0 # tried haskell-tools-daemon-1.1.1.0, but its *library* does not support: Cabal-3.4.1.0
6026+ - haskell-tools-daemon < 0 # tried haskell-tools-daemon-1.1.1.0, but its *library* does not support: Diff-0.4.1
6027+ - haskell-tools-daemon < 0 # tried haskell-tools-daemon-1.1.1.0, but its *library* does not support: aeson-1.5.6.0
6028+ - haskell-tools-daemon < 0 # tried haskell-tools-daemon-1.1.1.0, but its *library* does not support: base-4.15.1.0
6029+ - haskell-tools-daemon < 0 # tried haskell-tools-daemon-1.1.1.0, but its *library* does not support: ghc-9.0.2
6030+ - haskell-tools-daemon < 0 # tried haskell-tools-daemon-1.1.1.0, but its *library* does not support: network-3.1.2.7
6031+ - haskell-tools-daemon < 0 # tried haskell-tools-daemon-1.1.1.0, but its *library* does not support: optparse-applicative-0.16.1.0
6032+ - haskell-tools-daemon < 0 # tried haskell-tools-daemon-1.1.1.0, but its *library* does not support: strict-0.4.0.1
6033+ - haskell-tools-daemon < 0 # tried haskell-tools-daemon-1.1.1.0, but its *library* does not support: template-haskell-2.17.0.0
6034+ - haskell-tools-daemon < 0 # tried haskell-tools-daemon-1.1.1.0, but its *library* requires the disabled package: haskell-tools-builtin-refactorings
6035+ - haskell-tools-daemon < 0 # tried haskell-tools-daemon-1.1.1.0, but its *library* requires the disabled package: references
6036+ - haskell-tools-debug < 0 # tried haskell-tools-debug-1.1.1.0, but its *library* does not support: base-4.15.1.0
6037+ - haskell-tools-debug < 0 # tried haskell-tools-debug-1.1.1.0, but its *library* does not support: ghc-9.0.2
6038+ - haskell-tools-debug < 0 # tried haskell-tools-debug-1.1.1.0, but its *library* does not support: template-haskell-2.17.0.0
6039+ - haskell-tools-debug < 0 # tried haskell-tools-debug-1.1.1.0, but its *library* requires the disabled package: haskell-tools-builtin-refactorings
6040+ - haskell-tools-debug < 0 # tried haskell-tools-debug-1.1.1.0, but its *library* requires the disabled package: references
6041+ - haskell-tools-demo < 0 # tried haskell-tools-demo-1.1.1.0, but its *library* does not support: aeson-1.5.6.0
6042+ - haskell-tools-demo < 0 # tried haskell-tools-demo-1.1.1.0, but its *library* does not support: base-4.15.1.0
6043+ - haskell-tools-demo < 0 # tried haskell-tools-demo-1.1.1.0, but its *library* does not support: ghc-9.0.2
6044+ - haskell-tools-demo < 0 # tried haskell-tools-demo-1.1.1.0, but its *library* does not support: warp-3.3.18
6045+ - haskell-tools-demo < 0 # tried haskell-tools-demo-1.1.1.0, but its *library* requires the disabled package: haskell-tools-builtin-refactorings
6046+ - haskell-tools-demo < 0 # tried haskell-tools-demo-1.1.1.0, but its *library* requires the disabled package: references
6047+ - haskell-tools-prettyprint < 0 # tried haskell-tools-prettyprint-1.1.1.0, but its *library* does not support: base-4.15.1.0
6048+ - haskell-tools-prettyprint < 0 # tried haskell-tools-prettyprint-1.1.1.0, but its *library* does not support: ghc-9.0.2
6049+ - haskell-tools-prettyprint < 0 # tried haskell-tools-prettyprint-1.1.1.0, but its *library* requires the disabled package: references
6050+ - haskell-tools-refactor < 0 # tried haskell-tools-refactor-1.1.1.0, but its *library* does not support: Cabal-3.4.1.0
6051+ - haskell-tools-refactor < 0 # tried haskell-tools-refactor-1.1.1.0, but its *library* does not support: aeson-1.5.6.0
6052+ - haskell-tools-refactor < 0 # tried haskell-tools-refactor-1.1.1.0, but its *library* does not support: base-4.15.1.0
6053+ - haskell-tools-refactor < 0 # tried haskell-tools-refactor-1.1.1.0, but its *library* does not support: ghc-9.0.2
6054+ - haskell-tools-refactor < 0 # tried haskell-tools-refactor-1.1.1.0, but its *library* does not support: template-haskell-2.17.0.0
6055+ - haskell-tools-refactor < 0 # tried haskell-tools-refactor-1.1.1.0, but its *library* requires the disabled package: references
6056+ - haskell-tools-rewrite < 0 # tried haskell-tools-rewrite-1.1.1.0, but its *library* does not support: base-4.15.1.0
6057+ - haskell-tools-rewrite < 0 # tried haskell-tools-rewrite-1.1.1.0, but its *library* does not support: ghc-9.0.2
6058+ - haskell-tools-rewrite < 0 # tried haskell-tools-rewrite-1.1.1.0, but its *library* requires the disabled package: references
6059+ - haskey < 0 # tried haskey-0.3.1.0, but its *library* does not support: stm-containers-1.2
6060+ - haskey-mtl < 0 # tried haskey-mtl-0.3.1.0, but its *library* does not support: monad-control-1.0.3.1
6061+ - haskoin-store < 0 # tried haskoin-store-0.64.18, but its *library* requires the disabled package: haskoin-node
6062+ - haskoin-store < 0 # tried haskoin-store-0.64.18, but its *library* requires the disabled package: haskoin-store-data
6063+ - hasmin < 0 # tried hasmin-1.0.3, but its *executable* does not support: optparse-applicative-0.16.1.0
6064+ - hasmin < 0 # tried hasmin-1.0.3, but its *library* does not support: attoparsec-0.14.4
6065+ - haxl-amazonka < 0 # tried haxl-amazonka-0.1.1, but its *library* requires the disabled package: haxl
6066+ - heist < 0 # tried heist-1.1.0.1, but its *library* does not support: aeson-1.5.6.0
6067+ - heist < 0 # tried heist-1.1.0.1, but its *library* does not support: attoparsec-0.14.4
6068+ - heist < 0 # tried heist-1.1.0.1, but its *library* does not support: base-4.15.1.0
6069+ - heist < 0 # tried heist-1.1.0.1, but its *library* does not support: dlist-1.0
6070+ - herms < 0 # tried herms-1.9.0.4, but its *executable* does not support: ansi-terminal-0.11.1
6071+ - herms < 0 # tried herms-1.9.0.4, but its *executable* does not support: brick-0.66.1
6072+ - herms < 0 # tried herms-1.9.0.4, but its *executable* does not support: optparse-applicative-0.16.1.0
6073+ - herms < 0 # tried herms-1.9.0.4, but its *executable* does not support: semigroups-0.19.2
6074+ - herms < 0 # tried herms-1.9.0.4, but its *executable* does not support: vty-5.33
6075+ - hgeometry < 0 # tried hgeometry-0.13, but its *library* requires the disabled package: vector-circular
6076+ - hgeometry-combinatorial < 0 # tried hgeometry-combinatorial-0.13, but its *library* requires the disabled package: vector-circular
6077+ - hgrev < 0 # tried hgrev-0.2.6, but its *library* does not support: base-4.15.1.0
6078+ - hgrev < 0 # tried hgrev-0.2.6, but its *library* does not support: template-haskell-2.17.0.0
6079+ - hidden-char < 0 # tried hidden-char-0.1.0.2, but its *library* does not support: base-4.15.1.0
6080+ - hierarchy < 0 # tried hierarchy-1.0.2, but its *library* does not support: base-4.15.1.0
6081+ - highjson-swagger < 0 # tried highjson-swagger-0.5.0.0, but its *library* requires the disabled package: swagger2
6082+ - highjson-th < 0 # tried highjson-th-0.5.0.0, but its *library* requires the disabled package: swagger2
6083+ - hip < 0 # tried hip-1.5.6.0, but its *library* requires the disabled package: Chart-diagrams
6084+ - hit < 0 # tried hit-0.7.0, but its *executable* requires the disabled package: git
6085+ - hmatrix-backprop < 0 # tried hmatrix-backprop-0.1.3.0, but its *library* requires the disabled package: backprop
6086+ - hmpfr < 0 # tried hmpfr-0.4.4, but its *library* does not support: integer-gmp-1.1
6087+ - holy-project < 0 # tried holy-project-0.2.0.1, but its *library* requires the disabled package: hastache
6088+ - hopenpgp-tools < 0 # tried hopenpgp-tools-0.23.6, but its *executable* requires the disabled package: ixset-typed
6089+ - hpc-coveralls < 0 # tried hpc-coveralls-1.0.10, but its *library* does not support: aeson-1.5.6.0
6090+ - hpc-coveralls < 0 # tried hpc-coveralls-1.0.10, but its *library* does not support: containers-0.6.4.1
6091+ - hpc-coveralls < 0 # tried hpc-coveralls-1.0.10, but its *library* does not support: retry-0.9.0.0
6092+ - hpc-lcov < 0 # tried hpc-lcov-1.0.1, but its *executable* does not support: path-0.9.2
6093+ - hpio < 0 # tried hpio-0.9.0.7, but its *executable* does not support: optparse-applicative-0.16.1.0
6094+ - hpio < 0 # tried hpio-0.9.0.7, but its *library* does not support: QuickCheck-2.14.2
6095+ - hpio < 0 # tried hpio-0.9.0.7, but its *library* does not support: protolude-0.3.0
6096+ - hquantlib < 0 # tried hquantlib-0.0.5.0, but its *library* does not support: containers-0.6.4.1
6097+ - hquantlib < 0 # tried hquantlib-0.0.5.0, but its *library* does not support: hmatrix-0.20.2
6098+ - hquantlib < 0 # tried hquantlib-0.0.5.0, but its *library* does not support: statistics-0.16.0.1
6099+ - hquantlib < 0 # tried hquantlib-0.0.5.0, but its *library* does not support: time-1.9.3
6100+ - hquantlib < 0 # tried hquantlib-0.0.5.0, but its *library* does not support: vector-algorithms-0.8.0.4
6101+ - hquantlib < 0 # tried hquantlib-0.0.5.0, but its *library* requires the disabled package: hmatrix-special
6102+ - hquantlib-time < 0 # tried hquantlib-time-0.0.4.1, but its *library* does not support: time-1.9.3
6103+ - hsb2hs < 0 # tried hsb2hs-0.3.1, but its *executable* requires the disabled package: preprocessor-tools
6104+ - hschema-aeson < 0 # tried hschema-aeson-0.0.1.1, but its *library* requires the disabled package: hschema
6105+ - hschema-prettyprinter < 0 # tried hschema-prettyprinter-0.0.1.1, but its *library* requires the disabled package: hschema
6106+ - hschema-quickcheck < 0 # tried hschema-quickcheck-0.0.1.1, but its *library* requires the disabled package: hschema
6107+ - hsdev < 0 # tried hsdev-0.3.4.0, but its *library* does not support: attoparsec-0.14.4
6108+ - hsdev < 0 # tried hsdev-0.3.4.0, but its *library* does not support: ghc-boot-9.0.2
6109+ - hsdev < 0 # tried hsdev-0.3.4.0, but its *library* does not support: ghc-lib-parser-9.0.2.20211226
6110+ - hsdev < 0 # tried hsdev-0.3.4.0, but its *library* does not support: hlint-3.3.6
6111+ - hsdev < 0 # tried hsdev-0.3.4.0, but its *library* does not support: http-client-0.7.10
6112+ - hsdev < 0 # tried hsdev-0.3.4.0, but its *library* does not support: lens-5.0.1
6113+ - hsdev < 0 # tried hsdev-0.3.4.0, but its *library* does not support: optparse-applicative-0.16.1.0
6114+ - hsdev < 0 # tried hsdev-0.3.4.0, but its *library* does not support: template-haskell-2.17.0.0
6115+ - hsdev < 0 # tried hsdev-0.3.4.0, but its *library* requires the disabled package: text-region
6116+ - hspec-tables < 0 # tried hspec-tables-0.0.1, but its *library* does not support: base-4.15.1.0
6117+ - hspec-tables < 0 # tried hspec-tables-0.0.1, but its *library* does not support: hspec-core-2.8.5
6118+ - hspec-wai-json < 0 # tried hspec-wai-json-0.11.0, but its *library* does not support: hspec-wai-0.11.1
6119+ - hspec-webdriver < 0 # tried hspec-webdriver-1.2.0, but its *library* requires the disabled package: webdriver
6120+ - hsx2hs < 0 # tried hsx2hs-0.14.1.8, but its *library* does not support: template-haskell-2.17.0.0
6121+ - hw-hspec-hedgehog < 0 # tried hw-hspec-hedgehog-0.1.1.0, but its *library* does not support: hspec-2.8.5
6122+ - hyraxAbif < 0 # tried hyraxAbif-0.2.3.27, but its *library* does not support: text-1.2.5.0
6123+ - idris < 0 # tried idris-1.3.4, but its *library* does not support: Cabal-3.4.1.0
6124+ - idris < 0 # tried idris-1.3.4, but its *library* does not support: network-3.1.2.7
6125+ - importify < 0 # tried importify-1.0.1, but its *library* requires the disabled package: hse-cpp
6126+ - indentation-core < 0 # tried indentation-core-0.0.0.2, but its *library* does not support: base-4.15.1.0
6127+ - indentation-parsec < 0 # tried indentation-parsec-0.0.0.2, but its *library* does not support: base-4.15.1.0
6128+ - inline-java < 0 # tried inline-java-0.10.0, but its *library* does not support: ghc-9.0.2
6129+ - inline-java < 0 # tried inline-java-0.10.0, but its *library* requires the disabled package: jni
6130+ - inline-r < 0 # tried inline-r-0.10.5, but its *library* does not support: singletons-3.0.1
6131+ - interpolatedstring-qq2 < 0 # tried interpolatedstring-qq2-0.1.0.0, but its *library* does not support: template-haskell-2.17.0.0
6132+ - io-streams-haproxy < 0 # tried io-streams-haproxy-1.0.1.0, but its *library* does not support: attoparsec-0.14.4
6133+ - io-streams-haproxy < 0 # tried io-streams-haproxy-1.0.1.0, but its *library* does not support: base-4.15.1.0
6134+ - ipa < 0 # tried ipa-0.3.1.1, but its *library* does not support: unicode-transforms-0.4.0
6135+ - irc-dcc < 0 # tried irc-dcc-2.0.1, but its *library* does not support: attoparsec-0.14.4
6136+ - irc-dcc < 0 # tried irc-dcc-2.0.1, but its *library* does not support: network-3.1.2.7
6137+ - irc-dcc < 0 # tried irc-dcc-2.0.1, but its *library* does not support: path-0.9.2
6138+ - it-has < 0 # tried it-has-0.2.0.0, but its *library* does not support: generic-lens-2.2.0.0
6139+ - ixset < 0 # tried ixset-1.1.1.1, but its *library* requires the disabled package: syb-with-class
6140+ - ixset-typed < 0 # tried ixset-typed-0.5, but its *library* does not support: template-haskell-2.17.0.0
6141+ - ixset-typed-binary-instance < 0 # tried ixset-typed-binary-instance-0.1.0.2, but its *library* requires the disabled package: ixset-typed
6142+ - ixset-typed-conversions < 0 # tried ixset-typed-conversions-0.1.2.0, but its *library* requires the disabled package: ixset-typed
6143+ - ixset-typed-hashable-instance < 0 # tried ixset-typed-hashable-instance-0.1.0.2, but its *library* requires the disabled package: ixset-typed
6144+ - jmacro-rpc-snap < 0 # tried jmacro-rpc-snap-0.3, but its *library* requires the disabled package: snap-core
6145+ - jsaddle < 0 # tried jsaddle-0.9.8.1, but its *library* does not support: attoparsec-0.14.4
6146+ - jsaddle < 0 # tried jsaddle-0.9.8.1, but its *library* does not support: base64-bytestring-1.2.1.0
6147+ - jsaddle < 0 # tried jsaddle-0.9.8.1, but its *library* does not support: ref-tf-0.5.0.1
6148+ - json-alt < 0 # tried json-alt-1.0.0, but its *library* does not support: aeson-1.5.6.0
6149+ - json-autotype < 0 # tried json-autotype-3.1.2, but its *library* does not support: aeson-1.5.6.0
6150+ - json-autotype < 0 # tried json-autotype-3.1.2, but its *library* does not support: lens-5.0.1
6151+ - json-autotype < 0 # tried json-autotype-3.1.2, but its *library* does not support: smallcheck-1.2.1
6152+ - json-autotype < 0 # tried json-autotype-3.1.2, but its *library* requires the disabled package: run-haskell-module
6153+ - json-rpc-client < 0 # tried json-rpc-client-0.2.5.0, but its *library* does not support: aeson-1.5.6.0
6154+ - json-rpc-client < 0 # tried json-rpc-client-0.2.5.0, but its *library* does not support: base-4.15.1.0
6155+ - json-rpc-server < 0 # tried json-rpc-server-0.2.6.0, but its *library* does not support: base-4.15.1.0
6156+ - jvm < 0 # tried jvm-0.6.0, but its *library* requires the disabled package: distributed-closure
6157+ - jvm < 0 # tried jvm-0.6.0, but its *library* requires the disabled package: jni
6158+ - jvm-batching < 0 # tried jvm-batching-0.2.0, but its *library* requires the disabled package: distributed-closure
6159+ - jvm-batching < 0 # tried jvm-batching-0.2.0, but its *library* requires the disabled package: jni
6160+ - jvm-streaming < 0 # tried jvm-streaming-0.4.0, but its *library* requires the disabled package: distributed-closure
6161+ - jvm-streaming < 0 # tried jvm-streaming-0.4.0, but its *library* requires the disabled package: jni
6162+ - katip-rollbar < 0 # tried katip-rollbar-0.3.0.1, but its *library* does not support: aeson-1.5.6.0
6163+ - katip-rollbar < 0 # tried katip-rollbar-0.3.0.1, but its *library* does not support: async-2.2.4
6164+ - katip-rollbar < 0 # tried katip-rollbar-0.3.0.1, but its *library* does not support: katip-0.8.7.0
6165+ - katip-rollbar < 0 # tried katip-rollbar-0.3.0.1, but its *library* does not support: rollbar-hs-0.3.1.0
6166+ - katip-rollbar < 0 # tried katip-rollbar-0.3.0.1, but its *library* does not support: time-1.9.3
6167+ - katip-scalyr-scribe < 0 # tried katip-scalyr-scribe-0.1.0.1, but its *library* does not support: aeson-1.5.6.0
6168+ - katip-scalyr-scribe < 0 # tried katip-scalyr-scribe-0.1.0.1, but its *library* does not support: katip-0.8.7.0
6169+ - kraken < 0 # tried kraken-0.1.0, but its *library* does not support: base-4.15.1.0
6170+ - lambdabot-core < 0 # tried lambdabot-core-5.3.0.2, but its *library* requires the disabled package: random-fu
6171+ - lambdabot-irc-plugins < 0 # tried lambdabot-irc-plugins-5.3.0.2, but its *library* requires the disabled package: lambdabot-core
6172+ - language-haskell-extract < 0 # tried language-haskell-extract-0.2.4, but its *library* does not support: template-haskell-2.17.0.0
6173+ - language-puppet < 0 # tried language-puppet-1.4.6.5, but its *library* does not support: base16-bytestring-1.0.2.0
6174+ - language-puppet < 0 # tried language-puppet-1.4.6.5, but its *library* does not support: formatting-7.1.3
6175+ - language-puppet < 0 # tried language-puppet-1.4.6.5, but its *library* does not support: lens-5.0.1
6176+ - language-puppet < 0 # tried language-puppet-1.4.6.5, but its *library* does not support: megaparsec-9.2.0
6177+ - language-puppet < 0 # tried language-puppet-1.4.6.5, but its *library* does not support: memory-0.16.0
6178+ - language-puppet < 0 # tried language-puppet-1.4.6.5, but its *library* does not support: servant-0.18.3
6179+ - language-puppet < 0 # tried language-puppet-1.4.6.5, but its *library* does not support: servant-client-0.18.3
6180+ - large-hashable < 0 # tried large-hashable-0.1.0.4, but its *library* does not support: template-haskell-2.17.0.0
6181+ - lens-accelerate < 0 # tried lens-accelerate-0.3.0.0, but its *library* does not support: lens-5.0.1
6182+ - lens-datetime < 0 # tried lens-datetime-0.3, but its *library* does not support: lens-5.0.1
6183+ - lens-simple < 0 # tried lens-simple-0.1.0.9, but its *library* does not support: lens-family-2.1.1
6184+ - lens-simple < 0 # tried lens-simple-0.1.0.9, but its *library* does not support: lens-family-core-2.1.0
6185+ - lenz < 0 # tried lenz-0.4.2.0, but its *library* requires the disabled package: hs-functors
6186+ - libinfluxdb < 0 # tried libinfluxdb-0.0.4, but its *library* does not support: base-4.15.1.0
6187+ - libjwt-typed < 0 # tried libjwt-typed-0.2, but its *library* does not support: base-4.15.1.0
6188+ - libjwt-typed < 0 # tried libjwt-typed-0.2, but its *library* does not support: text-1.2.5.0
6189+ - libraft < 0 # tried libraft-0.5.0.0, but its *library* requires the disabled package: ekg
6190+ - libraft < 0 # tried libraft-0.5.0.0, but its *library* requires the disabled package: ekg-core
6191+ - libraft < 0 # tried libraft-0.5.0.0, but its *library* requires the disabled package: protolude
6192+ - licensor < 0 # tried licensor-0.5.0, but its *library* does not support: Cabal-3.4.1.0
6193+ - licensor < 0 # tried licensor-0.5.0, but its *library* does not support: base-4.15.1.0
6194+ - linear-accelerate < 0 # tried linear-accelerate-0.7.0.0, but its *library* does not support: lens-5.0.1
6195+ - linked-list-with-iterator < 0 # tried linked-list-with-iterator-0.1.1.0, but its *library* does not support: containers-0.6.4.1
6196+ - liquid-fixpoint < 0 # tried liquid-fixpoint-8.10.7, but its *library* does not support: megaparsec-9.2.0
6197+ - liquid-fixpoint < 0 # tried liquid-fixpoint-8.10.7, but its *library* requires the disabled package: rest-rewrite
6198+ - list-witnesses < 0 # tried list-witnesses-0.1.3.2, but its *library* requires the disabled package: functor-products
6199+ - little-logger < 0 # tried little-logger-0.3.2, but its *library* requires the disabled package: co-log
6200+ - little-logger < 0 # tried little-logger-0.3.2, but its *library* requires the disabled package: co-log-core
6201+ - log-warper < 0 # tried log-warper-1.9.0, but its *library* does not support: aeson-1.5.6.0
6202+ - log-warper < 0 # tried log-warper-1.9.0, but its *library* does not support: o-clock-1.2.1
6203+ - log-warper < 0 # tried log-warper-1.9.0, but its *library* does not support: universum-1.7.2
6204+ - logger-thread < 0 # tried logger-thread-0.1.0.2, but its *library* requires the disabled package: protolude
6205+ - logging-effect-extra < 0 # tried logging-effect-extra-2.0.0, but its *library* does not support: base-4.15.1.0
6206+ - logging-effect-extra < 0 # tried logging-effect-extra-2.0.0, but its *library* does not support: prettyprinter-1.7.1
6207+ - logging-effect-extra < 0 # tried logging-effect-extra-2.0.0, but its *library* requires the disabled package: logging-effect
6208+ - logging-effect-extra-file < 0 # tried logging-effect-extra-file-2.0.1, but its *library* does not support: base-4.15.1.0
6209+ - logging-effect-extra-file < 0 # tried logging-effect-extra-file-2.0.1, but its *library* does not support: prettyprinter-1.7.1
6210+ - logging-effect-extra-file < 0 # tried logging-effect-extra-file-2.0.1, but its *library* requires the disabled package: logging-effect
6211+ - logging-effect-extra-handler < 0 # tried logging-effect-extra-handler-2.0.1, but its *library* does not support: base-4.15.1.0
6212+ - logging-effect-extra-handler < 0 # tried logging-effect-extra-handler-2.0.1, but its *library* does not support: prettyprinter-1.7.1
6213+ - logging-effect-extra-handler < 0 # tried logging-effect-extra-handler-2.0.1, but its *library* requires the disabled package: logging-effect
6214+ - loopbreaker < 0 # tried loopbreaker-0.1.1.1, but its *library* does not support: ghc-9.0.2
6215+ - lxd-client < 0 # tried lxd-client-0.1.0.6, but its *library* does not support: network-3.1.2.7
6216+ - lxd-client < 0 # tried lxd-client-0.1.0.6, but its *library* does not support: servant-0.18.3
6217+ - lxd-client < 0 # tried lxd-client-0.1.0.6, but its *library* does not support: servant-client-0.18.3
6218+ - machines-directory < 0 # tried machines-directory-7.0.0.0, but its *library* requires the disabled package: machines-io
6219+ - magicbane < 0 # tried magicbane-0.5.1, but its *library* requires the disabled package: ekg-core
6220+ - magicbane < 0 # tried magicbane-0.5.1, but its *library* requires the disabled package: ekg-wai
6221+ - makefile < 0 # tried makefile-1.1.0.0, but its *library* does not support: attoparsec-0.14.4
6222+ - mallard < 0 # tried mallard-0.6.1.1, but its *library* does not support: megaparsec-9.2.0
6223+ - mallard < 0 # tried mallard-0.6.1.1, but its *library* requires the disabled package: Interpolation
6224+ - map-syntax < 0 # tried map-syntax-0.3, but its *library* does not support: base-4.15.1.0
6225+ - markup < 0 # tried markup-4.2.0, but its *library* requires the disabled package: attoparsec-uri
6226+ - marvin < 0 # tried marvin-0.2.5, but its *library* does not support: aeson-1.5.6.0
6227+ - marvin < 0 # tried marvin-0.2.5, but its *library* does not support: http-client-0.7.10
6228+ - marvin < 0 # tried marvin-0.2.5, but its *library* does not support: lens-5.0.1
6229+ - marvin < 0 # tried marvin-0.2.5, but its *library* requires the disabled package: marvin-interpolate
6230+ - mbug < 0 # tried mbug-1.3.2, but its *library* does not support: extra-1.7.10
6231+ - mbug < 0 # tried mbug-1.3.2, but its *library* does not support: formatting-7.1.3
6232+ - mbug < 0 # tried mbug-1.3.2, but its *library* does not support: http-client-0.7.10
6233+ - mbug < 0 # tried mbug-1.3.2, but its *library* does not support: optparse-applicative-0.16.1.0
6234+ - mbug < 0 # tried mbug-1.3.2, but its *library* does not support: scalpel-core-0.6.2
6235+ - mbug < 0 # tried mbug-1.3.2, but its *library* does not support: time-1.9.3
6236+ - menshen < 0 # tried menshen-0.0.3, but its *library* does not support: regex-tdfa-1.3.1.1
6237+ - merkle-tree < 0 # tried merkle-tree-0.1.1, but its *library* requires the disabled package: protolude
6238+ - messagepack-rpc < 0 # tried messagepack-rpc-0.5.1, but its *library* does not support: containers-0.6.4.1
6239+ - microformats2-parser < 0 # tried microformats2-parser-1.0.2.0, but its *executable* requires the disabled package: aws-lambda-haskell-runtime-wai
6240+ - microformats2-parser < 0 # tried microformats2-parser-1.0.2.0, but its *library* requires the disabled package: xml-lens
6241+ - microsoft-translator < 0 # tried microsoft-translator-0.1.2, but its *library* does not support: http-client-0.7.10
6242+ - microsoft-translator < 0 # tried microsoft-translator-0.1.2, but its *library* does not support: http-media-0.8.0.0
6243+ - microsoft-translator < 0 # tried microsoft-translator-0.1.2, but its *library* does not support: servant-0.18.3
6244+ - microsoft-translator < 0 # tried microsoft-translator-0.1.2, but its *library* does not support: servant-client-0.18.3
6245+ - microsoft-translator < 0 # tried microsoft-translator-0.1.2, but its *library* does not support: time-1.9.3
6246+ - midi-music-box < 0 # tried midi-music-box-0.0.1.2, but its *executable* requires the disabled package: diagrams-postscript
6247+ - milena < 0 # tried milena-0.5.4.0, but its *library* does not support: lens-5.0.1
6248+ - milena < 0 # tried milena-0.5.4.0, but its *library* does not support: network-3.1.2.7
6249+ - milena < 0 # tried milena-0.5.4.0, but its *library* does not support: random-1.2.1
6250+ - milena < 0 # tried milena-0.5.4.0, but its *library* does not support: semigroups-0.19.2
6251+ - mini-egison < 0 # tried mini-egison-1.0.0, but its *library* requires the disabled package: egison-pattern-src
6252+ - mini-egison < 0 # tried mini-egison-1.0.0, but its *library* requires the disabled package: egison-pattern-src-th-mode
6253+ - minio-hs < 0 # tried minio-hs-1.5.3, but its *library* requires the disabled package: protolude
6254+ - misfortune < 0 # tried misfortune-0.1.1.2, but its *library* requires the disabled package: knob
6255+ - misfortune < 0 # tried misfortune-0.1.1.2, but its *library* requires the disabled package: random-fu
6256+ - miso < 0 # tried miso-1.8.1.0, but its *library* requires the disabled package: jsaddle
6257+ - modify-fasta < 0 # tried modify-fasta-0.8.3.0, but its *executable* requires the disabled package: pipes-text
6258+ - mole < 0 # tried mole-0.0.7, but its *executable* does not support: base-4.15.1.0
6259+ - mole < 0 # tried mole-0.0.7, but its *executable* requires the disabled package: snap-server
6260+ - monad-bayes < 0 # tried monad-bayes-0.1.1.0, but its *library* does not support: base-4.15.1.0
6261+ - monad-bayes < 0 # tried monad-bayes-0.1.1.0, but its *library* does not support: mwc-random-0.15.0.2
6262+ - monad-bayes < 0 # tried monad-bayes-0.1.1.0, but its *library* does not support: statistics-0.16.0.1
6263+ - monad-metrics < 0 # tried monad-metrics-0.2.2.0, but its *library* requires the disabled package: ekg-core
6264+ - monad-mock < 0 # tried monad-mock-0.2.0.0, but its *library* does not support: template-haskell-2.17.0.0
6265+ - monad-unlift-ref < 0 # tried monad-unlift-ref-0.2.1, but its *library* requires the disabled package: monad-unlift
6266+ - msgpack < 0 # tried msgpack-1.0.1.0, but its *library* does not support: base-4.15.1.0
6267+ - msgpack-aeson < 0 # tried msgpack-aeson-0.1.0.0, but its *library* requires the disabled package: msgpack
6268+ - msgpack-idl < 0 # tried msgpack-idl-0.2.1, but its *library* does not support: blaze-builder-0.4.2.2
6269+ - msgpack-idl < 0 # tried msgpack-idl-0.2.1, but its *library* does not support: filepath-1.4.2.1
6270+ - msgpack-idl < 0 # tried msgpack-idl-0.2.1, but its *library* does not support: msgpack-1.0.1.0
6271+ - msgpack-idl < 0 # tried msgpack-idl-0.2.1, but its *library* does not support: template-haskell-2.17.0.0
6272+ - msgpack-idl < 0 # tried msgpack-idl-0.2.1, but its *library* requires the disabled package: peggy
6273+ - msgpack-idl < 0 # tried msgpack-idl-0.2.1, but its *library* requires the disabled package: shakespeare-text
6274+ - msgpack-rpc < 0 # tried msgpack-rpc-1.0.0, but its *library* does not support: base-4.15.1.0
6275+ - msgpack-rpc < 0 # tried msgpack-rpc-1.0.0, but its *library* does not support: binary-conduit-1.3.1
6276+ - msgpack-rpc < 0 # tried msgpack-rpc-1.0.0, but its *library* does not support: conduit-1.3.4.2
6277+ - msgpack-rpc < 0 # tried msgpack-rpc-1.0.0, but its *library* does not support: conduit-extra-1.3.5
6278+ - msgpack-rpc < 0 # tried msgpack-rpc-1.0.0, but its *library* does not support: network-3.1.2.7
6279+ - msgpack-rpc < 0 # tried msgpack-rpc-1.0.0, but its *library* does not support: random-1.2.1
6280+ - multistate < 0 # tried multistate-0.8.0.3, but its *library* does not support: base-4.15.1.0
6281+ - mwc-random-accelerate < 0 # tried mwc-random-accelerate-0.2.0.0, but its *library* requires the disabled package: accelerate
6282+ - mysql-haskell < 0 # tried mysql-haskell-0.8.4.3, but its *library* does not support: memory-0.16.0
6283+ - mysql-haskell < 0 # tried mysql-haskell-0.8.4.3, but its *library* requires the disabled package: word24
6284+ - mysql-haskell-nem < 0 # tried mysql-haskell-nem-0.1.0.0, but its *library* requires the disabled package: mysql-haskell
6285+ - mysql-haskell-openssl < 0 # tried mysql-haskell-openssl-0.8.3.1, but its *library* requires the disabled package: mysql-haskell
6286+ - mysql-haskell-openssl < 0 # tried mysql-haskell-openssl-0.8.3.1, but its *library* requires the disabled package: tcp-streams-openssl
6287+ - n-tuple < 0 # tried n-tuple-0.0.2.0, but its *library* does not support: base-4.15.1.0
6288+ - n-tuple < 0 # tried n-tuple-0.0.2.0, but its *library* does not support: singletons-3.0.1
6289+ - n2o-web < 0 # tried n2o-web-0.11.2, but its *library* requires the disabled package: n2o-protocols
6290+ - nakadi-client < 0 # tried nakadi-client-0.7.0.0, but its *library* requires the disabled package: async-timer
6291+ - naqsha < 0 # tried naqsha-0.3.0.1, but its *library* does not support: base-4.15.1.0
6292+ - net-mqtt < 0 # tried net-mqtt-0.8.2.0, but its *library* does not support: attoparsec-0.14.4
6293+ - net-mqtt-lens < 0 # tried net-mqtt-lens-0.1.1.0, but its *library* requires the disabled package: net-mqtt
6294+ - netrc < 0 # tried netrc-0.2.0.0, but its *library* does not support: base-4.15.1.0
6295+ - network-anonymous-tor < 0 # tried network-anonymous-tor-0.11.0, but its *library* requires the disabled package: hexstring
6296+ - network-anonymous-tor < 0 # tried network-anonymous-tor-0.11.0, but its *library* requires the disabled package: network-attoparsec
6297+ - network-msgpack-rpc < 0 # tried network-msgpack-rpc-0.0.6, but its *library* does not support: network-3.1.2.7
6298+ - network-transport-inmemory < 0 # tried network-transport-inmemory-0.5.2, but its *library* does not support: containers-0.6.4.1
6299+ - nri-test-encoding < 0 # tried nri-test-encoding-0.1.1.1, but its *library* requires the disabled package: servant-auth-server
6300+ - numhask-prelude < 0 # tried numhask-prelude-0.5.0, but its *library* does not support: numhask-0.8.1.0
6301+ - nvim-hs-ghcid < 0 # tried nvim-hs-ghcid-2.0.0.0, but its *library* requires the disabled package: nvim-hs-contrib
6302+ - oblivious-transfer < 0 # tried oblivious-transfer-0.1.0, but its *library* requires the disabled package: protolude
6303+ - om-elm < 0 # tried om-elm-2.0.0.0, but its *library* does not support: Cabal-3.4.1.0
6304+ - om-elm < 0 # tried om-elm-2.0.0.0, but its *library* does not support: base-4.15.1.0
6305+ - om-elm < 0 # tried om-elm-2.0.0.0, but its *library* does not support: template-haskell-2.17.0.0
6306+ - oset < 0 # tried oset-0.4.0.1, but its *library* does not support: base-4.15.1.0
6307+ - packdeps < 0 # tried packdeps-0.6.0.0, but its *library* does not support: Cabal-3.4.1.0
6308+ - pairing < 0 # tried pairing-1.1.0, but its *library* does not support: groups-0.5.3
6309+ - pairing < 0 # tried pairing-1.1.0, but its *library* does not support: protolude-0.3.0
6310+ - pairing < 0 # tried pairing-1.1.0, but its *library* requires the disabled package: elliptic-curve
6311+ - pango < 0 # tried pango-0.13.8.1, but its *library* does not support: Cabal-3.4.1.0
6312+ - papillon < 0 # tried papillon-0.1.1.1, but its *library* does not support: template-haskell-2.17.0.0
6313+ - paripari < 0 # tried paripari-0.7.0.0, but its *library* does not support: parser-combinators-1.3.0
6314+ - path-text-utf8 < 0 # tried path-text-utf8-0.0.1.8, but its *library* does not support: path-0.9.2
6315+ - pcf-font-embed < 0 # tried pcf-font-embed-0.1.2.0, but its *library* requires the disabled package: pcf-font
6316+ - pedersen-commitment < 0 # tried pedersen-commitment-0.2.0, but its *library* requires the disabled package: protolude
6317+ - perfect-vector-shuffle < 0 # tried perfect-vector-shuffle-0.1.1.1, but its *library* does not support: base-4.15.1.0
6318+ - persistable-record < 0 # tried persistable-record-0.6.0.5, but its *library* requires the disabled package: th-data-compat
6319+ - persistable-types-HDBC-pg < 0 # tried persistable-types-HDBC-pg-0.0.3.5, but its *library* requires the disabled package: persistable-record
6320+ - persistable-types-HDBC-pg < 0 # tried persistable-types-HDBC-pg-0.0.3.5, but its *library* requires the disabled package: relational-query-HDBC
6321+ - persistent-mysql-haskell < 0 # tried persistent-mysql-haskell-0.6.0, but its *library* does not support: tls-1.5.7
6322+ - pg-harness-server < 0 # tried pg-harness-server-0.6.2, but its *executable* does not support: random-1.2.1
6323+ - pg-harness-server < 0 # tried pg-harness-server-0.6.2, but its *executable* does not support: scotty-0.12
6324+ - picedit < 0 # tried picedit-0.2.3.0, but its *executable* requires the disabled package: cli
6325+ - picedit < 0 # tried picedit-0.2.3.0, but its *library* does not support: JuicyPixels-3.3.6
6326+ - picedit < 0 # tried picedit-0.2.3.0, but its *library* does not support: hmatrix-0.20.2
6327+ - pier < 0 # tried pier-0.3.0.0, but its *executable* does not support: Cabal-3.4.1.0
6328+ - pier < 0 # tried pier-0.3.0.0, but its *executable* does not support: aeson-1.5.6.0
6329+ - pier < 0 # tried pier-0.3.0.0, but its *executable* does not support: base-4.15.1.0
6330+ - pier < 0 # tried pier-0.3.0.0, but its *executable* does not support: binary-orphans-1.0.2
6331+ - pier < 0 # tried pier-0.3.0.0, but its *executable* does not support: containers-0.6.4.1
6332+ - pier < 0 # tried pier-0.3.0.0, but its *executable* does not support: hashable-1.3.5.0
6333+ - pier < 0 # tried pier-0.3.0.0, but its *executable* does not support: shake-0.19.6
6334+ - pier < 0 # tried pier-0.3.0.0, but its *executable* does not support: yaml-0.11.6.0
6335+ - pier-core < 0 # tried pier-core-0.3.0.0, but its *library* does not support: Cabal-3.4.1.0
6336+ - pier-core < 0 # tried pier-core-0.3.0.0, but its *library* does not support: base-4.15.1.0
6337+ - pier-core < 0 # tried pier-core-0.3.0.0, but its *library* does not support: base64-bytestring-1.2.1.0
6338+ - pier-core < 0 # tried pier-core-0.3.0.0, but its *library* does not support: containers-0.6.4.1
6339+ - pier-core < 0 # tried pier-core-0.3.0.0, but its *library* does not support: hashable-1.3.5.0
6340+ - pier-core < 0 # tried pier-core-0.3.0.0, but its *library* does not support: http-client-0.7.10
6341+ - pier-core < 0 # tried pier-core-0.3.0.0, but its *library* does not support: shake-0.19.6
6342+ - pinboard < 0 # tried pinboard-0.10.2.0, but its *library* does not support: http-client-0.7.10
6343+ - pipes-category < 0 # tried pipes-category-0.3.0.0, but its *library* does not support: lens-5.0.1
6344+ - pipes-misc < 0 # tried pipes-misc-0.5.0.0, but its *library* requires the disabled package: pipes-category
6345+ - pipes-network-tls < 0 # tried pipes-network-tls-0.4, but its *library* requires the disabled package: pipes-network
6346+ - pixelated-avatar-generator < 0 # tried pixelated-avatar-generator-0.1.3, but its *executable* requires the disabled package: cli
6347+ - plot < 0 # tried plot-0.2.3.11, but its *library* requires the disabled package: cairo
6348+ - plot < 0 # tried plot-0.2.3.11, but its *library* requires the disabled package: pango
6349+ - pointful < 0 # tried pointful-1.1.0.0, but its *library* does not support: base-4.15.1.0
6350+ - pointful < 0 # tried pointful-1.1.0.0, but its *library* requires the disabled package: haskell-src-exts-simple
6351+ - polysemy-zoo < 0 # tried polysemy-zoo-0.7.0.2, but its *library* does not support: constraints-0.13.2
6352+ - pomaps < 0 # tried pomaps-0.2.0.1, but its *library* does not support: base-4.15.1.0
6353+ - pomaps < 0 # tried pomaps-0.2.0.1, but its *library* does not support: ghc-prim-0.7.0
6354+ - postgrest < 0 # tried postgrest-8.0.0, but its *library* does not support: base-4.15.1.0
6355+ - postgrest < 0 # tried postgrest-8.0.0, but its *library* does not support: hasql-1.5.0.1
6356+ - postgrest < 0 # tried postgrest-8.0.0, but its *library* does not support: retry-0.9.0.0
6357+ - postgrest < 0 # tried postgrest-8.0.0, but its *library* does not support: swagger2-2.7
6358+ - postgrest < 0 # tried postgrest-8.0.0, but its *library* requires the disabled package: hasql-dynamic-statements
6359+ - prairie < 0 # tried prairie-0.0.1.0, but its *library* does not support: template-haskell-2.17.0.0
6360+ - pred-set < 0 # tried pred-set-0.0.1, but its *library* requires the disabled package: HSet
6361+ - pred-trie < 0 # tried pred-trie-0.6.1, but its *library* requires the disabled package: pred-set
6362+ - pred-trie < 0 # tried pred-trie-0.6.1, but its *library* requires the disabled package: tries
6363+ - printcess < 0 # tried printcess-0.1.0.3, but its *library* does not support: containers-0.6.4.1
6364+ - printcess < 0 # tried printcess-0.1.0.3, but its *library* does not support: lens-5.0.1
6365+ - product-isomorphic < 0 # tried product-isomorphic-0.0.3.3, but its *library* requires the disabled package: th-data-compat
6366+ - protolude < 0 # tried protolude-0.3.0, but its *library* does not support: base-4.15.1.0
6367+ - protolude < 0 # tried protolude-0.3.0, but its *library* does not support: ghc-prim-0.7.0
6368+ - publicsuffix < 0 # tried publicsuffix-0.20200526, but its *library* does not support: base-4.15.1.0
6369+ - pure-io < 0 # tried pure-io-0.2.1, but its *library* does not support: base-4.15.1.0
6370+ - qnap-decrypt < 0 # tried qnap-decrypt-0.3.5, but its *executable* does not support: optparse-applicative-0.16.1.0
6371+ - questioner < 0 # tried questioner-0.1.1.0, but its *library* does not support: ansi-terminal-0.11.1
6372+ - questioner < 0 # tried questioner-0.1.1.0, but its *library* requires the disabled package: readline
6373+ - quickcheck-arbitrary-template < 0 # tried quickcheck-arbitrary-template-0.2.1.1, but its *library* does not support: template-haskell-2.17.0.0
6374+ - quickcheck-combinators < 0 # tried quickcheck-combinators-0.0.5, but its *library* requires the disabled package: unfoldable-restricted
6375+ - quickcheck-state-machine < 0 # tried quickcheck-state-machine-0.7.1, but its *library* requires the disabled package: markov-chain-usage-model
6376+ - rakuten < 0 # tried rakuten-0.1.1.5, but its *library* does not support: aeson-1.5.6.0
6377+ - rakuten < 0 # tried rakuten-0.1.1.5, but its *library* does not support: connection-0.3.1
6378+ - rakuten < 0 # tried rakuten-0.1.1.5, but its *library* does not support: constraints-0.13.2
6379+ - rakuten < 0 # tried rakuten-0.1.1.5, but its *library* does not support: http-api-data-0.4.3
6380+ - rakuten < 0 # tried rakuten-0.1.1.5, but its *library* does not support: http-client-0.7.10
6381+ - rakuten < 0 # tried rakuten-0.1.1.5, but its *library* does not support: lens-5.0.1
6382+ - rakuten < 0 # tried rakuten-0.1.1.5, but its *library* does not support: req-3.9.2
6383+ - rakuten < 0 # tried rakuten-0.1.1.5, but its *library* requires the disabled package: extensible
6384+ - ranged-list < 0 # tried ranged-list-0.1.0.0, but its *library* requires the disabled package: typecheck-plugin-nat-simple
6385+ - rank-product < 0 # tried rank-product-0.2.2.0, but its *library* requires the disabled package: random-fu
6386+ - rdf < 0 # tried rdf-0.1.0.5, but its *library* does not support: attoparsec-0.14.4
6387+ - reanimate < 0 # tried reanimate-1.1.4.0, but its *library* requires the disabled package: hgeometry
6388+ - reanimate < 0 # tried reanimate-1.1.4.0, but its *library* requires the disabled package: hgeometry-combinatorial
6389+ - reform-hsp < 0 # tried reform-hsp-0.2.7.2, but its *library* requires the disabled package: hsx2hs
6390+ - regex-pcre-text < 0 # tried regex-pcre-text-0.94.0.1, but its *library* does not support: regex-base-0.94.0.2
6391+ - regex-pcre-text < 0 # tried regex-pcre-text-0.94.0.1, but its *library* does not support: regex-pcre-builtin-0.95.2.3.8.44
6392+ - regex-tdfa-text < 0 # tried regex-tdfa-text-1.0.0.3, but its *library* does not support: regex-base-0.94.0.2
6393+ - registry < 0 # tried registry-0.2.1.0, but its *library* requires the disabled package: protolude
6394+ - relapse < 0 # tried relapse-1.0.0.0, but its *library* does not support: attoparsec-0.14.4
6395+ - relational-query < 0 # tried relational-query-0.12.3.0, but its *library* requires the disabled package: persistable-record
6396+ - relational-query < 0 # tried relational-query-0.12.3.0, but its *library* requires the disabled package: product-isomorphic
6397+ - relational-query-HDBC < 0 # tried relational-query-HDBC-0.7.2.0, but its *library* requires the disabled package: th-data-compat
6398+ - relational-record < 0 # tried relational-record-0.2.2.0, but its *library* requires the disabled package: persistable-record
6399+ - relational-record < 0 # tried relational-record-0.2.2.0, but its *library* requires the disabled package: product-isomorphic
6400+ - relational-record < 0 # tried relational-record-0.2.2.0, but its *library* requires the disabled package: relational-query-HDBC
6401+ - relational-schemas < 0 # tried relational-schemas-0.1.8.0, but its *library* requires the disabled package: relational-query
6402+ - repa-algorithms < 0 # tried repa-algorithms-3.4.1.4, but its *library* does not support: base-4.15.1.0
6403+ - req-url-extra < 0 # tried req-url-extra-0.1.1.0, but its *executable* does not support: aeson-1.5.6.0
6404+ - req-url-extra < 0 # tried req-url-extra-0.1.1.0, but its *library* does not support: base-4.15.1.0
6405+ - req-url-extra < 0 # tried req-url-extra-0.1.1.0, but its *library* does not support: req-3.9.2
6406+ - rethinkdb-client-driver < 0 # tried rethinkdb-client-driver-0.0.25, but its *library* does not support: base-4.15.1.0
6407+ - rhine-gloss < 0 # tried rhine-gloss-0.7.0, but its *library* requires the disabled package: rhine
6408+ - riak < 0 # tried riak-1.2.0.0, but its *library* does not support: attoparsec-0.14.4
6409+ - riak < 0 # tried riak-1.2.0.0, but its *library* does not support: network-3.1.2.7
6410+ - rollbar-hs < 0 # tried rollbar-hs-0.3.1.0, but its *library* does not support: aeson-1.5.6.0
6411+ - rollbar-hs < 0 # tried rollbar-hs-0.3.1.0, but its *library* does not support: http-client-0.7.10
6412+ - rollbar-hs < 0 # tried rollbar-hs-0.3.1.0, but its *library* does not support: network-3.1.2.7
6413+ - rollbar-hs < 0 # tried rollbar-hs-0.3.1.0, but its *library* does not support: time-1.9.3
6414+ - safe-tensor < 0 # tried safe-tensor-0.2.1.1, but its *library* does not support: singletons-3.0.1
6415+ - salak-toml < 0 # tried salak-toml-0.3.5.3, but its *library* requires the disabled package: tomland
6416+ - sandwich-webdriver < 0 # tried sandwich-webdriver-0.1.0.6, but its *library* requires the disabled package: webdriver
6417+ - scalendar < 0 # tried scalendar-1.2.0, but its *library* does not support: containers-0.6.4.1
6418+ - schematic < 0 # tried schematic-0.5.1.0, but its *library* does not support: aeson-1.5.6.0
6419+ - schematic < 0 # tried schematic-0.5.1.0, but its *library* requires the disabled package: hjsonschema
6420+ - schematic < 0 # tried schematic-0.5.1.0, but its *library* requires the disabled package: validationt
6421+ - sendgrid-v3 < 0 # tried sendgrid-v3-0.3.0.0, but its *library* does not support: base-4.15.1.0
6422+ - sensu-run < 0 # tried sensu-run-0.7.0.5, but its *executable* does not support: aeson-1.5.6.0
6423+ - sensu-run < 0 # tried sensu-run-0.7.0.5, but its *executable* does not support: base-4.15.1.0
6424+ - sensu-run < 0 # tried sensu-run-0.7.0.5, but its *executable* does not support: http-client-0.7.10
6425+ - sensu-run < 0 # tried sensu-run-0.7.0.5, but its *executable* does not support: lens-5.0.1
6426+ - sensu-run < 0 # tried sensu-run-0.7.0.5, but its *executable* does not support: optparse-applicative-0.16.1.0
6427+ - seqloc < 0 # tried seqloc-0.6.1.1, but its *library* requires the disabled package: biocore
6428+ - sequence-formats < 0 # tried sequence-formats-1.6.1, but its *library* does not support: base-4.15.1.0
6429+ - sequenceTools < 0 # tried sequenceTools-1.5.0, but its *library* requires the disabled package: sequence-formats
6430+ - servant-auth-cookie < 0 # tried servant-auth-cookie-0.6.0.3, but its *library* does not support: blaze-builder-0.4.2.2
6431+ - servant-auth-cookie < 0 # tried servant-auth-cookie-0.6.0.3, but its *library* does not support: cryptonite-0.29
6432+ - servant-auth-cookie < 0 # tried servant-auth-cookie-0.6.0.3, but its *library* does not support: exceptions-0.10.4
6433+ - servant-auth-cookie < 0 # tried servant-auth-cookie-0.6.0.3, but its *library* does not support: http-api-data-0.4.3
6434+ - servant-auth-cookie < 0 # tried servant-auth-cookie-0.6.0.3, but its *library* does not support: http-types-0.12.3
6435+ - servant-auth-cookie < 0 # tried servant-auth-cookie-0.6.0.3, but its *library* does not support: memory-0.16.0
6436+ - servant-auth-cookie < 0 # tried servant-auth-cookie-0.6.0.3, but its *library* does not support: servant-0.18.3
6437+ - servant-auth-cookie < 0 # tried servant-auth-cookie-0.6.0.3, but its *library* does not support: servant-server-0.18.3
6438+ - servant-auth-cookie < 0 # tried servant-auth-cookie-0.6.0.3, but its *library* does not support: time-1.9.3
6439+ - servant-auth-docs < 0 # tried servant-auth-docs-0.2.10.0, but its *library* does not support: base-4.15.1.0
6440+ - servant-auth-server < 0 # tried servant-auth-server-0.4.6.0, but its *library* does not support: base64-bytestring-1.2.1.0
6441+ - servant-auth-swagger < 0 # tried servant-auth-swagger-0.2.10.1, but its *library* does not support: swagger2-2.7
6442+ - servant-errors < 0 # tried servant-errors-0.1.6.0, but its *library* does not support: base-4.15.1.0
6443+ - servant-js < 0 # tried servant-js-0.9.4.2, but its *executable* does not support: aeson-1.5.6.0
6444+ - servant-kotlin < 0 # tried servant-kotlin-0.1.1.9, but its *library* does not support: containers-0.6.4.1
6445+ - servant-kotlin < 0 # tried servant-kotlin-0.1.1.9, but its *library* does not support: formatting-7.1.3
6446+ - servant-kotlin < 0 # tried servant-kotlin-0.1.1.9, but its *library* does not support: lens-5.0.1
6447+ - servant-kotlin < 0 # tried servant-kotlin-0.1.1.9, but its *library* does not support: servant-0.18.3
6448+ - servant-kotlin < 0 # tried servant-kotlin-0.1.1.9, but its *library* does not support: time-1.9.3
6449+ - servant-mock < 0 # tried servant-mock-0.8.7, but its *library* does not support: QuickCheck-2.14.2
6450+ - servant-mock < 0 # tried servant-mock-0.8.7, but its *library* does not support: base-4.15.1.0
6451+ - servant-pandoc < 0 # tried servant-pandoc-0.5.0.0, but its *library* does not support: http-media-0.8.0.0
6452+ - servant-pandoc < 0 # tried servant-pandoc-0.5.0.0, but its *library* does not support: lens-5.0.1
6453+ - servant-pandoc < 0 # tried servant-pandoc-0.5.0.0, but its *library* does not support: pandoc-types-1.22.1
6454+ - servant-quickcheck < 0 # tried servant-quickcheck-0.0.10.0, but its *library* does not support: base-4.15.1.0
6455+ - servant-quickcheck < 0 # tried servant-quickcheck-0.0.10.0, but its *library* does not support: hspec-2.8.5
6456+ - servant-streaming < 0 # tried servant-streaming-0.3.0.0, but its *library* does not support: base-4.15.1.0
6457+ - servant-streaming < 0 # tried servant-streaming-0.3.0.0, but its *library* does not support: servant-0.18.3
6458+ - servant-streaming-client < 0 # tried servant-streaming-client-0.3.0.0, but its *library* does not support: base-4.15.1.0
6459+ - servant-streaming-client < 0 # tried servant-streaming-client-0.3.0.0, but its *library* does not support: http-media-0.8.0.0
6460+ - servant-streaming-client < 0 # tried servant-streaming-client-0.3.0.0, but its *library* does not support: servant-0.18.3
6461+ - servant-streaming-client < 0 # tried servant-streaming-client-0.3.0.0, but its *library* does not support: servant-client-core-0.18.3
6462+ - servant-streaming-server < 0 # tried servant-streaming-server-0.3.0.0, but its *library* does not support: base-4.15.1.0
6463+ - servant-streaming-server < 0 # tried servant-streaming-server-0.3.0.0, but its *library* does not support: http-media-0.8.0.0
6464+ - servant-streaming-server < 0 # tried servant-streaming-server-0.3.0.0, but its *library* does not support: servant-server-0.18.3
6465+ - servant-streaming-server < 0 # tried servant-streaming-server-0.3.0.0, but its *library* requires the disabled package: streaming-wai
6466+ - servant-swagger < 0 # tried servant-swagger-1.1.10, but its *library* does not support: Cabal-3.4.1.0
6467+ - servant-swagger < 0 # tried servant-swagger-1.1.10, but its *library* does not support: base-4.15.1.0
6468+ - servant-swagger < 0 # tried servant-swagger-1.1.10, but its *library* does not support: lens-5.0.1
6469+ - servant-swagger < 0 # tried servant-swagger-1.1.10, but its *library* does not support: swagger2-2.7
6470+ - servant-yaml < 0 # tried servant-yaml-0.1.0.1, but its *library* does not support: base-4.15.1.0
6471+ - servant-yaml < 0 # tried servant-yaml-0.1.0.1, but its *library* does not support: servant-0.18.3
6472+ - serverless-haskell < 0 # tried serverless-haskell-0.12.6, but its *library* requires the disabled package: amazonka-core
6473+ - serversession-backend-persistent < 0 # tried serversession-backend-persistent-1.0.5, but its *library* does not support: base64-bytestring-1.2.1.0
6474+ - serversession-backend-redis < 0 # tried serversession-backend-redis-1.0.4, but its *library* does not support: hedis-0.15.0
6475+ - serversession-frontend-yesod < 0 # tried serversession-frontend-yesod-1.0, but its *library* does not support: yesod-core-1.6.21.0
6476+ - sessiontypes-distributed < 0 # tried sessiontypes-distributed-0.1.1, but its *library* does not support: exceptions-0.10.4
6477+ - sessiontypes-distributed < 0 # tried sessiontypes-distributed-0.1.1, but its *library* requires the disabled package: sessiontypes
6478+ - sexpr-parser < 0 # tried sexpr-parser-0.2.0.0, but its *library* does not support: base-4.15.1.0
6479+ - sexpr-parser < 0 # tried sexpr-parser-0.2.0.0, but its *library* does not support: megaparsec-9.2.0
6480+ - shake-plus-extended < 0 # tried shake-plus-extended-0.4.1.0, but its *library* requires the disabled package: ixset-typed
6481+ - show-prettyprint < 0 # tried show-prettyprint-0.3.0.1, but its *library* does not support: trifecta-2.1.2
6482+ - shower < 0 # tried shower-0.2.0.2, but its *library* does not support: base-4.15.1.0
6483+ - simplest-sqlite < 0 # tried simplest-sqlite-0.1.0.2, but its *library* does not support: template-haskell-2.17.0.0
6484+ - size-based < 0 # tried size-based-0.1.2.0, but its *library* does not support: template-haskell-2.17.0.0
6485+ - sized-grid < 0 # tried sized-grid-0.2.0.1, but its *library* does not support: aeson-1.5.6.0
6486+ - sized-grid < 0 # tried sized-grid-0.2.0.1, but its *library* does not support: base-4.15.1.0
6487+ - sized-grid < 0 # tried sized-grid-0.2.0.1, but its *library* does not support: constraints-0.13.2
6488+ - sized-grid < 0 # tried sized-grid-0.2.0.1, but its *library* does not support: lens-5.0.1
6489+ - sized-grid < 0 # tried sized-grid-0.2.0.1, but its *library* does not support: random-1.2.1
6490+ - skeletons < 0 # tried skeletons-0.4.0, but its *executable* requires the disabled package: tinytemplate
6491+ - slack-web < 0 # tried slack-web-0.4.0.0, but its *library* does not support: http-client-0.7.10
6492+ - smallcheck-series < 0 # tried smallcheck-series-0.7.1.0, but its *library* does not support: base-4.15.1.0
6493+ - smash-lens < 0 # tried smash-lens-0.1.0.1, but its *library* does not support: lens-5.0.1
6494+ - snap < 0 # tried snap-1.1.3.1, but its *library* does not support: aeson-1.5.6.0
6495+ - snap < 0 # tried snap-1.1.3.1, but its *library* does not support: attoparsec-0.14.4
6496+ - snap < 0 # tried snap-1.1.3.1, but its *library* does not support: base-4.15.1.0
6497+ - snap < 0 # tried snap-1.1.3.1, but its *library* does not support: dlist-1.0
6498+ - snap < 0 # tried snap-1.1.3.1, but its *library* does not support: lens-5.0.1
6499+ - snap < 0 # tried snap-1.1.3.1, but its *library* does not support: mwc-random-0.15.0.2
6500+ - snap < 0 # tried snap-1.1.3.1, but its *library* requires the disabled package: pwstore-fast
6501+ - snap < 0 # tried snap-1.1.3.1, but its *library* requires the disabled package: snap-server
6502+ - snap-blaze < 0 # tried snap-blaze-0.2.1.5, but its *library* requires the disabled package: snap-core
6503+ - snap-core < 0 # tried snap-core-1.0.4.2, but its *library* does not support: attoparsec-0.14.4
6504+ - socket-activation < 0 # tried socket-activation-0.1.0.2, but its *library* does not support: network-3.1.2.7
6505+ - sparkle < 0 # tried sparkle-0.7.4, but its *library* does not support: inline-java-0.10.0
6506+ - sparkle < 0 # tried sparkle-0.7.4, but its *library* does not support: jvm-0.6.0
6507+ - sparkle < 0 # tried sparkle-0.7.4, but its *library* requires the disabled package: distributed-closure
6508+ - sparkle < 0 # tried sparkle-0.7.4, but its *library* requires the disabled package: jni
6509+ - sparse-tensor < 0 # tried sparse-tensor-0.2.1.5, but its *library* does not support: ad-4.5
6510+ - speculation < 0 # tried speculation-1.5.0.3, but its *library* does not support: stm-2.5.0.0
6511+ - sqlite-simple-errors < 0 # tried sqlite-simple-errors-0.6.1.0, but its *library* does not support: text-1.2.5.0
6512+ - streamproc < 0 # tried streamproc-1.6.2, but its *library* does not support: base-4.15.1.0
6513+ - strict-base-types < 0 # tried strict-base-types-0.7, but its *library* requires the disabled package: strict-lens
6514+ - stripe-tests < 0 # tried stripe-tests-2.6.2, but its *library* does not support: hspec-2.8.5
6515+ - stripe-tests < 0 # tried stripe-tests-2.6.2, but its *library* does not support: hspec-core-2.8.5
6516+ - stripe-tests < 0 # tried stripe-tests-2.6.2, but its *library* does not support: random-1.2.1
6517+ - structured-haskell-mode < 0 # tried structured-haskell-mode-1.1.0, but its *executable* does not support: haskell-src-exts-1.23.1
6518+ - stylish-haskell < 0 # tried stylish-haskell-0.13.0.0, but its *library* does not support: Cabal-3.4.1.0
6519+ - stylish-haskell < 0 # tried stylish-haskell-0.13.0.0, but its *library* does not support: ghc-lib-parser-9.0.2.20211226
6520+ - sv < 0 # tried sv-1.4.0.1, but its *library* does not support: attoparsec-0.14.4
6521+ - sv < 0 # tried sv-1.4.0.1, but its *library* does not support: base-4.15.1.0
6522+ - sv-cassava < 0 # tried sv-cassava-0.3, but its *library* does not support: attoparsec-0.14.4
6523+ - sv-core < 0 # tried sv-core-0.5, but its *library* does not support: attoparsec-0.14.4
6524+ - sv-core < 0 # tried sv-core-0.5, but its *library* does not support: base-4.15.1.0
6525+ - sv-core < 0 # tried sv-core-0.5, but its *library* does not support: lens-5.0.1
6526+ - sv-core < 0 # tried sv-core-0.5, but its *library* does not support: profunctors-5.6.2
6527+ - swagger-petstore < 0 # tried swagger-petstore-0.0.2.0, but its *library* does not support: containers-0.6.4.1
6528+ - swagger-petstore < 0 # tried swagger-petstore-0.0.2.0, but its *library* does not support: http-api-data-0.4.3
6529+ - swagger-petstore < 0 # tried swagger-petstore-0.0.2.0, but its *library* does not support: http-client-0.7.10
6530+ - swagger-petstore < 0 # tried swagger-petstore-0.0.2.0, but its *library* does not support: http-media-0.8.0.0
6531+ - swagger-petstore < 0 # tried swagger-petstore-0.0.2.0, but its *library* does not support: katip-0.8.7.0
6532+ - swagger-petstore < 0 # tried swagger-petstore-0.0.2.0, but its *library* does not support: network-3.1.2.7
6533+ - swagger2 < 0 # tried swagger2-2.7, but its *library* does not support: aeson-1.5.6.0
6534+ - sweet-egison < 0 # tried sweet-egison-0.1.1.3, but its *library* requires the disabled package: egison-pattern-src
6535+ - sweet-egison < 0 # tried sweet-egison-0.1.1.3, but its *library* requires the disabled package: egison-pattern-src-th-mode
6536+ - tasty-stats < 0 # tried tasty-stats-0.2.0.4, but its *library* does not support: containers-0.6.4.1
6537+ - tasty-stats < 0 # tried tasty-stats-0.2.0.4, but its *library* does not support: tasty-1.4.2.1
6538+ - tasty-stats < 0 # tried tasty-stats-0.2.0.4, but its *library* does not support: time-1.9.3
6539+ - tcp-streams-openssl < 0 # tried tcp-streams-openssl-1.0.1.0, but its *library* does not support: network-3.1.2.7
6540+ - termcolor < 0 # tried termcolor-0.2.0.0, but its *executable* requires the disabled package: cli
6541+ - termonad < 0 # tried termonad-4.2.0.0, but its *library* requires the disabled package: xml-html-qq
6542+ - test-fixture < 0 # tried test-fixture-0.5.1.0, but its *library* does not support: template-haskell-2.17.0.0
6543+ - test-framework-th < 0 # tried test-framework-th-0.2.4, but its *library* requires the disabled package: language-haskell-extract
6544+ - testing-feat < 0 # tried testing-feat-1.1.0.0, but its *library* requires the disabled package: size-based
6545+ - text-all < 0 # tried text-all-0.4.2, but its *library* does not support: text-1.2.5.0
6546+ - text-all < 0 # tried text-all-0.4.2, but its *library* does not support: text-format-0.3.2
6547+ - text-format < 0 # tried text-format-0.3.2, but its *library* does not support: base-4.15.1.0
6548+ - text-generic-pretty < 0 # tried text-generic-pretty-1.2.1, but its *library* does not support: wl-pprint-text-1.2.0.2
6549+ - th-to-exp < 0 # tried th-to-exp-0.0.1.1, but its *library* does not support: template-haskell-2.17.0.0
6550+ - threepenny-gui < 0 # tried threepenny-gui-0.9.1.0, but its *library* requires the disabled package: snap-server
6551+ - threepenny-gui-flexbox < 0 # tried threepenny-gui-flexbox-0.4.2, but its *library* requires the disabled package: threepenny-gui
6552+ - thumbnail-plus < 0 # tried thumbnail-plus-1.0.5, but its *library* does not support: either-5.0.1.1
6553+ - token-bucket < 0 # tried token-bucket-0.1.0.1, but its *library* does not support: base-4.15.1.0
6554+ - tonalude < 0 # tried tonalude-0.1.1.1, but its *library* does not support: base-4.15.1.0
6555+ - tonaparser < 0 # tried tonaparser-0.1.0.1, but its *library* does not support: base-4.15.1.0
6556+ - tonatona < 0 # tried tonatona-0.1.2.1, but its *library* does not support: base-4.15.1.0
6557+ - tonatona-logger < 0 # tried tonatona-logger-0.2.0.2, but its *library* does not support: base-4.15.1.0
6558+ - tonatona-persistent-postgresql < 0 # tried tonatona-persistent-postgresql-0.1.0.2, but its *library* does not support: base-4.15.1.0
6559+ - tonatona-persistent-postgresql < 0 # tried tonatona-persistent-postgresql-0.1.0.2, but its *library* does not support: persistent-2.13.2.2
6560+ - tonatona-persistent-postgresql < 0 # tried tonatona-persistent-postgresql-0.1.0.2, but its *library* does not support: persistent-postgresql-2.13.2.2
6561+ - tonatona-persistent-sqlite < 0 # tried tonatona-persistent-sqlite-0.1.0.2, but its *library* does not support: base-4.15.1.0
6562+ - tonatona-persistent-sqlite < 0 # tried tonatona-persistent-sqlite-0.1.0.2, but its *library* does not support: persistent-2.13.2.2
6563+ - tonatona-persistent-sqlite < 0 # tried tonatona-persistent-sqlite-0.1.0.2, but its *library* does not support: persistent-sqlite-2.13.0.4
6564+ - tonatona-servant < 0 # tried tonatona-servant-0.1.0.4, but its *library* does not support: base-4.15.1.0
6565+ - tonatona-servant < 0 # tried tonatona-servant-0.1.0.4, but its *library* does not support: servant-0.18.3
6566+ - tonatona-servant < 0 # tried tonatona-servant-0.1.0.4, but its *library* does not support: servant-server-0.18.3
6567+ - tonatona-servant < 0 # tried tonatona-servant-0.1.0.4, but its *library* does not support: wai-extra-3.1.8
6568+ - transformers-lift < 0 # tried transformers-lift-0.2.0.2, but its *library* does not support: base-4.15.1.0
6569+ - transformers-lift < 0 # tried transformers-lift-0.2.0.2, but its *library* does not support: writer-cps-transformers-0.5.6.1
6570+ - transient-universe < 0 # tried transient-universe-0.6.0.1, but its *library* does not support: network-3.1.2.7
6571+ - tries < 0 # tried tries-0.0.6.1, but its *library* requires the disabled package: rose-trees
6572+ - true-name < 0 # tried true-name-0.1.0.3, but its *library* does not support: template-haskell-2.17.0.0
6573+ - type-combinators-singletons < 0 # tried type-combinators-singletons-0.2.1.0, but its *library* requires the disabled package: type-combinators
6574+ - ucam-webauth < 0 # tried ucam-webauth-0.1.0.0, but its *library* does not support: aeson-1.5.6.0
6575+ - ucam-webauth < 0 # tried ucam-webauth-0.1.0.0, but its *library* does not support: attoparsec-0.14.4
6576+ - ucam-webauth < 0 # tried ucam-webauth-0.1.0.0, but its *library* does not support: base-4.15.1.0
6577+ - ucam-webauth < 0 # tried ucam-webauth-0.1.0.0, but its *library* does not support: cryptonite-0.29
6578+ - ucam-webauth < 0 # tried ucam-webauth-0.1.0.0, but its *library* does not support: parser-combinators-1.3.0
6579+ - ucam-webauth-types < 0 # tried ucam-webauth-types-0.1.0.0, but its *library* does not support: aeson-1.5.6.0
6580+ - ucam-webauth-types < 0 # tried ucam-webauth-types-0.1.0.0, but its *library* does not support: base-4.15.1.0
6581+ - ucam-webauth-types < 0 # tried ucam-webauth-types-0.1.0.0, but its *library* does not support: base64-bytestring-1.2.1.0
6582+ - unfoldable-restricted < 0 # tried unfoldable-restricted-0.0.3, but its *library* requires the disabled package: unfoldable
6583+ - uniprot-kb < 0 # tried uniprot-kb-0.1.2.0, but its *library* does not support: attoparsec-0.14.4
6584+ - uri-templater < 0 # tried uri-templater-0.3.1.0, but its *library* does not support: trifecta-2.1.2
6585+ - urlpath < 0 # tried urlpath-9.0.1, but its *library* requires the disabled package: attoparsec-uri
6586+ - userid < 0 # tried userid-0.1.3.6, but its *library* does not support: base-4.15.1.0
6587+ - utf8-conversions < 0 # tried utf8-conversions-0.1.0.4, but its *library* does not support: text-short-0.1.5
6588+ - vado < 0 # tried vado-0.0.13, but its *library* does not support: attoparsec-0.14.4
6589+ - vado < 0 # tried vado-0.0.13, but its *library* does not support: base-4.15.1.0
6590+ - vcswrapper < 0 # tried vcswrapper-0.1.6, but its *library* does not support: base-4.15.1.0
6591+ - vcswrapper < 0 # tried vcswrapper-0.1.6, but its *library* does not support: containers-0.6.4.1
6592+ - vector-circular < 0 # tried vector-circular-0.1.3, but its *library* does not support: template-haskell-2.17.0.0
6593+ - vector-fftw < 0 # tried vector-fftw-0.1.4.0, but its *library* does not support: base-4.15.1.0
6594+ - viewprof < 0 # tried viewprof-0.0.0.33, but its *executable* does not support: base-4.15.1.0
6595+ - viewprof < 0 # tried viewprof-0.0.0.33, but its *executable* does not support: brick-0.66.1
6596+ - viewprof < 0 # tried viewprof-0.0.0.33, but its *executable* does not support: lens-5.0.1
6597+ - viewprof < 0 # tried viewprof-0.0.0.33, but its *executable* does not support: vty-5.33
6598+ - wai-middleware-crowd < 0 # tried wai-middleware-crowd-0.1.4.2, but its *executable* does not support: optparse-applicative-0.16.1.0
6599+ - wai-middleware-metrics < 0 # tried wai-middleware-metrics-0.2.4, but its *library* requires the disabled package: ekg-core
6600+ - wai-middleware-rollbar < 0 # tried wai-middleware-rollbar-0.11.0, but its *library* does not support: aeson-1.5.6.0
6601+ - wai-middleware-rollbar < 0 # tried wai-middleware-rollbar-0.11.0, but its *library* does not support: http-client-0.7.10
6602+ - wai-middleware-rollbar < 0 # tried wai-middleware-rollbar-0.11.0, but its *library* does not support: time-1.9.3
6603+ - wai-middleware-throttle < 0 # tried wai-middleware-throttle-0.3.0.1, but its *library* requires the disabled package: token-bucket
6604+ - wai-routing < 0 # tried wai-routing-0.13.0, but its *library* requires the disabled package: wai-predicates
6605+ - wai-routing < 0 # tried wai-routing-0.13.0, but its *library* requires the disabled package: wai-route
6606+ - wavefront < 0 # tried wavefront-0.7.1.4, but its *library* does not support: attoparsec-0.14.4
6607+ - wavefront < 0 # tried wavefront-0.7.1.4, but its *library* does not support: base-4.15.1.0
6608+ - wavefront < 0 # tried wavefront-0.7.1.4, but its *library* does not support: dlist-1.0
6609+ - web-routes-th < 0 # tried web-routes-th-0.22.6.6, but its *library* does not support: template-haskell-2.17.0.0
6610+ - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: OneTuple-0.3.1
6611+ - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: aeson-1.5.6.0
6612+ - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: attoparsec-0.14.4
6613+ - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: base-4.15.1.0
6614+ - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: cryptonite-0.29
6615+ - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: hspec-2.8.5
6616+ - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: http-client-0.7.10
6617+ - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: memory-0.16.0
6618+ - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: servant-0.18.3
6619+ - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: servant-client-0.18.3
6620+ - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: template-haskell-2.17.0.0
6621+ - web3 < 0 # tried web3-0.9.1.0, but its *library* does not support: vinyl-0.13.3
6622+ - webby < 0 # tried webby-1.0.1, but its *library* does not support: formatting-7.1.3
6623+ - webdriver < 0 # tried webdriver-0.9.0.1, but its *library* does not support: base-4.15.1.0
6624+ - webdriver-angular < 0 # tried webdriver-angular-0.1.11, but its *library* does not support: language-javascript-0.7.1.0
6625+ - webdriver-angular < 0 # tried webdriver-angular-0.1.11, but its *library* does not support: webdriver-0.9.0.1
6626+ - websockets-snap < 0 # tried websockets-snap-0.10.3.1, but its *library* requires the disabled package: snap-server
6627+ - wl-pprint-extras < 0 # tried wl-pprint-extras-3.5.0.5, but its *library* does not support: containers-0.6.4.1
6628+ - wl-pprint-terminfo < 0 # tried wl-pprint-terminfo-3.7.1.4, but its *library* does not support: containers-0.6.4.1
6629+ - wrecker < 0 # tried wrecker-1.3.2.0, but its *library* requires the disabled package: next-ref
6630+ - wrecker < 0 # tried wrecker-1.3.2.0, but its *library* requires the disabled package: threads-extras
6631+ - writer-cps-full < 0 # tried writer-cps-full-0.1.0.0, but its *library* requires the disabled package: writer-cps-morph
6632+ - writer-cps-lens < 0 # tried writer-cps-lens-0.1.0.1, but its *library* does not support: lens-5.0.1
6633+ - ws < 0 # tried ws-0.0.5, but its *library* requires the disabled package: attoparsec-uri
6634+ - xml-html-qq < 0 # tried xml-html-qq-0.1.0.1, but its *library* requires the disabled package: heterocephalus
6635+ - xml-isogen < 0 # tried xml-isogen-0.3.0, but its *library* requires the disabled package: dom-parser
6636+ - yeshql < 0 # tried yeshql-4.2.0.0, but its *library* does not support: yeshql-core-4.2.0.0
6637+ - yeshql < 0 # tried yeshql-4.2.0.0, but its *library* requires the disabled package: yeshql-hdbc
6638+ - yesod-auth-bcryptdb < 0 # tried yesod-auth-bcryptdb-0.3.0.1, but its *library* does not support: persistent-2.13.2.2
6639+ - yesod-auth-bcryptdb < 0 # tried yesod-auth-bcryptdb-0.3.0.1, but its *library* does not support: yesod-auth-1.6.10.5
6640+ - yesod-auth-bcryptdb < 0 # tried yesod-auth-bcryptdb-0.3.0.1, but its *library* does not support: yesod-core-1.6.21.0
6641+ - yesod-auth-bcryptdb < 0 # tried yesod-auth-bcryptdb-0.3.0.1, but its *library* does not support: yesod-form-1.7.0
6642+ - yesod-form-richtext < 0 # tried yesod-form-richtext-0.1.0.2, but its *library* does not support: yesod-core-1.6.21.0
6643+ - yesod-form-richtext < 0 # tried yesod-form-richtext-0.1.0.2, but its *library* does not support: yesod-form-1.7.0
6644+ - yesod-static-angular < 0 # tried yesod-static-angular-0.1.8, but its *executable* does not support: yesod-1.6.1.2
6645+ - yesod-static-angular < 0 # tried yesod-static-angular-0.1.8, but its *library* does not support: language-javascript-0.7.1.0
6646+ - yesod-static-angular < 0 # tried yesod-static-angular-0.1.8, but its *library* does not support: yesod-core-1.6.21.0
6647+ - yesod-static-angular < 0 # tried yesod-static-angular-0.1.8, but its *library* does not support: yesod-static-1.6.1.0
6648+ - yesod-static-angular < 0 # tried yesod-static-angular-0.1.8, but its *library* requires the disabled package: hamlet
6649+ - zasni-gerna < 0 # tried zasni-gerna-0.0.7.1, but its *library* requires the disabled package: papillon
6650+ - ziptastic-client < 0 # tried ziptastic-client-0.3.0.3, but its *library* does not support: base-compat-0.11.2
6651+ - ziptastic-client < 0 # tried ziptastic-client-0.3.0.3, but its *library* does not support: servant-0.18.3
6652+ - ziptastic-client < 0 # tried ziptastic-client-0.3.0.3, but its *library* does not support: servant-client-0.18.3
6653+ - ziptastic-core < 0 # tried ziptastic-core-0.2.0.3, but its *library* does not support: aeson-1.5.6.0
6654+ - ziptastic-core < 0 # tried ziptastic-core-0.2.0.3, but its *library* does not support: base-compat-0.11.2
6655+ - ziptastic-core < 0 # tried ziptastic-core-0.2.0.3, but its *library* does not support: http-api-data-0.4.3
6656+ - ziptastic-core < 0 # tried ziptastic-core-0.2.0.3, but its *library* does not support: servant-0.18.3
6657+ - zm < 0 # tried zm-0.3.2, but its *library* does not support: containers-0.6.4.1
6658+ - zm < 0 # tried zm-0.3.2, but its *library* does not support: flat-0.4.4
6659+ - zm < 0 # tried zm-0.3.2, but its *library* does not support: model-0.5
6660+ - zydiskell < 0 # tried zydiskell-0.2.0.0, but its *library* does not support: base-4.15.1.0
6661+ - zydiskell < 0 # tried zydiskell-0.2.0.0, but its *library* does not support: storable-record-0.0.6
6662+ # End of Library and exe bounds failures
24246663
24256664 "Stackage upper bounds":
2426− # https://github.com/fpco/stackage/issues/1510
2427− - pipes < 4.2
2428−
2429− # https://github.com/fpco/stackage/issues/1555
2430− - authenticate-oauth < 1.6
2431−
2432− # https://github.com/fpco/stackage/issues/1676
2433− - http-client < 0.5
2434− - http-client-tls < 0.3
2435− - http-conduit < 2.2
2436− - hoauth2 < 0.5.5
2437− - bloodhound < 0.11.1.0
2438− - eventstore < 0.13.1.3
2439− - pinboard < 0.9.7
2440− - pandoc < 1.17.2
2441− - kawhi < 0.1
2442− - morte < 1.6.3
2443− - language-puppet < 1.3 # Also listed for #1689
2444−
2445− # https://github.com/fpco/stackage/issues/1689
2446− - servant < 0.8
2447− - servant-client < 0.8
2448− - servant-foreign < 0.8
2449− - servant-server < 0.8
2450− - servant-docs < 0.8
2451− - servant-mock < 0.8
2452− - servant-js < 0.8
2453− - language-puppet < 1.3 # Also listed for #1676
2454−
2455− # https://github.com/fpco/stackage/issues/1691
2456− - QuickCheck < 2.9
2457− - extra < 1.4.11
2458− - active < 0.2.0.11
2459− - socket < 0.6.2.0
2460−
2461− # https://github.com/fpco/stackage/issues/1734
2462− - haskell-src-exts < 1.18
2463− - hlint < 1.9.36
2464− - hoogle < 5.0.2
2465− - homplexity < 0.4.3.4
2466− - haskintex < 0.7.0.0
2467− - stylish-haskell < 0.6.2.0
2468− - haskell-src-exts-simple < 1.18.0.0
2469− - pointful < 1.0.9 # via haskell-src-exts-simple
2470− - hindent < 5
2471− - fay < 0.23.1.13
2472− - hspec-setup < 0.2.0.0
2473− - rest-gen < 0.20.0.0
2474−
2475− # https://github.com/fpco/stackage/issues/1764
2476− - aeson < 1.0
2477− - insert-ordered-containers < 0.2
2478−
2479− # https://github.com/fpco/stackage/issues/1767
2480− - SVGFonts < 1.6
2481−
2482− # https://github.com/fpco/stackage/issues/1781
2483− - persistent < 2.6
2484− - persistent-sqlite < 2.6
2485− - persistent-postgresql < 2.6
2486−
2487− # https://github.com/fpco/stackage/issues/1784
2488− - optparse-applicative < 0.13.0.0
2489− - diagrams-canvas < 1.3.0.7
2490− - diagrams-rasterific < 1.3.1.9
2491− - diagrams-svg < 1.4.0.4
2492− - optparse-generic < 1.1.2
24936665
2494−# end of packages
6666+ # https://github.com/commercialhaskell/stackage/issues/6122
6667+ - mmorph < 1.2
6668+
6669+ # https://github.com/commercialhaskell/stackage/issues/6184
6670+ - base-compat < 0.12
6671+
6672+ # https://github.com/commercialhaskell/stackage/issues/6185
6673+ - base-compat-batteries < 0.12
6674+
6675+ # aeson-2
6676+ # https://github.com/commercialhaskell/stackage/issues/6217
6677+ # https://github.com/commercialhaskell/stackage/issues/6402
6678+ # https://github.com/commercialhaskell/stackage/issues/6243
6679+ # https://github.com/commercialhaskell/stackage/issues/6393
6680+ - aeson < 2.0.0.0
6681+ - aura < 3.2.6
6682+ - avro < 0.6.0.0
6683+ - cabal-flatpak < 0.1.0.3
6684+ - core-data < 0.3.0.0
6685+ - eventstore < 1.4.2
6686+ - faktory < 1.1.2.1
6687+ - flow < 2.0.0.0
6688+ - forma < 1.2.0
6689+ - geojson < 4.1.0
6690+ - greskell < 2.0.0.0
6691+ - greskell-core < 1.0.0.0
6692+ - greskell-websocket < 1.0.0.0
6693+ - hruby < 0.4.0.0
6694+ - hspec-expectations-json < 1.0.0.5
6695+ - http2 < 3.0.3
6696+ - jose < 0.9
6697+ - jsonpath < 0.2.1.0
6698+ - kanji < 3.5
6699+ - microlens-aeson < 2.4
6700+ - mmark-cli < 0.0.5.1
6701+ - pandoc-plot < 1.4.0
6702+ - postgresql-binary < 0.12.4.2
6703+ - servant-tracing < 0.2.0.0
6704+ - shikensu < 0.4.0
6705+ - stache < 2.3.1
6706+ - stripe-scotty < 1.1.0.1
6707+ - stripe-wreq < 1.0.1.12
6708+ - yaml < 0.11.7
6709+
6710+ # https://github.com/commercialhaskell/stackage/issues/6264
6711+ # Requires GHC 9.2
6712+ # Any new package-version that must use GHC 9.2 should be added here.
6713+ # We'll Remove this section along with the nightly upgrade to GHC 9.2.
6714+ - dbus < 1.2.23
6715+ - eliminators < 0.9
6716+ - ghc-exactprint < 1.1
6717+ - ghc-lib < 9.2.1.20211030
6718+ - ghc-lib-parser < 9.2.1.20211030
6719+ - ghc-lib-parser-ex < 9.2.0.0
6720+ - ghc-syntax-highlighter < 0.0.8 # requires ghc-lib-parser >= 9.2
6721+ - ormolu < 0.4.0.0
6722+ - singletons-base < 3.1
6723+ - singletons-th < 3.1
6724+ - th-desugar < 1.13
6725+ - fourmolu < 0.5.0.0
6726+
6727+ # https://github.com/commercialhaskell/stackage/issues/6268
6728+ - hashable < 1.4.0.0
6729+
6730+ # https://github.com/commercialhaskell/stackage/issues/6273
6731+ - freckle-app < 1.0.1
6732+
6733+ # https://github.com/commercialhaskell/stackage/issues/6292
6734+ - doctest < 0.19
6735+
6736+ # https://github.com/commercialhaskell/stackage/issues/6297
6737+ - hspec-discover < 2.9
6738+
6739+ # https://github.com/commercialhaskell/stackage/issues/6298
6740+ - hspec-core < 2.9
6741+ - hspec-meta < 2.9
6742+
6743+ # https://github.com/commercialhaskell/stackage/issues/6299
6744+ - hspec < 2.9
6745+
6746+ # https://github.com/commercialhaskell/stackage/issues/6308
6747+ - semigroups < 0.20
6748+
6749+ # https://github.com/commercialhaskell/stackage/issues/6309
6750+ - polysemy < 1.7
6751+ - polysemy-plugin < 0.4.2
6752+
6753+ # https://github.com/commercialhaskell/stackage/issues/6310
6754+ - lens < 5.1
6755+
6756+ # https://github.com/commercialhaskell/stackage/issues/6322
6757+ - hashtables < 1.3
6758+
6759+ # https://github.com/commercialhaskell/stackage/issues/6348
6760+ - headed-megaparsec < 0.2.0.2
6761+ - rebase < 1.14
6762+ - rerebase < 1.14
6763+ - selective < 0.5
6764+ - yaml-unscrambler < 0.1.0.5
6765+
6766+ # https://github.com/commercialhaskell/stackage/issues/6388
6767+ # issue is for 5.0, but 4.0.4 is deprecated.
6768+ - hw-kafka-client < 4.0.4
6769+
6770+ # https://github.com/commercialhaskell/stackage/issues/6395
6771+ - wuss < 2.0
6772+
6773+ # https://github.com/haskell-game/sdl2/issues/240 (need newer Ubuntu)
6774+ - sdl2 < 2.5.3.1
6775+
6776+ # https://github.com/commercialhaskell/stack/issues/5670 (fails with Cabal-3.4)
6777+ - stack < 0
6778+
6779+ # https://github.com/commercialhaskell/stackage/issues/6401
6780+ - rope-utf16-splay < 0.4
24956781
6782+# end of packages
24966783
24976784# Package flags are applied to individual packages, and override the values of
24986785# global-flags
24996786package-flags:
6787+ QuickCheck:
6788+ old-random: false
6789+ pathtype:
6790+ old-time: false
6791+
25006792 brick:
25016793 demos: true
25026794
6795+ bz2:
6796+ with-bzlib: false # Exclude bzlib from benchmarks to avoid unnecessary dependencies.
6797+
25036798 mersenne-random-pure64:
25046799 small_base: false
25056800
@@ -2508,12 +6803,15 @@ package-flags:
25086803 simplelocalnet: true
25096804 p2p: true
25106805
2511− logfloat:
2512− splitbase: true
2513−
25146806 curl:
25156807 new-base: true
25166808
6809+ hpio:
6810+ test-hlint: false
6811+
6812+ idris:
6813+ ffi: true
6814+
25176815 hxt:
25186816 network-uri: true
25196817 hxt-http:
@@ -2521,28 +6819,15 @@ package-flags:
25216819 hxt-relaxng:
25226820 network-uri: true
25236821
2524− pandoc:
2525− https: true
2526− old-locale: false
2527−
25286822 text:
25296823 integer-simple: false
25306824
25316825 tar:
25326826 old-time: false
25336827
2534− # https://github.com/fpco/stackage/pull/482#issuecomment-83635207
2535− jose-jwt:
2536− doctest: false
2537−
25386828 time-locale-compat:
25396829 old-locale: false
25406830
2541− th-data-compat:
2542− template-haskell-210: false
2543− th-reify-compat:
2544− template-haskell-210: false
2545−
25466831 HsOpenSSL:
25476832 fast-bignum: false
25486833
@@ -2555,9 +6840,6 @@ package-flags:
25556840 nix-paths:
25566841 allow-relative-paths: true
25576842
2558− darcs:
2559− use-time-1point5: true
2560−
25616843 fay:
25626844 test: true
25636845
@@ -2572,642 +6854,978 @@ package-flags:
25726854 ghc_7_7: false
25736855 ghc_8_0: true
25746856
2575−# end of package-flags
6857+ functor-classes-compat:
6858+ containers: true
25766859
2577−# Special configure options for individual packages
6860+ # 2021-11-14
6861+ # Since we are shipping Win32-2.10 (thus not 2.13.1), this flag needs to be set to 'false'.
6862+ # https://github.com/RyanGlScott/mintty/issues/4#issuecomment-968329124
6863+ # TODO: revisit when Win32 is bumped
6864+ mintty:
6865+ win32-2-13-1: false
25786866
2579−configure-args:
2580− inline-java:
2581− - --extra-lib-dirs
2582− - /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server
2583− - --extra-include-dirs
2584− - /usr/lib/jvm/java-8-openjdk-amd64/include
6867+ cassava:
6868+ bytestring--lt-0_10_4: false
25856869
2586−# end of configure-args
6870+ alerta:
6871+ servant-client-core: false
25876872
6873+ cabal-install:
6874+ # https://github.com/haskell/cabal/issues/4883
6875+ native-dns: false
25886876
2589−# Used for packages that cannot be built on Linux
2590−skipped-builds:
2591− - hfsevents
2592− - Win32
2593− - Win32-notify
2594− - Win32-extras
2595−
2596−# end of skipped-builds
2597−
2598−
2599−# By skipping a test suite, we do not pull in the build dependencies
2600−skipped-tests:
2601− # require old hspec
2602− - ReadArgs
2603− - bloodhound
2604− - fb
2605− - hasql
2606−
2607− # Too lazy to keep the test dependencies up to date
2608− - cases
2609− - postgresql-binary
2610−
2611− # Just a temporary package with a flimsy, inherited test suite
2612− - Cabal-ide-backend
2613−
2614− # QuickCheck 2.8
2615− - vector
2616−
2617− # Requires QuickCheck 2.9
2618− - dlist
6877+ # https://github.com/fpco/stackage/issues/3619
6878+ transformers-compat:
6879+ five-three: true
26196880
2620− # requires testpack - https://github.com/jgoerzen/testpack/issues/11
2621− - MissingH
6881+ greskell:
6882+ hint-test: false
26226883
2623− # doctest < 0.10
2624− # Closed due to inactivity: https://github.com/fpco/stackage/issues/622
2625− - bound
2626− - heaps
2627− - hyphenation
6884+ windns:
6885+ allow-non-windows: true
26286886
2629− # https://github.com/kaizhang/clustering/issues/2
2630− - clustering
2631−
2632− # https://github.com/fpco/stackage/issues/934
2633− - cacophony
2634−
2635− # HUnit < 1.3
2636− - GLFW-b
2637− - HsOpenSSL
2638− - bindings-GLFW
2639− - bytestring-handle
2640− - clay
2641− - hedis
2642− - hint
2643− - ide-backend
2644− - lifted-base
2645− - newtype-generics
2646− - parsec
2647− - terminal-progress-bar
2648− - threads
2649− - yesod-static-angular
2650− # https://github.com/fpco/stackage/pull/906
2651− - HaRe
6887+ hsdev:
6888+ docs: false
26526889
2653− # https://github.com/haskell/zlib/issues/2
2654− - zlib
6890+ bson:
6891+ _old-network: false
26556892
2656− # Never finishes - https://github.com/ku-fpg/blank-canvas/issues/73
2657− - blank-canvas
6893+ mongoDB:
6894+ _old-network: false
26586895
2659− # https://github.com/nushio3/binary-search/issues/2 (doctest never finishes)
2660− - binary-search
26616896
2662− # Requires stripe API key and unreleased test package https://github.com/fpco/stackage/issues/1272
2663− - stripe-http-streams
6897+# end of package-flags
26646898
2665− # times out without framebuffer (https://github.com/ghcjs/jsaddle/issues/9)
2666− - jsaddle
6899+# Special configure options for individual packages
26676900
2668− # Not included explicitly and has outdated bounds
2669− - concurrent-extra
6901+# This used to be used for extra-include-dirs and extra-lib-dirs
6902+# Instead, we set this in the Docker image itself
6903+configure-args: {}
6904+# end of configure-args
26706905
2671− # doctest < 0.11
2672− # Closed due to inactivity: https://github.com/fpco/stackage/issues/1328
2673− - composition-tree
2674− # GHC 8 - patches-vector
26756906
2676− # GHC 8 (bytestring-handle)
2677− - tar
6907+# Used for packages that cannot be built on Linux
6908+skipped-builds:
6909+ - hfsevents
6910+ - lzma-clib
6911+ - Win32
6912+ - Win32-notify
6913+ - windns
26786914
2679− # GHC 8 (snap-server)
2680− - wreq
6915+# end of skipped-builds
26816916
2682− # GHC 8
2683− - hastache
2684− - system-filepath
2685− - system-fileio
2686− - shelly
26876917
2688− # https://github.com/acid-state/safecopy/issues/45
2689− - safecopy
6918+# By skipping a test suite, we do not pull in the build dependencies
6919+# Packages should only be added here if required by `stackage-curator check'
6920+# or if Setup fails because of missing foreign libraries.
6921+# Otherwise place them in expected-test-failures.
6922+skipped-tests:
6923+ # aeson-2
6924+ # https://github.com/commercialhaskell/stackage/issues/6217
6925+ - jsonifier
6926+ - req
26906927
2691− # Missing C library: symengine
6928+ # Missing foreign libraries
26926929 - symengine
26936930
2694− # https://github.com/fpco/stackage/issues/1587
2695− - hledger-lib
2696−
2697− # Test suite requires circular dependency on Snap 1.0, which is not yet
2698− # available. Should resolve in due course; disable tests for now, per
2699− # https://github.com/afcowie/http-streams/issues/96
2700− - http-streams
2701−
2702− # Package shadowing
2703− - options
2704−
2705−# end of skipped-tests
2706−
2707−# Tests which we should build and run, but which are expected to fail. We
2708−# should not fail a build based on a test failure for one of these packages.
2709−expected-test-failures:
2710−
2711− # https://github.com/bos/statistics/issues/42
2712− - statistics
2713−
2714− # Tests require shell script and are incompatible with sandboxed package
2715− # databases
2716− - HTF
2717−
2718− # Unfortunately network failures seem to happen haphazardly
2719− - network
2720−
2721− # Test suite takes too long to run on some systems
6931+ # Timeouts
6932+ # These tests sometimes take too long and hit the stackage build
6933+ # servers time limit so these shouldn't be removed from
6934+ # skipped-tests unless we know a fix has been released.
6935+ - accelerate-fourier
6936+ - cabal-helper
6937+ - graphviz
6938+ - network-attoparsec
27226939 - punycode
6940+ - unagi-chan
6941+ - zeromq4-patterns
6942+ - port-utils
6943+ - blank-canvas # Never finishes https://github.com/ku-fpg/blank-canvas/issues/73
6944+ - binary-search # Never finishes https://github.com/nushio3/binary-search/issues/2
6945+ - jsaddle # Never finishes without framebuffer https://github.com/ghcjs/jsaddle/issues/9
6946+ - hpc-codecov # timeouts? https://github.com/commercialhaskell/stackage/issues/5976
6947+
6948+ # Wontfix. The maintainer doesn't want to keep test dependencies
6949+ # up to date or be notified about it, or doesn't want stackage to
6950+ # run the tests.
6951+ # Only re-enable if requested.
6952+ ## @hvr https://github.com/fpco/stackage/issues/2538#issuecomment-304458844
6953+ - cassava
6954+ - cryptohash-md5
6955+ - cryptohash-sha1
6956+ - cryptohash-sha256
6957+ - cryptohash-sha512
6958+ - HsYAML
6959+ - lzma
6960+ - resolv
6961+ - token-bucket
6962+ - uuid
6963+ - uuid-types
6964+ # @nikita-volkov https://github.com/fpco/stackage/issues/2538#issuecomment-305129396
6965+ - base-prelude
6966+ - bytestring-strict-builder
6967+ - bytestring-tree-builder
6968+ - cases
6969+ - focus
6970+ - hasql
6971+ - hasql-pool
6972+ - list-t
6973+ - mtl-prelude
6974+ - neat-interpolation
6975+ - partial-handler
6976+ - postgresql-binary
6977+ - refined
6978+ - slave-thread
6979+ - stm-containers
6980+ - text-builder
6981+ # @ivan-m https://github.com/fpco/stackage/issues/2538#issuecomment-307290070
6982+ - fgl
6983+ - fgl-arbitrary
6984+ - graphviz
6985+ - wl-pprint-text
6986+ # @phadej
6987+ - aeson-compat
6988+ - aeson-extra
6989+ - base64-bytestring-type
6990+ - binary-orphans
6991+ - edit-distance
6992+ - fin
6993+ - http-api-data
6994+ - integer-logarithms
6995+ - postgresql-simple-url
6996+ - range-set-list
6997+ - time-parsers
6998+ - time-parsers
6999+ - universe-base
7000+ - vec
7001+ # @jsynacek
7002+ - hpqtypes # needs a running postgres database
7003+ - hpqtypes-extras # needs a running postgres database
7004+ # norfairking
7005+ - autodocodec # runs doctest
7006+ - captcha-core
7007+ - captcha-2captcha
7008+ - captcha-capmonster
7009+
7010+ # Uses Cabal's "library internal" stanza feature
7011+ - s3-signer
7012+
7013+ # Due to cycles, which are actually just limitations in Stack right now.
7014+ - HUnit
7015+ - attoparsec
7016+ - base-orphans # via hspec
7017+ - bifunctors # via hspec
7018+ - call-stack
7019+ - case-insensitive
7020+ - clock
7021+ - criterion
7022+ - distributive # via hspec
7023+ - doctest # via hspec
7024+ - foundation
7025+ - hspec
7026+ - hspec-discover # via logging-facade/mockery
7027+ - js-flot
7028+ - js-jquery
7029+ - nanospec
7030+ - optparse-applicative # via QuickCheck
7031+ - primitive
7032+ - random
7033+ - scientific
7034+ - split
7035+ - splitmix
7036+ - tasty-expected-failure # via tasty-hedgehog
7037+ - vector # doctest
7038+ - vector-binary-instances
27237039
2724− # Requires a Facebook app.
2725− - fb
2726−
2727− - threads
2728− - crypto-conduit
2729−
2730− # https://github.com/basvandijk/concurrent-extra/issues/
2731− - concurrent-extra
2732−
2733− # https://github.com/skogsbaer/xmlgen/issues/2
2734− - xmlgen
2735−
2736− # Some kind of Cabal bug when trying to run tests
2737− - thyme
2738−
2739− - shake
2740−
2741− # Problems with doctest and sandboxing
2742− - warp
2743− - monad-logger-prefix
2744−
2745− # https://github.com/fpco/stackage/issues/163
2746− - hTalos
2747−
2748− # Fails sporadically - https://github.com/bos/math-functions/issues/25
2749− - math-functions
2750−
2751− # Requires too old a version of test-framework
2752− - time
2753−
2754− # Cloud Haskell tests seem to be unreliable
2755− - distributed-process
2756− - lockfree-queue
2757− # GHC 8 - network-transport-tcp
2758−
2759− # No AWS creds available
2760− - aws
2761−
2762− # Not sure why...
2763− - singletons
2764−
2765− # https://github.com/jmillikin/haskell-filesystem/issues/3
2766− - system-filepath
2767−
2768− # Requires a running webdriver server
2769− - webdriver-angular
2770−
2771− # Weird conflicts with sandboxing
2772− - ghcid
7040+ # TODO
7041+ - rpmbuild-order
27737042
2774− # Requires locally running server
2775− - bloodhound
7043+ # Revision to package caused it to require bounds and break
7044+ - htoml # https://github.com/commercialhaskell/stackage/issues/6239
27767045
2777− # Requires SAT solver and old QuickCheck
2778− - ersatz
7046+ # was in expected test failures, but seems we may have to skip
7047+ # entirely for unknown reasons, previously:
7048+ # https://github.com/clash-lang/clash-compiler/issues/1622
7049+ - clash-prelude
27797050
2780− # No server running
7051+ # See "Large scale enabling/disabling of packages" in CURATORS.md for how to manage this section.
7052+ #
7053+ # Test bounds issues
7054+ - ENIG # tried ENIG-0.0.1.0, but its *test-suite* requires the disabled package: test-framework-th
7055+ - IPv6DB # tried IPv6DB-0.3.2, but its *test-suite* does not support: hspec-2.8.5
7056+ - IPv6DB # tried IPv6DB-0.3.2, but its *test-suite* does not support: http-client-0.7.10
7057+ - MissingH # tried MissingH-1.4.3.0, but its *test-suite* requires the disabled package: errorcall-eq-instance
7058+ - aeson # tried aeson-1.5.6.0, but its *test-suite* does not support: hashable-time-0.3
7059+ - airship # tried airship-0.9.4, but its *test-suite* does not support: tasty-1.4.2.1
7060+ - algebraic-graphs # tried algebraic-graphs-0.5, but its *test-suite* does not support: QuickCheck-2.14.2
7061+ - antiope-core # tried antiope-core-7.5.3, but its *test-suite* does not support: hspec-2.8.5
7062+ - antiope-core # tried antiope-core-7.5.3, but its *test-suite* requires the disabled package: aeson-lens
7063+ - antiope-messages # tried antiope-messages-7.5.3, but its *test-suite* does not support: hspec-2.8.5
7064+ - antiope-s3 # tried antiope-s3-7.5.3, but its *test-suite* does not support: hspec-2.8.5
7065+ - antiope-sns # tried antiope-sns-7.5.3, but its *test-suite* does not support: hspec-2.8.5
7066+ - antiope-sqs # tried antiope-sqs-7.5.3, but its *test-suite* does not support: hspec-2.8.5
7067+ - arbor-lru-cache # tried arbor-lru-cache-0.1.1.1, but its *test-suite* does not support: hspec-2.8.5
7068+ - asif # tried asif-6.0.4, but its *test-suite* does not support: doctest-0.18.2
7069+ - avro # tried avro-0.5.2.1, but its *test-suite* requires the disabled package: hw-hspec-hedgehog
7070+ - barrier # tried barrier-0.1.1, but its *test-suite* does not support: lens-family-core-2.1.0
7071+ - barrier # tried barrier-0.1.1, but its *test-suite* does not support: tasty-1.4.2.1
7072+ - bits-extra # tried bits-extra-0.0.2.0, but its *test-suite* does not support: hspec-2.8.5
7073+ - blaze-html # tried blaze-html-0.9.1.2, but its *test-suite* does not support: QuickCheck-2.14.2
7074+ - bloodhound # tried bloodhound-0.18.0.0, but its *test-suite* requires the disabled package: quickcheck-properties
7075+ - boolean-normal-forms # tried boolean-normal-forms-0.0.1.1, but its *test-suite* does not support: QuickCheck-2.14.2
7076+ - cassava-conduit # tried cassava-conduit-0.6.0, but its *test-suite* does not support: QuickCheck-2.14.2
7077+ - chatwork # tried chatwork-0.1.3.5, but its *test-suite* does not support: hspec-2.8.5
7078+ - chatwork # tried chatwork-0.1.3.5, but its *test-suite* does not support: servant-server-0.18.3
7079+ - chatwork # tried chatwork-0.1.3.5, but its *test-suite* does not support: warp-3.3.18
7080+ - clay # tried clay-0.13.3, but its *test-suite* does not support: hspec-2.8.5
7081+ - clay # tried clay-0.13.3, but its *test-suite* does not support: hspec-discover-2.8.5
7082+ - colour # tried colour-2.3.6, but its *test-suite* does not support: random-1.2.1
7083+ - csg # tried csg-0.1.0.6, but its *test-suite* does not support: doctest-0.18.2
7084+ - csg # tried csg-0.1.0.6, but its *test-suite* does not support: tasty-1.4.2.1
7085+ - darcs # tried darcs-2.16.4, but its *test-suite* does not support: QuickCheck-2.14.2
7086+ - dhall-lsp-server # tried dhall-lsp-server-1.0.17, but its *test-suite* does not support: lsp-test-0.14.0.2
7087+ - distributed-process-lifted # tried distributed-process-lifted-0.3.0.1, but its *test-suite* does not support: network-transport-tcp-0.8.0
7088+ - distributed-process-lifted # tried distributed-process-lifted-0.3.0.1, but its *test-suite* requires the disabled package: rematch
7089+ - doldol # tried doldol-0.4.1.2, but its *test-suite* requires the disabled package: test-framework-th
7090+ - drawille # tried drawille-0.1.2.0, but its *test-suite* does not support: hspec-2.8.5
7091+ - dual-tree # tried dual-tree-0.2.3.0, but its *test-suite* requires the disabled package: testing-feat
7092+ - ed25519 # tried ed25519-0.0.5.0, but its *test-suite* does not support: QuickCheck-2.14.2
7093+ - ed25519 # tried ed25519-0.0.5.0, but its *test-suite* does not support: directory-1.3.6.2
7094+ - ed25519 # tried ed25519-0.0.5.0, but its *test-suite* does not support: doctest-0.18.2
7095+ - ed25519 # tried ed25519-0.0.5.0, but its *test-suite* does not support: hlint-3.3.6
7096+ - edit # tried edit-1.0.1.0, but its *test-suite* does not support: doctest-0.18.2
7097+ - edit # tried edit-1.0.1.0, but its *test-suite* does not support: tasty-1.4.2.1
7098+ - elm-street # tried elm-street-0.1.0.4, but its *test-suite* does not support: hspec-2.8.5
7099+ - errors-ext # tried errors-ext-0.4.2, but its *test-suite* requires the disabled package: binary-ext
7100+ - euler-tour-tree # tried euler-tour-tree-0.1.1.0, but its *test-suite* requires the disabled package: sequence
7101+ - eventsource-stub-store # tried eventsource-stub-store-1.1.1, but its *test-suite* requires the disabled package: eventsource-store-specs
7102+ - extensible-effects # tried extensible-effects-5.0.0.1, but its *test-suite* requires the disabled package: test-framework-th
7103+ - filtrable # tried filtrable-0.1.6.0, but its *test-suite* does not support: tasty-1.4.2.1
7104+ - focuslist # tried focuslist-0.1.1.0, but its *test-suite* does not support: genvalidity-1.0.0.1
7105+ - focuslist # tried focuslist-0.1.1.0, but its *test-suite* does not support: validity-0.12.0.0
7106+ - ftp-client # tried ftp-client-0.5.1.4, but its *test-suite* does not support: tasty-1.4.2.1
7107+ - ftp-client # tried ftp-client-0.5.1.4, but its *test-suite* does not support: tasty-hspec-1.2
7108+ - galois-field # tried galois-field-1.0.2, but its *test-suite* does not support: QuickCheck-2.14.2
7109+ - galois-field # tried galois-field-1.0.2, but its *test-suite* does not support: bitvec-1.1.2.0
7110+ - galois-field # tried galois-field-1.0.2, but its *test-suite* does not support: groups-0.5.3
7111+ - galois-field # tried galois-field-1.0.2, but its *test-suite* does not support: integer-gmp-1.1
7112+ - galois-field # tried galois-field-1.0.2, but its *test-suite* does not support: semirings-0.6
7113+ - galois-field # tried galois-field-1.0.2, but its *test-suite* does not support: tasty-1.4.2.1
7114+ - generic-xmlpickler # tried generic-xmlpickler-0.1.0.6, but its *test-suite* does not support: tasty-1.4.2.1
7115+ - ghc-prof # tried ghc-prof-1.4.1.9, but its *test-suite* does not support: attoparsec-0.14.4
7116+ - gitlib-libgit2 # tried gitlib-libgit2-3.1.2.1, but its *test-suite* requires the disabled package: gitlib-test
7117+ - haddock-library # tried haddock-library-1.10.0, but its *test-suite* does not support: hspec-2.8.5
7118+ - haddock-library # tried haddock-library-1.10.0, but its *test-suite* does not support: hspec-discover-2.8.5
7119+ - haddock-library # tried haddock-library-1.10.0, but its *test-suite* does not support: optparse-applicative-0.16.1.0
7120+ - haddock-library # tried haddock-library-1.10.0, but its *test-suite* does not support: tree-diff-0.2.1.1
7121+ - haskell-names # tried haskell-names-0.9.9, but its *test-suite* does not support: tasty-1.4.2.1
7122+ - haskell-tools-cli # tried haskell-tools-cli-1.1.1.0, but its *test-suite* does not support: tasty-1.4.2.1
7123+ - haskell-tools-cli # tried haskell-tools-cli-1.1.1.0, but its *test-suite* requires the disabled package: knob
7124+ - haskell-tools-daemon # tried haskell-tools-daemon-1.1.1.0, but its *test-suite* does not support: Glob-0.10.2
7125+ - haskell-tools-daemon # tried haskell-tools-daemon-1.1.1.0, but its *test-suite* does not support: tasty-1.4.2.1
7126+ - haskell-tools-demo # tried haskell-tools-demo-1.1.1.0, but its *test-suite* does not support: network-3.1.2.7
7127+ - haskell-tools-demo # tried haskell-tools-demo-1.1.1.0, but its *test-suite* does not support: tasty-1.4.2.1
7128+ - haskell-tools-refactor # tried haskell-tools-refactor-1.1.1.0, but its *test-suite* does not support: polyparse-1.13
7129+ - haskell-tools-refactor # tried haskell-tools-refactor-1.1.1.0, but its *test-suite* does not support: tasty-1.4.2.1
7130+ - haskell-tools-refactor # tried haskell-tools-refactor-1.1.1.0, but its *test-suite* does not support: time-1.9.3
7131+ - haskell-tools-rewrite # tried haskell-tools-rewrite-1.1.1.0, but its *test-suite* does not support: tasty-1.4.2.1
7132+ - haskey-mtl # tried haskey-mtl-0.3.1.0, but its *test-suite* does not support: lens-5.0.1
7133+ - hasmin # tried hasmin-1.0.3, but its *test-suite* does not support: doctest-0.18.2
7134+ - heist # tried heist-1.1.0.1, but its *test-suite* does not support: lens-5.0.1
7135+ - hidden-char # tried hidden-char-0.1.0.2, but its *test-suite* does not support: hspec-2.8.5
7136+ - hspec-tables # tried hspec-tables-0.0.1, but its *test-suite* does not support: hspec-2.8.5
7137+ - http-media # tried http-media-0.8.0.0, but its *test-suite* does not support: QuickCheck-2.14.2
7138+ - http-media # tried http-media-0.8.0.0, but its *test-suite* does not support: base-4.15.1.0
7139+ - http-streams # tried http-streams-0.8.9.4, but its *test-suite* requires the disabled package: snap-server
7140+ - hw-balancedparens # tried hw-balancedparens-0.4.1.1, but its *test-suite* requires the disabled package: hw-hspec-hedgehog
7141+ - hw-bits # tried hw-bits-0.7.2.1, but its *test-suite* requires the disabled package: hw-hspec-hedgehog
7142+ - hw-conduit # tried hw-conduit-0.2.1.0, but its *test-suite* does not support: hspec-2.8.5
7143+ - hw-dsv # tried hw-dsv-0.4.1.0, but its *test-suite* requires the disabled package: hw-hspec-hedgehog
7144+ - hw-eliasfano # tried hw-eliasfano-0.1.2.0, but its *test-suite* requires the disabled package: hw-hspec-hedgehog
7145+ - hw-excess # tried hw-excess-0.2.3.0, but its *test-suite* requires the disabled package: hw-hspec-hedgehog
7146+ - hw-fingertree # tried hw-fingertree-0.1.2.0, but its *test-suite* requires the disabled package: hw-hspec-hedgehog
7147+ - hw-fingertree-strict # tried hw-fingertree-strict-0.1.2.0, but its *test-suite* does not support: hspec-2.8.5
7148+ - hw-int # tried hw-int-0.0.2.0, but its *test-suite* requires the disabled package: hw-hspec-hedgehog
7149+ - hw-ip # tried hw-ip-2.4.2.0, but its *test-suite* does not support: hspec-2.8.5
7150+ - hw-json # tried hw-json-1.3.2.2, but its *test-suite* requires the disabled package: hw-hspec-hedgehog
7151+ - hw-json-simple-cursor # tried hw-json-simple-cursor-0.1.1.0, but its *test-suite* requires the disabled package: hw-hspec-hedgehog
7152+ - hw-json-standard-cursor # tried hw-json-standard-cursor-0.2.3.1, but its *test-suite* requires the disabled package: hw-hspec-hedgehog
7153+ - hw-mquery # tried hw-mquery-0.2.1.0, but its *test-suite* does not support: hspec-2.8.5
7154+ - hw-packed-vector # tried hw-packed-vector-0.2.1.0, but its *test-suite* requires the disabled package: hw-hspec-hedgehog
7155+ - hw-parser # tried hw-parser-0.1.1.0, but its *test-suite* requires the disabled package: hw-hspec-hedgehog
7156+ - hw-prim # tried hw-prim-0.6.3.0, but its *test-suite* does not support: hspec-2.8.5
7157+ - hw-rankselect # tried hw-rankselect-0.13.4.0, but its *test-suite* requires the disabled package: hw-hspec-hedgehog
7158+ - hw-rankselect-base # tried hw-rankselect-base-0.3.4.1, but its *test-suite* requires the disabled package: hw-hspec-hedgehog
7159+ - hw-simd # tried hw-simd-0.1.2.0, but its *test-suite* requires the disabled package: hw-hspec-hedgehog
7160+ - hw-streams # tried hw-streams-0.0.1.0, but its *test-suite* does not support: hspec-2.8.5
7161+ - hw-xml # tried hw-xml-0.5.1.0, but its *test-suite* requires the disabled package: hw-hspec-hedgehog
7162+ - indexed-containers # tried indexed-containers-0.1.0.2, but its *test-suite* does not support: hspec-2.8.5
7163+ - irc-dcc # tried irc-dcc-2.0.1, but its *test-suite* does not support: tasty-1.4.2.1
7164+ - irc-dcc # tried irc-dcc-2.0.1, but its *test-suite* does not support: tasty-hspec-1.2
7165+ - json-rpc-client # tried json-rpc-client-0.2.5.0, but its *test-suite* does not support: QuickCheck-2.14.2
7166+ - jwt # tried jwt-0.11.0, but its *test-suite* does not support: doctest-0.18.2
7167+ - libjwt-typed # tried libjwt-typed-0.2, but its *test-suite* does not support: hspec-2.8.5
7168+ - libjwt-typed # tried libjwt-typed-0.2, but its *test-suite* does not support: hspec-core-2.8.5
7169+ - libraft # tried libraft-0.5.0.0, but its *test-suite* requires the disabled package: quickcheck-state-machine
7170+ - linear-accelerate # tried linear-accelerate-0.7.0.0, but its *test-suite* does not support: doctest-0.18.2
7171+ - lrucaching # tried lrucaching-0.3.3, but its *test-suite* does not support: hspec-2.8.5
7172+ - makefile # tried makefile-1.1.0.0, but its *test-suite* does not support: Glob-0.10.2
7173+ - makefile # tried makefile-1.1.0.0, but its *test-suite* does not support: QuickCheck-2.14.2
7174+ - makefile # tried makefile-1.1.0.0, but its *test-suite* does not support: base-4.15.1.0
7175+ - makefile # tried makefile-1.1.0.0, but its *test-suite* does not support: doctest-0.18.2
7176+ - makefile # tried makefile-1.1.0.0, but its *test-suite* does not support: tasty-1.4.2.1
7177+ - makefile # tried makefile-1.1.0.0, but its *test-suite* does not support: tasty-hunit-0.10.0.3
7178+ - makefile # tried makefile-1.1.0.0, but its *test-suite* does not support: tasty-quickcheck-0.10.2
7179+ - map-syntax # tried map-syntax-0.3, but its *test-suite* does not support: hspec-2.8.5
7180+ - menshen # tried menshen-0.0.3, but its *test-suite* does not support: QuickCheck-2.14.2
7181+ - messagepack # tried messagepack-0.5.4, but its *test-suite* requires the disabled package: test-framework-th
7182+ - monad-par # tried monad-par-0.3.5, but its *test-suite* requires the disabled package: test-framework-th
7183+ - msgpack # tried msgpack-1.0.1.0, but its *test-suite* does not support: QuickCheck-2.14.2
7184+ - msgpack # tried msgpack-1.0.1.0, but its *test-suite* does not support: tasty-1.4.2.1
7185+ - multistate # tried multistate-0.8.0.3, but its *test-suite* does not support: hspec-2.8.5
7186+ - nakadi-client # tried nakadi-client-0.7.0.0, but its *test-suite* does not support: classy-prelude-1.5.0.2
7187+ - netrc # tried netrc-0.2.0.0, but its *test-suite* does not support: tasty-1.4.2.1
7188+ - network-transport-inmemory # tried network-transport-inmemory-0.5.2, but its *test-suite* does not support: network-transport-tests-0.3.0
7189+ - numhask-prelude # tried numhask-prelude-0.5.0, but its *test-suite* does not support: doctest-0.18.2
7190+ - options # tried options-1.2.1.1, but its *test-suite* requires the disabled package: chell
7191+ - options # tried options-1.2.1.1, but its *test-suite* requires the disabled package: chell-quickcheck
7192+ - oset # tried oset-0.4.0.1, but its *test-suite* does not support: hspec-2.8.5
7193+ - oset # tried oset-0.4.0.1, but its *test-suite* does not support: hspec-discover-2.8.5
7194+ - partial-semigroup # tried partial-semigroup-0.5.1.14, but its *test-suite* does not support: doctest-0.18.2
7195+ - pipes-fluid # tried pipes-fluid-0.6.0.1, but its *test-suite* requires the disabled package: pipes-misc
7196+ - postgrest # tried postgrest-8.0.0, but its *test-suite* does not support: hspec-2.8.5
7197+ - printcess # tried printcess-0.1.0.3, but its *test-suite* does not support: HUnit-1.6.2.0
7198+ - printcess # tried printcess-0.1.0.3, but its *test-suite* does not support: QuickCheck-2.14.2
7199+ - qnap-decrypt # tried qnap-decrypt-0.3.5, but its *test-suite* does not support: hspec-2.8.5
7200+ - quickcheck-state-machine # tried quickcheck-state-machine-0.7.1, but its *test-suite* requires the disabled package: hs-rqlite
7201+ - rakuten # tried rakuten-0.1.1.5, but its *test-suite* does not support: hspec-2.8.5
7202+ - rakuten # tried rakuten-0.1.1.5, but its *test-suite* does not support: servant-server-0.18.3
7203+ - rakuten # tried rakuten-0.1.1.5, but its *test-suite* does not support: warp-3.3.18
7204+ - records-sop # tried records-sop-0.1.1.0, but its *test-suite* does not support: hspec-2.8.5
7205+ - req-url-extra # tried req-url-extra-0.1.1.0, but its *test-suite* does not support: hspec-2.8.5
7206+ - safeio # tried safeio-0.0.5.0, but its *test-suite* requires the disabled package: test-framework-th
7207+ - salak-toml # tried salak-toml-0.3.5.3, but its *test-suite* does not support: QuickCheck-2.14.2
7208+ - scalendar # tried scalendar-1.2.0, but its *test-suite* requires the disabled package: SCalendar
7209+ - schematic # tried schematic-0.5.1.0, but its *test-suite* does not support: base-4.15.1.0
7210+ - servant-auth-client # tried servant-auth-client-0.4.1.0, but its *test-suite* does not support: hspec-discover-2.8.5
7211+ - servant-auth-server # tried servant-auth-server-0.4.6.0, but its *test-suite* does not support: hspec-2.8.5
7212+ - servant-auth-server # tried servant-auth-server-0.4.6.0, but its *test-suite* does not support: hspec-discover-2.8.5
7213+ - servant-docs # tried servant-docs-0.11.9, but its *test-suite* does not support: tasty-1.4.2.1
7214+ - servant-js # tried servant-js-0.9.4.2, but its *test-suite* does not support: hspec-2.8.5
7215+ - servant-js # tried servant-js-0.9.4.2, but its *test-suite* does not support: hspec-discover-2.8.5
7216+ - servant-js # tried servant-js-0.9.4.2, but its *test-suite* requires the disabled package: language-ecmascript
7217+ - servant-kotlin # tried servant-kotlin-0.1.1.9, but its *test-suite* does not support: aeson-1.5.6.0
7218+ - servant-kotlin # tried servant-kotlin-0.1.1.9, but its *test-suite* does not support: hspec-2.8.5
7219+ - servant-kotlin # tried servant-kotlin-0.1.1.9, but its *test-suite* does not support: http-api-data-0.4.3
7220+ - servant-mock # tried servant-mock-0.8.7, but its *test-suite* does not support: hspec-wai-0.11.1
7221+ - servant-quickcheck # tried servant-quickcheck-0.0.10.0, but its *test-suite* does not support: hspec-core-2.8.5
7222+ - servant-streaming # tried servant-streaming-0.3.0.0, but its *test-suite* does not support: QuickCheck-2.14.2
7223+ - servant-streaming-client # tried servant-streaming-client-0.3.0.0, but its *test-suite* does not support: QuickCheck-2.14.2
7224+ - servant-streaming-server # tried servant-streaming-server-0.3.0.0, but its *test-suite* does not support: QuickCheck-2.14.2
7225+ - servant-streaming-server # tried servant-streaming-server-0.3.0.0, but its *test-suite* does not support: streaming-bytestring-0.2.1
7226+ - servant-streaming-server # tried servant-streaming-server-0.3.0.0, but its *test-suite* does not support: warp-3.3.18
7227+ - servant-swagger # tried servant-swagger-1.1.10, but its *test-suite* does not support: doctest-0.18.2
7228+ - servant-swagger # tried servant-swagger-1.1.10, but its *test-suite* does not support: hspec-2.8.5
7229+ - servant-swagger # tried servant-swagger-1.1.10, but its *test-suite* does not support: hspec-discover-2.8.5
7230+ - servant-yaml # tried servant-yaml-0.1.0.1, but its *test-suite* does not support: aeson-1.5.6.0
7231+ - servant-yaml # tried servant-yaml-0.1.0.1, but its *test-suite* does not support: servant-server-0.18.3
7232+ - sessiontypes-distributed # tried sessiontypes-distributed-0.1.1, but its *test-suite* does not support: hspec-2.8.5
7233+ - sessiontypes-distributed # tried sessiontypes-distributed-0.1.1, but its *test-suite* does not support: network-transport-tcp-0.8.0
7234+ - sexpr-parser # tried sexpr-parser-0.2.0.0, but its *test-suite* does not support: hspec-2.8.5
7235+ - simple-log # tried simple-log-0.9.12, but its *test-suite* does not support: hspec-2.8.5
7236+ - sized-grid # tried sized-grid-0.2.0.1, but its *test-suite* does not support: ansi-terminal-0.11.1
7237+ - snap # tried snap-1.1.3.1, but its *test-suite* does not support: QuickCheck-2.14.2
7238+ - stb-image-redux # tried stb-image-redux-0.2.1.2, but its *test-suite* does not support: hspec-2.8.5
7239+ - stm-supply # tried stm-supply-0.2.0.0, but its *test-suite* requires the disabled package: Unique
7240+ - streaming-cassava # tried streaming-cassava-0.2.0.0, but its *test-suite* does not support: hspec-2.8.5
7241+ - stripe-http-client # tried stripe-http-client-2.6.2, but its *test-suite* does not support: hspec-2.8.5
7242+ - superbuffer # tried superbuffer-0.3.1.1, but its *test-suite* does not support: HTF-0.14.0.6
7243+ - superbuffer # tried superbuffer-0.3.1.1, but its *test-suite* does not support: QuickCheck-2.14.2
7244+ - sv # tried sv-1.4.0.1, but its *test-suite* does not support: lens-5.0.1
7245+ - sv # tried sv-1.4.0.1, but its *test-suite* does not support: tasty-1.4.2.1
7246+ - sv # tried sv-1.4.0.1, but its *test-suite* does not support: tasty-hedgehog-1.1.0.0
7247+ - sv-core # tried sv-core-0.5, but its *test-suite* does not support: tasty-1.4.2.1
7248+ - sydtest-yesod # tried sydtest-yesod-0.3.0.0, but its *test-suite* requires the disabled package: sydtest-persistent-sqlite
7249+ - system-fileio # tried system-fileio-0.3.16.4, but its *test-suite* requires the disabled package: chell
7250+ - system-filepath # tried system-filepath-0.4.14, but its *test-suite* requires the disabled package: chell
7251+ - system-filepath # tried system-filepath-0.4.14, but its *test-suite* requires the disabled package: chell-quickcheck
7252+ - tar # tried tar-0.5.1.1, but its *test-suite* requires the disabled package: bytestring-handle
7253+ - temporary-resourcet # tried temporary-resourcet-0.1.0.1, but its *test-suite* does not support: tasty-1.4.2.1
7254+ - test-framework # tried test-framework-0.8.2.0, but its *test-suite* requires the disabled package: libxml
7255+ - transient # tried transient-0.7.0.0, but its *test-suite* does not support: random-1.2.1
7256+ - ucam-webauth # tried ucam-webauth-0.1.0.0, but its *test-suite* does not support: QuickCheck-2.14.2
7257+ - ucam-webauth # tried ucam-webauth-0.1.0.0, but its *test-suite* does not support: generic-random-1.5.0.1
7258+ - ucam-webauth # tried ucam-webauth-0.1.0.0, but its *test-suite* does not support: hspec-2.8.5
7259+ - ucam-webauth # tried ucam-webauth-0.1.0.0, but its *test-suite* requires the disabled package: time-qq
7260+ - ucam-webauth-types # tried ucam-webauth-types-0.1.0.0, but its *test-suite* does not support: hspec-2.8.5
7261+ - uniprot-kb # tried uniprot-kb-0.1.2.0, but its *test-suite* does not support: QuickCheck-2.14.2
7262+ - uniprot-kb # tried uniprot-kb-0.1.2.0, but its *test-suite* does not support: hspec-2.8.5
7263+ - validation # tried validation-1.1.2, but its *test-suite* does not support: lens-5.0.1
7264+ - validation-selective # tried validation-selective-0.1.0.1, but its *test-suite* does not support: hspec-2.8.5
7265+ - web-routes-th # tried web-routes-th-0.22.6.6, but its *test-suite* does not support: hspec-2.8.5
7266+ - web3 # tried web3-0.9.1.0, but its *test-suite* does not support: hspec-discover-2.8.5
7267+ - web3 # tried web3-0.9.1.0, but its *test-suite* does not support: random-1.2.1
7268+ - wreq # tried wreq-0.5.3.3, but its *test-suite* requires the disabled package: snap-server
7269+ - xmlhtml # tried xmlhtml-0.2.5.2, but its *test-suite* does not support: hspec-2.8.5
7270+ - yesod-static-angular # tried yesod-static-angular-0.1.8, but its *test-suite* does not support: yesod-test-1.6.12
7271+ - zm # tried zm-0.3.2, but its *test-suite* does not support: doctest-0.18.2
7272+ - zm # tried zm-0.3.2, but its *test-suite* does not support: tasty-1.4.2.1
7273+ - zm # tried zm-0.3.2, but its *test-suite* does not support: tasty-quickcheck-0.10.2
7274+ - zm # tried zm-0.3.2, but its *test-suite* does not support: timeit-2.0
7275+ # End of Test bounds issues
7276+
7277+ # https://github.com/commercialhaskell/stackage/issues/6363
27817278 - amqp
27827279
2783− # Often run out of inotify handles
2784− - fsnotify
2785−
2786− # weird problems with cabal test
2787− - cautious-file
2788−
2789− # https://github.com/haskell/cabal/pull/2277
2790− - cabal-install
7280+ - c2hs # https://github.com/commercialhaskell/stackage/issues/6420
27917281
2792− # https://github.com/fpco/stackage/issues/376
2793− - rematch
7282+# end of skipped-tests
27947283
2795− # https://github.com/haskell-distributed/distributed-process-supervisor/issues/1
2796− - distributed-process-supervisor
7284+# Tests listed in expected-test-failures configure correctly but may fail to run
7285+# or even build correctly. A Stackage build should not fail based on a test build
7286+# or test run failure for these packages.
7287+# (Testsuites which can't configure should be placed under skipped-tests.)
7288+#
7289+# We need to build and run test suites to verify if tests listed here
7290+# can be re-enabled, so we usually wait for the maintainer to file a
7291+# PR to re-enable them.
7292+expected-test-failures:
27977293
2798− # Fails sporadically
7294+ # Intermittent failures or unreliable. These tests may pass when
7295+ # re-enabled, but will eventually fail again.
7296+ #
7297+ - aeson-lens # https://github.com/tanakh/aeson-lens/issues/10
7298+ - base64 # https://github.com/emilypi/base64/issues/31
7299+ - binary-instances # https://github.com/haskellari/binary-instances/issues/7
7300+ - cabal-debian # https://github.com/ddssff/cabal-debian/issues/50
7301+ - capataz # https://github.com/roman/Haskell-capataz/issues/6
7302+ - concurrent-extra # https://github.com/basvandijk/concurrent-extra/issues/12
27997303 - crypto-numbers
7304+ - css-text # 0.1.3.0 https://github.com/yesodweb/css-text/issues/10
7305+ - distributed-process
7306+ - distributed-process-execution # https://github.com/haskell-distributed/distributed-process-execution/issues/2
28007307 - distributed-process-task
2801−
2802− # https://github.com/vincenthz/hs-crypto-pubkey/issues/17
2803− - crypto-pubkey
2804−
2805− # Tests can fail when the build plan fails, which happens arbitrarily.
2806− - stackage
2807−
2808− # https://github.com/TomMD/DRBG/issues/7
2809− - DRBG
2810−
2811− # https://github.com/bos/wreq/issues/53
2812− - wreq
2813−
2814− # Requires local database running
2815− - rethinkdb-client-driver
2816−
2817− # Fails sporadically: https://github.com/haskell-distributed/distributed-process-execution/issues/2
2818− - distributed-process-execution
2819−
2820− # Seems to depend on mtl being installed in user package database, which
2821− # isn't always the case (e.g., build server)
2822− - happy
2823−
2824− # https://github.com/jberryman/directory-tree/issues/4
2825− - directory-tree
2826−
2827− # https://github.com/ndmitchell/hoogle/issues/101
2828− - hoogle
2829−
2830− # https://github.com/myfreeweb/gitson/issues/1
2831− - gitson
2832−
2833− # Expects a running PostgreSQL server
2834− - users-postgresql-simple
2835− - dbmigrations
2836− - opaleye
2837− - postgresql-simple
2838− - wai-session-postgresql
2839− - drifter-postgresql
2840−
2841− # Requires locally running services
2842− - network-anonymous-i2p
2843−
2844− # Tests not reliable on non-Windows systems
2845− - nsis
2846−
2847− # Requires running server
2848− - consul-haskell
2849− - hedis
2850− - redis-io
2851−
2852− # https://github.com/lymar/hastache/issues/47 GHC 7.10
7308+ - fft # test-fft: exited with: ExitFailure (-11)
7309+ - foldl-statistics # https://github.com/data61/foldl-statistics/issues/2
7310+ - fsnotify # Often runs out of inotify handles
28537311 - hastache
2854−
2855− # https://github.com/haskell/ghc-events/issues/9
2856− - ghc-events
2857−
2858− # Requires a running server
7312+ - idris # https://github.com/fpco/stackage/issues/1382
7313+ - ihaskell # https://github.com/gibiansky/IHaskell/issues/551
7314+ - math-functions # https://github.com/bos/math-functions/issues/25
7315+ - mltool # https://github.com/Alexander-Ignatyev/mltool/issues/1
7316+ - network # Unfortunately network failures seem to happen haphazardly
7317+ - nsis # Intermittent on non-Windows systems
7318+ - statistics # https://github.com/bos/statistics/issues/42
7319+
7320+ # Requires running servers, accounts, or a specific environment.
7321+ #
7322+ # If a maintainer wants us to run a partial tests suite with tests
7323+ # that do not require external dependencies, see
7324+ # https://github.com/commercialhaskell/stackage/issues/6172#issuecomment-902072030
7325+ #
7326+ - matplotlib # https://github.com/fpco/stackage/issues/2365
7327+ - GLFW-b # X
7328+ - HTF # Requires shell script and are incompatible with sandboxed package databases
7329+ - HaRe # Needs ~/.ghc-mod/cabal-helper https://github.com/fpco/stackage/pull/906
7330+ - IPv6DB
7331+ - accelerate-bignum # CUDA GPU
7332+ - alex
7333+ - amqp
7334+ - aws # AWS Credentials
7335+ - beam-postgres # requires Postgress instance
7336+ - bindings-GLFW # Expects running X server
28597337 - bitcoin-api
28607338 - bitcoin-api-extra
2861−
2862− # https://github.com/kazu-yamamoto/dns/issues/29
2863− - dns
2864−
2865− # No PhantomJS available
2866− - wai-cors
2867−
2868− # Permissions failure when creating /home/stackage/.stack. We _should_ fix
2869− # this in the build scripts here...
2870− - stack
2871−
2872− # https://github.com/prowdsponsor/mangopay/issues/30
2873− - mangopay
2874−
2875− # https://github.com/MichaelXavier/Angel/issues/43
2876− - angel
2877−
2878− # Requires memcached on the server
2879− - memcached-binary
2880−
2881− # Requires redis on the build machine
2882− - serversession-backend-redis
2883−
2884− # Unstated dependency on HList-PP
2885− - Rlang-QQ
2886−
2887− # https://github.com/rcallahan/xlsior/issues/1
2888− - xlsior
2889−
2890− # Test suite needs a running neo4j server with auth disabled
2891− - haskell-neo4j-client
2892−
2893− # https://github.com/kazu-yamamoto/logger/issues/42
2894− - wai-logger
2895−
2896− # https://github.com/fpco/stackage/issues/733
2897− - ide-backend
2898−
2899− # https://github.com/gibiansky/IHaskell/issues/551
2900− - ihaskell
2901−
2902− # Expects running X server
2903− - bindings-GLFW
2904− - GLFW-b
2905−
2906− # Requires running server
2907− - rethinkdb
2908−
2909− # https://github.com/ddssff/cabal-debian/issues/50
2910− - cabal-debian
2911−
2912− # https://github.com/fpco/stackage/issues/811
2913− - etcd
2914−
2915− # https://github.com/kazu-yamamoto/ghc-mod/issues/611
2916− - ghc-mod
2917−
2918− # Requires a running server
2919− - pipes-mongodb
2920−
2921− # https://github.com/tweag/HaskellR/issues/208
2922− - H
2923−
2924− # Fails sporadically: https://github.com/jgm/pandoc-citeproc/issues/172
2925− - pandoc-citeproc
2926−
2927− # https://github.com/alcidesv/second-transfer/issues/3
2928− - second-transfer
2929−
2930− # https://github.com/fpco/stackage/issues/916
2931− - distributed-process-extras
2932− - distributed-process-client-server
2933−
2934− # Requires running server
2935− - riak
7339+ - bloodhound # ElasticSearch
7340+ - cabal-install
7341+ - cayley-client
7342+ - consul-haskell
7343+ - cql-io # Cassandra
7344+ - credential-store # requieres dbus sockets
7345+ - datadog # requires API keys in env vars https://github.com/fpco/stackage/pull/3308#issuecomment-369535040
7346+ - dbcleaner # Requires running PostgreSQL server
7347+ - dbmigrations # PostgreSQL
7348+ - dns # https://github.com/commercialhaskell/stackage/issues/6374
7349+ - drifter-postgresql # PostgreSQL
7350+ - egison # executable not found https://github.com/egison/egison/issues/250
7351+ - esqueleto # mysql and postgresql
7352+ - etcd # etcd https://github.com/fpco/stackage/issues/811
7353+ - eventful-dynamodb
7354+ - eventful-postgresql
7355+ - eventsource-geteventstore-store
7356+ - eventstore # Event Store
7357+ - faktory # connection refused, https://github.com/commercialhaskell/stackage/issues/5905
7358+ - fb # Facebook app
7359+ - gdax # Needs environment variables set
7360+ - ghc-imported-from # depends on haddocks being generated first https://github.com/fpco/stackage/pull/1315
7361+ - ghc-mod # https://github.com/DanielG/ghc-mod/issues/611
7362+ - githash # Needs a git repo
7363+ - gitson # 0.5.2 error with git executable https://github.com/myfreeweb/gitson/issues/1
7364+ - gitson # https://github.com/myfreeweb/gitson/issues/1
7365+ - happy # Needs mtl in the user package DB
7366+ - haskell-neo4j-client # neo4j with auth disabled
7367+ - haskell-tools-cli # https://github.com/haskell-tools/haskell-tools/issues/230
7368+ - haskell-tools-refactor # https://github.com/haskell-tools/haskell-tools/issues/231
7369+ - hasql # PostgreSQL
7370+ - hasql-notifications # PostgreSQL
7371+ - hasql-queue
7372+ - hasql-transaction # PostgreSQL
7373+ - hedis
7374+ - hie-bios # cabal, stack, ghc; see https://github.com/commercialhaskell/stackage/issues/5025
7375+ - hjsmin # Test-runner expects a cabal-style 'dist-newstyle' directory
7376+ - hnix # #5469/closed
7377+ - hocilib # oracle
7378+ - http-client # httpbin issues, https://github.com/snoyberg/http-client/issues/439
7379+ - http-directory # httpbin issues, https://github.com/juhp/http-directory/issues/1
7380+ - http2 # executable not found https://github.com/kazu-yamamoto/http2/issues/22
29367381 - hworker
2937−
2938− # Fail sporadically: https://github.com/chrisdone/hindent/issues/166
2939− - hindent
2940−
2941− # https://github.com/fpco/stackage/issues/1000
2942− - eventstore
2943−
2944− # https://github.com/chrisdone/sourcemap/issues/3
2945− - sourcemap
2946−
2947− # https://github.com/fpco/stackage/issues/1070
2948− - parsers
2949−
2950− # Fails sporadically: https://github.com/fpco/stackage/issues/1125
2951− - jose-jwt
2952−
2953− # https://github.com/fpco/stackage/issues/1187
2954− # openfile: does not exist
2955− - skein
2956−
2957− # https://github.com/fpco/stackage/issues/1147
2958− - lens
2959−
2960− # https://github.com/tanakh/aeson-lens/issues/10
2961− - aeson-lens
2962−
2963− # Not sure if we can fix this
2964− - Cabal
2965−
2966− # Sent e-mail to maintainer
2967− - dbus
2968−
2969− # Sent e-mail to maintainer
2970− - ListLike
2971−
2972− # https://bitbucket.org/ssaasen/haskell-jwt/issues/18/test-suite-build-failure-in-stackage
2973− - jwt
2974−
2975− # https://github.com/rodrigosetti/messagepack/issues/9
2976− - messagepack
2977−
2978− # timeouts
2979− - cabal-helper
2980− - graphviz
2981− - zip
2982−
2983− # https://github.com/elaye/turtle-options/issues/3
2984− - turtle-options
2985−
2986− # https://github.com/fpco/stackage/issues/1045 (moved here from skipped-tests)
2987− - clock
2988−
2989− # https://github.com/fpco/stackage/issues/1299
2990− - serialport
2991−
2992− # requires elasticsearch https://github.com/fpco/stackage/pull/1271
2993− - katip-elasticsearch
2994−
2995− # https://github.com/fpco/stackage/pull/1315
2996− - ghc-imported-from
2997−
2998− # https://github.com/fpco/stackage/pull/1340
2999− - simpleirc
3000−
3001− # https://github.com/fpco/stackage/issues/1382
3002− - idris
3003−
3004− # https://github.com/fpco/stackage/issues/1399
3005− - darcs
3006−
3007− # https://github.com/fpco/stackage/pull/1254
3008− - graylog
3009−
3010− # https://github.com/stbuehler/haskell-nettle/issues/8
3011− - nettle
3012−
3013− # https://github.com/fpco/stackage/issues/1459
3014− - twitter-conduit
3015−
3016− # https://github.com/hspec/HUnit/issues/7
3017− - HUnit
3018−
3019− # https://github.com/IreneKnapp/direct-sqlite/issues/63
3020− - direct-sqlite
3021−
3022− # GHC 8 issue not reported upstream since issue tracker disabled
3023− - hspec-expectations-pretty-diff
3024−
3025− # https://github.com/clash-lang/clash-prelude/issues/57
3026− - clash-prelude
3027−
3028− # https://github.com/xmonad/xmonad/issues/36
3029− - xmonad
3030−
3031− # https://github.com/fpco/stackage/issues/1480
3032− - text
3033−
3034− # https://gitlab.com/twittner/swagger/issues/6
3035− - swagger
3036−
3037− # https://github.com/thoughtpolice/hs-ed25519/issues/15
3038− - ed25519
3039−
3040− # https://github.com/fpco/stackage/issues/1552
3041− - purescript
3042−
3043− # https://github.com/jetho/Hclip/issues/3
3044− - Hclip
3045−
3046− # Requires running mongoDB - https://github.com/mongodb-haskell/mongodb/issues/61
3047− - mongoDB
3048−
3049− # Requries running redis - https://github.com/fpco/stackage/pull/1581
3050− - persistent-redis
3051−
3052− # https://github.com/fosskers/vectortiles/issues/2
3053− - vectortiles
3054−
3055− # https://github.com/pikajude/th-printf/issues/3
3056− - th-printf
3057−
3058− # https://github.com/yesodweb/css-text/issues/10
3059− - css-text
3060−
3061− # https://github.com/fpco/stackage/pull/1693
3062− - makefile
3063−
3064− # https://github.com/nh2/haskell-netpbm/issues/2
3065− - netpbm
3066−
3067− # https://github.com/fpco/store/issues/61
3068− - store
3069−
3070− # https://github.com/haskell-servant/servant-swagger/issues/52
3071− - servant-swagger
3072−
3073− # https://github.com/haskell-suite/haskell-src-exts/issues/314
3074− - haskell-src-exts
3075−
3076− # https://github.com/fpco/stackage/pull/1732
3077− - haskell-names
3078−
3079− # https://github.com/tweag/HaskellR/issues/255
3080− - inline-r
3081−
3082− # https://github.com/sol/doctest/issues/137
3083− - doctest
3084−
3085− # https://github.com/phadej/spdx/issues/8
3086− - spdx
3087−
3088− # https://github.com/camfort/camfort/issues/34
3089− - camfort
3090−
3091− # 1.3.1.1 https://github.com/Twinside/asciidiagram/issues/3
3092− - asciidiagram
3093−
3094− # https://github.com/haskoin/haskoin/issues/285
7382+ - influxdb
7383+ - json-autotype # Requires filesystem access
7384+ - jvm
7385+ - katip-elasticsearch # elasticsearch
7386+ - log # ElasticSearch
7387+ - lsp-test
7388+ - lxd-client # Needs LXD, not available on debian
7389+ - lz4 # executable not found https://github.com/commercialhaskell/stackage/issues/6226
7390+ - mangopay # https://github.com/prowdsponsor/mangopay/issues/30
7391+ - memcached-binary # memcached
7392+ - milena
7393+ - mongoDB # Requires local MongoDB server
7394+ - mysql # MySQL
7395+ - mysql-haskell # Requires local mysql server with a test account, and binlog enabled.
7396+ - mysql-simple # MySQL
7397+ - network-anonymous-i2p
7398+ - nri-kafka # requires kafka
7399+ - nri-postgresql # requires postgres
7400+ - nri-redis # requires redis
7401+ - odbc # "Need ODBC_TEST_CONNECTION_STRING environment variable"
7402+ - opaleye # PostgreSQL
7403+ - optima # `demo` invoked with bad arguments https://github.com/commercialhaskell/stackage/pull/6102
7404+ - pandoc-plot # requires matlab, etc and DISPLAY for tcltk
7405+ - pantry # https://github.com/commercialhaskell/stackage/issues/4628
7406+ - peregrin # Requires running pg-harness-server
7407+ - persistent-redis # redis - https://github.com/fpco/stackage/pull/1581
7408+ - pipes-mongodb
7409+ - postgresql-libpq-notify
7410+ - postgresql-query # PostgreSQL
7411+ - postgresql-simple # PostgreSQL
7412+ - postgresql-simple-migration
7413+ - postgresql-simple-queue
7414+ - postgresql-syntax # hedgehog-test executable not found https://github.com/commercialhaskell/stackage/pull/6102
7415+ - postgresql-typed # PostgreSQL
7416+ - postgrest # PostgreSQL
7417+ - purescript # git 128 https://github.com/purescript/purescript/issues/2292
7418+ - rattle # needs fsatrace
7419+ - redis-io
7420+ - rel8
7421+ - rethinkdb
7422+ - rethinkdb-client-driver
7423+ - riak # needs riak server on localhost:8098
7424+ - sdl2 # "Failed to connect to the Mir Server"
7425+ - sendgrid-v3 # Requires sendgrid API key in env #5951/closed
7426+ - serialport # "The tests need two serial ports as command line arguments" https://github.com/jputcu/serialport/issues/30
7427+ - serversession-backend-redis # redis
7428+ - shake # Needs ghc on $PATH with some installed haskell packages
7429+ - slack-api # needs api key https://github.com/commercialhaskell/stackage/pull/5345
7430+ - stripe-http-streams # https://github.com/fpco/stackage/issues/2945, needs Stripe account
7431+ - sourcemap # requires npm installed packages
7432+ - users-persistent # sqlite
7433+ - users-postgresql-simple # PostgreSQL
7434+ - wai-cors # PhantomJS
7435+ - wai-rate-limit-redis # Redis
7436+ - wai-session-postgresql # PostgreSQL
7437+ - wai-session-redis # https://github.com/commercialhaskell/stackage/pull/5980
7438+ - web3 # requires running server
7439+ - webdriver-angular # webdriver server
7440+ - websockets
7441+
7442+ # Missing test files in sdist
7443+ #
7444+ # The cause is that a test suite requires a file that is not
7445+ # present in the tarball that is uploaded to Hackage. It can be
7446+ # fixed by adding these files to `extra-source-files` in the
7447+ # .cabal file.
7448+ #
7449+ - bugsnag-haskell # https://github.com/commercialhaskell/stackage/issues/6372
7450+ - cpio-conduit # Test file not in tarball https://github.com/da-x/cpio-conduit/issues/1
7451+ - crypto-pubkey # https://github.com/vincenthz/hs-crypto-pubkey/issues/23
7452+ - doctest-discover # https://github.com/karun012/doctest-discover/issues/33
7453+ - ghc-events # https://github.com/haskell/ghc-events/issues/70
7454+ - gitlab-haskell # https://github.com/commercialhaskell/stackage/issues/6088
7455+ - hspec-core # https://github.com/commercialhaskell/stackage/issues/6291
7456+ - hspec-junit-formatter # https://github.com/freckle/hspec-junit-formatter/issues/14
7457+ - persistent # https://github.com/commercialhaskell/stackage/issues/6037
7458+ - reanimate-svg # https://github.com/commercialhaskell/stackage/issues/5688
7459+
7460+ # Testcase assertion failures, or other runtime failures.
7461+ # These can be real testsuite bugs, or maybe limitations in test cases or the test setup.
7462+ #
7463+ - dbus # https://github.com/commercialhaskell/stackage/issues/6373
7464+ - generic-optics # optimization output https://github.com/kcsongor/generic-lens/issues/133
7465+ - binary-parsers # runtime failure https://github.com/winterland1989/binary-parsers/issues/3
7466+ - JuicyPixels-blurhash
7467+ - aeson-casing
7468+ - algebraic-graphs # Module not visible https://github.com/commercialhaskell/stackage/issues/4670
7469+ - base32
7470+ - blaze-colonnade
7471+ - bsb-http-chunked
7472+ - c2hs
7473+ - cfenv # https://github.com/tomphp/haskell-cfenv/issues/1
7474+ - character-cases # 0.1.0.6 https://github.com/aiya000/hs-character-cases/issues/3
7475+ - colonnade
7476+ - composable-associations-aeson
7477+ - control-dsl
7478+ - crypto-enigma
7479+ - curl-runnings
7480+ - debian
7481+ - dhall-yaml # https://github.com/commercialhaskell/stackage/issues/5640
7482+ - dimensional
7483+ - doctest-parallel # https://github.com/commercialhaskell/stackage/issues/6380
7484+ - download # https://github.com/fpco/stackage/issues/2811
7485+ - duration
7486+ - ede
7487+ - error # https://github.com/commercialhaskell/stackage/issues/6300
7488+ - exp-pairs # https://github.com/Bodigrim/exp-pairs/issues/16
7489+ - fixed-vector-hetero
7490+ - freckle-app # 1.0.0.4 https://github.com/commercialhaskell/stackage/issues/6197
7491+ - genvalidity-persistent
7492+ - genvalidity-property
7493+ - ghc-prof
7494+ - gingersnap
7495+ - github-types
7496+ - haskeline # https://github.com/commercialhaskell/stackage/issues/5439
7497+ - haskell-src-exts # https://github.com/commercialhaskell/stackage/issues/5151
30957498 - haskoin-core
7499+ - hpack # https://github.com/commercialhaskell/stackage/issues/4512
7500+ - hpack-dhall # https://github.com/BlockScope/hpack-dhall/issues/25
7501+ - hspec-golden-aeson
7502+ - incremental-parser # 0.5.0.2
7503+ - jose
7504+ - justified-containers
7505+ - jwt
7506+ - katip
7507+ - language-docker # https://github.com/commercialhaskell/stackage/issues/5407
7508+ - lens-regex
7509+ - list-transformer
7510+ - lz4-frame-conduit # https://github.com/nh2/lz4-frame-conduit/issues/3
7511+ - massiv-io
7512+ - megaparsec-tests # 9.2.0
7513+ - mighty-metropolis # https://github.com/jtobin/mighty-metropolis/issues/6
7514+ - mixpanel-client # https://github.com/domenkozar/mixpanel-client/issues/7
7515+ - mmark # https://github.com/mmark-md/mmark/issues/80
7516+ - mmark-ext # https://github.com/mmark-md/mmark/issues/80
7517+ - morpheus-graphql-app
7518+ - mwc-random
7519+ - nettle # https://github.com/stbuehler/haskell-nettle/issues/10
7520+ - nri-observability # https://github.com/commercialhaskell/stackage/issues/6179
7521+ - nri-prelude # https://github.com/commercialhaskell/stackage/issues/6179
7522+ - numhask-array
7523+ - ochintin-daicho
7524+ - openapi3
7525+ - pcre-heavy
7526+ - persistent-sqlite # https://github.com/yesodweb/persistent/issues/989
7527+ - posix-paths
7528+ - prettyprinter
7529+ - prettyprinter-ansi-terminal
7530+ - rando # https://github.com/commercialhaskell/stackage/issues/4249
7531+ - rank1dynamic
7532+ - rescue
7533+ - rose-trees
7534+ - safe-decimal
7535+ - simple-affine-space
7536+ - simple-vec3 # https://github.com/commercialhaskell/stackage/pull/5410
7537+ - singletons-base
7538+ - sized
7539+ - spatial-math
7540+ - subcategories
7541+ - tasty-fail-fast
7542+ - triplesec
7543+ - turtle
7544+ - type-level-kv-list
7545+ - unicode-show
7546+ - universe-some
7547+ - universum
7548+ - utf8-conversions
7549+ - varying
7550+ - vector-algorithms
7551+ - vivid-osc
7552+ - wakame
7553+ - world-peace
7554+ - xml-picklers # https://github.com/Philonous/xml-picklers/issues/5
7555+ - xmlbf
7556+ - yesod-gitrev # needs a git repo https://github.com/commercialhaskell/stackage/issues/6132
7557+ - yesod-markdown # https://github.com/pbrisbin/yesod-markdown/issues/77
7558+
7559+ # Assertion failures due to module name ambiguity.
7560+ # These _should_ be fixed by using the `hide` section of this file
7561+ - reanimate # https://github.com/commercialhaskell/stackage/issues/5626
7562+
7563+ # Compilation failures
7564+ - blake2 # 0.3.0
7565+ - blas-hs # 0.1.1.0
7566+ - butter # 0.1.0.6
7567+ - cabal-file-th # 0.2.7
7568+ - cacophony # 0.10.1 https://github.com/centromere/cacophony/issues/15
7569+ - conduit-connection # 0.1.0.5
7570+ - config-ini # 0.2.4.0 https://github.com/aisamanra/config-ini/issues/22
7571+ - construct # 0.3.0.2
7572+ - cryptohash # 0.11.9 Stack builds test and benchmarks in one pass so benchmark could prevent tests from getting built
7573+ - data-diverse # 4.7.0.0
7574+ - do-notation # 0.1.0.2
7575+ - domain-optics # 0.1.0.2 https://github.com/commercialhaskell/stackage/pull/6102
7576+ - easy-logger # https://github.com/commercialhaskell/stackage/issues/6384
7577+ - flat # 0.4.4
7578+ - flay # 0.4
7579+ - functor-combinators # https://github.com/commercialhaskell/stackage/issues/6376
7580+ - generic-lens # https://github.com/commercialhaskell/stackage/issues/6377
7581+ - geojson # 4.0.2
7582+ - heap # 1.0.4 https://github.com/pruvisto/heap/issues/11
7583+ - hsini # 0.5.1.2
7584+ - hweblib # 0.6.3 https://github.com/aycanirican/hweblib/issues/3
7585+ - leveldb-haskell
7586+ - mfsolve # https://github.com/commercialhaskell/stackage/issues/6379
7587+ - multiarg # 0.30.0.10
7588+ - parameterized # 0.5.0.0 https://github.com/commercialhaskell/stackage/issues/5746
7589+ - protobuf # 0.2.1.4
7590+ - record-wrangler # 0.1.1.0
7591+ - relapse # 1.0.0.0 #5948/closed
7592+ - secp256k1-haskell # #5948/closed
7593+ - servant-static-th # 1.0.0.0 Tasty issue: https://github.com/commercialhaskell/stackage/issues/6090
7594+ - snap-core # 1.0.4.2 random 1.2
7595+ - snappy # Could not find module ‘Functions’
7596+ - text-icu # 0.7.1.0 https://github.com/bos/text-icu/issues/32
7597+ - thread-supervisor # 0.2.0.0
7598+ - type-of-html-static # 0.1.0.2 https://github.com/commercialhaskell/stackage/issues/5728
7599+ - vivid-supercollider # 0.4.1.2 https://github.com/commercialhaskell/stackage/issues/4250
7600+ - xmlgen # 0.6.2.2 https://github.com/skogsbaer/xmlgen/issues/6
7601+
7602+ # Recursive deps https://github.com/fpco/stackage/issues/1818
7603+ - options
7604+ - text # 1.2.2.1
7605+
7606+ # Problem on the stackage build server, we need to dig deeper into
7607+ # these if we want them fixed
7608+ - ghci-hexcalc # https://github.com/takenobu-hs/ghci-hexcalc/issues/2
7609+ - haskell-tools-daemon # openFile: permission denied https://github.com/fpco/stackage/issues/2502
7610+ - isocline # segfault https://github.com/daanx/isocline/issues/1
7611+ - rounded # segfault
7612+ - shake-language-c # Cannot reproduce locally, looks like it may be a bug in Stack or curator
7613+ - skein # openfile: does not exist https://github.com/fpco/stackage/issues/1187
7614+
7615+ # doctests can be flaky on the build server, add packages here if
7616+ # they start causing issues.
7617+ - bookkeeping
7618+ - detour-via-sci # https://github.com/commercialhaskell/stackage/issues/6360
7619+ - dhall
7620+ - doctest-driver-gen
7621+ - envelope # https://github.com/commercialhaskell/stackage/issues/6383
7622+ - email-validate
7623+ - fmt # https://github.com/commercialhaskell/stackage/issues/6375
7624+ - greskell
7625+ - greskell-core
7626+ - headroom
7627+ - hint
7628+ - hledger-lib
7629+ - iproute
7630+ - kawhi
7631+ - makefile # Doctests require hidden Glob package
7632+ - multiset # Doctests require hidden Glob package
7633+ - perf
7634+ - prometheus-client
7635+ - xml-indexed-cursor
7636+ - yesod-paginator
7637+
7638+ # Misc. Please check if there is a better section before adding more packages here.
7639+ - ghc-exactprint # https://github.com/alanz/ghc-exactprint/issues/82
7640+ - ghcid # Weird conflicts with sandboxingistributed/distributed-process-supervisor/issues/1
7641+
7642+ - hspec-expectations-pretty-diff # https://github.com/unrelentingtech/hspec-expectations-pretty-diff/issues/7
7643+ - hw-kafka-client # missing exe https://github.com/commercialhaskell/stackage/pull/5542
7644+ - lzma-conduit # https://github.com/alphaHeavy/lzma-conduit/issues/19
7645+ - pandoc # https://github.com/jgm/pandoc/issues/5582
7646+ - password # Module not visible https://github.com/cdepillabout/password/issues/2
7647+ - password-instances # Module not visible https://github.com/commercialhaskell/stackage/issues/4653
7648+ - pcg-random # https://github.com/cchalmers/pcg-random/pull/7
7649+ - persistent-mongoDB # Requires a running server
7650+ - persistent-mysql # https://github.com/commercialhaskell/stackage/issues/4764
7651+ - persistent-postgresql # https://github.com/commercialhaskell/stackage/issues/4763
7652+ - pg-transact # https://github.com/jfischoff/pg-transact/issues/2
7653+ - poly
7654+ - postgresql-simple-queue # same issue as before, see also https://github.com/fpco/stackage/issues/2592 as that will fix both
7655+ - raaz # https://github.com/commercialhaskell/stackage/issues/4784
7656+ - rattletrap # OOM? https://github.com/fpco/stackage/issues/2232
7657+ - relude # doctest fails due to GHC bugs, will be fixed in the next `relude` release
7658+ - sbv
7659+ - servant-elm # https://github.com/haskell-servant/servant-elm/issues/62
7660+ - servant-ruby # Module not visible https://github.com/commercialhaskell/stackage/issues/4650
7661+ - skews # https://github.com/iij-ii/direct-hs/issues/100
7662+ - stm-delay # https://github.com/joeyadams/haskell-stm-delay/issues/5
7663+ - tar-conduit # to get fixed in version after 0.3.2 https://github.com/snoyberg/tar-conduit/issues/28
7664+ - tasty-discover # https://github.com/commercialhaskell/stackage/issues/4722
7665+ - threads # https://github.com/basvandijk/threads/issues/10
7666+ - tmp-postgres # https://github.com/jfischoff/tmp-postgres/issues/1
7667+ - yesod-core # https://github.com/yesodweb/yesod/issues/1711
7668+
7669+ # Please review the sections above before adding packages to a new section or to Misc.
30967670
3097− # https://github.com/snapframework/snap-core/issues/261
3098− - snap-core
3099−
3100− # https://github.com/snapframework/snap-server/issues/89
3101− - snap-server
3102−
3103− # https://github.com/beijaflor-io/haskell-language-dockerfile/issues/1
3104− - language-dockerfile
3105−
3106− # https://github.com/phadej/servant-swagger-ui/issues/13
3107− - servant-swagger-ui
3108−
3109− # https://github.com/athanclark/wai-middleware-content-type/issues/2
3110− - wai-middleware-content-type
31117671# end of expected-test-failures
31127672
3113−# Benchmarks which are known not to build. Note that, currently we do not run
3114−# benchmarks, and therefore failures are only for building, not running.
3115−expected-benchmark-failures:
3116− - Frames
3117− - attoparsec
3118− - cipher-aes128
3119− - cryptohash
3120− - dbus
3121− - hashable
3122− - http-link-header
3123− - jose-jwt
3124− - lens
3125− - lucid
3126− - picoparsec
3127− - thyme
3128− - web-routing
3129− - xmlgen
3130− - yi-rope
3131−
3132− # https://github.com/commercialhaskell/stack/issues/2153
3133− - scientific
3134− - vector-binary-instances
3135−
3136− # GHC 8
3137− - cassava
3138−
3139− # https://github.com/domdere/cassava-conduit/issues/10
3140− - cassava-conduit
3141−# end of expected-benchmark-failures
3142−
31437673
31447674# Haddocks which are expected to fail. Same concept as expected test failures.
31457675expected-haddock-failures:
31467676
31477677 # Requires build before haddock, which doesn't always happen in incremental
31487678 # builds. Could consider special-casing this requirement.
3149− - gtk
31507679 - gtk3
31517680
3152− # Not sure why, but it's a temporary package anyway
3153− - Cabal-ide-backend
3154−
3155− # https://github.com/fpco/stackage/issues/994
3156− - Michelangelo
7681+ # Intermittent failures or unreliable. These may pass when
7682+ # re-enabled, but will eventually fail again. Only remove these
7683+ # from expected-haddock-failures if we know a fix has been released.
7684+ - gi-gtk # Uses all memory
31577685
3158− # Problem with v0.1.6.0: https://github.com/fpco/stackage/issues/1206
3159− - hsdev
7686+ # Problem on the stackage build server, we need to dig deeper into
7687+ # these if we want them fixed
31607688
3161− # https://github.com/fpco/stackage/issues/1383
3162− - yesod-job-queue
7689+ # internal error when calculating transitive package dependencies
7690+ - hw-balancedparens
7691+ - hw-ip # https://github.com/commercialhaskell/stackage/issues/5014
7692+ - hw-json # https://github.com/commercialhaskell/stackage/issues/5014
7693+ - hw-rankselect
7694+ - doctest-parallel # https://github.com/commercialhaskell/stackage/issues/5014
31637695
3164− # uses all server memory
3165− - gi-gtk
3166−
3167− # https://github.com/conal/MemoTrie/issues/10
3168− - MemoTrie
7696+# end of expected-haddock-failures
31697697
3170− # GHC 8
3171− - cassava
7698+# For packages with haddock issues
7699+skipped-haddocks:
7700+- modular # Module uses compiler plugins https://github.com/haskell/haddock/issues/900
7701+# end of skipped-haddocks
31727702
3173− # https://github.com/GetShopTV/swagger2/issues/66
3174− - swagger2
7703+# Benchmarks which are known not to build. Note that, currently we do not run
7704+# benchmarks, and therefore failures are only for building, not running.
7705+expected-benchmark-failures:
7706+ # Compilation failures
7707+ - OrderedBits # 0.0.2.0
7708+ - aeson-combinators # 0.0.5.0
7709+ - cmark-gfm # https://github.com/kivikakk/cmark-gfm-hs/issues/5
7710+ - cryptohash # 0.11.9 https://github.com/vincenthz/hs-cryptohash/pull/43
7711+ - incremental-parser # 0.5.0.2
7712+ - lz4 # https://github.com/fpco/stackage/issues/3510
7713+ - raaz # https://github.com/commercialhaskell/stackage/issues/4766
7714+ - serialise # 0.2.4.0 https://github.com/commercialhaskell/stackage/issues/6340
7715+ - thyme
7716+ - universum
7717+ - vector-algorithms # 0.8.0.4
7718+ - xmlgen # https://github.com/skogsbaer/xmlgen/issues/6
31757719
3176− # https://github.com/iand675/metrics/issues/5
3177− - metrics
31787720
3179− # https://github.com/camfort/fortran-src/issues/29
3180− - fortran-src
3181−# end of expected-haddock-failures
7721+# end of expected-benchmark-failures
31827722
31837723
3184−# Benchmarks which should not be built. Note that Stackage does *not* generally
3185−# build benchmarks. The difference here will be whether dependencies for these
3186−# benchmarks are included or not.
7724+# Benchmarks which should not be built. Note that Stackage builds benchmarks but does not run them.
7725+# By skipping a benchmark, we do not pull in the build dependencies
7726+# Packages should only be added here if required by `stackage-curator check'
7727+# or if Setup fails because of missing foreign libraries.
7728+# Otherwise place them in expected-benchmark-failures.
31877729skipped-benchmarks:
3188− - criterion-plus
3189−
3190− # pulls in criterion-plus, which has restrictive upper bounds
3191− - cases
3192− - hasql-postgres
3193− - ttrie
7730+ # aeson-2
7731+ # https://github.com/commercialhaskell/stackage/issues/6217
7732+ - jsonifier
31947733
3195− # https://github.com/vincenthz/hs-crypto-cipher/issues/46
3196− - cipher-aes
3197− - cipher-blowfish
3198− - cipher-camellia
3199− - cipher-des
3200− - cipher-rc4
7734+ # Cyclic dependencies
7735+ - attoparsec
7736+ - case-insensitive
7737+ - cassava
7738+ - clock
7739+ - criterion
7740+ - foundation
7741+ - hashable # https://github.com/fpco/stackage/issues/1818
7742+ - hspec
7743+ - nanospec
7744+ - scientific
7745+ - vector-binary-instances
32017746
3202− # https://github.com/kaizhang/clustering/issues/2
3203− - clustering
7747+ # Timeouts
7748+ - gogol-youtube
32047749
3205− # Successful build requires unordered-containers >= 0.2.7.0
3206− # https://github.com/fpco/stackage/issues/1226
3207− - unordered-containers
7750+ # Very resource intensive
7751+ - OpenGLRaw
7752+ - pandoc
7753+ - git-annex
32087754
3209− # https://github.com/fpco/stackage/issues/1587
3210− - hledger-lib
7755+ # Maintainers who don't want to update benchmarks
7756+ # Only re-enable if requested.
7757+ ## @hvr https://github.com/fpco/stackage/issues/2538#issuecomment-304458844
7758+ - cassava
7759+ - cryptohash-md5
7760+ - cryptohash-sha1
7761+ - cryptohash-sha256
7762+ - uuid
7763+ - uuid-types
7764+ # @nikita-volkov https://github.com/fpco/stackage/issues/2538#issuecomment-305129396
7765+ - base-prelude
7766+ - bytestring-strict-builder
7767+ - bytestring-tree-builder
7768+ - cases
7769+ - focus
7770+ - hasql
7771+ - hasql-pool
7772+ - list-t
7773+ - mtl-prelude
7774+ - neat-interpolation
7775+ - partial-handler
7776+ - postgresql-binary
7777+ - refined
7778+ - slave-thread
7779+ - stm-containers
7780+ - vector-builder
7781+ # @ivan-m https://github.com/fpco/stackage/issues/2538#issuecomment-307290070
7782+ - fgl
7783+ - fgl-arbitrary
7784+ - graphviz
7785+ - graphviz
7786+ - wl-pprint-text
7787+ # @phadej
7788+ - dlist-nonempty # criterion-1.3
7789+ - splitmix # criterion-1.3
7790+ # @sjakobi
7791+ - prettyprinter
7792+ - prettyprinter-ansi-terminal # https://github.com/commercialhaskell/stackage/issues/5560
7793+
7794+ # See "Large scale enabling/disabling of packages" in CURATORS.md for how to manage this section.
7795+ #
7796+ # Benchmark bounds issues
7797+ - IntervalMap # tried IntervalMap-0.6.1.2, but its *benchmarks* requires the disabled package: SegmentTree
7798+ - accelerate-bignum # tried accelerate-bignum-0.3.0.0, but its *benchmarks* requires the disabled package: accelerate-io-vector
7799+ - accelerate-fourier # tried accelerate-fourier-1.0.0.5, but its *benchmarks* does not support: accelerate-llvm-native-1.3.0.0
7800+ - accelerate-fourier # tried accelerate-fourier-1.0.0.5, but its *benchmarks* does not support: criterion-1.5.12.0
7801+ - binary-parsers # tried binary-parsers-0.2.4.0, but its *benchmarks* does not support: criterion-1.5.12.0
7802+ - buffer-builder # tried buffer-builder-0.2.4.7, but its *benchmarks* requires the disabled package: json-builder
7803+ - chronos # tried chronos-1.1.3, but its *benchmarks* requires the disabled package: thyme
7804+ - cipher-aes # tried cipher-aes-0.2.11, but its *benchmarks* requires the disabled package: crypto-cipher-benchmarks
7805+ - cipher-camellia # tried cipher-camellia-0.0.2, but its *benchmarks* requires the disabled package: crypto-cipher-benchmarks
7806+ - cipher-des # tried cipher-des-0.0.6, but its *benchmarks* requires the disabled package: crypto-cipher-benchmarks
7807+ - cipher-rc4 # tried cipher-rc4-0.1.4, but its *benchmarks* requires the disabled package: crypto-cipher-benchmarks
7808+ - distributed-process # tried distributed-process-0.7.4, but its *benchmarks* does not support: network-transport-tcp-0.8.0
7809+ - ed25519 # tried ed25519-0.0.5.0, but its *benchmarks* does not support: criterion-1.5.12.0
7810+ - extensible-effects # tried extensible-effects-5.0.0.1, but its *benchmarks* requires the disabled package: test-framework-th
7811+ - haskell-tools-cli # tried haskell-tools-cli-1.1.1.0, but its *benchmarks* does not support: aeson-1.5.6.0
7812+ - haskell-tools-cli # tried haskell-tools-cli-1.1.1.0, but its *benchmarks* does not support: time-1.9.3
7813+ - heist # tried heist-1.1.0.1, but its *benchmarks* does not support: statistics-0.16.0.1
7814+ - hip # tried hip-1.5.6.0, but its *benchmarks* requires the disabled package: repa-algorithms
7815+ - hw-eliasfano # tried hw-eliasfano-0.1.2.0, but its *benchmarks* requires the disabled package: hw-hspec-hedgehog
7816+ - o-clock # tried o-clock-1.2.1, but its *benchmarks* requires the disabled package: tiempo
7817+ - psqueues # tried psqueues-0.2.7.3, but its *benchmarks* requires the disabled package: PSQueue
7818+ - psqueues # tried psqueues-0.2.7.3, but its *benchmarks* requires the disabled package: fingertree-psqueue
7819+ - regex-applicative # tried regex-applicative-0.3.4, but its *benchmarks* requires the disabled package: parsers-megaparsec
7820+ - sbv # tried sbv-8.17, but its *benchmarks* requires the disabled package: bench-show
7821+ - servant-auth-cookie # tried servant-auth-cookie-0.6.0.3, but its *benchmarks* does not support: criterion-1.5.12.0
7822+ - superbuffer # tried superbuffer-0.3.1.1, but its *benchmarks* does not support: criterion-1.5.12.0
7823+ - ttrie # tried ttrie-0.1.2.2, but its *benchmarks* requires the disabled package: criterion-plus
7824+ - ttrie # tried ttrie-0.1.2.2, but its *benchmarks* requires the disabled package: stm-stats
7825+ - tz # tried tz-0.1.3.5, but its *benchmarks* requires the disabled package: thyme
7826+ - unicode-transforms # tried unicode-transforms-0.4.0, but its *benchmarks* does not support: path-0.9.2
7827+ - xxhash-ffi # tried xxhash-ffi-0.2.0.0, but its *benchmarks* requires the disabled package: xxhash
7828+ # End of Benchmark bounds issues
32117829
32127830# end of skipped-benchmarks
32137831
@@ -3245,11 +7863,11 @@ github-users:
32457863 - meteficha
32467864 analytics:
32477865 - ekmett
7866+ haskell-openal:
7867+ - svenpanne
32487868 haskell-opengl:
32497869 - ekmett
32507870 - svenpanne
3251− # - elliottt
3252− # - jmcarthur
32537871 lambdabot:
32547872 - DanBurton
32557873 - mokus0
@@ -3260,11 +7878,10 @@ github-users:
32607878 clckwrks:
32617879 - stepcut
32627880 stackbuilders:
3263− - sestrella
32647881 - jsl
3265− - jpvillaisaza
3266− - jsantos17
3267− - mrkkrp
7882+ - sestrella
7883+ - juanpaucar
7884+ - CristhianMotoche
32687885 scotty-web:
32697886 - RyanGlScott
32707887 - xich
@@ -3272,9 +7889,6 @@ github-users:
32727889 - RyanGlScott
32737890 haskell-compat:
32747891 - RyanGlScott
3275− haskell-servant:
3276− - jkarni
3277− - SoenkeHahn
32787892 vivid:
32797893 - vivid-synth
32807894 midair:
@@ -3283,6 +7897,31 @@ github-users:
32837897 - vivid-synth
32847898 telegram-api:
32857899 - klappvisor
7900+ fpinsight:
7901+ - thierry-b
7902+ arithmoi:
7903+ - Bodigrim
7904+ - cartazio
7905+ IxpertaSolutions:
7906+ - Siprj
7907+ - liskin
7908+ - trskop
7909+ - xkollar
7910+ ekmett:
7911+ - RyanGlScott
7912+ onrock-eng:
7913+ - donkeybonks
7914+ tweag:
7915+ - bazel-runfiles
7916+ network-multicast:
7917+ - audreyt
7918+ xmonad:
7919+ - byorgey
7920+ - dmwit
7921+ - geekosaur
7922+ - liskin
7923+ - psibi
7924+ - slotThe
32867925
32877926# end of github-users
32887927
@@ -3303,3 +7942,107 @@ build-tool-overrides:
33037942#
33047943# treat-as-non-core:
33057944# - transformers
7945+
7946+# Give an error if the latest package version doesn't match what's
7947+# listed below, see:
7948+# https://github.com/fpco/stackage-curator/issues/25
7949+#
7950+# Example:
7951+# If bindings-GLFW-3.1.2.1 is the current latest version write
7952+# - bindings-GLFW-3.1.2.1 # Comment saying what should be done when the new version is released
7953+tell-me-when-its-released: []
7954+
7955+# Packages which should be hidden after registering, to avoid module name
7956+# conflicts. This is intended for at least two use cases:
7957+#
7958+# * Making doctests pass (https://github.com/yesodweb/wai/issues/579)
7959+#
7960+# * Allowing tools like Stack to get a mapping from module name to package name
7961+# for automatically installing dependencies
7962+hide:
7963+- HTF # conflicts with Test.Framework in test-framework
7964+- async-dejafu # https://github.com/yesodweb/wai/issues/579
7965+- base-compat # conflicts with base-compat-batteries, see https://github.com/fpco/stackage/issues/3607
7966+- base-noprelude # By design, conflicts with base
7967+- binary-ieee754 # conflicts with data-binary-ieee754
7968+- cipher-aes # Cryptonite deprecation
7969+- cipher-blowfish # Cryptonite deprecation
7970+- cipher-camellia # Cryptonite deprecation
7971+- cipher-des # Cryptonite deprecation
7972+- cipher-rc4 # Cryptonite deprecation
7973+- constraint # conflicts with constraints
7974+- control-monad-free # conflicts with Control.Monad.Free in free
7975+- courier # conflicts with Network.Transport in network-transport
7976+- crypto-api # `module Crypto.Random` conflicts with cryptonite
7977+- crypto-cipher-types # Cryptonite deprecation
7978+- crypto-numbers # Cryptonite deprecation
7979+- crypto-pubkey # Cryptonite deprecation
7980+- crypto-random # Cryptonite deprecation
7981+- cryptohash # Cryptonite deprecation
7982+- cryptohash-conduit # Cryptonite deprecation
7983+- cryptohash-md5 # cryptohash fork
7984+- cryptohash-sha1 # cryptohash fork
7985+- cryptohash-sha256 # cryptohash fork
7986+- fay-base # conflicts with many modules in base and others
7987+- filemanip # conflicts with System.FilePath.Glob in Glob
7988+- ghc-lib # per its own recommendation. conflicts with template-haskell
7989+- ghc-lib-parser # also conflicts with template-haskell
7990+- gl # conflicts with modules in OpenGLRaw
7991+- gtk3 # conflicts with many modules in gtk
7992+- hashmap # conflicts with Data.HashSet in unordered-containers
7993+- hledger-web # conflicts with Foundation in foundation
7994+- hs-functors # conflicts with profunctors, see #3609/closed
7995+- hxt-unicode # conflicts with Data.String.UTF8 in utf8-string
7996+- kawhi # conflicts with Control.Monad.Http in monad-http
7997+- language-c # conflicts with modules in language-c-quote
7998+- lenz # conflicts with lens, see https://github.com/fpco/stackage/issues/3600
7999+- log # conflicts with modules in its dependencies
8000+- matrices # conflicts with matrix
8001+- monad-extras # conflicts with Control.Monad.Extra in extra
8002+- monads-tf # mtl is preferred
8003+- nanospec # conflicts with Test.Hspec in hspec
8004+- objective # conflicts with Control.Object in natural-transformation
8005+- plot-gtk3 # conflicts with many modules in plot-gtk
8006+- pretty-class # conflicts with pretty and prettyclass
8007+- prettyclass # conflicts with pretty and pretty-class
8008+- prompt # conflicts with Control.Monad.Prompt in MonadPrompt
8009+- regex-compat-tdfa # conflicts with many modules in regex-compat
8010+- regex-pcre-builtin # conflicts with many modules in regex-pcre
8011+- rerebase # conflicts with base
8012+- svg-tree # conflicts with Graphics.Svg in svg-builder
8013+- temporary-rc # conflicts with temporary
8014+- temporary-resourcet # conflicts with temporary
8015+- zip # conflicts with Codec.Archive.Zip in zip-archive
8016+
8017+
8018+# Experimental: packages where Hackage cabal file revisions should be ignored.
8019+#
8020+# This always use the cabal file shipped with the sdist tarball instead of the latest revision.
8021+#
8022+# This only supports pinning to the initial release (revision 0), not to an arbitrary revision.
8023+no-revisions:
8024+- hjsonpointer
8025+- tls
8026+- mime-mail
8027+- basement
8028+- cryptonite
8029+- foundation
8030+- gauge
8031+- stack
8032+- http-download
8033+- pantry
8034+- rio-prettyprint
8035+- hi-file-parser
8036+
8037+
8038+# Note, this no longer actually does anything with curator2 unfortunately:
8039+# Do not build these packages in parallel with others. Useful for high memory
8040+# usage.
8041+non-parallel-builds:
8042+- pandoc
8043+- gogol-dfareporting
8044+- gogol-compute
8045+- idris
8046+- amazonka-ec2
8047+- massiv-persist
8048+- massiv-serialise
check+10−2
@@ -1,6 +1,14 @@
1−#!/bin/sh
1+#!/bin/bash
22
33# Convenience script for checking constraints locally
44
55cd `dirname $0`
6−exec stack exec --resolver ghc-8.0.1 stackage-curator check
6+
7+export GHCVER=$(sed -n "s/^ghc-version: \"\(.*\)\"/\1/p" "build-constraints.yaml")
8+
9+NIGHTLY="nightly-$(date +%Y-%m-%d)"
10+curator update &&
11+ curator constraints --target=$NIGHTLY &&
12+ curator snapshot-incomplete --target=$NIGHTLY &&
13+ curator snapshot &&
14+ stack --resolver ghc-$GHCVER exec curator check-snapshot
commenternew file+20
@@ -0,0 +1,20 @@
1+#!/usr/bin/env bash
2+
3+if ! command -v cargo
4+then
5+ echo "Rust doesn't seem to be installed. https://rustup.rs/"
6+ exit 1
7+fi
8+
9+if [ "$1" = "outdated" ];
10+then
11+ if ! command -v latest-version &> /dev/null
12+ then
13+ echo "This command requires latest-version in your PATH"
14+ echo "Install it with: "
15+ echo "stack install --stack-yaml etc/commenter/latest-version/stack.yaml"
16+ exit 1
17+ fi
18+fi
19+
20+cargo run -q --release --manifest-path etc/commenter/Cargo.toml $@
debian-bootstrap.sh+232−35
@@ -4,89 +4,132 @@
44# up-and-running on a freshly installed Debian-based system (including Ubuntu).
55
66# Quick start:
7−# wget -O - https://raw.github.com/fpco/stackage/master/debian-bootstrap.sh | bash -ex
7+# wget -O - https://raw.github.com/commercialhaskell/stackage/master/debian-bootstrap.sh | bash -ex
88
99# NOTE: Requires that GHC and Cabal are installed and on your PATH. For
1010# instructions, see:
1111# http://www.stackage.org/install
1212
13−set -exu
13+set -exuo pipefail
1414
15−mkdir /home/stackage -p
16−locale-gen en_US.UTF-8
15+mkdir -p /home/stackage
1716
17+export LANG=C.UTF-8
1818export DEBIAN_FRONTEND=noninteractive
19−apt-get update
20−apt-get install -y software-properties-common
2119
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
20+# Get curl and unzip
21+apt-get update
22+apt-get install -y curl unzip
2623
27−# Set the GHC version
28−GHCVER=8.0.1
24+# Install AWS CLI
25+mkdir -p /tmp/awscli
26+(
27+cd /tmp/awscli
28+curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
29+unzip awscliv2.zip
30+./aws/install --bin-dir /usr/bin
31+)
32+rm -rf /tmp/awscli
2933
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
34+# Get Stack and GHC
35+curl -sSL https://get.haskellstack.org/ | sh -s - -d /usr/bin
36+stack setup --resolver ghc-$GHCVER
3337
3438apt-get update
39+
3540apt-get install -y \
41+ apt-transport-https \
3642 build-essential \
37− ghc-$GHCVER \
38− ghc-$GHCVER-htmldocs \
39− hscolour \
40− sudo \
43+ cmake \
4144 curl \
45+ dvipng \
4246 freeglut3-dev \
47+ freetds-dev \
48+ fsharp \
49+ g++ \
50+ gawk \
4351 git \
52+ gnupg \
53+ gradle \
54+ hscolour \
4455 libadns1-dev \
56+ libaio1 \
57+ libalut-dev \
4558 libasound2-dev \
4659 libblas-dev \
4760 libbz2-dev \
4861 libcairo2-dev \
49− libclang-3.7-dev \
62+ libclang-3.9-dev \
5063 libcurl4-openssl-dev \
64+ libcwiid-dev \
65+ libdbusmenu-glib-dev \
66+ libdbusmenu-gtk3-dev \
5167 libdevil-dev \
5268 libedit-dev \
5369 libedit2 \
5470 libfftw3-dev \
71+ libflac-dev \
5572 libfreenect-dev \
56− libgd2-xpm-dev \
73+ libgd-dev \
5774 libgeoip-dev \
5875 libgirepository1.0-dev \
76+ libglew-dev \
5977 libglfw3-dev \
6078 libglib2.0-dev \
6179 libglu1-mesa-dev \
6280 libgmp3-dev \
63− libgnutls-dev \
81+ libgnutls28-dev \
82+ libgraphene-1.0-dev \
6483 libgsasl7-dev \
65− libgsl0-dev \
84+ libgsl-dev \
6685 libgtk-3-dev \
6786 libgtk2.0-dev \
6887 libgtksourceview-3.0-dev \
6988 libhidapi-dev \
89+ libi2c-dev \
7090 libicu-dev \
91+ libimlib2-dev \
92+ libjack-jackd2-dev \
93+ libjavascriptcoregtk-4.0-dev \
94+ libjansson-dev \
7195 libjudy-dev \
7296 liblapack-dev \
7397 libleveldb-dev \
98+ liblmdb-dev \
99+ liblz4-tool \
74100 liblzma-dev \
75101 libmagic-dev \
76102 libmagickcore-dev \
77103 libmagickwand-dev \
78104 libmarkdown2-dev \
105+ libmono-2.0-dev \
106+ libmp3lame-dev \
79107 libmpfr-dev \
108+ libmpich-dev \
80109 libmysqlclient-dev \
81− libncurses-dev \
110+ libncurses5-dev \
111+ libnfc-dev \
112+ liboath-dev \
82113 libnotify-dev \
83114 libopenal-dev \
84115 libpango1.0-dev \
85116 libpcap0.8-dev \
117+ libpcre2-dev \
86118 libpq-dev \
119+ libprotobuf-dev \
120+ libre2-dev \
121+ librocksdb-dev \
122+ libsdl1.2-dev \
87123 libsdl2-dev \
124+ libsdl2-gfx-dev \
125+ libsdl2-image-dev \
126+ libsdl2-mixer-dev \
127+ libsdl2-ttf-dev \
128+ libsecp256k1-dev \
88129 libsnappy-dev \
89130 libsndfile1-dev \
131+ libsodium-dev \
132+ libsox-dev \
90133 libsqlite3-dev \
91134 libssl-dev \
92135 libsystemd-dev \
@@ -94,6 +137,7 @@ apt-get install -y \
94137 libtre-dev \
95138 libudev-dev \
96139 libusb-1.0-0-dev \
140+ libvte-2.91-dev \
97141 libwebkitgtk-3.0-dev \
98142 libxau-dev \
99143 libxml2-dev \
@@ -101,25 +145,53 @@ apt-get install -y \
101145 libxss-dev \
102146 libyaml-dev \
103147 libzip-dev \
148+ libzstd-dev \
104149 libzmq3-dev \
105− llvm-3.7 \
150+ llvm-7 \
151+ llvm-8 \
152+ llvm-9 \
153+ locales \
106154 m4 \
155+ minisat \
156+ mono-mcs \
107157 nettle-dev \
108− nodejs \
109− npm \
158+ ninja-build \
110159 openjdk-8-jdk \
160+ python-mpltoolkits.basemap \
161+ python3-matplotlib \
162+ python3-numpy \
163+ python3-pip \
164+ python3-scipy \
111165 r-base \
112166 r-base-dev \
167+ rpm \
113168 ruby-dev \
114− stack \
169+ software-properties-common \
170+ sudo \
171+ texlive \
172+ unixodbc-dev \
115173 wget \
116174 xclip \
117− z3 \
118175 zip \
119− zlib1g-dev
176+ zlib1g-dev \
177+ zsh
120178
121−# Put documentation where we expect it
122−mv /opt/ghc/$GHCVER/share/doc/ghc-$GHCVER/ /opt/ghc/$GHCVER/share/doc/ghc
179+# odbc
180+# TODO: See if we can fix this...
181+# E: Failed to fetch https://packages.microsoft.com/debian/9/prod/pool/main/u/unixodbc/odbcinst_2.3.7_amd64.deb 404 Not Found
182+#
183+# curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
184+# curl https://packages.microsoft.com/config/debian/9/prod.list > /etc/apt/sources.list.d/mssql-release.list
185+# apt-get update
186+# ACCEPT_EULA=Y apt-get install msodbcsql17 -y
187+
188+# llvm for llvm-hs
189+curl https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
190+add-apt-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-9 main"
191+apt-get update
192+apt-get install llvm-9-dev -y
193+
194+locale-gen en_US.UTF-8
123195
124196# Buggy versions of ld.bfd fail to link some Haskell packages:
125197# https://sourceware.org/bugzilla/show_bug.cgi?id=17689. Gold is
@@ -131,6 +203,131 @@ update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.bfd" 10
131203# This version is tracked here:
132204# https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM/Installing
133205#
134−# GHC 8.0 requires LLVM 3.7 tools (specifically, llc-3.7 and opt-3.7).
135−update-alternatives --install "/usr/bin/llc" "llc" "/usr/bin/llc-3.7" 50
136−update-alternatives --install "/usr/bin/opt" "opt" "/usr/bin/opt-3.7" 50
206+# GHC 8.10 requires LLVM 9 tools (?) (specifically, llc-9 and opt-9).
207+update-alternatives --install "/usr/bin/llc" "llc" "/usr/bin/llc-9" 50
208+update-alternatives --install "/usr/bin/opt" "opt" "/usr/bin/opt-9" 50
209+
210+# nodejs 10 (nodejs8 in bionic needs conflicting libssl10-dev)
211+curl -sL https://deb.nodesource.com/setup_10.x | bash -
212+apt-get install -y nodejs
213+
214+# install ocilib dependencies then build and install ocilib
215+cd /tmp \
216+ && wget https://storage.googleapis.com/oracle.fpinsight.com/instantClient/oracle-instantclient12.1-basiclite_12.1.0.2.0-2_amd64.deb \
217+ && dpkg -i oracle-instantclient12.1-basiclite_12.1.0.2.0-2_amd64.deb \
218+ && rm -f oracle-instantclient12.1-basiclite_12.1.0.2.0-2_amd64.deb \
219+ && wget https://storage.googleapis.com/oracle.fpinsight.com/instantClient/oracle-instantclient12.1-devel_12.1.0.2.0-2_amd64.deb \
220+ && dpkg -i oracle-instantclient12.1-devel_12.1.0.2.0-2_amd64.deb \
221+ && rm -f oracle-instantclient12.1-devel_12.1.0.2.0-2_amd64.deb \
222+ && wget https://github.com/vrogier/ocilib/archive/v4.3.2.tar.gz \
223+ && tar xvf v4.3.2.tar.gz \
224+ && cd /tmp/ocilib-4.3.2 \
225+ && ./configure --with-oracle-import=linkage \
226+ --with-oracle-charset=ansi \
227+ --with-oracle-headers-path=/usr/include/oracle/12.1/client64 \
228+ --with-oracle-lib-path=/usr/lib/oracle/12.1/client64/lib \
229+ && make \
230+ && make install \
231+ && cd \
232+ && rm -rf /tmp/ocilib-4.3.2 \
233+ && echo "/usr/local/lib" > /etc/ld.so.conf.d/usr-local.conf \
234+ && echo "/usr/lib/oracle/12.1/client64/lib" > /etc/ld.so.conf.d/oracle-client.conf \
235+ && ldconfig
236+
237+# Add JDK to system paths.
238+echo "/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/" > /etc/ld.so.conf.d/openjdk.conf \
239+ && ldconfig
240+
241+# Install erlang/otp platform and its dependencies
242+ERLANG_DEB_FILE="esl-erlang_21.1-1~ubuntu~bionic_amd64.deb"
243+pushd /tmp \
244+ && wget https://packages.erlang-solutions.com/erlang/debian/pool/${ERLANG_DEB_FILE} \
245+ && (dpkg -i ${ERLANG_DEB_FILE}; apt-get install -yf) \
246+ && rm ${ERLANG_DEB_FILE} \
247+ && popd
248+
249+# Install the TensorFlow C API.
250+curl https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-linux-x86_64-1.1.0.tar.gz > libtensorflow.tar.gz \
251+ && sudo tar zxf libtensorflow.tar.gz -C /usr \
252+ && rm libtensorflow.tar.gz \
253+ && ldconfig
254+
255+# NOTE: also update Dockerfile when cuda version changes
256+# Install CUDA toolkit
257+# The current version can be found at: https://developer.nvidia.com/cuda-downloads
258+CUDA_PKG=10.0.130-1
259+CUDA_VER=10.0
260+CUDA_APT=10-0
261+
262+pushd /tmp \
263+ && wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-repo-ubuntu1804_${CUDA_PKG}_amd64.deb \
264+ && apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub \
265+ && dpkg -i cuda-repo-ubuntu1804_${CUDA_PKG}_amd64.deb \
266+ && apt-get update -qq \
267+ && apt-get install -y cuda-drivers cuda-core-${CUDA_APT} cuda-cudart-dev-${CUDA_APT} cuda-cufft-dev-${CUDA_APT} cuda-cublas-dev-${CUDA_APT} cuda-cusparse-dev-${CUDA_APT} cuda-cusolver-dev-${CUDA_APT} \
268+ && rm cuda-repo-ubuntu1804_${CUDA_PKG}_amd64.deb \
269+ && export CUDA_PATH=/usr/local/cuda-${CUDA_VER} \
270+ && export LD_LIBRARY_PATH=${CUDA_PATH}/nvvm/lib64:${LD_LIBRARY_PATH+x} \
271+ && export LD_LIBRARY_PATH=${CUDA_PATH}/lib64:${LD_LIBRARY_PATH} \
272+ && export PATH=${CUDA_PATH}/bin:${PATH} \
273+ && popd
274+
275+# non-free repo for mediabus-fdk-aac
276+apt-add-repository multiverse \
277+ && apt-get update \
278+ && apt-get install -y nvidia-cuda-dev
279+
280+export CLANG_PURE_LLVM_LIB_DIR=/usr/lib/llvm-9/lib;
281+export CLANG_PURE_LLVM_INCLUDE_DIR=/usr/lib/llvm-9/include;
282+
283+# protoc, for proto-lens-combinators test suite
284+# Instructions from: https://google.github.io/proto-lens/installing-protoc.html
285+PROTOC_ZIP=protoc-3.3.0-linux-x86_64.zip
286+curl -OL https://github.com/google/protobuf/releases/download/v3.3.0/$PROTOC_ZIP
287+sudo unzip -o $PROTOC_ZIP -d /usr bin/protoc
288+rm -f $PROTOC_ZIP
289+
290+# Update library search paths
291+echo /usr/local/cuda-10.0/lib64 > /etc/ld.so.conf.d/cuda.conf
292+echo /usr/local/cuda-10.0/nvvm/lib64 >> /etc/ld.so.conf.d/cuda.conf
293+
294+echo /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server > /etc/ld.so.conf.d/java.conf
295+
296+echo /usr/lib/llvm-3.7/lib > /etc/ld.so.conf.d/llvm.conf
297+
298+ldconfig
299+
300+# Install librdkafka (Apache Kafka C/C++ library)
301+wget -qO - https://packages.confluent.io/deb/5.2/archive.key | apt-key add -
302+add-apt-repository "deb https://packages.confluent.io/deb/5.2 stable main"
303+apt-get update && apt install -y librdkafka-dev
304+
305+Z3_VER=4.8.8
306+(
307+ cd /usr/local/ \
308+ && wget https://github.com/Z3Prover/z3/releases/download/z3-${Z3_VER}/z3-${Z3_VER}-x64-ubuntu-16.04.zip \
309+ && unzip z3-${Z3_VER}-x64-ubuntu-16.04.zip \
310+ && rm z3-${Z3_VER}-x64-ubuntu-16.04.zip \
311+ && ln -s /usr/local/z3-${Z3_VER}-x64-ubuntu-16.04/bin/z3 /usr/bin/z3
312+)
313+
314+LIBJWT_VER=1.12.1
315+(
316+pushd /tmp \
317+ && wget https://github.com/benmcollins/libjwt/archive/v${LIBJWT_VER}.zip \
318+ && unzip v${LIBJWT_VER}.zip \
319+ && pushd libjwt-${LIBJWT_VER} \
320+ && autoreconf -fiv \
321+ && ./configure --disable-valgrind --disable-doxygen-doc --prefix /usr \
322+ && make \
323+ && sudo make install \
324+ && popd \
325+ && popd
326+)
327+
328+
329+# EOF: don't build anything below this line
330+
331+# Cleanup
332+apt-get clean
333+rm -rf /var/lib/apt/lists/*
etc/check.shnew file+28
@@ -0,0 +1,28 @@
1+#!/usr/bin/env bash
2+
3+set -euxo pipefail
4+
5+ETC=$(cd $(dirname $0) ; pwd)
6+export GHCVER=$(sed -n "s/^ghc-version: \"\(.*\)\"/\1/p" "$ETC/../build-constraints.yaml")
7+
8+# Download and unpack the stack executable
9+mkdir -p ~/.local/bin
10+export PATH=$HOME/.local/bin:$PATH
11+curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
12+
13+# Get new Stackage curator
14+curl -L "https://github.com/commercialhaskell/curator/releases/download/commit-a79aadca0f6497ec6accc927df5be7c49f5de86a/curator.bz2" | bunzip2 > curator
15+chmod +x curator
16+
17+# Install GHC
18+stack setup $GHCVER
19+
20+# curator's constraint command has target as a required parameter
21+# because of a different constraints handling in minor LTS version bumps
22+NIGHTLY="nightly-$(date +%Y-%m-%d)"
23+# New curator check
24+./curator update &&
25+ ./curator constraints --target=$NIGHTLY &&
26+ ./curator snapshot-incomplete --target=$NIGHTLY &&
27+ ./curator snapshot &&
28+ stack --resolver ghc-$GHCVER exec ./curator check-snapshot
etc/commenter/.gitignorenew file+3
@@ -0,0 +1,3 @@
1+/target
2+/comments.txt
3+/out.txt
etc/commenter/Cargo.locknew file+365
@@ -0,0 +1,365 @@
1+# This file is automatically @generated by Cargo.
2+# It is not intended for manual editing.
3+version = 3
4+
5+[[package]]
6+name = "aho-corasick"
7+version = "0.7.18"
8+source = "registry+https://github.com/rust-lang/crates.io-index"
9+checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
10+dependencies = [
11+ "memchr",
12+]
13+
14+[[package]]
15+name = "ansi_term"
16+version = "0.12.1"
17+source = "registry+https://github.com/rust-lang/crates.io-index"
18+checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
19+dependencies = [
20+ "winapi",
21+]
22+
23+[[package]]
24+name = "atty"
25+version = "0.2.14"
26+source = "registry+https://github.com/rust-lang/crates.io-index"
27+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
28+dependencies = [
29+ "hermit-abi",
30+ "libc",
31+ "winapi",
32+]
33+
34+[[package]]
35+name = "autocfg"
36+version = "1.0.1"
37+source = "registry+https://github.com/rust-lang/crates.io-index"
38+checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
39+
40+[[package]]
41+name = "bitflags"
42+version = "1.3.2"
43+source = "registry+https://github.com/rust-lang/crates.io-index"
44+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
45+
46+[[package]]
47+name = "clap"
48+version = "2.34.0"
49+source = "registry+https://github.com/rust-lang/crates.io-index"
50+checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
51+dependencies = [
52+ "ansi_term",
53+ "atty",
54+ "bitflags",
55+ "strsim",
56+ "textwrap",
57+ "unicode-width",
58+ "vec_map",
59+]
60+
61+[[package]]
62+name = "commenter"
63+version = "0.2.0"
64+dependencies = [
65+ "lazy-regex",
66+ "regex",
67+ "serde",
68+ "serde_yaml",
69+ "structopt",
70+]
71+
72+[[package]]
73+name = "hashbrown"
74+version = "0.11.2"
75+source = "registry+https://github.com/rust-lang/crates.io-index"
76+checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
77+
78+[[package]]
79+name = "heck"
80+version = "0.3.3"
81+source = "registry+https://github.com/rust-lang/crates.io-index"
82+checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
83+dependencies = [
84+ "unicode-segmentation",
85+]
86+
87+[[package]]
88+name = "hermit-abi"
89+version = "0.1.19"
90+source = "registry+https://github.com/rust-lang/crates.io-index"
91+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
92+dependencies = [
93+ "libc",
94+]
95+
96+[[package]]
97+name = "indexmap"
98+version = "1.8.0"
99+source = "registry+https://github.com/rust-lang/crates.io-index"
100+checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223"
101+dependencies = [
102+ "autocfg",
103+ "hashbrown",
104+]
105+
106+[[package]]
107+name = "lazy-regex"
108+version = "2.2.2"
109+source = "registry+https://github.com/rust-lang/crates.io-index"
110+checksum = "919a16773ebf2de27e95fc58460110932e55bb0780e23aa51fa5a6b59c9e2b3d"
111+dependencies = [
112+ "lazy-regex-proc_macros",
113+ "once_cell",
114+ "regex",
115+]
116+
117+[[package]]
118+name = "lazy-regex-proc_macros"
119+version = "2.2.2"
120+source = "registry+https://github.com/rust-lang/crates.io-index"
121+checksum = "5fbe6bf0a04af51c07976625d5007e75ed9b8b955befc21c77b3947733496e36"
122+dependencies = [
123+ "proc-macro2",
124+ "quote",
125+ "regex",
126+ "syn",
127+]
128+
129+[[package]]
130+name = "lazy_static"
131+version = "1.4.0"
132+source = "registry+https://github.com/rust-lang/crates.io-index"
133+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
134+
135+[[package]]
136+name = "libc"
137+version = "0.2.112"
138+source = "registry+https://github.com/rust-lang/crates.io-index"
139+checksum = "1b03d17f364a3a042d5e5d46b053bbbf82c92c9430c592dd4c064dc6ee997125"
140+
141+[[package]]
142+name = "linked-hash-map"
143+version = "0.5.4"
144+source = "registry+https://github.com/rust-lang/crates.io-index"
145+checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3"
146+
147+[[package]]
148+name = "memchr"
149+version = "2.4.1"
150+source = "registry+https://github.com/rust-lang/crates.io-index"
151+checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
152+
153+[[package]]
154+name = "once_cell"
155+version = "1.9.0"
156+source = "registry+https://github.com/rust-lang/crates.io-index"
157+checksum = "da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5"
158+
159+[[package]]
160+name = "proc-macro-error"
161+version = "1.0.4"
162+source = "registry+https://github.com/rust-lang/crates.io-index"
163+checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
164+dependencies = [
165+ "proc-macro-error-attr",
166+ "proc-macro2",
167+ "quote",
168+ "syn",
169+ "version_check",
170+]
171+
172+[[package]]
173+name = "proc-macro-error-attr"
174+version = "1.0.4"
175+source = "registry+https://github.com/rust-lang/crates.io-index"
176+checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
177+dependencies = [
178+ "proc-macro2",
179+ "quote",
180+ "version_check",
181+]
182+
183+[[package]]
184+name = "proc-macro2"
185+version = "1.0.36"
186+source = "registry+https://github.com/rust-lang/crates.io-index"
187+checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029"
188+dependencies = [
189+ "unicode-xid",
190+]
191+
192+[[package]]
193+name = "quote"
194+version = "1.0.14"
195+source = "registry+https://github.com/rust-lang/crates.io-index"
196+checksum = "47aa80447ce4daf1717500037052af176af5d38cc3e571d9ec1c7353fc10c87d"
197+dependencies = [
198+ "proc-macro2",
199+]
200+
201+[[package]]
202+name = "regex"
203+version = "1.5.4"
204+source = "registry+https://github.com/rust-lang/crates.io-index"
205+checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461"
206+dependencies = [
207+ "aho-corasick",
208+ "memchr",
209+ "regex-syntax",
210+]
211+
212+[[package]]
213+name = "regex-syntax"
214+version = "0.6.25"
215+source = "registry+https://github.com/rust-lang/crates.io-index"
216+checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
217+
218+[[package]]
219+name = "ryu"
220+version = "1.0.9"
221+source = "registry+https://github.com/rust-lang/crates.io-index"
222+checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f"
223+
224+[[package]]
225+name = "serde"
226+version = "1.0.133"
227+source = "registry+https://github.com/rust-lang/crates.io-index"
228+checksum = "97565067517b60e2d1ea8b268e59ce036de907ac523ad83a0475da04e818989a"
229+dependencies = [
230+ "serde_derive",
231+]
232+
233+[[package]]
234+name = "serde_derive"
235+version = "1.0.133"
236+source = "registry+https://github.com/rust-lang/crates.io-index"
237+checksum = "ed201699328568d8d08208fdd080e3ff594e6c422e438b6705905da01005d537"
238+dependencies = [
239+ "proc-macro2",
240+ "quote",
241+ "syn",
242+]
243+
244+[[package]]
245+name = "serde_yaml"
246+version = "0.8.23"
247+source = "registry+https://github.com/rust-lang/crates.io-index"
248+checksum = "a4a521f2940385c165a24ee286aa8599633d162077a54bdcae2a6fd5a7bfa7a0"
249+dependencies = [
250+ "indexmap",
251+ "ryu",
252+ "serde",
253+ "yaml-rust",
254+]
255+
256+[[package]]
257+name = "strsim"
258+version = "0.8.0"
259+source = "registry+https://github.com/rust-lang/crates.io-index"
260+checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
261+
262+[[package]]
263+name = "structopt"
264+version = "0.3.25"
265+source = "registry+https://github.com/rust-lang/crates.io-index"
266+checksum = "40b9788f4202aa75c240ecc9c15c65185e6a39ccdeb0fd5d008b98825464c87c"
267+dependencies = [
268+ "clap",
269+ "lazy_static",
270+ "structopt-derive",
271+]
272+
273+[[package]]
274+name = "structopt-derive"
275+version = "0.4.18"
276+source = "registry+https://github.com/rust-lang/crates.io-index"
277+checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0"
278+dependencies = [
279+ "heck",
280+ "proc-macro-error",
281+ "proc-macro2",
282+ "quote",
283+ "syn",
284+]
285+
286+[[package]]
287+name = "syn"
288+version = "1.0.85"
289+source = "registry+https://github.com/rust-lang/crates.io-index"
290+checksum = "a684ac3dcd8913827e18cd09a68384ee66c1de24157e3c556c9ab16d85695fb7"
291+dependencies = [
292+ "proc-macro2",
293+ "quote",
294+ "unicode-xid",
295+]
296+
297+[[package]]
298+name = "textwrap"
299+version = "0.11.0"
300+source = "registry+https://github.com/rust-lang/crates.io-index"
301+checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
302+dependencies = [
303+ "unicode-width",
304+]
305+
306+[[package]]
307+name = "unicode-segmentation"
308+version = "1.8.0"
309+source = "registry+https://github.com/rust-lang/crates.io-index"
310+checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b"
311+
312+[[package]]
313+name = "unicode-width"
314+version = "0.1.9"
315+source = "registry+https://github.com/rust-lang/crates.io-index"
316+checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
317+
318+[[package]]
319+name = "unicode-xid"
320+version = "0.2.2"
321+source = "registry+https://github.com/rust-lang/crates.io-index"
322+checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
323+
324+[[package]]
325+name = "vec_map"
326+version = "0.8.2"
327+source = "registry+https://github.com/rust-lang/crates.io-index"
328+checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
329+
330+[[package]]
331+name = "version_check"
332+version = "0.9.4"
333+source = "registry+https://github.com/rust-lang/crates.io-index"
334+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
335+
336+[[package]]
337+name = "winapi"
338+version = "0.3.9"
339+source = "registry+https://github.com/rust-lang/crates.io-index"
340+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
341+dependencies = [
342+ "winapi-i686-pc-windows-gnu",
343+ "winapi-x86_64-pc-windows-gnu",
344+]
345+
346+[[package]]
347+name = "winapi-i686-pc-windows-gnu"
348+version = "0.4.0"
349+source = "registry+https://github.com/rust-lang/crates.io-index"
350+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
351+
352+[[package]]
353+name = "winapi-x86_64-pc-windows-gnu"
354+version = "0.4.0"
355+source = "registry+https://github.com/rust-lang/crates.io-index"
356+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
357+
358+[[package]]
359+name = "yaml-rust"
360+version = "0.4.5"
361+source = "registry+https://github.com/rust-lang/crates.io-index"
362+checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85"
363+dependencies = [
364+ "linked-hash-map",
365+]
etc/commenter/Cargo.tomlnew file+14
@@ -0,0 +1,14 @@
1+[package]
2+name = "commenter"
3+version = "0.2.0"
4+authors = ["Adam Bergmark <adam@bergmark.nl>"]
5+edition = "2018"
6+
7+# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
8+
9+[dependencies]
10+lazy-regex = "2.2.1"
11+regex = "1.5.4"
12+serde = { version = "1.0.133", features = ["derive"] }
13+serde_yaml = "0.8.23"
14+structopt = "0.3.25"
etc/commenter/README.mdnew file+3
@@ -0,0 +1,3 @@
1+Helps automate mass-disabling of packages in Stackage's build-constraint.yaml.
2+
3+See CURATORS.md for usage instructions.
etc/commenter/commenternew file+2
@@ -0,0 +1,2 @@
1+#!/bin/bash
2+cargo run -- $@
etc/commenter/latest-version/LICENSEnew file+30
@@ -0,0 +1,30 @@
1+Copyright Adam Bergmark (c) 2021
2+
3+All rights reserved.
4+
5+Redistribution and use in source and binary forms, with or without
6+modification, are permitted provided that the following conditions are met:
7+
8+ * Redistributions of source code must retain the above copyright
9+ notice, this list of conditions and the following disclaimer.
10+
11+ * Redistributions in binary form must reproduce the above
12+ copyright notice, this list of conditions and the following
13+ disclaimer in the documentation and/or other materials provided
14+ with the distribution.
15+
16+ * Neither the name of Author name here nor the names of other
17+ contributors may be used to endorse or promote products derived
18+ from this software without specific prior written permission.
19+
20+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
etc/commenter/latest-version/README.mdnew file+1
@@ -0,0 +1 @@
1+# latest-version
stackage/Setup.hs → etc/commenter/latest-version/Setup.hsrenamed

The content is the same.

etc/commenter/latest-version/cabal.projectnew file+6
@@ -0,0 +1,6 @@
1+source-repository-package
2+ type: git
3+ location: git://github.com/commercialhaskell/pantry.git
4+
5+packages: ./latest-version.cabal
6+with-compiler: ghc-8.10.7
etc/commenter/latest-version/latest-version.cabalnew file+23
@@ -0,0 +1,23 @@
1+name: latest-version
2+version: 0.1.0.0
3+homepage: https://github.com/githubuser/latest-version#readme
4+license: BSD3
5+license-file: LICENSE
6+author: Adam Bergmark
7+maintainer: adam@bergmark.nl
8+copyright: 2021 Adam Bergmark
9+category: Web
10+build-type: Simple
11+cabal-version: >=1.10
12+extra-source-files: README.md
13+
14+executable latest-version
15+ ghc-options: -Wall -threaded
16+ hs-source-dirs: src
17+ main-is: Main.hs
18+ default-language: Haskell2010
19+ build-depends: base >= 4.7 && < 5
20+ , pantry
21+ , Cabal
22+ , rio
23+ , containers
etc/commenter/latest-version/src/Main.hsnew file+28
@@ -0,0 +1,28 @@
1+module Main where
2+
3+import Data.List
4+import Distribution.Types.PackageName
5+import Distribution.Types.Version
6+import Pantry
7+import RIO
8+import System.Environment
9+import qualified Data.Map as Map
10+
11+main :: IO ()
12+main = do
13+ args <- getArgs
14+ (onlyVersion, packages) <- pure $ case args of
15+ "only-version" : packages -> (True, packages)
16+ packages -> (False, packages)
17+ runPantryApp $ liftIO . putStrLn . unlines_ =<< mapM (latestVersion onlyVersion) packages
18+ where
19+ -- unlines adds an extra trailing newline which can be annoying...
20+ unlines_ = intercalate "\n"
21+
22+latestVersion :: (HasPantryConfig env, HasLogFunc env) => Bool -> String -> RIO env String
23+latestVersion onlyVersion name = fmap (displayVersion onlyVersion) . getVersion . mkPackageName $ name
24+ where
25+ showVersion = intercalate "." . map show . versionNumbers . fst . head . Map.toDescList
26+ getVersion = getHackagePackageVersions YesRequireHackageIndex UsePreferredVersions
27+ displayVersion True v = showVersion v
28+ displayVersion False v = name <> "-" <> showVersion v
etc/commenter/latest-version/stack.yamlnew file+4
@@ -0,0 +1,4 @@
1+resolver:
2+ url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/18/18.yaml
3+packages:
4+- .
etc/commenter/latest-version/stack.yaml.locknew file+13
@@ -0,0 +1,13 @@
1+# This file was autogenerated by Stack.
2+# You should not edit this file by hand.
3+# For more information, please see the documentation at:
4+# https://docs.haskellstack.org/en/stable/lock_files
5+
6+packages: []
7+snapshots:
8+- completed:
9+ size: 586296
10+ url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/18/18.yaml
11+ sha256: 63539429076b7ebbab6daa7656cfb079393bf644971156dc349d7c0453694ac2
12+ original:
13+ url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/18/18.yaml
etc/commenter/src/lib.rsnew file+574
@@ -0,0 +1,574 @@
1+use std::collections::{BTreeMap, BTreeSet};
2+use std::error::Error;
3+use std::fmt;
4+use std::fs::File;
5+use std::io::{BufRead, BufReader, LineWriter, Lines, Write};
6+use std::path::Path;
7+use std::process::Command;
8+
9+use lazy_regex::regex;
10+use serde::{Deserialize, Deserializer};
11+
12+pub fn clear() {
13+ handle(true, |loc, _lines| match loc {
14+ // Add empty array to keep yaml valid
15+ Location::Lib => vec![" []".to_owned()],
16+ Location::Test | Location::Bench => vec![],
17+ });
18+}
19+
20+pub fn add(lib: Vec<String>, test: Vec<String>, bench: Vec<String>) {
21+ handle(true, |loc, mut lines| {
22+ lines.extend(match loc {
23+ Location::Lib => lib.clone(),
24+ Location::Test => test.clone(),
25+ Location::Bench => bench.clone(),
26+ });
27+ lines.sort();
28+ lines
29+ });
30+}
31+
32+enum VersionTag {
33+ Manual(Version),
34+ Auto(Version),
35+}
36+
37+impl VersionTag {
38+ fn tag(&self) -> &'static str {
39+ match self {
40+ VersionTag::Manual(_) => "manual",
41+ VersionTag::Auto(_) => "auto",
42+ }
43+ }
44+
45+ fn version(&self) -> &Version {
46+ match self {
47+ VersionTag::Manual(s) => s,
48+ VersionTag::Auto(s) => s,
49+ }
50+ }
51+}
52+
53+pub fn outdated() {
54+ let mut all: Vec<String> = vec![];
55+ let (versioned, disabled) = handle(false, |_loc, lines| {
56+ all.extend(lines);
57+ vec![]
58+ });
59+
60+ for DisabledPackage { package } in disabled {
61+ println!("WARN: {package} is disabled without a noted version");
62+ }
63+
64+ let mut map: BTreeMap<Package, VersionTag> = BTreeMap::new();
65+ for VersionedPackage { package, version } in versioned {
66+ map.insert(package, VersionTag::Manual(version));
67+ }
68+ let mut support: BTreeMap<(Package, Version), BTreeSet<(Package, Version)>> = BTreeMap::new();
69+ for v in all.into_iter() {
70+ let caps = regex!("tried ([^ ]+)-([^,-]+),").captures(&v).unwrap();
71+ let package = Package(caps.get(1).unwrap().as_str().to_owned());
72+ let version = Version(caps.get(2).unwrap().as_str().to_owned());
73+ map.insert(package.clone(), VersionTag::Auto(version.clone()));
74+
75+ if let Some(caps) = regex!("does not support: ([^ ]+)-([^-]+)").captures(&v) {
76+ let dep_package = Package(caps.get(1).unwrap().as_str().to_owned());
77+ let dep_version = Version(caps.get(2).unwrap().as_str().to_owned());
78+ let entry = support.entry((dep_package, dep_version)).or_default();
79+ entry.insert((package, version));
80+ }
81+ }
82+
83+ let latest_versions = {
84+ let mut packages: Vec<Package> = map.iter().map(|(package, _)| package.clone()).collect();
85+ packages.append(
86+ &mut support
87+ .iter()
88+ .map(|((package, _), _)| package.clone())
89+ .collect(),
90+ );
91+ latest_version(packages.into_iter())
92+ };
93+
94+ for (package, version) in map {
95+ if is_boot(&package) {
96+ continue;
97+ }
98+ let latest = latest_versions.get(&package).unwrap();
99+ if version.version() != latest {
100+ println!(
101+ "{package} mismatch, {tag}: {version}, hackage: {latest}",
102+ tag = version.tag(),
103+ version = version.version(),
104+ );
105+ }
106+ }
107+
108+ for ((package, version), dependents) in support {
109+ if is_boot(&package) {
110+ continue;
111+ }
112+
113+ let latest = latest_versions.get(&package).unwrap();
114+ if &version != latest {
115+ let max = 3;
116+ let dependents_stripped = dependents.len().saturating_sub(max);
117+ let dependents = dependents
118+ .into_iter()
119+ .take(max)
120+ .map(|(p, v)| format!("{p}-{v}"))
121+ .collect::<Vec<String>>()
122+ .join(", ");
123+ let dependents = if dependents_stripped > 0 {
124+ format!("{dependents} and {dependents_stripped} more")
125+ } else {
126+ dependents
127+ };
128+
129+ println!(
130+ "{package} mismatch, snapshot: {version}, hackage: {latest}, dependents: {dependents}"
131+ );
132+ }
133+ }
134+}
135+
136+fn is_boot(package: &Package) -> bool {
137+ [
138+ "Cabal",
139+ "base",
140+ "bytestring",
141+ "containers",
142+ "containers",
143+ "directory",
144+ "filepath",
145+ "deepseq",
146+ "ghc",
147+ "ghc-bignum",
148+ "ghc-boot",
149+ "ghc-boot-th",
150+ "ghc-prim",
151+ "ghc-lib-parser", // not a boot lib, but tied to the GHC version.
152+ "integer-gmp",
153+ "process",
154+ "stm",
155+ "template-haskell",
156+ "text",
157+ "time",
158+ ]
159+ .contains(&&*package.0)
160+}
161+
162+fn latest_version(packages: impl Iterator<Item = Package>) -> BTreeMap<Package, Version> {
163+ String::from_utf8(
164+ Command::new("latest-version")
165+ .args(packages.map(|p| p.0))
166+ .output()
167+ .expect("Could not find latest-version in PATH")
168+ .stdout,
169+ )
170+ .unwrap()
171+ .trim()
172+ .to_owned()
173+ .lines()
174+ .map(|s| {
175+ let VersionedPackage { package, version } = parse_versioned_package_canonical(s).unwrap();
176+ (package, version)
177+ })
178+ .collect()
179+}
180+
181+enum State {
182+ LookingForLibBounds,
183+ ProcessingLibBounds,
184+ LookingForTestBounds,
185+ ProcessingTestBounds,
186+ LookingForBenchBounds,
187+ ProcessingBenchBounds,
188+ Done,
189+}
190+
191+#[derive(PartialEq, Eq, Debug)]
192+struct VersionedPackage {
193+ package: Package,
194+ version: Version,
195+}
196+
197+fn parse_versioned_package_canonical(s: &str) -> Option<VersionedPackage> {
198+ if let Some(caps) = regex!(r#"^(.+)-([\d.]+)$"#).captures(s) {
199+ let package = Package(caps.get(1).unwrap().as_str().to_owned());
200+ let version = Version(caps.get(2).unwrap().as_str().to_owned());
201+ Some(VersionedPackage { package, version })
202+ } else {
203+ None
204+ }
205+}
206+
207+fn parse_versioned_package_yaml(s: &str) -> Option<VersionedPackage> {
208+ if let Some(caps) = regex!(r#"- *([^ ]+) < *0 *# *([\d.]+)"#).captures(s) {
209+ let package = Package(caps.get(1).unwrap().as_str().to_owned());
210+ let version = Version(caps.get(2).unwrap().as_str().to_owned());
211+ Some(VersionedPackage { package, version })
212+ } else if let Some(caps) = regex!(r#"- *([^ ]+) *# *([\d.]+)"#).captures(s) {
213+ let package = Package(caps.get(1).unwrap().as_str().to_owned());
214+ let version = Version(caps.get(2).unwrap().as_str().to_owned());
215+ Some(VersionedPackage { package, version })
216+ } else {
217+ None
218+ }
219+}
220+
221+struct DisabledPackage {
222+ package: String,
223+}
224+
225+fn parse_disabled_package(s: &str) -> Option<DisabledPackage> {
226+ if !regex!(r#"- *([^ ]+) < *0 *# tried"#).is_match(s) {
227+ if let Some(caps) = regex!(r#"- *([^ ]+) < *0 *# *[^\d]"#).captures(s) {
228+ let package = caps.get(1).unwrap().as_str().to_owned();
229+ Some(DisabledPackage { package })
230+ } else {
231+ None
232+ }
233+ } else {
234+ None
235+ }
236+}
237+
238+fn handle<F>(write: bool, mut f: F) -> (Vec<VersionedPackage>, Vec<DisabledPackage>)
239+where
240+ F: FnMut(Location, Vec<String>) -> Vec<String>,
241+{
242+ let path = "build-constraints.yaml";
243+ let mut new_lines: Vec<String> = vec![];
244+ let mut versioned_packages: Vec<VersionedPackage> = vec![];
245+ let mut disabled_packages: Vec<DisabledPackage> = vec![];
246+
247+ let mut state = State::LookingForLibBounds;
248+ let mut buf = vec![];
249+ for line in read_lines(path).map(|s| s.unwrap()) {
250+ if let Some(versioned_package) = parse_versioned_package_yaml(&line) {
251+ versioned_packages.push(versioned_package);
252+ } else if let Some(disabled_package) = parse_disabled_package(&line) {
253+ disabled_packages.push(disabled_package);
254+ }
255+
256+ match state {
257+ State::LookingForLibBounds => {
258+ if line == r#" "Library and exe bounds failures":"# {
259+ state = State::ProcessingLibBounds;
260+ }
261+ new_lines.push(line);
262+ }
263+ State::ProcessingLibBounds => {
264+ if line == r#" # End of Library and exe bounds failures"# {
265+ new_lines.extend(f(Location::Lib, buf).into_iter());
266+ buf = vec![];
267+ new_lines.push(line);
268+ state = State::LookingForTestBounds;
269+ } else {
270+ // Remove empty section
271+ if line != " []" {
272+ buf.push(line);
273+ }
274+ }
275+ }
276+ State::LookingForTestBounds => {
277+ if line == r#" # Test bounds issues"# {
278+ state = State::ProcessingTestBounds;
279+ }
280+ new_lines.push(line);
281+ }
282+ State::ProcessingTestBounds => {
283+ if line == r#" # End of Test bounds issues"# {
284+ new_lines.extend(f(Location::Test, buf).into_iter());
285+ buf = vec![];
286+ new_lines.push(line);
287+ state = State::LookingForBenchBounds;
288+ } else {
289+ buf.push(line);
290+ }
291+ }
292+ State::LookingForBenchBounds => {
293+ if line == r#" # Benchmark bounds issues"# {
294+ state = State::ProcessingBenchBounds;
295+ }
296+ new_lines.push(line);
297+ }
298+ State::ProcessingBenchBounds => {
299+ if line == r#" # End of Benchmark bounds issues"# {
300+ new_lines.extend(f(Location::Bench, buf).into_iter());
301+ buf = vec![];
302+ new_lines.push(line);
303+ state = State::Done;
304+ } else {
305+ buf.push(line);
306+ }
307+ }
308+ State::Done => {
309+ new_lines.push(line);
310+ }
311+ }
312+ }
313+
314+ if write {
315+ let file = File::create(path).unwrap();
316+ let mut file = LineWriter::new(file);
317+
318+ for line in new_lines {
319+ file.write_all((line + "\n").as_bytes()).unwrap();
320+ }
321+ file.flush().unwrap();
322+ }
323+
324+ (versioned_packages, disabled_packages)
325+}
326+
327+enum Location {
328+ Lib,
329+ Test,
330+ Bench,
331+}
332+
333+fn read_lines<P>(filename: P) -> Lines<BufReader<File>>
334+where
335+ P: AsRef<Path>,
336+{
337+ let file = File::open(filename).unwrap();
338+ BufReader::new(file).lines()
339+}
340+
341+#[derive(Deserialize)]
342+struct SnapshotYaml {
343+ // flags: BTreeMap<Package, BTreeMap<PackageFlag, bool>>,
344+ // publish_time
345+ packages: Vec<SnapshotPackage>,
346+ // hidden
347+ // resolver
348+}
349+
350+#[derive(Deserialize)]
351+struct SnapshotPackage {
352+ hackage: PackageWithVersionAndSha,
353+ // pantry-tree
354+}
355+
356+#[derive(PartialOrd, Ord, PartialEq, Eq, Clone, Debug)]
357+struct Package(String);
358+
359+impl fmt::Display for Package {
360+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
361+ self.0.fmt(f)
362+ }
363+}
364+
365+#[derive(Clone, PartialOrd, Ord, PartialEq, Eq, Debug)]
366+struct Version(String);
367+
368+impl fmt::Display for Version {
369+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
370+ self.0.fmt(f)
371+ }
372+}
373+
374+// zstd-0.1.3.0@sha256:4c0a372251068eb6086b8c3a0a9f347488f08b570a7705844ffeb2c720c97223,3723
375+struct PackageWithVersionAndSha {
376+ name: Package,
377+ version: Version,
378+}
379+
380+impl<'de> serde::Deserialize<'de> for PackageWithVersionAndSha {
381+ fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
382+ where
383+ D: Deserializer<'de>,
384+ {
385+ let s: String = String::deserialize(deserializer)?;
386+ let r = regex!(r#"^(.+?)-([.\d]+)@sha256:[\da-z]+,\d+$"#);
387+ if let Some(caps) = r.captures(&s) {
388+ let name = Package(caps.get(1).unwrap().as_str().to_owned());
389+ let version = Version(caps.get(2).unwrap().as_str().to_owned());
390+ Ok(Self { name, version })
391+ } else {
392+ Err(serde::de::Error::invalid_value(
393+ serde::de::Unexpected::Other(&s),
394+ &"Invalid PackageVersionWithSha",
395+ ))
396+ }
397+ }
398+}
399+
400+fn yaml_from_file<A, P: AsRef<Path>>(path: P) -> Result<A, Box<dyn Error>>
401+where
402+ A: for<'de> Deserialize<'de>,
403+{
404+ let file = File::open(path)?;
405+ let reader = BufReader::new(file);
406+ let u = serde_yaml::from_reader(reader)?;
407+ Ok(u)
408+}
409+
410+struct Snapshot {
411+ packages: BTreeMap<Package, Diff<Version>>,
412+}
413+
414+#[derive(Clone, Copy)]
415+enum Diff<A> {
416+ Left(A),
417+ Right(A),
418+ Both(A, A),
419+}
420+
421+fn to_diff(a: SnapshotYaml, b: SnapshotYaml) -> Snapshot {
422+ let mut packages = BTreeMap::new();
423+ for s in a.packages {
424+ let package = s.hackage;
425+ packages.insert(package.name, Diff::Left(package.version));
426+ }
427+ for s in b.packages {
428+ let package = s.hackage;
429+ let name = package.name;
430+ let version = package.version;
431+ if let Some(a) = packages.remove(&name) {
432+ match a {
433+ Diff::Left(a) => {
434+ if a == version {
435+ packages.remove(&name);
436+ } else {
437+ packages.insert(name, Diff::Both(a, version));
438+ }
439+ }
440+ _ => unreachable!(),
441+ }
442+ } else {
443+ packages.insert(name, Diff::Right(version));
444+ }
445+ }
446+
447+ Snapshot { packages }
448+}
449+
450+pub fn diff_snapshot(a: String, b: String) {
451+ let diff = to_diff(yaml_from_file(a).unwrap(), yaml_from_file(b).unwrap());
452+ for (name, diff) in diff.packages {
453+ let s = match diff {
454+ Diff::Left(a) => format!("- {name}-{a}"),
455+ Diff::Right(b) => format!("+ {name}-{b}"),
456+ Diff::Both(a, b) => format!("~ {name}-{a} -> {b}"),
457+ };
458+ println!("{s}");
459+ }
460+}
461+
462+#[derive(PartialEq, Eq, Debug)]
463+struct DisabledTransitively {
464+ child: VersionedPackage,
465+ parent: Package,
466+}
467+
468+fn parse_disabled_transitviely(s: &str) -> Option<DisabledTransitively> {
469+ let r = regex!(
470+ r#"- *([^ ]+) < *0 *# tried [^ ]+-([\d.]+), but its \*[^*]+\* requires the disabled package: ([^ ]+)"#
471+ );
472+ if let Some(caps) = r.captures(s) {
473+ let package = Package(caps.get(1).unwrap().as_str().to_owned());
474+ let version = Version(caps.get(2).unwrap().as_str().to_owned());
475+ let parent = Package(caps.get(3).unwrap().as_str().to_owned());
476+ Some(DisabledTransitively {
477+ child: VersionedPackage { package, version },
478+ parent,
479+ })
480+ } else {
481+ None
482+ }
483+}
484+
485+#[test]
486+fn test_parse_disabled_transitviely() {
487+ let s = "- Network-NineP < 0 # tried Network-NineP-0.4.7.1, but its *library* requires the disabled package: mstate";
488+ assert_eq!(
489+ parse_disabled_transitviely(s),
490+ Some(DisabledTransitively {
491+ child: VersionedPackage {
492+ package: Package("Network-NineP".to_owned()),
493+ version: Version("0.4.7.1".to_owned())
494+ },
495+ parent: Package("mstate".to_owned()),
496+ })
497+ )
498+}
499+
500+type M = BTreeMap<Package, (Vec<VersionedPackage>, Option<usize>)>;
501+
502+pub fn disabled() {
503+ let mut disabled_transitively: Vec<DisabledTransitively> = vec![];
504+ handle(false, |loc, lines| {
505+ match loc {
506+ Location::Lib => disabled_transitively.extend(
507+ lines
508+ .into_iter()
509+ .map(|line| parse_disabled_transitviely(&line))
510+ .flatten()
511+ .collect::<Vec<_>>(),
512+ ),
513+ Location::Test | Location::Bench => (),
514+ }
515+ vec![]
516+ });
517+
518+ let mut packages: BTreeSet<Package> = BTreeSet::new();
519+ let mut disabled: M = BTreeMap::new();
520+
521+ for DisabledTransitively { child, parent } in disabled_transitively {
522+ packages.insert(child.package.clone());
523+ packages.insert(parent.clone());
524+ disabled
525+ .entry(child.package.clone())
526+ .or_insert_with(|| (vec![], None));
527+ let t = disabled.entry(parent).or_insert_with(|| (vec![], None));
528+ t.0.push(child);
529+ }
530+
531+ let mut packages_len = packages.len();
532+ while packages_len > 0 {
533+ let mut new_packages: BTreeSet<Package> = BTreeSet::new();
534+ for package in packages {
535+ let (_, count) = disabled.get(&package).unwrap();
536+ if count.is_none() && !process(&package, &mut disabled) {
537+ new_packages.insert(package.clone());
538+ }
539+ }
540+ packages = new_packages;
541+ packages_len = packages.len();
542+ }
543+
544+ let mut v: Vec<_> = disabled
545+ .into_iter()
546+ .map(|(package, (_, count))| (count, package))
547+ .collect();
548+ v.sort();
549+ for (count, package) in v {
550+ let count = count.unwrap();
551+ if count != 0 {
552+ println!("{package} is disabled with {count} dependents");
553+ }
554+ }
555+}
556+
557+fn process(package: &Package, m: &mut M) -> bool {
558+ let (children, count) = m.get(package).unwrap();
559+ assert!(count.is_none(), "{:?}", package);
560+ let mut count = 0;
561+ for child in children {
562+ let (_, child_count) = m
563+ .get(&child.package)
564+ .unwrap_or_else(|| panic!("{}", child.package));
565+ match child_count {
566+ None => return false,
567+ Some(i) => count += 1 + i,
568+ }
569+ }
570+ m.entry(package.clone())
571+ .and_modify(|tup| tup.1 = Some(count))
572+ .or_insert_with(|| panic!("{}", package));
573+ true
574+}
etc/commenter/src/main.rsnew file+171
@@ -0,0 +1,171 @@
1+use std::collections::HashMap;
2+use std::io::{self, BufRead};
3+
4+use lazy_regex::regex;
5+use regex::Regex;
6+use structopt::StructOpt;
7+
8+type H = HashMap<Header, Vec<(String, String, String)>>;
9+
10+#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11+enum Header {
12+ Versioned { package: String, version: String },
13+ Missing { package: String },
14+}
15+
16+#[derive(Debug, StructOpt)]
17+#[structopt(
18+ name = "commenter",
19+ about = "Automates generation of bounds in build-constraints.yaml"
20+)]
21+enum Opt {
22+ Add,
23+ Clear,
24+ DiffSnapshot { a: String, b: String },
25+ Disabled,
26+ Outdated,
27+}
28+
29+fn main() {
30+ let opt = Opt::from_args();
31+ match opt {
32+ Opt::Add => add(),
33+ Opt::Clear => commenter::clear(),
34+ Opt::DiffSnapshot { a, b } => commenter::diff_snapshot(a, b),
35+ Opt::Disabled => commenter::disabled(),
36+ Opt::Outdated => commenter::outdated(),
37+ }
38+}
39+
40+fn add() {
41+ let mut lib_exes: H = Default::default();
42+ let mut tests: H = Default::default();
43+ let mut benches: H = Default::default();
44+ let mut last_header: Option<Header> = None;
45+
46+ let header_versioned = regex!(
47+ r#"^(?P<package>[a-zA-z]([a-zA-z0-9.-]*?))-(?P<version>(\d+(\.\d+)*)).+?is out of bounds for:$"#
48+ );
49+ let header_missing = regex!(r#"^(?P<package>[a-zA-z]([a-zA-z0-9.-]*)).+?depended on by:$"#);
50+ let package = regex!(
51+ r#"^- \[ \] (?P<package>[a-zA-z]([a-zA-z0-9.-]*?))-(?P<version>(\d+(\.\d+)*)).+?Used by: (?P<component>.+)$"#
52+ );
53+
54+ // Ignore everything until the bounds issues show up.
55+ let mut process_line = false;
56+
57+ for line in io::stdin().lock().lines().flatten() {
58+ if is_reg_match(&line, regex!(r#"^\s*$"#)) {
59+ // noop
60+ } else if line == "curator: Snapshot dependency graph contains errors:" {
61+ process_line = true;
62+ } else if !process_line {
63+ println!("[INFO] {line}");
64+ } else if let Some(cap) = package.captures(&line) {
65+ let root = last_header.clone().unwrap();
66+ let package = cap.name("package").unwrap().as_str();
67+ let version = cap.name("version").unwrap().as_str();
68+ let component = cap.name("component").unwrap().as_str();
69+ match component {
70+ "library" | "executable" => {
71+ insert(&mut lib_exes, root, package, version, component)
72+ }
73+ "benchmark" => insert(&mut benches, root, package, version, "benchmarks"),
74+ "test-suite" => insert(&mut tests, root, package, version, component),
75+ _ => panic!("Bad component: {}", component),
76+ }
77+ } else if let Some(cap) = header_versioned.captures(&line) {
78+ let package = cap.name("package").unwrap().as_str().to_owned();
79+ let version = cap.name("version").unwrap().as_str().to_owned();
80+ last_header = Some(Header::Versioned { package, version });
81+ } else if let Some(cap) = header_missing.captures(&line) {
82+ let package = cap.name("package").unwrap().as_str().to_owned();
83+ last_header = Some(Header::Missing { package });
84+ } else {
85+ panic!("Unhandled: {:?}", line);
86+ }
87+ }
88+
89+ let mut auto_lib_exes = vec![];
90+ let mut auto_tests = vec![];
91+ let mut auto_benches = vec![];
92+
93+ if !lib_exes.is_empty() {
94+ println!("\nLIBS + EXES\n");
95+ }
96+ for (header, packages) in lib_exes {
97+ for (package, version, component) in packages {
98+ let s = printer(" ", &package, true, &version, &component, &header);
99+ println!("{s}");
100+ auto_lib_exes.push(s);
101+ }
102+ }
103+
104+ if !tests.is_empty() {
105+ println!("\nTESTS\n");
106+ }
107+ for (header, packages) in tests {
108+ for (package, version, component) in packages {
109+ let s = printer(" ", &package, false, &version, &component, &header);
110+ println!("{s}");
111+ auto_tests.push(s);
112+ }
113+ }
114+
115+ if !benches.is_empty() {
116+ println!("\nBENCHMARKS\n");
117+ }
118+ for (header, packages) in benches {
119+ for (package, version, component) in packages {
120+ let s = printer(" ", &package, false, &version, &component, &header);
121+ println!("{s}");
122+ auto_benches.push(s);
123+ }
124+ }
125+
126+ println!();
127+ println!(
128+ "Adding {lib_exes} libs, {tests} tests, {benches} benches to build-constraints.yaml",
129+ lib_exes = auto_lib_exes.len(),
130+ tests = auto_tests.len(),
131+ benches = auto_benches.len()
132+ );
133+ commenter::add(auto_lib_exes, auto_tests, auto_benches);
134+}
135+
136+fn printer(
137+ indent: &str,
138+ package: &str,
139+ lt0: bool,
140+ version: &str,
141+ component: &str,
142+ header: &Header,
143+) -> String {
144+ let lt0 = if lt0 { " < 0" } else { "" };
145+ format!(
146+ "{indent}- {package}{lt0} # tried {package}-{version}, but its *{component}* {cause}",
147+ cause = match header {
148+ Header::Versioned { package, version } => format!(
149+ "does not support: {package}-{version}",
150+ package = package,
151+ version = version
152+ ),
153+ Header::Missing { package } => format!(
154+ "requires the disabled package: {package}",
155+ package = package
156+ ),
157+ },
158+ )
159+}
160+
161+fn insert(h: &mut H, header: Header, package: &str, version: &str, component: &str) {
162+ (*h.entry(header).or_insert_with(Vec::new)).push((
163+ package.to_owned(),
164+ version.to_owned(),
165+ component.to_owned(),
166+ ));
167+}
168+
169+fn is_reg_match(s: &str, r: &Regex) -> bool {
170+ r.captures(s).is_some()
171+}
etc/curator-exes/.gitignorenew file+1
@@ -0,0 +1 @@
1+/bin/
etc/curator-exes/Dockerfilenew file+13
@@ -0,0 +1,13 @@
1+FROM fpco/stack-build:lts-14
2+
3+# Prime the snapshot so rebuilds are faster
4+RUN mkdir -p /artifacts
5+RUN stack update
6+RUN stack build --no-install-ghc --resolver lts-13.28 --only-dependencies stack amazonka-s3
7+
8+RUN git clone --depth 1 https://github.com/commercialhaskell/stack && \
9+ git clone --depth 1 https://github.com/commercialhaskell/curator
10+
11+COPY stack.yaml .
12+
13+RUN stack --no-install-ghc install --local-bin-path /artifacts
etc/curator-exes/README.mdnew file+5
@@ -0,0 +1,5 @@
1+Scripts to create and upload the curator-exes.tar.bz2 files. Make sure to
2+update the hash in automated/build-next.sh.
3+
4+NOTE: Depending on what's exactly on the master branches when running the
5+`./run.sh` script, the `stack.yaml` file may need some tweaks.
etc/curator-exes/run.shnew file+11
@@ -0,0 +1,11 @@
1+#!/usr/bin/env bash
2+
3+set -eux
4+
5+rm -rf bin
6+mkdir -p bin
7+
8+docker build . --tag curator-exes
9+
10+docker run --rm -v $(pwd)/bin:/output curator-exes cp /artifacts/* output
11+aws s3 cp curators-exes/* s3://download.fpcomplete.com/curator-exes/
etc/curator-exes/stack.yamlnew file+22
@@ -0,0 +1,22 @@
1+resolver: lts-13.28
2+
3+packages:
4+- stack
5+- curator
6+
7+extra-deps:
8+- hi-file-parser-0.1.0.0@sha256:3fc95852035c8e0fa6d5f9d22e5108067c8f4816ac84675bddc971b20144a9ae,2317
9+- http-download-0.1.0.0@sha256:b02d76d28364b74fb90d3ec3c46fd81f9d77bcf71fa40c1d341a7251a0fc40e8,2023
10+- pantry-0.1.1.2@sha256:6f06556f8e934afd517559d6f3dae947db91ef3801ee4e5cee9916c83a0c4d52,4628
11+- rio-prettyprint-0.1.0.0@sha256:764e1a357275c3c62d57c494d038feae01cf745788e7d0e97367ba793c9670c3,1359
12+- ansi-terminal-0.9.1@sha256:48f53532d0f365ffa568c8cf0adc84c66f800a7d80d3329e4f04fa75392f4af1,3225
13+- rio-0.1.12.0@sha256:a0b42682a455ffde6a4d894b135117e379aea7ed1810c2cfed471b8f5879968c,3633
14+- unliftio-0.2.12@sha256:b089fbc2ff2628a963c2c4b12143f2020874e3e5144ffd6c62b25639a0ca1483,3325
15+
16+- github: fpco/casa
17+ commit: a0cd05c1a9ce33acbb1bdfb9324370f884916e88
18+ # sha256: 812e05de8f9abdbd1101fc94895dcfd5c35962c4d67a43cc20cbc06eb59ea1f0
19+ # size: 9508
20+ subdirs:
21+ - casa-client
22+ - casa-types
etc/diskspace/clean-old-stack-libs.shnew file+13
@@ -0,0 +1,13 @@
1+#!/bin/bash
2+
3+set -e
4+
5+if [ $# != 1 ]; then
6+ echo "Usage: $0 [nightly|lts-xx]"
7+ exit 1
8+fi
9+
10+cd ~/stackage/automated/work/$1/unpack-dir/.stack-work/install/x86_64-linux/*/*/lib/x86_64-linux-ghc-*
11+pwd
12+
13+stack --resolver lts-18.6 script ~/stackage/etc/diskspace/remove-old-stack-work-libs.hs
etc/diskspace/remove-old-stack-work-libs.hsnew file+57
@@ -0,0 +1,57 @@
1+#!/usr/bin/env stack
2+-- stack --resolver lts-18.6 script
3+
4+-- Utility to remove old libs installed under .stack-work/ to save diskspace
5+
6+-- Should be run in:
7+-- work/*/unpack-dir/.stack-work/install/x86_64-linux/*/*/lib/x86_64-linux-ghc-*
8+
9+import Data.List
10+import System.Directory
11+import System.FilePath
12+import Text.Regex.TDFA
13+
14+-- keep 2 latest builds
15+keepBuilds :: Int
16+keepBuilds = 2
17+
18+main = do
19+ files <- sort <$> listDirectory "."
20+ let (dynlibs,libdirs) = partition (".so" `isExtensionOf`) files
21+ pkglibdirs = groupBy samePkgLibDir libdirs
22+ pkgdynlibs = groupBy samePkgDynLib dynlibs
23+ mapM_ (removeOlder removeDirectoryRecursive) pkglibdirs
24+ mapM_ (removeOlder removeFile) pkgdynlibs
25+ where
26+ samePkgLibDir l1 l2 = pkgDirName l1 == pkgDirName l2
27+ where
28+ pkgDirName p =
29+ if length p < 25
30+ then error $ p ++ " too short to be in correct name-version-hash format"
31+ else extractNameInternal p
32+
33+ extractNameInternal :: String -> String
34+ extractNameInternal p =
35+ let (name,match,internal) = p =~ "-[0-9.]+-[0-9A-Za-z]{19,22}" :: (String, String, String)
36+ in if null match || null name then error $ p ++ " not in correct name-version-hash format"
37+ else name ++ internal
38+
39+ samePkgDynLib d1 d2 = pkgDynName d1 == pkgDynName d2
40+ where
41+ pkgDynName p =
42+ if length p < 42
43+ then error $ p ++ " too short to be libHSname-version-hash-ghc*.so format"
44+ else (extractNameInternal . removeDashSegment) p
45+
46+ removeDashSegment = dropWhileEnd (/= '-')
47+
48+ removeOlder remover files = do
49+ oldfiles <- drop keepBuilds . reverse <$> sortByAge files
50+ mapM_ remover oldfiles
51+
52+ sortByAge files = do
53+ timestamps <- mapM getModificationTime files
54+ let fileTimes = zip files timestamps
55+ return $ map fst $ sortBy compareSnd fileTimes
56+
57+ compareSnd (_,t1) (_,t2) = compare t1 t2
stackage/ChangeLog.mddeleted−9
@@ -1,9 +0,0 @@
1−## 0.7.3.0
2−
3−* Added the executables split off from stackage-cli.
4−
5−## 0.7.0.0
6−
7−* First release of this incarnation of the stackage package. Previously, this
8− package provided completely different functionality. That functionality has
9− since moved to stackage-curator.
stackage/LICENSEdeleted−20
@@ -1,20 +0,0 @@
1−Copyright (c) 2015 FP Complete
2−
3−Permission is hereby granted, free of charge, to any person obtaining
4−a copy of this software and associated documentation files (the
5−"Software"), to deal in the Software without restriction, including
6−without limitation the rights to use, copy, modify, merge, publish,
7−distribute, sublicense, and/or sell copies of the Software, and to
8−permit persons to whom the Software is furnished to do so, subject to
9−the following conditions:
10−
11−The above copyright notice and this permission notice shall be included
12−in all copies or substantial portions of the Software.
13−
14−THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15−EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16−MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17−IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
18−CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
19−TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
20−SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
stackage/README.mddeleted−2
@@ -1,2 +0,0 @@
1−This is a dummy wrapper package, forcing installation of other packages which
2−provide real functionality.
stackage/Stackage/Dummy.hsdeleted−3
@@ -1,3 +0,0 @@
1−-- | This module does absolutely nothing. It's present so that cabal can more
2−-- easily track whether the stackage package is installed.
3−module Stackage.Dummy () where
stackage/stackage.cabaldeleted−29
@@ -1,29 +0,0 @@
1−name: stackage
2−version: 0.7.3.2
3−synopsis: Dummy package forcing installation of other Stackage packages
4−homepage: https://www.stackage.org/
5−license: MIT
6−license-file: LICENSE
7−author: Michael Snoyman
8−maintainer: michael@snoyman.com
9−category: Development
10−build-type: Simple
11−extra-source-files: README.md ChangeLog.md
12−cabal-version: >=1.10
13−
14−library
15− exposed-modules: Stackage.Dummy
16− build-depends: base < 10
17− , stackage-cli >= 0.1.0
18− , stackage-update
19− , stackage-upload
20− , stackage-install
21− , stackage-build-plan
22− , stackage-cabal >= 0.1.1
23− , stackage-sandbox >= 0.1.1
24− , stackage-setup >= 0.0.1
25− default-language: Haskell2010
26−
27−source-repository head
28− type: git
29− location: git://github.com/fpco/stackage.git
verify-packagenew file+47
@@ -0,0 +1,47 @@
1+#!/usr/bin/env bash
2+
3+# Script to verify a package to build successfully
4+# Provide pacakge name by the first argument
5+#
6+# Example:
7+# ./verify-package mtl
8+# or
9+# ./verify-package mtl-2.2.2
10+
11+set -eu
12+
13+die() {
14+ >&2 echo "$1"
15+ exit 1
16+}
17+
18+package="${1:-}"
19+if [[ -z $package ]]; then
20+ die "Package name is not given"
21+fi
22+
23+
24+here="$(cd "$(dirname "$0")" > /dev/null; pwd)"
25+dir="$(mktemp -d tmp.XXXX)"
26+
27+exit() {
28+ cd "$here"
29+ rm -rf "$dir"
30+}
31+trap exit EXIT
32+
33+# When updating these commands, make sure to update .github/PULL_REQUEST_TEMPLATE.md as well.
34+cd "$dir"
35+stack unpack "$package"
36+cd "$(ls | head -n 1)"
37+rm -f stack.yaml
38+stack init --resolver nightly --ignore-subdirs
39+stack build --resolver nightly --haddock --test --bench --no-run-benchmarks
40+
41+
42+cat <<EOF
43+
44+
45+ 🎉 It looks good!
46+
47+EOF