on master help sign in
87 files changed+10635−1681
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+491−51 DATA-FLOW.md+4−4 Dockerfile+9−2 MAINTAINERS.md+209−48 README.md+85−29 Stackage/Config.hs−8 automated/.gitignore+2−12 automated/build.sh+75−55 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+6184−1233 check+10−2 commenter+20 debian-bootstrap.sh+212−41 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+491−51
@@ -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,15 +242,41 @@ 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:
@@ -86,7 +284,7 @@ You'll need to get your SSH public key added to the machine. ~/.ssh/config info:
86284```
87285Host stackage-build
88286 User curators
89− Hostname ec2-52-5-20-252.compute-1.amazonaws.com
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−48
@@ -2,81 +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 at
45−https://github.com/commercialhaskell/all-cabal-metadata/tree/master/packages/.
33+The continuous integration job will do some checks to see if your package's dependencies are up-to-date.
4634
47−## Uploading a new package
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.
4838
49−When a new version of a package is uploaded to Hackage, we automatically try to include it in Stackage (unless the new version is considered experimental). That can result in a number of possible failures. If there is a failure we temporarily introduce an upper bound, and raise GitHub issue tickets to resolve the issue.
39+This approach works well, but has two limitations you should be aware
40+of:
5041
51−If the new version doesn't compile then the package author should quickly (within 1 week) upload a fixed version.
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.
5249
53−If a package's test suite is failing, the first job is to investigate why. If this is due to a bad interaction with versions of other packages in Stackage, then it is the responsibility of the maintainer to fix the test suite. In some situations, it is acceptable to not run the test suite.
50+## Github and Notifications
51+
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.
62+
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.
5468
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.
5570
5671## Following dependency upgrades
5772
58−If a new version of a dependency is released, and that stops your package compiling/passing the tests, then it is your responsibility to modify your package. It is highly recommended that all package maintainers follow the dependencies of their packages on [Packdeps](http://packdeps.haskellers.com/), typically using the RSS feeds.
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.
78+
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.
84+
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.
89+
90+We typically use fairly long windows before disabling packages, but it
91+is decided on a case-by-case basis.
92+
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
102+
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.
107+
108+## Understanding stackage issues
109+
110+### Bounds issues
111+
112+These are the most common.
59113
60−**If restrictive version bounds are the only problem** then you must quickly (within 1 week) upload a new version with relaxed version bounds. Note that unlike the PVP, Stackage does not require upper bounds.
114+Using https://github.com/commercialhaskell/stackage/issues/6217 as an example.
61115
62−**If the new dependency causes breaking changes** then all package authors should quickly assess the likely impact on their package (within 1 week) and then produce a new compatible version. The expected timeline for new versions varies between 1 week and 1 month, depending on the significance of the change, and thus the work required to produce those new versions.
116+Our convention is to title a PR after the package that is being held
117+back from the nightly snapshot (here: aeson).
63118
119+The issue body is templated and looks like this:
64120
65−## Failing to meet the time limits
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.
66165
67−Maintainers are humans, humans get sick/have babies/go on holiday. If you have regular problems meeting the limits, find a co-maintainer. If you have a one-off problem, respond to the GitHub tickets saying so, and some kind soul might pick up the slack.
166+Consider finding a co-maintainer with access to SCM and Hackage to
167+help you out.
68168
69−The time limits are intended to stop people being inconvenienced because of problems in other packages. Where such inconvenience happens, we will drop the offending packages from Stackage. While upper bounds are sometimes a temporary solution, they are against the ethos of Stackage, so will not be kept for long.
169+We appreciate if you notify us of any expected delays in the Github
170+issues, some kind soul might decide to help out.
70171
71172## Upgrading to a new GHC version
72173
73−The Stackage curation team tries to move Stackage Nightly to new versions of GHC quickly as they become available, while keeping LTS Haskell on a regular release schedule. For package maintainers, the most important impacts of a new GHC release are:
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:
74178
75−* We will typically do a sweep through the Stackage upper bounds and aggressively remove packages that block them. This is because, in most cases, we will need to move to the newest versions of a package to get support for the latest GHC, and asking package maintainers to backport their fixes is an undue burden
76− * We will definitely do this at a GHC major version release, and may do so at a minor version release
77−* Packages that are incompatible with the newest GHC version will be temporarily blocked
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
78186
79−If your package ends up being temporarily removed from Stackage Nightly, please simply send a pull request to add it back once it and its dependencies are compatible with the newest GHC version.
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).
80197
81198## Adding a package to an LTS snapshot
82199
@@ -86,11 +203,55 @@ ending in `.0`), the package set is taken from Stackage Nightly. Therefore, by
86203following the above steps, you can get your package into the next major LTS
87204Haskell release.
88205
89−If you would like to get your package added to an existing LTS Haskell major
90−release (e.g., if `lts-3.21` is out, you would want your package to appear in
91−`lts-3.22`), please do the following in addition to the steps above:
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:
92208
209+* Check that your package can be built with the current LTS version (e.g. `stack build --test --bench --haddock --resolver lts`)
93210* Open up a new issue on the [lts-haskell repo](https://github.com/fpco/lts-haskell/issues/new)
94−* Specify the LTS major version you would like your package to go into (e.g., lts-3)
95−* Provide a list of packages you would like added, and if relevant, any upper bounds on those packages
96−* Be patient! The LTS releases are by their nature more conservative than nightly, and therefore adding new packages is a more manual process. The Stackage curators will try to get to your issue quickly, but there may be some delay.
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+75−55
@@ -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/stack:/usr/bin/stack: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,49 +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" ]
103+then
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" ]
107109then
108− docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "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 stack unpack random"
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\" 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
130149
131150if [ $SHORTNAME = "lts" ]
132151then
133− echo "Running cron.sh (hiding verbose output)"
134− ./cron.sh | grep -v '^Skipping'
135− echo "done."
152+ $ROOT/dockerfiles/build.sh $TARGET
153+ $ROOT/dockerfiles/build.sh --push $TARGET
154+ $ROOT/dockerfiles/build.sh --push --small $TARGET
136155fi
137156
157+echo -n "Completed at "
138158date
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 > cron.log 2>&1 # | 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+6184−1233
@@ -1,21 +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+
4647 "James M.C. Haver II <mchaver@gmail.com> @mchaver":
5648 - quickcheck-arbitrary-adt
6649 - hspec-golden-aeson
7− - servant-aeson-specs
650+ - quickcheck-arbitrary-template
8651
9− "Winter Land <winterland1989@gmail.com> @winterland1989":
652+ "Winter Han <winterland1989@gmail.com> @winterland1989":
653+ - if
10654 - 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
11664
12665 "Harendra Kumar <harendra.kumar@gmail.com> @harendra-kumar":
666+ - bench-show
667+ - monad-recorder
668+ - packcheck
669+ - streamly
13670 - 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
14679
15680 "Aleksey Uimanov <s9gf4ult@gmail.com> @s9gf4ult":
16− # - postgresql-query # haskell-src-exts 1.18 via derive
681+ - postgresql-query
17682 - hreader
18683 - hset
684+ - base58-bytestring
19685
20686 "Aaron Taylor <aaron@hamsterdam.co> @hamsterdam":
21687 - kawhi
@@ -27,63 +693,61 @@ packages:
27693 "Nicolas Mattia <nicolas@nmattia.com> @nmattia":
28694 - makefile
29695
30− "Michael Litchard <michael@schmong.org> @mlitchard":
31− - point-octree
32−
33696 "Siddharth Bhat <siddu.druid@gmail.com> @bollu":
34697 - symengine
35698
36699 "alpheccar <misc@alpheccar.org> @alpheccar":
37700 - HPDF
38− - hbayes
39701
40− "Dmitry Bogatov <KAction@gnu.org>":
702+ "Dmitry Bogatov <KAction@gnu.org> @iu-guest":
41703 - once
704+ - mbug
42705
43706 "David Johnson <djohnson.m@gmail.com> @dmjio":
44− # GHC 8 - envy
707+ - miso
708+ - envy
45709 - s3-signer
46− # bounds - google-translate
47− # via snap - hackernews
48− # bounds - ses-html
49− # via stripe-http-streams - stripe-haskell
50− # via http-streams - stripe-http-streams
51− # - stripe-core # BLOCKED aeson 1.0
710+ - google-translate
711+ - hackernews
712+ - ses-html
713+ - stripe-haskell
714+ - stripe-http-client
715+ - stripe-core
716+ - stripe-tests
52717
53718 "Piotr Mlodawski @pmlodawski":
719+ - error-util < 0 # 0.0.1.2 MonadFail
54720 - signal
55− # GHC 8 - ghc-session
56721
57722 "Michael Snoyman michael@snoyman.com @snoyberg":
58723 - bzlib-conduit
59− - cabal-install
60− - cabal-src
61724 - case-insensitive
62725 - classy-prelude-yesod
63726 - conduit-combinators
64727 - conduit-extra
65728 - hebrew-time
66− - keter
67729 - markdown
68730 - mime-mail
69731 - mime-mail-ses
732+ - mime-types
70733 - network-conduit-tls
71734 - persistent
72− # via mysql https://github.com/bos/mysql/issues/20 - persistent-mysql
735+ - persistent-mysql
73736 - persistent-postgresql
74737 - persistent-sqlite
75738 - persistent-template
76− # - stackage-curator # BLOCKED amazonka-core
77− - stm-conduit
739+ - persistent-test
740+ - store
741+ - wai-extra
78742 - wai-websockets
79743 - warp-tls
80− - yackage
81744 - yesod
745+ - authenticate
746+ - html-conduit
82747 - yesod-auth
83748 - authenticate-oauth
84749 - yesod-bin
85750 - yesod-eventsource
86− - yesod-fay
87751 - yesod-gitrepo
88752 - yesod-newsfeed
89753 - yesod-sitemap
@@ -92,7 +756,7 @@ packages:
92756 - yesod-websockets
93757 - cereal-conduit
94758 - binary-conduit
95− # GHC 8 - lzma-conduit
759+ - lzma-conduit
96760 - mutable-containers
97761 - hpc-coveralls
98762 - monad-unlift
@@ -100,59 +764,70 @@ packages:
100764 - yaml
101765 - servius
102766 - cryptonite-conduit
767+ - streaming-commons
103768
104− - alex
769+ - alex < 3.2.7 || > 3.2.7
105770 - async
106771 - base16-bytestring
107− - c2hs
108− - cassava
109− # GHC 8 - csv-conduit
772+ - csv-conduit
110773 - executable-hash
111774 - executable-path
112775 - foreign-store
113776 - formatting
114777 - gtk2hs-buildtools
115− - happy
778+ - happy < 1.21.0 || > 1.21.0 # https://github.com/commercialhaskell/stackage/issues/6294
116779 - hybrid-vectors
117780 - indents
118781 - language-c
119− - lhs2tex
120− # GHC 8 2.5 compilation failure - persistent-mongoDB
782+ - persistent-mongoDB
121783 - pretty-class
122784 - th-expand-syns
123− - criterion
124785 - th-lift
125786 - quickcheck-assertions
126787
127− # - hackage-mirror BLOCKED aws
128− - wai-middleware-consul
129788 - wai-middleware-crowd
130789 - monad-logger-json
131790 - safe-exceptions
132− - monad-logger-syslog
133791 - fsnotify-conduit
792+ - pid1
793+ - typed-process
794+ - say
795+ - unliftio-core
796+ - unliftio
134797
135− - fsnotify
136798 - hinotify
137799 - hfsevents
138800 - 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
139820
140821 "Omari Norman <omari@smileystation.com> @massysett":
141822 - rainbow
142823 - rainbox
143− - pipes-cliff
144− - anonymous-sums
145824 - multiarg
146− - prednote
147− - cartel
148− - Earley
149825 - ofx
150− - pinchot
151826 - accuerr
152827 - timelens
153− - non-empty-sequence
828+ - squeather
154829
155− "Neil Mitchell @ndmitchell":
830+ "Neil Mitchell <ndmitchell@gmail.com> @ndmitchell":
156831 - hlint
157832 - hoogle
158833 - shake
@@ -163,35 +838,78 @@ packages:
163838 - nsis
164839 - js-jquery
165840 - js-flot
841+ - js-dgtable
166842 - extra
167− - bake
168843 - ghcid
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
169862
170863 "Alan Zimmerman @alanz":
864+ - ghc-exactprint
865+ - haskell-lsp
171866 - hjsmin
172867 - language-javascript
173868 - Strafunski-StrategyLib
174− # - HaRe # BLOCKED ghc-mod via pipes
869+
870+ "Luke Lau <luke_lau@icloud.com> @bubba":
871+ - lsp-test
175872
176873 "Alfredo Di Napoli <alfredo.dinapoli@gmail.com> @adinapoli":
177874 - mandrill
178875
179876 "Jon Schoning <jonschoning@gmail.com> @jonschoning":
180877 - pinboard
878+ - swagger-petstore
181879
182880 "Jasper Van der Jeugt @jaspervdj":
183881 - blaze-html
184882 - blaze-markup
185− - cabal-dependency-licenses
186− # via snap-core - hakyll
187883 - stylish-haskell
188− # - profiteur # BLOCKED aeson 1.0
884+ - profiteur
189885 - psqueues
190886 - websockets
191− # via snap-core - websockets-snap
887+ - websockets-snap
888+
889+ "Jasper Van der Jeugt @jaspervdj & Alexander Batischev <eual.jp@gmail.com> @Minoru":
890+ - hakyll
192891
193892 "Sibi Prabakaran <sibi@psibi.in> @psibi":
194893 - 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
195913
196914 "haskell-opengl":
197915 - OpenGL
@@ -208,15 +926,17 @@ packages:
208926 "Philipp Middendorf <pmidden@secure.mailbox.org> @pmiddend":
209927 - clock
210928
211− "Stefan Wehr <wehr@factisresearch.com> @skogsbaer":
929+ "Stefan Wehr <mail@stefanwehr.de> @skogsbaer":
212930 - HTF
213931 - xmlgen
214932 - stm-stats
933+ - large-hashable
215934
216935 "Bart Massey <bart.massey+stackage@gmail.com> @BartMassey":
217936 - parseargs
218937
219938 "Vincent Hanquez @vincenthz":
939+ - basement
220940 - bytedump
221941 - cipher-aes
222942 - cipher-rc4
@@ -226,8 +946,12 @@ packages:
226946 - cryptocipher
227947 - cryptohash
228948 - cryptonite
949+ - cryptonite-openssl
229950 - crypto-pubkey-types
230951 - crypto-random-api
952+ - foundation
953+ - gauge
954+ - git < 0 # 0.3.0 compile fail MonadFail
231955 - hit
232956 - memory
233957 - language-java
@@ -235,14 +959,15 @@ packages:
235959 - pem
236960 - siphash
237961 - socks
962+ - tasty-kat
238963 - tls
239964 - tls-debug
240− - vhd
241− - xenstore
965+ - vhd < 0 # 0.2.2 compile fail: Missing Semigroup Checksum
966+ - xenstore < 0 # 0.1.1 compile fail: sClose not in scope
242967
243968 "Chris Done @chrisdone":
969+ - labels
244970 - ace
245− - ical
246971 - check-email
247972 - freenect
248973 - frisby
@@ -250,21 +975,18 @@ packages:
250975 - hostname-validate
251976 - ini
252977 - lucid
253− - osdkeys
254978 - pdfinfo
255− # GHC 8 https://github.com/fpco/stackage/issues/1062 - present
256979 - pure-io
257− # GHC 8 - scrobble
258− - shell-conduit
259980 - sourcemap
260981 - hindent
261982 - descriptive
262983 - wrap
263984 - path
264− - intero
265985 - weigh
266− # GHC 8 - haskell-docs
267− # bounds - structured-haskell-mode
986+ - odbc
987+ - structured-haskell-mode
988+ - casa-client
989+ - casa-types
268990
269991 "Alberto G. Corona <agocorona@gmail.com> @agocorona":
270992 - RefSerialize
@@ -273,57 +995,66 @@ packages:
273995 - MFlow
274996 - transient
275997 - transient-universe
276− - ghcjs-hplay
998+ - axiom
277999
2781000 "Edward Kmett <ekmett@gmail.com> @ekmett":
2791001 - ad
2801002 - adjunctions
281− # GHC 8 & bounds - approximate
1003+ - algebra
1004+ - ansi-wl-pprint
1005+ - approximate
2821006 - bifunctors
2831007 - bits
284− # GHC 8 - bound
1008+ - bound
2851009 - bytes
2861010 - charset
2871011 - comonad
288− - comonads-fd
289− - comonad-transformers
290− # GHC 8 & bounds - compensated
291− # bounds - compressed
1012+ - compensated
1013+ - compressed
2921014 - concurrent-supply
2931015 - constraints
2941016 - contravariant
2951017 - distributive
1018+ - discrimination
2961019 - either
2971020 - eq
2981021 - ersatz
299− - exceptions
1022+ - fixed
1023+ - folds
3001024 - free
1025+ - gl
3011026 - graphs
302− - groupoids
1027+ - half
3031028 - heaps
1029+ - hybrid-vectors
1030+ - hyperloglog
3041031 - hyphenation
1032+ - indexed-traversable
3051033 - integration
1034+ - intern
3061035 - intervals
3071036 - kan-extensions
1037+ - keys
3081038 - lca
3091039 - lens
1040+ - lens-action
1041+ - lens-aeson
1042+ - lens-properties
3101043 - linear
3111044 - linear-accelerate
3121045 - log-domain
3131046 - machines
3141047 - monadic-arrays
3151048 - monad-products
316− - monad-products
317− # GHC 8 - monad-st
318− - mtl
1049+ - monad-st
1050+ # - mtl take the one that ships with GHC
3191051 - nats
3201052 - numeric-extras
3211053 - parsers
3221054 - pointed
323− - prelude-extras
324− - profunctor-extras
3251055 - profunctors
326− - reducers
1056+ - promises
1057+ - rcu
3271058 - reducers
3281059 - reflection
3291060 - semigroupoid-extras
@@ -331,18 +1062,19 @@ packages:
3311062 - semigroups
3321063 - speculation
3331064 - streams
1065+ - structs
3341066 - tagged
1067+ - tagged-transformer
1068+ - transformers-compat <0.7 # https://github.com/commercialhaskell/stackage/issues/6137
1069+ - trifecta
1070+ - unique
3351071 - vector-instances
3361072 - void
3371073 - wl-pprint-extras
1074+ - wreq
3381075 - wl-pprint-terminfo
3391076 - zippers
340− - fixed
341− - half
342− - gl
343− - lens-aeson
3441077 - zlib-lens
345− # GHC 8 - hyperloglog
3461078
3471079 "Andrew Farmer <afarmer@ittc.ku.edu> @xich":
3481080 - scotty
@@ -350,38 +1082,42 @@ packages:
3501082
3511083 "Simon Hengel <sol@typeful.net> @sol":
3521084 - hspec
1085+ - hspec-core
1086+ - hspec-discover
3531087 - hspec-wai
354− # - hspec-wai-json # BLOCKED haskell-src-exts 1.18 via aeson-qq
355− # - aeson-qq # BLOCKED haskell-src-exts 1.18
356− # - interpolate # BLOCKED haskell-src-exts 1.18
1088+ - hspec-wai-json
1089+ - aeson-qq
1090+ - interpolate
3571091 - doctest
3581092 - base-compat
3591093
360− "Mario Blazevic <blamario@yahoo.com> @blamario":
1094+ "Mario Blazevic <blamario@protonmail.com> @blamario":
3611095 - monad-parallel
3621096 - monad-coroutine
363− - incremental-parser
3641097 - monoid-subclasses
365− - picoparsec
1098+ - rank2classes
1099+ - input-parsers
1100+ - incremental-parser
1101+ - construct
3661102
3671103 "Brent Yorgey <byorgey@gmail.com> @byorgey":
3681104 - active
369− # via haxr - BlogLiterately
370− # GHC 8 - BlogLiterately-diagrams
3711105 - diagrams
372− # GHC 8 & bounds - diagrams-builder
373− # GHC 8 & bounds - diagrams-haddock
1106+ - diagrams-builder
3741107 - diagrams-cairo
1108+ - diagrams-canvas
3751109 - diagrams-contrib
3761110 - diagrams-core
3771111 - diagrams-gtk
1112+ - diagrams-html5
3781113 - diagrams-lib
3791114 - diagrams-postscript
3801115 - diagrams-rasterific
1116+ - diagrams-solve
3811117 - diagrams-svg
382− - dual-tree
3831118 - force-layout
384− # via http-streams - haxr
1119+ - SVGFonts
1120+ - haxr
3851121 - MonadRandom
3861122 - monoid-extras
3871123
@@ -394,31 +1130,40 @@ packages:
3941130 - asciidiagram
3951131
3961132 "Patrick Brisbin @pbrisbin":
1133+ - bugsnag-haskell
3971134 - gravatar
398−
399− "Paul Harper <benekastah@gmail.com> @benekastah":
400− []
401− # - yesod-auth-oauth2 # BLOCKED http-client 0.5
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
1150+ - 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
4021155
4031156 "Felipe Lessa <felipe.lessa@gmail.com> @meteficha":
404− # bounds - country-codes
405− # bounds - esqueleto
406− # - fb # BLOCKED http-conduit 2.2
407− # bounds - fb-persistent
408− # VERSION MISSING Compilation failure against aeson https://github.com/prowdsponsor/mangopay/issues/32 - mangopay
1157+ - fb
4091158 - nonce
4101159 - serversession
411− - serversession-backend-acid-state
412− # bounds - serversession-backend-persistent
413− # bounds - serversession-backend-redis
414− # via snap - serversession-frontend-snap
1160+ - serversession-backend-persistent
1161+ - serversession-backend-redis
4151162 - serversession-frontend-wai
4161163 - serversession-frontend-yesod
4171164 - thumbnail-plus
418− # bounds - yesod-auth-account-fork
419− # GHC 8 - yesod-auth-fb
420− # - yesod-fb # BLOCKED http-conduit 2.2 via fb
421− # VERSION MISSING Compilation failure against aeson https://github.com/prowdsponsor/mangopay/issues/32 - yesod-mangopay
1165+ - yesod-auth-fb
1166+ - yesod-fb
4221167
4231168 "Alexander Altman <alexanderaltman@me.com> @pthariensflame":
4241169 # Maintaining on behalf of @roelvandijk:
@@ -427,40 +1172,65 @@ packages:
4271172 # My own packages:
4281173 - ChannelT
4291174
430− "Trevor L. McDonell <tmcdonell@cse.unsw.edu.au> @tmcdonell":
1175+ "Trevor L. McDonell <trevor.mcdonell@gmail.com> @tmcdonell":
4311176 - accelerate
432−
433− # "Liam O'Connor <liamoc@cse.unsw.edu.au> @liamoc":
434− # GHC 8 - patches-vector
435− # GHC 8 - composition-tree
436− # GHC 8 & bounds - dixi
437− # GHC 8 - latex-formulae-image
438− # via latex-formulae-image - latex-formulae-pandoc
439− # GHC 8 - latex-formulae-hakyll
440− # GHC 8 & bounds - agda-snippets
441− # 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
4421205
4431206 "Dan Burton <danburton.email@gmail.com> @DanBurton":
444− - hspec-jenkins
445− - yesod-gitrev
1207+ - ANum
4461208 - basic-prelude
4471209 - composition
1210+ - haskell-src-meta
4481211 - io-memoize
1212+ - lens-family-th
4491213 - numbers
4501214 - rev-state
4511215 - runmemo
4521216 - tardis
453− - lens-family-th
454−
455− "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":
4561226 - bimap-server
4571227 - binary-list
4581228 - byteset
4591229 - Clipboard
1230+ - gmail-simple < 0 # 0.1.0.2 https://github.com/Daniel-Diaz/gmail-simple/issues/1
4601231 - grouped-list
4611232 - haskintex
4621233 - HaTeX
463− - hatex-guide
4641234 - include-file
4651235 - matrix
4661236 - pcre-light
@@ -468,38 +1238,48 @@ packages:
4681238 - post-mess-age
4691239 - sorted-list
4701240
471− "Gabriel Gonzalez <Gabriel439@gmail.com> @Gabriel439":
1241+ "Gabriella Gonzalez <Gabriel439@gmail.com> @Gabriel439":
4721242 - optparse-generic
4731243 - pipes
4741244 - pipes-extras
1245+ - pipes-http
4751246 - pipes-parse
4761247 - pipes-concurrency
4771248 - pipes-safe
4781249 - turtle
4791250 - foldl
480− - morte
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
4811261
4821262 "Andrew Thaddeus Martin <andrew.thaddeus@gmail.com> @andrewthad":
483− - yesod-table
1263+ - colonnade
1264+ - blaze-colonnade
1265+ - dot
4841266
485− "Chris Allen <cma@bitemyapp.com> bitemyapp":
1267+ "Chris Allen <cma@bitemyapp.com> @bitemyapp":
4861268 - machines-directory
4871269 - machines-io
488− # - bloodhound # haskell-src-exts 1.18 via derive
1270+ - bloodhound
4891271
4901272 "Adam Bergmark <adam@bergmark.nl> @bergmark":
491− - HUnit
4921273 - aeson
493− - fay
494− - fay-base
495− - fay-dom
496− - fay-jquery
497− - fay-text
498− - fay-uri
1274+ - HUnit
1275+ - attoparsec-iso8601
4991276 - feed
500− # via snap - snaplet-fay
5011277 - time-compat
5021278 - through-text
1279+ # Not my packages
1280+ - HStringTemplate
1281+ - spoon
1282+ - tagshare
5031283
5041284 "Benedict Aas <x@shou.io> @Shou":
5051285 - boolean-like
@@ -511,43 +1291,40 @@ packages:
5111291
5121292 "Robert Klotzner <robert.klotzner@gmx.at> @eskimor":
5131293 - purescript-bridge
514− - servant-purescript
1294+ - servant-purescript < 0 # 0.10.0.0 compile fail #6091/closed
5151295 - servant-subscriber
5161296
5171297 "Rodrigo Setti <rodrigosetti@gmail.com> @rodrigosetti":
5181298 - messagepack
5191299 - messagepack-rpc
5201300
521− # "Boris Lykah <lykahb@gmail.com> @lykahb":
522− # GHC 8 - groundhog
523− # GHC 8 - groundhog-th
524− # GHC 8 - groundhog-sqlite
525− # GHC 8 - groundhog-postgresql
526− # 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
5271308
5281309 "Janne Hellsten <jjhellst@gmail.com> @nurpax":
5291310 - sqlite-simple
5301311
5311312 "Michal J. Gajda <maintainer@migamake.com> @mgajda":
5321313 - iterable
533− - Octree
5341314 - FenwickTree
535− - hPDB
536− - hPDB-examples
537− - homplexity
538− - wordpass
539− # - json-autotype # BLOCKED aeson 1.0
540− - posix-realtime
1315+ - json-autotype
5411316
5421317 "Dom De Re <domdere@domdere.com> @domdere":
5431318 - cassava-conduit
5441319
5451320 "Dominic Steinitz <dominic@steinitz.org> @idontgetoutmuch":
546− - yarr
1321+ - monad-bayes
5471322 - random-fu
5481323
5491324 "Ben Gamari <ben@smart-cactus.org> @bgamari":
5501325 - vector-fftw
1326+ - cborg-json
1327+ - language-dot
5511328
5521329 "Roman Cheplyaka <roma@ro-che.info> @feuerbach":
5531330 - action-permutations
@@ -556,8 +1333,6 @@ packages:
5561333 - immortal
5571334 - regex-applicative
5581335 - lexer-applicative
559− - smallcheck
560− - socket
5611336 - tasty
5621337 - tasty-golden
5631338 - tasty-hunit
@@ -571,7 +1346,6 @@ packages:
5711346 - tuples-homogenous-h98
5721347
5731348 "George Giorgidze <giorgidze@gmail.com> @giorgidze":
574− - HCodecs
5751349 - YampaSynth
5761350 - set-monad
5771351
@@ -584,15 +1358,8 @@ packages:
5841358
5851359 "Joachim Breitner <mail@joachim-breitner.de> @nomeata":
5861360 - circle-packing
587− - arbtt
588− - ghc-heap-view
589− - tttool
590− - gipeda
591− - list-fusion-probe
5921361 - haskell-spacegoo
5931362 - tasty-expected-failure
594− - RepLib
595− - unbound
5961363
5971364 "Aditya Bhargava <adit@adit.io> @egonSchiele":
5981365 - HandsomeSoup
@@ -604,101 +1371,102 @@ packages:
6041371 - DAV
6051372 - hopenpgp-tools
6061373 - 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
6071382
6081383 "Joey Hess <id@joeyh.name> @joeyh":
609− # via esqueleto - git-annex
610− # via github - github-backup
611− - Win32-extras
1384+ - git-annex
6121385 - concurrent-output
6131386 - mountpoints
6141387 - disk-free-space
6151388
616− "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
6171395 - microlens-aeson
1396+ - pipes-random
1397+ - servant-xml
1398+ - streaming-attoparsec
6181399 - versions
6191400 - vectortiles
620− - pipes-random
621− # - repa # BLOCKED QuickCheck 2.9
622− # - repa-io # BLOCKED QuickCheck 2.9
623− # - repa-algorithms # BLOCKED QuickCheck 2.9
624− # GHC 8 - kanji
6251401
6261402 "Ketil Malde @ketil-malde":
6271403 - biocore
6281404 - biofasta
6291405 - biofastq
630− # 0.3.7.1 Compilation failure due to -Werror - biosff
6311406 - blastxml
6321407 - bioace
633− # 0.8.8 Compilation failure https://github.com/BioHaskell/biophd/issues/3 - biophd
6341408 - biopsl
635− # VERSION MISSING Compilation failure against c2hs https://github.com/ingolia/SamTools/issues/3 - samtools
6361409 - seqloc
6371410 - bioalign
6381411 - BlastHTTP
639− # The following have out-of-date dependencies currently
640− # biostockholm memexml RNAwolf
641− # , "Biobase BiobaseDotP BiobaseFR3D BiobaseInfernal BiobaseMAF"
642− # , "BiobaseTrainingData BiobaseTurner BiobaseXNA BiobaseVienna"
643− # , "BiobaseTypes BiobaseFasta"
644− # MC-Fold-DP
6451412
6461413 "Florian Eggenhofer <florian.eggenhofer@univie.ac.at> @eggzilla":
6471414 - ClustalParser
648− # GHC 8 - EntrezHTTP
1415+ - EntrezHTTP
6491416 - Genbank
650− # GHC 8 - RNAlien
651− # via EntrezHTTP - Taxonomy
652− # 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
6531433 - ViennaRNAParser
1434+ - either-unwrap
6541435
6551436 "Silk <code@silk.co>":
656− - aeson-utils
657− - arrow-list
6581437 - attoparsec-expr
659− - bumper
660− - code-builder
661− - fay-builder
662− - generic-aeson
6631438 - generic-xmlpickler
664− - hxt-pickle-utils
6651439 - imagesize-conduit
666− - json-schema
6671440 - multipart
668− - rest-client
669− - rest-core
670− - rest-gen
671− - rest-happstack
672− # GHC 8 - rest-snap
673− - rest-stringmap
674− - rest-types
675− - rest-wai
6761441 - tostring
6771442 - uri-encode
6781443
6791444 "Simon Michael <simon@joyful.com> @simonmichael":
680− - darcs
681− - hledger
682− - hledger-lib
683− # - hledger-ui
684− # - hledger-web
685− # via Diff - shelltestrunner
1445+ - quickbench
6861446 - regex-compat-tdfa
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
6871459
6881460 "Mihai Maruseac <mihai.maruseac@gmail.com> @mihaimaruseac":
6891461 - io-manager
6901462
6911463 "Dimitri Sabadie <dimitri.sabadie@gmail.com> @phaazon":
692− # - al FIXME temporary, figure out why it's not working with stackage-build
1464+ - al
6931465 - event
6941466 - hid
695− # GHC 8 - luminance
696− # GHC 8 - luminance-samples
6971467 - monad-journal
698− # GHC 8 - msi-kb-backlit
6991468 - smoothie
700− # bounds - tellbot
701− # GHC 8 - wavefront
1469+ - wavefront
7021470 - zero
7031471
7041472 "Thomas Schilling <nominolo@googlemail.com> @nominolo":
@@ -706,12 +1474,6 @@ packages:
7061474
7071475 "Boris Buliga <d12frosted@icloud.com> @d12frosted":
7081476 - io-choice
709− # UNKNOWN VERSION Compilation failure https://github.com/d12frosted/CanonicalPath/issues/5 - system-canonicalpath
710−
711− "Daniel Gröber <dxld@darkboxed.org> @DanielG":
712− []
713− # - ghc-mod # BLOCKED pipes 4.2 & optparse-applicative 0.13.0.0 when #1784 gets lifted
714− # - cabal-helper # BLOCKED extra 1.5
7151477
7161478 "Yann Esposito <yann.esposito@gmail.com> yogsototh @yogsototh":
7171479 - human-readable-duration
@@ -719,52 +1481,73 @@ packages:
7191481 - wai-middleware-caching
7201482 - wai-middleware-caching-lru
7211483 - wai-middleware-caching-redis
722− # not package maintainer
723− - ekg
724− - ekg-json
7251484
7261485 "Paul Rouse <pgr@doynton.org> @paul-rouse":
727− - sphinx
1486+ - mysql
1487+ - mysql-simple
1488+ - sphinx < 0 # 0.6.0.2 compile fail: Could not find module Network
7281489 - xmlhtml
7291490 - yesod-auth-hashdb
7301491
7311492 "Toralf Wittner <tw@dtex.org> @twittner":
7321493 - bytestring-conversion
733− # GHC8/3.1.0 compilation failure - cql
734− # via cql - cql-io
1494+ - cql
1495+ - cql-io
7351496 - redis-resp
7361497 - redis-io
737− # - swagger # BLOCKED aeson 1.0
1498+ - swagger
7381499 - tinylog
7391500 - wai-predicates
740− # GHC 8 - wai-routing
1501+ - wai-routing
7411502 - zeromq4-haskell
7421503
743− "trupill@gmail.com":
1504+ "Alejandro Serrano <trupill@gmail.com> @serras":
7441505 - djinn-lib
7451506 - 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
7461522
747− "Matvey Aksenov <matvey.aksenov@gmail.com>":
1523+ "Flavio Corpa <flaviocorpa@gmail.com> @kutyel":
1524+ - language-avro
1525+
1526+ "Matvey Aksenov <matvey.aksenov@gmail.com> @supki":
7481527 - terminal-size
1528+ - envparse
7491529
7501530 "Luis G. Torres <lgtorres42@gmail.com> @giogadi":
7511531 - kdt
7521532
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+
7531543 "Emanuel Borsboom <manny@fpcomplete.com> @borsboom":
7541544 - BoundedChan
7551545 - broadcast-chan
756− - bytestring-lexing
757− - bytestring-trie
758− - data-accessor
759− - data-accessor-mtl
760− # GHC 8 - file-location
7611546 - fuzzcheck
762− - haddock-api
763− # - here # BLOCKED haskell-src-exts 1.18
1547+ - here
7641548 - hlibgit2
7651549 - gitlib-libgit2
766− - hostname-validate
767− # - interpolatedstring-perl6 # BLOCKED haskell-src-exts 1.18
1550+ - interpolatedstring-perl6
7681551 - iproute
7691552 - missing-foreign
7701553 - MissingH
@@ -774,63 +1557,98 @@ packages:
7741557 - Chart-cairo
7751558 - ghc-events
7761559 - monad-extras
777− # - stack < 9.9.9 # BLOCKED http-conduit 2.2
7781560 - optparse-simple
779− # - hpack # BLOCKED haskell-src-exts 1.18 via interpolate
1561+ - hpack
1562+ - bindings-uname
1563+ - stack < 9.9.9 # see #3563/closed
7801564
7811565 "Michael Sloan <mgsloan@gmail.com> @mgsloan":
1566+ - store
1567+ - store-core
1568+ - store-streaming
7821569 - th-orphans
7831570 - th-reify-many
1571+ - th-utilities
7841572
7851573 "Nikita Volkov <nikita.y.volkov@mail.ru> @nikita-volkov":
1574+ - acc
1575+ - attoparsec-data
1576+ - attoparsec-time
7861577 - base-prelude
1578+ - bytestring-strict-builder
1579+ - bytestring-tree-builder
7871580 - cases
1581+ - deferred-folds
1582+ - deque
1583+ - domain
1584+ - domain-core
1585+ - domain-optics
7881586 - focus
7891587 - hasql
1588+ - hasql-optparse-applicative
1589+ - hasql-pool
1590+ - hasql-th
1591+ - hasql-transaction
1592+ - headed-megaparsec
1593+ - jsonifier
7901594 - list-t
7911595 - mtl-prelude
7921596 - neat-interpolation
1597+ - optima
7931598 - partial-handler
7941599 - postgresql-binary
1600+ - postgresql-syntax
1601+ - primitive-extras
1602+ - ptr-poker
1603+ - rebase
1604+ - rerebase
7951605 - slave-thread
7961606 - stm-containers
1607+ - stm-hamt
1608+ - template-haskell-compat-v0208
1609+ - text-builder
1610+ - th-lego
1611+ - vector-builder
1612+ - yaml-unscrambler
1613+ - xml-parser
7971614
7981615 "Iustin Pop <iustin@k1024.org> @iustin":
7991616 - prefix-units
8001617
8011618 "Alexander Thiemann <mail@athiemann.net> @agrafix":
802− - Spock
803− - Spock-core
804− - Spock-api
805− - Spock-api-server
806− # via digestive-functors - Spock-digestive
807− - Spock-worker
808− - graph-core
809− - hvect
810− - reroute
811− - users
812− # via esqueleto - users-persistent
813− - users-postgresql-simple
814− - users-test
815− - validate-input
816− - ignore
817− - elm-bridge
818− - hackmanager
819− # via digestive-functors - digestive-bootstrap
820− - blaze-bootstrap
821− - dataurl
822− - psql-helpers
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
8231645
8241646 "Joey Eremondi <joey@eremondi.com> @JoeyEremondi":
825− - aeson-pretty
8261647 - digest
827− # via elm-compiler - elm-build-lib
828− # bounds - elm-compiler
8291648 - elm-core-sources
830− # bounds - elm-package
8311649 - language-glsl
8321650 - prettyclass
833− # - QuasiText # BLOCKED haskell-src-exts 1.18
1651+ - QuasiText
8341652 - union-find
8351653 - zip-archive
8361654
@@ -838,59 +1656,65 @@ packages:
8381656 - yesod-form-richtext
8391657 - ghcjs-perch
8401658
841− "Sebastian Nagel <sebastian.nagel@ncoding.at> @ch1bo":
842− - hdevtools
843−
844− "Andrey Chudnov <oss@chudnov.com> @achudnov":
845− - language-ecmascript
846−
8471659 "Tom Ellis <tom-stackage@jaguarpaw.co.uk> @tomjaguarpaw":
8481660 - opaleye
8491661 - product-profunctors
1662+ - strict-wrapper
8501663
8511664 "Samplecount stefan@samplecount.com @kaoskorobase":
8521665 - shake-language-c
8531666
854− "Marcin Mrotek <marcin.jan.mrotek@gmail.com> @marcinmrotek":
855− - type-list
856− - zoom-refs
857− - vinyl-utils
858−
8591667 "David Turner <dave.c.turner@gmail.com> @davecturner":
8601668 - alarmclock
8611669 - bank-holidays-england
8621670
863− "Haskell Servant <jkarni@gmail.com>":
1671+ "Haskell Servant <haskell-servant-maintainers@googlegroups.com>":
8641672 - servant
1673+ - servant-blaze
1674+ - servant-cassava
8651675 - servant-client
1676+ - servant-client-core
1677+ - servant-conduit
8661678 - servant-docs
1679+ - servant-foreign
1680+ - servant-http-streams
8671681 - servant-js
868− - servant-server
8691682 - servant-lucid
870− - servant-blaze
871− - servant-foreign
1683+ - servant-machines
8721684 - servant-mock
873− - 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
1692+
1693+ "Optics <optics@well-typed.com>":
1694+ - indexed-profunctors
1695+ - optics
1696+ - optics-core
1697+ - optics-extra
1698+ - optics-th
1699+ - optics-vl
8741700
8751701 "Alexandr Ruchkin <voidex@live.com> @mvoidex":
876− - hdocs
8771702 - hformat
878− - hsdev
8791703 - simple-log
8801704 - text-region
1705+ - haskell-names
1706+ - hsdev
8811707
8821708 "Aleksey Kliger <aleksey@lambdageek.org> @lambdageek":
8831709 - unbound-generics
8841710 - indentation-core
8851711 - indentation-parsec
1712+ - clang-compilation-database
8861713
8871714 "Alois Cochard <alois.cochard@gmail.com> @aloiscochard":
888− []
889− # GHC 8 & bounds - codex
890− # GHC 8 - machines-binary
891− # GHC 8 - machines-process
892− # GHC 8 - sarsi
893− # - wreq # BLOCKED http-lient 0.5 # on behalf of Bryan O'Sullivan @bos
1715+ - machines-binary
1716+ # on behalf of Bryan O'Sullivan @bos:
1717+ - wreq
8941718
8951719 "Andraz Bajt <andraz@bajt.me> @edofic":
8961720 - effect-handlers
@@ -901,53 +1725,96 @@ packages:
9011725 - HaskellNet
9021726 - HaskellNet-SSL
9031727
1728+ "Tristan de Cacqueray <tdecacqu@redhat.com> @tristanC":
1729+ - linux-capabilities
1730+
9041731 "Jens Petersen <juhpetersen@gmail.com> @juhp":
1732+ - bodhi
1733+ - bugzilla-redhat
1734+ - cabal-file
9051735 - cabal-rpm
906− - cabal-sort
907− - hslua
908− # - idris # BLOCKED aeson 1.0 & optparse-applicative 0.13.0.0 after #1784
909−
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
1761+ - idris
1762+ - libffi
9101763 - cairo
911− - gio
9121764 - glib
913− - gtk
914− - gtk3
915− - gtksourceview3
1765+ - gio
9161766 - pango
917− - webkitgtk3
918− - webkitgtk3-javascriptcore
919−
1767+ - gtk3
9201768 - ghcjs-codemirror
921− # via gi-gtk https://github.com/fpco/stackage/issues/1569 - ghcjs-dom
922− # via gi-gtk https://github.com/fpco/stackage/issues/1569 - jsaddle
923− # GHC 8 & bounds - leksah-server
924− # GHC 8 - ltk
1769+ - ghcjs-dom
1770+ - jsaddle
9251771 - vado
926− # GHC 8 - vcsgui
9271772 - vcswrapper
1773+ - ShellCheck
1774+ - binary-shared
1775+ - xdg-userdirs
1776+ # please take these
1777+ - cryptohash-md5
1778+ - cryptohash-sha1
9281779
9291780 "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
9301789 - network-simple
931− # - pipes-aeson # BLOCKED pipes 4.2
1790+ - network-simple-tls
1791+ - pipes-aeson
9321792 - pipes-attoparsec
933− # GHC 8 - pipes-binary
1793+ - pipes-binary
9341794 - pipes-network
1795+ - pipes-network-tls
1796+ - safe-money
1797+ - vector-bytes-instances
1798+ - xmlbf-xeno
1799+ - xmlbf-xmlhtml
1800+ - xmlbf
9351801
9361802 "Tomas Carnecky @wereHamster":
937− # GHC 8 0.0.15 compilation failure - avers
938− # via avers - avers-api
939− # via avers - avers-server
1803+ - avers
1804+ - avers-api
1805+ - avers-server
9401806 - css-syntax
9411807 - etcd
9421808 - github-types
9431809 - github-webhook-handler
944− # GHC 8 & via snap-core - github-webhook-handler-snap
1810+ - github-webhook-handler-snap
9451811 - google-cloud
9461812 - kraken
9471813 - libinfluxdb
948− # GHC 8 & via snap - mole
1814+ - mole
9491815 - publicsuffix
9501816 - rethinkdb-client-driver
1817+ - snap-blaze
9511818
9521819 "Alexandr Kurilin <alex@kurilin.net> @alex_kurilin":
9531820 - bcrypt
@@ -955,10 +1822,6 @@ packages:
9551822 "Jeffrey Rosenbluth <jeffrey.rosenbluth@gmail.com> @jeffreyrosenbluth":
9561823 - palette
9571824 - diagrams-canvas
958− - diagrams-rasterific
959− - lucid-svg
960− - diagrams-html5
961− - static-canvas
9621825 - svg-builder
9631826
9641827 "Gabríel Arthúr Pétursson <gabriel@system.is> @polarina":
@@ -967,188 +1830,149 @@ packages:
9671830 "Leon Mergen <leon@solatis.com> @solatis":
9681831 - base32string
9691832 - base58string
970− # BLOCKED wreq via http-client
971− # - bitcoin-api
972− # - bitcoin-api-extra
1833+ - bitcoin-api
1834+ - bitcoin-api-extra
9731835 - bitcoin-block
9741836 - bitcoin-script
9751837 - bitcoin-tx
9761838 - bitcoin-types
9771839 - hexstring
978− - network-attoparsec
979− - network-anonymous-i2p
1840+ - network-attoparsec < 0 # 0.12.2 compile fail MonadFail
1841+ - network-anonymous-i2p < 0 # 0.10.0 compile fail
9801842 - network-anonymous-tor
9811843
982− "Timothy Jones <git@zmthy.io> @zmthy":
1844+ "Timothy Jones <tim@zmthy.net> @zmthy":
9831845 - http-media
9841846
9851847 "Greg V <greg@unrelenting.technology> @myfreeweb":
986− - gitson
9871848 - pcre-heavy
9881849 - http-link-header
989− # - microformats2-parser # BLOCKED haskell-src-exts 1.18 via aeson-qq
1850+ - microformats2-parser
9901851 - hspec-expectations-pretty-diff
1852+ - wai-cli
1853+ - magicbane
9911854
9921855 "Francesco Mazzoli <f@mazzo.li> @bitonic":
993− []
994− # - language-c-quote # BLOCKED haskell-src-exts 1.18
1856+ - language-c-quote
9951857
9961858 "Sönke Hahn <soenkehahn@gmail.com> @soenkehahn":
997− # - generics-eot # BLOCKED haskell-src-exts 1.18 via interpolate
1859+ - generics-eot
9981860 - getopt-generics
9991861 - graph-wrapper
10001862 - string-conversions
1863+ - hspec-checkers
1864+ - FindBin
10011865
10021866 "Jan Stolarek <jan.stolarek@p.lodz.pl> @jstolarek":
10031867 - tasty-program
10041868
1005− "Oleg Grenrus <oleg.grenrus@iki.fi> @phadej":
1006− - aeson-compat
1007− - aeson-extra
1008− - binary-orphans
1009− - binary-tagged
1010− - edit-distance
1011− - generics-sop-lens
1012− # GHC 8 - github
1013− - insert-ordered-containers
1014− - JuicyPixels-scale-dct
1015− - lattices
1016− - monad-http
1017− - postgresql-simple-url
1018− - range-set-list
1019− - regex-applicative-text
1020− - servant-swagger-ui
1021− - servant-yaml
1022− - singleton-bool
1023− - spdx
1024− - these
1025− - time-parsers
1026− - waitra
1027−
1028− # Not a maintainer
1029− - arithmoi
1030− - friendly-time
1031− - hashable
1032− # GHC 8 - haxl
1033− - monad-time
1034− - packdeps
1035− - recursion-schemes
1036− - unordered-containers
1037−
1038− # fft
1039− - carray
1040− - ix-shapable
1041− - fft
1042−
1043− # Regex packages by Chris Kuklewicz
1044− - regex-base
1045− - regex-compat
1046− # 0.91 Compilation failure due to -Werror - regex-dfa
1047− # 0.90 Compilation failure due to -Werror - regex-parsec
1048− - regex-pcre
1049− - regex-posix
1050− - regex-tdfa
1051− # GHC 8 - regex-tdfa-utf8
1052− # 0.91 Compilation failure due to -Werror - regex-tre
1053−
1054− # Universe
1055− - universe
1056− - universe-base
1057− - universe-instances-base
1058− - universe-instances-extended
1059− - universe-instances-trans
1060− - universe-reverse-instances
1061−
10621869 "Abhinav Gupta <mail@abhinavg.net> @abhinav":
10631870 - farmhash
10641871 - pinch
1065− - sandman
1066− - language-thrift
1872+ - sandman < 0 # 0.2.0.1 compile fail (Cabal 3)
10671873
10681874 "Adam C. Foltzer <acfoltzer@galois.com> @acfoltzer":
1069− - cryptol
10701875 - gitrev
10711876 - persistent-refs
10721877
10731878 "Luke Taylor <tekul.hs@gmail.com> @tekul":
1074− - jose-jwt # BLOCKED haskell-src-exts 1.18 via aeson-qq
1879+ - jose-jwt
10751880
10761881 "Brendan Hay <brendan.g.hay@gmail.com> @brendanhay":
1077− # BLOCKED http-conduit 2.2
1078− # - amazonka
1079− # - amazonka-core
1080− # - amazonka-test
1081− # - amazonka-apigateway
1082− # - amazonka-application-autoscaling
1083− # - amazonka-autoscaling
1084− # - amazonka-certificatemanager
1085− # - amazonka-cloudformation
1086− # - amazonka-cloudfront
1087− # - amazonka-cloudhsm
1088− # - amazonka-cloudsearch-domains
1089− # - amazonka-cloudsearch
1090− # - amazonka-cloudtrail
1091− # - amazonka-cloudwatch-events
1092− # - amazonka-cloudwatch-logs
1093− # - amazonka-cloudwatch
1094− # - amazonka-codecommit
1095− # - amazonka-codedeploy
1096− # - amazonka-codepipeline
1097− # - amazonka-cognito-identity
1098− # - amazonka-cognito-idp
1099− # - amazonka-cognito-sync
1100− # - amazonka-config
1101− # - amazonka-datapipeline
1102− # - amazonka-devicefarm
1103− # - amazonka-directconnect
1104− # - amazonka-discovery
1105− # - amazonka-dms
1106− # - amazonka-ds
1107− # - amazonka-dynamodb-streams
1108− # - amazonka-dynamodb
1109− # - amazonka-ec2
1110− # - amazonka-ecr
1111− # - amazonka-ecs
1112− # - amazonka-efs
1113− # - amazonka-elasticache
1114− # - amazonka-elasticbeanstalk
1115− # - amazonka-elasticsearch
1116− # - amazonka-elastictranscoder
1117− # - amazonka-elb
1118− # - amazonka-emr
1119− # - amazonka-gamelift
1120− # - amazonka-glacier
1121− # - amazonka-iam
1122− # - amazonka-importexport
1123− # - amazonka-inspector
1124− # - amazonka-iot-dataplane
1125− # - amazonka-iot
1126− # - amazonka-kinesis
1127− # - amazonka-kinesis-firehose
1128− # - amazonka-kms
1129− # - amazonka-lambda
1130− # - amazonka-marketplace-analytics
1131− # - amazonka-marketplace-metering
1132− # - amazonka-ml
1133− # - amazonka-opsworks
1134− # - amazonka-rds
1135− # - amazonka-redshift
1136− # - amazonka-route53-domains
1137− # - amazonka-route53
1138− # - amazonka-s3
1139− # - amazonka-sdb
1140− # - amazonka-ses
1141− # - amazonka-sns
1142− # - amazonka-sqs
1143− # - amazonka-ssm
1144− # - amazonka-storagegateway
1145− # - amazonka-sts
1146− # - amazonka-support
1147− # - amazonka-swf
1148− # - amazonka-waf
1149− # - amazonka-workspaces
1150− # - gogol # https://github.com/brendanhay/gogol/issues/38
1151− - gogol-core
1882+ - amazonka
1883+ - amazonka-core
1884+ - amazonka-test
1885+ - amazonka-apigateway
1886+ - amazonka-application-autoscaling
1887+ - amazonka-appstream
1888+ - amazonka-athena
1889+ - amazonka-autoscaling
1890+ - amazonka-budgets
1891+ - amazonka-certificatemanager
1892+ - amazonka-cloudformation
1893+ - amazonka-cloudfront
1894+ - amazonka-cloudhsm
1895+ - amazonka-cloudsearch
1896+ - amazonka-cloudsearch-domains
1897+ - amazonka-cloudtrail
1898+ - amazonka-cloudwatch
1899+ - amazonka-cloudwatch-events
1900+ - amazonka-cloudwatch-logs
1901+ - amazonka-codebuild
1902+ - amazonka-codecommit
1903+ - amazonka-codedeploy
1904+ - amazonka-codepipeline
1905+ - amazonka-cognito-identity
1906+ - amazonka-cognito-idp
1907+ - amazonka-cognito-sync
1908+ - amazonka-config
1909+ - amazonka-datapipeline
1910+ - amazonka-devicefarm
1911+ - amazonka-directconnect
1912+ - amazonka-discovery
1913+ - amazonka-dms
1914+ - amazonka-ds
1915+ - amazonka-dynamodb
1916+ - amazonka-dynamodb-streams
1917+ - amazonka-ec2 < 0 # takes too much memory to build https://github.com/brendanhay/amazonka/issues/549
1918+ - amazonka-ecr
1919+ - amazonka-ecs
1920+ - amazonka-efs
1921+ - amazonka-elasticache
1922+ - amazonka-elasticbeanstalk
1923+ - amazonka-elasticsearch
1924+ - amazonka-elastictranscoder
1925+ - amazonka-elb
1926+ - amazonka-elbv2
1927+ - amazonka-emr
1928+ - amazonka-gamelift
1929+ - amazonka-glacier
1930+ - amazonka-glue
1931+ - amazonka-health
1932+ - amazonka-iam
1933+ - amazonka-importexport
1934+ - amazonka-inspector
1935+ - amazonka-iot
1936+ - amazonka-iot-dataplane
1937+ - amazonka-kinesis
1938+ - amazonka-kinesis-analytics
1939+ - amazonka-kinesis-firehose
1940+ - amazonka-kms
1941+ - amazonka-lambda
1942+ - amazonka-lightsail
1943+ - amazonka-marketplace-analytics
1944+ - amazonka-marketplace-metering
1945+ - amazonka-ml
1946+ - amazonka-opsworks
1947+ - amazonka-opsworks-cm
1948+ - amazonka-pinpoint
1949+ - amazonka-polly
1950+ - amazonka-rds
1951+ - amazonka-redshift
1952+ - amazonka-rekognition
1953+ - amazonka-route53
1954+ - amazonka-route53-domains
1955+ - amazonka-s3
1956+ - amazonka-sdb
1957+ - amazonka-servicecatalog
1958+ - amazonka-ses
1959+ - amazonka-shield
1960+ - amazonka-sms
1961+ - amazonka-snowball
1962+ - amazonka-sns
1963+ - amazonka-sqs
1964+ - amazonka-ssm
1965+ - amazonka-stepfunctions
1966+ - amazonka-storagegateway
1967+ - amazonka-sts
1968+ - amazonka-support
1969+ - amazonka-swf
1970+ - amazonka-waf
1971+ - amazonka-workspaces
1972+ - amazonka-xray
1973+ # gogol-* disabled due to `gogol-core` due to `servant`: #6089/closed
1974+ - gogol
1975+ - gogol-core < 0 # 0.5.0 compile fail
11521976 - gogol-adexchange-buyer
11531977 - gogol-adexchange-seller
11541978 - gogol-admin-datatransfer
@@ -1245,7 +2069,7 @@ packages:
12452069 - gogol-youtube-analytics
12462070 - gogol-youtube-reporting
12472071 - ede
1248− - pagerduty
2072+ - pagerduty < 0 # 0.0.8 compile fail with GHC 8.4 https://github.com/brendanhay/pagerduty/issues/10
12492073 - semver
12502074 - text-manipulate
12512075
@@ -1253,83 +2077,79 @@ packages:
12532077 - cabal-file-th
12542078
12552079 "Gershom Bazerman <gershomb@gmail.com> @gbaz":
1256− # - jmacro # BLOCKED haskell-src-exts 1.18
1257− # - jmacro-rpc # BLOCKED haskell-src-exts 1.18
1258− # - jmacro-rpc-happstack # BLOCKED haskell-src-exts 1.18
1259− # via snap-core - jmacro-rpc-snap
2080+ - jmacro
2081+ - jmacro-rpc
2082+ - jmacro-rpc-snap
2083+ - jmacro-rpc-happstack
2084+
12602085 - mbox
12612086 - kmeans
12622087 - boolsimplifier
12632088 - cubicspline
12642089 - maximal-cliques
12652090
1266− "Alexander Bondarenko <aenor.realm@gmail.com> @wiz":
2091+ "Alexander Bondarenko <aenor.realm@gmail.com> @dpwiz":
2092+ - hedn
12672093 - soap
12682094 - soap-tls
12692095 - soap-openssl
12702096
12712097 "Andres Löh <andres@well-typed.com> @kosmikus":
12722098 - generics-sop
2099+ - records-sop
2100+ - sop-core
12732101
12742102 "Vivian McPhail <haskell.vivian.mcphail@gmail.com> @amcphail":
12752103 - hmatrix-gsl-stats
12762104 - hsignal
12772105 - hstatistics
12782106 - plot
1279− - plot-gtk
1280− - plot-gtk3
1281−
12822107 - vector-buffer
1283− # 0.1.2.1 Compilation failure against hmatrix https://github.com/amcphail/hmatrix-repa/issues/2 - hmatrix-repa
2108+ - hmatrix-repa
12842109
12852110 "Noam Lewis <jones.noamle@gmail.com> @sinelaw":
1286− # via hxt-tagsoup - xml-to-json
2111+ - xml-to-json
12872112 - xml-to-json-fast
2113+ - wl-pprint
2114+ # not a maintainer
2115+ - hxt-curl
2116+ - hxt-expat
2117+ - hxt-tagsoup
2118+ - hexpat
12882119 - digits
1289− - unification-fd
12902120 - logict
1291− - resolve-trivial-conflicts
1292− - wl-pprint
12932121 - leveldb-haskell
12942122 - system-argv0
12952123 - markdown-unlit
12962124
1297− "Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk> @Fuuzetsu":
1298− # 0.4.1.1 compilation failure against GHC 8 - aeson-schema
1299− - H
1300− - inline-r
1301−
1302− # "David Fox <dsf@seereason.com> @ddssff":
1303− # GHC bug https://github.com/ddssff/debian-haskell/issues/6 - debian
1304− # via memoize - cabal-debian
1305−
1306− "Stefan Saasen <stefan@saasen.me> @juretta":
2125+ "Brian McKenna <brian@brianmckenna.org> @puffnfresh":
13072126 - jwt
13082127
13092128 "Sven Bartscher sven.bartscher@weltraumschlangen.de @kritzefitz":
13102129 - setlocale
13112130
1312− "John Chee <cheecheeo+stackage@gmail.com> @chee1bot":
1313− - cgi
1314−
13152131 "Taylor Fausak <taylor@fausak.me> @tfausak":
13162132 - autoexporter
1317− - bento
1318− - bmp # Maintained by @benl23x5.
1319− # GHC 8 - ekg-statsd # Maintained by @tibbe.
2133+ - burrito
2134+ - derulo
13202135 - flow
1321− # via uri-templater - github-release
1322− - gloss # Maintained by @benl23x5.
1323− - gloss-rendering # Maintained by @benl23x5.
1324− - gpolyline # Maintained by @fegu.
2136+ - github-release
2137+ - json-feed
13252138 - lackey
1326− - octane
1327− - overloaded-records # Maintained by @trskop.
2139+ - list-singleton
2140+ - rampart
13282141 - ratel
13292142 - ratel-wai
2143+ - rattletrap
2144+ - salve
2145+ - splint
13302146 - strive
2147+ - witch
13312148 - wuss
13322149
2150+ - bmp # @benl23x5
2151+ - gpolyline # @fegu
2152+
13332153 "Marios Titas <redneb@gmx.com> @redneb":
13342154 - HsOpenSSL-x509-system
13352155 - adler32
@@ -1344,161 +2164,186 @@ packages:
13442164 - prometheus-client
13452165 - prometheus-metrics-ghc
13462166 - scalpel
2167+ - scalpel-core
13472168 - wai-middleware-prometheus
13482169
13492170 "William Casarin <bill@casarin.me> @jb55":
13502171 - bson-lens
13512172 - cased
2173+ - elm-export
2174+ - elm-export-persistent
13522175 - pipes-csv
13532176 - pipes-mongodb
2177+ - servant-elm
2178+ - servant-streaming
2179+ - servant-streaming-client
2180+ - servant-streaming-server
13542181 - skeletons
13552182
1356− # "Smirnov Alexey <chemistmail@gmail.com> @chemist":
1357− # GHC 8 - snmp
1358− # GHC 8 - agentx
1359−
13602183 "David Raymond Christiansen <david@davidchristiansen.dk> @david-christiansen":
13612184 - annotated-wl-pprint
13622185
13632186 "Yitz Gale <gale@sefer.org> @ygale":
2187+ - boolean-normal-forms
2188+ - strict-concurrency
13642189 - timezone-series
13652190 - timezone-olson
13662191
1367− "Josh Holland <josh@inv.alid.pw> @jshholland":
1368− - sandi
1369− - data-ordlist
1370− - xmonad
1371−
13722192 "Harry Garrood <harry@garrood.me> @hdgarrood":
13732193 - aeson-better-errors
13742194
13752195 "Mitchell Rosen <mitchellwrosen@gmail.com> @mitchellwrosen":
1376− - language-lua2
2196+ - ki
13772197 - tasty-hspec
2198+ - termbox
2199+ - text-ansi
2200+ - timer-wheel
13782201
1379− "Christiaan Baaij <christiaan.baaij@gmail.com> @christiaanb":
2202+ "QBayLogic B.V. <devops@qbaylogic.com> @martijnbastiaan":
13802203 - ghc-tcplugins-extra
13812204 - ghc-typelits-extra
13822205 - ghc-typelits-knownnat
13832206 - ghc-typelits-natnormalise
13842207 - clash-prelude
13852208 - clash-lib
1386− - clash-vhdl
1387− - clash-verilog
1388− - clash-systemverilog
1389− # GHC 8 - clash-ghc
2209+ - clash-ghc
2210+
2211+ "Martijn Bastiaan <martijn@hmbastiaan.nl> @martijnbastiaan":
2212+ - aeson-pretty
2213+ - doctest-parallel
13902214
13912215 "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
13922224 - commutative
1393− # via digestive functors - digestive-functors-lucid
1394− - ltext
2225+ - composition-extra
2226+ - every
2227+ - extractable-singleton
2228+ - follow-file
2229+ - HSet < 0 # 0.0.1 compile fail: duplicate Hashable instance
13952230 - markup
1396− # via poly-arity - nested-routes
2231+ - monad-control-aligned
2232+ - monadoid
2233+ - n-tuple
13972234 - path-extra
1398− # via HList - poly-arity (sent e-mail to HList maintainer)
1399− - urlpath
1400− - wai-transformers
1401− # - wai-middleware-content-type # BLOCKED aeson 1.0 via pandoc
1402− # - wai-middleware-verbs # BLOCKED aeson 1.0 via pandoc
1403− - webpage
1404− - composition-extra
2235+ - pred-set
2236+ - pred-trie
2237+ - path-extra
2238+ - poly-arity
2239+ - quickcheck-combinators
14052240 - rose-trees
14062241 - sets
2242+ - since
14072243 - timemap
2244+ - tmapchan
2245+ - tmapmvar
14082246 - tries
1409− - path-extra
1410− # via poly-arity - pred-trie
1411− - pred-set
1412− - HSet
2247+ - unit-constraint
2248+ - unfoldable-restricted
2249+ - urlpath
2250+ - wai-transformers
2251+ - websockets-rpc
2252+ - websockets-simple
2253+ - webpage
2254+ - ws
14132255
14142256 "Fumiaki Kinoshita <fumiexcel@gmail.com> @fumieval":
14152257 - boundingboxes
14162258 - control-bool
1417− - extensible
2259+ - drinkery
14182260 - monad-skeleton
1419− - objective
1420− - witherable
14212261 - xml-lens
2262+ - witherable
2263+ - deriving-aeson
14222264
14232265 "Peter Harpending <peter@harpending.org> @pharpend":
14242266 - editor-open
1425− - exceptional
1426− - optparse-helper
2267+ - exceptional < 0 # 0.3.0.0 MonadFail
14272268 - pager
14282269 - semiring-simple
14292270
14302271 "Philipp Hausmann <ph_git@314.ch> @phile314":
1431− - tasty-silver
2272+ - language-thrift
14322273
14332274 "Michael Thompson <what_is_it_to_do_anything@yahoo.com> @michaelt":
14342275 - pipes-text
14352276 - lens-simple
14362277 - lens-family-core
14372278 - lens-family
1438− - streaming
1439− - streaming-bytestring
1440−
14412279
14422280 "Justin Le <justin@jle.im> @mstksg":
2281+ - advent-of-code-api
14432282 - auto
2283+ - backprop
2284+ - bins
2285+ - conduino
14442286 - 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
14452297 - prompt
2298+ - servant-cli
14462299 - tagged-binary
2300+ - type-combinators-singletons
14472301 - typelits-witnesses
14482302 - uncertain
2303+ - vector-sized
14492304
14502305 "Ian Duncan <ian@iankduncan.com> @iand675":
14512306 - feature-flags
14522307 - metrics
14532308 - pipes-wai
14542309 - serf
1455− # 0.2.0.0 compilation failure - uri-templater
1456− # via uri-templater - librato
1457− # bounds - datadog
1458− - http-types
1459− # bounds - engine-io-growler
1460− # bounds - flowdock
1461− # GHC 8 - growler
2310+ - uri-templater
2311+ - data-sketches
2312+ - data-sketches-core
14622313
14632314 "Michael Xavier <michael@michaelxavier.net> @MichaelXavier":
1464− - angel
1465− # - uri-bytestring # haskell-src-exts 1.18 via derive
1466− # Can't build on stackage server https://github.com/MichaelXavier/phash/issues/5 - phash
1467− # - cron # haskell-src-exts 1.18 via derive
1468− # GHC 8 - tasty-tap
1469− # via tasty-tap - tasty-fail-fast
2315+ - uri-bytestring
2316+ - cron
2317+ - tasty-tap
2318+ - tasty-fail-fast
14702319 - drifter
14712320 - drifter-postgresql
2321+ - drifter-sqlite
14722322
14732323 "Lars Kuhtz <lakuhtz@gmail.com> @larskuhtz":
14742324 - wai-cors
14752325 - configuration-tools
2326+ - random-bytestring
14762327
14772328 "Sam Rijs <srijs@airpost.net> @srijs":
14782329 - ndjson-conduit
1479− # GHC 8 - attoparsec-trans
14802330 - operational-class
14812331 - result
14822332
1483− # "Anupam Jain <ajnsit@gmail.com> @ajnsit":
1484− # GHC 8 - wai-routes
1485−
14862333 "Daniel Patterson <dbp@dbpmail.net> @dbp":
1487− # GHC 8 - hspec-snap
14882334 - hworker
1489− # - hworker-ses BLOCKED amazonka-core
14902335 - fn
1491− # via heist - fn-extra
1492−
1493− "Chris Wong <lambda.fairy@gmail.com> @lfairy":
1494− - nationstates
14952336
14962337 "Mathieu Boespflug <mboes@tweag.net> @mboes":
1497− # via ihaskell & via ihaskell-blaze - ihaskell-inline-r
1498− - cassette
2338+ - choice
14992339 - distributed-closure
1500− - H
2340+ - inline-java
15012341 - inline-r
2342+ - jni < 0 # compile fail
2343+ - jvm
2344+ - jvm-streaming
2345+ - H
2346+ - sparkle
15022347 - th-lift
15032348
15042349 "Christopher Reichert <creichert07@gmail.com> @creichert":
@@ -1508,31 +2353,12 @@ packages:
15082353 - wai-middleware-throttle
15092354 - yesod-auth-basic
15102355
1511− # "Alcides Viamontes <a.viamontes.esquivel@gmail.com> @alcidesv":
1512− # GHC 8 - second-transfer
1513−
1514− # "Hirotomo Moriwaki <philopon.dependence@gmail.com> @philopon":
1515− # GHC 8 & bounds - apiary
1516− # GHC 8 & bounds - apiary-logger
1517− # GHC 8 & bounds - apiary-persistent
1518− # GHC 8 & bounds - apiary-websockets
1519− # GHC 8 & bounds - apiary-cookie
1520− # GHC 8 & bounds - apiary-session
1521− # GHC 8 & bounds - apiary-clientsession
1522− # GHC 8 & bounds - apiary-authenticate
1523− # GHC 8 & bounds - apiary-eventsource
1524− # GHC 8 & bounds - apiary-mongoDB
1525− # GHC 8 & bounds - apiary-memcached
1526− # GHC 8 - types-compat
1527− # GHC 8 - web-routing
1528− # GHC 8 - bytestring-read
1529− # GHC 8 & bounds - memcached-binary
1530− # GHC 8 - barrier
1531− # GHC 8 - haddocset
2356+ "Hirotomo Moriwaki <philopon.dependence@gmail.com> @philopon":
2357+ - barrier
15322358
15332359 "Kai Zhang <kai@kzhang.org> @kaizhang":
1534− - clustering
15352360 - matrices
2361+ - haskell-igraph < 0 # 0.8.0 compile fail ghc 8.10.1 #5440/closed
15362362
15372363 "Michel Boucey <michel.boucey@gmail.com> @MichelBoucey":
15382364 - IPv6Addr
@@ -1541,56 +2367,68 @@ packages:
15412367 - Spintax
15422368 - glabrous
15432369 - google-oauth2-jwt
2370+ - IPv6DB
2371+ - gothic
2372+ - NanoID
15442373
15452374 "koral koral@mailoo.org @k0ral":
1546− # - atom-conduit # BLOCKED haskell-src-exts 1.18 via derive/uri-bytestring
2375+ - atom-conduit
15472376 - conduit-parse
1548− # - opml-conduit # BLOCKED haskell-src-exts 1.18 via derive/uri-bytestring
1549− # - rss-conduit # BLOCKED haskell-src-exts 1.18 via derive/uri-bytestring
1550− # - imm # BLOCKED haskell-src-exts 1.18 via derive/uri-bytestring
2377+ - dublincore-xml-conduit
2378+ - euler-tour-tree
2379+ - opml-conduit
2380+ - rss-conduit
15512381 - timerep
15522382 - xml-conduit-parse
15532383
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+
15542395 "Kostiantyn Rybnikov <k-bx@k-bx.com> @k-bx":
1555− - protocol-buffers
1556− # - hprotoc # https://github.com/k-bx/protocol-buffers/issues/45
1557− - protocol-buffers-descriptor
1558− - ekg-core
2396+ - SHA
2397+ - currency
2398+ - data-ordlist
15592399 - digits
2400+ - dns
2401+ - friday
2402+ - friday-juicypixels
15602403 - hbeanstalk
2404+ - hedis
2405+ - hprotoc
2406+ - hsyslog-udp
15612407 - iso3166-country-codes
15622408 - iso639
1563− - murmur-hash
15642409 - monoidal-containers
2410+ - murmur-hash
2411+ - protocol-buffers
2412+ - protocol-buffers-descriptor
15652413 - regex-pcre
1566− - string-combinators
15672414 - string-class
1568− - SHA
1569− - data-ordlist
1570− # - cron # BLOCKED haskell-src-exts 1.18 via derive
1571− - hedis
2415+ - string-combinators
15722416
15732417 "Rob O'Callahan ropoctl@gmail.com @rcallahan":
15742418 - pipes-fastx
1575− # - pipes-illumina # BLOCKED pipes 4.2 via pipes-bgzf
15762419 - seqalign
1577− - thermonuc
1578− - xlsior
15792420
15802421 "John Lenz <wuzzeb@gmail.com> @wuzzeb":
1581− - yesod-auth-account
15822422 - yesod-static-angular
1583− # - hspec-webdriver # https://github.com/kallisti-dev/hs-webdriver/issues/98
1584− # - webdriver-angular # https://github.com/kallisti-dev/hs-webdriver/issues/98
2423+ - hspec-webdriver
2424+ - webdriver-angular
15852425
15862426 "Sven Heyll <svh@posteo.de> @sheyll":
15872427 - b9
15882428 - type-spec
15892429 - pretty-types
1590−
1591− "Will Thompson <will@willthompson.co.uk> @wjt":
1592− []
1593− # - bustle https://github.com/vasylp/hgettext/issues/10
2430+ - function-builder
2431+ - bytestring-to-vector
15942432
15952433 "Jakub Fijałkowski <kuba@codinginfinity.me> @jakubfijalkowski":
15962434 - hlibsass
@@ -1599,42 +2437,36 @@ packages:
15992437 "Robert Massaioli <robertmassaioli@gmail.com> @robertmassaioli":
16002438 - range
16012439
1602− "Index Int <vlad.z.4096@gmail.com> @int-index":
2440+ "Vladislav Zavialov <vlad.z.4096@gmail.com> @int-index":
16032441 - transformers-lift
1604− - ether
16052442 - union
2443+ - named
2444+ - inj
2445+ - shower
16062446
16072447 "Stack Builders stackage@stackbuilders.com @stackbuilders":
16082448 - atomic-write
2449+ - dbcleaner
2450+ - dotenv
16092451 - hapistrano
2452+ - hspec-golden
16102453 - inflections
1611− - twitter-feed
1612− - cassava-megaparsec
1613− - dotenv
16142454 - stache
2455+ - scalendar
16152456
16162457 "Sergey Alirzaev <zl29ah@gmail.com> @l29ah":
16172458 - monad-peel
16182459 - NineP
1619− # GHC 8 - Network-NineP
1620−
1621− "Oliver Charles <ollie@ocharles.org.uk> @ocharles":
1622− # GHC 8 - engine-io
1623− - diff3
1624− # GHC 8 & bounds - digestive-functors-aeson
1625− # GHC 8 - exhaustive
1626− # GHC 8 - libsystemd-journal
1627− # GHC 8 - network-carbon
1628− # GHC 8 - socket-io
1629− - tasty-rerun
1630−
1631− # "Scott Murphy <scott.murphy@plowtech.net> @smurphy8":
2460+ - Network-NineP
16322461
16332462 "Antoni Silvestre <antoni.silvestre@gmail.com> @asilvestre":
16342463 # Test suite needs a running neo4j server with auth disabled
16352464 # unfortunately the cabal package name and the github repo don't have the exact same name
16362465 # package name is haskell-neo4j-client github name is haskell-neo4j-rest-client
1637− - 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
16382470
16392471 "Alexey Khudyakov <alexey.skladnoy@gmail.com> @Shimuuar":
16402472 - histogram-fill
@@ -1643,160 +2475,186 @@ packages:
16432475 - type-level-numbers
16442476
16452477 "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
16462483 - base-orphans
2484+ - chaselev-deque
16472485 - code-page
2486+ - constraint-tuples
2487+ - criterion
2488+ - criterion-measurement
2489+ - data-reify
16482490 - deriving-compat
2491+ - dotgen
2492+ - echo
2493+ - eliminators
16492494 - generic-deriving
2495+ - ghc-bignum-orphans
16502496 - hashmap
2497+ - indexed-traversable-instances
16512498 - invariant
16522499 - keycode
16532500 - lift-generics
2501+ - mintty
2502+ - monad-par
2503+ - monad-par-extras
16542504 - mtl-compat
2505+ - ordered-containers
16552506 - proxied
2507+ - rdtsc
2508+ - singleton-nats
2509+ - singletons-base
2510+ - singletons-th
16562511 - text-show
16572512 - text-show-instances
2513+ - th-abstraction
2514+ - th-compat
2515+ - thread-local-storage
2516+ - type-equality
16582517
16592518 "Kirill Zaborsky <qrilka@gmail.com> @qrilka":
16602519 - xlsx
16612520
16622521 "Matt Parsons <parsonsmatt@gmail.com> @parsonsmatt":
16632522 - 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
16642542
16652543 "Matthew Pickering <matthewtpickering@gmail.com> @mpickering":
16662544 - refact
1667− # bounds - servant-pandoc
1668− - ghc-exactprint
1669− - apply-refact
16702545
1671− # "Andrew Gibiansky <andrew.gibiansky@gmail.com> @gibiansky":
1672− # GHC 8 - ihaskell
1673− # via ihaskell - ihaskell-aeson
1674− # via ihaskell - ihaskell-basic
1675− # via ihaskell - ihaskell-blaze
1676− # via ihaskell - ihaskell-charts
1677− # via ihaskell - ihaskell-diagrams
1678− # via ihaskell - ihaskell-hatex
1679− # via ihaskell - ihaskell-juicypixels
1680− # via ihaskell - ihaskell-magic
1681− # via ihaskell - ihaskell-rlangqq
1682− # via ihaskell - ihaskell-static-canvas
1683− # GHC 8 - ghc-parser
1684− # GHC 8 - ipython-kernel
1685−
1686− "Andrés Sicard-Ramírez <asr@eafit.edu.co> @asr":
1687− []
1688− # - Agda # BLOCKED haskell-src-exts 1.18
2546+ "Andrew Gibiansky <andrew.gibiansky@gmail.com> @gibiansky":
2547+ - ipython-kernel
16892548
16902549 "James Cook <mokus@deepbondi.net> @mokus0":
2550+ - dependent-map
16912551 - dependent-sum
16922552 - dependent-sum-template
1693− - dependent-map
16942553 - dice
16952554 - hstatsd
16962555 - misfortune
16972556
16982557 "Timo von Holtz <tvh@tvholtz.de> @tvh":
1699− # via haxl - haxl-amazonka
2558+ - ekg-wai
2559+ - haxl-amazonka
2560+ - hasql-migration
17002561 - servant-JuicyPixels
17012562
1702− "Artyom <yom@artyom.me> @neongreen":
2563+ "Artyom Kazak <artyom@artyom.me> @neongreen":
17032564 - microlens
17042565 - microlens-platform
17052566 - microlens-mtl
17062567 - microlens-th
17072568 - microlens-ghc
17082569 - microlens-contra
1709− - shortcut-links
1710− - cheapskate-lucid
17112570 - cheapskate-highlight
2571+ - cheapskate-lucid
17122572 - cmark-lucid
17132573 - cmark-highlight
17142574 - Spock-lucid
17152575 - charsetdetect-ae
1716− - ilist
17172576 - text-all
17182577
17192578 "Takano Akio tak@anoak.io @takano-akio":
17202579 - fast-builder
17212580 - filelock
1722− - euphoria
1723−
1724− "Ashley Moni ashley.moni1@gmail.com @AshleyMoni":
1725− - quadtree
17262581
17272582 "Brian Lewis brian@lorf.org @bsl":
17282583 - bindings-GLFW
17292584 - GLFW-b
17302585
17312586 "Niklas Hambüchen mail@nh2.me @nh2":
2587+ - conduit-concurrent-map
17322588 - hidapi
17332589 - iso8601-time
17342590 - loop
2591+ - lz4-frame-conduit
17352592 - netpbm
1736− - network-house
2593+ - network-house < 0 # 0.1.0.2 compile failure MonadFail
17372594 - reinterpret-cast
2595+ - shared-memory
2596+ - posix-paths
17382597 # As dependencies of packages above
17392598 - attoparsec-binary
1740− - storable-record
1741−
1742− "Brandon Martin <brandon@codedmart.com> @codedmart":
1743− []
1744− # GHC 8 & via engine-io - engine-io-wai
1745− # - rethinkdb # BLOCKED aeson 1.0
17462599
17472600 "Michael Walker <mike@barrucadu.co.uk> @barrucadu":
17482601 - both
17492602 - concurrency
1750− - dpor
17512603 - dejafu
1752− - async-dejafu
17532604 - hunit-dejafu
17542605 - tasty-dejafu
17552606 - irc-ctcp
17562607 - irc-conduit
17572608 - irc-client
17582609
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+
17592623 "Trevor Elliott <awesomelyawesome@gmail.com> @elliottt":
17602624 - irc
17612625
17622626 "Dennis Gosnell <cdep.illabout@gmail.com> @cdepillabout":
1763− - emailaddress
17642627 - envelope
1765− # - hailgun # BLOCKED http-client 0.5
1766− # GHC 8 - ig
2628+ - from-sum
17672629 - natural-transformation
1768− - opaleye-trans
2630+ - password
2631+ - password-instances
2632+ - password-types
2633+ - pretty-simple
2634+ - print-console-colors
17692635 - read-env-var
1770− - 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
17712644
17722645 "Franklin Chen <franklinchen@franklinchen.com> @FranklinChen":
17732646 - Ebnf2ps
17742647
1775− "Dmitry Ivanov <ethercrow@gmail.com> @ethercrow":
1776− - charsetdetect-ae
1777− - docopt
1778− - dynamic-state
1779− - dyre
1780− - io-storage
1781− - oo-prototypes
1782− - pointedlist
1783− - word-trie
1784− - xdg-basedir
1785− # - yi # BLOCKED QuickCheck 2.9
1786− # - yi-fuzzy-open # BLOCKED QuickCheck 2.9
1787− - yi-language
1788− - yi-rope
1789−
1790− # "Tobias Bexelius <tobias_bexelius@hotmail.com> @tobbebex":
1791− # GHC 8 - GPipe
1792−
1793− # "Patrick Redmond <plredmond@gmail.com> @plredmond":
1794− # GHC 8 - GPipe-GLFW
1795−
1796− # "Csaba Hruska <csaba.hruska@gmail.com> @csabahruska":
1797− # GHC 8 - lambdacube-ir
1798− # GHC 8 & via wavefront - lambdacube-gl
1799− # GHC 8 & bounds - lambdacube-compiler
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
18002658
18012659 "Spencer Janssen <spencerjanssen@gmail.com> @spencerjanssen":
18022660 - Xauth
@@ -1804,38 +2662,41 @@ packages:
18042662 "Sebastian de Bellefon <arnaudpourseb@gmail.com> @Helkafen":
18052663 - wai-middleware-metrics
18062664
1807− "Stefan Berthold":
1808− - smallcaps
1809−
18102665 "Gregory Collins <greg@gregorycollins.net> @gregorycollins":
18112666 - hashtables
18122667 - io-streams
18132668 - openssl-streams
18142669
1815− "Andrew Cowie <andrew@operationaldynamics.com> @afcowie":
2670+ "Andrew Cowie <istathar@gmail.com> @istathar":
2671+ - chronologique
18162672 - http-common
18172673 - http-streams
1818−
1819− "Devan Stormont <stormont@gmail.com> @stormont":
1820− []
1821− # - forecast-io # BLOCKED aeson 1.0
2674+ - locators
2675+ - core-data
2676+ - core-program
2677+ - core-telemetry
2678+ - core-text
18222679
18232680 "Sean Hunt <scshunt@csclub.uwaterloo.ca @scshunt":
18242681 - cheapskate
18252682
18262683 "Ivan Miljenovic <Ivan.Miljenovic@gmail.com> @ivan-m":
18272684 - fgl
1828− - fgl-arbitrary
18292685 - graphviz
18302686 - wl-pprint-text
2687+ - servant-pandoc
18312688
18322689 "Sharif Olorin <sio@tesser.org> @olorin":
18332690 - quickcheck-text
18342691 - nagios-check
18352692
18362693 "Peter Simons <simons@cryp.to> @peti":
1837− - distribution-nixpkgs
18382694 - cabal2nix
2695+ - cabal2spec
2696+ - cgi
2697+ - distribution-nixpkgs
2698+ - distribution-opensuse
2699+ - flexible-defaults
18392700 - funcmp
18402701 - hackage-db
18412702 - hledger-interest
@@ -1844,26 +2705,39 @@ packages:
18442705 - hsemail
18452706 - hsyslog
18462707 - jailbreak-cabal
2708+ - lambdabot-core
2709+ - lambdabot-irc-plugins
18472710 - language-nix
2711+ - logging-facade-syslog
2712+ - MonadPrompt
18482713 - 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
18492720 - streamproc
2721+ - stringsearch # for cgi
2722+ - titlecase
18502723
18512724 "Mark Fine <mark.fine@gmail.com> @markfine":
18522725 - postgresql-schema
1853− # test failures https://github.com/fpco/stackage/issues/873 - sbp
2726+ - sbp
18542727
18552728 "Jinjing Wang <nfjinjing@gmail.com> @nfjinjing":
18562729 - moesocks
18572730
18582731 "Gregory W. Schwartz <gregory.schwartz@drexel.edu> @GregorySchwartz":
1859− - fasta
18602732 - diversity
2733+ - fasta
18612734 - modify-fasta
18622735 - tree-fun
18632736 - random-tree
18642737 - clumpiness
18652738 - find-clumpiness
18662739 - blosum
2740+ - rank-product
18672741
18682742 "Simon Marechal <bartavelle@gmail.com> @bartavelle":
18692743 - compactmap
@@ -1874,40 +2748,49 @@ packages:
18742748 - withdependencies
18752749 - hruby
18762750 - language-puppet
1877− - http-types
1878− # Doesn't allow http-types >= 0.9.1 - stm-firehose
1879− # GHC 8 & doesn't allow aeson >= 0.11.2.0 & doesn't allow lens >= 4.14 - hslogstash
2751+ - tar-conduit
18802752
1881− "Mark Karpov <markkarpov@opmbx.org> @mrkkrp":
1882− - megaparsec
1883− - htaglib
1884− - slug
1885− - path-io
1886− - hspec-megaparsec
1887− - plan-b
1888− - zip
2753+ "Mark Karpov <markkarpov92@gmail.com> @mrkkrp":
18892754 - 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
18902763 - identicon
2764+ - lame
2765+ - megaparsec
2766+ - megaparsec-tests
2767+ - mmark
2768+ - mmark-cli
2769+ - mmark-ext
2770+ - modern-uri
2771+ - ormolu
18912772 - pagination
1892− - data-check
2773+ - parser-combinators
2774+ - parser-combinators-tests
2775+ - path
2776+ - path-io
2777+ - req
2778+ - req-conduit
2779+ - stache
2780+ - tagged-identity
18932781 - text-metrics
1894−
1895− # "Thomas Bereknyei <tomberek@gmail.com>":
1896− # GHC 8 - multiplate
1897−
1898− # "Sumit Sahrawat <sumit.sahrawat.apm13@iitbhu.ac.in> @sumitsahrawat":
1899− # GHC 8 & via plot - plot-gtk-ui
1900− # GHC 8 - calculator
2782+ - wave
2783+ - zip
19012784
19022785 "Emmanuel Touzery <etouzery@gmail.com> @emmanueltouzery":
19032786 - app-settings
19042787 - hsexif
2788+ - slack-web
19052789
19062790 "Nickolay Kudasov <nickolay.kudasov@gmail.com> @fizruk":
19072791 - http-api-data
1908− # - smsaero # https://github.com/GetShopTV/smsaero/issues/12
19092792 - swagger2
1910− - servant-swagger
2793+ - telegram-bot-simple
19112794
19122795 "Jared Tobin <jared@jtobin.ca> @jtobin":
19132796 - mwc-probability
@@ -1918,93 +2801,66 @@ packages:
19182801 - declarative
19192802 - sampling
19202803 - flat-mcmc
2804+ - urbit-hob
2805+ - hnock
19212806
19222807 "Facundo Domínguez <facundo.dominguez@tweag.io> @facundominguez":
1923− # GHC 8 - distributed-process
1924− # GHC 8 - distributed-process-async
1925− # GHC 8 - distributed-process-client-server
1926− # GHC 8 - distributed-process-execution
1927− # GHC 8 - distributed-process-extras
1928− # GHC 8 - distributed-process-registry
1929− # GHC 8 - distributed-process-simplelocalnet
1930− # GHC 8 - distributed-process-supervisor
1931− # GHC 8 - distributed-process-task
2808+ - distributed-process
2809+ - distributed-process-simplelocalnet
2810+ - distributed-process-tests
19322811 - distributed-static
2812+ - inline-c
2813+ - jvm-batching
19332814 - network-transport
2815+ - network-transport-tests
19342816 - network-transport-tcp
19352817 - network-transport-inmemory
19362818 - network-transport-composed
2819+ - pthread
19372820 - rank1dynamic
19382821
1939− # "Alexander Vershilov <alexander.vershilov@tweag.io> @qnikst":
1940− # https://github.com/qnikst/imagemagick/issues/41 - imagemagick
1941− # GHC 8 - network-transport-zeromq
2822+ "Dave Tapley <dukedave@gmail.com> @dukedave":
2823+ - inline-c-cpp
19422824
1943− "Takahiro Himura <himuratk421@gmail.com> @thimura":
2825+ "Takahiro Himura <himuratk421@gmail.com> @himura":
19442826 - lens-regex
1945− # - twitter-conduit # BLOCKED http-conduit 2.2
1946− # - twitter-types # haskell-src-exts 1.18 via derive
1947− # - twitter-types-lens # haskell-src-exts 1.18 via derive
2827+ - twitter-conduit
2828+ - twitter-types
2829+ - twitter-types-lens
19482830
1949− # "Robbin C. <robbinch33@gmail.com> robbinch":
1950− # via lzma-conduit - zim-parser
2831+ "Robbin C. <robbinch33@gmail.com> @robbinch":
2832+ - zim-parser
19512833
19522834 "David Wiltshire <david.wiltshire@metark.com> @dave77":
19532835 # on behalf of Alexey Karakulov @w3rs
19542836 - hashable-time
19552837
1956− # "Tim Baumann <tim@timbaumann.info> @timjb":
1957− # GHC 8 & via engine-io - engine-io-yesod
1958−
1959− "Tim McGilchrist <timmcgil@gmail.com> @tmcgilchrist":
1960− # bounds - riak
1961− - airship
1962−
19632838 "Yuras Shumovich <shumovichy@gmail.com> @Yuras":
1964− - pdf-toolbox-core
19652839 - pdf-toolbox-content
2840+ - pdf-toolbox-core
19662841 - pdf-toolbox-document
19672842 - io-region
19682843 - scanner
19692844
19702845 "Stanislav Chernichkin <schernichkin@gmail.com> @schernichkin":
1971− # GHC 8 - partial-isomorphisms
1972− - vinyl
2846+ - partial-isomorphisms
19732847
19742848 "Christoph Breitkopf <chbreitkopf@gmail.com> @bokesan":
19752849 - IntervalMap
19762850
19772851 "Michele Lacchia <michelelacchia@gmail.com> @rubik":
1978− - docopt
19792852 - pathwalk
19802853
19812854 "John Galt <jgalt@centromere.net> @centromere":
19822855 - cacophony
1983− - pipes-cacophony
19842856 - blake2
2857+ - nfc
19852858
1986− "Adam Curtis <kallisti.dev@gmail.com> @kallisti-dev":
1987− []
1988− # - webdriver # https://github.com/kallisti-dev/hs-webdriver/issues/98
1989−
1990− "Luke Iannini <lukexi@me.com> @lukexi":
1991− - inline-c
1992− - inline-c-cpp
1993− - ekg
1994−
1995− # "Emin Karayel <me@eminkarayel.de> @ekarayel":
1996− # GHC 8 - sync-mht
19972859
19982860 "Michael Schröder <mc.schroeder@gmail.com> @mcschroeder":
19992861 - ctrie
20002862 - ttrie
20012863
2002− "Greg Weber <greg@gregweber.info> @gregwebs":
2003− - base-noprelude
2004−
2005− # "Andrew Lelechenko <andrew.lelechenko@gmail.com> @Bodigrim":
2006− # Missing test files https://github.com/fpco/stackage/pull/979 - exp-pairs
2007−
20082864 "Stefan Kersten <kaoskorobase@gmail.com> @kaoskorobase":
20092865 - hsndfile
20102866 - hsndfile-vector
@@ -2012,21 +2868,9 @@ packages:
20122868 "yihuang <yi.codeplayer@gmail.com> @yihuang":
20132869 - tagstream-conduit
20142870
2015− # "Johannes Hilden <hildenjohannes@gmail.com> @johanneshilden":
2016− # Missing test files https://github.com/fpco/stackage/issues/1001 - hashids
2017−
2018− # "Joe Hermaszewski <stackage@monoid.al> @expipiplus1":
2019− # GHC 8 & via memoize - exact-real
2020−
2021− # "Jonatan Sundqvist jonatanhsundqvist@gmail.com @SwiftsNamesake":
2022− # bounds - Cartesian
2023− # bounds - Michelangelo
2024−
2025− "Henry J. Wylde <public@hjwylde.com> @hjwylde":
2026− - git-fmt
2027− - omnifmt
2028− # - werewolf # BLOCKED haskell-src-exts 1.18 via interpolate
2029− # - werewolf-slack # BLOCKED http-client 0.5
2871+ "Johannes Hilden <hildenjohannes@gmail.com> @laserpants":
2872+ - hashids
2873+ - fuzzyset
20302874
20312875 "Will Sewell <me@willsewell.com> @willsewell":
20322876 - benchpress
@@ -2035,14 +2879,21 @@ packages:
20352879 "Yorick Laupa yo.eight@gmail.com @YoEight":
20362880 - eventstore
20372881 - dotnet-timespan
2882+ - eventsource-api
2883+ - eventsource-geteventstore-store
2884+ - eventsource-store-specs
2885+ - eventsource-stub-store
20382886
20392887 "Sebastian Dröge slomo@coaxion.net @sdroege":
2040− - conduit-iconv
2888+ - conduit-iconv < 0 # 0.1.1.3 compile fail MonadFail
20412889 - conduit-connection
20422890
20432891 "Andrew Rademacher <andrewrademacher@gmail.com> @AndrewRademacher":
20442892 - aeson-casing
2045− - graylog
2893+ - graylog < 0 # 0.1.0.1 compile fail Couldn't find module Network.BSD
2894+ - parsec-numeric
2895+ - mallard
2896+ - gdax
20462897
20472898 "Callum Rogers @CRogers":
20482899 - should-not-typecheck
@@ -2056,30 +2907,22 @@ packages:
20562907 - pkcs10
20572908
20582909 "David Luposchainsky <dluposchainsky (λ) googles email service> @quchen":
2059− - binary-typed
20602910 - pgp-wordlist
2911+ - show-prettyprint
20612912
20622913 "Jeremy Shaw <jeremy@n-heptane.com> @stepcut":
20632914 - boomerang
2064− # - clckwrks # haskell-src-exts 1.18 via hsx2hs
2065− # - clckwrks-cli # haskell-src-exts 1.18 via hsx2hs
2066− # - clckwrks-plugin-page # haskell-src-exts 1.18 via hsx2hs
2067− # - clckwrks-plugin-media # haskell-src-exts 1.18 via hsx2hs
2068− # - clckwrks-theme-bootstrap # haskell-src-exts 1.18 via hsx2hs
2069− - hackage-whatsnew
2070− # - happstack-authenticate # haskell-src-exts 1.18 via hsx2hs
2071− - happstack-clientsession
2072− # - happstack-hsp # haskell-src-exts 1.18 via hsx2hs
2073− # - happstack-jmacro # BLOCKED haskell-src-exts 1.18 via jmacro
2915+ - happstack-hsp
2916+ - happstack-jmacro
20742917 - happstack-server
20752918 - happstack-server-tls
2076− # - hsx-jmacro # BLOCKED haskell-src-exts 1.18 via jmacro
2919+ - hsx-jmacro
20772920 - ixset
20782921 - reform
20792922 - reform-blaze
20802923 - reform-hamlet
20812924 - reform-happstack
2082− # - reform-hsp # haskell-src-exts 1.18 via hsx2hs
2925+ - reform-hsp
20832926 - userid
20842927 - web-plugins
20852928 - web-routes
@@ -2088,25 +2931,19 @@ packages:
20882931 - web-routes-hsp
20892932 - web-routes-th
20902933 - web-routes-wai
2091− # - hsx2hs # BLOCKED haskell-src-exts 1.18
2934+ - hsx2hs
20922935
20932936 "Pedro Tacla Yamada <tacla.yamada@gmail.com> @yamadapc":
20942937 - ascii-progress
20952938 - drawille
2096− # - extract-dependencies # http-client 0.5 via wreq
20972939 - file-modules
20982940 - frontmatter
20992941 - read-editor
2100− - hspec-setup
2101− # bounds - hzulip
2102− - list-prompt
2103− # GHC 8 - memoization-utils
2104− # - package-description-remote # BLOCKED http-client 0.5 via wreq
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
21052944 - projectroot
21062945 - questioner
2107− # - stack-run-auto # BLOCKED http-client 0.5 via wreq
2108− # - hpack-convert # BLOCKED haskell-src-exts 1.18 via interpolate
2109− - language-dockerfile
2946+ - language-dockerfile < 0 # 0.3.6.0 compile fail https://github.com/beijaflor-io/haskell-language-dockerfile/issues/11
21102947
21112948 "Pascal Hartig <phartig@rdrei.net> @passy":
21122949 - giphy-api
@@ -2115,19 +2952,30 @@ packages:
21152952 "rightfold <rightfold@gmail.com> @rightfold":
21162953 - open-browser
21172954
2118− # "Denis Redozubov <denis.redozubov@gmail.com> @dredozubov":
2119− # GHC 8 - tracy
2955+ "Denis Redozubov <denis.redozubov@gmail.com> @dredozubov":
2956+ - hreader-lens
2957+ - schematic
21202958
21212959 "Yuji Yamamoto <whosekiteneverfly@gmail.com> @igrep":
21222960 - 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
21232971
21242972 "Hans-Christian Esperer <hc@hcesperer.org> @hce":
21252973 - avwx
2974+ - saltine < 0.2.0.0 # https://github.com/tel/saltine/issues/58
21262975 - wai-session-postgresql
21272976
21282977 "Haisheng Wu <freizl@gmail.com> @freizl":
2129− []
2130− # - hoauth2 # BLOCKED aeson 1.0
2978+ - hoauth2 < 2.0 # https://github.com/commercialhaskell/stackage/issues/6424
21312979
21322980 "Falko Peters <falko.peters@gmail.com> @informatikr":
21332981 - scrypt
@@ -2136,11 +2984,10 @@ packages:
21362984 - dawg-ord
21372985
21382986 "Amit Levy <amit@amitlevy.com> @alevy":
2139− # 0.4.1 compilation failure - postgresql-orm
21402987 - simple
21412988 - simple-templates
21422989 - simple-session
2143− # via postgresql-orm - simple-postgresql-orm
2990+ - postgresql-orm
21442991
21452992 "Sergey Astanin <s.astanin@gmail.com> @astanin":
21462993 # Stackage server uses Ubuntu 16.04 which ships libzip-1.0.1.
@@ -2149,25 +2996,33 @@ packages:
21492996 - LibZip >= 1.0
21502997
21512998 "Anthony Cowley <acowley@gmail.com> @acowley":
2999+ - vinyl
21523000 - Frames
3001+ - hpp
21533002
21543003 "Takayuki Muranushi <muranushi@gmail.com> @nushio3":
21553004 - binary-search
2156− - unicode-show
21573005
21583006 "Jason Shipman <jasonpshipman@gmail.com> @jship":
2159− # on behalf of Boris Sukholitko @bosu
2160− - pure-cdb
3007+ - logging-effect-extra
3008+ - logging-effect-extra-file
3009+ - logging-effect-extra-handler
3010+ - overhang
3011+ - tao
3012+ - tao-example
21613013
21623014 "Suhail Shergill <suhailshergill@gmail.com> @suhailshergill":
21633015 - extensible-effects
21643016
21653017 "Justus Adam <dev@justus.science> @JustusAdam":
2166− []
2167− # - mustache # BLOCKED http-client 0.5 via wreq
3018+ - marvin
3019+ - marvin-interpolate
3020+ - mustache < 2.4.0 # https://github.com/commercialhaskell/stackage/issues/6421
3021+ - exit-codes >= 1.0.0
21683022
21693023 "Cindy Wang <cindylinz@gmail.com> @CindyLinz":
21703024 - NoTrace
3025+ - linked-list-with-iterator
21713026
21723027 "Jean-Philippe Bernardy <jean-philippe.bernardy@tweag.io> @jyp":
21733028 - polynomials-bernstein
@@ -2178,38 +3033,40 @@ packages:
21783033 - cmark
21793034 - texmath
21803035 - highlighting-kate
3036+ - skylighting
3037+ - skylighting-core
21813038 - pandoc-types
21823039 - zip-archive
2183− # - pandoc # BLOCKED aeson 1.0
2184− # - pandoc-citeproc # BLOCKED aeson 1.0
3040+ - doclayout
3041+ - doctemplates
3042+ - emojis
3043+ - pandoc
3044+ - citeproc
3045+ - commonmark
3046+ - commonmark-extensions
3047+ - commonmark-pandoc
3048+ - unicode-collation
3049+ - HsYAML-aeson
3050+ - ipynb
21853051
21863052 "Karun Ramakrishnan <karun012@gmail.com> @karun012":
21873053 - doctest-discover
21883054
2189− "Elie Genard <elaye.github.io@gmail.com> @eliegenard":
3055+ "Elie Genard <elaye.github.io@gmail.com> @elaye":
21903056 - turtle-options
21913057
2192− # "Ruey-Lin Hsu <petercommand@gmail.com> @petercommand":
2193− # GHC 8 - MASMGen
2194−
21953058 "Ozgun Ataman ozgun.ataman@soostone.com @ozataman":
21963059 - string-conv
21973060 - rng-utils
2198− - rotating-log
2199− # - ua-parser # haskell-src-exts 1.18 via derive
3061+ - ua-parser
22003062 - hs-GeoIP
22013063 - retry
2202− # GHC 8 - katip
2203− # via katip - katip-elasticsearch
3064+ - katip
3065+ - katip-elasticsearch < 0 # 0.7.0.0 compile fail https://github.com/commercialhaskell/stackage/issues/6341
22043066
22053067 "Sid Kapur sidharthkapur1@gmail.com @sid-kap":
22063068 - tuple
22073069 - OneTuple
2208− - SVGFonts
2209− - Chart-diagrams
2210−
2211− # "Aaron Levin <aaron.levin@soundcloud.com> @aaronmblevin":
2212− # GHC 8 & lots of other packages - haskell-kubernetes
22133070
22143071 "Aaron Levin <vilevin@gmail.com> @aaronmblevin":
22153072 - free-vl
@@ -2218,33 +3075,33 @@ packages:
22183075 - xlsx-tabular
22193076
22203077 "Mikhail Glushenkov <mikhail.glushenkov@gmail.com> @23Skidoo":
2221− - Cabal
3078+ # - Cabal # take the one that ships with GHC
22223079 - cabal-install
22233080 - pointful
22243081
22253082 "Lennart Kolmodin <kolmodin@gmail.com> @kolmodin":
22263083 - binary-bits
22273084
2228− "Nicolas Trangez <ikke@nicolast.be> @NicolasT":
2229− - reedsolomon
2230−
2231− "Alp Mestanogullari <alpmestan@gmail.com> @alpmestan":
2232− - taggy
2233− - taggy-lens
2234− # 0.1 Compilation failure https://github.com/fpco/stackage/issues/1660 - inline-java
2235− # via inline-java - sparkle
2236−
2237− "Alex McLean <lxyxpx@gmail.com> @yaxu":
3085+ "Alex McLean <alex@slab.org> @yaxu":
22383086 - tidal
3087+ - hosc
22393088
22403089 "Kei Hibino <ex8k.hibino@gmail.com> @khibino":
3090+ - th-data-compat
3091+ - th-reify-compat
22413092 - relational-query
22423093 - relational-query-HDBC
22433094 - persistable-types-HDBC-pg
22443095 - relational-record
22453096 - text-ldap
22463097 - debian-build
3098+ - aeson-generic-compat
22473099 - json-rpc-generic
3100+ - protocol-radius
3101+ - protocol-radius-test
3102+ - th-bang-compat
3103+ - th-constraint-compat
3104+ - persistable-record
22483105
22493106 "wren romano <wren@community.haskell.org> @wrengr":
22503107 - bytestring-lexing
@@ -2258,57 +3115,120 @@ packages:
22583115 - unification-fd
22593116 - unix-bytestring
22603117
2261− # "Carlo Hamalainen <carlo@carlo-hamalainen.net> @carlohamalainen":
2262− # GHC 8 - ghc-imported-from
2263−
22643118 "Fraser Tweedale <frase@frase.id.au> @frasertweedale":
3119+ - concise
3120+ - dyre
22653121 - jose
22663122
2267− "Yutaka Nishimura <ytk.nishimura@gmail.com> @ynishi":
2268− []
2269− # - atndapi # https://github.com/ynishi/atndapi/issues/1
2270−
22713123 "Yoshikuni Jujo <PAF01143@nifty.ne.jp> @YoshikuniJujo":
22723124 - zot
22733125 - yjtools
22743126 - 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
22753144
22763145 "Jan Gerlinger <git@jangerlinger.de> @JanGe":
22773146 - irc-dcc
2278− - xdcc
3147+
3148+ "Alexey Raga <alexey.raga@gmail.com> @AlexeyRaga":
3149+ - hw-kafka-client
22793150
22803151 "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
22813165 - hw-bits
22823166 - hw-conduit
3167+ - hw-conduit-merges
22833168 - hw-diagnostics
2284− # https://github.com/haskell-works/hw-json/issues/4
2285− # - 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
22863183 - hw-parser
22873184 - hw-prim
22883185 - hw-rankselect
3186+ - hw-rankselect-base
3187+ - hw-simd
3188+ - hw-streams
22893189 - 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
22903199
22913200 "Ismail Mustafa <ismailmustafa@rocketmail.com> @ismailmustafa":
2292− []
2293− # - handwriting # BLOCKED http-client 0.5 via wreq
3201+ - handwriting
22943202
2295− "Stephen Diehl <stephen.m.diehl@gamil.com> @sdiehl":
3203+ "Stephen Diehl <stephen.m.diehl@gmail.com> @sdiehl":
3204+ - llvm-hs-pretty
22963205 - protolude
2297−
2298− "Daishi Nakajima <nakaji.dayo@gmail.com> @nakaji_dayo":
2299− []
2300− # - yesod-job-queue # BLOCKED haskell-src-exts 1.18 via cron
2301−
2302− # "Braden Walters <vc@braden-walters.info> @meoblast001":
2303− # via hakyll - hakyll-sass
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
23043219
23053220 "Patrick Thomson <patrick@helium.com> @helium":
23063221 - postgresql-transactional
23073222
2308− "Tom Murphy <amindfv@gmail.com> @amindfv":
2309− # 0.2.0.5 compilation failure - vivid
2310− # GHC 8 - midair
3223+ "Tom Murphy <amindfv@gmail.com>":
3224+ - gingersnap
3225+ - microspec
3226+ - midair
23113227 - nano-erl
3228+ - rando
3229+ - vivid
3230+ - vivid-osc
3231+ - vivid-supercollider
23123232
23133233 "Toshio Ito <debug.ito@gmail.com> @debug-ito":
23143234 - fold-debounce
@@ -2317,8 +3237,10 @@ packages:
23173237 - wikicfp-scraper
23183238 - wild-bind
23193239 - wild-bind-x11
2320− - wild-bind-indicator
2321− - wild-bind-task-x11
3240+ - greskell
3241+ - greskell-core
3242+ - greskell-websocket
3243+ - hspec-need-env
23223244
23233245 "Cies Breijs <cies@kde.nl> @cies":
23243246 - htoml
@@ -2327,36 +3249,47 @@ packages:
23273249 - protobuf-simple
23283250
23293251 "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
23303259 - stratosphere
2331−
2332− "Alexey Rodiontsev <alex.rodiontsev@gmail.com> @klappvisor":
2333− []
2334− # - telegram-api https://github.com/fpco/stackage/issues/1689
3260+ - sum-type-boilerplate
23353261
23363262 "Iñaki García Etxebarria <garetxe@gmail.com> @garetxe":
2337− # Pinned to versions not using custom-setup, since stack does
2338− # not understand that syntax yet:
2339− # https://github.com/commercialhaskell/stack/issues/2094
2340− - gi-atk == 2.0.3
2341− - gi-cairo == 1.0.3
2342− - gi-gdk == 3.0.3
2343− - gi-gdkpixbuf == 2.0.3
2344− - gi-gio == 2.0.3
2345− - gi-glib == 2.0.3
2346− - gi-gobject == 2.0.3
2347− - gi-gtk == 3.0.3
2348− - gi-pango == 1.0.3
2349− - gi-soup == 2.4.3
2350− - gi-javascriptcore == 3.0.3
2351− - gi-webkit == 3.0.3
23523263 - haskell-gi
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
23533287
23543288 "Brandon Simmons <brandon.m.simmons@gmail.com> @jberryman":
23553289 - directory-tree
23563290
23573291 "Ian Grant Jeffries <ian@housejeffries.com> @seagreen":
23583292 - hjsonpointer
2359− - hjsonschema
23603293
23613294 "Drew Hess <src@drewhess.com> @dhess":
23623295 - hpio
@@ -2364,8 +3297,6 @@ packages:
23643297 "Richard Eisenberg <eir@cis.upenn.edu> @goldfirere":
23653298 - th-desugar
23663299 - singletons
2367− - units
2368− - units-defs
23693300 - HUnit-approx
23703301 - units-parser
23713302
@@ -2379,47 +3310,83 @@ packages:
23793310
23803311 "Pavel Ryzhov <paul@paulrz.cz> @paulrzcz":
23813312 - hquantlib
2382− - persistent-redis
3313+ - hquantlib-time
3314+ - HSvm
23833315
23843316 "Henri Verroken <henriverroken@gmail.com> @hverr":
3317+ - bordacount
23853318 - cache
3319+ - haskey
3320+ - haskey-btree
3321+ - haskey-mtl
3322+ - intset-imperative
3323+ - lxd-client
3324+ - lxd-client-config
3325+ - xxhash-ffi
3326+ - zeromq4-patterns
23863327
23873328 "Cliff Harvey <cs.hbar+hs@gmail.com> @BlackBrane":
23883329 - ansigraph
2389− - quantum-random
3330+ - microsoft-translator
23903331
23913332 "Tebello Thejane <zyxoas+stackage@gmail.com> @tebello-thejane":
2392− - bitx-bitcoin
3333+ - bitx-bitcoin < 0 # 0.12.0.0 compile fail
23933334
23943335 "Andrew Lelechenko <andrew.lelechenko@gmail.com> @Bodigrim":
23953336 - exp-pairs
2396− - fast-digits
2397−
2398− "Greg Hurrell <greg@hurrell.net> @wincent":
2399− - 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
24003358
24013359 "Ashley Yakeley <ashley@semantic.org> @AshleyYakeley":
24023360 - countable
3361+ - witness
3362+ - open-witness
24033363
24043364 "Victor Denisov <denisovenator@gmail.com> @VictorDenisov":
24053365 - mongoDB
24063366 - bson
24073367
24083368 "Alexis King <lexi.lambda@gmail.com> @lexi-lambda":
3369+ - freer-simple
3370+ - monad-mock
24093371 - test-fixture
24103372 - text-conversions
3373+ - th-to-exp
3374+ - type-assertions
24113375
24123376 "Patrick Chilton <chpatrick@gmail.com> @chpatrick":
2413− # - solga # haskell-src-exts 1.18 via aeson-qq
2414− # - solga-swagger # haskell-src-exts 1.18 via aeson-qq
2415− # Doesn't build on stackage server https://github.com/fpco/stackage/pull/1692 - clang-pure
24163377 - webrtc-vad
3378+ - clang-pure < 0 # 0.2.0.6 missing system libraries #3810/closed
3379+ - codec
24173380
24183381 "Michal Konecny <mikkonecny@gmail.com> @michalkonecny":
24193382 - hmpfr
3383+ - collect-errors
3384+ - mixed-types-num
3385+ - cdar-mBound
3386+ - aern2-mp
3387+ - aern2-real
24203388
24213389 "Bartosz Nitka <niteria@gmail.com> @niteria":
2422− # - haskell-packages # BLOCKED haskell-src-exts via hse-cpp
24233390 - oeis
24243391
24253392 "Gergely Patai <patai.gergely@gmail.com> @cobbpg":
@@ -2428,68 +3395,79 @@ packages:
24283395 "Christopher Wells <cwellsny@nycap.rr.com> @ExcalburZero":
24293396 - pixelated-avatar-generator
24303397
2431− "Allele Dev <allele.dev@gmail.com> @queertypes":
2432− - freer
2433− - wai-request-spec
2434−
24353398 "Dominic Orchard <dom.orchard@gmail.com> @dorchard":
24363399 - array-memoize
2437− - camfort
2438− # - codo-notation # BLOCKED haskell-src-exts 1.18
3400+ - codo-notation < 0 # 0.5.2 compile fail MonadFail
24393401 - fortran-src
2440− # 0.57 Compilation failure https://github.com/fpco/stackage/pull/1710#issuecomment-235067168 - ixmonad
2441− - language-fortran
24423402
2443− "Philipp Schuster <phischu3000@gmail.com> @phischu":
2444− - haskell-names
2445−
2446− "Shao Cheng <astrohavoc@gmail.com> @TerrorJack":
2447− - simple-download
2448− - encoding-io
3403+ "Cheng Shao <astrohavoc@gmail.com> @TerrorJack":
3404+ - binaryen
3405+ - cabal-toolkit
3406+ - direct-rocksdb
24493407
24503408 "Anton Gushcha <ncrashed@gmail.com> @ncrashed":
2451− []
2452− # - aeson-injector # haskell-src-exts 1.18 via aeson-qq
2453−
2454− "Rune K. Svendsen <runesvend@gmail.com> @runeks":
2455− []
2456− # - bitcoin-payment-channel # BLOCKED aeson 1.0
3409+ - aeson-injector
3410+ - JuicyPixels-blp
24573411
24583412 "Al Zohali <zohl@fmap.me> @zohl":
24593413 - servant-auth-cookie
3414+ - dictionaries
3415+ - cereal-time
24603416
24613417 "Joachim Fasting <joachifm@fastmail.fm> @joachifm":
24623418 - libmpd
24633419
24643420 "Moritz Kiefer <moritz.kiefer@purelyfunctional.org> @cocreature":
24653421 - lrucaching
3422+ - llvm-hs
3423+ - llvm-hs-pure
24663424
24673425 "Thierry Bourrillon <thierry.bourrillon@fpinsight.com> @tbourrillon":
3426+ - heatshrink
24683427 - hocilib
24693428
2470− "Matthias Herrmann <matthias.mh.herrmann@gmail.com> @2chilled":
2471− []
2472− # - scrape-changes # BLOCKED http-client 0.5
2473−
24743429 "Daniel Mendler <mail@daniel-mendler.de> @minad":
3430+ - quickcheck-special
24753431 - writer-cps-mtl
24763432 - 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
24773447
24783448 "Taras Serduke <taras.serduke@gmail.com> @tserduke":
24793449 - do-list
24803450
24813451 "Travis Whitaker <pi.boy.travis@gmail.com>":
24823452 - cpuinfo
3453+ - lmdb
24833454 - 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
24843464
24853465 "Juan Pedro Villa Isaza @jpvillaisaza":
24863466 - licensor
24873467
24883468 "Florian Hofmann fho@f12n.de @fhaust":
24893469 - vector-split
2490−
2491− "Alex Mason <alex.mason@data61.csiro.au> @Axman6":
2492− - foldl-statistics
3470+ - vector-mmap
24933471
24943472 "Ondrej Palkovsky <palkovsky.ondrej@gmail.com> @ondrap":
24953473 - json-stream
@@ -2497,90 +3475,3326 @@ packages:
24973475 "Philipp Balzarek <p.balzarek@googlemail.com>":
24983476 - xml-picklers
24993477
2500− # If you stop maintaining a package you can move it here.
2501− # It will then be disabled if it starts causing problems.
2502− # See https://github.com/fpco/stackage/issues/1056
2503− "Abandoned packages":
2504− - curl
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
25053883
2506− # Purescript
2507− - bower-json
2508− - boxes
2509− - pattern-arrows
2510− # - purescript # BLOCKED http-client 0.5
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
25113963
3964+ "Tung Dao <me@tungdao.com> @tungd":
3965+ - time-locale-vietnamese
25123966
2513− # If you want to make sure a package is removed from stackage,
2514− # place it here with a `< 0` constraint and send a pull
2515− # request. This will tell us if other packages would be
2516− # affected. Packages will be kept in this list indefinitely so
2517− # that new packages depending on it will be flagged as well.
2518− "Removed packages": []
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
25194046
2520− "GHC upper bounds":
2521− # Need to always match the version shipped with GHC
2522− - Win32 == 2.3.1.1
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
25234410
2524− "Stackage upper bounds":
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
25254517
2526− # https://github.com/fpco/stackage/issues/1767
2527− - SVGFonts < 1.6
4518+ "Jorah Gao <jorah@version.cloud> @gqk007":
4519+ - aeson-default
4520+ - vformat
4521+ - vformat-time
4522+ - vformat-aeson
4523+ - hkd-default
25284524
2529− # https://github.com/fpco/stackage/issues/1784
2530− - optparse-applicative < 0.13.0.0 # May need to disable test suite when lifting this https://github.com/pcapriotti/optparse-applicative/issues/228
2531− - diagrams-canvas < 1.3.0.7
2532− - diagrams-cairo < 1.3.1.2
2533− - diagrams-rasterific < 1.3.1.9
2534− - diagrams-svg < 1.4.0.4
4525+ "Shintaro Sakata <shintaro.sakata.tokyo@gmail.com> @chemirea":
4526+ - utf8-conversions
25354527
2536− # https://github.com/fpco/stackage/issues/1833
2537− - http-api-data < 0.3
2538− - servant-auth-cookie < 0.4 # also per servant < 0.9 #1906
4528+ "Alessandro Marrella <amarrella@earnestresearch.com> @amarrella":
4529+ - kubernetes-webhook-haskell
25394530
2540− # https://github.com/fpco/stackage/issues/1842
2541− - dependent-sum < 0.4
4531+ "8c6794b6 <8c6794b6@gmail.com> @8c6794b6":
4532+ - hpc-codecov
25424533
2543− # https://github.com/fpco/stackage/issues/1857
2544− - terminal-progress-bar < 0.1.0 # Re-enable tests when lifting this
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
25454541
2546− # https://github.com/fpco/stackage/issues/1863
2547− - newtype-generics < 0.4 # May need to disable test suite when lifting this https://github.com/jcristovao/newtype-generics/issues/7
2548− - MemoTrie < 0.6.5
4542+ "Frank Doepper <stackage@woffs.de> @woffs":
4543+ - amqp-utils
4544+ - magic
25494545
2550− # https://github.com/fpco/stackage/issues/1876
2551− - fixed-vector < 0.9
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
25524656
2553− # https://github.com/fpco/stackage/issues/1902
2554− - hspec < 2.2.4
2555− - hspec-core < 2.2.4
2556− - hspec-discover < 2.2.4
4657+ "Kyriakos Papachrysanthou <k.papachrisanthou@gmail.com> @3kyro":
4658+ - keep-alive
25574659
2558− # https://github.com/fpco/stackage/issues/1906
2559− - servant < 0.9
2560− - servant-client < 0.9
2561− - servant-foreign < 0.9
2562− - servant-server < 0.9
2563− - servant-docs < 0.9
2564− - servant-js < 0.9
2565− - language-puppet < 1.3.2
2566− - servant-auth-cookie < 0.4 # also per http-api-data < 0.3 #1833
4660+ "Brooklyn Zelenka <hello@brooklynzelenka.com> @expede":
4661+ - rescue
25674662
2568− # https://github.com/fpco/stackage/issues/1929
2569− - hspec-megaparsec < 0.3.0
4663+ "Artem Pelenitsyn <artem.pelenitsyn@gmail.com> @ulysses4ever":
4664+ - alex-meta
4665+ - happy-meta
4666+ - BNFC-meta
25704667
2571− # https://github.com/haskell-works/hw-rankselect/issues/2
2572− - hw-prim ==0.1.0.3
2573− - hw-bits ==0.1.0.1
4668+ "Tomasz Maciosowski <t4ccer@gmail.com> @t4ccer":
4669+ - wai-session-redis
25744670
2575−# end of packages
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
4680+
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".
5236+ "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
5244+ - 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": []
25765280
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
5313+
5314+ "GHC upper bounds":
5315+ # Need to always match the version shipped with GHC
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
6663+
6664+ "Stackage upper bounds":
6665+
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
6781+
6782+# end of packages
25776783
25786784# Package flags are applied to individual packages, and override the values of
25796785# global-flags
25806786package-flags:
6787+ QuickCheck:
6788+ old-random: false
6789+ pathtype:
6790+ old-time: false
6791+
25816792 brick:
25826793 demos: true
25836794
6795+ bz2:
6796+ with-bzlib: false # Exclude bzlib from benchmarks to avoid unnecessary dependencies.
6797+
25846798 mersenne-random-pure64:
25856799 small_base: false
25866800
@@ -2589,12 +6803,15 @@ package-flags:
25896803 simplelocalnet: true
25906804 p2p: true
25916805
2592− logfloat:
2593− splitbase: true
2594−
25956806 curl:
25966807 new-base: true
25976808
6809+ hpio:
6810+ test-hlint: false
6811+
6812+ idris:
6813+ ffi: true
6814+
25986815 hxt:
25996816 network-uri: true
26006817 hxt-http:
@@ -2602,28 +6819,15 @@ package-flags:
26026819 hxt-relaxng:
26036820 network-uri: true
26046821
2605− pandoc:
2606− https: true
2607− old-locale: false
2608−
26096822 text:
26106823 integer-simple: false
26116824
26126825 tar:
26136826 old-time: false
26146827
2615− # https://github.com/fpco/stackage/pull/482#issuecomment-83635207
2616− jose-jwt:
2617− doctest: false
2618−
26196828 time-locale-compat:
26206829 old-locale: false
26216830
2622− th-data-compat:
2623− template-haskell-210: false
2624− th-reify-compat:
2625− template-haskell-210: false
2626−
26276831 HsOpenSSL:
26286832 fast-bignum: false
26296833
@@ -2650,29 +6854,63 @@ package-flags:
26506854 ghc_7_7: false
26516855 ghc_8_0: true
26526856
6857+ functor-classes-compat:
6858+ containers: true
6859+
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
6866+
6867+ cassava:
6868+ bytestring--lt-0_10_4: false
6869+
6870+ alerta:
6871+ servant-client-core: false
6872+
6873+ cabal-install:
6874+ # https://github.com/haskell/cabal/issues/4883
6875+ native-dns: false
6876+
6877+ # https://github.com/fpco/stackage/issues/3619
6878+ transformers-compat:
6879+ five-three: true
6880+
6881+ greskell:
6882+ hint-test: false
6883+
6884+ windns:
6885+ allow-non-windows: true
6886+
6887+ hsdev:
6888+ docs: false
6889+
6890+ bson:
6891+ _old-network: false
6892+
6893+ mongoDB:
6894+ _old-network: false
6895+
6896+
26536897# end of package-flags
26546898
26556899# Special configure options for individual packages
26566900
2657−configure-args:
2658− inline-java:
2659− - --extra-lib-dirs
2660− - /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server
2661− - --extra-include-dirs
2662− - /usr/lib/jvm/java-8-openjdk-amd64/include
2663− hocilib:
2664− - --extra-lib-dirs
2665− - /usr/local/lib
2666−
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: {}
26676904# end of configure-args
26686905
26696906
26706907# Used for packages that cannot be built on Linux
26716908skipped-builds:
26726909 - hfsevents
6910+ - lzma-clib
26736911 - Win32
26746912 - Win32-notify
2675− - Win32-extras
6913+ - windns
26766914
26776915# end of skipped-builds
26786916
@@ -2682,245 +6920,755 @@ skipped-builds:
26826920# or if Setup fails because of missing foreign libraries.
26836921# Otherwise place them in expected-test-failures.
26846922skipped-tests:
2685− # Outdated dependencies
2686− # These can periodically be checked for updates;
2687− # just remove these lines and run `stackage-curator check' to verify.
2688− - Cabal # QuickCheck 2.9
2689− - ChasingBottoms # QuickCheck 2.9
2690− - GLFW-b # https://github.com/bsl/GLFW-b/issues/62
2691− - HsOpenSSL # https://github.com/phonohawk/HsOpenSSL/issues/57
2692− - ReadArgs # https://github.com/rampion/ReadArgs/issues/8
2693− - bindings-GLFW # https://github.com/bsl/bindings-GLFW/issues/40
2694− - bytestring-handle # QuickCheck 2.9
2695− - cases # https://github.com/nikita-volkov/cases/pull/3
2696− - cgi # QuickCheck 2.9
2697− - chell # options & via chell-quickcheck
2698− - concurrent-extra # https://github.com/basvandijk/concurrent-extra/pull/15
2699− - ed25519 # QuickCheck 2.9
2700− - hasql # QuickCheck 2.9
2701− - hastache # https://github.com/lymar/hastache/pull/53
2702− - heaps # https://github.com/ekmett/heaps/pull/8
2703− - hyphenation # https://github.com/ekmett/hyphenation/pull/10
2704− - pure-cdb # test-simple
2705− - shelly # https://github.com/yesodweb/Shelly.hs/issues/127
2706− - state-plus # QuickCheck 2.9
2707− - system-filepath # QuickCheck 2.9
2708− - vector # https://github.com/haskell/vector/commit/31edb3fc51e76facc1e291f1e9e721663d91dbd8
2709− - zlib # 0.6.1.1-r3 https://github.com/haskell/zlib/issues/2
2710−
2711− # Transitive outdated dependencies
2712− # These packages
2713− # These can also be checked for updates periodically.
2714− - MissingH # via testpack https://github.com/jgoerzen/testpack/issues/11
2715− - clustering # via RLang-QQ via HList https://github.com/kaizhang/clustering/issues/2 (also sent e-mail to HList maintainer)
2716− - swagger2 # haskell-src-exts 1.18 via aeson-qq
2717− - servant-swagger # haskell-src-exts 1.18 via aeson-qq
2718− - yaml # haskell-src-exts via aeson-qq
2719− - options # QuickCheck via chell-quickcheck
2720−
2721− # Blocked by stackage upper bounds. These can be re-enabled once
2722− # the relevant stackage upper bound is lifted.
2723− - terminal-progress-bar # Fixed in 0.1.0 https://github.com/roelvandijk/terminal-progress-bar/issues/11
2724−
2725− # Runtime issues
6923+ # aeson-2
6924+ # https://github.com/commercialhaskell/stackage/issues/6217
6925+ - jsonifier
6926+ - req
6927+
6928+ # Missing foreign libraries
6929+ - symengine
6930+
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
6939+ - punycode
6940+ - unagi-chan
6941+ - zeromq4-patterns
6942+ - port-utils
27266943 - blank-canvas # Never finishes https://github.com/ku-fpg/blank-canvas/issues/73
27276944 - binary-search # Never finishes https://github.com/nushio3/binary-search/issues/2
27286945 - 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
27297039
2730− # Missing foreign library
2731− - symengine # symengine
2732−
7040+ # TODO
7041+ - rpmbuild-order
7042+
7043+ # Revision to package caused it to require bounds and break
7044+ - htoml # https://github.com/commercialhaskell/stackage/issues/6239
7045+
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
7050+
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
7278+ - amqp
27337279
2734− # Wontfix. The maintainer chose to keep these broken/outdated, only
2735− # re-enable if requested.
2736− - postgresql-binary # https://github.com/nikita-volkov/postgresql-binary/issues/6#issuecomment-243063139
7280+ - c2hs # https://github.com/commercialhaskell/stackage/issues/6420
27377281
27387282# end of skipped-tests
27397283
2740−# Tests which we should build and run, but which are expected to fail. We
2741−# should not fail a build based on a test failure for one of these packages.
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.
27427292expected-test-failures:
27437293
27447294 # Intermittent failures or unreliable. These tests may pass when
2745− # re-enabled, but will eventually fail again. Only remove these
2746− # from expected-failures if we know a fix has been released.
7295+ # re-enabled, but will eventually fail again.
7296+ #
27477297 - 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
27487300 - 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
27497303 - crypto-numbers
2750− - css-text # 0.1.2.2 https://github.com/yesodweb/css-text/issues/10
7304+ - css-text # 0.1.3.0 https://github.com/yesodweb/css-text/issues/10
27517305 - distributed-process
27527306 - distributed-process-execution # https://github.com/haskell-distributed/distributed-process-execution/issues/2
27537307 - distributed-process-task
7308+ - fft # test-fft: exited with: ExitFailure (-11)
7309+ - foldl-statistics # https://github.com/data61/foldl-statistics/issues/2
27547310 - fsnotify # Often runs out of inotify handles
7311+ - hastache
27557312 - idris # https://github.com/fpco/stackage/issues/1382
27567313 - ihaskell # https://github.com/gibiansky/IHaskell/issues/551
27577314 - math-functions # https://github.com/bos/math-functions/issues/25
7315+ - mltool # https://github.com/Alexander-Ignatyev/mltool/issues/1
27587316 - network # Unfortunately network failures seem to happen haphazardly
27597317 - nsis # Intermittent on non-Windows systems
2760− - pandoc-citeproc # https://github.com/jgm/pandoc-citeproc/issues/172
2761− - spdx # https://github.com/phadej/spdx/issues/8
27627318 - statistics # https://github.com/bos/statistics/issues/42
27637319
2764− # Timeouts
2765− # These tests sometimes take too long and hit the stackage build
2766− # servers time limit so these shouldn't be removed from
2767− # expected-tests unless we know a fix has been released.
2768− - cabal-helper
2769− - graphviz
2770− - punycode
2771− - zip
2772−
2773− # Requires running servers, accounts, or a specific
2774− # environment. These shouldn't be re-enabled unless we know a fix
2775− # has been released.
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
27767327 - GLFW-b # X
27777328 - HTF # Requires shell script and are incompatible with sandboxed package databases
2778− - HaRe # # Needs ~/.ghc-mod/cabal-helper https://github.com/fpco/stackage/pull/906
7329+ - HaRe # Needs ~/.ghc-mod/cabal-helper https://github.com/fpco/stackage/pull/906
7330+ - IPv6DB
7331+ - accelerate-bignum # CUDA GPU
7332+ - alex
27797333 - amqp
27807334 - aws # AWS Credentials
7335+ - beam-postgres # requires Postgress instance
27817336 - bindings-GLFW # Expects running X server
27827337 - bitcoin-api
27837338 - bitcoin-api-extra
2784− - bitcoin-api-extra
27857339 - bloodhound # ElasticSearch
27867340 - cabal-install
7341+ - cayley-client
27877342 - 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
27887347 - dbmigrations # PostgreSQL
2789− - dns # https://github.com/kazu-yamamoto/dns/issues/29
7348+ - dns # https://github.com/commercialhaskell/stackage/issues/6374
27907349 - drifter-postgresql # PostgreSQL
2791− - ersatz # Requires SAT solver
7350+ - egison # executable not found https://github.com/egison/egison/issues/250
7351+ - esqueleto # mysql and postgresql
27927352 - etcd # etcd https://github.com/fpco/stackage/issues/811
7353+ - eventful-dynamodb
7354+ - eventful-postgresql
7355+ - eventsource-geteventstore-store
27937356 - eventstore # Event Store
7357+ - faktory # connection refused, https://github.com/commercialhaskell/stackage/issues/5905
27947358 - fb # Facebook app
7359+ - gdax # Needs environment variables set
27957360 - ghc-imported-from # depends on haddocks being generated first https://github.com/fpco/stackage/pull/1315
27967361 - ghc-mod # https://github.com/DanielG/ghc-mod/issues/611
7362+ - githash # Needs a git repo
27977363 - gitson # 0.5.2 error with git executable https://github.com/myfreeweb/gitson/issues/1
27987364 - gitson # https://github.com/myfreeweb/gitson/issues/1
27997365 - happy # Needs mtl in the user package DB
28007366 - 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
28017369 - hasql # PostgreSQL
7370+ - hasql-notifications # PostgreSQL
7371+ - hasql-queue
7372+ - hasql-transaction # PostgreSQL
28027373 - 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
28037377 - 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
28047381 - hworker
7382+ - influxdb
7383+ - json-autotype # Requires filesystem access
7384+ - jvm
28057385 - 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
28067390 - mangopay # https://github.com/prowdsponsor/mangopay/issues/30
28077391 - memcached-binary # memcached
2808− - mongoDB # mongoDB - https://github.com/mongodb-haskell/mongodb/issues/61
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
28097397 - 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"
28107402 - 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
28117407 - persistent-redis # redis - https://github.com/fpco/stackage/pull/1581
28127408 - pipes-mongodb
7409+ - postgresql-libpq-notify
28137410 - postgresql-query # PostgreSQL
28147411 - 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
28157417 - purescript # git 128 https://github.com/purescript/purescript/issues/2292
7418+ - rattle # needs fsatrace
28167419 - redis-io
7420+ - rel8
28177421 - rethinkdb
28187422 - rethinkdb-client-driver
2819− - riak
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
28207426 - serialport # "The tests need two serial ports as command line arguments" https://github.com/jputcu/serialport/issues/30
28217427 - serversession-backend-redis # redis
28227428 - shake # Needs ghc on $PATH with some installed haskell packages
2823− - singletons # Needs ghc on $PATH with som 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
28247433 - users-postgresql-simple # PostgreSQL
28257434 - wai-cors # PhantomJS
7435+ - wai-rate-limit-redis # Redis
28267436 - wai-session-postgresql # PostgreSQL
7437+ - wai-session-redis # https://github.com/commercialhaskell/stackage/pull/5980
7438+ - web3 # requires running server
28277439 - webdriver-angular # webdriver server
2828−
2829− # Deprecated
2830− # Eventually we'll have to disable these packages completely.
2831− - doctest-prop # https://github.com/fpco/stackage/issues/1817
2832− - system-filepath # https://github.com/jmillikin/haskell-filesystem/issues/3
7440+ - websockets
28337441
28347442 # Missing test files in sdist
2835− # Hopefully gets fixed in the next release...
2836− - angel # https://github.com/MichaelXavier/Angel/issues/43
2837− - camfort # 0.900 https://github.com/camfort/camfort/issues/41
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
28387451 - crypto-pubkey # https://github.com/vincenthz/hs-crypto-pubkey/issues/23
2839− - ghc-events # https://github.com/haskell/ghc-events/issues/9
2840− - graylog # 0.1.0.1 https://github.com/fpco/stackage/pull/1254
2841− - haskell-names # 0.7.0 https://github.com/haskell-suite/haskell-names/issues/78
2842− - rematch # No issue tracker, sent e-mail to maintainer https://github.com/fpco/stackage/issues/376
2843− - xlsior # https://github.com/rcallahan/xlsior/issues/1
2844−
2845− # Assertion failures, these can be real bugs or just limitations
2846− # in the test cases.
2847− - DRBG # https://github.com/TomMD/DRBG/issues/7
2848− - cayley-client # https://github.com/MichelBoucey/cayley-client/issues/2
2849− - clash-prelude # 0.10.14 Runtime errors https://github.com/clash-lang/clash-prelude/issues/57
2850− - direct-sqlite # 2.3.17 https://github.com/IreneKnapp/direct-sqlite/issues/63
2851− - ed25519 # 0.0.5.0 https://github.com/thoughtpolice/hs-ed25519/issues/15
2852− - haskoin-core # 0.3.1 https://github.com/haskoin/haskoin/issues/285
2853− - nettle # https://github.com/stbuehler/haskell-nettle/issues/8
2854− - th-printf # 0.3.1 https://github.com/pikajude/th-printf/issues/3
2855− - wreq # https://github.com/bos/wreq/issues/53
2856− - xmonad # 0.12 https://github.com/xmonad/xmonad/issues/36
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
7498+ - 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
28577562
28587563 # Compilation failures
2859− - ListLike # No issue tracker, e-mail sent to maintainer
2860− - dbus # 0.10.12 No issue tracker, e-mail sent to maintainer
2861− - hspec-expectations-pretty-diff # GHC 8 issue not reported upstream since issue tracker disabled
2862− - safecopy # time 1.6 https://github.com/acid-state/safecopy/issues/45
2863− - sourcemap # https://github.com/chrisdone/sourcemap/issues/3
2864− - text-ldap # # https://github.com/khibino/haskell-text-ldap/issues/1
2865− - thyme # https://github.com/liyang/thyme/issues/50
2866− - tries # https://github.com/athanclark/tries/issues/2
2867− - wai-middleware-content-type # 0.4.1 - https://github.com/athanclark/wai-middleware-content-type/issues/2
2868− - xmlgen # https://github.com/skogsbaer/xmlgen/issues/6
2869−
2870− # Misc.
2871− - distributed-process-supervisor # # https://github.com/haskell-d
2872− - ghcid # Weird conflicts with sandboxingistributed/distributed-process-supervisor/issues/1
2873−
2874− # Doctest ran across ambiguous modules
2875− # https://github.com/bergmark/blog/blob/master/2016/package-faq.md#ambiguous-modules-when-using-doctest
2876− - doctest # 0.11.0 https://github.com/sol/doctest/issues/137
2877− - jwt # https://bitbucket.org/ssaasen/haskell-jwt/issues/18/test-suite-build-failure-in-stackage
2878− - monad-logger-prefix # https://github.com/fpco/stackage/issues/1831
2879− - warp # https://github.com/yesodweb/wai/issues/579
2880−
2881− # Stackage upper bounds, re-enable these when their upper bound is removed
2882− - haskell-src-exts # 1.17.1
2883− - hindent # 4.6.4
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
28847601
28857602 # Recursive deps https://github.com/fpco/stackage/issues/1818
2886− - clock # 0.7.2 clock:test => tasty:lib => clock:lib
28877603 - options
28887604 - text # 1.2.2.1
2889− - wai-logger # Missing build dep because of this https://github.com/kazu-yamamoto/logger/issues/42
28907605
28917606 # Problem on the stackage build server, we need to dig deeper into
28927607 # these if we want them fixed
2893− - snap-core # 1.0.0.0 https://github.com/snapframework/snap-core/issues/261
2894− - stack # Permissions failure when creating /home/stackage/.stack.
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
28957613 - skein # openfile: does not exist https://github.com/fpco/stackage/issues/1187
28967614
2897−# end of expected-test-failures
2898−
2899−# Benchmarks which are known not to build. Note that, currently we do not run
2900−# benchmarks, and therefore failures are only for building, not running.
2901−expected-benchmark-failures:
2902− # Recursive deps https://github.com/fpco/stackage/issues/1818
2903− - attoparsec
2904− - hashable
2905− - unordered-containers # 0.2.7.1 unordered-containers:bench -> criterion:lib -> aeson:lib -> unordered-containers:lib
2906−
2907− # stack bug https://github.com/commercialhaskell/stack/issues/2153
2908− - scientific
2909− - vector-binary-instances
2910−
2911− # Missing files in sdist
2912− - cassava # https://github.com/hvr/cassava/pull/117
2913− - picoparsec # https://bitbucket.org/blamario/picoparsec/issues/3/benchmark-compilation-failure
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
29147641
2915− # Compilation failures
2916− - Frames # https://github.com/acowley/Frames/issues/47
2917− - cryptohash # https://github.com/vincenthz/hs-cryptohash/pull/43
2918− - dbus # No issue tracker, sent e-mail to maintainer
2919− - lens # https://github.com/ekmett/lens/issues/672
2920− - thyme # https://github.com/liyang/thyme/issues/50
2921− - xmlgen # https://github.com/skogsbaer/xmlgen/issues/6
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.
29227670
2923−# end of expected-benchmark-failures
7671+# end of expected-test-failures
29247672
29257673
29267674# Haddocks which are expected to fail. Same concept as expected test failures.
@@ -2928,58 +7676,156 @@ expected-haddock-failures:
29287676
29297677 # Requires build before haddock, which doesn't always happen in incremental
29307678 # builds. Could consider special-casing this requirement.
2931− - gtk
29327679 - gtk3
29337680
2934− # Intermittent failures or unreliable. These tay pass when
7681+ # Intermittent failures or unreliable. These may pass when
29357682 # re-enabled, but will eventually fail again. Only remove these
29367683 # from expected-haddock-failures if we know a fix has been released.
29377684 - gi-gtk # Uses all memory
29387685
29397686 # Problem on the stackage build server, we need to dig deeper into
29407687 # these if we want them fixed
2941− - yesod-job-queue # https://github.com/fpco/stackage/issues/1383
2942−
2943− # "Compilation" errors
2944− - MemoTrie # https://github.com/conal/MemoTrie/issues/10
2945− - metrics # https://github.com/iand675/metrics/issues/5
2946− - hocilib # https://github.com/fpinsight/hocilib/issues/1
29477688
2948− # Haddock bugs
2949− - swagger2 # https://github.com/GetShopTV/swagger2/issues/66
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
29507695
29517696# end of expected-haddock-failures
29527697
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
7702+
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
7719+
7720+
7721+# end of expected-benchmark-failures
7722+
7723+
29537724# Benchmarks which should not be built. Note that Stackage builds benchmarks but does not run them.
29547725# By skipping a benchmark, we do not pull in the build dependencies
29557726# Packages should only be added here if required by `stackage-curator check'
29567727# or if Setup fails because of missing foreign libraries.
29577728# Otherwise place them in expected-benchmark-failures.
29587729skipped-benchmarks:
7730+ # aeson-2
7731+ # https://github.com/commercialhaskell/stackage/issues/6217
7732+ - jsonifier
29597733
2960− # Outdated dependencies
2961− # These can periodically be checked for updates;
2962− # just remove these lines and run `stackage-curator check'
2963− # to verify.
2964− - criterion-plus
2965−
2966− # Transitive outdated dependencies
2967− # These packages
2968− # These can also be checked for updates periodically.
2969− - cases # via criterion-plus
2970− - hasql-postgres # via criterion-plus
2971− - ttrie # via criterion-plus
2972− - machines # via pipes
2973−
2974− # Compilation failures
2975− - cipher-aes # https://github.com/vincenthz/hs-crypto-cipher/issues/46
2976− - cipher-blowfish # https://github.com/vincenthz/hs-crypto-cipher/issues/46
2977− - cipher-camellia # https://github.com/vincenthz/hs-crypto-cipher/issues/46
2978− - cipher-des # https://github.com/vincenthz/hs-crypto-cipher/issues/46
2979− - cipher-rc4 # https://github.com/vincenthz/hs-crypto-cipher/issues/46
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
29807746
2981− # GHC Bugs
2982− - hledger-lib # https://github.com/fpco/stackage/issues/1587
7747+ # Timeouts
7748+ - gogol-youtube
7749+
7750+ # Very resource intensive
7751+ - OpenGLRaw
7752+ - pandoc
7753+ - git-annex
7754+
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
29837829
29847830# end of skipped-benchmarks
29857831
@@ -3017,11 +7863,11 @@ github-users:
30177863 - meteficha
30187864 analytics:
30197865 - ekmett
7866+ haskell-openal:
7867+ - svenpanne
30207868 haskell-opengl:
30217869 - ekmett
30227870 - svenpanne
3023− # - elliottt
3024− # - jmcarthur
30257871 lambdabot:
30267872 - DanBurton
30277873 - mokus0
@@ -3032,11 +7878,10 @@ github-users:
30327878 clckwrks:
30337879 - stepcut
30347880 stackbuilders:
3035− - sestrella
30367881 - jsl
3037− - jpvillaisaza
3038− - jsantos17
3039− - mrkkrp
7882+ - sestrella
7883+ - juanpaucar
7884+ - CristhianMotoche
30407885 scotty-web:
30417886 - RyanGlScott
30427887 - xich
@@ -3044,9 +7889,6 @@ github-users:
30447889 - RyanGlScott
30457890 haskell-compat:
30467891 - RyanGlScott
3047− haskell-servant:
3048− - jkarni
3049− - SoenkeHahn
30507892 vivid:
30517893 - vivid-synth
30527894 midair:
@@ -3060,7 +7902,26 @@ github-users:
30607902 arithmoi:
30617903 - Bodigrim
30627904 - cartazio
3063− - phadej
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
30647925
30657926# end of github-users
30667927
@@ -3088,10 +7949,100 @@ build-tool-overrides:
30887949#
30897950# Example:
30907951# If bindings-GLFW-3.1.2.1 is the current latest version write
3091−# - bindings-GLFW-3.1.2.1 # skipped test-suite
3092−tell-me-when-its-released:
3093−- bindings-GLFW-3.1.2.1 # skipped test-suite
3094−- vector-0.11.0.0 # skipped test-suite
3095−- criterion-1.1.1.0 # fixes build on windows, upgrade in LTS 7 #1912
3096−- newtype-generics-0.4.1 # resolves #1863
3097−- point-octree-0.5.5.3 # If this closes https://github.com/fpco/stackage/issues/1902 we can also resolve https://github.com/fpco/lts-haskell/issues/27
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+212−41
@@ -4,92 +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-dyn \
39− ghc-$GHCVER-prof \
40− ghc-$GHCVER-htmldocs \
41− hscolour \
42− sudo \
43+ cmake \
4344 curl \
45+ dvipng \
4446 freeglut3-dev \
47+ freetds-dev \
48+ fsharp \
49+ g++ \
50+ gawk \
4551 git \
52+ gnupg \
53+ gradle \
54+ hscolour \
4655 libadns1-dev \
4756 libaio1 \
57+ libalut-dev \
4858 libasound2-dev \
4959 libblas-dev \
5060 libbz2-dev \
5161 libcairo2-dev \
52− libclang-3.7-dev \
62+ libclang-3.9-dev \
5363 libcurl4-openssl-dev \
64+ libcwiid-dev \
65+ libdbusmenu-glib-dev \
66+ libdbusmenu-gtk3-dev \
5467 libdevil-dev \
5568 libedit-dev \
5669 libedit2 \
5770 libfftw3-dev \
71+ libflac-dev \
5872 libfreenect-dev \
59− libgd2-xpm-dev \
73+ libgd-dev \
6074 libgeoip-dev \
6175 libgirepository1.0-dev \
76+ libglew-dev \
6277 libglfw3-dev \
6378 libglib2.0-dev \
6479 libglu1-mesa-dev \
6580 libgmp3-dev \
66− libgnutls-dev \
81+ libgnutls28-dev \
82+ libgraphene-1.0-dev \
6783 libgsasl7-dev \
68− libgsl0-dev \
84+ libgsl-dev \
6985 libgtk-3-dev \
7086 libgtk2.0-dev \
7187 libgtksourceview-3.0-dev \
7288 libhidapi-dev \
89+ libi2c-dev \
7390 libicu-dev \
91+ libimlib2-dev \
92+ libjack-jackd2-dev \
93+ libjavascriptcoregtk-4.0-dev \
94+ libjansson-dev \
7495 libjudy-dev \
7596 liblapack-dev \
7697 libleveldb-dev \
98+ liblmdb-dev \
99+ liblz4-tool \
77100 liblzma-dev \
78101 libmagic-dev \
79102 libmagickcore-dev \
80103 libmagickwand-dev \
81104 libmarkdown2-dev \
105+ libmono-2.0-dev \
106+ libmp3lame-dev \
82107 libmpfr-dev \
108+ libmpich-dev \
83109 libmysqlclient-dev \
84− libncurses-dev \
110+ libncurses5-dev \
111+ libnfc-dev \
112+ liboath-dev \
85113 libnotify-dev \
86114 libopenal-dev \
87115 libpango1.0-dev \
88116 libpcap0.8-dev \
117+ libpcre2-dev \
89118 libpq-dev \
119+ libprotobuf-dev \
120+ libre2-dev \
121+ librocksdb-dev \
122+ libsdl1.2-dev \
90123 libsdl2-dev \
124+ libsdl2-gfx-dev \
125+ libsdl2-image-dev \
126+ libsdl2-mixer-dev \
127+ libsdl2-ttf-dev \
128+ libsecp256k1-dev \
91129 libsnappy-dev \
92130 libsndfile1-dev \
131+ libsodium-dev \
132+ libsox-dev \
93133 libsqlite3-dev \
94134 libssl-dev \
95135 libsystemd-dev \
@@ -97,6 +137,7 @@ apt-get install -y \
97137 libtre-dev \
98138 libudev-dev \
99139 libusb-1.0-0-dev \
140+ libvte-2.91-dev \
100141 libwebkitgtk-3.0-dev \
101142 libxau-dev \
102143 libxml2-dev \
@@ -104,25 +145,53 @@ apt-get install -y \
104145 libxss-dev \
105146 libyaml-dev \
106147 libzip-dev \
148+ libzstd-dev \
107149 libzmq3-dev \
108− llvm-3.7 \
150+ llvm-7 \
151+ llvm-8 \
152+ llvm-9 \
153+ locales \
109154 m4 \
155+ minisat \
156+ mono-mcs \
110157 nettle-dev \
111− nodejs \
112− npm \
158+ ninja-build \
113159 openjdk-8-jdk \
160+ python-mpltoolkits.basemap \
161+ python3-matplotlib \
162+ python3-numpy \
163+ python3-pip \
164+ python3-scipy \
114165 r-base \
115166 r-base-dev \
167+ rpm \
116168 ruby-dev \
117− stack \
169+ software-properties-common \
170+ sudo \
171+ texlive \
172+ unixodbc-dev \
118173 wget \
119174 xclip \
120− z3 \
121175 zip \
122− zlib1g-dev
176+ zlib1g-dev \
177+ zsh
123178
124−# Put documentation where we expect it
125−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
126195
127196# Buggy versions of ld.bfd fail to link some Haskell packages:
128197# https://sourceware.org/bugzilla/show_bug.cgi?id=17689. Gold is
@@ -134,9 +203,13 @@ update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.bfd" 10
134203# This version is tracked here:
135204# https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM/Installing
136205#
137−# GHC 8.0 requires LLVM 3.7 tools (specifically, llc-3.7 and opt-3.7).
138−update-alternatives --install "/usr/bin/llc" "llc" "/usr/bin/llc-3.7" 50
139−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
140213
141214# install ocilib dependencies then build and install ocilib
142215cd /tmp \
@@ -146,9 +219,9 @@ cd /tmp \
146219 && wget https://storage.googleapis.com/oracle.fpinsight.com/instantClient/oracle-instantclient12.1-devel_12.1.0.2.0-2_amd64.deb \
147220 && dpkg -i oracle-instantclient12.1-devel_12.1.0.2.0-2_amd64.deb \
148221 && rm -f oracle-instantclient12.1-devel_12.1.0.2.0-2_amd64.deb \
149− && wget https://github.com/vrogier/ocilib/archive/v4.2.1.tar.gz \
150− && tar xvf v4.2.1.tar.gz \
151− && cd /tmp/ocilib-4.2.1 \
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 \
152225 && ./configure --with-oracle-import=linkage \
153226 --with-oracle-charset=ansi \
154227 --with-oracle-headers-path=/usr/include/oracle/12.1/client64 \
@@ -156,7 +229,105 @@ cd /tmp \
156229 && make \
157230 && make install \
158231 && cd \
159− && rm -rf /tmp/ocilib-4.2.1 \
232+ && rm -rf /tmp/ocilib-4.3.2 \
160233 && echo "/usr/local/lib" > /etc/ld.so.conf.d/usr-local.conf \
161234 && echo "/usr/lib/oracle/12.1/client64/lib" > /etc/ld.so.conf.d/oracle-client.conf \
162235 && 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