diff --git a/.travis.yml b/.travis.yml index 47bbda04..691ef7c3 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.2.1 install: # Download and unpack the stack executable diff --git a/CURATORS.md b/CURATORS.md index c82a696e..9c069fed 100644 --- a/CURATORS.md +++ b/CURATORS.md @@ -1,10 +1,10 @@ This is a collection of instructions covering the processes that the Stackage curators - the guys who maintain the Stackage project itself - should be doing on a regular basis. Originally this was handled largely by Michael Snoyman, -but now we are a team of 4 people handling requests weekly in rotation. +but now we are a team of 5 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,24 +58,146 @@ 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: -Use [Ubuntu Package content search](http://packages.ubuntu.com/) to determine which package provides particular dev files (it defaults to trusty which is the same version as the server). +```bash + $ git checkout nightly + $ git merge master + $ git push +``` -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. +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 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 -can modify it and push it to Github to trigger a DockerHub build. The master +can modify it and push it to Github to trigger a DockerHub build. The nightly branch is used for nightlies. For LTSes, we use the ltsX branch, where X is the major version number (e.g., lts3 for lts-3.\*). @@ -76,14 +223,34 @@ rm -r nightly/work/builds/nightly/ ``` This should also be done when moving the Nightly docker image to a new version of Ubuntu. +If you're impatient and would like to build the Docker image on the +build server instead of waiting for Docker Hub, you can run the +following command: + +``` +DIR=$(mktemp -d) +(cd $DIR \ + && git clone https://github.com/fpco/stackage \ + && cd stackage \ + && docker build --tag snoyberg/stackage:nightly .) +rm -rf $DIR +``` + +Note that we do a clean clone of the `stackage` repo instead of using +the existing checkout because of how `docker build` works: it will +send the entire local directory contents as context to the Docker +daemon, which in the case of the build tree is a _lot_ of content. (We +can discuss the wisdom—or lack thereof—of Docker's +approach separately.) + ## stackage-build server 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 +270,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 +290,14 @@ 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. + +Note LTS builds inherit the current Hackage data (stack updated for Nigthly) to avoid excess extra rebuilding. ### Timing @@ -138,9 +311,82 @@ 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. + +You will almost always need to update the Win32 package version listed in the +build-constraints.yaml file. + +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..710e7bbe 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,12 @@ -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 + +# NOTE: also update debian-bootstrap.sh when cuda version changes +ENV PATH /usr/local/cuda-8.0/bin:/opt/ghc/8.2.1/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV CUDA_PATH /usr/local/cuda-8.0 +ENV LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:/usr/local/cuda-8.0/nvvm/lib64 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..207ac02b 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -2,58 +2,89 @@ 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 buildable and testable from Hackage. We recommend [the Stack Travis script](https://docs.haskellstack.org/en/stable/travis_ci/), which ensures a package is not accidentally incomplete. +* 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`. To add a set of packages, you would add: - "My Name myemail@example.com @mygithubuser": + "My Name @mygithubuser": - package1 - package2 - package3 +Note that the `master` branch is used for Stackage Nightly (not the `nightly` branch, which is used for the nightly docker builder imagine). + 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 @@ -74,10 +105,11 @@ following the above steps, you can get your package into the next major LTS Haskell release. If you would like to get your package added to an existing LTS Haskell major -release (e.g., if `lts-3.21` is out, you would want your package to appear in -`lts-3.22`), please do the following in addition to the steps above: +release (e.g., if `lts-8.9` is out, you would want your package to appear in +`lts-8.10`), please do the following in addition to the steps above: * Open up a new issue on the [lts-haskell repo](https://github.com/fpco/lts-haskell/issues/new) -* Specify the LTS major version you would like your package to go into (e.g., lts-3) +* Specify the LTS major version you would like your package to go into (e.g., lts-8) * Provide a list of packages you would like added, and if relevant, any upper bounds on those packages -* Be patient! The LTS releases are by their nature more conservative than nightly, and therefore adding new packages is a more manual process. The Stackage curators will try to get to your issue quickly, but there may be some delay. +* Be patient! The LTS releases are less frequent than Nightly and by their nature more conservative, and therefore adding new packages is a more manual process. The Stackage curators will try to get to your issue as soon as possible, but it may take some time. +* To add a package to more than one LTS version please file separate tickets for each major LTS release, since they will typically be built and added at different times. diff --git a/README.md b/README.md index 83ebb2f5..a3d768b4 100644 --- a/README.md +++ b/README.md @@ -17,11 +17,11 @@ Add your package 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 buildable and testable from Hackage. We recommend [the Stack Travis script](https://docs.haskellstack.org/en/stable/travis_ci/), which ensures a package is not accidentally incomplete. +* 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,46 @@ 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. + +__What time are Stackage snapshots published?__ + +Stackage Nightly and LTS are not released at a fixed time of day, they get pushed to stackage.org (and the metadata to the stackage-nightly and stackage-lts github repos) when their builds finish on the Stackage build server and the latest built haddocks have been synced over. This time varies greatly depending on build times for package updates, bounds breakage, problems with new packages being added and other build issues, etc. There are days when a release does not happen. LTS releases tend to happen over the weekend or early in the week. 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..9e2a6566 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,7 @@ 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" + +echo -n "Completed at " +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/become-a-curator.md b/become-a-curator.md new file mode 100644 index 00000000..80559efc --- /dev/null +++ b/become-a-curator.md @@ -0,0 +1,44 @@ +## We are no longer accepting applications, please wait until next time + +We are looking to expand the stackage curator team! + +As a stackage curator you will help the community by curating and +publishing the widely used nightly and LTS snapshots: Collections of +packages that are guaranteed to play well together. All curators are +volunteers. + +This is a great opportunity to contribute to the haskell community and get +familiar with the tools of the trade! You will also be in regular +contact with experienced community members. + +We don't have any prerequisites, but familiarity with any of Haskell, +Cabal, Stack, Linux, Git, and Docker is a plus. + +We work in shifts of one week, which means you will be on duty every +6th week. Our suggestion is to pair you up with another curator to +help out in the beginning. + +The workload is usually about 30 minutes per day, whenever you have +time. The work consists of keeping the builds running on the build +server, filing issues for packages needing updates when new releases +occur, and closing resolved issues. The LTS snapshots are prepared +once a week. All communication with package maintainers happen on +github. + +We also have a curator slack channel where we help each other out. + +The current curator team consists of: +* Adam Bergmark +* Dan Burton +* Jens Petersen +* Luke Murphy +* Michael Snoyman + +We onboarded Luke as the newest member a few months ago and this +helped us iron out and document the process further. + +You can read the curator documentation here: https://github.com/fpco/stackage/blob/master/CURATORS.md + +To apply, please fill in this form: [REDACTED] + +If you applied last time, we encourage you to do so again! diff --git a/build-constraints.yaml b/build-constraints.yaml index 37a7ba2b..2a93d541 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1,59 +1,293 @@ -ghc-major-version: "8.0" +ghc-major-version: "8.2" + +# This affects which version of the Cabal file format we allow. We +# should ensure that this is always no greater than the version +# supported by the most recent cabal-install and Stack releases. +cabal-format-version: "1.24" + # Constraints for brand new builds packages: + "Agustin Camino @acamino": + - state-codes + + "Sebastian Mihai Ardelean @ardeleanasm": + - qchas + + "Patrick Pelletier @ppelleti": + - mercury-api + - normalization-insensitive + + "Jacob Stanley @jystic": + - hedgehog + - hedgehog-quickcheck + + "Nobutada Matsubara @matsubara0507": + - chatwork + + "Pavol Klacansky @pavolzetor": + - openexr-write + + "Bas van Dijk @basvandijk": + - opencv < 0 # hard to install build tools + - opencv-extra < 0 # hard to install build tools + + "Pasqualino Assini @tittoassini": + - zm + - flat + - model + + "Timo Koepke @koepket": + - hinterface < 0 # compilation failure https://github.com/lindenbaum/hinterface/issues/2 + + "Jose Iborra @pepeiborra": + - arrowp-qq + - clr-marshal + - clr-host + - haskell-src-exts-util + - hexml-lens + - hp2pretty + - floatshow + - NoHoed + - threepenny-editors + - clr-inline # possibly nondeterministic failures, see https://github.com/fpco/stackage/issues/2510 + + + "Joshua Koike @jano017": + [] + # - discord-hs # bounds: req + + "Roman Gonzalez @roman": + [] + # - etc # GHC 8.2.1 via protolude + # - teardown # GHC 8.2.1 + + "Richard Cook @rcook": + - hidden-char + + "Vanessa McHale @vmchale": + [] + # - tibetan-utils # bounds: text-show + + "Henning Thielemann @thielema": + # - accelerate-arithmetic # via accelerate: bounds: base + # - accelerate-fftw # via accelerate: bounds: base + # - accelerate-fourier # via accelerate: bounds: base + # - accelerate-utility # via accelerate: bounds: base + - alsa-core + - alsa-pcm + - alsa-seq + - apportionment + - audacity + - bibtex + # - board-games # GHC 8.2.1 via cgi + - buffer-pipe + - calendar-recycling + - comfort-graph + - concurrent-split + - cutter + - data-accessor # GHC 8.2.1 + - data-accessor-mtl + - data-accessor-template # GHC 8.2.1 + - data-accessor-transformers + - data-ref + - dsp + - enumset + - equal-files + - event-list + - explicit-exception + - fixed-length + - gnuplot # GHC 8.2.1 + - group-by-date # GHC 8.2.1 via c2hs + - iff + - interpolation + - jack + - latex + - lazyio + - markov-chain + - midi + # - midi-music-box # GHC 8.2.1 via diagrams-lib + - mbox-utility + - med-module + - non-empty + - non-negative + - numeric-prelude + - pathtype + - pooled-io + - probability + - sample-frame + - sample-frame-np + - set-cover + # - sound-collage # via synthesizer-core compilation failure + - sox # GHC 8.2.1 + - soxlib + # - split-record # via synthesizer-core compilation failure + - spreadsheet + - stm-split + - storable-record + - storablevector + - synthesizer-core < 0 # test compilation failure + # - synthesizer-dimensional # via synthesizer-core compilation failure + # - synthesizer-midi # via synthesizer-core compilation failure + - tagchup + - tfp + - unicode + - unsafe + - utility-ht + - xml-basic + - youtube # GHC 8.2.1 + - prelude-compat + - fft + - carray + # Not a maintainer + - ix-shapable + + "Jeremy Barisch-Rooney @barischj": + - threepenny-gui-flexbox + + "Romain Edelmann @redelmann": + - distribution + + "Rongcui Dong @rongcuid": + - sdl2-ttf + + "Nikita Tchayka @nickseagull": + - ramus + + "Simon Jakobi @sjakobi": + - path + - present + - threepenny-gui + - snap-server + - newtype-generics + + "Joe M @joe9": + - logger-thread # GHC 8.2.1 via protolude + # - text-generic-pretty # GHC 8.2.1 via ixset-typed + + "Li-yao Xia @Lysxia": + - boltzmann-samplers + - generic-random + + "Tobias Dammers @tdammers": + - ginger + + "Yair Chuchem @yairchu": + - List + + "Luke Murphy @lwm": + - tasty-discover + # - lentil # bounds: optparse-applicative & via terminal-progress-bar + # - packunused # bounds: optparse-applicative + + "Marco Zocca @ocramz": + - sparse-linear-algebra # GHC 8.2.1 via MemoTrie + - matrix-market-attoparsec + - network-multicast + - xeno + # - plot-light # GHC 8.2.1 via palette + + "Joseph Canero @caneroj1": + - sqlite-simple-errors + - median-stream + # - stm-supply # GHC 8.2.1 via Unique + - filter-logger + + "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 # 3 packages out of bounds: https://github.com/winterland1989/mysql-haskell/issues/16 + # - mysql-haskell-openssl # bounds: tcp-streams + - data-has + + "Harendra Kumar @harendra-kumar": + - unicode-transforms + + "Aleksey Uimanov @s9gf4ult": + # - postgresql-query # compilation error + - hreader + - hset + + "Aaron Taylor @hamsterdam": + - kawhi + + "Schell Scivally @schell": + - renderable + - varying + + "Nicolas Mattia @nmattia": + - makefile + + "Michael Litchard @mlitchard": + [] + # - point-octree # GHC 8.2.1 + + "Siddharth Bhat @bollu": + - symengine + "alpheccar @alpheccar": - HPDF - - hbayes + - hbayes < 0 # compilation failure https://github.com/alpheccar/hbayes/issues/3 "Dmitry Bogatov ": - [] - # GHC 8 - once + - once - "David Johnson djohnson.m@gmail.com @dmjio": - # GHC 8 - envy + "David Johnson @dmjio": + - miso # GHC 8.2.1 + - 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 # GHC 8.2.1 + # - 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": + - error-util - signal - # GHC 8 - ghc-session + # - ghc-session # bounds: GHC 8 "Michael Snoyman michael@snoyman.com @snoyberg": - bzlib-conduit - - cabal-install - - cabal-src + # - cabal-install # GHC 8.2.1 + - mega-sdist - case-insensitive - classy-prelude-yesod - conduit-combinators - conduit-extra - hebrew-time - - keter + - keter < 0 # compilation failure https://github.com/snoyberg/keter/issues/170 - markdown - mime-mail - 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 + # - stackage-curator # via store compilation failure + - store < 0 # compilation failure - stm-conduit - wai-websockets - warp-tls - - yackage + - yackage < 0 # compilation failure - yesod - yesod-auth - authenticate-oauth - yesod-bin - yesod-eventsource - # GHC 8 - yesod-fay + # - yesod-fay # via: fay - yesod-gitrepo - yesod-newsfeed - yesod-sitemap @@ -61,8 +295,8 @@ packages: - yesod-test - yesod-websockets - cereal-conduit - # GHC 8 - binary-conduit - # GHC 8 - lzma-conduit + - binary-conduit + - lzma-conduit - mutable-containers - hpc-coveralls - monad-unlift @@ -70,60 +304,66 @@ packages: - yaml - servius - cryptonite-conduit + - streaming-commons - alex - async - base16-bytestring - c2hs - - cassava - # GHC 8 - csv-conduit + - csv-conduit - executable-hash - executable-path - foreign-store - formatting - - gtk2hs-buildtools + # - gtk2hs-buildtools # Cabal 2.0.0.2 - happy - hybrid-vectors - indents - language-c - - lhs2tex - # GHC 8 - persistent-mongoDB + - lhs2tex < 0 # compilation failure https://github.com/kosmikus/lhs2tex/issues/55 + - persistent-mongoDB - 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 - # https://github.com/fpco/monad-logger-syslog/issues/3 - # - monad-logger-syslog + - safe-exceptions + - monad-logger-syslog + - fsnotify-conduit + - pid1 + - typed-process + - say + - unliftio-core + - unliftio + - compact - fsnotify - hinotify - hfsevents - Win32-notify - "Omari Norman ": - - rainbow - - rainbox - # GHC 8 - pipes-cliff - - anonymous-sums + "Omari Norman @massysett": + - rainbow # GHC 8.2.1 via lens-simple + - rainbox # GHC 8.2.1 via lens-simple + - anonymous-sums < 0 # compilation failure https://github.com/massysett/anonymous-sums/issues/1 - multiarg - - prednote + - prednote < 0 # test compilation failure - cartel - Earley - ofx - - pinchot - # GHC 8 - validation + - pinchot < 0 # compilation failure + - accuerr + - timelens + - non-empty-sequence - "Neil Mitchell": + "Neil Mitchell @ndmitchell": - hlint - hoogle - shake - - derive - tagsoup - cmdargs - safe @@ -134,30 +374,52 @@ packages: - extra - bake - ghcid + - hexml + - weeder + - profiterole # GHC 8.2.1 via ghc-prof - "Alan Zimmerman": + "Alan Zimmerman @alanz": + - ghc-exactprint + - haskell-lsp - hjsmin - language-javascript - # GHC 8 - Strafunski-StrategyLib - # GHC 8 - HaRe + - Strafunski-StrategyLib + # - HaRe # via: ghc-mod - "Alfredo Di Napoli ": + "Alfredo Di Napoli @adinapoli": - mandrill - "Jasper Van der Jeugt": + "Jon Schoning @jonschoning": + - pinboard + + "Jasper Van der Jeugt @jaspervdj": - blaze-html - blaze-markup - - cabal-dependency-licenses - # GHC 8 - hakyll + # - cabal-dependency-licenses # Cabal 2.0.0.2 + # - hakyll # bounds: skylighting - stylish-haskell - - profiteur + # - patat # bounds: skylighting + - profiteur # GHC 8.2.1 via ghc-prof - psqueues - websockets - # GHC 8 - websockets-snap + - websockets-snap "Sibi Prabakaran @psibi": - [] - # GHC 8 - download + - download + - textlocal + - shell-conduit + - tldr + - fb + - yesod-fb + - yesod-auth-fb + - hourglass-orphans + - wai-slack-middleware + - sysinfo + - xmonad-extras # GHC 8.2.1 via c2hs + + "haskell-openal": + - OpenAL + - ALUT "haskell-opengl": - OpenGL @@ -167,23 +429,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 @@ -193,8 +455,10 @@ packages: - cryptocipher - cryptohash - cryptonite + - cryptonite-openssl - crypto-pubkey-types - crypto-random-api + - git - hit - memory - language-java @@ -207,7 +471,8 @@ packages: - vhd - xenstore - "Chris Done": + "Chris Done @chrisdone": + - labels - ace - ical - check-email @@ -217,14 +482,11 @@ packages: - hostname-validate - ini - lucid - - osdkeys + # - osdkeys # via libnotify # Cabal 2.0.0.2 - pdfinfo - # https://github.com/fpco/stackage/issues/1062 - #- present + - present - pure-io - # https://github.com/jgoerzen/testpack/issues/11 - #- scrobble GHC 7.10, for QuickCheck 2.8 via testpack - # GHC 8 - shell-conduit + - scrobble < 0 # compilation failure against time 1.6 - sourcemap - hindent - descriptive @@ -232,34 +494,37 @@ 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 - "Alberto G. Corona ": + "Alberto G. Corona @agocorona": - RefSerialize - TCache - Workflow - MFlow + - transient + - transient-universe + - axiom - "Edward Kmett ": - # BLOCKED comonad 5 - ad + "Edward Kmett @ekmett": + - ad - adjunctions - # GHC 8 - approximate + # - approximate # GHC 8.2.1 via safecopy - bifunctors - # GHC 8 - bits - # GHC 8 - bound + - bits + - bound - bytes - charset - comonad - comonads-fd - comonad-transformers - # https://github.com/ekmett/compensated/issues/7 - #- compensated - # BLOCKED pointed 5 - compressed + # - compensated # GHC 8.2.1 via safecopy + # - compressed # bounds: comonad, pointed - concurrent-supply - constraints - contravariant - distributive + - discrimination - either - eq - ersatz @@ -268,6 +533,7 @@ packages: - graphs - groupoids - heaps + # - hyperloglog # GHC 8.2.1 via safecopy - hyphenation - integration - intervals @@ -275,21 +541,22 @@ packages: - lca - lens - linear - # GHC 8 - linear-accelerate - # GHC 8 - log-domain + - linear-accelerate + # - log-domain # GHC 8.2.1 via safecopy - machines - monadic-arrays - monad-products - monad-products - # GHC 8 - monad-st + - monad-st - mtl - nats - numeric-extras - # GHC 8 - parsers + - parsers - pointed - prelude-extras - profunctor-extras - profunctors + - promises - reducers - reducers - reflection @@ -297,25 +564,26 @@ packages: - semigroupoids - semigroups - speculation - # BLOCKED comonad 5 - streams + - streams - tagged + - trifecta + - unique - vector-instances - void - wl-pprint-extras - # GHC 8 - wl-pprint-terminfo + - wl-pprint-terminfo - zippers - fixed - half - gl - lens-aeson - zlib-lens - # GHC 8 - hyperloglog - "Andrew Farmer ": + "Andrew Farmer @xich": - scotty - wai-middleware-static - "Simon Hengel ": + "Simon Hengel @sol": - hspec - hspec-wai - hspec-wai-json @@ -325,93 +593,102 @@ 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 ": - # GHC 8 - active - # GHC 8 - BlogLiterately - # GHC 8 - BlogLiterately-diagrams - # GHC 8 - diagrams - # GHC 8 - diagrams-builder - # GHC 8 - diagrams-haddock - # GHC 8 - diagrams-cairo - # GHC 8 - diagrams-contrib - # GHC 8 - diagrams-core - # GHC 8 - diagrams-gtk - # GHC 8 - diagrams-lib - # GHC 8 - diagrams-postscript - # GHC 8 - diagrams-rasterific - # GHC 8 - diagrams-svg - - dual-tree - # GHC 8 - force-layout - # GHC 8 - haxr + "Brent Yorgey @byorgey": + - active + # - BlogLiterately # bounds: skylighting + # - BlogLiterately-diagrams # bounds: skylighting + # - diagrams # bounds: optparse-applicative + # - diagrams-builder # GHC 8.2.1 + # - diagrams-haddock # BLOCKED directory 1.3 via cautious-file + # - diagrams-cairo # bounds: optparse-applicative & via pango + # - diagrams-contrib # GHC 8.2.1 via dual-tree + # - diagrams-core # GHC 8.2.1 via dual-tree + # - diagrams-gtk # bounds: optparse-applicative + # - diagrams-lib # GHC 8.2.1 via diagrams-core + # - diagrams-postscript # GHC 8.2.1 via diagrams-core + # - diagrams-rasterific # bounds: optparse-applicative + # - diagrams-svg # bounds: optparse-applicative + # - dual-tree # via testing-feat + - force-layout + - 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 < 0 # haddocks never finish https://github.com/Twinside/svg-tree/issues/11 + # - rasterific-svg # via svg-tree haddock loop https://github.com/Twinside/svg-tree/issues/11 + # - asciidiagram # via svg-tree haddock loop https://github.com/Twinside/svg-tree/issues/11 - "Patrick Brisbin": + "Patrick Brisbin @pbrisbin": - gravatar - "Paul Harper ": + "Paul Harper @benekastah": [] - # GHC 8 - yesod-auth-oauth2 + # - yesod-auth-oauth2 # bounds: aeson-1.0, http-client, load-env "Felipe Lessa @meteficha": - - country-codes - # BLOCKED persistent 2.5 - esqueleto + # - country-codes # bounds: tagsoup - fb - # BLOCKED persistent 2.5 - fb-persistent - # https://github.com/prowdsponsor/mangopay/issues/32 - #- mangopay + # - fb-persistent # bounds: persistent + - mangopay < 0 # 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 + - serversession-backend-redis + # - serversession-frontend-snap # via snap - serversession-frontend-wai - serversession-frontend-yesod - thumbnail-plus - # BLOCKED persistent 2.5 - yesod-auth-account-fork - # GHC 8 - yesod-auth-fb + # - yesod-auth-account-fork # bounds: persistent + - yesod-auth-fb - yesod-fb - # https://github.com/prowdsponsor/mangopay/issues/32 - #- yesod-mangopay + # - yesod-mangopay # bounds: wai-logger, vector, hjsmin - "Alexander Altman ": + "Alexander Altman @pthariensflame": # Maintaining on behalf of @roelvandijk: - base-unicode-symbols - containers-unicode-symbols # My own packages: - ChannelT - "Trevor L. McDonell ": + "Trevor L. McDonell @tmcdonell": - accelerate + - repa + - repa-io + - repa-algorithms + - gloss + - gloss-algorithms + - gloss-raster + - gloss-rendering + - cuda + - cublas + - cusparse + - cusolver + - nvvm - "Liam O'Connor ": + "Liam O'Connor @liamoc": [] - # 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 + # - 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 < 0 # compilation failure https://github.com/worksap-ate/hspec-jenkins/issues/3 - yesod-gitrev - basic-prelude - composition @@ -427,11 +704,10 @@ packages: - binary-list - byteset - Clipboard - - grouped-list - # needs hint to work with GHC 8: - haskintex + # - grouped-list # GHC 8.2.1 + - haskintex - HaTeX - # fails see #885 - #- hatex-guide + - hatex-guide < 0 - include-file - matrix - pcre-light @@ -439,76 +715,83 @@ packages: - post-mess-age - sorted-list - "Gabriel Gonzalez ": + "Gabriel Gonzalez @Gabriel439": - optparse-generic - pipes - # GHC 8 - pipes-extras + - pipes-extras - pipes-parse - pipes-concurrency - pipes-safe - turtle - foldl - # GHC 8 - morte + - morte + - bench + - dhall - "Andrew Thaddeus Martin ": + "Andrew Thaddeus Martin @andrewthad": - yesod-table - "Arash Rouhani ": - - yesod-text-markdown - - # https://github.com/fpco/stackage/issues/1155 - # "Chris Allen ": - # - bloodhound + "Chris Allen @bitemyapp": + - machines-directory + - machines-io + # - bloodhound # GHC 8.2.1 + - esqueleto "Adam Bergmark @bergmark": + - HUnit - aeson - # GHC 8 - fay - # GHC 8 - fay-base - # GHC 8 - fay-dom - # GHC 8 - fay-jquery - # GHC 8 - fay-text - # GHC 8 - fay-uri - feed - # GHC 8 - snaplet-fay - 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 + # - Octree # GHC 8.2.1 - FenwickTree - - hPDB - - hPDB-examples - - homplexity - #- wordpass - - json-autotype - - posix-realtime + # - hPDB # GHC 8.2.1 + # - hPDB-examples # GHC 8.2.1 + # - homplexity # BLOCKED directory 1.3 + # - wordpass # bounds: vector + # - json-autotype # bounds: aeson 1.0, lens + - posix-realtime < 0 - "Dominic Steinitz ": - - yarr - - random-fu + "Dom De Re @domdere": + - cassava-conduit - "Ben Gamari ": + "Dominic Steinitz @idontgetoutmuch": + [] + # - yarr # bounds template-haskell + # - random-fu # via: log-domain, safecopy, bounds: vector + + "Ben Gamari @bgamari": - vector-fftw "Roman Cheplyaka @feuerbach": @@ -527,96 +810,102 @@ packages: - tasty-smallcheck - tasty-html - time-lens - # GHC 8 - timezone-olson - # GHC 8 - timezone-series + - timezone-olson # GHC 8.2.1 + - timezone-series # GHC 8.2.1 - traverse-with-class - tuples-homogenous-h98 - "George Giorgidze ": + "George Giorgidze @giorgidze": - HCodecs - YampaSynth - set-monad - "Phil Hargett ": + "Phil Hargett @hargettp": - courier - "Aycan iRiCAN ": + "Aycan iRiCAN @aycanirican": - hdaemonize - - hsyslog - hweblib - "Joachim Breitner ": + "Joachim Breitner @nomeata": - circle-packing - - arbtt - - ghc-heap-view - - tttool - - gipeda - - list-fusion-probe + # - arbtt # via terminal-progress-bar + # - ghc-heap-view # GHC 8.2.1 + # - tttool # GHC 8.2.1 + # - gipeda # via cassava: bounds: vector + # - list-fusion-probe # GHC 8.2.1 - haskell-spacegoo - tasty-expected-failure + # - RepLib # GHC 8.2.1 + # - unbound # GHC 8.2.1 - "Aditya Bhargava @egonSchiele": - HandsomeSoup "Clint Adams @clinty": - # GHC 8 - hOpenPGP + - hOpenPGP - openpgp-asciiarmor - MusicBrainz - DAV - # GHC 8 - hopenpgp-tools + # - hopenpgp-tools # https://github.com/fpco/stackage/issues/2812 - opensource + "Piyush P Kurur @piyush-kurur": + - raaz + - naqsha + "Joey Hess @joeyh": - # GHC 8 - git-annex - # GHC 8 - github-backup - - Win32-extras + # - git-annex # GHC 8.2.1 via aws + # - github-backup # bounds: github - concurrent-output - mountpoints - disk-free-space "Colin Woodbury @fosskers": - - microlens-aeson - # GHC 8 - kanji - # GHC 8 - versions + [] + # - microlens-aeson # GHC 8.2.1 + # - versions # GHC 8.2.1 per megaparsec + # - vectortiles # GHC 8.2.1 + # - pipes-random # GHC 8.2.1 + # - 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 # 0.3.7.1 compilation failure - blastxml - bioace - # https://github.com/BioHaskell/biophd/issues/3 - # - biophd - biopsl - # https://github.com/ingolia/SamTools/issues/3 - # - samtools + - samtools < 0 # 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 - Taxonomy - # GHC 8 - TaxonomyTools + - TaxonomyTools < 0 # compilation failure - ViennaRNAParser "Silk ": - aeson-utils - arrow-list - attoparsec-expr - # GHC 8 - bumper + # - bumper # GHC 8.2.1 - code-builder - # GHC 8 - fay-builder + # - fay-builder # via: fay - generic-aeson - generic-xmlpickler - hxt-pickle-utils @@ -626,8 +915,8 @@ packages: - rest-client - rest-core - rest-gen - # GHC 8 - rest-happstack - # GHC 8 - rest-snap + - rest-happstack + - rest-snap - rest-stringmap - rest-types - rest-wai @@ -635,80 +924,91 @@ packages: - uri-encode "Simon Michael @simonmichael": + # - darcs # bounds: graphviz < 2999.19 + # - hledger # megaparsec bounds: https://github.com/fpco/stackage/issues/2666 + # - hledger-lib # megaparsec bounds: https://github.com/fpco/stackage/issues/2666 + # - hledger-ui # bounds: brick + # - hledger-web # GHC 8.2.1 via yesod-form + # - hledger-api # megaparsec bounds: https://github.com/fpco/stackage/issues/2666 + # - shelltestrunner # bounds: Diff, HUnit + - quickbench - regex-compat-tdfa - # GHC 8 - darcs - # GHC 8 - hledger - # GHC 8 - hledger-lib - # GHC 8 - hledger-ui - # GHC 8 - hledger-web - # GHC 8 - shelltestrunner - "Mihai Maruseac ": + "Mihai Maruseac @mihaimaruseac": - io-manager - "Dimitri Sabadie @phaazon": + - al < 0 # Setup failure, needs old c2hs + - event + - hid # GHC 8.2.1 via c2hs + # - 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 - - cabal-helper + [] + # - ghc-mod # bounds: syb + # - cabal-helper # bounds: extra - "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 - 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 # GHC 8.2.1 via GLFW-b + - yoga + - freetype2 + "Emanuel Borsboom @borsboom": - BoundedChan - broadcast-chan @@ -716,112 +1016,116 @@ packages: - bytestring-trie - data-accessor - data-accessor-mtl - # GHC 8 - file-location + - file-location < 0 - fuzzcheck - - haddock-api - 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 # Cabal 2.0.0.2 + - ghc-events - monad-extras - # GHC 8 - 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 + - hasql-pool - list-t - mtl-prelude - neat-interpolation - partial-handler - # GHC 8 - postgresql-binary + - postgresql-binary - slave-thread - stm-containers + - refined - "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 - users-postgresql-simple - users-test - validate-input - ignore - - elm-bridge - # GHC 8 - hackmanager - # GHC 8 - digestive-bootstrap + # - elm-bridge # bounds: aeson + # - 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 + # - superrecord # GHC 8.2.1 via bookkeeper + - fileplow - "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 < 0 # Compilation failure https://github.com/hdevtools/hdevtools/issues/57 + + "Andrey Chudnov @achudnov": [] - # GHC 8 - hdevtools + # - language-ecmascript # via testing-feat - "Andrey Chudnov ": - - language-ecmascript - - "Tom Ellis ": - # GHC 8 - opaleye + "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 @@ -833,186 +1137,200 @@ packages: - servant-mock - servant-cassava - "Alexandr Ruchkin voidex@live.com @mvoidex": - # https://github.com/fpco/stackage/issues/1562 - # - hdocs + "Alexandr Ruchkin @mvoidex": + # - hdocs # GHC 8.2.1 via haddock-api 2.18.1 - hformat - # https://github.com/fpco/stackage/issues/1562 - # - hsdev + # - hsdev # bounds: mmorph - 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, directory + - machines-binary + # - machines-process # GHC 8.2.1 + # - 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": - - cabal-rpm - - cabal-sort + "Jens Petersen @juhp": + # - cabal-rpm # GHC 8.2.1 + # - stackage-query # via stackage-types compilation failure + # - cabal-sort # BLOCKED directory 1.3 + # - idris # bounds aeson + - libffi + - xmonad-contrib + - shelly + # - cairo # Cabal 2.0.0.2 + # - gio # Cabal 2.0.0.2 + # - glib # Cabal 2.0.0.2 + # - gtk # Cabal 2.0.0.2 + # - gtk3 # Cabal 2.0.0.2 + # - gtksourceview3 # Cabal 2.0.0.2 + # - pango # Cabal 2.0.0.2 + # - webkitgtk3 # Cabal 2.0.0.2 + # - webkitgtk3-javascriptcore # Cabal 2.0.0.2 - ghcjs-codemirror - # https://github.com/fpco/stackage/issues/1569 - # - ghcjs-dom - - hslua - # GHC 8 - idris - # https://github.com/fpco/stackage/issues/1569 - # - jsaddle - # GHC 8 - leksah-server - # GHC 8 - ltk + - ghcjs-dom + - jsaddle + # - leksah-server # bounds: ghc, base + # - ltk # bounds: ghc, base - vado - # GHC 8 - vcsgui + # - vcsgui # via: gi-gtk-hs compilation failure - vcswrapper - - cairo - - gio - - glib - - gtk - - gtk3 - - gtksourceview3 - - pango - - webkitgtk3 - - webkitgtk3-javascriptcore - - "Renzo Carbonara renzocarbonara@gmail.com @k0001": - # GHC 8 - network-simple - # GHC 8 - pipes-aeson + "Renzo Carbonara @k0001": + - network-simple + - pipes-aeson - pipes-attoparsec - # GHC 8 - pipes-binary - # GHC 8 - pipes-network + # - pipes-binary # bounds: binary, pipes, transformers + - pipes-network - "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 # via snap, heist, xmlhtml, - publicsuffix - rethinkdb-client-driver + - snap-blaze - "Alexandr Kurilin alex@kurilin.net @alex_kurilin": + "Alexandr Kurilin @alex_kurilin": - bcrypt - "Jeffrey Rosenbluth jeffrey.rosenbluth@gmail.com": - - palette - # GHC 8 - diagrams-canvas - # GHC 8 - diagrams-rasterific - # GHC 8 - lucid-svg - # GHC 8 - diagrams-html5 - # GHC 8 - static-canvas - - svg-builder - - "Gabríel Arthúr Pétursson gabriel@system.is": + "Jeffrey Rosenbluth @jeffreyrosenbluth": [] - # GHC 8 - sdl2 + # - palette # GHC 8.2.1 + # - diagrams-canvas # bounds: optparse-applicative + # - diagrams-rasterific # bounds: optparse-applicative + # - lucid-svg # GHC 8.2.1 + # - diagrams-html5 # bounds: optparse-applicative + # - static-canvas # GHC 8.2.1 + # - svg-builder # GHC 8.2.1 - "Leon Mergen leon@solatis.com @solatis": + "Gabríel Arthúr Pétursson @polarina": + - sdl2 + + "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": - - gitson + "Greg V @myfreeweb": + # - gitson # GHC 8.2.1 via flock - pcre-heavy - http-link-header - # GHC 8 - microformats2-parser + - microformats2-parser - hspec-expectations-pretty-diff + - wai-cli + - magicbane - "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 + - hspec-checkers - "Oleg Grenrus oleg.grenrus@iki.fi @phadej": + "Jan Stolarek @jstolarek": + - tasty-program + + "Oleg Grenrus @phadej": - aeson-compat - # GHC 8 - aeson-extra + - aeson-extra - binary-orphans - binary-tagged + - cabal-doctest + - crypt-sha512 + - dlist-nonempty - edit-distance - # GHC 8 - github + - functor-classes-compat + - generics-sop-lens + - github - insert-ordered-containers + - integer-logarithms - JuicyPixels-scale-dct - lattices + - microstache - monad-http - postgresql-simple-url - range-set-list - regex-applicative-text + - servant-swagger-ui - servant-yaml + - singleton-bool - spdx + - splitmix + # - tdigest + # - tdigest-Chart # bounds: optparse-applicative - these - # GHC 8 - time-parsers - - waitra + - time-parsers + # - waitra # GHC 8.2.1 + + # scrive/log + # - log # via bloodhound: bounds: vector # GHC 8.2.1 + - log-base + # - log-elasticsearch # via bloodhound: bounds: vector # GHC 8.2.1 + - log-postgres # Not a maintainer - arithmoi + - folds + - friendly-time - hashable - # GHC 8 - haxl + - haxl - monad-time - packdeps + - recursion-schemes - unordered-containers - # fft - - carray - - ix-shapable - - fft - # Regex packages by Chris Kuklewicz - regex-base - regex-compat - #- regex-dfa - #- regex-parsec + - regex-dfa < 0 # 0.91 Compilation failure due to -Werror + - regex-parsec < 0 # 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 # 0.91 Compilation failure due to -Werror # Universe - universe @@ -1026,32 +1344,36 @@ packages: - farmhash - pinch - sandman - - language-thrift + # - language-thrift # megaparsec bounds: https://github.com/fpco/stackage/issues/2666 - "Adam C. Foltzer acfoltzer@galois.com @acfoltzer": - # GHC 8 - cryptol + "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 @@ -1062,10 +1384,11 @@ packages: - amazonka-datapipeline - amazonka-devicefarm - amazonka-directconnect + - amazonka-discovery - amazonka-dms - amazonka-ds - - amazonka-dynamodb-streams - amazonka-dynamodb + - amazonka-dynamodb-streams - amazonka-ec2 - amazonka-ecr - amazonka-ecs @@ -1075,57 +1398,166 @@ 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 - amazonka-iot-dataplane - # https://github.com/fpco/stackage/issues/1568 - # - amazonka-iot - amazonka-kinesis + - amazonka-kinesis-analytics - amazonka-kinesis-firehose - amazonka-kms - # https://github.com/fpco/stackage/issues/1568 - # - amazonka-lambda + - 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 - # GHC 8 - ede + - amazonka-xray + - gogol + - gogol-core + - gogol-adexchange-buyer + - gogol-adexchange-seller + - gogol-admin-datatransfer + - gogol-admin-directory + - gogol-admin-emailmigration + - gogol-admin-reports + - gogol-adsense + - gogol-adsense-host + - gogol-affiliates + - gogol-analytics + - gogol-android-enterprise + - gogol-android-publisher + - gogol-appengine + - gogol-apps-activity + - gogol-apps-calendar + - gogol-apps-licensing + - gogol-apps-reseller + - gogol-apps-tasks + - gogol-appstate + - gogol-autoscaler + - gogol-bigquery + - gogol-billing + - gogol-blogger + - gogol-books + - gogol-civicinfo + - gogol-classroom + - gogol-cloudmonitoring + - gogol-cloudtrace + - gogol-compute + - gogol-container + - gogol-customsearch + - gogol-dataflow + - gogol-dataproc + - gogol-datastore + - gogol-debugger + - gogol-deploymentmanager + - gogol-dfareporting + - gogol-discovery + - gogol-dns + - gogol-doubleclick-bids + - gogol-doubleclick-search + - gogol-drive + - gogol-firebase-rules + - gogol-fitness + - gogol-fonts + - gogol-freebasesearch + - gogol-fusiontables + - gogol-games + - gogol-games-configuration + - gogol-games-management + - gogol-genomics + - gogol-gmail + - gogol-groups-migration + - gogol-groups-settings + - gogol-identity-toolkit + - gogol-kgsearch + - gogol-latencytest + - gogol-logging + - gogol-maps-coordinate + - gogol-maps-engine + - gogol-mirror + - gogol-monitoring + - gogol-oauth2 + - gogol-pagespeed + - gogol-partners + - gogol-people + - gogol-play-moviespartner + - gogol-plus + - gogol-plus-domains + - gogol-prediction + - gogol-proximitybeacon + - gogol-pubsub + - gogol-qpxexpress + - gogol-replicapool + - gogol-replicapool-updater + - gogol-resourcemanager + - gogol-resourceviews + - gogol-script + - gogol-sheets + - gogol-shopping-content + - gogol-siteverification + - gogol-spectrum + - gogol-sqladmin + - gogol-storage + - gogol-storage-transfer + - gogol-tagmanager + - gogol-taskqueue + - gogol-translate + - gogol-urlshortener + - gogol-useraccounts + - gogol-vision + - gogol-webmaster-tools + - gogol-youtube + - gogol-youtube-analytics + - gogol-youtube-reporting + - 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": @@ -1140,67 +1572,71 @@ packages: - hmatrix-gsl-stats - hsignal - hstatistics - # GHC 8 - plot - # GHC 8 - plot-gtk - # GHC 8 - plot-gtk3 - + # - plot # Cabal 2.0.0.2 & via pango + # - plot-gtk # Cabal 2.0.0.2 + # - plot-gtk3 # Cabal 2.0.0.2 - vector-buffer - # Blocking due to https://github.com/amcphail/hmatrix-repa/issues/2 - # - hmatrix-repa + # - hmatrix-repa # via repa: bounds: vector "Noam Lewis @sinelaw": - xml-to-json - xml-to-json-fast + # - resolve-trivial-conflicts # bounds: optparse-applicative + - wl-pprint + # not a maintainer + - hxt-curl + - hxt-expat + - hxt-tagsoup + - hexpat - digits - unification-fd - logict - - resolve-trivial-conflicts - - wl-pprint - leveldb-haskell - 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 < 0 # bounds: QuickCheck, aeson # compilation failure for 0.4.1.1 + - H < 0 # via inline-r compilation failure + - inline-r < 0 # compilation failure "David Fox @ddssff": - [] - # https://github.com/ddssff/debian-haskell/issues/6 - # GHC 8 - debian - # GHC 8 - cabal-debian + - debian < 0 # GHC bug: https://github.com/ddssff/debian-haskell/issues/6 + - cabal-debian < 0 # compilation failure - "Stefan Saasen ": - [] - # GHC 8 - jwt + "Stefan Saasen @juretta": + - jwt "Sven Bartscher sven.bartscher@weltraumschlangen.de @kritzefitz": - setlocale "John Chee @chee1bot": - - cgi + [] + # - cgi # GHC 8.2.1 "Taylor Fausak @tfausak": - autoexporter - bento - # GHC 8 - ekg-statsd # Maintained by @tibbe. + - bmp # Maintained by @benl23x5. + - ekg-statsd - flow - # GHC 8 - github-release - - 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 + - github-release + # - gloss # Maintained by @benl23x5. # GHC 8.2.1 + # - gloss-rendering # Maintained by @benl23x5. # GHC 8.2.1 + - gpolyline # Maintained by @fegu. + # - lackey # GHC 8.2.1 + # - octane # GHC 8.2.1 + # - overloaded-records # Maintained by @trskop. # GHC 8.2.1 + - 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 @@ -1212,63 +1648,70 @@ 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 + - pipes-mongodb + - servant-elm - skeletons + # - streaming-wai # bounds: mmorph "Smirnov Alexey @chemist": [] - # GHC 8 - snmp - # GHC 8 - agentx + # - 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": + - strict-concurrency + - 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-prelude # GHC 8.2.1 + # - clash-lib # GHC 8.2.1 + # - clash-vhdl # GHC 8.2.1 + # - clash-verilog # GHC 8.2.1 + # - clash-systemverilog # GHC 8.2.1 + # - clash-ghc # GHC 8.2.1 "Athan Clark @athanclark": - commutative - # GHC 8 - digestive-functors-lucid - # GHC 8 - ltext + # - digestive-functors-lucid # via: digestive-functors + - ltext < 0 # 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 # bounds: skylighting + # - wai-middleware-verbs # bounds: skylighting + - websockets-rpc - webpage - composition-extra - rose-trees @@ -1276,12 +1719,17 @@ packages: - timemap - tries - path-extra - # GHC 8 - pred-trie + - pred-trie - pred-set - HSet + - unit-constraint + - unfoldable-restricted + - quickcheck-combinators "Fumiaki Kinoshita @fumieval": + - boundingboxes - control-bool + - extensible - monad-skeleton - objective - witherable @@ -1290,7 +1738,7 @@ packages: "Peter Harpending @pharpend": - editor-open - exceptional - # GHC 8 - optparse-helper + # - optparse-helper # GHC 8.2.1 - pager - semiring-simple @@ -1298,111 +1746,111 @@ packages: - tasty-silver "Michael Thompson @michaelt": - [] - # GHC 8 - pipes-text - # GHC 8 - lens-simple - # GHC 8 - lens-family-core - # GHC 8 - lens-family - # GHC 8 - streaming - # GHC 8 - streaming-bytestring - + - pipes-text + - lens-simple + - lens-family-core + - lens-family + # - streaming # bounds: mmorph + # - streaming-bytestring # bounds: mmorph + # - streaming-utils # bounds: mmorph "Justin Le @mstksg": - auto + - backprop - configurator-export + - hamilton - prompt - tagged-binary + - type-combinators-singletons - typelits-witnesses - # BLOCKED comonad 5 - uncertain + - 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 - # GHC 8 - uri-bytestring - # https://github.com/MichaelXavier/phash/issues/5 - #- phash + # - angel # https://github.com/MichaelXavier/Angel/issues/52 + - uri-bytestring + # - phash # Setup failure, 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 ": + "Anupam Jain @ajnsit": [] - # GHC 8 - wai-routes + # - wai-routes # GHC 8.2.1 - "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 # 0.1.1.0 compilation failure - fn - # GHC 8 - fn-extra - - "Chris Wong @lfairy": - - nationstates + # - fn-extra # via: digestive-functors "Mathieu Boespflug @mboes": - # https://github.com/tweag/distributed-closure/issues/3 - # GHC 8 - distributed-closure - # GHC 8 - H - # GHC 8 - ihaskell-inline-r - # GHC 8 - inline-r + # - ihaskell-inline-r # via: ihaskell, ihaskell-blaze + - cassette + - choice + - distributed-closure + - H < 0 # compilation failure + - inline-r < 0 # compilation failure + - jni + - jvm < 0 # compilation failure + # - sparkle # bounds: mmorph + # - streaming-binary # bounds: mmorph - th-lift "Christopher Reichert @creichert": - bencode - hsebaysdk - dockerfile - - wai-middleware-throttle + # - wai-middleware-throttle # GHC 8.2.1 via token-bucket - 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 + # - 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 + # - haddocset # GHC 8 "Kai Zhang @kaizhang": - clustering @@ -1413,18 +1861,22 @@ packages: - ip6addr - cayley-client - Spintax + - glabrous + - google-oauth2-jwt + - IPv6DB "koral koral@mailoo.org @k0ral": - # GHC 8 - atom-conduit - # GHC 8 - conduit-parse - # GHC 8 - opml-conduit - # GHC 8 - rss-conduit + - atom-conduit + - conduit-parse + - opml-conduit + - rss-conduit < 0 # test runtime failure + - imm < 0 # compilation failure via synthesizer-core - timerep - # GHC 8 - xml-conduit-parse + - xml-conduit-parse "Kostiantyn Rybnikov @k-bx": - protocol-buffers - - hprotoc + - hprotoc < 0 # compilation failure https://github.com/k-bx/protocol-buffers/issues/45 - protocol-buffers-descriptor - ekg-core - digits @@ -1438,62 +1890,70 @@ 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 + # - pipes-illumina # via: pipes-bgzf - seqalign - thermonuc - - xlsior + - xlsior < 0 # compilation failure https://github.com/eurekagenomics/xlsior/issues/3 + "John Lenz @wuzzeb": - - yesod-auth-account + - yesod-auth-account < 0 # test compilation failure - yesod-static-angular - # GHC 8 - hspec-webdriver - # GHC 8 - webdriver-angular + - hspec-webdriver + - webdriver-angular "Sven Heyll @sheyll": - b9 + - type-spec + - pretty-types + # - mediabus # GHC 8.2.1 + # - mediabus-fdk-aac # needs non-free libfdk-aac-dev + # - mediabus-rtp # GHC 8.2.1 "Will Thompson @wjt": - [] - # GHC 8 - bustle + - bustle < 0 # compilation 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 - # GHC 8 - union + - union "Stack Builders stackage@stackbuilders.com @stackbuilders": - atomic-write + # - cassava-megaparsec # via cassava: bounds: vector + - dbcleaner + - dotenv - hapistrano - inflections - - twitter-feed - # BLOCKED megaparsec 5 - dotenv + - stache + # - twitter-feed # GHC 8.2.1 - "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 < 0 # compilation failure - diff3 - # GHC 8 - digestive-functors-aeson - # GHC 8 - exhaustive - # GHC 8 - libsystemd-journal - # GHC 8 - network-carbon - # GHC 8 - socket-io - - "Scott Murphy scott.murphy@plowtech.net @smurphy8": - [] + # - digestive-functors-aeson # bounds: aeson, lens # via: digestive-functors + - exhaustive + - libsystemd-journal + - network-carbon + # - socket-io # via engine-io compilation-failure + - tasty-rerun + # - logging-effect # GHC 8.2.1 + - reactive-banana "Antoni Silvestre @asilvestre": # Test suite needs a running neo4j server with auth disabled @@ -1501,63 +1961,82 @@ 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": + - abstract-deque + - abstract-deque-tests + - abstract-par + - atomic-primops - base-orphans + - chaselev-deque + - code-page - deriving-compat + - echo - generic-deriving + - hashmap - invariant - keycode - lift-generics + - mintty + - monad-par + - monad-par-extras - mtl-compat - proxied - text-show + - text-show-instances + - th-abstraction + - thread-local-storage "Kirill Zaborsky @qrilka": - xlsx + "Matt Parsons @parsonsmatt": + - monad-logger-prefix + - monad-metrics + "Matthew Pickering @mpickering": - refact - # GHC 8 - servant-pandoc - - 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 + # - 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 # GHC 8.2.1 "James Cook @mokus0": - dependent-sum - dependent-sum-template - dependent-map - # GHC 8 - dice + # - dice # via random-fu: via log-domain: via safecopy: bounds: vector - hstatsd - # GHC 8 - 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 - servant-JuicyPixels "Artyom @neongreen": @@ -1570,35 +2049,46 @@ packages: - shortcut-links - cheapskate-lucid - cheapskate-highlight + - cmark-lucid + - cmark-highlight - Spock-lucid - charsetdetect-ae - ilist + - text-all + - fmt - "Takano Akio aljee@hyper.cx @takano-akio": - # GHC 8 - fast-builder + "Takano Akio tak@anoak.io @takano-akio": + # - fast-builder # GHC 8.2.1 - filelock + # - euphoria # GHC 8.2.1 "Ashley Moni ashley.moni1@gmail.com @AshleyMoni": - quadtree "Brian Lewis brian@lorf.org @bsl": [] - # GHC 8 - bindings-GLFW - # GHC 8 - GLFW-b + # - bindings-GLFW # GHC 8.2.1 + # - GLFW-b # GHC 8.2.1 "Niklas Hambüchen mail@nh2.me @nh2": - hidapi - iso8601-time - loop + - netpbm - network-house + # - posix-paths # GHC 8.2.1 - reinterpret-cast + # As dependencies of packages above + - attoparsec-binary "Brandon Martin @codedmart": - # GHC 8 - engine-io-wai - - rethinkdb + [] + # - engine-io-wai # bounds websockets + # - rethinkdb # GHC 8.2.1 "Michael Walker @barrucadu": - # GHC 8 - both + - both + - concurrency # GHC 8.2.1 via atomic-primops - dpor - dejafu - async-dejafu @@ -1606,23 +2096,42 @@ packages: - tasty-dejafu - irc-ctcp - irc-conduit - # GHC 8 - irc-client + - irc-client + + "Rudy Matela @rudymatela": + - leancheck + - fitspec + - speculate + - extrapolate "Trevor Elliott @elliottt": - irc "Dennis Gosnell @cdepillabout": + - emailaddress - envelope - # GHC 8 - ig + - from-sum + - hailgun + - hailgun-simple + # - highlight # GHC 8.2.1 via regex-with-pcre + # - ig # bounds: http-conduit, transformers - natural-transformation - # GHC 8 - opaleye-trans + # - opaleye-trans # GHC 8.2.1 + - pretty-simple - read-env-var + - servant-checked-exceptions + - servant-static-th + - xml-html-qq + - xml-indexed-cursor + - yahoo-finance-api + # - yesod-markdown # bounds: skylighting "Franklin Chen @FranklinChen": - Ebnf2ps "Dmitry Ivanov @ethercrow": - charsetdetect-ae + - compiler-errors - docopt - dynamic-state - dyre @@ -1631,91 +2140,108 @@ packages: - pointedlist - word-trie - xdg-basedir - - yi + # - yi # Cabal 2.0.0.2 via yi-frontend-pango via pango + - yi-core + # - yi-frontend-pango # Cabal 2.0.0.2 via pango + - 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 # GHC 8.2.1 "Patrick Redmond @plredmond": [] - # GHC 8 - GPipe-GLFW + # - GPipe-GLFW # GHC 8.2.1 via GLFW-b "Csaba Hruska @csabahruska": [] - # GHC 8 - lambdacube-ir - # GHC 8 - lambdacube-gl - # GHC 8 - lambdacube-compiler + # - 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 # GHC 8.2.1 - "Gregory Collins ": + "Gregory Collins @gregorycollins": - hashtables - 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 + # - fgl-arbitrary # bounds: QuickCheck - graphviz - wl-pprint-text + - servant-pandoc "Sharif Olorin @olorin": - quickcheck-text - nagios-check - "Peter Simons simons@cryp.to @peti": + "Peter Simons @peti": + - distribution-nixpkgs + - cabal2nix - funcmp - hackage-db - # GHC 8 - hledger-interest + # - hledger-interest # megaparsec bounds: https://github.com/fpco/stackage/issues/2666 - hopenssl - # https://github.com/fpco/stackage/issues/840 - # - hsdns + - hsdns - hsemail - hsyslog + - jailbreak-cabal - language-nix + - logging-facade-syslog - nix-paths - streamproc + - titlecase "Mark Fine @markfine": - [] - # GHC 8 - postgresql-schema - # https://github.com/fpco/stackage/issues/873 - # - sbp + - postgresql-schema + - sbp "Jinjing Wang @nfjinjing": - moesocks "Gregory W. Schwartz @GregorySchwartz": - # GHC 8 - fasta - # GHC 8 - diversity - # GHC 8 - modify-fasta + - fasta + - diversity + - modify-fasta - tree-fun - random-tree - clumpiness - find-clumpiness - # GHC 8 - blosum + - blosum + # - convert-annotation # via inline-r compilation failure + # - rank-product # GHC 8.2.1 via random-fu "Simon Marechal @bartavelle": - compactmap @@ -1725,11 +2251,12 @@ packages: - strict-base-types - withdependencies - hruby - # http-types - # - stm-firehose - # - hslogstash + # - language-puppet # https://github.com/fpco/stackage/issues/2822 + - tar-conduit + # - stm-firehose # bounds: http-types, stm-conduit, transformers, wai, warp + # - hslogstash # bounds: aeson, lens, time, transformers # via: stm-firehose - "Mark Karpov @mrkkrp": + "Mark Karpov @mrkkrp": - megaparsec - htaglib - slug @@ -1739,24 +2266,39 @@ packages: - zip - JuicyPixels-extra - identicon + - pagination + - data-check + - text-metrics + - tagged-identity + - req + - req-conduit + - cue-sheet + - wave + - flac + - flac-picture + - lame + - path + - forma + - stache + - parser-combinators "Thomas Bereknyei ": [] - # GHC 8 - multiplate + # - multiplate # bounds: transformers "Sumit Sahrawat @sumitsahrawat": [] - # GHC 8 - plot-gtk-ui - # GHC 8 - calculator + # - plot-gtk-ui # Cabal 2.0.0.2 + # - calculator # bounds: ghc, base "Emmanuel Touzery @emmanueltouzery": - app-settings - hsexif + - slack-web "Nickolay Kudasov @fizruk": - http-api-data - # https://github.com/fpco/stackage/issues/1290 - #- smsaero + - smsaero < 0 # compilation failure against aeson https://github.com/GetShopTV/smsaero/issues/12 - swagger2 - servant-swagger @@ -1765,44 +2307,38 @@ 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": - [] - # GHC 8 - 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 - # GHC 8 - distributed-static - # GHC 8 - network-transport - # GHC 8 - network-transport-tcp - # GHC 8 - network-transport-composed - # https://github.com/haskell-distributed/rank1dynamic/issues/15 - # GHC 8 - rank1dynamic + # https://github.com/haskell-distributed/distributed-process/issues/312 + # - distributed-process + # - distributed-process-tests + # - distributed-process-simplelocalnet + - distributed-static + - network-transport + - network-transport-tests + - network-transport-tcp + - network-transport-inmemory + - network-transport-composed + - rank1dynamic "Alexander Vershilov @qnikst": [] - # https://github.com/qnikst/imagemagick/issues/41 - #- imagemagick - # GHC 8 - network-transport-zeromq + # - 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 + - twitter-types + - twitter-types-lens - "Robbin C. ": + "Robbin C. @robbinch": [] - # GHC 8 - zim-parser + # - zim-parser # via: lzma "David Wiltshire @dave77": # on behalf of Alexey Karakulov @w3rs @@ -1810,11 +2346,12 @@ packages: "Tim Baumann @timjb": [] - # GHC 8 - engine-io-yesod + # - engine-io-yesod # bounds: ghc, base - "Tim McGilchrist @tmcgilchrist": - # GHC 8 - riak - - airship + "Tim McGilchrist @tmcgilchrist": + [] + # - riak # bounds: aeson + # - airship # bounds: mmorph "Yuras Shumovich @Yuras": - pdf-toolbox-core @@ -1824,46 +2361,44 @@ 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 "John Galt @centromere": - - cacophony - - pipes-cacophony + # - cacophony # GHC 8.2.1 + # - pipes-cacophony # GHC 8.2.1 - blake2 + - nfc "Adam Curtis @kallisti-dev": - webdriver "Luke Iannini @lukexi": - [] - # GHC 8 - inline-c - # GHC 8 - inline-c-cpp - # GHC 8 - ekg + - inline-c + - inline-c-cpp + - ekg - "Emin Karayel ": + "Emin Karayel @ekarayel": [] - # GHC 8 - sync-mht + # - sync-mht # bounds: ghc, base "Michael Schröder @mcschroeder": - ctrie - - ttrie + # - ttrie # GHC 8.2.1 via atomic-primops - "Greg Weber ": - - base-noprelude + "Greg Weber @gregwebs": + [] + # - base-noprelude # cabal-version >= 2 - # https://github.com/fpco/stackage/pull/979 - # "Andrew Lelechenko @Bodigrim": - # - exp-pairs + "Andrew Lelechenko @Bodigrim": + - exp-pairs "Stefan Kersten @kaoskorobase": - hsndfile @@ -1872,151 +2407,160 @@ packages: "yihuang @yihuang": - tagstream-conduit - # https://github.com/fpco/stackage/issues/1001 - # "Johannes Hilden ": - # - hashids + "Johannes Hilden @johanneshilden": + - hashids "Joe Hermaszewski @expipiplus1": [] - # GHC 8 - exact-real + # - exact-real # bounds: ghc, base - # "Jonatan Sundqvist jonatanhsundqvist@gmail.com @SwiftsNamesake": - # https://github.com/fpco/stackage/issues/1039 - # - Cartesian - # - Michelangelo + "Jonatan Sundqvist jonatanhsundqvist@gmail.com @SwiftsNamesake": + [] + # - 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 + # - 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 # GHC 8.2.1 "Yorick Laupa yo.eight@gmail.com @YoEight": - # GHC 8 - eventstore + - eventstore - dotnet-timespan + - eventsource-api + - eventsource-geteventstore-store + - eventsource-store-specs + - eventsource-stub-store "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 + # - binary-typed # https://github.com/quchen/binary-typed/issues/42 - pgp-wordlist + - show-prettyprint + - prettyprinter + - prettyprinter-ansi-terminal + - prettyprinter-compat-wl-pprint + - prettyprinter-compat-ansi-wl-pprint + - prettyprinter-compat-annotated-wl-pprint "Jeremy Shaw @stepcut": - boomerang - # GHC 8 - clckwrks - # GHC 8 - clckwrks-cli - # GHC 8 - clckwrks-plugin-page - # GHC 8 - clckwrks-plugin-media - # GHC 8 - clckwrks-theme-bootstrap - # GHC 8 - hackage-whatsnew - # GHC 8 - happstack-authenticate - # GHC 8 - happstack-clientsession - # GHC 8 - happstack-hsp - # GHC 8 - happstack-jmacro - # GHC 8 - happstack-server - # GHC 8 - happstack-server-tls - # GHC 8 - hsx-jmacro - # GHC 8 - ixset + # - 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 # GHC 8.2.1 via hsx2hs + - happstack-jmacro + - happstack-server + - happstack-server-tls + - hsx-jmacro + # - ixset # via: syb-with-class, safecopy - reform - reform-blaze - reform-hamlet - # GHC 8 - reform-happstack - # GHC 8 - reform-hsp - # GHC 8 - userid + - reform-happstack + - reform-hsp + # - userid # via safecopy: bounds: vector - web-plugins - web-routes - # GHC 8 - web-routes-boomerang - # GHC 8 - web-routes-happstack + - web-routes-boomerang + - web-routes-happstack - 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 # bounds: haskell-src-exts + # - hzulip # bounds: aeson, stm-conduit - list-prompt - # GHC 8 - memoization-utils + # - memoization-utils # bounds: time - package-description-remote - projectroot - questioner - - stack-run-auto + # - stack-run-auto # GHC 8.2.1 via extract-dependencies + - hpack-convert < 0 + - language-dockerfile "Pascal Hartig @passy": - giphy-api + - optparse-text "rightfold @rightfold": - open-browser "Denis Redozubov @dredozubov": - [] - # GHC 8 - tracy + # - tracy # GHC 8.2.1 + - hreader-lens + # - schematic # GHC 8.2.1 "Yuji Yamamoto @igrep": - yes-precure5-command "Hans-Christian Esperer @hce": - - wai-session-postgresql + - avwx + # - wai-session-postgresql # GHC-8.2.1 - "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 # 0.5.0 compilation failure - simple - simple-templates - simple-session - # GHC 8 - simple-postgresql-orm + # - simple-postgresql-orm # compilation failure 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 + - Frames < 0 # test compilation failure + - hpp "Takayuki Muranushi @nushio3": - binary-search @@ -2024,17 +2568,20 @@ packages: "Jason Shipman @jship": # on behalf of Boris Sukholitko @bosu - - pure-cdb + [] + # - pure-cdb # https://github.com/bosu/pure-cdb/issues/5 & via testing-feat "Suhail Shergill @suhailshergill": - extensible-effects "Justus Adam @JustusAdam": + - marvin + - marvin-interpolate >= 1.1 - mustache "Cindy Wang @CindyLinz": - [] - # GHC 8 - NoTrace + # - NoTrace # GHC 8.2.1 + - linked-list-with-iterator "Jean-Philippe Bernardy @jyp": - polynomials-bernstein @@ -2045,77 +2592,81 @@ packages: - cmark - texmath - highlighting-kate - - pandoc-types + - skylighting + - pandoc-types < 1.19 # Accidental upload, see: https://github.com/fpco/stackage/issues/2223 - zip-archive - - pandoc - - pandoc-citeproc + - doctemplates + # - pandoc # bounds: skylighting + # - pandoc-citeproc # bounds: skylighting - "Karun Ramakrishnan karun012@gmail.com @karun012": + "Karun Ramakrishnan @karun012": - doctest-discover "Elie Genard @eliegenard": - [] - # GHC 8 - turtle-options + - turtle-options + - mushu < 0 # compilation failure + # - hakyll-favicon # bounds: skylighting "Ruey-Lin Hsu @petercommand": [] - # GHC 8- MASMGen + # - MASMGen # bounds: ghc, base "Ozgun Ataman ozgun.ataman@soostone.com @ozataman": - string-conv - rng-utils - - rotating-log - - ua-parser + # - rotating-log # GHC 8.2.1 + # - ua-parser # bounds aeson - hs-GeoIP - retry - # GHC 8 - katip - # GHC 8 - katip-elasticsearch + # - katip # bounds aeson + # - katip-elasticsearch # via bloodhound: bounds: vector "Sid Kapur sidharthkapur1@gmail.com @sid-kap": - tuple - OneTuple - # GHC 8 - SVGFonts - # GHC 8 - Chart-diagrams + # - SVGFonts # GHC 8.2.1 via diagrams-core + # - Chart-diagrams # bounds optparse-applicative "Aaron Levin @aaronmblevin": [] - # https://github.com/fpco/stackage/issues/1290 - #- haskell-kubernetes + # - 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 # GHC 8.2.1 - 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/1388 - #- inline-java - #- sparkle + "Alp Mestanogullari @alpmestan": + - taggy < 0 # compilation failure https://github.com/alpmestan/taggy/issues/19 + # - taggy-lens # via taggy: compilation failure https://github.com/alpmestan/taggy/issues/19 "Alex McLean @yaxu": - [] - # GHC 8 - tidal + - tidal "Kei Hibino @khibino": - # GHC 8 - relational-query - # GHC 8 - relational-query-HDBC - # GHC 8 - persistable-types-HDBC-pg - # GHC 8 - relational-record + - th-data-compat + - th-reify-compat + - relational-query + - relational-query-HDBC + - persistable-types-HDBC-pg + - relational-record - text-ldap - debian-build + - aeson-generic-compat + - json-rpc-generic "wren romano @wrengr": - bytestring-lexing @@ -2131,53 +2682,68 @@ packages: "Carlo Hamalainen @carlohamalainen": [] - # GHC 8 - ghc-imported-from + # - ghc-imported-from # bounds: process-streaming # via: ghc-mod "Fraser Tweedale @frasertweedale": + - concise - jose "Yutaka Nishimura @ynishi": - - atndapi + - atndapi < 0 # compilation failure https://github.com/ynishi/atndapi/issues/1 "Yoshikuni Jujo @YoshikuniJujo": - # GHC 8 - zot + - zot - yjtools - io-machine + - yjsvg + - x11-xim + - Imlib + - xturtle + - gluturtle + - papillon "Jan Gerlinger @JanGe": - irc-dcc - - xdcc + # - xdcc # bounds: path "John Ky newhoggy@gmail.com @newhoggy": + - hw-balancedparens - hw-bits - hw-conduit - hw-diagnostics - # GHC 8 - hw-json - # GHC 8 - hw-parser + - hw-excess + - hw-hedgehog + - hw-hspec-hedgehog + - hw-int + - hw-json + - hw-parser - hw-prim - hw-rankselect - # GHC 8 - hw-succinct + - hw-rankselect-base + - hw-succinct + - hw-xml "Ismail Mustafa @ismailmustafa": - handwriting "Stephen Diehl @sdiehl": - protolude + # - repline # GHC 8.2.1 + - picosat "Daishi Nakajima @nakaji_dayo": - [] - # GHC 8 - yesod-job-queue + - api-field-json-th + # - yesod-job-queue # bounds cron "Braden Walters @meoblast001": - [] - # GHC 8 - hakyll-sass + - hakyll-sass < 0 # 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": @@ -2185,6 +2751,10 @@ packages: - fold-debounce-conduit - stopwatch - wikicfp-scraper + - wild-bind + - wild-bind-x11 + # - wild-bind-indicator # Cabal 2.0.0.2 + # - wild-bind-task-x11 # Cabal 2.0.0.2 "Cies Breijs @cies": - htoml @@ -2193,33 +2763,45 @@ packages: - protobuf-simple "David Reaver @jdreaver": - [] - # BLOCKED comonad 5 - stratosphere + - eventful-core + - eventful-dynamodb + - eventful-memory + - eventful-postgresql + - eventful-sql-common + - eventful-sqlite + - eventful-test-helpers + - oanda-rest-api < 0 # test compilation failure + - stratosphere + - sum-type-boilerplate "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 - # GHC 8 - gi-gtk == 3.0.3 - - gi-pango == 1.0.3 + - gi-atk + - gi-cairo + - gi-gdk < 0 # compilation failure via gi-pango https://github.com/haskell-gi/haskell-gi/issues/113 + # - gi-gdkpixbuf # via gi-gio compilation failure https://github.com/haskell-gi/haskell-gi/issues/113 + - gi-gio < 0 # compilation failure https://github.com/haskell-gi/haskell-gi/issues/113 + - gi-glib + - gi-gobject + # - gi-gtk # compilation failure via gi-pango https://github.com/haskell-gi/haskell-gi/issues/113 + - gi-pango < 0 # compilation failure https://github.com/haskell-gi/haskell-gi/issues/113 + # - gi-soup # via gi-gio compilation failure https://github.com/haskell-gi/haskell-gi/issues/113 + - gi-javascriptcore == 3.0.* + # - gi-webkit # compilation failure via gi-pango https://github.com/haskell-gi/haskell-gi/issues/113 + - gi-ostree < 0 # dependent on gi-gio - haskell-gi + - haskell-gi-base - "Brandon Simmons ": + "Brandon Simmons @jberryman": - directory-tree "Ian Grant Jeffries @seagreen": - - hjsonpointer - - hjsonschema + [] + # - hjsonpointer # GHC 8.2.1 + # - hjsonschema # GHC 8.2.1 "Drew Hess @dhess": - hpio @@ -2227,52 +2809,563 @@ packages: "Richard Eisenberg @goldfirere": - th-desugar - singletons - - units - - units-defs + - units < 0 # compilation failure + # - units-defs # via units compilation failure - HUnit-approx - units-parser - "Doug McClean ": + "Doug McClean @dmcclean": - dimensional - exact-pi - numtype-dk + "Bjorn Buckwalter @bjornbm": + - leapseconds-announced + + "Pavel Ryzhov @paulrzcz": + - hquantlib + - HSvm + # - persistent-redis # GHC 8.2.1 + + "Henri Verroken @hverr": + - cache + - xxhash-ffi + + "Cliff Harvey @BlackBrane": + - ansigraph + # - quantum-random # BLOCKED directory 1.3 + + "Tebello Thejane @tebello-thejane": + - bitx-bitcoin + + "Andrew Lelechenko @Bodigrim": + - exp-pairs + - fast-digits + - bit-stream + + "Greg Hurrell @wincent": + - docvim < 0 # compilation failure: https://github.com/wincent/docvim/issues/30 + + "Ashley Yakeley @AshleyYakeley": + - countable + - witness + - open-witness + + "Victor Denisov @VictorDenisov": + - mongoDB + - bson + + "Alexis King @lexi-lambda": + - test-fixture + - text-conversions + - th-to-exp + - type-assertions + + "Patrick Chilton @chpatrick": + # - solga # https://github.com/chpatrick/solga/issues/9 + # - solga-swagger # GHC 8.2.1 via swagger2 + # - clang-pure # https://github.com/chpatrick/clang-pure/issues/10 + - webrtc-vad + + "Michal Konecny @michalkonecny": + - hmpfr + - mixed-types-num + + "Bartosz Nitka @niteria": + - oeis + + "Gergely Patai @cobbpg": + - elerea + + "Christopher Wells @ExcalburZero": + - pixelated-avatar-generator + + "Dominic Orchard @dorchard": + - array-memoize + # - camfort # https://github.com/camfort/camfort/issues/102 + - codo-notation + - fortran-src < 0 # OOM https://github.com/fpco/stackage/issues/2232 + - ixmonad < 0 # 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 # GHC 8.2.1 + # - encoding-io # GHC 8.2.1 + + "Anton Gushcha @ncrashed": + [] + # - aeson-injector # GHC 8.2.1 + + "Rune K. Svendsen @runeks": + [] + # - bitcoin-payment-channel # bounds: QuickCheck, aeson 1.0 # via: haskoin-core + + "Al Zohali @zohl": + - servant-auth-cookie + - dictionaries + + "Joachim Fasting @joachifm": + - libmpd + + "Moritz Kiefer @cocreature": + - lrucaching + - llvm-hs + - llvm-hs-pure + + "Thierry Bourrillon @tbourrillon": + - heatshrink + - hocilib + + "Matthias Herrmann @2chilled": + [] + # - scrape-changes # cannot build because validation fails https://github.com/NICTA/validation/issues/9 + + "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 + - ihs + + "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 + - vector-mmap + + "Alex Mason @Axman6": + # - foldl-statistics # bounds: foldl + - amazonka-s3-streaming + + "Ondrej Palkovsky @ondrap": + [] + # - json-stream # GHC 8.2.1 + + "Philipp Balzarek ": + - xml-picklers + + "Lennart Spitzner @lspitzner": + - multistate + - pqueue + + "Ryan Mulligan @ryantm": + [] + # - HDBC-mysql # GHC 8.2.1 + + "Tony Day @tonyday567": + - numhask + - numhask-range + # - chart-unit # bounds optparse-applicative + # - perf # bounds optparse-applicative + - online + + "Iphigenia Df @iphydf": + - data-msgpack + - network-msgpack-rpc + + "Dino Morelli @dino-": + - epub-metadata + - hsinstall + - tce-conf + + "Jonathan Fischoff ": + - threads-extra + - clock-extras + - next-ref + - tmp-postgres + # - postgresql-simple-opts # bounds: optparse-applicative + - pg-transact + - hspec-pg-transact + - postgresql-simple-queue + + "Bernie Pope @bjpop": + - language-python < 0 # compilation failure https://github.com/bjpop/language-python/issues/35 + + "Mahdi Dibaiee ": + - picedit + - mathexpr + # - sibe # GHC 8.2.1 via stemmer + - termcolor + + "Alexis Williams @typedrat": + [] + # - stb-image-redux # bounds: vector + # - wavefront-obj # GHC 8.2.1 + + "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 + + "Hyunje Jun @noraesae": + - line + + "Hannes Saffrich @m0rphism": + # - dmenu # GHC 8.2.1 + # - dmenu-pmount # GHC 8.2.1 + # - dmenu-pkill # GHC 8.2.1 + # - dmenu-search # GHC 8.2.1 + - printcess + + "Alexey Kuleshevich @lehins": + - wai-middleware-auth + # - hip # via repa-algorithms + + "Hans-Peter Deifel @hpdeifel": + [] + # - hledger-iadd # megaparsec bounds: https://github.com/fpco/stackage/issues/2666 + + "Roy Levien @orome": + - crypto-enigma + + "Boldizsár Németh @nboldi": + - instance-control + - references + # - haskell-tools-ast # GHC 8.2.1 + # - haskell-tools-backend-ghc # GHC 8.2.1 + # - haskell-tools-rewrite # GHC 8.2.1 + # - haskell-tools-prettyprint # GHC 8.2.1 + # - haskell-tools-refactor # GHC 8.2.1 + # - haskell-tools-demo # bounds: websockets + # - haskell-tools-cli # GHC 8.2.1 + # - haskell-tools-daemon # GHC 8.2.1 + # - haskell-tools-debug # GHC 8.2.1 + + "David Fisher @ddfisher": + - socket-activation + + "aiya000 @aiya000": + - stack-type + - throwable-exceptions + - snowtify + + "Mitsutoshi Aoe @maoe": + - sensu-run + - viewprof + + "Dylan Simon @dylex": + # - postgresql-typed # GHC 8.2.1 + - invertible + # - ztail # GHC 8.2.1 + + "Louis Pan @louispan": + - alternators + - arrow-extras + - data-diverse + - data-diverse-lens + - disposable + - ghcjs-base-stub + - glaze + - glazier + - glazier-pipes + # - glazier-react # https://github.com/louispan/glazier-react/issues/7 + # - glazier-react-widget # https://github.com/louispan/glazier-react/issues/7 + - 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 # GHC 8.2.1 via protolude + + "ncaq @ncaq": + - haskell-import-graph + - uniq-deep + - yesod-form-bootstrap4 + - yesod-recaptcha2 + + "Andrei Barbu @abarbu": + - nondeterminism + - csp + - matplotlib + + "mackeyrms @mackeyrms": + - tsv2csv + + "Thomas Sutton @thsutton": + - aeson-diff + - edit-distance-vector + + "Kyle Van Berendonck @kvanberendonck": + - rot13 + - dvorak + + "Pavel Yakovlev @zmactep": + - hasbolt + + "Michael Thomas @Michaelt293": + [] + # - isotope # megaparsec bounds: https://github.com/fpco/stackage/issues/2666 + + "Christopher A. Gorski @cgorski": + - general-games + + "Cristian Adrián Ontivero @contivero": + - hasmin + - hopfli + + "Peter Trško @trskop": + - between + - connection-pool + # - freer-effects # https://github.com/IxpertaSolutions/freer-effects/issues/49 + - verbosity + + "Devon Hollowood @devonhollowood": + - search-algorithms + + "Chris Dornan @cdornan": + # - regex # GHC 8.2.1 + # - regex-with-pcre # GHC 8.2.1 + - sort + - regex-pcre-text + + "Elliot Cameron @3noch": + - ziptastic-client + - ziptastic-core + + "Hardy Jones @joneshf": + [] + # - servant-ruby # GHC 8.2.1 + # - wai-middleware-rollbar # GHC 8.2.1 + + "Andrey Mokhov @snowleopard": + - algebraic-graphs + + "Albert Krewinkel @tarleb": + - hslua + - hslua-aeson + + "Judah Jacobson @judah": + - lens-labels + - proto-lens + - proto-lens-descriptors + - proto-lens-protoc + - proto-lens-combinators + - proto-lens-arbitrary + - proto-lens-optparse + - proto-lens-protobuf-types + # - tensorflow # via: tensorflow-proto + # - tensorflow-core-ops # via: tensorflow-proto + # - tensorflow-opgen # via: tensorflow-proto + # - tensorflow-ops # bounds: tensorflow-proto + # - tensorflow-proto # compilation failure + - tensorflow-test + + "Christof Schramm ": + - mnist-idx + + "Naushadh @naushadh": + [] + # - persistent-mysql-haskell # bounds: tcp-streams (see mysql-haskell) + + "Moritz Schulte @mtesseract": + - async-refresh + - async-refresh-tokens + - type-level-integers + - partial-order + - async-timer + + "Simon Hafner @reactormonk": + - uri-bytestring-aeson + + "Sebastian Witte @saep": + - nvim-hs + - nvim-hs-contrib + - nvim-hs-ghcid + + "Sam Protas @SamProtas": + - triplesec + - composable-associations + - composable-associations-aeson + + "Anton Ekblad @valderman": + - selda + - selda-sqlite + - selda-postgresql + + "Luis Pedro Coelho @luispedro": + - safeio + - conduit-algorithms + + "Alex Biehl @alexbiehl": + [] + # - haddock-library # cabal-version >= 2 + # - haddock-api # cabal-version >= 2 + # - haddock # cabal-version >= 2 + + "Mark Hopkins @mjhopkins": + - alerta + + "Steven Vandevelde @icidasset": + - shikensu + + "George Pollard @Porges": + - email-validate + + "Alexander Ignatyev @alexander-ignatyev": + - astro + - mltool + - hmatrix-morpheus + + "Edward Amsden @eamsden": + - h2c + - bno055-haskell + + "Lars Brünjes @brunjlar": + # - neural # https://github.com/fpco/stackage/issues/2735 + - pell + + "Matt Noonan @matt-noonan": + - justified-containers + + "Levent Erkok @LeventErkok": + - sbv + + "János Tapolczai @jtapolczai": + - listsafe + + "Serokell @serokell": + - universum + + "Lorenz Moesenlechner @moesenle": + - servant-websockets + + "Daniel Campoverde @alx741": + - currencies + - alerts + - yesod-alerts + + "José Lorenzo Rodríguez @lorenzo": + - wrecker + - docker-build-cacher + # - mysql-haskell-nem : blocked on mysql-haskell + + "Phil Ruffwind @Rufflewind": + - blas-hs + + "Eitan Chatav @echatav": + - squeal-postgresql + # 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": - # fails with aeson-0.11 (https://github.com/haskell-suite/haskell-packages/issues/23) - #- haskell-packages - curl - - hse-cpp + + # Purescript + - bower-json + - boxes + - pattern-arrows + # - purescript # BLOCKED aeson-1.0 + + # - type-list # GHC 8.2.1 via singletons 2.3 + # - vinyl-utils # BOUNDS vinyl 0.6 + # - language-lua2 # https://github.com/mitchellwrosen/language-lua2/issues/4 # GHC 8.2.1 + - cassava + + # 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 + - Win32 == 2.5.4.1 "Stackage upper bounds": - # https://github.com/fpco/stackage/issues/1469 - - data-default < 0.7 - - data-default-class < 0.1 + # https://github.com/fpco/stackage/issues/2814 + - doctest < 0.12 + # Once unconstrained, remove the following skipped-tests + # - sbv - # https://github.com/fpco/stackage/issues/1477 - - gi-javascriptcore < 3.1 + # https://github.com/fpco/stackage/issues/2714 + - brick < 0.21 + - word-wrap < 0.2 - # https://github.com/fpco/stackage/issues/1510 - - pipes < 4.2 + # https://github.com/fpco/stackage/issues/2740 + - fgl < 5.6 - # https://github.com/fpco/stackage/issues/1515 - - hsyslog < 3 + # https://github.com/commercialhaskell/stack/issues/3345 + - cassava < 0.5.1.0 - # https://github.com/fpco/stackage/issues/1555 - - authenticate-oauth < 1.6 + # https://github.com/fpco/stackage/issues/2772 + - Yampa < 0.10.6.1 + + # https://github.com/fpco/stackage/issues/2778 + - ansi-terminal < 0.7 + + # https://github.com/fpco/stackage/issues/2779 + - xml-conduit < 1.6.0 + + # https://github.com/fpco/stackage/issues/2797 + # - inflections < 0.4.0.0 + + # https://github.com/fpco/stackage/issues/2826 + - uri-templater < 0.3 # end of packages - # Package flags are applied to individual packages, and override the values of # global-flags package-flags: + pathtype: + old-time: false + brick: demos: true @@ -2290,6 +3383,15 @@ package-flags: curl: new-base: true + hpio: + test-hlint: false + + idris: + ffi: true + + minio-hs: + live-test: false + hxt: network-uri: true hxt-http: @@ -2307,13 +3409,15 @@ 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 + th-data-compat: + template-haskell-210: false + template-haskell-212: true + th-reify-compat: + template-haskell-210: false + HsOpenSSL: fast-bignum: false @@ -2326,9 +3430,6 @@ package-flags: nix-paths: allow-relative-paths: true - darcs: - use-time-1point5: true - fay: test: true @@ -2343,13 +3444,53 @@ package-flags: ghc_7_7: false ghc_8_0: true + functor-classes-compat: + containers: true + + timezone-series: + time_1_6_and_1_7: false + time_pre_1_6: false + + mintty: + win32-2-5: false + + cassava: + pre-bytestring-0-10-4: false + # end of package-flags # Special configure options for individual packages configure-args: - inline-java: - - "--FIXME" + 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 + clang-pure: + - --extra-lib-dirs + - /usr/lib/llvm-3.7/lib + - --extra-include-dirs + - /usr/lib/llvm-3.7/include # end of configure-args @@ -2359,116 +3500,116 @@ skipped-builds: - hfsevents - Win32 - Win32-notify - - Win32-extras # end of 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 + # Outdated dependencies + # These can periodically be checked for updates; + # just remove these lines and run `stackage-curator check' to verify. + - Glob # HUnit 1.6 + - aeson + - attoparsec # QuickCheck 2.10 + - binary-parser # tasty-quickcheck + - blaze-html + - blaze-markup + - bytestring-handle # QuickCheck 2.9 + - case-insensitive # HUnit 1.6 + - cryptohash-sha512 # tasty-quickcheck + - drawille # hspec 2.4 + - edit-distance # QuickCheck 2.10 + - envy # QuickCheck 2.10 + - exception-transformers # HUnit 1.6 + - extensible-effects # HUnit 1.6 + - lifted-base # HUnit 1.6 + - makefile # GHC 8.2 + - next-ref # hspec 2.3 + - parsec # HUnit 1.6 + - partial-order # HUnit 1.6 + - printcess # QuickCheck 2.10 + - retry # QuickCheck 2.10 + - superbuffer # QuickCheck 2.10 + - tar # tasty-quickcheck + - text-short # tasty-quickcheck + - vector # QuickCheck 2.10 + - vector-builder # tasty-quickcheck + - websockets # QuickCheck 2.10 + - zlib # tasty-quickcheck - # Too lazy to keep the test dependencies up to date + # Transitive outdated dependencies + # These packages + # These can also be checked for updates periodically. + - MissingH # via testpack https://github.com/jgoerzen/testpack/issues/11 + - chell # via chell-quickcheck + - clustering # via RLang-QQ via HList https://github.com/kaizhang/clustering/issues/2 (also sent e-mail to HList maintainer) + - language-ecmascript # via testing-feat + - options # QuickCheck via chell-quickcheck + - path # via genvalidity genvalidity-property + - servant-js # via language-ecmascript + - system-filepath # QuickCheck 2.9 via chell-quickcheck + - unordered-containers # via ChasingBottoms + + # Blocked by stackage upper bounds. These can be re-enabled once + # the relevant stackage upper bound is lifted. + - sbv # doctest >= 0.13 + + # Compilation failures + - proto-lens-combinators # https://github.com/google/proto-lens/issues/119 + - pell # https://github.com/brunjlar/pell/issues/1 + - wreq # https://github.com/bos/wreq/issues/107 + - protobuf # https://github.com/alphaHeavy/protobuf/issues/34 + + # 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 + - rose-trees # OOM https://github.com/athanclark/rose-trees/issues/6 + - binary-parsers # https://github.com/winterland1989/binary-parsers/issues/3 + - intero # https://github.com/commercialhaskell/intero/issues/462 + - picoparsec # https://bitbucket.org/blamario/picoparsec/issues/4/test-suite-failure-with-ghc-82 + - reroute # https://github.com/agrafix/Spock/issues/130 + - shelly # https://github.com/yesodweb/Shelly.hs/issues/150 + + # Missing foreign library + - symengine # symengine + + # Wontfix. The maintainer doesn't want to keep test dependencies + # up to date or be notified about it, or doesn't want stackage to + # run the tests. + # Only re-enable if requested. + ## @hvr https://github.com/fpco/stackage/issues/2538#issuecomment-304458844 + - cassava + - cryptohash-md5 + - cryptohash-sha1 + - cryptohash-sha256 + - uuid + - uuid-types + # @nikita-volkov https://github.com/fpco/stackage/issues/2538#issuecomment-305129396 + - base-prelude + - bytestring-strict-builder + - bytestring-tree-builder - cases + - focus + - hasql + - hasql-pool - list-t + - mtl-prelude + - neat-interpolation + - partial-handler - postgresql-binary + - refined - 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 - - 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/haskell/zlib/issues/2 - - zlib - - # https://github.com/ku-fpg/blank-canvas/issues/73 - # Never finishes - - blank-canvas - - # 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 - - # times out without framebuffer (https://github.com/ghcjs/jsaddle/issues/9) - - jsaddle - - # 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 - - semigroupoids - - # GHC 8 (bytestring-handle) - - tar - - # GHC 8 (snap-server) - - wreq - - # GHC 8 - - hastache - - system-filepath - - system-fileio - - shelly - - # https://github.com/acid-state/safecopy/issues/45 - - safecopy + # @ivan-m https://github.com/fpco/stackage/issues/2538#issuecomment-307290070 + - fgl + - fgl-arbitrary + - graphviz + - wl-pprint-text # end of skipped-tests @@ -2476,391 +3617,248 @@ 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 - - # Failing doctests - - bits - - # 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 - - # 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 + - foldl-statistics # https://github.com/data61/foldl-statistics/issues/2 + - fsnotify # Often runs out of inotify handles - hastache + - 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 + - matplotlib # https://github.com/fpco/stackage/issues/2365 + - mltool # https://github.com/Alexander-Ignatyev/mltool/issues/1 - # https://github.com/haskell/ghc-events/issues/9 - - ghc-events + # 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 + - punycode + - zip + - unagi-chan - # Requires a running server + # 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 + - IPv6DB + - amqp + - aws # AWS Credentials + - bindings-GLFW # Expects running X 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 + - bitcoin-api-extra + - bloodhound # ElasticSearch + - cabal-install + - consul-haskell + - dbcleaner # Requires running PostgreSQL server + - dbmigrations # PostgreSQL + - dns # https://github.com/kazu-yamamoto/dns/issues/29 + - drifter-postgresql # PostgreSQL + - etcd # etcd https://github.com/fpco/stackage/issues/811 + - eventful-dynamodb + - eventful-postgresql + - eventsource-geteventstore-store + - 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 + - req-conduit # bad JSON response from service pinged https://github.com/mrkkrp/req-conduit/issues/1 + - 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-persistent # sqlite + - users-postgresql-simple # PostgreSQL + - wai-cors # PhantomJS + - wai-session-postgresql # PostgreSQL + - webdriver-angular # webdriver server - # Fail sporadically: https://github.com/chrisdone/hindent/issues/166 - - hindent + # Test executable requires arguments + - hpqtypes - # https://github.com/fpco/stackage/issues/1000 - - eventstore + # 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 - # https://github.com/chrisdone/sourcemap/issues/3 - - sourcemap + # 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 + - ghc-syb-utils # https://github.com/nominolo/ghc-syb/issues/18 + - 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 + - matplotlib # https://github.com/fpco/stackage/issues/2365 + - 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/issues/1070 - - parsers + # 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 + - download # https://github.com/fpco/stackage/issues/2811 + - 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 + - pixelated-avatar-generator # 0.1.3 https://github.com/ExcaliburZero/pixelated-avatar-generator/issues/19 + - shikensu # https://github.com/icidasset/shikensu/issues/5 + - th-printf # 0.3.1 https://github.com/pikajude/th-printf/issues/3 + - throwable-exceptions # https://github.com/aiya000/hs-throwable-exceptions/issues/2 + - unicode-show # https://github.com/nushio3/unicode-show/issues/2 + - xml-picklers # https://github.com/Philonous/xml-picklers/issues/5 + - xmonad # 0.12 https://github.com/xmonad/xmonad/issues/36 + - yahoo-finance-api # https://github.com/fpco/stackage/issues/2821 - # Fails sporadically: https://github.com/fpco/stackage/issues/1125 - - jose-jwt + # Compilation failures + - ListLike # No issue tracker, e-mail sent to maintainer + - amazonka-core # https://github.com/brendanhay/amazonka/issues/397 + - commutative # https://github.com/athanclark/commutative/issues/4 + - dbus # 0.10.12 No issue tracker, e-mail sent to maintainer + - flat # https://github.com/Quid2/flat/issues/1 + - foundation # https://github.com/haskell-foundation/foundation/issues/394 + - haddock + - heap # https://github.com/pruvisto/heap/issues/4 + - hledger-iadd # https://github.com/hpdeifel/hledger-iadd/issues/26 + - hledger-lib # https://github.com/simonmichael/hledger/issues/596 + - hspec-expectations-pretty-diff # GHC 8 issue not reported upstream since issue tracker disabled + - hweblib # https://github.com/aycanirican/hweblib/issues/3 + - language-dockerfile # https://github.com/beijaflor-io/haskell-language-dockerfile/issues/8 + - language-lua2 # https://github.com/mitchellwrosen/language-lua2/issues/4 + - picosat # https://github.com/fpco/stackage/pull/2382 + - pkcs10 # https://github.com/fcomb/pkcs10-hs/issues/2 + - raaz + - sourcemap # https://github.com/chrisdone/sourcemap/issues/3 + - text-icu # https://github.com/bos/text-icu/issues/32 + - text-ldap # https://github.com/khibino/haskell-text-ldap/issues/1 + - threads + - thyme # https://github.com/liyang/thyme/issues/50 + - tls # https://github.com/vincenthz/hs-tls/issues/247 + - tries # https://github.com/athanclark/tries/issues/2 + - unicode-transforms # https://github.com/harendra-kumar/unicode-transforms/issues/15 + - vector-algorithms # http://hub.darcs.net/dolio/vector-algorithms/issue/9 + - vty # https://github.com/jtdaugherty/vty/issues/132 + - 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/1187 - # openfile: does not exist - - skein + # Stackage upper bounds, re-enable these when their upper bound is removed - # https://github.com/fpco/stackage/issues/1147 - - lens + # 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/tanakh/aeson-lens/issues/10 - - aeson-lens + # 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 + - haskell-tools-daemon # openFile: permission denied https://github.com/fpco/stackage/issues/2502 - # Not sure if we can fix this - - Cabal + # Doctests require hidden Glob package + - multiset + - makefile - # Sent e-mail to maintainer - - dbus + # Misc. + - distributed-process-supervisor # # https://github.com/haskell-d + - ghcid # Weird conflicts with sandboxingistributed/distributed-process-supervisor/issues/1 + - haskell-docs # GHC bug + - hosc # GHC 8.2.1 (?) + - rattletrap # OOM? https://github.com/fpco/stackage/issues/2232 + - 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 + - pg-transact # https://github.com/jfischoff/pg-transact/issues/2 + - postgresql-simple-queue # same issue as before, see also https://github.com/fpco/stackage/issues/2592 as that will fix both + - tcp-streams # https://github.com/didi-FP/tcp-streams/issues/5 + - tcp-streams-openssl # https://github.com/didi-FP/tcp-streams/issues/5 + - tmp-postgres # https://github.com/jfischoff/tmp-postgres/issues/1 - # 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 - - cabal-helper - - graphviz - - zip - - # https://github.com/elaye/turtle-options/issues/3 - - turtle-options - - # https://github.com/fpco/stackage/issues/1045 (moved here from skipped-tests) - - clock - - # https://github.com/fpco/stackage/issues/1299 - - serialport - - # requires elasticsearch https://github.com/fpco/stackage/pull/1271 - - katip-elasticsearch - - # https://github.com/fpco/stackage/pull/1315 - - ghc-imported-from - - # https://github.com/fpco/stackage/pull/1340 - - simpleirc - - # https://github.com/fpco/stackage/issues/1382 - - idris - - # https://github.com/fpco/stackage/issues/1399 - - darcs - - # https://github.com/fpco/stackage/pull/1254 - - graylog - - # https://github.com/fpco/stackage/issues/1412 - - wai-predicates - - # 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/1540 - - hpio - - # https://github.com/fpco/stackage/issues/1552 - - purescript - - # https://github.com/jetho/Hclip/issues/3 - - Hclip # 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 - - bzlib-conduit - - cipher-aes128 - - cryptohash - - dbus - - gitson - hashable - - http-link-header - - jose-jwt - - lens - - lucid - - mongoDB - - picoparsec - - rethinkdb - - stateWriter - - thyme - - vinyl - - warp - - 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 + - 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 + - ghc-mod # https://github.com/DanielG/ghc-mod/issues/895 + - thyme # https://github.com/liyang/thyme/issues/50 + - tls # https://github.com/vincenthz/hs-tls/issues/247 + - xmlgen # https://github.com/skogsbaer/xmlgen/issues/6 + - raaz # https://github.com/raaz-crypto/raaz/issues/338 + - http2 + - xxhash # https://github.com/christian-marie/xxhash/issues/4 + # end of expected-benchmark-failures @@ -2872,74 +3870,98 @@ expected-haddock-failures: - gtk - gtk3 - # Not sure why, but it's a temporary package anyway - - Cabal-ide-backend + # Intermittent failures or unreliable. These may 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 + - text-generic-pretty # https://github.com/fpco/stackage/pull/2160 + - cubicbezier # https://github.com/kuribas/cubicbezier/issues/4 - # 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 + # Runs out of memory + - store - # https://github.com/conal/MemoTrie/issues/10 - - MemoTrie - - # 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: - - criterion-plus - - lifted-base - - stm-containers - # pulls in criterion-plus, which has restrictive upper bounds + # Outdated dependencies + # These can periodically be checked for updates; + # just remove these lines and run `stackage-curator check' + # to verify. + - binary-parsers # criterion 1.2 + - cryptohash-sha512 # criterion 1.2 + - pipes # optparse-applicative 0.13 + - unordered-containers # criterion 1.2 + + # Transitive outdated dependencies + # These packages + # These can also be checked for updates periodically. + + + # 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 + - extensible # via freer-effects https://github.com/fumieval/extensible/issues/12 + - hw-bits # https://github.com/haskell-works/hw-bits/issues/8 + + # GHC Bugs + - hledger-lib # https://github.com/fpco/stackage/issues/1587 + + # Cyclic dependencies + - cassava + + # Timeouts + - gogol-youtube + + # Maintainers who don't want to update benchmarks + # Only re-enable if requested. + ## @hvr https://github.com/fpco/stackage/issues/2538#issuecomment-304458844 + - cassava + - cryptohash-md5 + - cryptohash-sha1 + - cryptohash-sha256 + - uuid + - uuid-types + # @nikita-volkov https://github.com/fpco/stackage/issues/2538#issuecomment-305129396 + - base-prelude + - bytestring-strict-builder + - bytestring-tree-builder - cases - - hasql-postgres - - ttrie - - # https://github.com/vincenthz/hs-crypto-cipher/issues/46 - - cipher-aes - - cipher-blowfish - - cipher-camellia - - cipher-des - - cipher-rc4 - - # sometimes falls out-of-sync on hasql-postgres + - focus - hasql - - # https://github.com/fpco/stackage/issues/494 - - case-insensitive + - hasql-pool + - list-t + - mtl-prelude + - neat-interpolation + - partial-handler - postgresql-binary - - # https://github.com/kaizhang/clustering/issues/2 - - clustering - - # Successful build requires unordered-containers >= 0.2.7.0 - # https://github.com/fpco/stackage/issues/1226 - - unordered-containers + - refined + - slave-thread + - stm-containers + # @ivan-m https://github.com/fpco/stackage/issues/2538#issuecomment-307290070 + - fgl + - fgl-arbitrary + - graphviz + - graphviz + - wl-pprint-text # end of skipped-benchmarks @@ -2977,9 +3999,13 @@ github-users: - meteficha analytics: - ekmett + haskell-openal: + - svenpanne + # - the-real-blackh haskell-opengl: - ekmett - svenpanne + # - dagit # - elliottt # - jmcarthur lambdabot: @@ -2994,7 +4020,6 @@ github-users: stackbuilders: - sestrella - jsl - - jpvillaisaza - jsantos17 scotty-web: - RyanGlScott @@ -3003,6 +4028,10 @@ github-users: - RyanGlScott haskell-compat: - RyanGlScott + haskell-servant: + - phadej + - jkarni + - SoenkeHahn vivid: - vivid-synth midair: @@ -3011,6 +4040,17 @@ github-users: - vivid-synth telegram-api: - klappvisor + fpinsight: + - thierry-b + arithmoi: + - Bodigrim + - cartazio + - phadej + IxpertaSolutions: + - Siprj + - liskin + - trskop + - xkollar # end of github-users @@ -3031,3 +4071,83 @@ 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 +- vivid-0.2.0.5 # Re-enable package (disabed per MonadRandom < 0.5) https://github.com/fpco/stackage/issues/2180 +- cryptohash-md5-0.11.100.1 # re-enable benchmarks, https://github.com/fpco/stackage/issues/2538#issuecomment-304458844 +- cryptohash-sha1-0.11.100.1 # re-enable benchmarks, https://github.com/fpco/stackage/issues/2538#issuecomment-304458844 +- cryptohash-sha256-0.11.100.1 # re-enable benchmarks, https://github.com/fpco/stackage/issues/2538#issuecomment-304458844 +- freer-effects-0.3.0.1 # re-enable extensible benchmarks + +# 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 + +# Experimental: packages where Hackage cabal file revisions should be ignored. +# Always use the cabal file shipped with the sdist tarball instead. +no-revisions: +- hjsonpointer +- tls +- mime-mail diff --git a/check b/check index c25c3c4a..79e7a39f 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.2.1 stackage-curator check diff --git a/debian-bootstrap.sh b/debian-bootstrap.sh index ae20a8b8..d294a690 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 @@ -21,40 +20,46 @@ apt-get install -y software-properties-common add-apt-repository ppa:hvr/ghc -y add-apt-repository -y ppa:marutter/rrutter -# not sure what this was needed for -#add-apt-repository -y ppa:openstack-ubuntu-testing/icehouse +apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF +add-apt-repository -y --keyserver hkp://keyserver.ubuntu.com:80 'deb http://download.mono-project.com/repo/debian wheezy main' +add-apt-repository -y --keyserver hkp://keyserver.ubuntu.com:80 'deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main' +add-apt-repository -y --keyserver hkp://keyserver.ubuntu.com:80 'deb http://download.mono-project.com/repo/debian wheezy-libjpeg62-compat main' -# 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.2.1 apt-get update apt-get install -y \ build-essential \ - ghc-$GHCVER \ - ghc-$GHCVER-htmldocs \ - hscolour \ - sudo \ curl \ freeglut3-dev \ + fsharp \ + ghc-$GHCVER \ + ghc-$GHCVER-dyn \ + ghc-$GHCVER-htmldocs \ + ghc-$GHCVER-prof \ git \ + gradle \ + hscolour \ libadns1-dev \ + libaio1 \ + libalut-dev \ libasound2-dev \ libblas-dev \ libbz2-dev \ libcairo2-dev \ + libclang-3.9-dev \ libcurl4-openssl-dev \ + libcwiid-dev \ libdevil-dev \ 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 \ @@ -65,25 +70,39 @@ apt-get install -y \ libgtk2.0-dev \ libgtksourceview-3.0-dev \ libhidapi-dev \ + libi2c-dev \ libicu-dev \ + libimlib2-dev \ + libjack-jackd2-dev \ libjudy-dev \ liblapack-dev \ libleveldb-dev \ + liblmdb-dev \ liblzma-dev \ libmagic-dev \ libmagickcore-dev \ libmagickwand-dev \ libmarkdown2-dev \ + libmono-2.0-dev \ + libmp3lame-dev \ + libmpfr-dev \ libmysqlclient-dev \ libncurses-dev \ + libnfc-dev \ libnotify-dev \ libopenal-dev \ libpango1.0-dev \ libpcap0.8-dev \ libpq-dev \ + libsdl1.2-dev \ libsdl2-dev \ + libsdl2-gfx-dev \ + libsdl2-image-dev \ + libsdl2-mixer-dev \ + libsdl2-ttf-dev \ libsnappy-dev \ libsndfile1-dev \ + libsox-dev \ libsqlite3-dev \ libssl-dev \ libsystemd-dev \ @@ -99,21 +118,33 @@ apt-get install -y \ libyaml-dev \ libzip-dev \ libzmq3-dev \ - llvm \ + llvm-3.9 \ + locales \ m4 \ + minisat \ + mono-mcs \ nettle-dev \ nodejs \ npm \ openjdk-8-jdk \ + python-mpltoolkits.basemap \ + python3-matplotlib \ + python3-numpy \ + python3-pip \ r-base \ r-base-dev \ ruby-dev \ - stack \ + sudo \ 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 @@ -122,3 +153,80 @@ mv /opt/ghc/$GHCVER/share/doc/ghc-$GHCVER/ /opt/ghc/$GHCVER/share/doc/ghc # faster anyways and uses less RAM. update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.gold" 20 update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.bfd" 10 + +# GHC requires a specific LLVM version on the system PATH for its LLVM backend. +# This version is tracked here: +# https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM/Installing +# +# GHC 8.2 requires LLVM 3.9 tools (specifically, llc-3.9 and opt-3.9). +update-alternatives --install "/usr/bin/llc" "llc" "/usr/bin/llc-3.9" 50 +update-alternatives --install "/usr/bin/opt" "opt" "/usr/bin/opt-3.9" 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 + +# llvm-4.0 for llvm-hs (separate since it needs wget) +wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - \ + && add-apt-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-4.0 main" \ + && apt-get update \ + && apt-get install -y llvm-4.0 + +# Install version 3 of the protobuf compiler. (The `protobuf-compiler` package only +# supports version 2.) +curl -OL https://github.com/google/protobuf/releases/download/v3.3.0/protoc-3.3.0-linux-x86_64.zip \ + && sudo unzip -o protoc-3.3.0-linux-x86_64.zip -d /usr bin/protoc \ + && rm -f protoc-3.3.0-linux-x84_64.zip + +# Install the TensorFlow C API. +curl https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-linux-x86_64-1.1.0.tar.gz > libtensorflow.tar.gz \ + && sudo tar zxf libtensorflow.tar.gz -C /usr \ + && rm libtensorflow.tar.gz \ + && ldconfig + +# NOTE: also update Dockerfile when cuda version changes +# Install CUDA toolkit +# The current version can be found at: https://developer.nvidia.com/cuda-downloads +CUDA_PKG=8.0.61-1 # update this on new version +CUDA_VER=${CUDA_PKG:0:3} +CUDA_APT=${CUDA_VER/./-} + +pushd /tmp \ + && wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_${CUDA_PKG}_amd64.deb \ + && dpkg -i cuda-repo-ubuntu1604_${CUDA_PKG}_amd64.deb \ + && apt-get update -qq \ + && apt-get install -y cuda-drivers cuda-core-${CUDA_APT} cuda-cudart-dev-${CUDA_APT} cuda-cufft-dev-${CUDA_APT} cuda-cublas-dev-${CUDA_APT} cuda-cusparse-dev-${CUDA_APT} cuda-cusolver-dev-${CUDA_APT} \ + && rm cuda-repo-ubuntu1604_${CUDA_PKG}_amd64.deb \ + && export CUDA_PATH=/usr/local/cuda-${CUDA_VER} \ + && export LD_LIBRARY_PATH=${CUDA_PATH}/nvvm/lib64:${LD_LIBRARY_PATH+x} \ + && export LD_LIBRARY_PATH=${CUDA_PATH}/lib64:${LD_LIBRARY_PATH} \ + && export PATH=${CUDA_PATH}/bin:${PATH} \ + && popd + +## non-free repo for mediabus-fdk-aac +#apt-add-repository multiverse \ +# && apt-get update \ +# && apt-get install -y libfdk-aac-dev