mirror of
https://github.com/commercialhaskell/stackage.git
synced 2026-01-11 23:08:30 +01:00
Merge branch 'master' into ghc7.10
Conflicts: build-constraints.yaml
This commit is contained in:
commit
8e432e5e68
@ -20,6 +20,6 @@ ENV PATH /home/stackage/.cabal/bin:/usr/local/sbin:/usr/local/bin:/opt/ghc/7.8.4
|
||||
|
||||
RUN cabal update
|
||||
RUN cabal install hscolour cabal-install --constraint "Cabal < 1.22" && cp $HOME/.cabal/bin/* /usr/local/bin && rm -rf $HOME/.cabal $HOME/.ghc /tmp/stackage
|
||||
RUN wget https://s3.amazonaws.com/stackage-travis/stackage-curator.bz2 && bunzip2 stackage-curator.bz2 && chmod +x stackage-curator && mv stackage-curator /usr/local/bin
|
||||
RUN wget https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2 && bunzip2 stackage-curator.bz2 && chmod +x stackage-curator && mv stackage-curator /usr/local/bin
|
||||
|
||||
RUN cd /home/stackage && cabal update && stackage-curator check
|
||||
|
||||
59
README.md
59
README.md
@ -43,6 +43,23 @@ dependencies, you may send a pull request without testing first.
|
||||
You should also read the [maintainers
|
||||
agreement](https://github.com/fpco/stackage/wiki/Maintainers-Agreement).
|
||||
|
||||
Package Author Guidelines
|
||||
-------------------------
|
||||
|
||||
There are some basic rules to get your package to play nice with Stackage. Here
|
||||
are some quick guidelines to hopefully make this easier:
|
||||
|
||||
* Make sure that your code is buildability and testable from Hackage. Often
|
||||
times, authors test their builds locally, but the tarball that gets uploaded
|
||||
to Hackage is missing some necessary files. The best way to do this is to
|
||||
set up a Travis job to do it for you. We recommend the
|
||||
[multi-ghc-travis](https://github.com/hvr/multi-ghc-travis) approach.
|
||||
* Make your code compatible with the newest versions of all dependencies.
|
||||
* Make your code 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)).
|
||||
|
||||
There are certainly many other tips that could be added here. If you think of
|
||||
any, please send a pull request!
|
||||
|
||||
Build the package set
|
||||
---------------------
|
||||
|
||||
@ -96,45 +113,3 @@ 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
|
||||
|
||||
## Code explanation
|
||||
|
||||
We start off with *constraints*. Constraints state things like "package X has a
|
||||
given version range," who the maintainer is for a package, the description of
|
||||
the system/compiler being used, etc. `BuildConstraints` describes the build as
|
||||
a whole, whereas `PackageConstraints` describes the constraints on an
|
||||
individual package.
|
||||
|
||||
There are two primary ways of getting a `BuildConstraints`.
|
||||
`defaultBuildConstraints` inspects the first GHC in the PATH environment variable to
|
||||
determine GHC version, core packages, core tools, etc. It then uses the
|
||||
`Stackage.Config` module to extract information on additional packages to be
|
||||
installed. The secondary approach is in `Stackage2.UpdateBuildPlan`, which will be
|
||||
discussed later.
|
||||
|
||||
`BuildConstraints` does not specify a build completely. That is given by a
|
||||
`BuildPlan`, which is similarly broken down into `BuildPlan` and `PackagePlan`.
|
||||
In order to get a `BuildPlan`, we need two pieces of information: the
|
||||
`BuildConstraints`, and a package index. The package index (usually downloaded
|
||||
from Hackage) is a collection of all of the cabal files available.
|
||||
|
||||
By applying a `BuildConstraints` to a package index (via `newBuildPlan`), we
|
||||
get a proposed `BuildPlan`. There is no guarantee that this `BuildPlan` is
|
||||
valid. To validate it, we use `checkBuildPlan`. A `BuildPlan` is an instance of
|
||||
both `ToJSON` and `FromJSON`, and therefore can be serialized to a file for
|
||||
later use.
|
||||
|
||||
When dealing with LTS Haskell, we want to be able to take a `BuildPlan`, and
|
||||
update to a newer `BuildPlan` that keeps all packages at the same major
|
||||
version. `updateBuildConstraints` turns a `BuildPlan` into a new
|
||||
`BuildConstraints` with that restriction, and `updateBuildPlan` applies
|
||||
`newBuildPlan` to that result. As mentioned previously: this is *not* a
|
||||
validated result, and therefore `checkBuildPlan` must be used.
|
||||
|
||||
A `BuildPlan` can be acted on. This is done to check that all packages compile
|
||||
together, run relevant test suites, test Haddock documentation is correct, and
|
||||
produce as artifacts both a self-contained GHC binary package database and a
|
||||
set of Haddock documentation. (Not yet implemented.)
|
||||
|
||||
A `BuildPlan` may be converted into a bundle to be uploaded to Stackage Server.
|
||||
(Not yet implemented.)
|
||||
|
||||
@ -122,9 +122,7 @@ packages:
|
||||
- kure
|
||||
|
||||
"Omari Norman <omari@smileystation.com>":
|
||||
- barecheck
|
||||
- rainbow
|
||||
- quickpull
|
||||
- multiarg
|
||||
- prednote
|
||||
- cartel
|
||||
@ -322,10 +320,13 @@ packages:
|
||||
#- BlogLiterately
|
||||
#- BlogLiterately-diagrams
|
||||
- diagrams
|
||||
- diagrams-builder
|
||||
|
||||
# https://github.com/fpco/stackage/issues/443
|
||||
#- diagrams-builder
|
||||
#- diagrams-haddock
|
||||
|
||||
- diagrams-contrib
|
||||
- diagrams-core
|
||||
- diagrams-haddock
|
||||
- diagrams-lib
|
||||
- diagrams-postscript
|
||||
- diagrams-svg
|
||||
@ -373,10 +374,12 @@ packages:
|
||||
- tardis
|
||||
- lens-family-th
|
||||
|
||||
"Daniel Díaz <dhelta.diaz@gmail.com>":
|
||||
"Daniel Díaz dhelta.diaz@gmail.com @Daniel-Diaz":
|
||||
- HaTeX
|
||||
- matrix
|
||||
- binary-list
|
||||
- haskintex
|
||||
- post-mess-age
|
||||
|
||||
"Gabriel Gonzalez <Gabriel439@gmail.com>":
|
||||
- pipes
|
||||
@ -480,8 +483,7 @@ packages:
|
||||
- openpgp-asciiarmor
|
||||
- MusicBrainz
|
||||
- DAV
|
||||
# https://github.com/fpco/stackage/issues/463
|
||||
#- hopenpgp-tools
|
||||
- hopenpgp-tools
|
||||
|
||||
# https://github.com/fpco/stackage/issues/160
|
||||
"Ketil Malde":
|
||||
@ -629,10 +631,11 @@ packages:
|
||||
"Joey Eremondi <joey@eremondi.com>":
|
||||
- aeson-pretty
|
||||
- digest
|
||||
- elm-build-lib
|
||||
- elm-compiler
|
||||
# See: https://github.com/elm-lang/elm-compiler/commit/e714001a928b3834b62555fc350909c95d380ef4
|
||||
#- elm-build-lib
|
||||
#- elm-compiler
|
||||
- elm-core-sources
|
||||
- elm-package
|
||||
#- elm-package
|
||||
- language-glsl
|
||||
- prettyclass
|
||||
- QuasiText
|
||||
@ -741,54 +744,95 @@ packages:
|
||||
|
||||
"Oleg Grenrus oleg.grenrus@iki.fi @phadej":
|
||||
- waitra
|
||||
|
||||
|
||||
"Adam C. Foltzer acfoltzer@galois.com @acfoltzer":
|
||||
- cryptol
|
||||
- gitrev
|
||||
|
||||
"Luke Taylor tekul.hs@gmail.com @tekul":
|
||||
- jose-jwt
|
||||
|
||||
"Brendan Hay brendan.g.hay@gmail.com @brendanhay":
|
||||
- amazonka
|
||||
- amazonka-core
|
||||
- amazonka-autoscaling
|
||||
- amazonka-cloudformation
|
||||
- amazonka-cloudfront
|
||||
- amazonka-cloudhsm
|
||||
- amazonka-cloudsearch-domains
|
||||
- amazonka-cloudsearch
|
||||
- amazonka-cloudtrail
|
||||
- amazonka-cloudwatch-logs
|
||||
- amazonka-cloudwatch
|
||||
- amazonka-codedeploy
|
||||
- amazonka-cognito-identity
|
||||
- amazonka-cognito-sync
|
||||
- amazonka-config
|
||||
- amazonka-datapipeline
|
||||
- amazonka-directconnect
|
||||
- amazonka-dynamodb
|
||||
- amazonka-ec2
|
||||
- amazonka-ecs
|
||||
- amazonka-elasticache
|
||||
- amazonka-elasticbeanstalk
|
||||
- amazonka-elastictranscoder
|
||||
- amazonka-elb
|
||||
- amazonka-emr
|
||||
- amazonka-glacier
|
||||
- amazonka-iam
|
||||
- amazonka-importexport
|
||||
- amazonka-kinesis
|
||||
- amazonka-kms
|
||||
- amazonka-lambda
|
||||
- amazonka-opsworks
|
||||
- amazonka-rds
|
||||
- amazonka-redshift
|
||||
- amazonka-route53-domains
|
||||
- amazonka-route53
|
||||
- amazonka-s3
|
||||
- amazonka-sdb
|
||||
- amazonka-ses
|
||||
- amazonka-sns
|
||||
- amazonka-sqs
|
||||
- amazonka-ssm
|
||||
- amazonka-storagegateway
|
||||
- amazonka-sts
|
||||
- amazonka-support
|
||||
- amazonka-swf
|
||||
- ede
|
||||
- pagerduty
|
||||
- semver
|
||||
- text-manipulate
|
||||
|
||||
"Nick Partridge nkpart@gmail.com @nkpart":
|
||||
- cabal-file-th
|
||||
|
||||
"Gershom Bazerman <gershomb@gmail.com> @gbaz":
|
||||
- jmacro
|
||||
- jmacro-rpc
|
||||
- jmacro-rpc-happstack
|
||||
- jmacro-rpc-snap
|
||||
- mbox
|
||||
- kmeans
|
||||
- boolsimplifier
|
||||
- cubicspline
|
||||
- maximal-cliques
|
||||
|
||||
"Stackage upper bounds":
|
||||
|
||||
# https://github.com/fpco/stackage/issues/390
|
||||
# NOTE: When this issue is resolved, remove the expected test failure
|
||||
# for language-ecmascript as well.
|
||||
- language-ecmascript < 0.17
|
||||
|
||||
# https://github.com/fpco/stackage/issues/407
|
||||
- HStringTemplate < 0.8
|
||||
|
||||
# https://github.com/fpco/stackage/issues/410
|
||||
- elm-package < 0.4
|
||||
|
||||
# https://github.com/fpco/stackage/issues/415
|
||||
- hackage-db < 1.12
|
||||
|
||||
# https://github.com/fpco/stackage/issues/424
|
||||
- control-monad-free < 0.6
|
||||
|
||||
# https://github.com/fpco/stackage/issues/426
|
||||
- utf8-string < 1
|
||||
|
||||
# https://github.com/fpco/stackage/issues/440
|
||||
- th-orphans < 0.9
|
||||
- file-location < 0.4.7
|
||||
- th-desugar < 1.5.1
|
||||
- singletons < 1.1.1
|
||||
|
||||
# https://github.com/fpco/stackage/issues/442
|
||||
- blaze-builder < 0.4
|
||||
|
||||
# https://github.com/fpco/stackage/issues/487
|
||||
- blaze-markup < 0.7
|
||||
- blaze-html < 0.8
|
||||
|
||||
# https://github.com/fpco/stackage/issues/443
|
||||
- exceptions < 0.7
|
||||
- rest-client < 0.5
|
||||
- rest-types < 1.13
|
||||
- rest-core < 0.35
|
||||
- rest-gen < 0.17
|
||||
- rest-wai < 0.1.0.7
|
||||
|
||||
# https://github.com/fpco/stackage/issues/467
|
||||
- lens < 4.8
|
||||
|
||||
@ -804,8 +848,8 @@ packages:
|
||||
# https://github.com/fpco/stackage/issues/483
|
||||
- rethinkdb-client-driver < 0.0.15
|
||||
|
||||
# https://github.com/fpco/stackage/issues/485
|
||||
- parsec < 3.1.9
|
||||
# https://github.com/fpco/stackage/issues/494
|
||||
- criterion < 1.1
|
||||
|
||||
# Package flags are applied to individual packages, and override the values of
|
||||
# global-flags
|
||||
@ -1032,9 +1076,6 @@ expected-test-failures:
|
||||
# https://github.com/vincenthz/hs-crypto-pubkey/issues/17
|
||||
- crypto-pubkey
|
||||
|
||||
# https://github.com/jswebtools/language-ecmascript/issues/60
|
||||
- language-ecmascript
|
||||
|
||||
# https://github.com/kazu-yamamoto/unix-time/issues/29
|
||||
- unix-time
|
||||
|
||||
@ -1125,6 +1166,9 @@ skipped-benchmarks:
|
||||
# sometimes falls out-of-sync on hasql-postgres
|
||||
- hasql
|
||||
|
||||
# https://github.com/fpco/stackage/issues/488
|
||||
- uuid-types
|
||||
|
||||
skipped-profiling:
|
||||
# https://github.com/nomeata/ghc-heap-view/commit/8d198eb8fbbad2ce0c4527c781659f35b8909c04#diff-8288955e209cfbead5b318a8598be9c0R10
|
||||
- ghc-heap-view
|
||||
|
||||
Loading…
Reference in New Issue
Block a user