Merge pull request #2 from fpco/master

Update fork.
This commit is contained in:
Gregory Schwartz 2017-01-30 11:19:40 -05:00 committed by GitHub
commit 601a8391fb
9 changed files with 191 additions and 64 deletions

View File

@ -11,7 +11,7 @@ addons:
- libgmp-dev
env:
- GHCVER=8.0.1
- GHCVER=8.0.2
install:
# Download and unpack the stack executable

View File

@ -337,3 +337,24 @@ errors for builds, tests and benchmarks.
1. Add public ssh key to `~/.ssh/authorized_keys` on build server
2. Add to fpco/stackage project.
## Dealing with a new GHC release
As mentioned in the [GHC upgrade note], the major impact of a new GHC release
is on the packages that are causing upper bounds to be put in place. In order
to minimise out-of-date breakage and allow maintainers to have a solid chance
of getting their packages into the newest LTS, we try to do the following:
Make an early announcement (in the form of a blog post, typically) of the new
GHC release on the nightly build and the planned deadline for the new LTS release.
Make it clear, that in the time coming up to this, we hope package maintainers
will upgrade their packages to allow for the new GHC release.
We prefer to prune packages causing upper bounds constraints **after** the LTS
release to allow the maximum amount of packages to get into the newest LTS.
After the first LTS release, the package pruning process may begin in the
nightly build in order to move forward with getting the latest versions of
packages compatible with the new GHC release.
[GHC upgrade note]: https://github.com/fpco/stackage/blob/master/MAINTAINERS.md#upgrading-to-a-new-ghc-version

View File

@ -2,7 +2,7 @@ FROM fpco/pid1:16.04
ENV HOME /home/stackage
ENV LANG en_US.UTF-8
ENV PATH /opt/ghc/8.0.1/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV PATH /opt/ghc/8.0.2/bin:/usr/sbin:/usr/bin:/sbin:/bin
ADD debian-bootstrap.sh /tmp/debian-bootstrap.sh
RUN /tmp/debian-bootstrap.sh && rm /tmp/debian-bootstrap.sh

View File

