diff --git a/.travis.yml b/.travis.yml index 47bbda04..6df6863c 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: diff --git a/CURATORS.md b/CURATORS.md index 7b5f8997..6579ee8b 100644 --- a/CURATORS.md +++ b/CURATORS.md @@ -4,7 +4,7 @@ Originally this was handled largely by Michael Snoyman, but now we are a team of 4 people handling requests weekly in rotation. Curation activities are mostly automated, and do not take up a significant amount of time. -## Workflow +## Workflow overview This section sketches out at a high level how the entire Stackage build/curation process works: @@ -23,10 +23,30 @@ process works: 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. +build later fails (see "Adding Debian packages for required system tools or libraries"), +then block the package until it's fixed. + +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 @@ -36,20 +56,136 @@ 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 +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. Use [Ubuntu Package content search](http://packages.ubuntu.com/) to determine which package provides particular dev files (it defaults to xenial which is the version used to build Nightly). -Note we generally don't install/run services needed for testsuites in the docker images - packages with tests requiring some system service can be add to expected-test-failures. +Note that we generally don't install/run services needed for testsuites in the docker images - packages with tests requiring some system service can be added to `expected-test-failures`. +It's good to inform the maintainer of any disabled tests (commenting in the PR is sufficient). + +If a new package fails to build because of missing system libraries we often ask the maintainer to help figure out what to install. ### Upgrading GHC version The Dockerfile contains information on which GHC versions should be used. You @@ -86,7 +222,7 @@ You'll need to get your SSH public key added to the machine. ~/.ssh/config info: ``` Host stackage-build User curators - Hostname ec2-52-5-20-252.compute-1.amazonaws.com + Hostname build.stackage.org ``` ### Running the build script @@ -106,7 +242,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.: @@ -126,13 +262,13 @@ If a build fails for bounds reasons, see all of the advice above. If the code itself doesn't build, or tests fail, open up an issue and then either put in a version bound to avoid that version or something else. It's difficult to give universal advice on how to solve things, since each situation is unique. Let's -develop this advice over time. For now: if you're not sure, ask Michael for -guidance. +develop this advice over time. For now: if you're not sure, ask for guidance. __`NOPLAN=1`__ If you wish to rerun a build without recalculating a build plan, you can set the environment variable `NOPLAN=1`. This is useful for such cases as an intermittent test failure, out of memory -condition, or manually tweaking the plan file. +condition, or manually tweaking the plan file. This is the default for +LTS builds. ### Timing @@ -146,9 +282,58 @@ 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. diff --git a/automated/build.sh b/automated/build.sh index 1dd7dadd..c70be3a3 100755 --- a/automated/build.sh +++ b/automated/build.sh @@ -77,7 +77,7 @@ 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 +./stackage-curator --version ) 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" @@ -121,7 +121,7 @@ docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "stackage-curator check --plan-fil # 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 && exec sudo -E -u $USER env \"HOME=$HOME\" \"PATH=\$PATH\" stackage-curator make-bundle --plan-file $PLAN_FILE --docmap-file $DOCMAP_FILE --bundle-file $BUNDLE_FILE --target $TARGET" +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 --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 diff --git a/automated/cron.sh b/automated/cron.sh index 728fef40..2d804ad8 100755 --- a/automated/cron.sh +++ b/automated/cron.sh @@ -13,8 +13,8 @@ docker pull $IMAGE stack update +date echo "Running stackage-server-cron..." -echo "('tail -f $CRONDIR/stackage-server-cron.log' to watch)" docker run --rm \ -v $CRONDIR:/home/ubuntu \ -v $HOME/.stack/indices:/home/ubuntu/.stack/indices:ro \ diff --git a/build-constraints.yaml b/build-constraints.yaml index baa974ba..5d2d0fd3 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1,6 +1,14 @@ ghc-major-version: "8.0" # Constraints for brand new builds packages: + "Joe M @joe9": + - logger-thread + - text-generic-pretty + + "Li-yao Xia @Lysxia": + - generic-random + - postgresql-orm < 0 + "Tobias Dammers @tdammers": - ginger @@ -9,6 +17,7 @@ packages: "Luke Murphy @lwm": - tasty-discover + - lentil "Marco Zocca @ocramz": - sparse-linear-algebra @@ -39,7 +48,7 @@ packages: - unicode-transforms "Aleksey Uimanov @s9gf4ult": - # - postgresql-query # BLOCKED derive + # - postgresql-query # via: derive - hreader - hset @@ -67,18 +76,18 @@ packages: - once "David Johnson @dmjio": - # GHC 8 - envy + # - envy # bounds: GHC 8 - s3-signer - # bounds - google-translate + - google-translate - hackernews - # bounds - ses-html - # via stripe-http-streams - stripe-haskell - # via http-streams - stripe-http-streams - # - stripe-core # BLOCKED aeson < 1.0 + # - ses-html # bounds: time 1.6 + # - stripe-haskell # via: stripe-http-streams + # - stripe-http-streams # via: http-streams + # - stripe-core # bounds: aeson 1.0 "Piotr Mlodawski @pmlodawski": - signal - # GHC 8 - ghc-session + # - ghc-session # bounds: GHC 8 "Michael Snoyman michael@snoyman.com @snoyberg": - bzlib-conduit @@ -118,7 +127,7 @@ packages: - yesod-websockets - cereal-conduit - binary-conduit - # GHC 8 - lzma-conduit + - lzma-conduit - mutable-containers - hpc-coveralls - monad-unlift @@ -132,7 +141,7 @@ packages: - base16-bytestring - c2hs - cassava - # GHC 8 - csv-conduit + - csv-conduit - executable-hash - executable-path - foreign-store @@ -143,13 +152,13 @@ packages: - indents - language-c - lhs2tex - # GHC 8 2.5 compilation failure - persistent-mongoDB + # - persistent-mongoDB # bounds: http-api-data - pretty-class - th-expand-syns - th-lift - quickcheck-assertions - # - hackage-mirror BLOCKED aws + # - hackage-mirror # via: aws - wai-middleware-consul - wai-middleware-crowd - monad-logger-json @@ -193,14 +202,13 @@ packages: - extra - bake - ghcid - - pugixml - hexml "Alan Zimmerman @alanz": - hjsmin - language-javascript - Strafunski-StrategyLib - # - HaRe # BLOCKED ghc-mod via pipes + # - HaRe # via: cabal-helper, ghc-mod, rosezipper "Alfredo Di Napoli @adinapoli": - mandrill @@ -288,9 +296,9 @@ packages: - lucid - osdkeys - pdfinfo - # GHC 8 https://github.com/fpco/stackage/issues/1062 - present + # - present # compilation failure against haskell-src-exts - pure-io - # GHC 8 - scrobble + # - scrobble # compilation errors against time 1.6 - shell-conduit - sourcemap - hindent @@ -299,8 +307,8 @@ packages: - path - intero - weigh - # GHC 8 - haskell-docs - # bounds - structured-haskell-mode + - haskell-docs + # - structured-haskell-mode # bounds: haskell-src-exts # via: applicative-quoters "Alberto G. Corona @agocorona": - RefSerialize @@ -314,17 +322,17 @@ packages: "Edward Kmett @ekmett": - ad - adjunctions - # GHC 8 & bounds - approximate + # - approximate # bounds: binary, comonad, pointed - bifunctors - bits - # GHC 8 - bound + # - bound # bounds: binary, comonad, doctest, transformers, vector - bytes - charset - comonad - comonads-fd - comonad-transformers - # GHC 8 & bounds - compensated - # bounds - compressed + # - compensated # bounds: binary, comonad, generic-deriving, safecopy + # - compressed # bounds: comonad, pointed - concurrent-supply - constraints - contravariant @@ -350,7 +358,7 @@ packages: - monadic-arrays - monad-products - monad-products - # GHC 8 - monad-st + # - monad-st # bounds: transformers - mtl - nats - numeric-extras @@ -379,7 +387,7 @@ packages: - gl - lens-aeson - zlib-lens - # GHC 8 - hyperloglog + # - hyperloglog # bounds: approximate, binary, comonad "Andrew Farmer @xich": - scotty @@ -433,29 +441,27 @@ packages: "Patrick Brisbin @pbrisbin": - gravatar - "Paul Harper @benekastah": - [] - # - yesod-auth-oauth2 # BLOCKED aeson-1.0 + # "Paul Harper @benekastah": + # - yesod-auth-oauth2 # bounds: aeson-1.0, http-client, load-env "Felipe Lessa @meteficha": - # bounds - country-codes - # bounds - esqueleto - # - fb # BLOCKED http-conduit 2.2 - # bounds - fb-persistent - # VERSION MISSING Compilation failure against aeson https://github.com/prowdsponsor/mangopay/issues/32 - mangopay + # - country-codes # bounds: tagsoup + # - fb # bounds: aeson, http-conduit-2.2, hspec + # - fb-persistent # bounds: persistent # via: fb + # - mangopay # compilation failure against aeson - nonce - serversession - serversession-backend-acid-state - # bounds - serversession-backend-persistent - # bounds - serversession-backend-redis - # - serversession-frontend-snap + # - serversession-backend-persistent # bounds: persistent, persistent-postgresql, persistent-sqlite + # - serversession-backend-redis # bounds: hedis + # - serversession-frontend-snap # bounds: snap, snap-core - serversession-frontend-wai - serversession-frontend-yesod - thumbnail-plus - # bounds - yesod-auth-account-fork - # GHC 8 - yesod-auth-fb - # - yesod-fb # BLOCKED http-conduit 2.2 via fb - # VERSION MISSING Compilation failure against aeson https://github.com/prowdsponsor/mangopay/issues/32 - yesod-mangopay + # - yesod-auth-account-fork # bounds: persistent + # - yesod-auth-fb # bounds: time, transformers # via fb, via yesod-fb + # - yesod-fb # via fb + # - yesod-mangopay # via mangopay "Alexander Altman @pthariensflame": # Maintaining on behalf of @roelvandijk: @@ -467,15 +473,15 @@ packages: "Trevor L. McDonell @tmcdonell": - accelerate - # "Liam O'Connor @liamoc": - # GHC 8 - patches-vector - # GHC 8 - composition-tree - # GHC 8 & bounds - dixi - # GHC 8 - latex-formulae-image - # via latex-formulae-image - latex-formulae-pandoc - # GHC 8 - latex-formulae-hakyll - # GHC 8 & bounds - agda-snippets - # GHC 8 - agda-snippets-hakyll + "Liam O'Connor @liamoc": + # - patches-vector # bounds: QuickCheck, edit-distance-vector, hspec + # - composition-tree # bounds: QuickCheck + # - dixi # bounds: aeson, lens, time, [...] + - latex-formulae-image + # - 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 @@ -519,10 +525,11 @@ packages: "Andrew Thaddeus Martin @andrewthad": - yesod-table - "Chris Allen bitemyapp": + "Chris Allen @bitemyapp": - machines-directory - machines-io - bloodhound + - esqueleto # bounds: persistent "Adam Bergmark @bergmark": - HUnit @@ -556,11 +563,11 @@ packages: - messagepack-rpc # "Boris Lykah @lykahb": - # GHC 8 - groundhog - # GHC 8 - groundhog-th - # GHC 8 - groundhog-sqlite - # GHC 8 - groundhog-postgresql - # GHC 8 - groundhog-mysql + # - groundhog # bounds: transformers + # - groundhog-th # via groundhog + # - groundhog-sqlite # via groundhog + # - groundhog-postgresql # bounds: transformers # via groundhog + # - groundhog-mysql # bounds: transformers # via: groundhog, mysql-simple "Janne Hellsten @nurpax": - sqlite-simple @@ -573,14 +580,14 @@ packages: - hPDB-examples - homplexity - wordpass - # - json-autotype # BLOCKED aeson 1.0 + # - json-autotype # bounds: aeson 1.0, lens - posix-realtime "Dom De Re @domdere": - cassava-conduit "Dominic Steinitz @idontgetoutmuch": - # - yarr # https://github.com/leventov/yarr/issues/10 + # - yarr # compilation error against fixed-vector https://github.com/leventov/yarr/issues/10 - random-fu "Ben Gamari @bgamari": @@ -643,8 +650,8 @@ packages: - opensource "Joey Hess @joeyh": - # via esqueleto - git-annex - # via github - github-backup + # - git-annex # bounds: bloomfilter, [...] # via: aws, esqueleto, [...] # + # - github-backup # bounds: github - Win32-extras - concurrent-output - mountpoints @@ -658,34 +665,33 @@ packages: - repa - repa-io - repa-algorithms - # GHC 8 - kanji + # - kanji # bounds: ghc 8, base "Ketil Malde @ketil-malde": - biocore - biofasta - biofastq - # 0.3.7.1 Compilation failure due to -Werror - biosff + # - biosff # 0.3.7.1 Compilation failure due to -Werror - blastxml - bioace - biopsl - # VERSION MISSING Compilation failure against c2hs https://github.com/ingolia/SamTools/issues/3 - samtools + # samtools # Compilation failure against c2hs https://github.com/ingolia/SamTools/issues/3 - seqloc - bioalign - BlastHTTP - # The following have out-of-date dependencies currently - # biostockholm memexml RNAwolf - # , "Biobase BiobaseDotP BiobaseFR3D BiobaseInfernal BiobaseMAF" - # , "BiobaseTrainingData BiobaseTurner BiobaseXNA BiobaseVienna" - # , "BiobaseTypes BiobaseFasta" - # MC-Fold-DP + # Outdated dependencies: + # biostockholm memexml RNAwolf Biobase BiobaseDotP + # BiobaseFR3D BiobaseInfernal BiobaseMAF BiobaseTrainingData + # BiobaseTurner BiobaseXNA BiobaseVienna" + # BiobaseTypes BiobaseFasta MC-Fold-DP "Florian Eggenhofer @eggzilla": - ClustalParser - # GHC 8 - EntrezHTTP + - EntrezHTTP - Genbank - # GHC 8 - RNAlien - # via EntrezHTTP - Taxonomy - # via ENtrezHTTP - TaxonomyTools + - RNAlien + - Taxonomy + # - TaxonomyTools # build failure - ViennaRNAParser "Silk ": @@ -719,7 +725,7 @@ packages: - hledger-ui - hledger-web - hledger-api - # via Diff - shelltestrunner + # - shelltestrunner # bounds: Diff, HUnit - quickbench - regex-compat-tdfa @@ -727,16 +733,16 @@ packages: - io-manager "Dimitri Sabadie @phaazon": - # - al FIXME temporary, figure out why it's not working with stackage-build + # - al # FIXME temporary, figure out why it's not working with stackage-build - event - hid - # GHC 8 - luminance - # GHC 8 - luminance-samples + - luminance + # - luminance-samples # bounds: base - monad-journal - # GHC 8 - msi-kb-backlit + # - msi-kb-backlit # bounds: ghc, base - smoothie - # bounds - tellbot - # GHC 8 - wavefront + # - tellbot # bounds: bifunctors, http-conduit, tagsoup + - wavefront - zero "Thomas Schilling @nominolo": @@ -744,12 +750,11 @@ packages: "Boris Buliga @d12frosted": - io-choice - # UNKNOWN VERSION Compilation failure 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-mod # BLOCKED pipes 4.2 & optparse-applicative 0.13.0.0 when #1784 gets lifted - # - cabal-helper # BLOCKED extra 1.5 + - ghc-mod + - cabal-helper "Yann Esposito yogsototh @yogsototh": - human-readable-duration @@ -770,14 +775,14 @@ packages: "Toralf Wittner @twittner": - bytestring-conversion - # GHC8/3.1.0 compilation failure - cql - # via cql - cql-io + - cql + - cql-io - redis-resp - redis-io - # - swagger # BLOCKED aeson 1.0 + - swagger - tinylog - wai-predicates - # GHC 8 - wai-routing + - wai-routing - zeromq4-haskell "trupill@gmail.com": @@ -803,10 +808,10 @@ packages: - bytestring-trie - data-accessor - data-accessor-mtl - # GHC 8 - file-location + # - file-location # bounds: transformers - fuzzcheck - haddock-api - # haskell-src-exts 1.18 - here + - here - hlibgit2 - gitlib-libgit2 - hostname-validate @@ -820,7 +825,7 @@ packages: - Chart-cairo - ghc-events - monad-extras - # - stack < 9.9.9 # BLOCKED http-conduit 2.2 + # - stack < 9.9.9 # bounds: ghc, template-haskell - optparse-simple - hpack @@ -849,32 +854,33 @@ packages: - Spock-core - Spock-api - Spock-api-server - # via digestive-functors - Spock-digestive + # - Spock-digestive # via: digestive-functors - Spock-worker - graph-core - hvect - reroute - users - # via esqueleto - users-persistent + # - users-persistent # via: esqueleto - users-postgresql-simple - users-test - validate-input - ignore - elm-bridge - # via digestive-functors - digestive-bootstrap + # digestive-bootstrap # via: digestive-functors, digestive-functors-blaze - blaze-bootstrap - dataurl - psql-helpers - superbuffer - timespan + - distance "Joey Eremondi @JoeyEremondi": - aeson-pretty - digest - # via elm-compiler - elm-build-lib - # bounds - elm-compiler + # - elm-build-lib # via: elm-compiler + # - elm-compiler # bounds: aeson, binary, transformers, [...] - elm-core-sources - # bounds - elm-package + # - elm-package # bounds: HTTP, binary # via: elm-compiler, [...] - language-glsl - prettyclass - QuasiText @@ -927,13 +933,12 @@ packages: - indentation-parsec "Alois Cochard @aloiscochard": - [] - # GHC 8 & bounds - codex - # GHC 8 - machines-binary - # GHC 8 - machines-process - # GHC 8 - sarsi + # - codex # bounds: http-client, wreq + - machines-binary + - machines-process + # - sarsi # bound: cryptonite # on behalf of Bryan O'Sullivan @bos: - # - wreq # BLOCKED http-client 0.5 + # - wreq # bounds: authenticate-oauth, http-client "Andraz Bajt @edofic": - effect-handlers @@ -948,7 +953,7 @@ packages: - cabal-rpm - cabal-sort - hslua - # - idris # BLOCKED safe + # - idris # bounds: safe - cairo - gio @@ -961,20 +966,20 @@ packages: - webkitgtk3-javascriptcore - ghcjs-codemirror - # via gi-gtk https://github.com/fpco/stackage/issues/1569 - ghcjs-dom - # via gi-gtk https://github.com/fpco/stackage/issues/1569 - jsaddle - # GHC 8 & bounds - leksah-server - # GHC 8 - ltk + # - ghcjs-dom # via: ghcjs-dom-jsaddle # https://github.com/fpco/stackage/issues/1569 + # - jsaddle # via: ret-tf # https://github.com/fpco/stackage/issues/1569 + # - leksah-server # bounds: ghc, base + # - ltk # bounds: ghc, base - vado - # GHC 8 - vcsgui + # - vcsgui # via: gi-gtk-hs - vcswrapper "Renzo Carbonara @k0001": - network-simple - # - pipes-aeson # BLOCKED pipes 4.2 - - pipes-attoparsec - # GHC 8 - pipes-binary - - pipes-network + # - pipes-aeson # bounds: pipes 4.3 + # - pipes-attoparsec # bounds: pipes 4.3 + # - pipes-binary # bounds: binary, pipes, transformers + # - pipes-network # bounds: pipes 4.3 "Tomas Carnecky @wereHamster": - avers @@ -989,7 +994,7 @@ packages: - google-cloud - kraken - libinfluxdb - # - mole # BLOCKED optparse-applicative < 0.13 + # - mole # bounds: hspec, optparse-applicative - publicsuffix - rethinkdb-client-driver @@ -1011,9 +1016,8 @@ packages: "Leon Mergen @solatis": - base32string - base58string - # BLOCKED wreq: - # - bitcoin-api - # - bitcoin-api-extra + # - bitcoin-api # via: wreq + # - bitcoin-api-extra # via: bitcoin-api, wreq - bitcoin-block - bitcoin-script - bitcoin-tx @@ -1030,7 +1034,7 @@ packages: - gitson - pcre-heavy - http-link-header - # - microformats2-parser # BLOCKED aeson-qq + - microformats2-parser - hspec-expectations-pretty-diff "Francesco Mazzoli @bitonic": @@ -1054,6 +1058,7 @@ packages: - generics-sop-lens - github - insert-ordered-containers + - integer-logarithms - JuicyPixels-scale-dct - lattices - monad-http @@ -1076,15 +1081,16 @@ packages: # Not a maintainer - arithmoi + - folds - friendly-time - hashable - # - haxl + - haxl - monad-time - packdeps - recursion-schemes - unordered-containers - # fft + - fft - carray - ix-shapable - fft @@ -1092,13 +1098,13 @@ packages: # Regex packages by Chris Kuklewicz - regex-base - regex-compat - # 0.91 Compilation failure due to -Werror - regex-dfa - # 0.90 Compilation failure due to -Werror - regex-parsec + # - regex-dfa # 0.91 Compilation failure due to -Werror + # - regex-parsec # 0.90 Compilation failure due to -Werror - regex-pcre - regex-posix - regex-tdfa - # GHC 8 - regex-tdfa-utf8 - # 0.91 Compilation failure due to -Werror - regex-tre + # regex-tdfa-utf8 # bounds: ghc, base + # - regex-tre # 0.91 Compilation failure due to -Werror # Universe - universe @@ -1343,12 +1349,11 @@ packages: - plot - plot-gtk - plot-gtk3 - - vector-buffer - # 0.1.2.1 Compilation failure against hmatrix https://github.com/amcphail/hmatrix-repa/issues/2 - hmatrix-repa + - hmatrix-repa "Noam Lewis @sinelaw": - # via hxt-tagsoup - xml-to-json + # - xml-to-json # via: hexpat - xml-to-json-fast - digits - unification-fd @@ -1360,13 +1365,13 @@ packages: - markdown-unlit "Mateusz Kowalczyk @Fuuzetsu": - # 0.4.1.1 compilation failure against GHC 8 - aeson-schema + # - aeson-schema # bounds: QuickCheck, aeson # compilation failure for 0.4.1.1 - H - inline-r # "David Fox @ddssff": - # GHC bug https://github.com/ddssff/debian-haskell/issues/6 - debian - # via memoize - cabal-debian + # - debian # GHC bug: https://github.com/ddssff/debian-haskell/issues/6 + # - cabal-debian # via: debian "Stefan Saasen @juretta": - jwt @@ -1381,7 +1386,7 @@ packages: - autoexporter - bento - bmp # Maintained by @benl23x5. - # GHC 8 - ekg-statsd # Maintained by @tibbe. + - ekg-statsd # Maintained by @tibbe. - flow - github-release - gloss # Maintained by @benl23x5. @@ -1421,8 +1426,8 @@ packages: - streaming-wai # "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 @@ -1452,28 +1457,28 @@ packages: - clash-vhdl - clash-verilog - clash-systemverilog - # GHC 8 - clash-ghc + - clash-ghc "Athan Clark @athanclark": - commutative - # via digestive functors - digestive-functors-lucid - #- ltext # https://github.com/ltext/ltext/issues/22 + # - digestive-functors-lucid # via: digestive functors + # - ltext # compilation failure: https://github.com/ltext/ltext/issues/22 - markup - # via poly-arity - nested-routes + # - nested-routes # via: HList - path-extra - # via HList - poly-arity (sent e-mail to HList maintainer) + # - poly-arity # via HList (sent e-mail to HList maintainer) - urlpath - wai-transformers - # - wai-middleware-content-type # BLOCKED aeson 1.0 via pandoc - # - wai-middleware-verbs # BLOCKED aeson 1.0 via pandoc + - wai-middleware-content-type + - wai-middleware-verbs - webpage - composition-extra - rose-trees - sets - timemap - - tries + - triesn - path-extra - # via poly-arity - pred-trie + # - pred-trie # via poly-arity - pred-set - HSet @@ -1503,7 +1508,7 @@ packages: - lens-family - streaming - streaming-bytestring - + - streaming-utils "Justin Le @mstksg": - auto @@ -1522,18 +1527,18 @@ packages: - serf - uri-templater - librato - # bounds - datadog - # bounds - engine-io-growler - # bounds - flowdock - # GHC 8 - growler + # - datadog # bounds: aeson + # - engine-io-growler # bounds: websockets # via [...] + # - flowdock # bounds: aeson, http-client, [...] + # - growler # bounds: pipes, pipes-aeson, transformers "Michael Xavier @MichaelXavier": # - angel # https://github.com/MichaelXavier/Angel/issues/52 - uri-bytestring - # Can't build on stackage server https://github.com/MichaelXavier/phash/issues/5 - phash + # - phash # Can't build on stackage server https://github.com/MichaelXavier/phash/issues/5 - cron - # GHC 8 - tasty-tap - # via tasty-tap - tasty-fail-fast + - tasty-tap + - tasty-fail-fast - drifter - drifter-postgresql @@ -1543,33 +1548,33 @@ packages: "Sam Rijs @srijs": - ndjson-conduit - # GHC 8 - attoparsec-trans + # - attoparsec-trans # bounds: transformers - operational-class - result - # "Anupam Jain @ajnsit": - # GHC 8 - wai-routes + "Anupam Jain @ajnsit": + - wai-routes "Daniel Patterson @dbp": - # via digestive-functors - hspec-snap + # - hspec-snap # bounds: hspec, hspec-core # via: digestive-functors - hworker - # - hworker-ses BLOCKED amazonka-core + # - hworker-ses # 0.1.1.0 build failure - fn - # via heist - fn-extra + # - fn-extra # via: digestive-functors "Chris Wong @lfairy": - nationstates "Mathieu Boespflug @mboes": - # via ihaskell & via ihaskell-blaze - ihaskell-inline-r + # - ihaskell-inline-r # via: ihaskell, ihaskell-blaze - cassette + - choice - distributed-closure - H - inline-r - jni - jvm - # BLOCKED GHC 8.0.2 - # - sparkle + # - sparkle # build failure, requires gradle - th-lift "Christopher Reichert @creichert": @@ -1580,26 +1585,26 @@ packages: - yesod-auth-basic # "Alcides Viamontes @alcidesv": - # GHC 8 - second-transfer + # - second-transfer # bounds: GHC 8 # "Hirotomo Moriwaki @philopon": - # GHC 8 & bounds - 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 - types-compat - # GHC 8 - web-routing - # GHC 8 - bytestring-read - # GHC 8 & bounds - 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 # GHC 8 + # - haddocset # GHC 8 "Kai Zhang @kaizhang": - clustering @@ -1618,13 +1623,13 @@ packages: - conduit-parse - opml-conduit - rss-conduit - # - imm # BLOCKED derive + - imm - timerep - xml-conduit-parse "Kostiantyn Rybnikov @k-bx": - protocol-buffers - # - hprotoc # https://github.com/k-bx/protocol-buffers/issues/45 + # - hprotoc # build failure https://github.com/k-bx/protocol-buffers/issues/45 - protocol-buffers-descriptor - ekg-core - digits @@ -1641,8 +1646,8 @@ packages: - hedis "Rob O'Callahan ropoctl@gmail.com @rcallahan": - - pipes-fastx - # - pipes-illumina # BLOCKED pipes 4.2 via pipes-bgzf + # - pipes-fastx # via pipes-attoparsec + # - pipes-illumina # via: pipes-bgzf - seqalign - thermonuc - xlsior @@ -1650,17 +1655,16 @@ packages: "John Lenz @wuzzeb": - yesod-auth-account - yesod-static-angular - # - hspec-webdriver # https://github.com/kallisti-dev/hs-webdriver/issues/98 - # - webdriver-angular # https://github.com/kallisti-dev/hs-webdriver/issues/98 + - hspec-webdriver + - webdriver-angular "Sven Heyll @sheyll": - b9 - type-spec - pretty-types - "Will Thompson @wjt": - [] - # - bustle https://github.com/vasylp/hgettext/issues/10 + # "Will Thompson @wjt": + # - bustle # build failure against haskell-src-exts https://github.com/vasylp/hgettext/issues/10 "Jakub Fijałkowski @jakubfijalkowski": - hlibsass @@ -1686,21 +1690,19 @@ packages: "Sergey Alirzaev @l29ah": - monad-peel - NineP - # GHC 8 - Network-NineP + - Network-NineP "Oliver Charles @ocharles": - # GHC 8 - engine-io + # - engine-io # bounds: aeson, websockets - diff3 - # GHC 8 & bounds - digestive-functors-aeson - # GHC 8 - exhaustive - # GHC 8 - libsystemd-journal - # GHC 8 - network-carbon - # GHC 8 - socket-io + # - digestive-functors-aeson # bounds: aeson, lens # via: digestive-functors + - exhaustive + - libsystemd-journal + - network-carbon + # - socket-io # bounds: aeson, via: engine-io - tasty-rerun - logging-effect - # "Scott Murphy @smurphy8": - "Antoni Silvestre @asilvestre": # Test suite needs a running neo4j server with auth disabled # unfortunately the cabal package name and the github repo don't have the exact same name @@ -1717,6 +1719,7 @@ packages: - base-orphans - code-page - deriving-compat + - echo - generic-deriving - hashmap - invariant @@ -1726,6 +1729,7 @@ packages: - proxied - text-show - text-show-instances + - thread-local-storage "Kirill Zaborsky @qrilka": - xlsx @@ -1735,39 +1739,38 @@ packages: "Matthew Pickering @mpickering": - refact - # bounds - servant-pandoc + # - servant-pandoc # bounds: pandoc-types, servant-docs - ghc-exactprint - # - apply-refact # BLOCKED optparse-applicative < 0.13 + # - apply-refact # "Andrew Gibiansky @gibiansky": - # GHC 8 - ihaskell - # via ihaskell - 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 - # 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": - [] - # - Agda # BLOCKED haskell-src-exts < 1.18 and QuickCheck < 2.9 + - Agda "James Cook @mokus0": - dependent-sum - # - dependent-sum-template BLOCKED dependent-sum-0.4 + # - dependent-sum-template # bounds: dependent-sum - dependent-map - dice - hstatsd - misfortune "Timo von Holtz @tvh": - # via haxl - haxl-amazonka + - haxl-amazonka - hasql-migration - servant-JuicyPixels @@ -1812,7 +1815,7 @@ packages: - storable-record "Brandon Martin @codedmart": - # GHC 8 & via engine-io - engine-io-wai + # - engine-io-wai # bounds: ghc, base - rethinkdb "Michael Walker @barrucadu": @@ -1836,9 +1839,10 @@ packages: - from-sum - hailgun - hailgun-simple - # GHC 8 - ig + # - ig # bounds: http-conduit, transformers - natural-transformation - opaleye-trans + - pretty-simple - read-env-var - yahoo-finance-api @@ -1856,15 +1860,15 @@ packages: - pointedlist - word-trie - xdg-basedir - # - yi -- disabled because of https://github.com/commercialhaskell/stack/issues/2795 + # - yi # build failure https://github.com/commercialhaskell/stack/issues/2795 - yi-core - # - yi-frontend-pango -- disabled because of https://github.com/commercialhaskell/stack/issues/2795 + # - yi-frontend-pango # build failure https://github.com/commercialhaskell/stack/issues/2795 - yi-frontend-vty - yi-fuzzy-open - yi-ireader - yi-keymap-cua - yi-keymap-emacs - #- yi-keymap-vim # https://github.com/yi-editor/yi/issues/954 + - yi-keymap-vim - yi-language - yi-misc-modes - yi-mode-haskell @@ -1879,9 +1883,9 @@ packages: - GPipe-GLFW # "Csaba Hruska @csabahruska": - # GHC 8 - lambdacube-ir - # GHC 8 & via wavefront - lambdacube-gl - # GHC 8 & bounds - lambdacube-compiler + # - lambdacube-ir # bounds: aeson + # - lambdacube-gl # bounds: aeson, time # via: lambdacube-ir + # - lambdacube-compiler # bounds: aeson, megaparsec # via: lambdacube-ir "Spencer Janssen @spencerjanssen": - Xauth @@ -1901,9 +1905,8 @@ packages: - http-common - http-streams - "Devan Stormont @stormont": - [] - # - forecast-io # BLOCKED aeson 1.0 + # "Devan Stormont @stormont": + # - forecast-io # bounds: aeson 1.0 "Sean Hunt @markfine": - postgresql-schema - # test failures https://github.com/fpco/stackage/issues/873 - sbp + # - sbp # build failure "Jinjing Wang @nfjinjing": - moesocks "Gregory W. Schwartz @GregorySchwartz": - - fasta - - diversity - - modify-fasta + # - fasta # via pipes-attoparsec + # - diversity # via fasta + # - modify-fasta # via fasta - tree-fun - random-tree - clumpiness - # - find-clumpiness # BLOCKED optparse-applicative https://github.com/GregorySchwartz/find-clumpiness/issues/1 - - blosum + # - find-clumpiness # build failure against optparse-applicative https://github.com/GregorySchwartz/find-clumpiness/issues/1 + # - blosum # via fasta "Simon Marechal @bartavelle": - compactmap @@ -1961,8 +1964,8 @@ packages: - hruby - language-puppet - tar-conduit - # Doesn't allow http-types >= 0.9.1 - stm-firehose - # GHC 8 & doesn't allow aeson >= 0.11.2.0 & doesn't allow lens >= 4.14 - hslogstash + # - stm-firehose # bounds: http-types, stm-conduit, transformers, wai, warp + # - hslogstash # bounds: aeson, lens, time, transformers # via: stm-firehose "Mark Karpov @mrkkrp": - megaparsec @@ -1980,13 +1983,17 @@ packages: - tagged-identity - req - req-conduit + - cue-sheet + - wave + - flac + - flac-picture # "Thomas Bereknyei ": - # GHC 8 - multiplate + # - multiplate # bounds: transformers - # "Sumit Sahrawat @sumitsahrawat": - # GHC 8 & via plot - plot-gtk-ui - # GHC 8 - calculator + "Sumit Sahrawat @sumitsahrawat": + - plot-gtk-ui + # - calculator # bounds: ghc, base "Emmanuel Touzery @emmanueltouzery": - app-settings @@ -1994,7 +2001,7 @@ packages: "Nickolay Kudasov @fizruk": - http-api-data - # - smsaero # https://github.com/GetShopTV/smsaero/issues/12 + # - smsaero # build failure against aeson https://github.com/GetShopTV/smsaero/issues/12 - swagger2 - servant-swagger @@ -2010,13 +2017,13 @@ packages: "Facundo Domínguez @facundominguez": - distributed-process - # GHC 8 - distributed-process-async - # GHC 8 - distributed-process-client-server - # GHC 8 - distributed-process-execution - # GHC 8 - distributed-process-extras - # GHC 8 - distributed-process-registry - # GHC 8 - distributed-process-supervisor - # GHC 8 - distributed-process-task + # - distributed-process-async # GHC 8 + # - distributed-process-client-server # GHC 8 + # - distributed-process-execution # GHC 8 + # - distributed-process-extras # GHC 8 + # - distributed-process-registry # GHC 8 + # - distributed-process-supervisor # GHC 8 + # - distributed-process-task # GHC 8 - distributed-process-simplelocalnet - distributed-static - network-transport @@ -2026,27 +2033,27 @@ packages: - 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 - # - twitter-conduit # BLOCKED http-conduit 2.2 - # - twitter-types # BLOCKED derive - # - twitter-types-lens # BLOCKED derive + # - twitter-conduit # bounds: http-conduit 2.2 # via: twitter-types, twitter-types-lens + # - twitter-types # via: derive + # - twitter-types-lens # via: twitter-types # "Robbin C. robbinch": - # via lzma-conduit - zim-parser + # - zim-parser # via: lzma "David Wiltshire @dave77": # on behalf of Alexey Karakulov @w3rs - hashable-time # "Tim Baumann @timjb": - # GHC 8 & via engine-io - engine-io-yesod + # - engine-io-yesod # bounds: ghc, base - "Tim McGilchrist @tmcgilchrist": - # bounds - riak + "Tim McGilchrist @tmcgilchrist": + - riak - airship "Yuras Shumovich @Yuras": @@ -2057,7 +2064,7 @@ packages: - scanner "Stanislav Chernichkin @schernichkin": - # GHC 8 - partial-isomorphisms + - partial-isomorphisms - vinyl "Christoph Breitkopf @bokesan": @@ -2074,8 +2081,7 @@ packages: - nfc "Adam Curtis @kallisti-dev": - [] - # - webdriver # https://github.com/kallisti-dev/hs-webdriver/issues/98 + - webdriver "Luke Iannini @lukexi": - inline-c @@ -2083,7 +2089,7 @@ packages: - ekg # "Emin Karayel @ekarayel": - # GHC 8 - sync-mht + # - sync-mht # bounds: ghc, base "Michael Schröder @mcschroeder": - ctrie @@ -2092,8 +2098,8 @@ packages: "Greg Weber @gregwebs": - base-noprelude - # "Andrew Lelechenko @Bodigrim": - # Missing test files https://github.com/fpco/stackage/pull/979 - exp-pairs + "Andrew Lelechenko @Bodigrim": + - exp-pairs "Stefan Kersten @kaoskorobase": - hsndfile @@ -2106,18 +2112,17 @@ packages: # Missing test files https://github.com/fpco/stackage/issues/1001 - hashids # "Joe Hermaszewski @expipiplus1": - # GHC 8 & via memoize - exact-real + # - exact-real # bounds: ghc, base # "Jonatan Sundqvist jonatanhsundqvist@gmail.com @SwiftsNamesake": - # bounds - Cartesian - # bounds - Michelangelo + # - Cartesian # bounds: lens + # - Michelangelo # bounds: lens # via: Wavefront - "Henry J. Wylde @hjwylde": - [] - # - git-fmt # BLOCKED optparse-applicative 0.13 - # - omnifmt # BLOCKED optparse-applicative 0.13 - # aeson & extra - werewolf - # aeson & extra & http-client & http-client-tls - werewolf-slack + # "Henry J. Wylde @hjwylde": + # - git-fmt # bounds: optparse-applicative 0.13 + # - omnifmt # bounds: optparse-applicative 0.13 + # - werewolf # bounds: aeson, extra, lens + # - werewolf-slack # bounds: aeson, extra, http-client, http-client-tls # via: werewolf "Will Sewell @willsewell": - benchpress @@ -2134,6 +2139,7 @@ packages: "Andrew Rademacher @AndrewRademacher": - aeson-casing - graylog + - parsec-numeric "Callum Rogers @CRogers": - should-not-typecheck @@ -2185,19 +2191,19 @@ packages: "Pedro Tacla Yamada @yamadapc": - ascii-progress - drawille - # - extract-dependencies # BLOCKED wreq + # - extract-dependencies # via: package-description-remote - file-modules - frontmatter - read-editor - hspec-setup - # bounds - hzulip + # - hzulip # bounds: aeson, stm-conduit - list-prompt - # GHC 8 - memoization-utils - # - package-description-remote # BLOCKED wreq + # - memoization-utils # bounds: time + # - package-description-remote # via: wreq - projectroot - questioner - # - stack-run-auto # BLOCKED wreq - # aeson 1.0 - hpack-convert + # - stack-run-auto # via: extract-dependencies, wreq + # - hpack-convert # bounds: aeson 1.0 - language-dockerfile "Pascal Hartig @passy": @@ -2209,7 +2215,7 @@ packages: "Denis Redozubov @dredozubov": - tracy - # GHC 8 - hreader-lens + # - hreader-lens # bounds: hreader "Yuji Yamamoto @igrep": - yes-precure5-command @@ -2228,11 +2234,11 @@ packages: - dawg-ord "Amit Levy @alevy": - # 0.4.1 compilation failure - postgresql-orm + # - postgresql-orm # 0.4.1 compilation failure - simple - simple-templates - simple-session - # via postgresql-orm - simple-postgresql-orm + # - simple-postgresql-orm # via: postgresql-orm "Sergey Astanin @astanin": # Stackage server uses Ubuntu 16.04 which ships libzip-1.0.1. @@ -2255,9 +2261,8 @@ packages: "Suhail Shergill @suhailshergill": - extensible-effects - "Justus Adam @JustusAdam": - [] - #- mustache # BLOCKED wreq + # "Justus Adam @JustusAdam": + # - mustache # via: wreq "Cindy Wang @CindyLinz": - NoTrace @@ -2285,7 +2290,7 @@ packages: - turtle-options # "Ruey-Lin Hsu @petercommand": - # GHC 8 - MASMGen + # - MASMGen # bounds: ghc, base "Ozgun Ataman ozgun.ataman@soostone.com @ozataman": - string-conv @@ -2304,7 +2309,7 @@ packages: - Chart-diagrams # "Aaron Levin @aaronmblevin": - # GHC 8 & lots of other packages - haskell-kubernetes + # - haskell-kubernetes # bounds: QuickCheck, aeson, http-api-data, lens, servant, servant-client "Aaron Levin @aaronmblevin": - free-vl @@ -2352,13 +2357,12 @@ packages: - unix-bytestring # "Carlo Hamalainen @carlohamalainen": - # GHC 8 - ghc-imported-from + # - ghc-imported-from # bounds: process-streaming # via: ghc-mod "Fraser Tweedale @frasertweedale": - jose - "Yutaka Nishimura @ynishi": - [] + # "Yutaka Nishimura @ynishi": # - atndapi # https://github.com/ynishi/atndapi/issues/1 "Yoshikuni Jujo @YoshikuniJujo": @@ -2374,33 +2378,32 @@ packages: - hw-bits - hw-conduit - hw-diagnostics - # https://github.com/haskell-works/hw-json/issues/4 - # - hw-json + - hw-json - hw-parser - hw-prim - hw-rankselect - hw-succinct - "Ismail Mustafa @ismailmustafa": - [] - # - handwriting # BLOCKED wreq + # "Ismail Mustafa @ismailmustafa": + # - handwriting # via: wreq "Stephen Diehl @sdiehl": - protolude + - repline + # - picosat # https://github.com/sdiehl/haskell-picosat/issues/6 - "Daishi Nakajima @nakaji_dayo": - [] - # - yesod-job-queue # https://github.com/nakaji-dayo/yesod-job-queue/issues/10 + # "Daishi Nakajima @nakaji_dayo": + # - yesod-job-queue # build failure https://github.com/nakaji-dayo/yesod-job-queue/issues/10 # "Braden Walters @meoblast001": - # - hakyll-sass + # - hakyll-sass # bounds: aeson-pretty "Patrick Thomson @helium": - postgresql-transactional "Tom Murphy @amindfv": - # 0.2.0.5 compilation failure - vivid - # GHC 8 - midair + # - vivid # 0.2.0.5 compilation failure + # - midair # bounds: ghc, base - nano-erl "Toshio Ito @debug-ito": @@ -2424,25 +2427,21 @@ packages: - stratosphere "Alexey Rodiontsev @klappvisor": - [] - # - telegram-api https://github.com/fpco/stackage/issues/1689 + - telegram-api "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.8 - - gi-cairo == 1.0.8 - - gi-gdk == 3.0.8 - - gi-gdkpixbuf == 2.0.8 - - gi-gio == 2.0.8 - - gi-glib == 2.0.8 - - gi-gobject == 2.0.8 - - gi-gtk == 3.0.8 - - gi-pango == 1.0.8 - - gi-soup == 2.4.8 - - gi-javascriptcore == 3.0.8 - - gi-webkit == 3.0.8 + - gi-atk + - gi-cairo + - gi-gdk + - gi-gdkpixbuf + - gi-gio + - gi-glib + - gi-gobject + - gi-gtk + - gi-pango + - gi-soup + - gi-javascriptcore == 3.0.* + - gi-webkit - haskell-gi - haskell-gi-base @@ -2490,10 +2489,8 @@ packages: - exp-pairs - fast-digits - "Greg Hurrell @wincent": - [] - # https://github.com/wincent/docvim/issues/30 - # - docvim + # "Greg Hurrell @wincent": + # - docvim # compilation failure: https://github.com/wincent/docvim/issues/30 "Ashley Yakeley @AshleyYakeley": - countable @@ -2536,7 +2533,7 @@ packages: - camfort - codo-notation - fortran-src - # 0.57 Compilation failure https://github.com/fpco/stackage/pull/1710#issuecomment-235067168 - ixmonad + # - ixmonad # 0.57 Compilation failure https://github.com/fpco/stackage/pull/1710#issuecomment-235067168 - language-fortran "Philipp Schuster @phischu": @@ -2549,9 +2546,8 @@ packages: "Anton Gushcha @ncrashed": - aeson-injector - "Rune K. Svendsen @runeks": - [] - # - bitcoin-payment-channel # BLOCKED aeson 1.0 + # "Rune K. Svendsen @runeks": + # - bitcoin-payment-channel # bounds: QuickCheck, aeson 1.0 # via: haskoin-core "Al Zohali @zohl": - servant-auth-cookie < 0.4.1 || > 0.4.1 @@ -2565,17 +2561,21 @@ packages: "Thierry Bourrillon @tbourrillon": - hocilib - "Matthias Herrmann @2chilled": - [] - # - scrape-changes # BLOCKED wreq + # "Matthias Herrmann @2chilled": + # - scrape-changes # via: wreq "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 "Taras Serduke @tserduke": - do-list @@ -2596,6 +2596,7 @@ packages: "Alex Mason @Axman6": - foldl-statistics + - amazonka-s3-streaming "Ondrej Palkovsky @ondrap": - json-stream @@ -2676,6 +2677,31 @@ packages: "Hans-Peter Deifel @hpdeifel": - hledger-iadd + "Roy Levien @orome": + - crypto-enigma + + "Boldizsár Németh @nboldi": + - instance-control + - references + - haskell-tools-ast + - haskell-tools-backend-ghc + - haskell-tools-rewrite + - haskell-tools-prettyprint + - haskell-tools-refactor + - haskell-tools-demo + - haskell-tools-cli + - haskell-tools-daemon + - haskell-tools-debug + + "David Fisher @ddfisher": + - socket-activation + + "aiya000 @aiya000": + - stack-type + + "Mitsutoshi Aoe @maoe": + - viewprof + # 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 @@ -2713,10 +2739,6 @@ packages: # https://github.com/haskell/vector/issues/142 - primitive < 0.6.2.0 - # https://github.com/fpco/stackage/issues/2108 - - pipes < 4.3.0 - - pipes-safe < 2.2.5 - # https://github.com/fpco/stackage/issues/2127 - leapseconds-announced < 2017.0.0.1 @@ -2726,13 +2748,34 @@ packages: # https://github.com/fpco/stackage/issues/2136 - X11 < 1.7 - # https://github.com/fpco/stackage/issues/2143 - - cryptonite < 0.21 - - memory < 0.14 - - tls < 1.3.9 + # https://github.com/fpco/stackage/issues/2177 + - aeson < 1.1.0.0 - # https://github.com/fpco/stackage/issues/2148 - - rattletrap < 2.1.0 + # https://github.com/fpco/stackage/issues/2180 + - MonadRandom < 0.5 + + # https://github.com/fpco/stackage/issues/2184 + # https://github.com/ekmett/hashable-extras/pull/3 + - hashable < 1.2.5.0 + - intro < 0.1.0.3 + + # https://github.com/fpco/stackage/issues/2194 + - vector < 0.12.0.0 + + # https://github.com/fpco/stackage/issues/2205 + - base-noprelude < 4.9.1.0 + + # https://github.com/fpco/stackage/issues/2206 + - pretty-simple < 1.0.0.5 + + # https://github.com/fpco/stackage/issues/2207 + - xlsx-tabular < 0.2.1.1 + + # https://github.com/fpco/stackage/issues/2223 + - pandoc-types < 1.19 + + # https://github.com/fpco/stackage/issues/2228 + - streaming-commons < 0.1.17 # end of packages @@ -2943,6 +2986,7 @@ expected-test-failures: - distributed-process - distributed-process-execution # https://github.com/haskell-distributed/distributed-process-execution/issues/2 - distributed-process-task + - foldl-statistics # https://github.com/data61/foldl-statistics/issues/2 - fsnotify # Often runs out of inotify handles - idris # https://github.com/fpco/stackage/issues/1382 - ihaskell # https://github.com/gibiansky/IHaskell/issues/551 @@ -2958,6 +3002,8 @@ expected-test-failures: # servers time limit so these shouldn't be removed from # expected-tests unless we know a fix has been released. - cabal-helper + - generic-random + - lens - graphviz - punycode - zip @@ -2981,7 +3027,6 @@ expected-test-failures: - dbmigrations # PostgreSQL - dns # https://github.com/kazu-yamamoto/dns/issues/29 - drifter-postgresql # PostgreSQL - - ersatz # Requires SAT solver - etcd # etcd https://github.com/fpco/stackage/issues/811 - eventstore # Event Store - fb # Facebook app @@ -2990,6 +3035,8 @@ expected-test-failures: - 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-tools-cli # https://github.com/haskell-tools/haskell-tools/issues/230 + - haskell-tools-refactor # https://github.com/haskell-tools/haskell-tools/issues/231 - haskell-neo4j-client # neo4j with auth disabled - hasql # PostgreSQL - hasql-transaction # PostgreSQL @@ -3043,8 +3090,8 @@ expected-test-failures: - haskell-names # 0.7.0 https://github.com/haskell-suite/haskell-names/issues/78 - rematch # No issue tracker, sent e-mail to maintainer https://github.com/fpco/stackage/issues/376 - xlsior # https://github.com/rcallahan/xlsior/issues/1 - - hakyll # https://github.com/jaspervdj/hakyll/issues/491 - ginger # https://bitbucket.org/tdammers/ginger/issues/1/test-suite-failure-due-to-missing-test + - yi-keymap-vim # https://github.com/yi-editor/yi/issues/954 # Assertion failures, these can be real bugs or just limitations # in the test cases. @@ -3062,7 +3109,7 @@ expected-test-failures: - ListLike # No issue tracker, e-mail sent to maintainer - dbus # 0.10.12 No issue tracker, e-mail sent to maintainer - hspec-expectations-pretty-diff # GHC 8 issue not reported upstream since issue tracker disabled - - safecopy # time 1.6 https://github.com/acid-state/safecopy/issues/45 + - jose-jwt # doctest ambiguity https://github.com/fpco/stackage/issues/2169 - servant-server # 0.9.1.1 due to hspec-wai-0.8.0 https://github.com/haskell-servant/servant/issues/643 - sourcemap # https://github.com/chrisdone/sourcemap/issues/3 - text-ldap # # https://github.com/khibino/haskell-text-ldap/issues/1 @@ -3075,6 +3122,7 @@ expected-test-failures: # Misc. - distributed-process-supervisor # # https://github.com/haskell-d - ghcid # Weird conflicts with sandboxingistributed/distributed-process-supervisor/issues/1 + - haskell-docs # GHC bug # Stackage upper bounds, re-enable these when their upper bound is removed - hindent # 4.6.4 @@ -3094,8 +3142,6 @@ expected-test-failures: - hackernews # https://github.com/dmjio/hackernews/issues/19 - - heist # https://github.com/snapframework/heist/issues/95 - - language-lua2 # https://github.com/mitchellwrosen/language-lua2/issues/4 - commutative # https://github.com/athanclark/commutative/issues/4 @@ -3103,6 +3149,8 @@ expected-test-failures: - cubicbezier # https://github.com/kuribas/cubicbezier/issues/3 - yesod-auth-basic # https://github.com/creichert/yesod-auth-basic/issues/1 + + - folds # https://github.com/ekmett/folds/issues/12 # end of expected-test-failures # Benchmarks which are known not to build. Note that, currently we do not run @@ -3151,10 +3199,15 @@ expected-haddock-failures: # "Compilation" errors - MemoTrie # https://github.com/conal/MemoTrie/issues/10 - metrics # https://github.com/iand675/metrics/issues/5 + - text-generic-pretty # https://github.com/fpco/stackage/pull/2160 # Haddock bugs - swagger2 # https://github.com/GetShopTV/swagger2/issues/66 + # "Argument list too long" + - classy-prelude-yesod + - hledger-web + # end of expected-haddock-failures # Benchmarks which should not be built. Note that Stackage builds benchmarks but does not run them. @@ -3302,14 +3355,13 @@ build-tool-overrides: # 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: -- vector-0.11.0.0 # skipped test-suite, constrained primitive https://github.com/haskell/vector/issues/142 - point-octree-0.5.5.3 # re-enable test and then we can resolve https://github.com/fpco/lts-haskell/issues/27 - wreq-0.4.1.0 # Try to re-enable lots of packages, (esp https://github.com/fpco/stackage/issues/2032) and the test-suite if https://github.com/bos/wreq/issues/53 is closed. - yarr-1.4.0.2 # Re-enable package https://github.com/fpco/stackage/issues/1876 - terminal-progress-bar-0.1.1 # Unskip test suite - optparse-applicative-0.13.0.0 # Unskip test suite https://github.com/pcapriotti/optparse-applicative/issues/228 -- hakyll-4.9.2.0 # re-enable tests - Spock-core-0.11.0.0 # testsuite fail +- vivid-0.2.0.5 # compilation failure # Packages which should be hidden after registering, to avoid module name # conflicts. This is intended for at least two use cases: @@ -3322,4 +3374,45 @@ hide: - async-dejafu # https://github.com/yesodweb/wai/issues/579 - monads-tf # mtl is preferred - protolude # `module Panic` conflicts with base -- cryptohash # Superceeded by cryptonite +- 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 + +# Cryptonite deprecations +- cipher-aes +- cipher-blowfish +- cipher-camellia +- cipher-des +- cipher-rc4 +- crypto-cipher-types +- crypto-numbers +- crypto-pubkey +- crypto-random +- cryptohash +- cryptohash-conduit + +# cryptohash forks +- cryptohash-md5 +- cryptohash-sha1 +- cryptohash-sha256 diff --git a/debian-bootstrap.sh b/debian-bootstrap.sh index 32e6df55..abcdeddf 100755 --- a/debian-bootstrap.sh +++ b/debian-bootstrap.sh @@ -56,6 +56,7 @@ apt-get install -y \ libedit-dev \ libedit2 \ libfftw3-dev \ + libflac-dev \ libfreenect-dev \ libgd2-xpm-dev \ libgeoip-dev \