diff --git a/CURATORS.md b/CURATORS.md index 8f74de34..909e2ed1 100644 --- a/CURATORS.md +++ b/CURATORS.md @@ -1,7 +1,7 @@ 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 overview @@ -223,6 +223,26 @@ 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: diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 701b21c6..b5f2ea64 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -2,7 +2,7 @@ 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 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)). @@ -105,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 64f9317b..a3d768b4 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ 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 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)). 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 e909e114..1992370c 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -1,12 +1,36 @@ ghc-major-version: "8.0" # Constraints for brand new builds packages: + "Bas van Dijk @basvandijk": [] + # - opencv # https://github.com/fpco/stackage/pull/2597#issuecomment-310930926 + # - opencv-extra # https://github.com/fpco/stackage/pull/2597#issuecomment-310930926 + + "Pasqualino Assini @tittoassini": + - zm + - flat + - model + + "Timo Koepke @koepket": + - hinterface + + "Jose Iborra @pepeiborra": + - clr-marshal + - clr-host + - threepenny-editors + - clr-inline # possibly nondeterministic failures, see https://github.com/fpco/stackage/issues/2510 + + "Joshua Koike @jano017": + - discord-hs + + "Roman Gonzalez @roman": + - etc + - teardown "Richard Cook @rcook": - hidden-char - "Vanessa McHale @vmchale": - - tibetan-utils + "Vanessa McHale @vmchale": [] + # - tibetan-utils # bounds: text-show "Henning Thielemann @thielema": # - accelerate-arithmetic # via accelerate: bounds: base @@ -95,7 +119,7 @@ packages: "Joe M @joe9": - logger-thread - # - text-generic-pretty # # via ixset-typed: via safecopy: bounds: vector + - text-generic-pretty "Li-yao Xia @Lysxia": - boltzmann-samplers @@ -110,6 +134,7 @@ packages: "Luke Murphy @lwm": - tasty-discover - lentil + - packunused "Marco Zocca @ocramz": - sparse-linear-algebra @@ -175,7 +200,7 @@ packages: - envy - s3-signer # - google-translate # bounds: servant - # - hackernews # bounds: servant + - hackernews # - ses-html # bounds: time 1.6 # - stripe-haskell # via: stripe-http-streams # - stripe-http-streams # via: http-streams @@ -215,7 +240,7 @@ packages: - authenticate-oauth - yesod-bin - yesod-eventsource - - yesod-fay + # - yesod-fay # via: fay - yesod-gitrepo - yesod-newsfeed - yesod-sitemap @@ -232,6 +257,7 @@ packages: - yaml - servius - cryptonite-conduit + - streaming-commons - alex - async @@ -249,7 +275,7 @@ packages: - indents - language-c - lhs2tex - # - persistent-mongoDB # bounds: http-api-data + - persistent-mongoDB - pretty-class - th-expand-syns - th-lift @@ -285,7 +311,7 @@ packages: - timelens - non-empty-sequence - "Neil Mitchell @ndmitchell": + "Neil Mitchell @ndmitchell": - hlint - hoogle - shake @@ -300,12 +326,14 @@ packages: - bake - ghcid - hexml + - weeder + - profiterole "Alan Zimmerman @alanz": - hjsmin - language-javascript - Strafunski-StrategyLib - - HaRe # via: cabal-helper, ghc-mod, rosezipper + - HaRe "Alfredo Di Napoli @adinapoli": - mandrill @@ -330,6 +358,13 @@ packages: - textlocal - shell-conduit - tldr + - fb + - yesod-fb + - yesod-auth-fb + - hourglass-orphans + - wai-slack-middleware + - sysinfo + - xmonad-extras "haskell-openal": - OpenAL @@ -354,7 +389,7 @@ packages: - HTF - xmlgen - stm-stats - # - large-hashable # via safecopy: bounds: vector + # - large-hashable # via: safecopy, bounds, vector "Bart Massey @BartMassey": - parseargs @@ -418,21 +453,21 @@ packages: - MFlow - transient - transient-universe - # - ghcjs-hplay # https://github.com/transient-haskell/axiom/issues/16 + - axiom "Edward Kmett @ekmett": - ad - adjunctions - # - approximate # bounds: binary, comonad, pointed + - approximate - bifunctors - bits - # - bound # bounds: binary, comonad, doctest, transformers, vector + - bound - bytes - charset - comonad - comonads-fd - comonad-transformers - # - compensated # bounds: binary, comonad, generic-deriving, safecopy + - compensated # - compressed # bounds: comonad, pointed - concurrent-supply - constraints @@ -446,6 +481,7 @@ packages: - graphs - groupoids - heaps + - hyperloglog - hyphenation - integration - intervals @@ -454,7 +490,7 @@ packages: - lens - linear - linear-accelerate - # - log-domain # via safecopy: bounds: vector + - log-domain - machines - monadic-arrays - monad-products @@ -489,7 +525,6 @@ packages: - gl - lens-aeson - zlib-lens - # - hyperloglog # bounds: approximate, binary, comonad "Andrew Farmer @xich": - scotty @@ -638,12 +673,12 @@ packages: "Adam Bergmark @bergmark": - HUnit - aeson - - fay - - fay-base - - fay-dom - - fay-jquery - - fay-text - - fay-uri + # - fay # bounds: traverse-with-class + # - fay-base # via: fay + # - fay-dom # via: fay + # - fay-jquery # via: fay + # - fay-text # via: fay + # - fay-uri # via: fay - feed - time-compat - through-text @@ -693,7 +728,7 @@ packages: "Dominic Steinitz @idontgetoutmuch": [] # - yarr # compilation error against fixed-vector https://github.com/leventov/yarr/issues/10 - # - random-fu # via log-domain: via safecopy: bounds: vector + # - random-fu # via: log-domain, safecopy, bounds: vector "Ben Gamari @bgamari": [] @@ -757,8 +792,10 @@ packages: "Piyush P Kurur @piyush-kurur": - raaz + - naqsha + "Joey Hess @joeyh": - # - git-annex # bounds: bloomfilter, [...] # via: aws, esqueleto, [...] # + - git-annex # - github-backup # bounds: github - Win32-extras - concurrent-output @@ -808,7 +845,7 @@ packages: - attoparsec-expr - bumper - code-builder - - fay-builder + # - fay-builder # via: fay - generic-aeson - generic-xmlpickler - hxt-pickle-utils @@ -908,6 +945,8 @@ packages: - netwire - netwire-input - netwire-input-glfw + - yoga + - freetype2 "Emanuel Borsboom @borsboom": - BoundedChan @@ -918,7 +957,6 @@ packages: - data-accessor-mtl # - file-location # bounds: transformers - fuzzcheck - # - haddock-api BLOCKED GHC 8.0.2 - here - hlibgit2 - gitlib-libgit2 @@ -1036,9 +1074,9 @@ packages: - servant-cassava "Alexandr Ruchkin @mvoidex": - # - hdocs # BLOCKED haddock-api GHC 8.0.2 + - hdocs - hformat - # - hsdev # BLOCKED haddock-api GHC 8.0.2 + - hsdev - simple-log - text-region @@ -1066,8 +1104,9 @@ packages: "Jens Petersen @juhp": - cabal-rpm + - stackage-query # - cabal-sort # BLOCKED directory 1.3 - - idris # bounds: safe + - idris - libffi - xmonad-contrib - shelly @@ -1145,7 +1184,7 @@ packages: - network-anonymous-i2p - network-anonymous-tor - "Timothy Jones @zmthy": + "Timothy Jones @zmthy": - http-media "Greg V @myfreeweb": @@ -1176,6 +1215,7 @@ packages: - binary-orphans - binary-tagged - cabal-doctest + - dlist-nonempty - edit-distance - functor-classes-compat - generics-sop-lens @@ -1184,6 +1224,7 @@ packages: - integer-logarithms - JuicyPixels-scale-dct - lattices + - microstache - monad-http - postgresql-simple-url - range-set-list @@ -1199,9 +1240,9 @@ packages: - waitra # scrive/log - # - log # via bloodhound: bounds: vector + - log # via bloodhound: bounds: vector - log-base - # - log-elasticsearch # via bloodhound: bounds: vector + - log-elasticsearch # via bloodhound: bounds: vector - log-postgres # Not a maintainer @@ -1473,13 +1514,18 @@ packages: # - hmatrix-repa # via repa: bounds: vector "Noam Lewis @sinelaw": - # - xml-to-json # via: hexpat + - xml-to-json - xml-to-json-fast + - resolve-trivial-conflicts + - 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 @@ -1592,21 +1638,25 @@ packages: - markup # - nested-routes # via: HList - path-extra - # - poly-arity # via HList (sent e-mail to HList maintainer) + - poly-arity - urlpath - wai-transformers - wai-middleware-content-type - wai-middleware-verbs + - websockets-rpc - webpage - composition-extra - rose-trees - sets - timemap - - triesn + - tries - path-extra - # - pred-trie # via poly-arity + - pred-trie - pred-set - HSet + - unit-constraint + - unfoldable-restricted + - quickcheck-combinators "Fumiaki Kinoshita @fumieval": - boundingboxes @@ -1689,9 +1739,6 @@ packages: - fn # - fn-extra # via: digestive-functors - "Chris Wong @lfairy": - - nationstates - "Mathieu Boespflug @mboes": # - ihaskell-inline-r # via: ihaskell, ihaskell-blaze - cassette @@ -1701,7 +1748,8 @@ packages: - inline-r - jni - jvm - - sparkle # https://github.com/tweag/sparkle/issues/99 + - sparkle + - streaming-binary - th-lift "Christopher Reichert @creichert": @@ -1744,6 +1792,7 @@ packages: - Spintax - glabrous - google-oauth2-jwt + - IPv6DB "koral koral@mailoo.org @k0ral": - atom-conduit @@ -1832,6 +1881,7 @@ packages: # - socket-io # bounds: aeson, via: engine-io - tasty-rerun - logging-effect + - reactive-banana "Antoni Silvestre @asilvestre": # Test suite needs a running neo4j server with auth disabled @@ -1849,7 +1899,12 @@ packages: - type-level-numbers "Ryan Scott @RyanGlScott": + - abstract-deque + - abstract-deque-tests + - abstract-par + - atomic-primops - base-orphans + - chaselev-deque - code-page - deriving-compat - echo @@ -1859,10 +1914,13 @@ packages: - 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": @@ -1981,6 +2039,8 @@ packages: - opaleye-trans - pretty-simple - read-env-var + - servant-checked-exceptions + - servant-static-th - xml-html-qq - xml-indexed-cursor - yahoo-finance-api @@ -2017,12 +2077,10 @@ packages: - yi-snippet "Tobias Bexelius @tobbebex": - [] - # - GPipe # BLOCKED directory 1.3 via gl + - GPipe "Patrick Redmond @plredmond": - [] - # - GPipe-GLFW # BLOCKED directory 1.3 via GPipe and gl + - GPipe-GLFW # "Csaba Hruska @csabahruska": # - lambdacube-ir # bounds: aeson @@ -2075,6 +2133,7 @@ packages: - hsyslog - jailbreak-cabal - language-nix + - logging-facade-syslog - nix-paths - streamproc - titlecase @@ -2112,7 +2171,7 @@ packages: # - 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 @@ -2134,6 +2193,9 @@ packages: - flac-picture - lame - path + - forma + - stache + - parser-combinators # "Thomas Bereknyei ": # - multiplate # bounds: transformers @@ -2185,7 +2247,7 @@ packages: "Takahiro Himura @thimura": - lens-regex - # - twitter-conduit # bounds: http-conduit 2.2 # via: twitter-types, twitter-types-lens + - twitter-conduit - twitter-types - twitter-types-lens @@ -2302,7 +2364,13 @@ packages: "David Luposchainsky @quchen": - binary-typed - pgp-wordlist - - show-prettyprint + - show-prettyprint # https://github.com/fpco/stackage/issues/2554 + + - prettyprinter + - prettyprinter-ansi-terminal + - prettyprinter-compat-wl-pprint + - prettyprinter-compat-ansi-wl-pprint + - prettyprinter-compat-annotated-wl-pprint "Jeremy Shaw @stepcut": - boomerang @@ -2362,7 +2430,8 @@ packages: "Denis Redozubov @dredozubov": - tracy - # - hreader-lens # bounds: hreader + - hreader-lens + - schematic "Yuji Yamamoto @igrep": - yes-precure5-command @@ -2440,6 +2509,7 @@ packages: "Elie Genard @eliegenard": - turtle-options - mushu + - hakyll-favicon # "Ruey-Lin Hsu @petercommand": # - MASMGen # bounds: ghc, base @@ -2524,6 +2594,11 @@ packages: - zot - yjtools - io-machine + - yjsvg + - x11-xim + - Imlib + - xturtle + - gluturtle "Jan Gerlinger @JanGe": - irc-dcc @@ -2547,8 +2622,9 @@ packages: - repline - picosat - # "Daishi Nakajima @nakaji_dayo": - # - yesod-job-queue # build failure https://github.com/nakaji-dayo/yesod-job-queue/issues/10 + "Daishi Nakajima @nakaji_dayo": + - api-field-json-th + - yesod-job-queue # "Braden Walters @meoblast001": # - hakyll-sass # compilation failure @@ -2578,8 +2654,16 @@ packages: - protobuf-simple "David Reaver @jdreaver": + - eventful-core + - eventful-dynamodb + - eventful-memory + - eventful-postgresql + - eventful-sql-common + - eventful-sqlite + - eventful-test-helpers - oanda-rest-api - stratosphere + - sum-type-boilerplate "Alexey Rodiontsev @klappvisor": [] @@ -2718,6 +2802,7 @@ packages: - llvm-hs-pure "Thierry Bourrillon @tbourrillon": + - heatshrink - hocilib # "Matthias Herrmann @2chilled": @@ -2738,6 +2823,7 @@ packages: - tasty-auto - tasty-stats - colorful-monoids + - ihs "Taras Serduke @tserduke": - do-list @@ -2771,7 +2857,7 @@ packages: - pqueue "Ryan Mulligan @ryantm": - - hdbc-mysql + - HDBC-mysql "Tony Day @tonyday567": [] @@ -2790,6 +2876,11 @@ packages: - threads-extra - clock-extras - next-ref + - tmp-postgres + - postgresql-simple-opts + - pg-transact + - hspec-pg-transact + - postgresql-simple-queue "Bernie Pope @bjpop": - language-python @@ -2806,6 +2897,7 @@ packages: "XT @xtendo-org": - rawfilepath + "Konstantin Zudov @zudov": - html-email-validate @@ -2865,8 +2957,10 @@ packages: "aiya000 @aiya000": - stack-type + - throwable-exceptions "Mitsutoshi Aoe @maoe": + - sensu-run - viewprof "Dylan Simon @dylex": @@ -2877,6 +2971,7 @@ packages: "Louis Pan @louispan": - alternators - arrow-extras + - data-diverse - disposable - ghcjs-base-stub - glaze @@ -2902,6 +2997,7 @@ packages: "ncaq @ncaq": - haskell-import-graph - uniq-deep + - yesod-recaptcha2 "Andrei Barbu @abarbu": - nondeterminism @@ -2944,7 +3040,8 @@ packages: "Chris Dornan @cdornan": - regex - regex-with-pcre - - regex-examples + - sort + - regex-pcre-text "Elliot Cameron @3noch": - ziptastic-client @@ -2952,6 +3049,7 @@ packages: "Hardy Jones @joneshf": - servant-ruby + - wai-middleware-rollbar "Andrey Mokhov @snowleopard": - algebraic-graphs @@ -2968,10 +3066,63 @@ packages: - proto-lens-combinators - proto-lens-arbitrary - proto-lens-optparse + - proto-lens-protobuf-types + - tensorflow + - tensorflow-core-ops + - tensorflow-opgen + - tensorflow-ops + - tensorflow-proto + - tensorflow-test "Christof Schramm ": - mnist-idx + "Naushadh @naushadh": + - persistent-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 + + "Anton Ekblad @valderman": + - selda + - selda-sqlite + - selda-postgresql + + "Luis Pedro Coelho @luispedro": + - safeio + + "Alex Biehl @alexbiehl": + - haddock-library + - haddock-api + - haddock + + "Mark Hopkins @mjhopkins": + - alerta + + "Steven Vandevelde @icidasset": + - shikensu + + "George Pollard @Porges": + - email-validate + + "Alexander Ignatyev @alexander-ignatyev": [] + # - astro + # 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 @@ -3009,13 +3160,6 @@ packages: # https://github.com/fpco/stackage/issues/2251 - sbv < 5.15 - # https://github.com/fpco/stackage/issues/2312 - - xml-conduit < 1.5.0 - - atom-conduit < 0.4.0.2 - - imm < 1.1.0.1 - - opml-conduit < 0.6.0.2 - - rss-conduit < 0.3.0.1 - # https://github.com/fpco/stackage/issues/2317 - skylighting < 0.2 @@ -3025,28 +3169,97 @@ packages: # https://github.com/fpco/stackage/issues/2334 - tcp-streams < 1.0.0.0 - tcp-streams-openssl < 1.0.0.0 + - mysql-haskell < 0.8.1.0 # https://github.com/fpco/stackage/issues/2345 - syb < 0.7 - # https://github.com/fpco/stackage/issues/2354 - - mainland-pretty < 0.5.0.0 - - # https://github.com/fpco/stackage/issues/2365 - - matplotlib < 0.4.1 - # https://github.com/fpco/stackage/issues/2378 - errors < 2.2.0 - # https://github.com/fpco/stackage/issues/2386 - - unordered-containers < 0.2.8.0 - # https://github.com/fpco/stackage/issues/2393 - HUnit < 1.6.0.0 # https://github.com/fpco/stackage/issues/2400 - hslua < 0.5 + # https://github.com/fpco/stackage/issues/2449 + - aeson < 1.2.0.0 + + # https://github.com/fpco/stackage/issues/2451 + - websockets < 0.11.0.0 + - servant-subscriber < 0.6.0.1 + - websockets-simple < 0.0.2.1 + - websockets-rpc < 0.4.1 + + # https://github.com/fpco/stackage/issues/2487 + - graphviz < 2999.19 + + # https://github.com/fpco/stackage/issues/2528 + - concurrent-output < 1.10.0 + + # https://github.com/fpco/stackage/issues/2529 + - mmorph < 1.1.0 + + # https://github.com/fpco/stackage/issues/2604 + - criterion < 1.2 + - statistics < 0.14 + - thread-local-storage < 0.1.2 + + # https://github.com/fpco/stackage/issues/2550 + - foldl < 1.3.0 + + # https://github.com/fpco/stackage/issues/2555 + - streaming-commons < 0.1.18 + + # https://github.com/fpco/stackage/issues/2557 + - singletons < 2.3 + - th-desugar < 1.7 + + # https://github.com/fpco/stackage/issues/2559 + - path-io < 1.3 + + # https://github.com/fpco/stackage/issues/2562 + - trifecta < 1.7 + + # https://github.com/haskell/haddock/issues/634 - causes other docs to fail to build + - haddock < 2.17.5 + + # https://github.com/fpco/stackage/issues/2569 + - optparse-applicative < 0.14 + + # https://github.com/fpco/stackage/issues/2577 + - hint < 0.7 + + # https://github.com/fpco/stackage/issues/2583 + - path < 0.6 + + # https://github.com/fpco/stackage/issues/2584 + - tasty-quickcheck < 0.9 + + # https://github.com/fpco/stackage/issues/2586 + - QuickCheck < 2.10 + - aeson-compat < 0.3.7 + - binary-orphans < 0.1.7.0 + - quickcheck-instances < 0.3.13 + - text-show < 3.6.2 + - text-show-instances < 3.6.1 + - these < 0.7.4 + + # https://github.com/fpco/stackage/issues/2587 + - extra < 1.6 + + # https://github.com/fpco/stackage/issues/2594 + - req < 0.3.0 # also remove from expected-test-failure + - req-conduit < 0.2.0 # because of above + + # https://github.com/fpco/stackage/issues/2595 + - cassava < 0.5.0.0 + - cassava-conduit < 0.4.0.0 # because of above and #2586 + + # https://github.com/fpco/stackage/issues/2607 + - http-media < 0.7.0 + # end of packages # Package flags are applied to individual packages, and override the values of @@ -3075,6 +3288,9 @@ package-flags: hpio: test-hlint: false + idris: + ffi: true + minio-hs: live-test: false @@ -3131,7 +3347,10 @@ package-flags: functor-classes-compat: containers: false - unordered-containers: false # https://github.com/fpco/stackage/issues/2386 + + timezone-series: + time_1_6_and_1_7: true + time_pre_1_6: false # end of package-flags @@ -3162,6 +3381,11 @@ configure-args: 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 @@ -3188,15 +3412,18 @@ skipped-tests: - GLFW-b - Glob - HTTP + - aws # bounds: http-client < 0.5 - bindings-GLFW - case-insensitive - darcs + - dbus # bounds: QuickCheck < 2.9 via chell-quickcheck - exception-transformers - extensible-effects - fclabels - language-ecmascript - lifted-base - parsec + - partial-order # https://github.com/mtesseract/haskell-partial-order/issues/1 - rank1dynamic - threads - tz @@ -3228,7 +3455,7 @@ skipped-tests: - snap # QuickCheck 2.9 - state-plus # QuickCheck 2.9 - system-filepath # QuickCheck 2.9 via chell-quickcheck - - terminal-progress-bar # fixed on master, depends on older version of itself + - ghc-mod # hspec 2.4 # Transitive outdated dependencies # These packages @@ -3249,12 +3476,38 @@ skipped-tests: # 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. - - postgresql-binary # https://github.com/nikita-volkov/postgresql-binary/issues/6#issuecomment-243063139 + ## @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 + # @ivan-m https://github.com/fpco/stackage/issues/2538#issuecomment-307290070 + - fgl + - fgl-arbitrary + - graphviz + - wl-pprint-text # directory 1.3 - machines @@ -3266,6 +3519,9 @@ skipped-tests: # criterion - store + # wrong package.yaml file + - teardown # https://github.com/roman/Haskell-teardown/issues/1 + # end of skipped-tests # Tests which we should build and run, but which are expected to fail. We @@ -3292,6 +3548,7 @@ expected-test-failures: - 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 # Timeouts # These tests sometimes take too long and hit the stackage build @@ -3300,9 +3557,9 @@ expected-test-failures: - cabal-helper - generic-random - graphviz - - lens - punycode - zip + - unagi-chan # Requires running servers, accounts, or a specific # environment. These shouldn't be re-enabled unless we know a fix @@ -3310,6 +3567,7 @@ expected-test-failures: - 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 @@ -3323,6 +3581,8 @@ expected-test-failures: - 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 - eventstore # Event Store - fb # Facebook app - ghc-imported-from # depends on haddocks being generated first https://github.com/fpco/stackage/pull/1315 @@ -3368,7 +3628,7 @@ expected-test-failures: - wai-cors # PhantomJS - wai-session-postgresql # PostgreSQL - webdriver-angular # webdriver server - - yahoo-finance-api # Requires being able to access Yahoo Finance API + - req-conduit # bad JSON response from service pinged https://github.com/mrkkrp/req-conduit/issues/1 # Test executable requires arguments - hpqtypes @@ -3390,6 +3650,8 @@ expected-test-failures: - 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 + - ghc-syb-utils # https://github.com/nominolo/ghc-syb/issues/18 + - matplotlib # https://github.com/fpco/stackage/issues/2365 # Assertion failures, these can be real bugs or just limitations # in the test cases. @@ -3403,27 +3665,30 @@ expected-test-failures: - unicode-show # https://github.com/nushio3/unicode-show/issues/2 - xmonad # 0.12 https://github.com/xmonad/xmonad/issues/36 - pixelated-avatar-generator # 0.1.3 https://github.com/ExcaliburZero/pixelated-avatar-generator/issues/19 + - xml-picklers # https://github.com/Philonous/xml-picklers/issues/5 + - throwable-exceptions # https://github.com/aiya000/hs-throwable-exceptions/issues/2 + - shikensu # https://github.com/icidasset/shikensu/issues/5 # Compilation failures - ListLike # No issue tracker, e-mail sent to maintainer - commutative # https://github.com/athanclark/commutative/issues/4 - dbus # 0.10.12 No issue tracker, e-mail sent to maintainer - - folds # https://github.com/ekmett/folds/issues/12 - hspec-expectations-pretty-diff # GHC 8 issue not reported upstream since issue tracker disabled - language-lua2 # https://github.com/mitchellwrosen/language-lua2/issues/4 - picosat # https://github.com/fpco/stackage/pull/2382 - sourcemap # https://github.com/chrisdone/sourcemap/issues/3 - - text-ldap # # https://github.com/khibino/haskell-text-ldap/issues/1 + - text-ldap # https://github.com/khibino/haskell-text-ldap/issues/1 + - text-show # https://github.com/fpco/stackage/issues/2436 - thyme # https://github.com/liyang/thyme/issues/50 - tries # https://github.com/athanclark/tries/issues/2 - vector-algorithms # http://hub.darcs.net/dolio/vector-algorithms/issue/9 - wai-middleware-content-type # 0.4.1 - https://github.com/athanclark/wai-middleware-content-type/issues/2 - xmlgen # https://github.com/skogsbaer/xmlgen/issues/6 - yesod-auth-basic # https://github.com/creichert/yesod-auth-basic/issues/1 + - haddock # Stackage upper bounds, re-enable these when their upper bound is removed - # Recursive deps https://github.com/fpco/stackage/issues/1818 - clock # 0.7.2 clock:test => tasty:lib => clock:lib - options @@ -3434,6 +3699,7 @@ expected-test-failures: # 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 # Doctests require hidden Glob package - multiset @@ -3443,12 +3709,14 @@ expected-test-failures: - distributed-process-supervisor # # https://github.com/haskell-d - ghcid # Weird conflicts with sandboxingistributed/distributed-process-supervisor/issues/1 - haskell-docs # GHC bug - - http-client-openssl # https://github.com/snoyberg/http-client/issues/267 - rattletrap # OOM? https://github.com/fpco/stackage/issues/2232 - req # https://github.com/mrkkrp/req/issues/14#issuecomment-287562784 - servant # https://github.com/haskell-servant/servant/issues/698 - snap-core # https://github.com/snapframework/snap-core/issues/26 - stm-delay # https://github.com/joeyadams/haskell-stm-delay/issues/5 + - pg-transact # https://github.com/jfischoff/pg-transact/issues/2 + - tmp-postgres # https://github.com/jfischoff/tmp-postgres/issues/1 + - postgresql-simple-queue # same issue as before, see also https://github.com/fpco/stackage/issues/2592 as that will fix both # end of expected-test-failures @@ -3465,7 +3733,6 @@ expected-benchmark-failures: - vector-binary-instances # Missing files in sdist - - cassava # https://github.com/hvr/cassava/pull/117 - picoparsec # https://bitbucket.org/blamario/picoparsec/issues/3/benchmark-compilation-failure # Compilation failures @@ -3474,6 +3741,10 @@ expected-benchmark-failures: - dbus # No issue tracker, sent e-mail to maintainer - thyme # https://github.com/liyang/thyme/issues/50 - xmlgen # https://github.com/skogsbaer/xmlgen/issues/6 + - ghc-mod # https://github.com/DanielG/ghc-mod/issues/895 + + # wrong package.yaml file + - teardown # https://github.com/roman/Haskell-teardown/issues/1 # end of expected-benchmark-failures @@ -3486,7 +3757,7 @@ expected-haddock-failures: - gtk - gtk3 - # Intermittent failures or unreliable. These tay pass when + # 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 @@ -3503,14 +3774,14 @@ expected-haddock-failures: # Haddock bugs - swagger2 # https://github.com/GetShopTV/swagger2/issues/66 - # "Argument list too long" - - classy-prelude-yesod - - hledger-web - # Runs out of memory - stratosphere - store + # https://github.com/kuribas/cubicbezier/issues/4 + - cubicbezier + + # end of expected-haddock-failures # Benchmarks which should not be built. Note that Stackage builds benchmarks but does not run them. @@ -3526,6 +3797,7 @@ skipped-benchmarks: # to verify. - criterion-plus - http2 + - pipes # optparse-applicative 0.13 # Transitive outdated dependencies # These packages @@ -3545,183 +3817,40 @@ skipped-benchmarks: # GHC Bugs - hledger-lib # https://github.com/fpco/stackage/issues/1587 - - pipes # optparse-applicative 0.13 - - # Criterionpocalypse # via criterion: via cassava: bounds: vector - - Earley - - Frames - - IntervalMap - - JuicyPixels-extra - - acid-state - - ad - - arithmoi - - attoparsec - - avers - - binary-list - - binary-parsers - - binary-tagged - - binary-typed - - blake2 - - buffer-builder - - bytestring-conversion - - bytestring-tree-builder - - cacophony - - case-insensitive + # Cyclic dependencies + - cassava + + # Maintainers who don't want to update benchmarks + # Only re-enable if requested. + ## @hvr https://github.com/fpco/stackage/issues/2538#issuecomment-304458844 - cassava - - cipher-aes128 - - clash-prelude - - clustering - - cmark - - conduit - - conduit-extra - - conduit-iconv - - cprng-aes - - criterion - - cron - - crypto-numbers - - crypto-pubkey - - cryptohash - cryptohash-md5 - cryptohash-sha1 - cryptohash-sha256 - - cryptol - - ctrie - - data-msgpack - - diagrams-lib - - dimensional - - do-list - - ed25519 - - edit-distance - - effect-handlers - - euphoria - - farmhash - - fast-builder - - fast-digits - - fclabels - - foldl - - foldl-statistics - - gitson - - glob-posix - - graphviz - - grouped-list - - hOpenPGP - - hashable - - haskell-tools-cli - - hasql - - highjson - - hindent - - hip - - histogram-fill - - hledger - - hosc - - hourglass - - html-email-validate - - htoml - - http-client-tls - - http-link-header - - human-readable-duration - - hw-balancedparens - - hw-bits - - hw-conduit - - hw-json - - hw-rankselect-base - - hweblib - - hxt-regex-xmlschema - - identicon - - ilist - - include-file - - incremental-parser - - inline-r - - jose-jwt - - katip - - kdt - - lens - - lifted-async - - lifted-base - - logging-effect - - loop - - lucid - - matrices - - matrix - - megaparsec - - monad-logger-prefix - - mongoDB - - mono-traversable - - monoid-extras - - morte - - mutable-containers - - netpbm - - pandoc - - phantom-state - - picoparsec - - postgresql-binary - - pretty-simple - - prometheus-client - - psqueues - - publicsuffix - - ramus - - rdf - - redis-io - - reinterpret-cast - - reroute - - rethinkdb-client-driver - - rose-trees - - sampling - - sandi - - say - - scalpel-core - - scanner - - scientific - - semver - - servant-auth-cookie - - sets - - skylighting - - snap-server - - sorted-list - - sourcemap - - sparse-linear-algebra - - stache - - stackage-curator - - stateWriter - - stm-containers - - store - - streaming-commons - - superbuffer - - taggy - - tar - - text-manipulate - - text-metrics - - text-show - - thread-local-storage - - thyme - - timemap - - tinylog - - tls - - turtle - - tz - - ua-parser - - unbound-generics - - unicode-transforms - - union - - unordered-containers - - uri-bytestring - uuid - uuid-types - - varying - - vector-binary-instances - - vectortiles - - vinyl - - wai-middleware-metrics - - wai-routing - - warp - - wire-streams - - word24 - - word8 - - xmlgen - - yesod-core - - yi-rope - - zippers - - jvm + # @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 + # @ivan-m https://github.com/fpco/stackage/issues/2538#issuecomment-307290070 + - fgl + - fgl-arbitrary + - graphviz + - graphviz + - wl-pprint-text # end of skipped-benchmarks @@ -3781,7 +3910,6 @@ github-users: - sestrella - jsl - jsantos17 - - mrkkrp scotty-web: - RyanGlScott - xich @@ -3843,9 +3971,10 @@ build-tool-overrides: tell-me-when-its-released: - point-octree-0.5.5.3 # re-enable test and then we can resolve https://github.com/fpco/lts-haskell/issues/27 - yarr-1.4.0.2 # Re-enable package https://github.com/fpco/stackage/issues/1876 -- terminal-progress-bar-0.1.1 # Unskip test suite -- req-0.2.0 # Remove from expected-test-failures https://github.com/mrkkrp/req/issues/14#issuecomment-287562784 - vivid-0.2.0.5 # Re-enable package (disabed per MonadRandom < 0.5) https://github.com/fpco/stackage/issues/2180 +- 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 # Packages which should be hidden after registering, to avoid module name # conflicts. This is intended for at least two use cases: @@ -3903,3 +4032,9 @@ hide: - 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: +- tls +- mime-mail diff --git a/debian-bootstrap.sh b/debian-bootstrap.sh index 4de888b5..4610d04e 100755 --- a/debian-bootstrap.sh +++ b/debian-bootstrap.sh @@ -20,6 +20,10 @@ apt-get install -y software-properties-common add-apt-repository ppa:hvr/ghc -y add-apt-repository -y ppa:marutter/rrutter +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' GHCVER=8.0.2 @@ -34,6 +38,7 @@ apt-get install -y \ sudo \ curl \ freeglut3-dev \ + fsharp \ git \ gradle \ libadns1-dev \ @@ -66,6 +71,7 @@ apt-get install -y \ libgtksourceview-3.0-dev \ libhidapi-dev \ libicu-dev \ + libimlib2-dev \ libjudy-dev \ liblapack-dev \ libleveldb-dev \ @@ -75,6 +81,7 @@ apt-get install -y \ libmagickcore-dev \ libmagickwand-dev \ libmarkdown2-dev \ + libmono-2.0-dev \ libmp3lame-dev \ libmpfr-dev \ libmysqlclient-dev \ @@ -111,11 +118,12 @@ apt-get install -y \ llvm-3.7 \ locales \ m4 \ + minisat \ + mono-mcs \ nettle-dev \ nodejs \ npm \ openjdk-8-jdk \ - protobuf-compiler \ python-mpltoolkits.basemap \ python3-matplotlib \ python3-numpy \ @@ -183,7 +191,69 @@ wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - \ && 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 + ## non-free repo for mediabus-fdk-aac #apt-add-repository multiverse \ # && apt-get update \ # && apt-get install -y libfdk-aac-dev + + +################################################################################ +# Install opencv. + +OPENCV_VERSION="3.2.0" + +apt-get install -y \ + cmake \ + pkg-config \ + libjpeg-dev \ + libtiff5-dev \ + libjasper-dev \ + libpng12-dev \ + libavcodec-dev \ + libavformat-dev \ + libswscale-dev \ + libxvidcore-dev \ + libx264-dev \ + libv4l-dev \ + liblapacke-dev \ + libgtk-3-dev \ + libopenblas-dev \ + libhdf5-dev \ + libtesseract-dev \ + libleptonica-dev \ + python3-dev \ + gfortran + +# Make a new directory +rm -rf /tmp/opencv-build +mkdir /tmp/opencv-build +cd /tmp/opencv-build + +# Download OpenCV +curl -L https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.tar.gz | tar xz +curl -L https://github.com/opencv/opencv_contrib/archive/${OPENCV_VERSION}.tar.gz | tar xz + +cd opencv-${OPENCV_VERSION} +mkdir build +cd build +cmake -D CMAKE_BUILD_TYPE=RELEASE \ + -D CMAKE_INSTALL_PREFIX=/usr/local \ + -D OPENCV_EXTRA_MODULES_PATH=/tmp/opencv-build/opencv_contrib-${OPENCV_VERSION}/modules + +make -j + +make install + +################################################################################