@ -24,7 +24,7 @@ After doing that, send a pull request (with a commit message like "add foo-bar")
If you want to make sure that the package builds against the newest versions of all dependecies you can do this:
```
$ cabal update
$ ghc --version # Should give v8.0.1
$ ghc --version # Should give v8.0.2
$ cabal get PACKAGE-VERSION # e.g. aeson-0.11.2.1
$ cd PACKAGE-VERSION
$ cabal sandbox init # Should give "Creating a new sandbox" and not "Using an existing sandbox".

View File

@ -84,3 +84,42 @@ The following describes at a high level the series of steps for processing
1. Load up most recent build plan
2. Convert build plan into constraints for next build
3. Continue from step (3) above
Frequently Asked Questions
--------------------------
__Why does Stackage have an older version of a package than Hackage?__
There are a number of answers to this question:
* Simplest reason: how old of a Stackage snapshot are you using? Once a
snapshot is created, it's frozen for all time. So if you use
nightly-2016-01-01, by the time you get to 2018, it will be pretty dated.
* If you're using an LTS snapshot: we lock down major versions when
first creating an LTS run, so subsequent minor versions will not get
new versions necessary. For example, if LTS 6.0 has `foo` version
1.2.3, and the author immediately thereafter releases a version
1.3.0 and never releases another 1.2.\* version, you'll never get
another update in the LTS 6 line
* Sometimes we have upper bounds in place because other packages have
problems with newer versions of dependencies. Open up the
[build-constraints file](https://github.com/fpco/stackage/blob/master/build-constraints.yaml)
and search for "Stackage upper bounds"
* Wired-in packages - those that ship with GHC and cannot be upgraded,
and packages depending on them - are fixed to GHC versions. Common
examples of this are containers and transformers. There's a lot more
information on this in
[an FP Complete blog post](https://www.fpcomplete.com/blog/2014/05/lenient-lower-bounds)
__How long do you maintain an LTS build?__
We only guarantee that we will maintain a single LTS major version at
a time, and that it will be maintained for at least three months. This
is the
[originally proposed support window](https://www.fpcomplete.com/blog/2014/12/backporting-bug-fixes),
and hasn't changed since then.
That said, we do maintain the capability to keep multiple LTS runs
operational in parallel, and with LTS 6 and 7 in fact did so. We
aren't changing our guarantees yet on longevity of a release, but are
trying to push out the bounds a bit farther.

View File

@ -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 --jobs 4 --plan-file $PLAN_FILE --docmap-file $DOCMAP_FILE --bundle-file $BUNDLE_FILE --target $TARGET"
# Make sure we actually need this snapshot. We used to perform this check
# exclusively before building. Now we perform it after as well for the case of

View File

@ -7,7 +7,6 @@ packages:
"Li-yao Xia <lysxia@gmail.com> @Lysxia":
- generic-random
- postgresql-orm < 0
"Tobias Dammers <tdammers@gmail.com> @tdammers":
- ginger
@ -70,7 +69,8 @@ packages:
"alpheccar <misc@alpheccar.org> @alpheccar":
- HPDF
- hbayes
# https://github.com/alpheccar/hbayes/issues/3
# - hbayes
"Dmitry Bogatov <KAction@gnu.org>":
- once
@ -92,7 +92,7 @@ packages:
"Michael Snoyman michael@snoyman.com @snoyberg":
- bzlib-conduit
- cabal-install
- cabal-src
- mega-sdist
- case-insensitive
- classy-prelude-yesod
- conduit-combinators
@ -202,7 +202,6 @@ packages:
- extra
- bake
- ghcid
- pugixml
- hexml
"Alan Zimmerman @alanz":
@ -308,7 +307,7 @@ packages:
- path
- intero
- weigh
- haskell-docs
# - haskell-docs # BLOCKED haddock-api GHC 8.0.2
# - structured-haskell-mode # bounds: haskell-src-exts # via: applicative-quoters
"Alberto G. Corona <agocorona@gmail.com> @agocorona":
@ -385,7 +384,7 @@ packages:
- zippers
- fixed
- half
- gl
# - gl BLOCKED directory 1.3
- lens-aeson
- zlib-lens
# - hyperloglog # bounds: approximate, binary, comonad
@ -416,7 +415,7 @@ packages:
- BlogLiterately-diagrams
- diagrams
- diagrams-builder
- diagrams-haddock
# - diagrams-haddock # BLOCKED directory 1.3 via cautious-file
- diagrams-cairo
- diagrams-contrib
- diagrams-core
@ -447,7 +446,6 @@ packages:
"Felipe Lessa <felipe.lessa@gmail.com> @meteficha":
# - country-codes # bounds: tagsoup
# - esqueleto # bounds: persistent
# - fb # bounds: aeson, http-conduit-2.2, hspec
# - fb-persistent # bounds: persistent # via: fb
# - mangopay # compilation failure against aeson
@ -476,10 +474,11 @@ packages:
- accelerate
"Liam O'Connor <liamoc@cse.unsw.edu.au> @liamoc":
[]
# - patches-vector # bounds: QuickCheck, edit-distance-vector, hspec
# - composition-tree # bounds: QuickCheck
# - dixi # bounds: aeson, lens, time, [...]
- latex-formulae-image
# - latex-formulae-image # BLOCKED directory 1.3
# - latex-formulae-pandoc # bounds: pandoc-types
# - latex-formulae-hakyll # bounds: ghc, base
# - agda-snippets # bounds: ghc, base
@ -527,10 +526,11 @@ packages:
"Andrew Thaddeus Martin <andrew.thaddeus@gmail.com> @andrewthad":
- yesod-table
"Chris Allen <cma@bitemyapp.com> bitemyapp":
"Chris Allen <cma@bitemyapp.com> @bitemyapp":
- machines-directory
- machines-io
- bloodhound
- esqueleto # bounds: persistent
"Adam Bergmark <adam@bergmark.nl> @bergmark":
- HUnit
@ -542,7 +542,7 @@ packages:
- fay-text
- fay-uri
- feed
- snaplet-fay
# - snaplet-fay # BLOCKED directory 1.3 via heist and snap
- time-compat
- through-text
@ -579,7 +579,7 @@ packages:
- FenwickTree
- hPDB
- hPDB-examples
- homplexity
# - homplexity # BLOCKED directory 1.3
- wordpass
# - json-autotype # bounds: aeson 1.0, lens
- posix-realtime
@ -737,7 +737,7 @@ packages:
# - al # FIXME temporary, figure out why it's not working with stackage-build
- event
- hid
- luminance
# - luminance # BLOCKED directory 1.3
# - luminance-samples # bounds: base
- monad-journal
# - msi-kb-backlit # bounds: ghc, base
@ -753,9 +753,9 @@ packages:
- io-choice
# - system-canonicalpath # bounds: ghc, base # https://github.com/d12frosted/CanonicalPath/issues/5
# "Daniel Gröber <dxld@darkboxed.org> @DanielG":
# - ghc-mod # bounds: cabal-helper, extra, haskell-src-exts, optparse-applicative, pipes
# - cabal-helper # bounds: extra 1.5
"Daniel Gröber <dxld@darkboxed.org> @DanielG":
- ghc-mod
- cabal-helper
"Yann Esposito <yann.esposito@gmail.com> yogsototh @yogsototh":
- human-readable-duration
@ -811,7 +811,7 @@ packages:
- data-accessor-mtl
# - file-location # bounds: transformers
- fuzzcheck
- haddock-api
# - haddock-api BLOCKED GHC 8.0.2
- here
- hlibgit2
- gitlib-libgit2
@ -922,9 +922,9 @@ packages:
- servant-cassava
"Alexandr Ruchkin <voidex@live.com> @mvoidex":
- hdocs
# - hdocs # BLOCKED haddock-api GHC 8.0.2
- hformat
- hsdev
# - hsdev # BLOCKED haddock-api GHC 8.0.2
- simple-log
- text-region
@ -952,7 +952,7 @@ packages:
"Jens Petersen <juhpetersen@gmail.com> @juhp":
- cabal-rpm
- cabal-sort
# - cabal-sort # BLOCKED directory 1.3
- hslua
# - idris # bounds: safe
@ -1421,8 +1421,11 @@ packages:
"William Casarin <bill@casarin.me> @jb55":
- bson-lens
- cased
- elm-export
- elm-export-persistent
- pipes-csv
- pipes-mongodb
- servant-elm
- skeletons
- streaming-wai
@ -1446,6 +1449,7 @@ packages:
- aeson-better-errors
"Mitchell Rosen <mitchellwrosen@gmail.com> @mitchellwrosen":
- safe-exceptions-checked
- tasty-hspec
"Christiaan Baaij <christiaan.baaij@gmail.com> @christiaanb":
@ -1458,7 +1462,7 @@ packages:
- clash-vhdl
- clash-verilog
- clash-systemverilog
# - clash-ghc # bounds: ghc
- clash-ghc
"Athan Clark <athan.clark@gmail.com> @athanclark":
- commutative
@ -1509,7 +1513,7 @@ packages:
- lens-family
- streaming
- streaming-bytestring
- streaming-utils
"Justin Le <justin@jle.im> @mstksg":
- auto
@ -1538,8 +1542,8 @@ packages:
- uri-bytestring
# - phash # Can't build on stackage server https://github.com/MichaelXavier/phash/issues/5
- cron
# - tasty-tap # bounds: ghc, base
# - tasty-fail-fast # via: tasty-tap
- tasty-tap
- tasty-fail-fast
- drifter
- drifter-postgresql
@ -1730,6 +1734,7 @@ packages:
- proxied
- text-show
- text-show-instances
- thread-local-storage
"Kirill Zaborsky <qrilka@gmail.com> @qrilka":
- xlsx
@ -1877,10 +1882,12 @@ packages:
- yi-snippet
"Tobias Bexelius <tobias_bexelius@hotmail.com> @tobbebex":
- GPipe
[]
# - GPipe # BLOCKED directory 1.3 via gl
"Patrick Redmond <plredmond@gmail.com> @plredmond":
- GPipe-GLFW
[]
# - GPipe-GLFW # BLOCKED directory 1.3 via GPipe and gl
# "Csaba Hruska <csaba.hruska@gmail.com> @csabahruska":
# - lambdacube-ir # bounds: aeson
@ -1938,11 +1945,13 @@ packages:
- titlecase
"Mark Fine <mark.fine@gmail.com> @markfine":
- postgresql-schema
[]
# - postgresql-schema # BLOCKED shelly GHC 8.0.2
# - sbp # build failure
"Jinjing Wang <nfjinjing@gmail.com> @nfjinjing":
- moesocks
[]
# - moesocks # https://github.com/nfjinjing/moesocks/issues/1
"Gregory W. Schwartz <gregory.schwartz@drexel.edu> @GregorySchwartz":
# - fasta # via pipes-attoparsec
@ -2110,7 +2119,7 @@ packages:
- tagstream-conduit
# "Johannes Hilden <hildenjohannes@gmail.com> @johanneshilden":
# Missing test files https://github.com/fpco/stackage/issues/1001 - hashids
# - hashids # Missing test files https://github.com/fpco/stackage/issues/1001
# "Joe Hermaszewski <stackage@monoid.al> @expipiplus1":
# - exact-real # bounds: ghc, base
@ -2165,7 +2174,7 @@ packages:
- clckwrks-plugin-page
- clckwrks-plugin-media
- clckwrks-theme-bootstrap
- hackage-whatsnew
# - hackage-whatsnew # bounds: directory 1.3
- happstack-authenticate
- happstack-clientsession
- happstack-hsp
@ -2278,7 +2287,8 @@ packages:
- cmark
- texmath
- highlighting-kate
- pandoc-types
- skylighting
- pandoc-types < 1.19 # Accidental upload, see: https://github.com/fpco/stackage/issues/2223
- zip-archive
- doctemplates
- pandoc
@ -2364,7 +2374,7 @@ packages:
- jose
# "Yutaka Nishimura <ytk.nishimura@gmail.com> @ynishi":
# - atndapi # https://github.com/ynishi/atndapi/issues/1
# - atndapi # compilation failure https://github.com/ynishi/atndapi/issues/1
"Yoshikuni Jujo <PAF01143@nifty.ne.jp> @YoshikuniJujo":
- zot
@ -2397,13 +2407,13 @@ packages:
# - yesod-job-queue # build failure https://github.com/nakaji-dayo/yesod-job-queue/issues/10
# "Braden Walters <vc@braden-walters.info> @meoblast001":
# - hakyll-sass # bounds: aeson-pretty
# - hakyll-sass # compilation failure
"Patrick Thomson <patrick@helium.com> @helium":
- postgresql-transactional
"Tom Murphy <amindfv@gmail.com> @amindfv":
# - vivid # 0.2.0.5 compilation failure
- vivid
# - midair # bounds: ghc, base
- nano-erl
@ -2481,7 +2491,7 @@ packages:
"Cliff Harvey <cs.hbar+hs@gmail.com> @BlackBrane":
- ansigraph
- quantum-random
# - quantum-random # BLOCKED directory 1.3
"Tebello Thejane <zyxoas+stackage@gmail.com> @tebello-thejane":
- bitx-bitcoin
@ -2525,15 +2535,11 @@ packages:
"Christopher Wells <cwellsny@nycap.rr.com> @ExcalburZero":
- pixelated-avatar-generator
"Allele Dev <allele.dev@gmail.com> @queertypes":
- freer
- wai-request-spec
"Dominic Orchard <dom.orchard@gmail.com> @dorchard":
- array-memoize
- camfort
- codo-notation
- fortran-src
# - fortran-src # OOM https://github.com/fpco/stackage/issues/2232
# - ixmonad # 0.57 Compilation failure https://github.com/fpco/stackage/pull/1710#issuecomment-235067168
- language-fortran
@ -2569,11 +2575,16 @@ packages:
- quickcheck-special
- writer-cps-mtl
- writer-cps-transformers
- writer-cps-morph
- writer-cps-lens
- writer-cps-full
- wl-pprint-annotated
- wl-pprint-console
- console-style
- unlit
- intro
- tasty-auto
- colorful-monoids
"Taras Serduke <taras.serduke@gmail.com> @tserduke":
- do-list
@ -2685,15 +2696,37 @@ packages:
- haskell-tools-backend-ghc
- haskell-tools-rewrite
- haskell-tools-prettyprint
#- haskell-tools-refactor
- haskell-tools-refactor
- haskell-tools-demo
#- haskell-tools-cli
- haskell-tools-cli
- haskell-tools-daemon
- haskell-tools-debug
# - haskell-tools-debug # https://github.com/haskell-tools/haskell-tools/issues/257
"David Fisher <ddf1991@gmail.com> @ddfisher":
- socket-activation
"aiya000 <aiya000.develop@gmail.com> @aiya000":
- stack-type
"Mitsutoshi Aoe <maoe@foldr.in> @maoe":
- viewprof
"Dylan Simon <dylan-stack@dylex.net> @dylex":
- postgresql-typed
# - invertible # BLOCKED broken test case https://github.com/dylex/invertible/issues/1
- ztail
"Louis Pan <louis@pan.me> @louispan":
- alternators
- glaze
- glazier
- glazier-pipes
- l10n
- pipes-category
- pipes-fluid
- pipes-misc
- stm-extras
# 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
@ -2725,12 +2758,6 @@ packages:
# https://github.com/fpco/stackage/issues/2037
- haskell-src-exts < 1.19
# https://github.com/fpco/stackage/issues/2042
- network-multicast < 0.2
# https://github.com/haskell/vector/issues/142
- primitive < 0.6.2.0
# https://github.com/fpco/stackage/issues/2127
- leapseconds-announced < 2017.0.0.1
@ -2746,15 +2773,21 @@ packages:
# 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
# https://github.com/fpco/stackage/issues/2194
- vector < 0.12.0.0
- primitive < 0.6.2.0
# https://github.com/fpco/stackage/issues/2197
- brick < 0.16
# 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/2229
- hspec < 2.4
- hspec-core < 2.4
- hspec-discover < 2.4
- hspec-smallcheck < 0.4.2
# end of packages
@ -2829,6 +2862,12 @@ package-flags:
ghc_7_7: false
ghc_8_0: true
invertible:
TypeCompose: false
arrows: false
hlist: false
piso: false
# end of package-flags
# Special configure options for individual packages
@ -2948,6 +2987,12 @@ skipped-tests:
- optparse-applicative # https://github.com/pcapriotti/optparse-applicative/issues/228
# BLOCKED shelly GHC 8.0.2
- c2hs
# directory 1.3
- machines
- xmlhtml
# end of skipped-tests
@ -2965,6 +3010,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
@ -2974,8 +3020,6 @@ 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
- haskell-tools-refactor # https://github.com/haskell-tools/haskell-tools/issues/231
- foldl-statistics # https://github.com/data61/foldl-statistics/issues/2
# Timeouts
# These tests sometimes take too long and hit the stackage build
@ -3015,6 +3059,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
@ -3031,6 +3077,7 @@ expected-test-failures:
- mysql-simple # MySQL
- network-anonymous-i2p
- opaleye # PostgreSQL
- postgresql-typed # PostgreSQL
- persistent-redis # redis - https://github.com/fpco/stackage/pull/1581
- pipes-mongodb
- postgresql-query # PostgreSQL
@ -3075,7 +3122,6 @@ expected-test-failures:
# in the test cases.
- DRBG # https://github.com/TomMD/DRBG/issues/7
- cayley-client # https://github.com/MichelBoucey/cayley-client/issues/2
- clash-prelude # 0.10.14 Runtime errors https://github.com/clash-lang/clash-prelude/issues/57
- direct-sqlite # 2.3.17 https://github.com/IreneKnapp/direct-sqlite/issues/63
- ed25519 # 0.0.5.0 https://github.com/thoughtpolice/hs-ed25519/issues/15
- nettle # https://github.com/stbuehler/haskell-nettle/issues/8
@ -3129,6 +3175,22 @@ expected-test-failures:
- yesod-auth-basic # https://github.com/creichert/yesod-auth-basic/issues/1
- folds # https://github.com/ekmett/folds/issues/12
- stm-delay # https://github.com/joeyadams/haskell-stm-delay/issues/5
- vector-algorithms # http://hub.darcs.net/dolio/vector-algorithms/issue/9
- relational-query # https://github.com/khibino/haskell-relational-record/issues/51
- unicode-show # https://github.com/nushio3/unicode-show/issues/2
- ghc-exactprint # https://github.com/alanz/ghc-exactprint/issues/47
# Doctests require hidden Glob package
- multiset
- makefile
- rattletrap # https://github.com/fpco/stackage/issues/2232
# end of expected-test-failures
# Benchmarks which are known not to build. Note that, currently we do not run
@ -3186,6 +3248,10 @@ expected-haddock-failures:
- classy-prelude-yesod
- hledger-web
# Runs out of memory
- stratosphere
- store
# end of expected-haddock-failures
# Benchmarks which should not be built. Note that Stackage builds benchmarks but does not run them.
@ -3376,6 +3442,7 @@ hide:
- courier # conflicts with Network.Transport in network-transport
- newtype-generics # conflicts with Control.Newtype in newtype
- objective # conflicts with Control.Object in natural-transformation
- binary-ieee754 # conflicts with data-binary-ieee754
# Cryptonite deprecations
- cipher-aes

2
check
View File

@ -3,4 +3,4 @@
# Convenience script for checking constraints locally
cd `dirname $0`
exec stack exec --resolver ghc-8.0.1 stackage-curator check
exec stack exec --resolver ghc-8.0.2 stackage-curator check

View File

@ -25,7 +25,7 @@ add-apt-repository -y ppa:marutter/rrutter
#add-apt-repository -y ppa:openstack-ubuntu-testing/icehouse
# Set the GHC version
GHCVER=8.0.1
GHCVER=8.0.2
# Get Stack
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 575159689BEFB442