diff --git a/.travis.yml b/.travis.yml index 47bbda04..e4d02f22 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,7 @@ sudo: false # Choose a lightweight base image; we provide our own build tools. -language: c +language: generic # GHC depends on GMP. You can add other dependencies here as well. addons: @@ -11,7 +11,7 @@ addons: - libgmp-dev env: -- GHCVER=8.0.1 +- GHCVER=8.0.2 install: # Download and unpack the stack executable diff --git a/CURATORS.md b/CURATORS.md index 48fda960..b27f0503 100644 --- a/CURATORS.md +++ b/CURATORS.md @@ -4,7 +4,7 @@ Originally this was handled largely by Michael Snoyman, but now we are a team of 4 people handling requests weekly in rotation. Curation activities are mostly automated, and do not take up a significant amount of time. -## Workflow +## Workflow overview This section sketches out at a high level how the entire Stackage build/curation process works: @@ -21,9 +21,34 @@ process works: ## Pull requests -The typical story on pull requests is: if Travis accepts it, and the author -only added packages under his/her own name, merge it. If the build later fails -(see below), then block the package until it's fixed. +The typical story on pull requests is: If Travis accepts it and the +author only added packages under his/her own name, merge it. If the +build later fails (see [Adding Debian packages]), then block the +package until it's fixed. + +[Adding Debian packages]: https://github.com/fpco/stackage/blob/master/CURATORS.md#adding-debian-packages-for-required-system-tools-or-libraries + +If benchmarks, haddocks, or test suites fails at this point we +typically also block the package until these issues are fixed. This in +order to add packages with a clean slate. + +Optionally we can check if packdeps says the package is up to date. +Visit http://packdeps.haskellers.com/feed?needle= + +Builds may fail because of unrelated bounds changes. If this happens, +first add any version bounds to get master into a passing state (see +"Fixing bounds issues"), then re-run the travis build. + +A common issue is that authors submit newly uploaded packages, it can +take up to an hour before this has synced across the stack +infrastructure. You can usually compare the versions of the package in +https://github.com/commercialhaskell/all-cabal-metadata/tree/master/packages/ +to what's on hackage to see if this is the case. Wait an hour and +re-run the pull request. + +Tests also commonly fail due to missing test files, and sometimes due +to doctest limitations. You can point the maintainer to +https://github.com/bergmark/blog/blob/master/2016/package-faq.md ## Fixing bounds issues @@ -33,20 +58,142 @@ issue on the Stackage repo about the problem, and modifying the build-constraints.yaml file to work around it in one of the ways below. Be sure to refer to the issue for workarounds added to that file. -* __Temporary upper bounds__ Most common technique, just prevent a new version of a library from being included immediately -* __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. -* __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 +### Temporary upper bounds + +Most common technique, just prevent a new version of a library from +being included immediately. This also applies to when only benchmarks +and tests are affected. + +* Copy the stackage-curator output and create a new issue, see e.g +https://github.com/fpco/stackage/issues/2108 + +* Add a new entry under the "stackage upper bounds" section of `build-constraints.yaml`. For the above example it would be + +```yaml + "Stackage upper bounds": + # https://github.com/fpco/stackage/issues/2108 + - pipes < 4.3.0 +``` + +* Commit (message e.g. "Upper bound for #2108") +* Optionally: Verify with `stackage-curator check` locally +* Push +* Verify that everything works on the build server (you can restart the build or wait for it to to run again) + +Sometimes releases for different packages are tightly coupled. Then it +can make sense to combine them into one issue, as in +https://github.com/fpco/stackage/issues/2143. + +If a dependency that is not explicitly in stackage is causing test or +benchmark failures you can skip or expect them to fail (see "Skipping +tests and benchmarks" and "Expecting test/benchmark/haddock +failures"). Bonus points for reporting this upstream to that packages' +maintainer. + +### Lifting upper bounds + +You can try this when you notice that a package has been updated. You +can also periodically try to lift bounds (I think it's good to do this +at the start of your week /@bergmark) + +If not all packages have been updated check if any of them are missing +from the original issue and if so add a new comment mentioning them. A +new package may appear if its dependencies were part of this issue but +have been updated since the last time we checked. We want to give +these new packages ample time to be upgraded. + +If stackage-curator is happy commit the change ("Remove upper bounds +and close #X"). After doing this the next nightly build may fail +because some packages didn't have an upper bound in place, but +compilation failed. In this case revert the previous commit so any +disabled packages are enabled again, re-open the issue, and add a new +comment with the failing packages. This is to give all maintainers +enough time to upgrade for this case as well. + +### Amending upper bounds + +With the `pipes` example above there was later a new release of +`pipes-safe` that required the **newer** version of `pipes`. You can +add that package to the same upper bounds section, +(e.g. https://github.com/fpco/stackage/commit/6429b1eb14db3f2a0779813ef2927085fa4ad673) +as we want to lift them simultaneously. + +### Skipping tests and benchmarks + +Sometimes tests and benchmark dependencies are forgotten or not cared +for. To disable compilation for them add them to `skipped-tests` or +`skipped-benchmarks`. If a package is added to these sections they +won't be compiled, and their dependencies won't be taken into account. + +There are sub sections under these headers that is used to group types +of failures together, and also to document what type of failures +exist. + +### Expecting test/benchmark/haddock failures + +The difference from the `skipped` sections is that items listed here +are compiled and their dependencies are taken into account. These +sections also have sub sections with groups and descriptions. + +One big category of test suites in this section are those requiring +running services. We don't want to run those, but we do want to check +dependencies and compile them. + +If there are no version bounds that would fix the issue or if you +can't figure it out, file it +(e.g. https://github.com/fpco/stackage/issues/2133) to ask the +maintainer for help. + +### Waiting for new releases + +Sometimes there is a failure reported on a (now possibly closed) issue +on an external tracker. If an issue gets resolved but there is no +hackage release yet we'd like to get notified when it's uploaded. + +Add the package with its current version to the +`tell-me-when-its-released` section. This will cause the build to stop +when the new version is out. + +### 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. + +This typically happens when we move to a new major GHC release or when +there are only a few packages waiting for updates on an upper bounds +issue. + +Comment out the offending packages from the "packages" section and add +a comment saying why it was disabled: + +``` + # - swagger # bounds: aeson 1.0 +``` + +If this causes reverse dependencies to be disabled we should notify +the maintainers of those packages. + ## Updating the content of the Docker image used for building ### Adding Debian packages for required system tools or libraries Additional (non-Haskell) system libraries or tools should be added to `stackage/debian-bootstrap.sh`. -Committing the changes to a branch should trigger a DockerHub. Normally only the nightly branch needs to be updated -since new packages are not added to the current lts release. +After you've committed those changes, merging them into the `nightly` branch should +trigger a DockerHub build. Simply run: + +```bash + $ git checkout nightly + $ git merge master + $ git push +``` Use [Ubuntu Package content search](http://packages.ubuntu.com/) to determine which package provides particular dev files (it defaults to xenial which is the version used to build Nightly). -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. +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`. +It's good to inform the maintainer of any disabled tests (commenting in the PR is sufficient). + +If a new package fails to build because of missing system libraries we often ask the maintainer to help figure out what to install. ### Upgrading GHC version The Dockerfile contains information on which GHC versions should be used. You @@ -82,8 +229,8 @@ You'll need to get your SSH public key added to the machine. ~/.ssh/config info: ``` Host stackage-build - User ubuntu - Hostname ec2-52-5-20-252.compute-1.amazonaws.com + User curators + Hostname build.stackage.org ``` ### Running the build script @@ -103,7 +250,7 @@ we're just not there yet. /opt/stackage-build/stackage/automated/build.sh lts-3.0 ``` -Recommended: run these from inside a `screen` session. If you get version bound +Recommended: run these from inside a `tmux` session. If you get version bound problems on nightly or LTS major, you need to fix build-constraints.yaml (see info above). For an LTS minor bump, you'll typically want to use the `CONSTRAINTS` environment variable, e.g.: @@ -123,8 +270,13 @@ If a build fails for bounds reasons, see all of the advice above. If the code itself doesn't build, or tests fail, open up an issue and then either put in a version bound to avoid that version or something else. It's difficult to give universal advice on how to solve things, since each situation is unique. Let's -develop this advice over time. For now: if you're not sure, ask Michael for -guidance. +develop this advice over time. For now: if you're not sure, ask for guidance. + +__`NOPLAN=1`__ If you wish to rerun a build without recalculating a +build plan, you can set the environment variable `NOPLAN=1`. This is +useful for such cases as an intermittent test failure, out of memory +condition, or manually tweaking the plan file. This is the default for +LTS builds. ### Timing @@ -138,9 +290,79 @@ LTS minor bumps typically are run on Sundays. ### Website sync debugging (and other out of disk space errors) * You can detect the problem by running `df`. If you see that `/` is out of space, we have a problem -* There are many temp files inside `/home/ubuntu/stackage-server-cron` that can be cleared out occasionally -* You can then manually run `/home/ubuntu/stackage-server-cron.sh`, or wait for the cron job to do it +* (outdated) There are many temp files inside `/home/ubuntu/stackage-server-cron` that can be cleared out occasionally +* (outdated) You can then manually run `/home/ubuntu/stackage-server-cron.sh`, or wait for the cron job to do it ### Wiping the cache -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`. +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 /var/stackage/stackage/automated/nightly`. +Replace nightly with `lts7` to wipe the LTS 7 cache. + +### Force a single package rebuild + +You can force a single package to rebuild by deleting its "previous result" +file, e.g.: + +``` +$ rm /var/stackage/stackage/automated/nightly/work/builds/nightly/prevres/Build/cryptohash-0.11.9 +``` + +## Local curator setup + +We do not run the full stackage build locally as that might take too +much time. However, some steps on the other hand are much faster to do +yourself, e.g. verifying constraints without building anything. + +To get started, install `stackage-curator` via Git, or [the Linux binary]: + +``` +$ git clone git@github.com:fpco/stackage-curator.git +$ cd stackage-curator && stack install +``` + +It is a good idea to upgrade `stackage-curator` at the start of your week. +Then, clone the stackage repo, get the latest packages and run dependency +resolution: + +``` +$ git clone git@github.com:fpco/stackage.git +$ stack update && stackage-curator check +``` + +This can be used to make sure all version bounds are in place, including for +test suites and benchmarks, to check whether bounds can be lifted, and to get +[tell-me-when-its-released] notifications. + +`stackage-curator` does not build anything, so you wont see any compilation +errors for builds, tests and benchmarks. + +[the Linux binary]: https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2 +[tell-me-when-its-released]: https://github.com/fpco/stackage/blob/master/CURATORS.md#waiting-for-new-releases + +## Adding new curators + +1. Add public ssh key to `~/.ssh/authorized_keys` on build server +2. Add to fpco/stackage project. + +## Dealing with a new GHC release + +As mentioned in the [GHC upgrade note], the major impact of a new GHC release +is on the packages that are causing upper bounds to be put in place. In order +to minimise out-of-date breakage and allow maintainers to have a solid chance +of getting their packages into the newest LTS, we try to do the following: + +Make an early announcement (in the form of a blog post, typically) of the new +GHC release on the nightly build and the planned deadline for the new LTS release. +Make it clear, that in the time coming up to this, we hope package maintainers +will upgrade their packages to allow for the new GHC release. + +We prefer to prune packages causing upper bounds constraints **after** the LTS +release to allow the maximum amount of packages to get into the newest LTS. + +After the first LTS release, the package pruning process may begin in the +nightly build in order to move forward with getting the latest versions of +packages compatible with the new GHC release. + +[GHC upgrade note]: https://github.com/fpco/stackage/blob/master/MAINTAINERS.md#upgrading-to-a-new-ghc-version diff --git a/Dockerfile b/Dockerfile index c6886c39..ad96d66b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,8 @@ -FROM ubuntu:16.04 +FROM fpco/pid1:16.04 ENV HOME /home/stackage ENV LANG en_US.UTF-8 -ENV PATH /opt/ghc/8.0.1/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV PATH /opt/ghc/8.0.2/bin:/usr/sbin:/usr/bin:/sbin:/bin ADD debian-bootstrap.sh /tmp/debian-bootstrap.sh RUN /tmp/debian-bootstrap.sh && rm /tmp/debian-bootstrap.sh diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 60308c45..4ad692a9 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -3,12 +3,14 @@ This project is built around the concept of maintainers taking responsibility fo The idea behind Stackage is that, if all packages work with the newest versions of dependencies, we avoid dependency hell. Specifically, we aim for: * 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. -* All packages are compatible with the newest versions of all dependencies. +* 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). * 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)). +Packages in Stackage are not patched: all package changes occur upstream in Hackage. + ## Adding a package -Anyone can add a package to Stackage, but it's highly encouraged that the actual package maintainer is also the Stackage maintainer. If that is not the case, you should drop the package maintainer a note first. +Anyone can add any package to Stackage but you may only add packages under your own name. It's highly encouraged that the actual package maintainer is also the Stackage maintainer, if that is not the case you should drop the package maintainer a note first. To add your package, first fork this repository. In the [`build-constraints.yaml`](https://github.com/fpco/stackage/blob/master/build-constraints.yaml) file, there's a section called `packages`. @@ -21,39 +23,66 @@ To add a set of packages, you would add: 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 +If you want to make sure that the package builds against the newest versions of all dependecies you can do this: +``` +$ cabal update +$ ghc --version # Should give v8.0.2 +$ cabal get PACKAGE-VERSION # e.g. aeson-0.11.2.1 +$ cd PACKAGE-VERSION +$ cabal sandbox init # Should give "Creating a new sandbox" and not "Using an existing sandbox". +$ cabal install --enable-tests --enable-benchmarks --dry-run | grep latest # Should give no results +$ cabal install --enable-tests --enable-benchmarks --allow-newer +$ cabal test +``` + **NB** Please use commit messages like "add foo-bar" or "add johndev's packages" (`build-constraints.yaml` is the most frequently changed file in this git repo so commit messages like "update build-constraints.yaml" are not helpful). -**NB2** There can be a delay of up to an hour before package versions newly -uploaded to Hackage appear to our build server. If you just uploaded a package -to Hackage that you're trying to get included, we recommend waiting an hour -before opening the PR. +**NB2** There can be a delay of up to an hour before package versions +newly uploaded to Hackage appear to our build server. If you just +uploaded a package to Hackage that you're trying to get included, we +recommend waiting an hour before opening the PR. You can verify this +by making sure the latest version is listed at +https://github.com/commercialhaskell/all-cabal-metadata/tree/master/packages/. +## Uploading a new package version -## Uploading a new package +When a new version of a package in Stackage 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 open a GitHub issue ticket to resolve the issue. -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. - -If the new version doesn't compile then the package author should quickly (within 1 week) upload a fixed version. +If the new version doesn't compile then the package author should upload a fixed version. 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. ## Following dependency upgrades -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. +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 recommended that all package maintainers follow the dependencies of their packages on [Packdeps](http://packdeps.haskellers.com/), typically using the RSS feeds. -**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. +If a package is not modified in a timely manner, it may be temporarily +removed from Stackage by the curator team, at which point it is your +responsibility to add it back in via a new pull request. We typically +use fairly long windows on this, but at a minimum: -**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. +* If restrictive version bounds are the only problem, we will give at + least a week to respond. +* If there are real breaking changes, the curator team will retain + more discretion on how long a window to give before dropping + packages. Historically, this has usually waited until the cutting of + a new Long Term Support (LTS) major version. +**NOTE** Previously, this maintainer agreement put a time limit on +maintainers, requiring a certain level of responsiveness for +modifications to be made. We have explicitly removed that: anyone is +free to add a package to Stackage regardless of responsiveness +guarantees. However, as stated above, we may elect to temporarily +remove a package if it is not updated in a timely manner. ## Failing to meet the time limits 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. -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. +The soft time limits are intended to prevent 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 longer periods. ## Upgrading to a new GHC version diff --git a/README.md b/README.md index 83ebb2f5..f0cfbef1 100644 --- a/README.md +++ b/README.md @@ -18,10 +18,10 @@ We welcome all packages, provided: * The package author/maintainer agrees to the [maintainers agreement](https://github.com/fpco/stackage/blob/master/MAINTAINERS.md). * 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. -* The package is compatible with the newest versions of all dependencies. +* 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). * 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)). -Full details on how to add a package can be found in the [maintainers agreement](https://github.com/fpco/stackage/blob/master/MAINTAINERS.md#adding-a-package). +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). __NOTE__: There is an approximate 30 minute delay between a package uploading to Hackage and being available to the Travis build script to check upper @@ -57,34 +57,13 @@ flow](https://github.com/fpco/stackage/blob/master/DATA-FLOW.md). Build the package set --------------------- -Generally, building the package set should be done only by the Stackage build -machine by the Stackage curation team. If you're interested in trying this -yourself, please check out [the curator -guide](https://github.com/fpco/stackage/blob/master/CURATORS.md), though be -aware that this is not a recommended practice and there likely will be problems -you will need to debug yourself. - -### Docker - -Note: This method has been disabled for now, but may be enabled again in the future. - -If you'd like to check a build plan, or perform an entire build, without -specially configuring your system, Docker may be a good approach. To check if -some modifications to `build-constraints.yaml` are valid, try the following: - -1. Create a local clone of the `stackage` repo -2. Make modifications to your local `build-constraints.yaml` -3. Inside the `stackage` working directory, run the following: - - ``` - $ docker run -it --rm -v $(pwd):/stackage -w /stackage snoyberg/stackage /bin/bash -c 'cabal update && stackage check' - ``` - -Similarly, if you'd like to perform an entire build, you can replace the last step with: - -``` -$ docker run -it --rm -v $(pwd):/stackage -w /stackage snoyberg/stackage /bin/bash -c 'cabal update && stackage nightly --skip-upload' -``` +Generally only the stackage build server run by the stackage curator +team and people intrested in incorporating stackage snapshots into an +OS distribution need to build the entire package set. If you're +interested in trying this yourself, please check out +[the curator guide](https://github.com/fpco/stackage/blob/master/CURATORS.md), +though be aware that this is not a recommended practice and there +likely will be problems you will need to debug yourself. ## Processing @@ -105,3 +84,42 @@ The following describes at a high level the series of steps for processing 1. Load up most recent build plan 2. Convert build plan into constraints for next build 3. Continue from step (3) above + +Frequently Asked Questions +-------------------------- + +__Why does Stackage have an older version of a package than Hackage?__ + +There are a number of answers to this question: + +* Simplest reason: how old of a Stackage snapshot are you using? Once a + snapshot is created, it's frozen for all time. So if you use + nightly-2016-01-01, by the time you get to 2018, it will be pretty dated. +* If you're using an LTS snapshot: we lock down major versions when + first creating an LTS run, so subsequent minor versions will not get + new versions necessary. For example, if LTS 6.0 has `foo` version + 1.2.3, and the author immediately thereafter releases a version + 1.3.0 and never releases another 1.2.\* version, you'll never get + another update in the LTS 6 line +* Sometimes we have upper bounds in place because other packages have + problems with newer versions of dependencies. Open up the + [build-constraints file](https://github.com/fpco/stackage/blob/master/build-constraints.yaml) + and search for "Stackage upper bounds" +* Wired-in packages - those that ship with GHC and cannot be upgraded, + and packages depending on them - are fixed to GHC versions. Common + examples of this are containers and transformers. There's a lot more + information on this in + [an FP Complete blog post](https://www.fpcomplete.com/blog/2014/05/lenient-lower-bounds) + +__How long do you maintain an LTS build?__ + +We only guarantee that we will maintain a single LTS major version at +a time, and that it will be maintained for at least three months. This +is the +[originally proposed support window](https://www.fpcomplete.com/blog/2014/12/backporting-bug-fixes), +and hasn't changed since then. + +That said, we do maintain the capability to keep multiple LTS runs +operational in parallel, and with LTS 6 and 7 in fact did so. We +aren't changing our guarantees yet on longevity of a release, but are +trying to push out the bounds a bit farther. diff --git a/automated/.gitignore b/automated/.gitignore index 8285928f..9c4d36e6 100644 --- a/automated/.gitignore +++ b/automated/.gitignore @@ -8,3 +8,5 @@ /lts-*/ /stackage-curator/ /stackage-update/ +/aws.sh +/crondir/ diff --git a/automated/build.sh b/automated/build.sh index ed4dbb39..c5e78640 100755 --- a/automated/build.sh +++ b/automated/build.sh @@ -1,10 +1,12 @@ #!/usr/bin/env bash -set -eux +set -eu +x ROOT=$(cd $(dirname $0) ; pwd) TARGET=$1 +source aws.sh + # For nightly-YYYY-MM-DD, tag should be nightly # For lts-X.Y, tag should be ltsX SHORTNAME=$(echo $TARGET | cut -d- -f 1) @@ -75,12 +77,13 @@ rm -f stackage-curator stackage-curator.bz2 wget https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2 bunzip2 stackage-curator.bz2 chmod +x stackage-curator +./stackage-curator --version ) -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" -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" -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" -ARGS_UPLOAD="$ARGS_COMMON -u $USER -e AWS_ACCESS_KEY=$AWS_ACCESS_KEY -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY -e AWS_SECRET_KEY=$AWS_SECRET_KEY -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_KEY -v $AUTH_TOKEN:/auth-token:ro -v $HACKAGE_CREDS:/hackage-creds:ro -v $DOT_STACKAGE_DIR:/home/stackage/.stackage -v $SSH_DIR:/home/ubuntu/.ssh:ro -v $GITCONFIG:/home/stackage/.gitconfig:ro -v $CABAL_DIR:/home/stackage/.cabal:ro -v $STACK_DIR:/home/stackage/.stack:ro" +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" +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" +ARGS_BUILD="$ARGS_COMMON -v $CABAL_DIR:$HOME/.cabal:ro -v $STACK_DIR:$HOME/.stack:ro -v $GHC_DIR:$HOME/.ghc:ro" +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" # Make sure we actually need this snapshot. We only check this for LTS releases # since, for nightlies, we'd like to run builds even if they are unnecessary to @@ -88,32 +91,44 @@ ARGS_UPLOAD="$ARGS_COMMON -u $USER -e AWS_ACCESS_KEY=$AWS_ACCESS_KEY -e AWS_ACCE # below for why this is safe.) if [ $SHORTNAME = "lts" ] then - docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "stackage-curator check-target-available --target $TARGET" + docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "exec stackage-curator check-target-available --target $TARGET" fi # Get latest stack curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C $EXTRA_BIN_DIR '*/stack' -# Do all of the pre-build actions: +# Determine the new build plan unless NOPLAN is set # -# * Update the package index +# * Update the package index (unless LTS) # * Create a new plan +if [ "${NOPLAN:-}x" = "x" ] +then + if [ $SHORTNAME = "lts" ] + then + docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "exec stackage-curator create-plan --plan-file $PLAN_FILE --target $TARGET ${CONSTRAINTS:-}" + else + docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "stack update && exec stackage-curator create-plan --plan-file $PLAN_FILE --target $TARGET ${CONSTRAINTS:-}" + fi +fi + +# Do the rest of the pre-build actions: +# # * Check that the plan is valid # * Fetch all needed tarballs (the build step does not have write access to the tarball directory) # * Do a single unpack to create the package index cache (again due to directory perms) -docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "/home/stackage/bin/stack update && stackage-curator create-plan --plan-file $PLAN_FILE --target $TARGET ${CONSTRAINTS:-} && stackage-curator check --plan-file $PLAN_FILE && stackage-curator fetch --plan-file $PLAN_FILE && cd /tmp && /home/stackage/bin/stack unpack random" +docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "stackage-curator check --plan-file $PLAN_FILE && stackage-curator fetch --plan-file $PLAN_FILE && cd /tmp && exec stack unpack random" # Now do the actual build. We need to first set the owner of the home directory # correctly, so we run the command as root, change owner, and then use sudo to # switch back to the current user -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" +docker run $ARGS_BUILD $IMAGE nice -n 15 /bin/bash -c "chown $USER $HOME && exec sudo -E -u $USER env \"HOME=$HOME\" \"PATH=\$PATH\" stackage-curator make-bundle --jobs 4 --plan-file $PLAN_FILE --docmap-file $DOCMAP_FILE --bundle-file $BUNDLE_FILE --target $TARGET" # Make sure we actually need this snapshot. We used to perform this check # exclusively before building. Now we perform it after as well for the case of # nightly, where we don't perform this check beforehand. This is also slightly # safer, in case someone else already uploaded a specific snapshot while we # were building. -docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "stackage-curator check-target-available --target $TARGET" +docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "exec stackage-curator check-target-available --target $TARGET" # Successful build, so we need to: # @@ -121,4 +136,6 @@ docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "stackage-curator check-target-avail # * Upload the 00-index.tar file to S3 (TODO: this is probably no longer necessary, since snapshots never modify .cabal files) # * Upload the new plan .yaml file to the appropriate Github repo # * Register as a new Hackage distro -docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "stackage-curator upload-docs --target $TARGET --bundle-file $BUNDLE_FILE && stackage-curator upload-index --plan-file $PLAN_FILE --target $TARGET && stackage-curator upload-github --plan-file $PLAN_FILE --docmap-file $DOCMAP_FILE --target $TARGET && stackage-curator hackage-distro --plan-file $PLAN_FILE --target $TARGET" +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" + +date diff --git a/automated/cron.sh b/automated/cron.sh new file mode 100755 index 00000000..2d804ad8 --- /dev/null +++ b/automated/cron.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +set -eux + +cd "$(dirname "${BASH_SOURCE[0]}")" + +CRONDIR=$(pwd)/crondir +mkdir -p $CRONDIR +source aws.sh + +IMAGE=fpco/stackage-server-prod:latest +docker pull $IMAGE + +stack update + +date +echo "Running stackage-server-cron..." +docker run --rm \ + -v $CRONDIR:/home/ubuntu \ + -v $HOME/.stack/indices:/home/ubuntu/.stack/indices:ro \ + --workdir /home/ubuntu \ + -p 17834:17834 \ + $IMAGE \ + 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'" diff --git a/automated/run-nightly.sh b/automated/run-nightly.sh index d1f04485..3dc3b26c 100755 --- a/automated/run-nightly.sh +++ b/automated/run-nightly.sh @@ -1,15 +1,10 @@ #!/usr/bin/env bash +cd "$(dirname "${BASH_SOURCE[0]}")" + while true; do - /opt/stackage-build/stackage/automated/build.sh nightly-$(date -u +%F) + ./build.sh nightly-$(date -u +%F) date - echo - - echo "Running stackage-server-cron..." - echo "('tail -f /home/ubuntu/stackage-server-cron.log' to watch)" - /home/ubuntu/stackage-server-cron.sh >> /home/ubuntu/stackage-server-cron.log 2>&1 - echo "done." - date - sleep 30m + echo done diff --git a/build-constraints.yaml b/build-constraints.yaml index 86757563..309bb33d 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1,10 +1,91 @@ ghc-major-version: "8.0" # Constraints for brand new builds packages: + + "Henning Thielemann @thielema": + - numeric-prelude + - non-negative + - non-empty + - storable-record + - utility-ht + - prelude-compat + + "Jeremy Barisch-Rooney @barischj": + - threepenny-gui-flexbox + + "Romain Edelmann @redelmann": + - distribution + + "Rongcui Dong @rongcuid": + - sdl2-ttf + + "Nikita Tchayka @nickseagull": + - ramus + + "Simon Jakobi @sjakobi": + - path + - threepenny-gui + + "Joe M @joe9": + - logger-thread + # - text-generic-pretty # # via ixset-typed: via safecopy: bounds: vector + + "Li-yao Xia @Lysxia": + - boltzmann-samplers + - generic-random + + "Tobias Dammers @tdammers": + - ginger + + "Yair Chuchem @yairchu": + - List + + "Luke Murphy @lwm": + - tasty-discover + - lentil + + "Marco Zocca @ocramz": + - sparse-linear-algebra + - matrix-market-attoparsec + - network-multicast + - xeno + + "Joseph Canero @caneroj1": + - sqlite-simple-errors + - median-stream + - stm-supply + + "James M.C. Haver II @mchaver": + - quickcheck-arbitrary-adt + - hspec-golden-aeson + # - servant-aeson-specs # bounds: servant + + "Winter Land @winterland1989": + - if + - tcp-streams + - tcp-streams-openssl + - wire-streams + - binary-parsers + - binary-ieee754 + - word24 + - mysql-haskell + - mysql-haskell-openssl + + "Harendra Kumar @harendra-kumar": + - unicode-transforms + + "Aleksey Uimanov @s9gf4ult": + # - postgresql-query # via: derive + - hreader + - hset + + "Aaron Taylor @hamsterdam": + - kawhi + "Schell Scivally @schell": - renderable - varying - + "Nicolas Mattia @nmattia": - makefile @@ -16,31 +97,30 @@ packages: "alpheccar @alpheccar": - HPDF - - hbayes + # https://github.com/alpheccar/hbayes/issues/3 + # - hbayes "Dmitry Bogatov ": - [] - # GHC 8 - once + - once - "David Johnson djohnson.m@gmail.com @dmjio": - # GHC 8 - envy + "David Johnson @dmjio": + - envy - s3-signer - # https://github.com/fpco/stackage/issues/1290 - # - google-translate - # - hackernews - # GHC 8 - ses-html - # GHC 8 - stripe-haskell - # GHC 8 - stripe-http-streams - # GHC 8 - stripe-core + # - google-translate # bounds: servant + # - hackernews # bounds: servant + # - ses-html # bounds: time 1.6 + # - stripe-haskell # via: stripe-http-streams + # - stripe-http-streams # via: http-streams + # - stripe-core # bounds: aeson 1.0 "Piotr Mlodawski @pmlodawski": - signal - # GHC 8 - ghc-session + # - ghc-session # bounds: GHC 8 "Michael Snoyman michael@snoyman.com @snoyberg": - bzlib-conduit - cabal-install - - cabal-src + - mega-sdist - case-insensitive - classy-prelude-yesod - conduit-combinators @@ -52,13 +132,12 @@ packages: - mime-mail-ses - network-conduit-tls - persistent - # https://github.com/bos/mysql/issues/20 - # GHC 8 - persistent-mysql + - persistent-mysql - persistent-postgresql - persistent-sqlite - persistent-template - # https://github.com/fpco/stackage-curator/issues/21 - #- stackage-curator + - stackage-curator + - store - stm-conduit - wai-websockets - warp-tls @@ -68,7 +147,7 @@ packages: - authenticate-oauth - yesod-bin - yesod-eventsource - # GHC 8 - yesod-fay + - yesod-fay - yesod-gitrepo - yesod-newsfeed - yesod-sitemap @@ -77,7 +156,7 @@ packages: - yesod-websockets - cereal-conduit - binary-conduit - # GHC 8 - lzma-conduit + - lzma-conduit - mutable-containers - hpc-coveralls - monad-unlift @@ -91,41 +170,42 @@ packages: - base16-bytestring - c2hs - cassava - # GHC 8 - csv-conduit + - csv-conduit - executable-hash - executable-path - foreign-store - formatting - - gtk2hs-buildtools + # - gtk2hs-buildtools # via hashtables: bounds: vector - happy - hybrid-vectors - indents - language-c - lhs2tex - # GHC 8 - persistent-mongoDB + # - persistent-mongoDB # bounds: http-api-data - pretty-class - th-expand-syns - - criterion - th-lift - quickcheck-assertions - # GHC 8 - hackage-mirror + # - hackage-mirror # via: aws - wai-middleware-consul - wai-middleware-crowd - monad-logger-json - safe-exceptions - # https://github.com/fpco/monad-logger-syslog/issues/3 - # - monad-logger-syslog + - monad-logger-syslog + - fsnotify-conduit + - pid1 + - typed-process + - say - fsnotify - hinotify - hfsevents - Win32-notify - "Omari Norman ": + "Omari Norman @massysett": - rainbow - rainbox - - pipes-cliff - anonymous-sums - multiarg - prednote @@ -135,12 +215,12 @@ packages: - pinchot - accuerr - timelens + - non-empty-sequence - "Neil Mitchell": + "Neil Mitchell @ndmitchell": - hlint - hoogle - shake - - derive - tagsoup - cmdargs - safe @@ -151,33 +231,40 @@ packages: - extra - bake - ghcid + - hexml - "Alan Zimmerman": + "Alan Zimmerman @alanz": - hjsmin - language-javascript - # GHC 8 - Strafunski-StrategyLib - # GHC 8 - HaRe + - Strafunski-StrategyLib + - HaRe # via: cabal-helper, ghc-mod, rosezipper - "Alfredo Di Napoli ": + "Alfredo Di Napoli @adinapoli": - mandrill "Jon Schoning @jonschoning": - pinboard - "Jasper Van der Jeugt": + "Jasper Van der Jeugt @jaspervdj": - blaze-html - blaze-markup - cabal-dependency-licenses - # GHC 8 - hakyll + - hakyll - stylish-haskell + - patat - profiteur - psqueues - websockets - # GHC 8 - websockets-snap + - websockets-snap "Sibi Prabakaran @psibi": - [] - # GHC 8 - download + - download + - textlocal + - shell-conduit + + "haskell-openal": + - OpenAL + - ALUT "haskell-opengl": - OpenGL @@ -187,23 +274,23 @@ packages: - StateVar - ObjectName - "Antoine Latter": + "Antoine Latter @aslatter": - byteorder - uuid - "Philipp Middendorf ": - # https://github.com/fpco/stackage/issues/1305 + "Philipp Middendorf @pmiddend": - clock - "Stefan Wehr ": + "Stefan Wehr @skogsbaer": - HTF - xmlgen - stm-stats + # - large-hashable # via safecopy: bounds: vector - "Bart Massey ": + "Bart Massey @BartMassey": - parseargs - "Vincent Hanquez": + "Vincent Hanquez @vincenthz": - bytedump - cipher-aes - cipher-rc4 @@ -213,8 +300,10 @@ packages: - cryptocipher - cryptohash - cryptonite + - cryptonite-openssl - crypto-pubkey-types - crypto-random-api + - git - hit - memory - language-java @@ -227,7 +316,8 @@ packages: - vhd - xenstore - "Chris Done": + "Chris Done @chrisdone": + - labels - ace - ical - check-email @@ -237,14 +327,11 @@ packages: - hostname-validate - ini - lucid - - osdkeys + # - osdkeys # via libnotify: via gtk: via cairo: via gtk2hs-buildtools: via hashtables: bounds: vector - pdfinfo - # https://github.com/fpco/stackage/issues/1062 - #- present + # - present # compilation failure against haskell-src-exts - pure-io - # https://github.com/jgoerzen/testpack/issues/11 - #- scrobble GHC 7.10, for QuickCheck 2.8 via testpack - # GHC 8 - shell-conduit + # - scrobble # compilation errors against time 1.6 - sourcemap - hindent - descriptive @@ -252,33 +339,32 @@ packages: - path - intero - weigh - # requires old haddock currently - haskell-docs - # TODO: Add structured-haskell-mode once they've been ported to HSE 1.16. + # - haskell-docs # BLOCKED haddock-api GHC 8.0.2 + # - structured-haskell-mode # bounds: haskell-src-exts # via: applicative-quoters - "Alberto G. Corona ": - - RefSerialize - - TCache - - Workflow - - MFlow + "Alberto G. Corona @agocorona": + # - RefSerialize # via hashtables: bounds: vector + # - TCache # via hashtables: bounds: vector + # - Workflow # via RefSerialize: via hashtables: bounds: vector + # - MFlow # via RefSerialize: via hashtables: bounds: vector - transient - - transient-universe - - ghcjs-hplay + # - transient-universe # via TCache: via hashtables: bounds: vector + # - ghcjs-hplay # via transient-universe: via TCache: via hashtables: bounds: vector - "Edward Kmett ": + "Edward Kmett @ekmett": - ad - adjunctions - # GHC 8 - approximate + # - approximate # bounds: binary, comonad, pointed - bifunctors - bits - # GHC 8 - bound + # - bound # bounds: binary, comonad, doctest, transformers, vector - bytes - charset - comonad - comonads-fd - comonad-transformers - # https://github.com/ekmett/compensated/issues/7 - #- compensated - # BLOCKED pointed 5 - compressed + # - compensated # bounds: binary, comonad, generic-deriving, safecopy + # - compressed # bounds: comonad, pointed - concurrent-supply - constraints - contravariant @@ -298,13 +384,13 @@ packages: - lca - lens - linear - - linear-accelerate - # GHC 8 - log-domain + # - linear-accelerate # via accelerate: via hashtables: bounds: vector + # - log-domain # via safecopy: bounds: vector - machines - monadic-arrays - monad-products - monad-products - # GHC 8 - monad-st + # - monad-st # bounds: transformers - mtl - nats - numeric-extras @@ -322,6 +408,7 @@ packages: - speculation - streams - tagged + - trifecta - vector-instances - void - wl-pprint-extras @@ -329,16 +416,16 @@ packages: - zippers - fixed - half - - gl + # - gl BLOCKED directory 1.3 - lens-aeson - zlib-lens - # GHC 8 - hyperloglog + # - hyperloglog # bounds: approximate, binary, comonad - "Andrew Farmer ": + "Andrew Farmer @xich": - scotty - wai-middleware-static - "Simon Hengel ": + "Simon Hengel @sol": - hspec - hspec-wai - hspec-wai-json @@ -348,93 +435,90 @@ packages: - base-compat "Mario Blazevic @blamario": - # GHC 8 - monad-parallel - # GHC 8 - monad-coroutine + - monad-parallel + - monad-coroutine - incremental-parser - monoid-subclasses - picoparsec - "Brent Yorgey ": + "Brent Yorgey @byorgey": - active - # GHC 8 - BlogLiterately - # GHC 8 - BlogLiterately-diagrams + - BlogLiterately + - BlogLiterately-diagrams - diagrams - # GHC 8 - diagrams-builder - # GHC 8 - diagrams-haddock - # GHC 8 - diagrams-cairo + - diagrams-builder + # - diagrams-haddock # BLOCKED directory 1.3 via cautious-file + # - diagrams-cairo # bounds: vector - diagrams-contrib - diagrams-core - # GHC 8 - diagrams-gtk + # - diagrams-gtk # via diagrams-cairo: bounds: vector - diagrams-lib - # GHC 8 - diagrams-postscript - # GHC 8 - diagrams-rasterific + - diagrams-postscript + - diagrams-rasterific - diagrams-svg - dual-tree - force-layout - # GHC 8 - haxr + - haxr - MonadRandom - monoid-extras - "Vincent Berthoux ": + "Vincent Berthoux @Twinside": - JuicyPixels - # GHC 8 - FontyFruity - # GHC 8 - Rasterific - # GHC 8 - svg-tree - # GHC 8 - rasterific-svg - # GHC 8 - asciidiagram + - FontyFruity + - Rasterific + - svg-tree + - rasterific-svg + - asciidiagram - "Patrick Brisbin": + "Patrick Brisbin @pbrisbin": - gravatar - "Paul Harper ": - - yesod-auth-oauth2 + # "Paul Harper @benekastah": + # - yesod-auth-oauth2 # bounds: aeson-1.0, http-client, load-env "Felipe Lessa @meteficha": - # Requires tagsoup < 0.14 - # - country-codes - # BLOCKED persistent 2.5 - esqueleto - - fb - # BLOCKED persistent 2.5 - fb-persistent - # https://github.com/prowdsponsor/mangopay/issues/32 - #- mangopay + # - country-codes # bounds: tagsoup + # - fb # bounds: aeson, http-conduit-2.2, hspec + # - fb-persistent # bounds: persistent # via: fb + # - mangopay # compilation failure against aeson - nonce - serversession - # GHC 8 - serversession-backend-acid-state - # BLOCKED persistent 2.5 - serversession-backend-persistent - # BLOCKED redis 0.8 - serversession-backend-redis - # GHC 8 - serversession-frontend-snap + # - serversession-backend-acid-state # via acid-state: via safecopy: bounds: vector + # - serversession-backend-persistent # bounds: persistent, persistent-postgresql, persistent-sqlite + # - serversession-backend-redis # bounds: hedis + # - serversession-frontend-snap # bounds: snap, snap-core - serversession-frontend-wai - serversession-frontend-yesod - thumbnail-plus - # BLOCKED persistent 2.5 - yesod-auth-account-fork - # GHC 8 - yesod-auth-fb - - yesod-fb - # https://github.com/prowdsponsor/mangopay/issues/32 - #- yesod-mangopay + # - yesod-auth-account-fork # bounds: persistent + # - yesod-auth-fb # bounds: time, transformers # via fb, via yesod-fb + # - yesod-fb # via fb + # - yesod-mangopay # via mangopay - "Alexander Altman ": + "Alexander Altman @pthariensflame": # Maintaining on behalf of @roelvandijk: - base-unicode-symbols - containers-unicode-symbols # My own packages: - ChannelT - "Trevor L. McDonell ": - - accelerate - - "Liam O'Connor ": + "Trevor L. McDonell @tmcdonell": [] - # GHC 8 - patches-vector - # GHC 8 - composition-tree - # GHC 8 - dixi - # GHC 8 - latex-formulae-image - # GHC 8 - latex-formulae-pandoc - # GHC 8 - latex-formulae-hakyll - # GHC 8 - agda-snippets - # GHC 8 - agda-snippets-hakyll + # - accelerate # via hashtables: bounds: vector + + "Liam O'Connor @liamoc": + [] + # - patches-vector # bounds: QuickCheck, edit-distance-vector, hspec + # - composition-tree # bounds: QuickCheck + # - dixi # bounds: aeson, lens, time, [...] + # - latex-formulae-image # BLOCKED directory 1.3 + # - latex-formulae-pandoc # bounds: pandoc-types + # - latex-formulae-hakyll # bounds: ghc, base + # - agda-snippets # bounds: ghc, base + # - agda-snippets-hakyll # bounds: ghc, base "Dan Burton @DanBurton": - - hspec-jenkins + # - hspec-jenkins # hspec 2.4.1 # https://github.com/worksap-ate/hspec-jenkins/issues/3 - yesod-gitrev - basic-prelude - composition @@ -453,8 +537,7 @@ packages: - grouped-list - haskintex - HaTeX - # fails see #885 - #- hatex-guide + - hatex-guide - include-file - matrix - pcre-light @@ -462,7 +545,7 @@ packages: - post-mess-age - sorted-list - "Gabriel Gonzalez ": + "Gabriel Gonzalez @Gabriel439": - optparse-generic - pipes - pipes-extras @@ -472,17 +555,19 @@ packages: - turtle - foldl - morte + - bench - "Andrew Thaddeus Martin ": + "Andrew Thaddeus Martin @andrewthad": - yesod-table - "Arash Rouhani ": - - yesod-text-markdown - - "Chris Allen ": + "Chris Allen @bitemyapp": + - machines-directory + - machines-io - bloodhound + - esqueleto # bounds: persistent "Adam Bergmark @bergmark": + - HUnit - aeson - fay - fay-base @@ -491,47 +576,60 @@ packages: - fay-text - fay-uri - feed - # GHC 8 - snaplet-fay + # - snaplet-fay # BLOCKED directory 1.3 via heist and snap - time-compat - through-text - "Sebastiaan Visser ": + "Benedict Aas @Shou": + - boolean-like + - type-operators + + "Sebastiaan Visser @sebastiaanvisser": - clay - fclabels - "Rodrigo Setti ": - [] - # GHC 8 - messagepack - # GHC 8 - messagepack-rpc + "Robert Klotzner @eskimor": + - purescript-bridge + - servant-purescript + - servant-subscriber - "Boris Lykah ": - [] - # GHC 8 - groundhog - # GHC 8 - groundhog-th - # GHC 8 - groundhog-sqlite - # GHC 8 - groundhog-postgresql - # GHC 8 - groundhog-mysql + "Rodrigo Setti @rodrigosetti": + - messagepack + - messagepack-rpc - "Janne Hellsten ": + "Boris Lykah @lykahb": + - groundhog + - groundhog-th + - groundhog-sqlite + - groundhog-postgresql + - groundhog-mysql + - groundhog-inspector + + "Janne Hellsten @nurpax": - sqlite-simple - "Michal J. Gajda ": + "Michal J. Gajda @mgajda": - iterable - Octree - FenwickTree - hPDB - hPDB-examples - - homplexity - #- wordpass - - json-autotype + # - homplexity # BLOCKED directory 1.3 + # - wordpass # bounds: vector + # - json-autotype # bounds: aeson 1.0, lens - posix-realtime - "Dominic Steinitz ": - - yarr - - random-fu + "Dom De Re @domdere": + - cassava-conduit - "Ben Gamari ": - - vector-fftw + "Dominic Steinitz @idontgetoutmuch": + [] + # - yarr # compilation error against fixed-vector https://github.com/leventov/yarr/issues/10 + # - random-fu # via log-domain: via safecopy: bounds: vector + + "Ben Gamari @bgamari": + [] + # - vector-fftw # bounds: vector "Roman Cheplyaka @feuerbach": - action-permutations @@ -549,47 +647,51 @@ packages: - tasty-smallcheck - tasty-html - time-lens - # GHC 8 - timezone-olson - # GHC 8 - timezone-series + - timezone-olson + - timezone-series - traverse-with-class - tuples-homogenous-h98 - "George Giorgidze ": + "George Giorgidze @giorgidze": - HCodecs - YampaSynth - set-monad - "Phil Hargett ": + "Phil Hargett @hargettp": - courier - "Aycan iRiCAN ": - # - hdaemonize + "Aycan iRiCAN @aycanirican": + - hdaemonize - hweblib - "Joachim Breitner ": + "Joachim Breitner @nomeata": - circle-packing - arbtt - ghc-heap-view - tttool - - gipeda + # - gipeda # via cassava: bounds: vector - list-fusion-probe - haskell-spacegoo - tasty-expected-failure + - RepLib + - unbound - "Aditya Bhargava @egonSchiele": - HandsomeSoup "Clint Adams @clinty": - - hOpenPGP + # - hOpenPGP # via ixset-typed: via safecopy: bounds: vector - openpgp-asciiarmor - MusicBrainz - DAV - - hopenpgp-tools + # - hopenpgp-tools # via ixset-typed: via safecopy: bounds: vector - opensource + "Piyush P Kurur @piyush-kurur": + - raaz "Joey Hess @joeyh": - # GHC 8 - git-annex - # GHC 8 - github-backup + # - git-annex # bounds: bloomfilter, [...] # via: aws, esqueleto, [...] # + # - github-backup # bounds: github - Win32-extras - concurrent-output - mountpoints @@ -600,37 +702,36 @@ packages: - versions - vectortiles - pipes-random - # GHC 8 - kanji + # - repa # bounds: vector + # - repa-io # bounds: vector + # - repa-algorithms # bounds: vector + # - kanji # bounds: ghc 8, base - "Ketil Malde": + "Ketil Malde @ketil-malde": - biocore - biofasta - biofastq - # - biosff GHC 7.10 + # - biosff # 0.3.7.1 Compilation failure due to -Werror - blastxml - bioace - # https://github.com/BioHaskell/biophd/issues/3 - # - biophd - biopsl - # https://github.com/ingolia/SamTools/issues/3 - # - samtools + # samtools # Compilation failure against c2hs https://github.com/ingolia/SamTools/issues/3 - seqloc - bioalign - BlastHTTP - # The following have out-of-date dependencies currently - # biostockholm memexml RNAwolf - # , "Biobase BiobaseDotP BiobaseFR3D BiobaseInfernal BiobaseMAF" - # , "BiobaseTrainingData BiobaseTurner BiobaseXNA BiobaseVienna" - # , "BiobaseTypes BiobaseFasta" - # MC-Fold-DP + # Outdated dependencies: + # biostockholm memexml RNAwolf Biobase BiobaseDotP + # BiobaseFR3D BiobaseInfernal BiobaseMAF BiobaseTrainingData + # BiobaseTurner BiobaseXNA BiobaseVienna" + # BiobaseTypes BiobaseFasta MC-Fold-DP - "Florian Eggenhofer ": + "Florian Eggenhofer @eggzilla": - ClustalParser - # GHC 8 - EntrezHTTP + - EntrezHTTP - Genbank - # GHC 8 - RNAlien + # - RNAlien # via cassava: bounds: vector - Taxonomy - # GHC 8 - TaxonomyTools + # - TaxonomyTools # build failure - ViennaRNAParser "Silk ": @@ -648,9 +749,9 @@ packages: - multipart - rest-client - rest-core - - rest-gen - - rest-happstack - # GHC 8 - rest-snap + # - rest-gen # bounds: blaze-html + # - rest-happstack # via rest-gen: bounds: blaze-html + - rest-snap - rest-stringmap - rest-types - rest-wai @@ -658,81 +759,88 @@ packages: - uri-encode "Simon Michael @simonmichael": + - darcs + # - hledger # via hledger-lib: via hashtables: bounds: vector + # - hledger-lib # via hashtables: bounds: vector + # - hledger-ui # via hledger-lib: via hashtables: bounds: vector + # - hledger-web # via hledger-lib: via hashtables: bounds: vector + # - hledger-api # via hledger-lib: via hashtables: bounds: vector + # - shelltestrunner # bounds: Diff, HUnit + - quickbench - regex-compat-tdfa - # GHC 8 - darcs - - hledger - - hledger-lib - # - hledger-ui - # - hledger-web - # GHC 8 - shelltestrunner - "Mihai Maruseac ": + "Mihai Maruseac @mihaimaruseac": - io-manager - "Dimitri Sabadie @phaazon": + # - al # FIXME temporary, figure out why it's not working with stackage-build + - event + - hid + # - luminance # BLOCKED directory 1.3 + # - luminance-samples # bounds: base - monad-journal - # GHC 8 - msi-kb-backlit - # GHC 8 - smoothie - # GHC 8 - tellbot - # GHC 8 - wavefront - # GHC 8 - zero + # - msi-kb-backlit # bounds: ghc, base + - smoothie + # - tellbot # bounds: bifunctors, http-conduit, tagsoup + # - wavefront # bounds: vector + - zero - "Thomas Schilling ": + "Thomas Schilling @nominolo": - ghc-syb-utils - "Boris Buliga ": + "Boris Buliga @d12frosted": - io-choice - # https://github.com/d12frosted/CanonicalPath/issues/5 - # - system-canonicalpath + # - system-canonicalpath # bounds: ghc, base # https://github.com/d12frosted/CanonicalPath/issues/5 "Daniel Gröber @DanielG": - # GHC 8 - ghc-mod + - ghc-mod - cabal-helper - "Yann Esposito ": + "Yann Esposito yogsototh @yogsototh": - human-readable-duration - # GHC 8 - holy-project + - holy-project - wai-middleware-caching - wai-middleware-caching-lru - wai-middleware-caching-redis # not package maintainer - # GHC 8 - ekg - # GHC 8 - ekg-json + - ekg + - ekg-json - "Paul Rouse ": + "Paul Rouse @paul-rouse": + - mysql + - mysql-simple - sphinx + # - xmlhtml # bounds: blaze-html, blaze-markup - yesod-auth-hashdb "Toralf Wittner @twittner": - bytestring-conversion - # GHC 8 - cql - # GHC 8 - cql-io + - cql + - cql-io - redis-resp - redis-io - swagger - tinylog - # GHC 8 - wai-predicates - # GHC 8 - wai-routing + - wai-predicates + - wai-routing - zeromq4-haskell "trupill@gmail.com": - djinn-lib - djinn-ghc - "Arash Rouhani ": - - yesod-text-markdown - - "Matvey Aksenov @supki": - terminal-size + - envparse - "Luis G. Torres @giogadi": - kdt + "Pavel Krajcevski @Mokosha": + - netwire + - netwire-input + - netwire-input-glfw + "Emanuel Borsboom @borsboom": - BoundedChan - broadcast-chan @@ -740,114 +848,112 @@ packages: - bytestring-trie - data-accessor - data-accessor-mtl - # GHC 8 - file-location + # - file-location # bounds: transformers - fuzzcheck - - haddock-api + # - haddock-api BLOCKED GHC 8.0.2 - here - hlibgit2 - # GHC 8 - gitlib-libgit2 + - gitlib-libgit2 - hostname-validate - interpolatedstring-perl6 - iproute - missing-foreign - # https://github.com/jgoerzen/testpack/issues/11 - #- MissingH GHC 7.10, for QuickCheck 2.8 via testpack + - MissingH - multimap - parallel-io - text-binary - - Chart-cairo - # GHC 8 - ghc-events + # - Chart-cairo # via cairo: via gtk2hs-buildtools: via hashtables: bounds: vector + - ghc-events - monad-extras - - stack < 9.9.9 + # - stack < 9.9.9 # bounds: ghc, template-haskell - optparse-simple - hpack - "Michael Sloan ": + "Michael Sloan @mgsloan": - th-orphans - th-reify-many - "Nikita Volkov ": + "Nikita Volkov @nikita-volkov": - base-prelude - cases - focus - # GHC 8 - hasql + # - hasql # via hashtables: bounds: vector - list-t - mtl-prelude - neat-interpolation - partial-handler - # GHC 8 - postgresql-binary + - postgresql-binary - slave-thread - stm-containers - "Iustin Pop ": + "Iustin Pop @iustin": - prefix-units - "Alexander Thiemann ": + "Alexander Thiemann @agrafix": - Spock - # GHC 8 - Spock-digestive + - Spock-core + - Spock-api + - Spock-api-server + # - Spock-digestive # via: digestive-functors - Spock-worker - graph-core - # https://github.com/agrafix/highjson/issues/1 - # GHC 8 - highjson - hvect - reroute - users - # BLOCKED persistent 2.5 - users-persistent + # - users-persistent # via: esqueleto - users-postgresql-simple - users-test - validate-input - ignore - elm-bridge - # GHC 8 - hackmanager - # GHC 8 - digestive-bootstrap + # digestive-bootstrap # via: digestive-functors, digestive-functors-blaze - blaze-bootstrap - dataurl - psql-helpers + - superbuffer + - timespan + - distance + - async-extra + - format-numbers + - highjson + - highjson-swagger + - highjson-th - "Joey Eremondi ": + "Joey Eremondi @JoeyEremondi": - aeson-pretty - digest - # See: https://github.com/elm-lang/elm-compiler/commit/e714001a928b3834b62555fc350909c95d380ef4 - #- elm-build-lib - #- elm-compiler + # - elm-build-lib # via: elm-compiler + # - elm-compiler # bounds: aeson, binary, transformers, [...] - elm-core-sources - #- elm-package + # - elm-package # bounds: HTTP, binary # via: elm-compiler, [...] - language-glsl - prettyclass - QuasiText - union-find - zip-archive - - "Arthur Fayzrakhmanov ": - # GHC 8 - sodium + "Arthur Fayzrakhmanov @geraldus": - yesod-form-richtext - ghcjs-perch "Sebastian Nagel @ch1bo": - hdevtools - "Andrey Chudnov ": + "Andrey Chudnov @achudnov": - language-ecmascript - "Tom Ellis ": + "Tom Ellis @tomjaguarpaw": - opaleye - product-profunctors "Samplecount stefan@samplecount.com @kaoskorobase": - shake-language-c - "Marcin Mrotek ": - - type-list - - zoom-refs - # GHC 8 - vinyl-utils - "David Turner @davecturner": - [] - # GHC 8 - alarmclock - # GHC 8 - bank-holidays-england + - alarmclock + - bank-holidays-england - "Haskell Servant haskell-servant-maintainers@googlegroups.com @@haskell-servant/maintainers": + "Haskell Servant ": - servant - servant-client - servant-docs @@ -859,150 +965,149 @@ packages: - servant-mock - servant-cassava - "Alexandr Ruchkin voidex@live.com @mvoidex": - # https://github.com/fpco/stackage/issues/1562 - # - hdocs + "Alexandr Ruchkin @mvoidex": + # - hdocs # BLOCKED haddock-api GHC 8.0.2 - hformat - # https://github.com/fpco/stackage/issues/1562 - # - hsdev + # - hsdev # BLOCKED haddock-api GHC 8.0.2 - simple-log - text-region - "Aleksey Kliger aleksey@lambdageek.org @lambdageek": + "Aleksey Kliger @lambdageek": - unbound-generics - indentation-core - indentation-parsec - "Alois Cochard alois.cochard@gmail.com @aloiscochard": - # GHC 8 - codex - # GHC 8 - machines-binary - # BLOCKED distributive 0.5 - machines-directory - # BLOCKED distributive 0.5 - machines-io - # GHC 8 - machines-process - # https://github.com/fpco/stackage/pull/1352#issuecomment-208041561 - # - sarsi - - wreq # on behalf of Bryan O'Sullivan @bos + "Alois Cochard @aloiscochard": + # - codex # bounds: http-client, wreq, directory + - machines-binary + - machines-process + # - sarsi # bound: cryptonite + # on behalf of Bryan O'Sullivan @bos: + - wreq - "Andraz Bajt andraz@bajt.me @edofic": + "Andraz Bajt @edofic": - effect-handlers - koofr-client - # GHC 8 - snowflake + - snowflake - "Leza M. Lutonda lemol-c@hotmail.com @lemol": + "Leza M. Lutonda @lemol": - HaskellNet - HaskellNet-SSL - "Jens Petersen juhpetersen@gmail.com @juhp": + "Jens Petersen @juhp": - cabal-rpm - - cabal-sort + # - cabal-sort # BLOCKED directory 1.3 - hslua - # GHC 8 - idris + # - idris # bounds: safe + - xmonad-contrib + - shelly - - cairo - - gio - - glib - - gtk - - gtk3 - - gtksourceview3 - - pango - - webkitgtk3 - - webkitgtk3-javascriptcore + # - cairo # via gtk2hs-buildtools: via hashtables: bounds: vector + # - gio # via gtk2hs-buildtools: via hashtables: bounds: vector + # - glib # via gtk2hs-buildtools: via hashtables: bounds: vector + # - gtk # via gtk2hs-buildtools: via hashtables: bounds: vector + # - gtk3 # via gtk2hs-buildtools: via hashtables: bounds: vector + # - gtksourceview3 # via gtk2hs-buildtools: via hashtables: bounds: vector + # - pango # via gtk2hs-buildtools: via hashtables: bounds: vector + # - webkitgtk3 # via gtk2hs-buildtools: via hashtables: bounds: vector + # - webkitgtk3-javascriptcore # via gtk2hs-buildtools: via hashtables: bounds: vector - ghcjs-codemirror - # https://github.com/fpco/stackage/issues/1569 - # - ghcjs-dom - # https://github.com/fpco/stackage/issues/1569 - # - jsaddle - # GHC 8 - leksah-server - # GHC 8 - ltk + # - ghcjs-dom # via: ghcjs-dom-jsaddle # https://github.com/fpco/stackage/issues/1569 + # - jsaddle # via: ret-tf # https://github.com/fpco/stackage/issues/1569 + # - leksah-server # bounds: ghc, base + # - ltk # bounds: ghc, base - vado - # GHC 8 - vcsgui + # - vcsgui # via: gi-gtk-hs - vcswrapper - "Renzo Carbonara renzocarbonara@gmail.com @k0001": - # GHC 8 - network-simple - # GHC 8 - pipes-aeson - - pipes-attoparsec - # GHC 8 - pipes-binary - # GHC 8 - pipes-network + "Renzo Carbonara @k0001": + - network-simple + # - pipes-aeson # bounds: pipes 4.3 + # - pipes-attoparsec # bounds: pipes 4.3 + # - pipes-binary # bounds: binary, pipes, transformers + # - pipes-network # bounds: pipes 4.3 - "Tomas Carnecky": - # GHC 8 - avers - # GHC 8 - avers-api - # GHC 8 - avers-server + "Tomas Carnecky @wereHamster": + - avers + - avers-api + - avers-api-docs + - avers-server - css-syntax - etcd - github-types - github-webhook-handler - # GHC 8 - github-webhook-handler-snap + - github-webhook-handler-snap - google-cloud - kraken - libinfluxdb - # GHC 8 - mole + # - mole # bounds: hspec, optparse-applicative - publicsuffix - rethinkdb-client-driver - "Alexandr Kurilin alex@kurilin.net @alex_kurilin": + "Alexandr Kurilin @alex_kurilin": - bcrypt - "Jeffrey Rosenbluth jeffrey.rosenbluth@gmail.com": + "Jeffrey Rosenbluth @jeffreyrosenbluth": - palette - # GHC 8 - diagrams-canvas - # GHC 8 - diagrams-rasterific + - diagrams-canvas + - diagrams-rasterific - lucid-svg - # GHC 8 - diagrams-html5 - # GHC 8 - static-canvas + - diagrams-html5 + - static-canvas - svg-builder - "Gabríel Arthúr Pétursson gabriel@system.is": - [] - # GHC 8 - sdl2 + "Gabríel Arthúr Pétursson @polarina": + - sdl2 - "Leon Mergen leon@solatis.com @solatis": + "Leon Mergen @solatis": - base32string - base58string - bitcoin-api - # GHC 8 - bitcoin-api-extra + - bitcoin-api-extra - bitcoin-block - bitcoin-script - bitcoin-tx - bitcoin-types - hexstring - # GHC 8 - network-attoparsec - # GHC 8 - network-anonymous-i2p - # GHC 8 - network-anonymous-tor + - network-attoparsec + - network-anonymous-i2p + - network-anonymous-tor - "Timothy Jones git@zmthy.io @zmthy": + "Timothy Jones @zmthy": - http-media - "Greg V greg@unrelenting.technology @myfreeweb": + "Greg V @myfreeweb": - gitson - pcre-heavy - http-link-header - # GHC 8 - microformats2-parser + - microformats2-parser - hspec-expectations-pretty-diff - "Francesco Mazzoli f@mazzo.li @bitonic": + "Francesco Mazzoli @bitonic": - language-c-quote - "Sönke Hahn soenkehahn@gmail.com @soenkehahn": + "Sönke Hahn @soenkehahn": - generics-eot - getopt-generics - graph-wrapper - string-conversions - - "Jan Stolarek jan.stolarek@p.lodz.pl @jstolarek": + - hspec-checkers + + "Jan Stolarek @jstolarek": - tasty-program - "Oleg Grenrus oleg.grenrus@iki.fi @phadej": + "Oleg Grenrus @phadej": - aeson-compat - # GHC 8 - aeson-extra + - aeson-extra - binary-orphans - binary-tagged + - cabal-doctest - edit-distance - generics-sop-lens - # GHC 8 - github + - github - insert-ordered-containers + - integer-logarithms - JuicyPixels-scale-dct - lattices - monad-http @@ -1011,21 +1116,30 @@ packages: - regex-applicative-text - servant-swagger-ui - servant-yaml + - singleton-bool - spdx - these - # GHC 8 - time-parsers + - time-parsers - waitra + # scrive/log + # - log # via bloodhound: bounds: vector + - log-base + # - log-elasticsearch # via bloodhound: bounds: vector + - log-postgres + # Not a maintainer - arithmoi + - folds - friendly-time - hashable - # GHC 8 - haxl + - haxl - monad-time - packdeps + - recursion-schemes - unordered-containers - # fft + - fft - carray - ix-shapable - fft @@ -1033,19 +1147,13 @@ packages: # Regex packages by Chris Kuklewicz - regex-base - regex-compat - #- regex-dfa - #- regex-parsec + # - regex-dfa # 0.91 Compilation failure due to -Werror + # - regex-parsec # 0.90 Compilation failure due to -Werror - regex-pcre - regex-posix - regex-tdfa - #- regex-tdfa-utf8 - #- regex-tre - - # Purescript - - bower-json - - boxes - - pattern-arrows - - purescript + # regex-tdfa-utf8 # bounds: ghc, base + # - regex-tre # 0.91 Compilation failure due to -Werror # Universe - universe @@ -1061,31 +1169,34 @@ packages: - sandman - language-thrift - "Adam C. Foltzer acfoltzer@galois.com @acfoltzer": + "Adam C. Foltzer @acfoltzer": - cryptol - gitrev - persistent-refs - "Luke Taylor tekul.hs@gmail.com @tekul": + "Luke Taylor @tekul": - jose-jwt - "Brendan Hay brendan.g.hay@gmail.com @brendanhay": + "Brendan Hay @brendanhay": - amazonka - amazonka-core - amazonka-test - amazonka-apigateway - amazonka-application-autoscaling + - amazonka-appstream - amazonka-autoscaling + - amazonka-budgets - amazonka-certificatemanager - amazonka-cloudformation - amazonka-cloudfront - amazonka-cloudhsm - - amazonka-cloudsearch-domains - amazonka-cloudsearch + - amazonka-cloudsearch-domains - amazonka-cloudtrail + - amazonka-cloudwatch - amazonka-cloudwatch-events - amazonka-cloudwatch-logs - - amazonka-cloudwatch + - amazonka-codebuild - amazonka-codecommit - amazonka-codedeploy - amazonka-codepipeline @@ -1099,8 +1210,8 @@ packages: - amazonka-discovery - amazonka-dms - amazonka-ds - - amazonka-dynamodb-streams - amazonka-dynamodb + - amazonka-dynamodb-streams - amazonka-ec2 - amazonka-ecr - amazonka-ecs @@ -1110,38 +1221,52 @@ packages: - amazonka-elasticsearch - amazonka-elastictranscoder - amazonka-elb + - amazonka-elbv2 - amazonka-emr - amazonka-gamelift - amazonka-glacier + - amazonka-health - amazonka-iam - amazonka-importexport - amazonka-inspector - - amazonka-iot-dataplane - amazonka-iot + - amazonka-iot-dataplane - amazonka-kinesis + - amazonka-kinesis-analytics - amazonka-kinesis-firehose - amazonka-kms - amazonka-lambda + - amazonka-lightsail - amazonka-marketplace-analytics - amazonka-marketplace-metering - amazonka-ml - amazonka-opsworks + - amazonka-opsworks-cm + - amazonka-pinpoint + - amazonka-polly - amazonka-rds - amazonka-redshift - - amazonka-route53-domains + - amazonka-rekognition - amazonka-route53 + - amazonka-route53-domains - amazonka-s3 - amazonka-sdb + - amazonka-servicecatalog - amazonka-ses + - amazonka-shield + - amazonka-sms + - amazonka-snowball - amazonka-sns - amazonka-sqs - amazonka-ssm + - amazonka-stepfunctions - amazonka-storagegateway - amazonka-sts - amazonka-support - amazonka-swf - amazonka-waf - amazonka-workspaces + - amazonka-xray - gogol - gogol-core - gogol-adexchange-buyer @@ -1239,23 +1364,23 @@ packages: - gogol-youtube - gogol-youtube-analytics - gogol-youtube-reporting - # GHC 8 - ede + - ede - pagerduty - semver - text-manipulate - "Nick Partridge nkpart@gmail.com @nkpart": + "Nick Partridge @nkpart": - cabal-file-th "Gershom Bazerman @gbaz": - jmacro - jmacro-rpc - # GHC 8 - jmacro-rpc-happstack - # GHC 8 - jmacro-rpc-snap + - jmacro-rpc-happstack + - jmacro-rpc-snap - mbox - kmeans - boolsimplifier - # GHC 8 - cubicspline + - cubicspline - maximal-cliques "Alexander Bondarenko @wiz": @@ -1270,17 +1395,14 @@ packages: - hmatrix-gsl-stats - hsignal - hstatistics - # GHC 8 - plot - # GHC 8 - plot-gtk - # GHC 8 - plot-gtk3 - + # - plot # via cairo: via gtk2hs-buildtools: via hashtables: bounds: vector + # - plot-gtk # via gtk: via cairo: via gtk2hs-buildtools: via hashtables: bounds: vector + # - plot-gtk3 # via gtk3: via cairo: via gtk2hs-buildtools: via hashtables: bounds: vector - vector-buffer - # Blocking due to https://github.com/amcphail/hmatrix-repa/issues/2 - # - hmatrix-repa + # - hmatrix-repa # via repa: bounds: vector "Noam Lewis @sinelaw": - # Requires hxt-tagsoup which requires tagsoup < 0.14 - # - xml-to-json + # - xml-to-json # via: hexpat - xml-to-json-fast - digits - unification-fd @@ -1291,23 +1413,17 @@ packages: - system-argv0 - markdown-unlit - # "Mateusz Kowalczyk @Fuuzetsu": - # Excluded due to inactivity: https://github.com/fpco/stackage/issues/856 - # - aeson-schema - # H needs inline-r - # - H - # inline-r-0.7.1.2 doesn't allow vector-0.11 - # - inline-r + "Mateusz Kowalczyk @Fuuzetsu": + # - aeson-schema # bounds: QuickCheck, aeson # compilation failure for 0.4.1.1 + - H + - inline-r - "David Fox @ddssff": - [] - # https://github.com/ddssff/debian-haskell/issues/6 - # GHC 8 - debian - # GHC 8 - cabal-debian + # "David Fox @ddssff": + # - debian # GHC bug: https://github.com/ddssff/debian-haskell/issues/6 + # - cabal-debian # via: debian - "Stefan Saasen ": - [] - # GHC 8 - jwt + "Stefan Saasen @juretta": + - jwt "Sven Bartscher sven.bartscher@weltraumschlangen.de @kritzefitz": - setlocale @@ -1318,20 +1434,26 @@ packages: "Taylor Fausak @tfausak": - autoexporter - bento - # GHC 8 - ekg-statsd # Maintained by @tibbe. + - bmp # Maintained by @benl23x5. + - ekg-statsd # Maintained by @tibbe. - flow - # GHC 8 - github-release + - github-release + - gloss # Maintained by @benl23x5. + - gloss-rendering # Maintained by @benl23x5. + - gpolyline # Maintained by @fegu. - lackey - octane - # https://github.com/Gabriel439/Haskell-Optparse-Generic-Library/issues/23 - # GHC 8 - optparse-generic # Maintained by @Gabriel439. - # https://github.com/tfausak/ratel/issues/1 - # GHC 8 - ratel - # GHC 8 - ratel-wai - # GHC 8 - strive - # GHC 8 - wuss + - overloaded-records # Maintained by @trskop. + - postgresql-simple-migration # Maintained by @ameingast. + - ratel + - ratel-wai + - rattletrap + - strive + - wuss "Marios Titas @redneb": + - HsOpenSSL-x509-system + - adler32 - btrfs - disk-free-space - hxt-css @@ -1343,71 +1465,76 @@ packages: - prometheus-client - prometheus-metrics-ghc - scalpel + - scalpel-core - wai-middleware-prometheus "William Casarin @jb55": - # GHC 8 - bson-lens + - bson-lens - cased - # GHC 8 - pipes-csv - # GHC 8 - pipes-mongodb + - elm-export + - elm-export-persistent + # - pipes-csv # via cassava: bounds: vector + # - pipes-mongodb # via mongoDB: via hashtables: bounds: vector + - servant-elm - skeletons + - streaming-wai - "Smirnov Alexey @chemist": - [] - # GHC 8 - snmp - # GHC 8 - agentx + # "Smirnov Alexey @chemist": + # - snmp # bounds: ghc, base + # - agentx # bounds: ghc, base "David Raymond Christiansen @david-christiansen": - annotated-wl-pprint - "Yitz Gale gale@sefer.org @ygale": - [] - # GHC 8 - timezone-series - # GHC 8 - timezone-olson + "Yitz Gale @ygale": + - timezone-series + - timezone-olson - "Josh Holland josh@inv.alid.pw @jshholland": - # GHC 8 - sandi + "Josh Holland @jshholland": + - sandi - data-ordlist - xmonad "Harry Garrood @hdgarrood": - aeson-better-errors - "Mitchell Rosen @mitchellwrosen": + - safe-exceptions-checked - tasty-hspec "Christiaan Baaij @christiaanb": - ghc-tcplugins-extra - ghc-typelits-extra + - ghc-typelits-knownnat - ghc-typelits-natnormalise - clash-prelude - clash-lib - clash-vhdl - clash-verilog - clash-systemverilog - # GHC 8 - clash-ghc + - clash-ghc "Athan Clark @athanclark": - commutative - # GHC 8 - digestive-functors-lucid - # GHC 8 - ltext + # - digestive-functors-lucid # via: digestive functors + # - ltext # compilation failure: https://github.com/ltext/ltext/issues/22 - markup - # GHC 8 - nested-routes + # - nested-routes # via: HList - path-extra - # GHC 8 - poly-arity + - poly-arity - urlpath - wai-transformers - # GHC 8 - wai-middleware-content-type - # GHC 8 - wai-middleware-verbs + - wai-middleware-content-type + - wai-middleware-verbs + - websockets-rpc - webpage - composition-extra - rose-trees - sets - timemap - - tries + - triesn - path-extra - # GHC 8 - pred-trie + - pred-trie - pred-set - HSet - unit-constraint @@ -1415,7 +1542,9 @@ packages: - quickcheck-combinators "Fumiaki Kinoshita @fumieval": + - boundingboxes - control-bool + - extensible - monad-skeleton - objective - witherable @@ -1424,7 +1553,7 @@ packages: "Peter Harpending @pharpend": - editor-open - exceptional - # GHC 8 - optparse-helper + - optparse-helper - pager - semiring-simple @@ -1438,71 +1567,73 @@ packages: - lens-family - streaming - streaming-bytestring - + - streaming-utils "Justin Le @mstksg": - auto - configurator-export + - hamilton - prompt - tagged-binary - typelits-witnesses - uncertain + - vector-sized "Ian Duncan @iand675": - feature-flags - metrics - pipes-wai - serf - # GHC 8 - uri-templater - # GHC 8 - librato - # needs update to aeson-0.11 - #- datadog - # http-types - #- engine-io-growler - # needs update to aeson-0.11 - #- flowdock - # GHC 8 - growler + - uri-templater + - librato + # - datadog # bounds: aeson + # - engine-io-growler # bounds: websockets # via [...] + # - flowdock # bounds: aeson, http-client, [...] + # - growler # bounds: pipes, pipes-aeson, transformers "Michael Xavier @MichaelXavier": - - angel + # - angel # https://github.com/MichaelXavier/Angel/issues/52 - uri-bytestring - # https://github.com/MichaelXavier/phash/issues/5 - #- phash + # - phash # Can't build on stackage server https://github.com/MichaelXavier/phash/issues/5 - cron - # GHC 8 - tasty-tap - # GHC 8 - tasty-fail-fast + - tasty-tap + - tasty-fail-fast - drifter - drifter-postgresql "Lars Kuhtz @larskuhtz": - # GHC 8 - wai-cors + - wai-cors - configuration-tools - "Sam Rijs ": + "Sam Rijs @srijs": - ndjson-conduit - # GHC 8 - attoparsec-trans + # - attoparsec-trans # bounds: transformers - operational-class + - result - "Anupam Jain ": - [] - # GHC 8 - wai-routes + "Anupam Jain @ajnsit": + - wai-routes - "Daniel Patterson ": - # GHC 8 - hspec-snap + "Daniel Patterson @dbp": + # - hspec-snap # bounds: hspec, hspec-core # via: digestive-functors - hworker - # GHC 8 - hworker-ses + # - hworker-ses # 0.1.1.0 build failure - fn - # GHC 8 - fn-extra + # - fn-extra # via: digestive-functors "Chris Wong @lfairy": - nationstates "Mathieu Boespflug @mboes": - # BLOCKED ihaskell support for GHC 8 - ihaskell-inline-r + # - ihaskell-inline-r # via: ihaskell, ihaskell-blaze - cassette + - choice - distributed-closure - H - inline-r + - jni + - jvm + - sparkle # https://github.com/tweag/sparkle/issues/99 - th-lift "Christopher Reichert @creichert": @@ -1512,30 +1643,27 @@ packages: - wai-middleware-throttle - yesod-auth-basic - "Alcides Viamontes ": - # https://github.com/shimmercat/second-transfer/issues/5 - #- second-transfer - [] + # "Alcides Viamontes @alcidesv": + # - second-transfer # bounds: GHC 8 - "Hirotomo Moriwaki @philopon": - [] - # GHC 8 - apiary - # GHC 8 - apiary-logger - # GHC 8 - apiary-persistent - # GHC 8 - apiary-websockets - # GHC 8 - apiary-cookie - # GHC 8 - apiary-session - # GHC 8 - apiary-clientsession - # GHC 8 - apiary-authenticate - # GHC 8 - apiary-eventsource - # GHC 8 - apiary-mongoDB - # GHC 8 - apiary-memcached - # GHC 8 - types-compat - # GHC 8 - web-routing - # GHC 8 - bytestring-read - # GHC 8 - memcached-binary - # GHC 8 - barrier - # GHC 8 - haddocset + # "Hirotomo Moriwaki @philopon": + # - apiary # GHC 8 & bounds + # - apiary-logger # GHC 8 & bounds + # - apiary-persistent # GHC 8 & bounds + # - apiary-websockets # GHC 8 & bounds + # - apiary-cookie # GHC 8 & bounds + # - apiary-session # GHC 8 & bounds + # - apiary-clientsession # GHC 8 & bounds + # - apiary-authenticate # GHC 8 & bounds + # - apiary-eventsource # GHC 8 & bounds + # - apiary-mongoDB # GHC 8 & bounds + # - apiary-memcached # GHC 8 & bounds + # - types-compat # GHC 8 + # - web-routing # GHC 8 + # - bytestring-read # GHC 8 + # - memcached-binary # GHC 8 & bounds + # - barrier # GHC 8 + # - haddocset # GHC 8 "Kai Zhang @kaizhang": - clustering @@ -1546,6 +1674,8 @@ packages: - ip6addr - cayley-client - Spintax + - glabrous + - google-oauth2-jwt "koral koral@mailoo.org @k0ral": - atom-conduit @@ -1558,7 +1688,7 @@ packages: "Kostiantyn Rybnikov @k-bx": - protocol-buffers - - hprotoc + # - hprotoc # build failure https://github.com/k-bx/protocol-buffers/issues/45 - protocol-buffers-descriptor - ekg-core - digits @@ -1572,15 +1702,15 @@ packages: - string-class - SHA - data-ordlist - - cron - hedis - "Rob O'Callahan ropoctl@gmail.com": - # GHC 8 - pipes-fastx - - pipes-illumina + "Rob O'Callahan ropoctl@gmail.com @rcallahan": + # - pipes-fastx # via pipes-attoparsec + # - pipes-illumina # via: pipes-bgzf - seqalign - thermonuc - - xlsior + # - xlsior # https://github.com/eurekagenomics/xlsior/issues/3 + "John Lenz @wuzzeb": - yesod-auth-account - yesod-static-angular @@ -1589,19 +1719,20 @@ packages: "Sven Heyll @sheyll": - b9 + - type-spec + - pretty-types - "Will Thompson @wjt": - [] - # GHC 8 - bustle + # "Will Thompson @wjt": + # - bustle # build failure against haskell-src-exts https://github.com/vasylp/hgettext/issues/10 - "Jakub Fijałkowski kuba@codinginfinity.me @jakubfijalkowski": + "Jakub Fijałkowski @jakubfijalkowski": - hlibsass - hsass - "Robert Massaioli robertmassaioli@gmail.com": + "Robert Massaioli @robertmassaioli": - range - "Index Int ": + "Vladislav Zavialov @int-index": - transformers-lift - ether - union @@ -1611,26 +1742,25 @@ packages: - hapistrano - inflections - twitter-feed - - cassava-megaparsec + # - cassava-megaparsec # via cassava: bounds: vector - dotenv - stache - "Sergey Alirzaev ": + "Sergey Alirzaev @l29ah": - monad-peel - # GHC 8 - Network-NineP + - NineP + - Network-NineP - "Oliver Charles ": - # GHC 8 - engine-io + "Oliver Charles @ocharles": + # - engine-io # bounds: aeson, websockets - diff3 - # GHC 8 - digestive-functors-aeson - # GHC 8 - exhaustive - # GHC 8 - libsystemd-journal - # GHC 8 - network-carbon - # GHC 8 - socket-io + # - digestive-functors-aeson # bounds: aeson, lens # via: digestive-functors + - exhaustive + - libsystemd-journal + - network-carbon + # - socket-io # bounds: aeson, via: engine-io - tasty-rerun - - "Scott Murphy scott.murphy@plowtech.net @smurphy8": - [] + - logging-effect "Antoni Silvestre @asilvestre": # Test suite needs a running neo4j server with auth disabled @@ -1638,63 +1768,76 @@ packages: # package name is haskell-neo4j-client github name is haskell-neo4j-rest-client - haskell-neo4j-client + "Anton Kholomiov ": + - data-fix + "Alexey Khudyakov @Shimuuar": - histogram-fill - fixed-vector - # https://github.com/Shimuuar/fixed-vector-hetero/issues/2 - # GHC 8 - fixed-vector-hetero + - fixed-vector-hetero - type-level-numbers "Ryan Scott @RyanGlScott": - base-orphans + - code-page - deriving-compat + - echo - generic-deriving + - hashmap - invariant - keycode - lift-generics + - mintty - mtl-compat - proxied - text-show + - text-show-instances + - thread-local-storage "Kirill Zaborsky @qrilka": - xlsx + "Matt Parsons @parsonsmatt": + - monad-logger-prefix + - monad-metrics + "Matthew Pickering @mpickering": - refact - # GHC 8 - servant-pandoc + # - servant-pandoc # bounds: pandoc-types, servant-docs - ghc-exactprint - # GHC 8 - apply-refact + # - apply-refact - "Andrew Gibiansky @gibiansky": - [] - # GHC 8 - ihaskell - # GHC 8 - ihaskell-aeson - # GHC 8 - ihaskell-basic - # GHC 8 - ihaskell-blaze - # GHC 8 - ihaskell-charts - # GHC 8 - ihaskell-diagrams - # GHC 8 - ihaskell-hatex - # GHC 8 - ihaskell-juicypixels - # GHC 8 - ihaskell-magic - # GHC 8 - ihaskell-rlangqq - # GHC 8 - ihaskell-static-canvas - # GHC 8 - ghc-parser - # GHC 8 - ipython-kernel + # "Andrew Gibiansky @gibiansky": + # - ihaskell # GHC 8 + # - ihaskell-aeson # via: ihaskell + # - ihaskell-basic # via: ihaskell + # - ihaskell-blaze # via: ihaskell + # - ihaskell-charts # via: ihaskell + # - ihaskell-diagrams # via: ihaskell + # - ihaskell-hatex # via: ihaskell + # - ihaskell-juicypixels # via: ihaskell + # - ihaskell-magic # via: ihaskell + # - ihaskell-rlangqq # via: ihaskell + # - ihaskell-static-canvas # via: ihaskell + # - ghc-parser # GHC 8 + # - ipython-kernel # GHC 8 "Andrés Sicard-Ramírez @asr": [] - # GHC 8 - Agda + # - Agda # via hashtables: bounds: vector "James Cook @mokus0": - dependent-sum - - dependent-sum-template + # - dependent-sum-template # bounds: dependent-sum - dependent-map - - dice + # - dice # via random-fu: via log-domain: via safecopy: bounds: vector - hstatsd - - misfortune + # - misfortune # via random-fu: via log-domain: via safecopy: bounds: vector "Timo von Holtz @tvh": - # GHC 8 - haxl-amazonka + - ekg-wai + - haxl-amazonka + # - hasql-migration # via hasql: via hashtables: bounds: vector - servant-JuicyPixels "Artyom @neongreen": @@ -1707,22 +1850,24 @@ packages: - shortcut-links - cheapskate-lucid - cheapskate-highlight + - cmark-lucid + - cmark-highlight - Spock-lucid - charsetdetect-ae - ilist - text-all - "Takano Akio aljee@hyper.cx @takano-akio": - # GHC 8 - fast-builder + "Takano Akio tak@anoak.io @takano-akio": + - fast-builder - filelock + - euphoria "Ashley Moni ashley.moni1@gmail.com @AshleyMoni": - quadtree "Brian Lewis brian@lorf.org @bsl": - [] - # GHC 8 - bindings-GLFW - # GHC 8 - GLFW-b + - bindings-GLFW + - GLFW-b "Niklas Hambüchen mail@nh2.me @nh2": - hidapi @@ -1730,17 +1875,19 @@ packages: - loop - netpbm - network-house + - posix-paths - reinterpret-cast # As dependencies of packages above - attoparsec-binary - storable-record "Brandon Martin @codedmart": - # GHC 8 - engine-io-wai + - engine-io-wai - rethinkdb "Michael Walker @barrucadu": - # GHC 8 - both + - both + - concurrency - dpor - dejafu - async-dejafu @@ -1754,18 +1901,27 @@ packages: - irc "Dennis Gosnell @cdepillabout": + - emailaddress - envelope - # GHC 8 - ig + - from-sum + - hailgun + - hailgun-simple + # - ig # bounds: http-conduit, transformers - natural-transformation - # GHC 8 - opaleye-trans + - opaleye-trans + - pretty-simple - read-env-var + - xml-html-qq + - xml-indexed-cursor - yahoo-finance-api + - yesod-markdown "Franklin Chen @FranklinChen": - Ebnf2ps "Dmitry Ivanov @ethercrow": - charsetdetect-ae + - compiler-errors - docopt - dynamic-state - dyre @@ -1774,50 +1930,59 @@ packages: - pointedlist - word-trie - xdg-basedir - - yi + # - yi # build failure https://github.com/commercialhaskell/stack/issues/2795 + - yi-core + # - yi-frontend-pango # build failure https://github.com/commercialhaskell/stack/issues/2795 + - yi-frontend-vty - yi-fuzzy-open + - yi-ireader + - yi-keymap-cua + - yi-keymap-emacs + - yi-keymap-vim - yi-language + - yi-misc-modes + - yi-mode-haskell + - yi-mode-javascript - yi-rope + - yi-snippet "Tobias Bexelius @tobbebex": [] - # GHC 8 - GPipe + # - GPipe # BLOCKED directory 1.3 via gl "Patrick Redmond @plredmond": [] - # GHC 8 - GPipe-GLFW + # - GPipe-GLFW # BLOCKED directory 1.3 via GPipe and gl - "Csaba Hruska @csabahruska": - [] - # GHC 8 - lambdacube-ir - # GHC 8 - lambdacube-gl - # GHC 8 - lambdacube-compiler + # "Csaba Hruska @csabahruska": + # - lambdacube-ir # bounds: aeson + # - lambdacube-gl # bounds: aeson, time # via: lambdacube-ir + # - lambdacube-compiler # bounds: aeson, megaparsec # via: lambdacube-ir - "Spencer Janssen ": + "Spencer Janssen @spencerjanssen": - Xauth "Sebastian de Bellefon @Helkafen": - [] - # GHC 8 - wai-middleware-metrics + - wai-middleware-metrics "Stefan Berthold": - [] - # GHC 8 - smallcaps + - smallcaps - "Gregory Collins ": - - hashtables + "Gregory Collins @gregorycollins": + # - hashtables # bounds: vector - io-streams - openssl-streams "Andrew Cowie @afcowie": - http-common - # GHC 8 - http-streams + - http-streams - "Devan Stormont ": - - forecast-io + # "Devan Stormont @stormont": + # - forecast-io # bounds: aeson 1.0 "Sean Hunt @ivan-m": - fgl - fgl-arbitrary @@ -1828,12 +1993,12 @@ packages: - quickcheck-text - nagios-check - "Peter Simons simons@cryp.to @peti": + "Peter Simons @peti": - distribution-nixpkgs - cabal2nix - funcmp - hackage-db - - hledger-interest + # - hledger-interest # via hledger-lib: via hashtables: bounds: vector - hopenssl - hsdns - hsemail @@ -1842,15 +2007,15 @@ packages: - language-nix - nix-paths - streamproc + - titlecase "Mark Fine @markfine": - [] - # GHC 8 - postgresql-schema - # https://github.com/fpco/stackage/issues/873 - # - sbp + - postgresql-schema + # - sbp # build failure "Jinjing Wang @nfjinjing": - - moesocks + [] + # - moesocks # https://github.com/nfjinjing/moesocks/issues/1 "Gregory W. Schwartz @GregorySchwartz": - fasta @@ -1859,8 +2024,9 @@ packages: - tree-fun - random-tree - clumpiness - - find-clumpiness + # - find-clumpiness # build failure against optparse-applicative https://github.com/GregorySchwartz/find-clumpiness/issues/1 - blosum + # - convert-annotation # via cassava: bounds: vector "Simon Marechal @bartavelle": - compactmap @@ -1871,9 +2037,9 @@ packages: - withdependencies - hruby - language-puppet - # http-types - # - stm-firehose - # - hslogstash + - tar-conduit + # - stm-firehose # bounds: http-types, stm-conduit, transformers, wai, warp + # - hslogstash # bounds: aeson, lens, time, transformers # via: stm-firehose "Mark Karpov @mrkkrp": - megaparsec @@ -1886,15 +2052,25 @@ packages: - JuicyPixels-extra - identicon - pagination + - data-check + - text-metrics + - tagged-identity + - req + - req-conduit + - cue-sheet + - wave + - flac + - flac-picture + - lame + - path - "Thomas Bereknyei ": - [] - # GHC 8 - multiplate + # "Thomas Bereknyei ": + # - multiplate # bounds: transformers "Sumit Sahrawat @sumitsahrawat": [] - # GHC 8 - plot-gtk-ui - # GHC 8 - calculator + # - plot-gtk-ui # via cairo: via gtk2hs-buildtools: via hashtables: bounds: vector + # - calculator # bounds: ghc, base "Emmanuel Touzery @emmanueltouzery": - app-settings @@ -1902,7 +2078,7 @@ packages: "Nickolay Kudasov @fizruk": - http-api-data - - smsaero + # - smsaero # build failure against aeson https://github.com/GetShopTV/smsaero/issues/12 - swagger2 - servant-swagger @@ -1911,54 +2087,50 @@ packages: - mcmc-types - mighty-metropolis - speedy-slice - # BLOCKED comonad 5 - hasty-hamiltonian - # BLOCKED comonad 5 - declarative - # GHC 8 - sampling + - hasty-hamiltonian + - declarative + - sampling - flat-mcmc "Facundo Domínguez @facundominguez": - distributed-process - # GHC 8 - distributed-process-async - # GHC 8 - distributed-process-client-server - # GHC 8 - distributed-process-execution - # GHC 8 - distributed-process-extras - # GHC 8 - distributed-process-registry - # GHC 8 - distributed-process-simplelocalnet - # GHC 8 - distributed-process-supervisor - # GHC 8 - distributed-process-task + # - distributed-process-async # GHC 8 + # - distributed-process-client-server # GHC 8 + # - distributed-process-execution # GHC 8 + # - distributed-process-extras # GHC 8 + # - distributed-process-registry # GHC 8 + # - distributed-process-supervisor # GHC 8 + # - distributed-process-task # GHC 8 + - distributed-process-simplelocalnet - distributed-static - network-transport - network-transport-tcp - network-transport-inmemory - # GHC 8 - network-transport-composed + - network-transport-composed - rank1dynamic - "Alexander Vershilov @qnikst": - [] - # https://github.com/qnikst/imagemagick/issues/41 - #- imagemagick - # GHC 8 - network-transport-zeromq + # "Alexander Vershilov @qnikst": + # - imagemagick # https://github.com/qnikst/imagemagick/issues/41 + # - network-transport-zeromq # bounds: ghc # via: distributed-process-tests "Takahiro Himura @thimura": - lens-regex - # GHC 8 - twitter-conduit - # GHC 8 - twitter-types - # GHC 8 - twitter-types-lens + # - twitter-conduit # bounds: http-conduit 2.2 # via: twitter-types, twitter-types-lens + # - twitter-types # via: derive + # - twitter-types-lens # via: twitter-types - "Robbin C. ": - [] - # GHC 8 - zim-parser + # "Robbin C. robbinch": + # - zim-parser # via: lzma "David Wiltshire @dave77": # on behalf of Alexey Karakulov @w3rs - hashable-time - "Tim Baumann @timjb": - [] - # GHC 8 - engine-io-yesod + # "Tim Baumann @timjb": + # - engine-io-yesod # bounds: ghc, base - "Tim McGilchrist @tmcgilchrist": - # GHC 8 - riak + "Tim McGilchrist @tmcgilchrist": + # - riak # bounds: aeson - airship "Yuras Shumovich @Yuras": @@ -1969,15 +2141,13 @@ packages: - scanner "Stanislav Chernichkin @schernichkin": - [] - # GHC 8 - partial-isomorphisms - # GHC 8 - vinyl + - partial-isomorphisms + - vinyl "Christoph Breitkopf @bokesan": - IntervalMap - "Michele Lacchia ": - #- argon >= 0.3 + "Michele Lacchia @rubik": - docopt - pathwalk @@ -1985,29 +2155,28 @@ packages: - cacophony - pipes-cacophony - blake2 + - nfc "Adam Curtis @kallisti-dev": - webdriver "Luke Iannini @lukexi": - inline-c - # GHC 8 - inline-c-cpp - # GHC 8 - ekg + - inline-c-cpp + - ekg - "Emin Karayel ": - [] - # GHC 8 - sync-mht + # "Emin Karayel @ekarayel": + # - sync-mht # bounds: ghc, base "Michael Schröder @mcschroeder": - ctrie - ttrie - "Greg Weber ": + "Greg Weber @gregwebs": - base-noprelude - # https://github.com/fpco/stackage/pull/979 - # "Andrew Lelechenko @Bodigrim": - # - exp-pairs + "Andrew Lelechenko @Bodigrim": + - exp-pairs "Stefan Kersten @kaoskorobase": - hsndfile @@ -2016,34 +2185,25 @@ packages: "yihuang @yihuang": - tagstream-conduit - # https://github.com/fpco/stackage/issues/1001 - # "Johannes Hilden ": - # - hashids + # "Johannes Hilden @johanneshilden": + # - hashids # Missing test files https://github.com/fpco/stackage/issues/1001 - "Joe Hermaszewski @expipiplus1": - [] - # GHC 8 - exact-real + # "Joe Hermaszewski @expipiplus1": + # - exact-real # bounds: ghc, base # "Jonatan Sundqvist jonatanhsundqvist@gmail.com @SwiftsNamesake": - # https://github.com/fpco/stackage/issues/1039 - # - Cartesian - # - Michelangelo + # - Cartesian # bounds: lens + # - Michelangelo # bounds: lens # via: Wavefront - "Henry J. Wylde @hjwylde": - [] - # GHC 8 - git-fmt - # GHC 8 - omnifmt - # GHC 8 - werewolf - # GHC 8 - werewolf-slack + # "Henry J. Wylde @hjwylde": + # - git-fmt # bounds: optparse-applicative 0.13 + # - omnifmt # bounds: optparse-applicative 0.13 + # - werewolf # bounds: aeson, extra, lens + # - werewolf-slack # bounds: aeson, extra, http-client, http-client-tls # via: werewolf "Will Sewell @willsewell": - [] - # GHC 8 - benchpress - # GHC 8 - pusher-http-haskell - - "Lazlo Grun @lazlo28": - - natural-sort - # GHC 8 - lentil + - benchpress + - pusher-http-haskell "Yorick Laupa yo.eight@gmail.com @YoEight": - eventstore @@ -2051,51 +2211,51 @@ packages: "Sebastian Dröge slomo@coaxion.net @sdroege": - conduit-iconv - # GHC 8 - conduit-connection + - conduit-connection - "Andrew Rademacher ": + "Andrew Rademacher @AndrewRademacher": - aeson-casing - graylog + - parsec-numeric "Callum Rogers @CRogers": - should-not-typecheck "Mihaly Barasz klao@nilcons.com @klao": - lens-datetime - # GHC 8 - tz + - tz - tzdata "Timothy Klim @TimothyKlim": - [] - # GHC 8 - pkcs10 + - pkcs10 "David Luposchainsky @quchen": - binary-typed - pgp-wordlist + - show-prettyprint "Jeremy Shaw @stepcut": - boomerang - - clckwrks - - clckwrks-cli - # https://github.com/clckwrks/clckwrks-plugin-page/issues/1 - #- clckwrks-plugin-page - - clckwrks-plugin-media - - clckwrks-theme-bootstrap - - hackage-whatsnew - - happstack-authenticate - - happstack-clientsession + # - clckwrks # via acid-state: via safecopy: bounds: vector + # - clckwrks-cli # via acid-state: via safecopy: bounds: vector + # - clckwrks-plugin-page # via acid-state: via safecopy: bounds: vector + # - clckwrks-plugin-media # via acid-state: via safecopy: bounds: vector + # - clckwrks-theme-bootstrap # via clckwrks: via acid-state: via safecopy: bounds: vector + # - hackage-whatsnew # bounds: directory 1.3 + # - happstack-authenticate # via acid-state: via safecopy: bounds: vector + # - happstack-clientsession # via safecopy: bounds: vector - happstack-hsp - happstack-jmacro - happstack-server - happstack-server-tls - hsx-jmacro - - ixset + # - ixset # via safecopy: bounds: vector - reform - reform-blaze - reform-hamlet - reform-happstack - reform-hsp - - userid + # - userid # via safecopy: bounds: vector - web-plugins - web-routes - web-routes-boomerang @@ -2103,22 +2263,25 @@ packages: - web-routes-hsp - web-routes-th - web-routes-wai + - hsx2hs "Pedro Tacla Yamada @yamadapc": - ascii-progress - drawille - - extract-dependencies + # - extract-dependencies # via: package-description-remote - file-modules - frontmatter - read-editor - # GHC 8 - hspec-setup - # GHC 8 - hzulip + - hspec-setup + # - hzulip # bounds: aeson, stm-conduit - list-prompt - # GHC 8 - memoization-utils + # - memoization-utils # bounds: time - package-description-remote - projectroot - questioner - stack-run-auto + # - hpack-convert # bounds: aeson 1.0 + - language-dockerfile "Pascal Hartig @passy": - giphy-api @@ -2128,41 +2291,41 @@ packages: - open-browser "Denis Redozubov @dredozubov": - [] - # GHC 8 - tracy + - tracy + # - hreader-lens # bounds: hreader "Yuji Yamamoto @igrep": - yes-precure5-command "Hans-Christian Esperer @hce": + - avwx - wai-session-postgresql - "Haisheng Wu ": + "Haisheng Wu @freizl": - hoauth2 - "Falko Peters ": + "Falko Peters @informatikr": - scrypt "Jakub Waszczuk @kawu": - [] - # GHC 8 - dawg-ord + - dawg-ord "Amit Levy @alevy": - # https://github.com/alevy/postgresql-orm/issues/17 - # GHC 8 - postgresql-orm + # - postgresql-orm # 0.4.1 compilation failure - simple - simple-templates - simple-session - # GHC 8 - simple-postgresql-orm + # - simple-postgresql-orm # via: postgresql-orm "Sergey Astanin @astanin": - [] - # https://bitbucket.org/astanin/hs-libzip/issues/8/libzip-10-support - #- bindings-libzip < 0.11 - #- LibZip < 0.11 + # Stackage server uses Ubuntu 16.04 which ships libzip-1.0.1. + # Haskell packages should match major.minor versions of the C library. + - bindings-libzip >= 1.0 + - LibZip >= 1.0 "Anthony Cowley @acowley": - Frames + - hpp "Takayuki Muranushi @nushio3": - binary-search @@ -2170,17 +2333,20 @@ packages: "Jason Shipman @jship": # on behalf of Boris Sukholitko @bosu - - pure-cdb + [] + # - pure-cdb # https://github.com/bosu/pure-cdb/issues/5 "Suhail Shergill @suhailshergill": - extensible-effects "Justus Adam @JustusAdam": + - marvin >= 0.1.4 + - marvin-interpolate >= 1.1 - mustache "Cindy Wang @CindyLinz": - [] - # GHC 8 - NoTrace + - NoTrace + - linked-list-with-iterator "Jean-Philippe Bernardy @jyp": - polynomials-bernstein @@ -2191,21 +2357,21 @@ packages: - cmark - texmath - highlighting-kate - - pandoc-types + - skylighting + - pandoc-types < 1.19 # Accidental upload, see: https://github.com/fpco/stackage/issues/2223 - zip-archive + - doctemplates - pandoc - pandoc-citeproc - "Karun Ramakrishnan karun012@gmail.com @karun012": + "Karun Ramakrishnan @karun012": - doctest-discover "Elie Genard @eliegenard": - [] - # GHC 8 - turtle-options + - turtle-options - "Ruey-Lin Hsu @petercommand": - [] - # GHC 8- MASMGen + # "Ruey-Lin Hsu @petercommand": + # - MASMGen # bounds: ghc, base "Ozgun Ataman ozgun.ataman@soostone.com @ozataman": - string-conv @@ -2214,46 +2380,43 @@ packages: - ua-parser - hs-GeoIP - retry - # GHC 8 - katip - # GHC 8 - katip-elasticsearch + - katip + # - katip-elasticsearch # via bloodhound: bounds: vector "Sid Kapur sidharthkapur1@gmail.com @sid-kap": - tuple - OneTuple - # GHC 8 - SVGFonts - # GHC 8 - Chart-diagrams + - SVGFonts + - Chart-diagrams - "Aaron Levin @aaronmblevin": - [] - # https://github.com/fpco/stackage/issues/1290 - #- haskell-kubernetes + # "Aaron Levin @aaronmblevin": + # - haskell-kubernetes # bounds: QuickCheck, aeson, http-api-data, lens, servant, servant-client "Aaron Levin @aaronmblevin": - free-vl - "Kazuo Koga ": + "Kazuo Koga @kkazuo": - xlsx-tabular "Mikhail Glushenkov @23Skidoo": + - Cabal + - cabal-install - pointful "Lennart Kolmodin @kolmodin": - binary-bits - "Nicolas Trangez ikke@nicolast.be @NicolasT": + "Nicolas Trangez @NicolasT": [] - # GHC 8 - reedsolomon + # - reedsolomon # bounds: vector - "Alp Mestanogullari alpmestan@gmail.com @alpmestan": - - taggy - - taggy-lens - # https://github.com/fpco/stackage/issues/1660 - # - inline-java - # - sparkle + "Alp Mestanogullari @alpmestan": + [] + # - taggy # build failure https://github.com/alpmestan/taggy/issues/19 + # - taggy-lens # via taggy: build failure https://github.com/alpmestan/taggy/issues/19 "Alex McLean @yaxu": - [] - # GHC 8 - tidal + - tidal "Kei Hibino @khibino": - relational-query @@ -2262,6 +2425,7 @@ packages: - relational-record - text-ldap - debian-build + - json-rpc-generic "wren romano @wrengr": - bytestring-lexing @@ -2275,18 +2439,17 @@ packages: - unification-fd - unix-bytestring - "Carlo Hamalainen @carlohamalainen": - [] - # GHC 8 - ghc-imported-from + # "Carlo Hamalainen @carlohamalainen": + # - ghc-imported-from # bounds: process-streaming # via: ghc-mod "Fraser Tweedale @frasertweedale": - jose - "Yutaka Nishimura @ynishi": - - atndapi + # "Yutaka Nishimura @ynishi": + # - atndapi # compilation failure https://github.com/ynishi/atndapi/issues/1 "Yoshikuni Jujo @YoshikuniJujo": - # GHC 8 - zot + - zot - yjtools - io-machine @@ -2296,34 +2459,34 @@ packages: "John Ky newhoggy@gmail.com @newhoggy": - hw-bits - - hw-conduit + # - hw-conduit # via criterion: via cassava: bounds: vector - hw-diagnostics - # GHC 8 - hw-json - # GHC 8 - hw-parser + # - hw-json # via criterion: via cassava: bounds: vector + - hw-parser - hw-prim - hw-rankselect - # GHC 8 - hw-succinct + - hw-succinct - "Ismail Mustafa @ismailmustafa": + # "Ismail Mustafa @ismailmustafa": - handwriting "Stephen Diehl @sdiehl": - protolude + - repline + - picosat - "Daishi Nakajima @nakaji_dayo": - [] - # GHC 8 - yesod-job-queue + # "Daishi Nakajima @nakaji_dayo": + # - yesod-job-queue # build failure https://github.com/nakaji-dayo/yesod-job-queue/issues/10 - "Braden Walters @meoblast001": - [] - # GHC 8 - hakyll-sass + # "Braden Walters @meoblast001": + # - hakyll-sass # compilation failure - "Patrick Thomson ": + "Patrick Thomson @helium": - postgresql-transactional "Tom Murphy @amindfv": - # GHC 8 - vivid - # GHC 8 - midair + # - vivid # bounds: MonadRandom + # - midair # bounds: ghc, base - nano-erl "Toshio Ito @debug-ito": @@ -2331,6 +2494,10 @@ packages: - fold-debounce-conduit - stopwatch - wikicfp-scraper + - wild-bind + - wild-bind-x11 + # - wild-bind-indicator # via gtk: via cairo: via gtk2hs-buildtools: via hashtables: bounds: vector + # - wild-bind-task-x11 # via wild-blind-indicator: via gtk: via cairo: via gtk2hs-buildtools: via hashtables: bounds: vector "Cies Breijs @cies": - htoml @@ -2339,30 +2506,30 @@ packages: - protobuf-simple "David Reaver @jdreaver": + - oanda-rest-api - stratosphere "Alexey Rodiontsev @klappvisor": - - telegram-api + [] + # - telegram-api # bounds: aeson, servant "Iñaki García Etxebarria @garetxe": - # Pinned to versions not using custom-setup, since stack does - # not understand that syntax yet: - # https://github.com/commercialhaskell/stack/issues/2094 - - gi-atk == 2.0.3 - - gi-cairo == 1.0.3 - - gi-gdk == 3.0.3 - - gi-gdkpixbuf == 2.0.3 - - gi-gio == 2.0.3 - - gi-glib == 2.0.3 - - gi-gobject == 2.0.3 - - gi-gtk == 3.0.3 - - gi-pango == 1.0.3 - - gi-soup == 2.4.3 - - gi-javascriptcore == 3.0.3 - - gi-webkit == 3.0.3 + - gi-atk + - gi-cairo + - gi-gdk + - gi-gdkpixbuf + - gi-gio + - gi-glib + - gi-gobject + - gi-gtk + - gi-pango + - gi-soup + - gi-javascriptcore == 3.0.* + - gi-webkit - haskell-gi + - haskell-gi-base - "Brandon Simmons ": + "Brandon Simmons @jberryman": - directory-tree "Ian Grant Jeffries @seagreen": @@ -2380,7 +2547,7 @@ packages: - HUnit-approx - units-parser - "Doug McClean ": + "Doug McClean @dmcclean": - dimensional - exact-pi - numtype-dk @@ -2395,9 +2562,9 @@ packages: "Henri Verroken @hverr": - cache - "Cliff Harvey ": + "Cliff Harvey @BlackBrane": - ansigraph - - quantum-random + # - quantum-random # BLOCKED directory 1.3 "Tebello Thejane @tebello-thejane": - bitx-bitcoin @@ -2406,83 +2573,379 @@ packages: - exp-pairs - fast-digits - "Greg Hurrell ": - - docvim + # "Greg Hurrell @wincent": + # - docvim # compilation failure: https://github.com/wincent/docvim/issues/30 - "Ashley Yakeley ": + "Ashley Yakeley @AshleyYakeley": - countable + - witness + - open-witness "Victor Denisov @VictorDenisov": - - mongoDB + # - mongoDB # via hashtables: bounds: vector - bson "Alexis King @lexi-lambda": - test-fixture + - text-conversions + - th-to-exp + - type-assertions - "Patrick Chilton ": + "Patrick Chilton @chpatrick": - solga - solga-swagger - # https://github.com/fpco/stackage/pull/1692 - #- clang-pure + - clang-pure - webrtc-vad - "Michal Konecny ": + "Michal Konecny @michalkonecny": - hmpfr + - mixed-types-num "Bartosz Nitka @niteria": - haskell-packages - oeis - + + "Gergely Patai @cobbpg": + - elerea + + "Christopher Wells @ExcalburZero": + - pixelated-avatar-generator + + "Dominic Orchard @dorchard": + - array-memoize + - camfort + - codo-notation + # - fortran-src # OOM https://github.com/fpco/stackage/issues/2232 + # - ixmonad # 0.57 Compilation failure https://github.com/fpco/stackage/pull/1710#issuecomment-235067168 + - language-fortran + + "Philipp Schuster @phischu": + [] + # - haskell-names # bounds: aeson + + "Shao Cheng @TerrorJack": + - simple-download + - encoding-io + + "Anton Gushcha @ncrashed": + - aeson-injector + + # "Rune K. Svendsen @runeks": + # - bitcoin-payment-channel # bounds: QuickCheck, aeson 1.0 # via: haskoin-core + + "Al Zohali @zohl": + - servant-auth-cookie < 0.4.1 || > 0.4.1 + - dictionaries + + "Joachim Fasting @joachifm": + - libmpd + + "Moritz Kiefer @cocreature": + - lrucaching + + "Thierry Bourrillon @tbourrillon": + - hocilib + + # "Matthias Herrmann @2chilled": + - scrape-changes + + "Daniel Mendler @minad": + - quickcheck-special + - writer-cps-mtl + - writer-cps-transformers + - writer-cps-morph + - writer-cps-lens + - writer-cps-full + - wl-pprint-annotated + - wl-pprint-console + - console-style + - unlit + - intro + - tasty-auto + - tasty-stats + - colorful-monoids + + "Taras Serduke @tserduke": + - do-list + + "Travis Whitaker ": + - cpuinfo + - lmdb + - rdf + + "Iago Abal ": + - bv + + "Juan Pedro Villa Isaza @jpvillaisaza": + - licensor + + "Florian Hofmann fho@f12n.de @fhaust": + - vector-split + + "Alex Mason @Axman6": + - foldl-statistics + - amazonka-s3-streaming + + "Ondrej Palkovsky @ondrap": + - json-stream + + "Philipp Balzarek ": + - xml-picklers + + "Lennart Spitzner lsp@informatik.uni-kiel.de @lspitzner": + - multistate + - pqueue + + "Ryan Mulligan @ryantm": + - hdbc-mysql + + "Tony Day @tonyday567": + [] + # - chart-unit # via random-fu: via log-domain: via safecopy: bounds: vector + + "Iphigenia Df @iphydf": + - data-msgpack + - network-msgpack-rpc + + "Dino Morelli @dino-": + - epub-metadata + - hsinstall + - tce-conf + + "Jonathan Fischoff ": + - threads-extra + - clock-extras + - next-ref + + "Bernie Pope @bjpop": + - language-python + + "Mahdi Dibaiee ": + - picedit + - mathexpr + # - sibe # via Chart-cairo: via cairo: via gtk2hs-buildtools: via hashtables: bounds: vector + + "Alexis Williams @typedrat": + # - stb-image-redux # bounds: vector + - wavefront-obj + + "XT @xtendo-org": + - rawfilepath + "Konstantin Zudov @zudov": + - html-email-validate + + "Carl Baatz @cbaatz": + - atom-basic + + "Reuben D'Netto ": + - glob-posix + + "Kadzuya Okamoto @arowM": + - type-level-kv-list + - heterocephalus + - bookkeeping + + "Marcin Tolysz @tolysz": + - rawstring-qm + + "Tom Nielsen @glutamate": + [] + # - datasets # via cassava: bounds: vector + + "Hyunje Jun @noraesae": + - line + + "Hannes Saffrich @m0rphism": + - dmenu + - dmenu-pmount + - dmenu-pkill + - dmenu-search + - printcess + + "Alexey Kuleshevich @lehins": + - wai-middleware-auth + # - hip # via repa: bounds: vector + + "Hans-Peter Deifel @hpdeifel": + [] + # - hledger-iadd # via hledger-lib: via hashtables: bounds: vector + + "Roy Levien @orome": + - crypto-enigma + + "Boldizsár Németh @nboldi": + - instance-control + - references + - haskell-tools-ast + - haskell-tools-backend-ghc + - haskell-tools-rewrite + - haskell-tools-prettyprint + - haskell-tools-refactor + - haskell-tools-demo + - haskell-tools-cli + - haskell-tools-daemon + - haskell-tools-debug + + "David Fisher @ddfisher": + - socket-activation + + "aiya000 @aiya000": + - stack-type + + "Mitsutoshi Aoe @maoe": + - viewprof + + "Dylan Simon @dylex": + - postgresql-typed + - invertible + - ztail + + "Louis Pan @louispan": + - alternators + - arrow-extras + - disposable + - ghcjs-base-stub + - glaze + - glazier + - glazier-pipes + - glazier-react + - glazier-react-widget + - javascript-extras + - l10n + - pipes-category + - pipes-fluid + - pipes-misc + - stm-extras + + "Siniša Biđin @sbidin": + - sdl2-image + - sdl2-mixer + - sdl2-gfx + + "Aditya Manthramurthy @donatello": + - minio-hs + + "ncaq @ncaq": + - haskell-import-graph + - uniq-deep + + "Andrei Barbu @abarbu": + - nondeterminism + - csp + - matplotlib + + "mackeyrms @mackeyrms": + - tsv2csv + + "Kyle Van Berendonck @kvanberendonck": + - rot13 + - dvorak + + "Pavel Yakovlev @zmactep": + - hasbolt + + "Michael Thomas @Michaelt293": + - isotope + + "Christopher A. Gorski @cgorski": + - general-games + + "Cristian Adrián Ontivero @contivero": + - hasmin + - hopfli + + "Peter Trško @trskop": + - between + - connection-pool + - freer-effects + - verbosity + + "Devon Hollowood @devonhollowood": + - search-algorithms + + "Chris Dornan @cdornan": + - regex + - regex-with-pcre + - regex-examples + + "Elliot Cameron @3noch": + - ziptastic-client + - ziptastic-core + # If you stop maintaining a package you can move it here. # It will then be disabled if it starts causing problems. # See https://github.com/fpco/stackage/issues/1056 "Abandoned packages": - curl - - hse-cpp + + # Purescript + - bower-json + - boxes + - pattern-arrows + # - purescript # BLOCKED aeson-1.0 + + - type-list + - vinyl-utils + - language-lua2 # https://github.com/mitchellwrosen/language-lua2/issues/4 + + # If you want to make sure a package is removed from stackage, + # place it here with a `< 0` constraint and send a pull + # request. This will tell us if other packages would be + # affected. Packages will be kept in this list indefinitely so + # that new packages depending on it will be flagged as well. + "Removed packages": [] "GHC upper bounds": # Need to always match the version shipped with GHC - Win32 == 2.3.1.1 "Stackage upper bounds": - # https://github.com/fpco/stackage/issues/1510 - - pipes < 4.2 + # https://github.com/fpco/stackage/issues/2037 + - haskell-src-exts < 1.19 - # https://github.com/fpco/stackage/issues/1555 - - authenticate-oauth < 1.6 + # https://github.com/fpco/stackage/issues/2127 + - leapseconds-announced < 2017.0.0.1 - # https://github.com/fpco/stackage/issues/1668 - - aeson-pretty < 0.8.0 - - stratosphere < 0.1.3 + # https://github.com/fpco/stackage/issues/2251 + - sbv < 5.15 - # https://github.com/fpco/stackage/issues/1676 - - http-client < 0.5 - - http-client-tls < 0.3 - - http-conduit < 2.2 - - hoauth2 < 0.5.5 - - bloodhound < 0.11.1.0 - - eventstore < 0.13.1.3 - - pinboard < 0.9.7 + # https://github.com/fpco/stackage/issues/2312 + - xml-conduit < 1.5.0 + - atom-conduit < 0.4.0.2 + - imm < 1.1.0.1 + - opml-conduit < 0.6.0.2 + - rss-conduit < 0.3.0.1 - # https://github.com/fpco/stackage/issues/1689 - - servant < 0.8 - - servant-client < 0.8 - - servant-foreign < 0.8 - - servant-server < 0.8 - - servant-docs < 0.8 - - servant-mock < 0.8 - - servant-js < 0.8 - - language-puppet < 1.3 + # https://github.com/fpco/stackage/issues/2317 + - skylighting < 0.2 - # https://github.com/fpco/stackage/issues/1691 - - QuickCheck < 2.9 + # https://github.com/fpco/stackage/issues/2329 + - network-transport < 0.5 + + # https://github.com/fpco/stackage/issues/2334 + - tcp-streams < 1.0.0.0 + - tcp-streams-openssl < 1.0.0.0 + + # https://github.com/fpco/stackage/issues/2345 + - syb < 0.7 + + # https://github.com/fpco/stackage/issues/2354 + - mainland-pretty < 0.5.0.0 + + # https://github.com/fpco/stackage/issues/2365 + - matplotlib < 0.4.1 + + # https://github.com/fpco/stackage/issues/2378 + - errors < 2.2.0 + + # https://github.com/fpco/stackage/issues/2385 + - tasty-ant-xml < 1.1.0 + + # https://github.com/fpco/stackage/issues/2386 + - unordered-containers < 0.2.8.0 - # https://github.com/purescript/purescript/issues/2226 - # https://github.com/purescript/purescript/pull/2225 - - purescript < 0.9.2 # end of packages - # Package flags are applied to individual packages, and override the values of # global-flags package-flags: @@ -2503,6 +2966,12 @@ package-flags: curl: new-base: true + hpio: + test-hlint: false + + minio-hs: + live-test: false + hxt: network-uri: true hxt-http: @@ -2520,10 +2989,6 @@ package-flags: tar: old-time: false - # https://github.com/fpco/stackage/pull/482#issuecomment-83635207 - jose-jwt: - doctest: false - time-locale-compat: old-locale: false @@ -2544,9 +3009,6 @@ package-flags: nix-paths: allow-relative-paths: true - darcs: - use-time-1point5: true - fay: test: true @@ -2566,11 +3028,30 @@ package-flags: # Special configure options for individual packages configure-args: - inline-java: + jni: - --extra-lib-dirs - /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server - --extra-include-dirs - /usr/lib/jvm/java-8-openjdk-amd64/include + - --extra-include-dirs + - /usr/lib/jvm/java-8-openjdk-amd64/include/linux + jvm: + - --extra-lib-dirs + - /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server + - --extra-include-dirs + - /usr/lib/jvm/java-8-openjdk-amd64/include + - --extra-include-dirs + - /usr/lib/jvm/java-8-openjdk-amd64/include/linux + sparkle: + - --extra-lib-dirs + - /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server + - --extra-include-dirs + - /usr/lib/jvm/java-8-openjdk-amd64/include + - --extra-include-dirs + - /usr/lib/jvm/java-8-openjdk-amd64/include/linux + hocilib: + - --extra-lib-dirs + - /usr/local/lib # end of configure-args @@ -2586,116 +3067,92 @@ skipped-builds: # By skipping a test suite, we do not pull in the build dependencies +# Packages should only be added here if required by `stackage-curator check' +# or if Setup fails because of missing foreign libraries. +# Otherwise place them in expected-test-failures. skipped-tests: - # require old hspec - - ReadArgs - - bloodhound - - fb - - hasql - - # Too lazy to keep the test dependencies up to date - - cases - - list-t - - postgresql-binary - - slave-thread - - stm-containers - - # Just a temporary package with a flimsy, inherited test suite - - Cabal-ide-backend - - # QuickCheck 2.8 - - vector - - # requires testpack - https://github.com/jgoerzen/testpack/issues/11 - - MissingH - - # doctest < 0.10 - # Closed due to inactivity: https://github.com/fpco/stackage/issues/622 - - bound - - heaps - - hyphenation - - # https://github.com/kaizhang/clustering/issues/2 - - clustering - - # https://github.com/fpco/stackage/issues/934 - - cacophony - - # Build error with lens-4.13 - # https://github.com/brendanhay/amazonka/issues/251 - - amazonka-ec2 - - amazonka-s3 - - amazonka-swf - - # Misc from GHC 7.10.3 upgrade - # https://github.com/fpco/stackage/issues/1045 - #- argon - - # HUnit < 1.3 + # Outdated dependencies + # These can periodically be checked for updates; + # just remove these lines and run `stackage-curator check' to verify. + # # HUnit 1.5 - GLFW-b - - HsOpenSSL - - bindings-GLFW - - bytestring-handle - - clay - - hedis - - hint - - ide-backend - - lifted-base - - newtype-generics - - parsec - - terminal-progress-bar - - threads - - yesod-static-angular - # https://github.com/fpco/stackage/pull/906 - - HaRe - # https://github.com/Deewiant/glob/issues/1 - Glob + - HTTP + - bindings-GLFW + - case-insensitive + - darcs + - exception-transformers + - extensible-effects + - fclabels + - language-ecmascript + - lifted-base + - parsec + - rank1dynamic + - threads + - tz + - tzdata + - uuid + - uuid-types + # # Other outdated dependencies + - Cabal # QuickCheck 2.9 + - ReadArgs # https://github.com/rampion/ReadArgs/issues/8 + - bloodhound # hspec 2.4 + - bytestring-handle # QuickCheck 2.9 + - chell # options & via chell-quickcheck + - clay # hspec 2.3 + - drawille # hspec 2.4 + - ed25519 # QuickCheck 2.9 + - envy # hspec 2.4 + - fgl # hspec 2.3 + - fgl-arbitrary # hspec 2.3 + - hasql # QuickCheck 2.9 + - hastache # https://github.com/lymar/hastache/pull/53 + - heaps # https://github.com/ekmett/heaps/pull/8 + - hyphenation # https://github.com/ekmett/hyphenation/pull/10 + - multistate # hspec 2.4 + - newtype-generics # hspec 2.4 + - next-ref # hspec 2.3 + - point-octree # hspec 2.2.4 https://github.com/mlitchard/point-octree/issues/1 + - postgresql-simple-migration # hspec 2.4 + - servant-mock # hspec-wai 0.8 + - snap # QuickCheck 2.9 + - state-plus # QuickCheck 2.9 + - system-filepath # QuickCheck 2.9 via chell-quickcheck + - terminal-progress-bar # fixed on master, depends on older version of itself - # https://github.com/haskell/zlib/issues/2 - - zlib + # Transitive outdated dependencies + # These packages + # These can also be checked for updates periodically. + - MissingH # via testpack https://github.com/jgoerzen/testpack/issues/11 + - clustering # via RLang-QQ via HList https://github.com/kaizhang/clustering/issues/2 (also sent e-mail to HList maintainer) + - options # QuickCheck via chell-quickcheck - # https://github.com/ku-fpg/blank-canvas/issues/73 - # Never finishes - - blank-canvas + # Blocked by stackage upper bounds. These can be re-enabled once + # the relevant stackage upper bound is lifted. - # https://github.com/nushio3/binary-search/issues/2 (doctest never finishes) - - binary-search - # Requires stripe API key and unreleased test package https://github.com/fpco/stackage/issues/1272 - - stripe-http-streams + # Runtime issues + - blank-canvas # Never finishes https://github.com/ku-fpg/blank-canvas/issues/73 + - binary-search # Never finishes https://github.com/nushio3/binary-search/issues/2 + - jsaddle # Never finishes without framebuffer https://github.com/ghcjs/jsaddle/issues/9 - # times out without framebuffer (https://github.com/ghcjs/jsaddle/issues/9) - - jsaddle + # Missing foreign library + - symengine # symengine - # Not included explicitly and has outdated bounds - - concurrent-extra - # doctest < 0.11 - # Closed due to inactivity: https://github.com/fpco/stackage/issues/1328 - - ad - - composition-tree - # GHC 8 - patches-vector + # Wontfix. The maintainer chose to keep these broken/outdated, only + # re-enable if requested. + - postgresql-binary # https://github.com/nikita-volkov/postgresql-binary/issues/6#issuecomment-243063139 - # GHC 8 (bytestring-handle) - - tar + # directory 1.3 + - machines + - xmlhtml - # GHC 8 (snap-server) - - wreq + # via criterion: via cassava: bounds: vector + - sparse-linear-algebra - # GHC 8 - - hastache - - system-filepath - - system-fileio - - shelly - - # https://github.com/acid-state/safecopy/issues/45 - - safecopy - - # Missing C library: symengine - - symengine - - # https://github.com/athanclark/rose-trees/pull/5 - - rose-trees + # criterion + - store # end of skipped-tests @@ -2703,410 +3160,210 @@ skipped-tests: # should not fail a build based on a test failure for one of these packages. expected-test-failures: - # https://github.com/bos/statistics/issues/42 - - statistics - - # https://github.com/kazu-yamamoto/simple-sendfile/pull/10 - - simple-sendfile - - # Tests require shell script and are incompatible with sandboxed package - # databases - - HTF - - # Unfortunately network failures seem to happen haphazardly - - network - - # Test suite takes too long to run on some systems - - punycode - - # Requires a Facebook app. - - fb - - - threads - - crypto-conduit - - # https://github.com/basvandijk/concurrent-extra/issues/ - - concurrent-extra - - # https://github.com/skogsbaer/xmlgen/issues/2 - - xmlgen - - # Some kind of Cabal bug when trying to run tests - - thyme - - - shake - - # Problems with doctest and sandboxing - - warp - - # https://github.com/fpco/stackage/issues/163 - - hTalos - - # Fails sporadically - https://github.com/bos/math-functions/issues/25 - - math-functions - - # Requires too old a version of test-framework - - time - - # Cloud Haskell tests seem to be unreliable - - distributed-process - - lockfree-queue - # GHC 8 - network-transport-tcp - - # No AWS creds available - - aws - - # Not sure why... - - singletons - - # https://github.com/jmillikin/haskell-filesystem/issues/3 - - system-filepath - - # Requires a running webdriver server - - webdriver-angular - - # Weird conflicts with sandboxing - - ghcid - - # Requires locally running server - - bloodhound - - # Requires SAT solver and old QuickCheck - - ersatz - - # No server running - - amqp - - # Often run out of inotify handles - - fsnotify - - # weird problems with cabal test - - cautious-file - - # https://github.com/haskell/cabal/pull/2277 - - cabal-install - - # https://github.com/fpco/stackage/issues/376 - - rematch - - # https://github.com/haskell-distributed/distributed-process-supervisor/issues/1 - - distributed-process-supervisor - - # Fails sporadically + # Intermittent failures or unreliable. These tests may pass when + # re-enabled, but will eventually fail again. Only remove these + # from expected-failures if we know a fix has been released. + - aeson-lens # https://github.com/tanakh/aeson-lens/issues/10 + - cabal-debian # https://github.com/ddssff/cabal-debian/issues/50 - crypto-numbers + - css-text # 0.1.2.2 https://github.com/yesodweb/css-text/issues/10 + - distributed-process + - distributed-process-execution # https://github.com/haskell-distributed/distributed-process-execution/issues/2 - distributed-process-task + - foldl-statistics # https://github.com/data61/foldl-statistics/issues/2 + - fsnotify # Often runs out of inotify handles + - idris # https://github.com/fpco/stackage/issues/1382 + - ihaskell # https://github.com/gibiansky/IHaskell/issues/551 + - math-functions # https://github.com/bos/math-functions/issues/25 + - network # Unfortunately network failures seem to happen haphazardly + - nsis # Intermittent on non-Windows systems + - pandoc-citeproc # https://github.com/jgm/pandoc-citeproc/issues/172 + - spdx # https://github.com/phadej/spdx/issues/8 + - statistics # https://github.com/bos/statistics/issues/42 - # https://github.com/vincenthz/hs-crypto-pubkey/issues/17 - - crypto-pubkey - - # Tests can fail when the build plan fails, which happens arbitrarily. - - stackage - - # https://github.com/TomMD/DRBG/issues/7 - - DRBG - - # https://github.com/bos/wreq/issues/53 - - wreq - - # Requires local database running - - rethinkdb-client-driver - - # Fails sporadically: https://github.com/haskell-distributed/distributed-process-execution/issues/2 - - distributed-process-execution - - # Seems to depend on mtl being installed in user package database, which - # isn't always the case (e.g., build server) - - happy - - # https://github.com/jberryman/directory-tree/issues/4 - - directory-tree - - # https://github.com/ndmitchell/hoogle/issues/101 - - hoogle - - # https://github.com/myfreeweb/gitson/issues/1 - - gitson - - # Expects a running PostgreSQL server - - users-postgresql-simple - - dbmigrations - - opaleye - - postgresql-simple - - wai-session-postgresql - - drifter-postgresql - - # Requires locally running services - - network-anonymous-i2p - - # Tests not reliable on non-Windows systems - - nsis - - # Requires running server - - consul-haskell - - hedis - - redis-io - - # https://github.com/lymar/hastache/issues/47 GHC 7.10 - - hastache - - # https://github.com/haskell/ghc-events/issues/9 - - ghc-events - - # Requires a running server - - bitcoin-api - - bitcoin-api-extra - - # https://github.com/kazu-yamamoto/dns/issues/29 - - dns - - # No PhantomJS available - - wai-cors - - # Permissions failure when creating /home/stackage/.stack. We _should_ fix - # this in the build scripts here... - - stack - - # https://github.com/prowdsponsor/mangopay/issues/30 - - mangopay - - # https://github.com/MichaelXavier/Angel/issues/43 - - angel - - # Requires memcached on the server - - memcached-binary - - # Requires redis on the build machine - - serversession-backend-redis - - # Unstated dependency on HList-PP - - Rlang-QQ - - # https://github.com/rcallahan/xlsior/issues/1 - - xlsior - - # Test suite needs a running neo4j server with auth disabled - - haskell-neo4j-client - - # https://github.com/kazu-yamamoto/logger/issues/42 - - wai-logger - - # https://github.com/fpco/stackage/issues/733 - - ide-backend - - # https://github.com/gibiansky/IHaskell/issues/551 - - ihaskell - - # https://github.com/well-typed/ixset-typed/issues/2 - - ixset-typed - - # Expects running X server - - bindings-GLFW - - GLFW-b - - # Requires running server - - rethinkdb - - # https://github.com/ddssff/cabal-debian/issues/50 - - cabal-debian - - # https://github.com/fpco/stackage/issues/811 - - etcd - - # https://github.com/kazu-yamamoto/ghc-mod/issues/611 - - ghc-mod - - # Requires a running server - - pipes-mongodb - - # https://github.com/tweag/HaskellR/issues/208 - - H - - # Fails sporadically: https://github.com/jgm/pandoc-citeproc/issues/172 - - pandoc-citeproc - - # https://github.com/alcidesv/second-transfer/issues/3 - - second-transfer - - # https://github.com/fpco/stackage/issues/916 - - distributed-process-extras - - distributed-process-client-server - - # Requires running server - - riak - - hworker - - # Fail sporadically: https://github.com/chrisdone/hindent/issues/166 - - hindent - - # https://github.com/fpco/stackage/issues/1000 - - eventstore - - # https://github.com/chrisdone/sourcemap/issues/3 - - sourcemap - - # https://github.com/fpco/stackage/issues/1070 - - parsers - - # Fails sporadically: https://github.com/fpco/stackage/issues/1125 - - jose-jwt - - # https://github.com/fpco/stackage/issues/1187 - # openfile: does not exist - - skein - - # https://github.com/fpco/stackage/issues/1147 - - lens - - # https://github.com/tanakh/aeson-lens/issues/10 - - aeson-lens - - # Not sure if we can fix this - - Cabal - - # Sent e-mail to maintainer - - dbus - - # Sent e-mail to maintainer - - ListLike - - # https://bitbucket.org/ssaasen/haskell-jwt/issues/18/test-suite-build-failure-in-stackage - - jwt - - # https://github.com/rodrigosetti/messagepack/issues/9 - - messagepack - - # timeouts + # Timeouts + # These tests sometimes take too long and hit the stackage build + # servers time limit so these shouldn't be removed from + # expected-tests unless we know a fix has been released. - cabal-helper + - generic-random - graphviz + - lens + - punycode - zip - # https://github.com/elaye/turtle-options/issues/3 - - turtle-options + # Requires running servers, accounts, or a specific + # environment. These shouldn't be re-enabled unless we know a fix + # has been released. + - GLFW-b # X + - HTF # Requires shell script and are incompatible with sandboxed package databases + - HaRe # # Needs ~/.ghc-mod/cabal-helper https://github.com/fpco/stackage/pull/906 + - amqp + - aws # AWS Credentials + - bindings-GLFW # Expects running X server + - bitcoin-api + - bitcoin-api-extra + - bitcoin-api-extra + - bloodhound # ElasticSearch + - cabal-install + - consul-haskell + - dbmigrations # PostgreSQL + - dns # https://github.com/kazu-yamamoto/dns/issues/29 + - drifter-postgresql # PostgreSQL + - etcd # etcd https://github.com/fpco/stackage/issues/811 + - eventstore # Event Store + - fb # Facebook app + - ghc-imported-from # depends on haddocks being generated first https://github.com/fpco/stackage/pull/1315 + - ghc-mod # https://github.com/DanielG/ghc-mod/issues/611 + - gitson # 0.5.2 error with git executable https://github.com/myfreeweb/gitson/issues/1 + - gitson # https://github.com/myfreeweb/gitson/issues/1 + - happy # Needs mtl in the user package DB + - haskell-neo4j-client # neo4j with auth disabled + - haskell-tools-cli # https://github.com/haskell-tools/haskell-tools/issues/230 + - haskell-tools-refactor # https://github.com/haskell-tools/haskell-tools/issues/231 + - hasql # PostgreSQL + - hasql-transaction # PostgreSQL + - hedis + - hocilib # oracle + - hworker + - jvm + - katip-elasticsearch # elasticsearch + - log # ElasticSearch + - mangopay # https://github.com/prowdsponsor/mangopay/issues/30 + - memcached-binary # memcached + - mongoDB # mongoDB - https://github.com/mongodb-haskell/mongodb/issues/61 + - mysql # MySQL + - mysql-haskell # Requires local mysql server with a test account, and binlog enabled. + - mysql-simple # MySQL + - network-anonymous-i2p + - opaleye # PostgreSQL + - persistent-redis # redis - https://github.com/fpco/stackage/pull/1581 + - pipes-mongodb + - postgresql-query # PostgreSQL + - postgresql-simple # PostgreSQL + - postgresql-simple-migration + - postgresql-typed # PostgreSQL + - purescript # git 128 https://github.com/purescript/purescript/issues/2292 + - redis-io + - rethinkdb + - rethinkdb-client-driver + - riak + - serialport # "The tests need two serial ports as command line arguments" https://github.com/jputcu/serialport/issues/30 + - serversession-backend-redis # redis + - shake # Needs ghc on $PATH with some installed haskell packages + - singletons # Needs ghc on $PATH with som installed haskell packages + - users-postgresql-simple # PostgreSQL + - wai-cors # PhantomJS + - wai-session-postgresql # PostgreSQL + - webdriver-angular # webdriver server + - yahoo-finance-api # Requires being able to access Yahoo Finance API - # https://github.com/fpco/stackage/issues/1045 (moved here from skipped-tests) - - clock + # Test executable requires arguments + - hpqtypes - # https://github.com/fpco/stackage/issues/1299 - - serialport + # Deprecated + # Eventually we'll have to disable these packages completely. + - doctest-prop # https://github.com/bitemyapp/bloodhound/issues/146 + - system-filepath # https://github.com/jmillikin/haskell-filesystem/issues/3 - # requires elasticsearch https://github.com/fpco/stackage/pull/1271 - - katip-elasticsearch + # Missing test files in sdist + # Hopefully gets fixed in the next release... + - angel # https://github.com/MichaelXavier/Angel/issues/43 + - camfort # 0.900 https://github.com/camfort/camfort/issues/41 + - crypto-pubkey # https://github.com/vincenthz/hs-crypto-pubkey/issues/23 + - cubicbezier # https://github.com/kuribas/cubicbezier/issues/3 + - ghc-events # https://github.com/haskell/ghc-events/issues/9 + - ginger # https://bitbucket.org/tdammers/ginger/issues/1/test-suite-failure-due-to-missing-test + - graylog # 0.1.0.1 https://github.com/fpco/stackage/pull/1254 + - haskell-names # 0.7.0 https://github.com/haskell-suite/haskell-names/issues/78 + - rematch # No issue tracker, sent e-mail to maintainer https://github.com/fpco/stackage/issues/376 + - xlsior # https://github.com/rcallahan/xlsior/issues/1 + - yi-keymap-vim # https://github.com/yi-editor/yi/issues/954 - # https://github.com/fpco/stackage/pull/1315 - - ghc-imported-from + # Assertion failures, these can be real bugs or just limitations + # in the test cases. + - DRBG # https://github.com/TomMD/DRBG/issues/7 + - cayley-client # https://github.com/MichelBoucey/cayley-client/issues/2 + - direct-sqlite # 2.3.17 https://github.com/IreneKnapp/direct-sqlite/issues/63 + - ed25519 # 0.0.5.0 https://github.com/thoughtpolice/hs-ed25519/issues/15 + - ghc-exactprint # https://github.com/alanz/ghc-exactprint/issues/47 + - nettle # https://github.com/stbuehler/haskell-nettle/issues/8 + - th-printf # 0.3.1 https://github.com/pikajude/th-printf/issues/3 + - unicode-show # https://github.com/nushio3/unicode-show/issues/2 + - xmonad # 0.12 https://github.com/xmonad/xmonad/issues/36 + - pixelated-avatar-generator # 0.1.3 https://github.com/ExcaliburZero/pixelated-avatar-generator/issues/19 - # https://github.com/fpco/stackage/pull/1340 - - simpleirc + # Compilation failures + - ListLike # No issue tracker, e-mail sent to maintainer + - commutative # https://github.com/athanclark/commutative/issues/4 + - dbus # 0.10.12 No issue tracker, e-mail sent to maintainer + - folds # https://github.com/ekmett/folds/issues/12 + - hspec-expectations-pretty-diff # GHC 8 issue not reported upstream since issue tracker disabled + - language-lua2 # https://github.com/mitchellwrosen/language-lua2/issues/4 + - picosat # https://github.com/fpco/stackage/pull/2382 + - sourcemap # https://github.com/chrisdone/sourcemap/issues/3 + - text-ldap # # https://github.com/khibino/haskell-text-ldap/issues/1 + - thyme # https://github.com/liyang/thyme/issues/50 + - tries # https://github.com/athanclark/tries/issues/2 + - vector-algorithms # http://hub.darcs.net/dolio/vector-algorithms/issue/9 + - wai-middleware-content-type # 0.4.1 - https://github.com/athanclark/wai-middleware-content-type/issues/2 + - xmlgen # https://github.com/skogsbaer/xmlgen/issues/6 + - yesod-auth-basic # https://github.com/creichert/yesod-auth-basic/issues/1 - # https://github.com/fpco/stackage/issues/1382 - - idris + # Stackage upper bounds, re-enable these when their upper bound is removed - # https://github.com/fpco/stackage/issues/1399 - - darcs - # https://github.com/fpco/stackage/pull/1254 - - graylog + # Recursive deps https://github.com/fpco/stackage/issues/1818 + - clock # 0.7.2 clock:test => tasty:lib => clock:lib + - options + - text # 1.2.2.1 + - wai-logger # Missing build dep because of this https://github.com/kazu-yamamoto/logger/issues/42 - # https://github.com/fpco/stackage/issues/1412 - - wai-predicates + # Problem on the stackage build server, we need to dig deeper into + # these if we want them fixed + - stack # Permissions failure when creating /home/stackage/.stack. + - skein # openfile: does not exist https://github.com/fpco/stackage/issues/1187 - # https://github.com/stbuehler/haskell-nettle/issues/8 - - nettle - - # https://github.com/fpco/stackage/issues/1459 - - twitter-conduit - - # https://github.com/hspec/HUnit/issues/7 - - HUnit - - # https://github.com/IreneKnapp/direct-sqlite/issues/63 - - direct-sqlite - - # https://github.com/well-typed/hackage-security/issues/164 - - hackage-security - - # GHC 8 issue not reported upstream since issue tracker disabled - - hspec-expectations-pretty-diff - - # https://github.com/clash-lang/clash-prelude/issues/57 - - clash-prelude - - # https://github.com/xmonad/xmonad/issues/36 - - xmonad - - # https://github.com/fpco/stackage/issues/1480 - - text - - # https://gitlab.com/twittner/swagger/issues/6 - - swagger - - # https://github.com/thoughtpolice/hs-ed25519/issues/15 - - ed25519 - - # https://github.com/fpco/stackage/issues/1552 - - purescript - - # https://github.com/jetho/Hclip/issues/3 - - Hclip - - # Requires running mongoDB - https://github.com/mongodb-haskell/mongodb/issues/61 - - mongoDB - - # Requries running redis - https://github.com/fpco/stackage/pull/1581 - - persistent-redis - - # https://github.com/tfausak/octane/issues/35 - - octane - - # https://github.com/fosskers/vectortiles/issues/2 - - vectortiles - - # https://github.com/pikajude/th-printf/issues/3 - - th-printf - - # https://github.com/yesodweb/css-text/issues/10 - - css-text - - # https://github.com/fpco/stackage/pull/1693 + # Doctests require hidden Glob package + - multiset - makefile - # https://github.com/nh2/haskell-netpbm/issues/2 - - netpbm + # Misc. + - distributed-process-supervisor # # https://github.com/haskell-d + - ghcid # Weird conflicts with sandboxingistributed/distributed-process-supervisor/issues/1 + - haskell-docs # GHC bug + - http-client-openssl # https://github.com/snoyberg/http-client/issues/267 + - rattletrap # OOM? https://github.com/fpco/stackage/issues/2232 + - req # https://github.com/mrkkrp/req/issues/14#issuecomment-287562784 + - servant # https://github.com/haskell-servant/servant/issues/698 + - snap-core # https://github.com/snapframework/snap-core/issues/26 + - stm-delay # https://github.com/joeyadams/haskell-stm-delay/issues/5 - # https://github.com/fpco/store/issues/61 - - store - - # https://github.com/fpco/th-utilities/issues/2 - - th-utilities # end of expected-test-failures # Benchmarks which are known not to build. Note that, currently we do not run # benchmarks, and therefore failures are only for building, not running. expected-benchmark-failures: - - Frames + # Recursive deps https://github.com/fpco/stackage/issues/1818 - attoparsec - - cipher-aes128 - - cryptohash - - dbus - - gitson - hashable - - http-link-header - - jose-jwt - - lens - - lucid - - picoparsec - - rethinkdb - - thyme - - web-routing - - xmlgen - - yi-rope + - unordered-containers # 0.2.7.1 unordered-containers:bench -> criterion:lib -> aeson:lib -> unordered-containers:lib - # https://github.com/commercialhaskell/stack/issues/2153 + # stack bug https://github.com/commercialhaskell/stack/issues/2153 - scientific - vector-binary-instances - # GHC 8 - - cassava + # Missing files in sdist + - cassava # https://github.com/hvr/cassava/pull/117 + - picoparsec # https://bitbucket.org/blamario/picoparsec/issues/3/benchmark-compilation-failure + + # Compilation failures + - Frames # https://github.com/acowley/Frames/issues/47 + - cryptohash # https://github.com/vincenthz/hs-cryptohash/pull/43 + - dbus # No issue tracker, sent e-mail to maintainer + - thyme # https://github.com/liyang/thyme/issues/50 + - xmlgen # https://github.com/skogsbaer/xmlgen/issues/6 + # end of expected-benchmark-failures @@ -3118,77 +3375,243 @@ expected-haddock-failures: - gtk - gtk3 - # Not sure why, but it's a temporary package anyway - - Cabal-ide-backend + # Intermittent failures or unreliable. These tay pass when + # re-enabled, but will eventually fail again. Only remove these + # from expected-haddock-failures if we know a fix has been released. + - gi-gtk # Uses all memory - # https://github.com/fpco/stackage/issues/994 - - Michelangelo + # Problem on the stackage build server, we need to dig deeper into + # these if we want them fixed + - yesod-job-queue # https://github.com/fpco/stackage/issues/1383 - # Problem with v0.1.6.0: https://github.com/fpco/stackage/issues/1206 - - hsdev + # "Compilation" errors + - MemoTrie # https://github.com/conal/MemoTrie/issues/10 + - metrics # https://github.com/iand675/metrics/issues/5 + - text-generic-pretty # https://github.com/fpco/stackage/pull/2160 + - glazier-react # https://github.com/fpco/stackage/issues/2379 - # https://github.com/fpco/stackage/issues/1383 - - yesod-job-queue + # Haddock bugs + - swagger2 # https://github.com/GetShopTV/swagger2/issues/66 - # uses all server memory - - gi-gtk + # "Argument list too long" + - classy-prelude-yesod + - hledger-web - # https://github.com/conal/MemoTrie/issues/10 - - MemoTrie + # Runs out of memory + - stratosphere + - store - # GHC 8 - - cassava - - # https://github.com/GetShopTV/swagger2/issues/66 - - swagger2 - - # https://github.com/aelve/microlens/issues/72 - - microlens - - # https://github.com/iand675/metrics/issues/5 - - metrics - - # https://github.com/fpco/stackage/pull/1549 - - ghc-exactprint # end of expected-haddock-failures - -# Benchmarks which should not be built. Note that Stackage does *not* generally -# build benchmarks. The difference here will be whether dependencies for these -# benchmarks are included or not. +# Benchmarks which should not be built. Note that Stackage builds benchmarks but does not run them. +# By skipping a benchmark, we do not pull in the build dependencies +# Packages should only be added here if required by `stackage-curator check' +# or if Setup fails because of missing foreign libraries. +# Otherwise place them in expected-benchmark-failures. skipped-benchmarks: + + # Outdated dependencies + # These can periodically be checked for updates; + # just remove these lines and run `stackage-curator check' + # to verify. - criterion-plus - - lifted-base - - stm-containers + - http2 - # pulls in criterion-plus, which has restrictive upper bounds - - cases - - hasql-postgres - - ttrie + # Transitive outdated dependencies + # These packages + # These can also be checked for updates periodically. + - cases # via criterion-plus + - hasql-postgres # via criterion-plus + - ttrie # via criterion-plus + - machines # via pipes - # https://github.com/vincenthz/hs-crypto-cipher/issues/46 - - cipher-aes - - cipher-blowfish - - cipher-camellia - - cipher-des - - cipher-rc4 + # Compilation failures + - cipher-aes # https://github.com/vincenthz/hs-crypto-cipher/issues/46 + - cipher-blowfish # https://github.com/vincenthz/hs-crypto-cipher/issues/46 + - cipher-camellia # https://github.com/vincenthz/hs-crypto-cipher/issues/46 + - cipher-des # https://github.com/vincenthz/hs-crypto-cipher/issues/46 + - cipher-rc4 # https://github.com/vincenthz/hs-crypto-cipher/issues/46 - # sometimes falls out-of-sync on hasql-postgres - - hasql + # GHC Bugs + - hledger-lib # https://github.com/fpco/stackage/issues/1587 - # https://github.com/fpco/stackage/issues/494 + - pipes # optparse-applicative 0.13 + + # Criterionpocalypse # via criterion: via cassava: bounds: vector + - Earley + - Frames + - IntervalMap + - JuicyPixels-extra + - acid-state + - ad + - arithmoi + - attoparsec + - avers + - binary-list + - binary-parsers + - binary-tagged + - binary-typed + - blake2 + - buffer-builder + - bytestring-conversion + - bytestring-tree-builder + - cacophony - case-insensitive - - postgresql-binary - - # https://github.com/kaizhang/clustering/issues/2 + - cassava + - cipher-aes128 + - clash-prelude - clustering - - # Successful build requires unordered-containers >= 0.2.7.0 - # https://github.com/fpco/stackage/issues/1226 + - cmark + - conduit + - conduit-extra + - conduit-iconv + - cprng-aes + - criterion + - cron + - crypto-numbers + - crypto-pubkey + - cryptohash + - cryptohash-md5 + - cryptohash-sha1 + - cryptohash-sha256 + - cryptol + - ctrie + - data-msgpack + - diagrams-lib + - dimensional + - do-list + - ed25519 + - edit-distance + - effect-handlers + - euphoria + - farmhash + - fast-builder + - fast-digits + - fclabels + - foldl + - foldl-statistics + - gitson + - glob-posix + - graphviz + - grouped-list + - hOpenPGP + - hashable + - haskell-tools-cli + - hasql + - highjson + - hindent + - hip + - histogram-fill + - hledger + - hosc + - hourglass + - html-email-validate + - htoml + - http-client-tls + - http-link-header + - human-readable-duration + - hw-balancedparens + - hw-bits + - hw-conduit + - hw-json + - hw-rankselect-base + - hweblib + - hxt-regex-xmlschema + - identicon + - ilist + - include-file + - incremental-parser + - inline-r + - jose-jwt + - katip + - kdt + - lens + - lifted-async + - lifted-base + - logging-effect + - loop + - lucid + - matrices + - matrix + - megaparsec + - monad-logger-prefix + - mongoDB + - mono-traversable + - monoid-extras + - morte + - mutable-containers + - netpbm + - pandoc + - phantom-state + - picoparsec + - postgresql-binary + - pretty-simple + - prometheus-client + - psqueues + - publicsuffix + - ramus + - rdf + - redis-io + - reinterpret-cast + - reroute + - rethinkdb-client-driver + - rose-trees + - sampling + - sandi + - say + - scalpel-core + - scanner + - scientific + - semver + - servant-auth-cookie + - sets + - skylighting + - snap-server + - sorted-list + - sourcemap + - sparse-linear-algebra + - stache + - stackage-curator + - stateWriter + - stm-containers + - store + - streaming-commons + - superbuffer + - taggy + - tar + - text-manipulate + - text-metrics + - text-show + - thread-local-storage + - thyme + - timemap + - tinylog + - tls + - turtle + - tz + - ua-parser + - unbound-generics + - unicode-transforms + - union - unordered-containers - - # https://github.com/fpco/stackage/issues/1587 - - hledger-lib + - uri-bytestring + - uuid + - uuid-types + - varying + - vector-binary-instances + - vectortiles + - vinyl + - wai-middleware-metrics + - wai-routing + - warp + - wire-streams + - word24 + - word8 + - xmlgen + - yesod-core + - yi-rope + - zippers + - jvm # end of skipped-benchmarks @@ -3226,9 +3649,13 @@ github-users: - meteficha analytics: - ekmett + haskell-openal: + - svenpanne + # - the-real-blackh haskell-opengl: - ekmett - svenpanne + # - dagit # - elliottt # - jmcarthur lambdabot: @@ -3243,7 +3670,6 @@ github-users: stackbuilders: - sestrella - jsl - - jpvillaisaza - jsantos17 - mrkkrp scotty-web: @@ -3253,6 +3679,10 @@ github-users: - RyanGlScott haskell-compat: - RyanGlScott + haskell-servant: + - phadej + - jkarni + - SoenkeHahn vivid: - vivid-synth midair: @@ -3261,6 +3691,17 @@ github-users: - vivid-synth telegram-api: - klappvisor + fpinsight: + - thierry-b + arithmoi: + - Bodigrim + - cartazio + - phadej + IxpertaSolutions: + - Siprj + - liskin + - trskop + - xkollar # end of github-users @@ -3281,3 +3722,74 @@ build-tool-overrides: # # treat-as-non-core: # - transformers + +# Give an error if the latest package version doesn't match what's +# listed below, see: +# https://github.com/fpco/stackage-curator/issues/25 +# +# Example: +# If bindings-GLFW-3.1.2.1 is the current latest version write +# - bindings-GLFW-3.1.2.1 # Comment saying what should be done when the new version is releasedskipped test-suite +tell-me-when-its-released: +- point-octree-0.5.5.3 # re-enable test and then we can resolve https://github.com/fpco/lts-haskell/issues/27 +- yarr-1.4.0.2 # Re-enable package https://github.com/fpco/stackage/issues/1876 +- terminal-progress-bar-0.1.1 # Unskip test suite +- req-0.2.0 # Remove from expected-test-failures https://github.com/mrkkrp/req/issues/14#issuecomment-287562784 +- vivid-0.2.0.5 # Re-enable package (disabed per MonadRandom < 0.5) https://github.com/fpco/stackage/issues/2180 + +# Packages which should be hidden after registering, to avoid module name +# conflicts. This is intended for at least two use cases: +# +# * Making doctests pass (https://github.com/yesodweb/wai/issues/579) +# +# * Allowing tools like Stack to get a mapping from module name to package name +# for automatically installing dependencies +hide: +- async-dejafu # https://github.com/yesodweb/wai/issues/579 +- monads-tf # mtl is preferred +- protolude # `module Panic` conflicts with base +- crypto-api # `module Crypto.Random` conflicts with cryptonite +- fay-base # conflicts with many modules in base and others +- hashmap # conflicts with Data.HashSet in unordered-containers +- hxt-unicode # conflicts with Data.String.UTF8 in utf8-string +- hledger-web # conflicts with Foundation in foundation +- plot-gtk3 # conflicts with many modules in plot-gtk +- gtk3 # conflicts with many modules in gtk +- regex-pcre-builtin # conflicts with many modules in regex-pcre +- regex-compat-tdfa # conflicts with many modules in regex-compat +- log # conflicts with modules in its dependencies +- zip # conflicts with Codec.Archive.Zip in zip-archive +- monad-extras # conflicts with Control.Monad.Extra in extra +- control-monad-free # conflicts with Control.Monad.Free in free +- prompt # conflicts with Control.Monad.Prompt in MonadPrompt +- kawhi # conflicts with Control.Monad.Http in monad-http +- language-c # conflicts with modules in language-c-quote +- gl # conflicts with modules in OpenGLRaw +- svg-tree # conflicts with Graphics.Svg in svg-builder +- Glob # conflicts with System.FilePath.Glob in filemanip +- nanospec # conflicts with Test.Hspec in hspec +- HTF # conflicts with Test.Framework in test-framework +- courier # conflicts with Network.Transport in network-transport +- newtype-generics # conflicts with Control.Newtype in newtype +- objective # conflicts with Control.Object in natural-transformation +- binary-ieee754 # conflicts with data-binary-ieee754 +- rerebase # conflicts with base +- matrices # conflicts with matrix + +# Cryptonite deprecations +- cipher-aes +- cipher-blowfish +- cipher-camellia +- cipher-des +- cipher-rc4 +- crypto-cipher-types +- crypto-numbers +- crypto-pubkey +- crypto-random +- cryptohash +- cryptohash-conduit + +# cryptohash forks +- cryptohash-md5 +- cryptohash-sha1 +- cryptohash-sha256 diff --git a/check b/check index c25c3c4a..bf7f91f6 100755 --- a/check +++ b/check @@ -3,4 +3,4 @@ # Convenience script for checking constraints locally cd `dirname $0` -exec stack exec --resolver ghc-8.0.1 stackage-curator check +exec stack exec --resolver ghc-8.0.2 stackage-curator check diff --git a/debian-bootstrap.sh b/debian-bootstrap.sh index 8583155d..c0925f57 100755 --- a/debian-bootstrap.sh +++ b/debian-bootstrap.sh @@ -13,7 +13,6 @@ set -exu mkdir /home/stackage -p -locale-gen en_US.UTF-8 export DEBIAN_FRONTEND=noninteractive apt-get update @@ -25,23 +24,24 @@ add-apt-repository -y ppa:marutter/rrutter #add-apt-repository -y ppa:openstack-ubuntu-testing/icehouse # Set the GHC version -GHCVER=8.0.1 - -# Get Stack -apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 575159689BEFB442 -echo 'deb http://download.fpcomplete.com/ubuntu xenial main'|tee /etc/apt/sources.list.d/fpco.list +GHCVER=8.0.2 apt-get update apt-get install -y \ build-essential \ ghc-$GHCVER \ + ghc-$GHCVER-dyn \ + ghc-$GHCVER-prof \ ghc-$GHCVER-htmldocs \ hscolour \ sudo \ curl \ freeglut3-dev \ git \ + gradle \ libadns1-dev \ + libaio1 \ + libalut-dev \ libasound2-dev \ libblas-dev \ libbz2-dev \ @@ -52,10 +52,12 @@ apt-get install -y \ libedit-dev \ libedit2 \ libfftw3-dev \ + libflac-dev \ libfreenect-dev \ libgd2-xpm-dev \ libgeoip-dev \ libgirepository1.0-dev \ + libglfw3-dev \ libglib2.0-dev \ libglu1-mesa-dev \ libgmp3-dev \ @@ -70,20 +72,27 @@ apt-get install -y \ libjudy-dev \ liblapack-dev \ libleveldb-dev \ + liblmdb-dev \ liblzma-dev \ libmagic-dev \ libmagickcore-dev \ libmagickwand-dev \ libmarkdown2-dev \ + libmp3lame-dev \ libmpfr-dev \ libmysqlclient-dev \ libncurses-dev \ + libnfc-dev \ libnotify-dev \ libopenal-dev \ libpango1.0-dev \ libpcap0.8-dev \ libpq-dev \ libsdl2-dev \ + libsdl2-mixer-dev \ + libsdl2-image-dev \ + libsdl2-gfx-dev \ + libsdl2-ttf-dev \ libsnappy-dev \ libsndfile1-dev \ libsqlite3-dev \ @@ -102,21 +111,29 @@ apt-get install -y \ libzip-dev \ libzmq3-dev \ llvm-3.7 \ + locales \ m4 \ nettle-dev \ nodejs \ npm \ openjdk-8-jdk \ + python-mpltoolkits.basemap \ + python3-matplotlib \ + python3-numpy \ + python3-pip \ r-base \ r-base-dev \ ruby-dev \ - stack \ wget \ xclip \ z3 \ zip \ zlib1g-dev +locale-gen en_US.UTF-8 + +curl -sSL https://get.haskellstack.org/ | sh + # Put documentation where we expect it mv /opt/ghc/$GHCVER/share/doc/ghc-$GHCVER/ /opt/ghc/$GHCVER/share/doc/ghc @@ -133,3 +150,30 @@ update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.bfd" 10 # GHC 8.0 requires LLVM 3.7 tools (specifically, llc-3.7 and opt-3.7). update-alternatives --install "/usr/bin/llc" "llc" "/usr/bin/llc-3.7" 50 update-alternatives --install "/usr/bin/opt" "opt" "/usr/bin/opt-3.7" 50 + +# install ocilib dependencies then build and install ocilib +cd /tmp \ + && wget https://storage.googleapis.com/oracle.fpinsight.com/instantClient/oracle-instantclient12.1-basiclite_12.1.0.2.0-2_amd64.deb \ + && dpkg -i oracle-instantclient12.1-basiclite_12.1.0.2.0-2_amd64.deb \ + && rm -f oracle-instantclient12.1-basiclite_12.1.0.2.0-2_amd64.deb \ + && wget https://storage.googleapis.com/oracle.fpinsight.com/instantClient/oracle-instantclient12.1-devel_12.1.0.2.0-2_amd64.deb \ + && dpkg -i oracle-instantclient12.1-devel_12.1.0.2.0-2_amd64.deb \ + && rm -f oracle-instantclient12.1-devel_12.1.0.2.0-2_amd64.deb \ + && wget https://github.com/vrogier/ocilib/archive/v4.3.2.tar.gz \ + && tar xvf v4.3.2.tar.gz \ + && cd /tmp/ocilib-4.3.2 \ + && ./configure --with-oracle-import=linkage \ + --with-oracle-charset=ansi \ + --with-oracle-headers-path=/usr/include/oracle/12.1/client64 \ + --with-oracle-lib-path=/usr/lib/oracle/12.1/client64/lib \ + && make \ + && make install \ + && cd \ + && rm -rf /tmp/ocilib-4.3.2 \ + && echo "/usr/local/lib" > /etc/ld.so.conf.d/usr-local.conf \ + && echo "/usr/lib/oracle/12.1/client64/lib" > /etc/ld.so.conf.d/oracle-client.conf \ + && ldconfig + +# Add JDK to system paths. +echo "/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/" > /etc/ld.so.conf.d/openjdk.conf \ + && ldconfig