on master help sign in
Merge branch 'master' into ghc7.10
8e432e5Michael Snoyman
Dockerfile+1−1
@@ -20,6 +20,6 @@ ENV PATH /home/stackage/.cabal/bin:/usr/local/sbin:/usr/local/bin:/opt/ghc/7.8.4
20
20
21RUN cabal update
21RUN cabal update
22RUN cabal install hscolour cabal-install --constraint "Cabal < 1.22" && cp $HOME/.cabal/bin/* /usr/local/bin && rm -rf $HOME/.cabal $HOME/.ghc /tmp/stackage
22RUN cabal install hscolour cabal-install --constraint "Cabal < 1.22" && cp $HOME/.cabal/bin/* /usr/local/bin && rm -rf $HOME/.cabal $HOME/.ghc /tmp/stackage
23−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
23+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
24
24
25RUN cd /home/stackage && cabal update && stackage-curator check
25RUN cd /home/stackage && cabal update && stackage-curator check
README.md+17−42
@@ -43,6 +43,23 @@ dependencies, you may send a pull request without testing first.
43You should also read the [maintainers
43You should also read the [maintainers
44agreement](https://github.com/fpco/stackage/wiki/Maintainers-Agreement).
44agreement](https://github.com/fpco/stackage/wiki/Maintainers-Agreement).
45
45
46+Package Author Guidelines
47+-------------------------
48+
49+There are some basic rules to get your package to play nice with Stackage. Here
50+are some quick guidelines to hopefully make this easier:
51+
52+* Make sure that your code is buildability and testable from Hackage. Often
53+ times, authors test their builds locally, but the tarball that gets uploaded
54+ to Hackage is missing some necessary files. The best way to do this is to
55+ set up a Travis job to do it for you. We recommend the
56+ [multi-ghc-travis](https://github.com/hvr/multi-ghc-travis) approach.
57+* Make your code compatible with the newest versions of all dependencies.
58+* 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)).
59+
60+There are certainly many other tips that could be added here. If you think of
61+any, please send a pull request!
62+
46Build the package set
63Build the package set
47---------------------
64---------------------
48
65
@@ -96,45 +113,3 @@ The following describes at a high level the series of steps for processing
961. Load up most recent build plan
1131. Load up most recent build plan
972. Convert build plan into constraints for next build
1142. Convert build plan into constraints for next build
983. Continue from step (3) above
1153. Continue from step (3) above
99−
100−## Code explanation
101−
102−We start off with *constraints*. Constraints state things like "package X has a
103−given version range," who the maintainer is for a package, the description of
104−the system/compiler being used, etc. `BuildConstraints` describes the build as
105−a whole, whereas `PackageConstraints` describes the constraints on an
106−individual package.
107−
108−There are two primary ways of getting a `BuildConstraints`.
109−`defaultBuildConstraints` inspects the first GHC in the PATH environment variable to
110−determine GHC version, core packages, core tools, etc. It then uses the
111−`Stackage.Config` module to extract information on additional packages to be
112−installed. The secondary approach is in `Stackage2.UpdateBuildPlan`, which will be
113−discussed later.
114−
115−`BuildConstraints` does not specify a build completely. That is given by a
116−`BuildPlan`, which is similarly broken down into `BuildPlan` and `PackagePlan`.
117−In order to get a `BuildPlan`, we need two pieces of information: the
118−`BuildConstraints`, and a package index. The package index (usually downloaded
119−from Hackage) is a collection of all of the cabal files available.
120−
121−By applying a `BuildConstraints` to a package index (via `newBuildPlan`), we
122−get a proposed `BuildPlan`. There is no guarantee that this `BuildPlan` is
123−valid. To validate it, we use `checkBuildPlan`. A `BuildPlan` is an instance of
124−both `ToJSON` and `FromJSON`, and therefore can be serialized to a file for
125−later use.
126−
127−When dealing with LTS Haskell, we want to be able to take a `BuildPlan`, and
128−update to a newer `BuildPlan` that keeps all packages at the same major
129−version. `updateBuildConstraints` turns a `BuildPlan` into a new
130−`BuildConstraints` with that restriction, and `updateBuildPlan` applies
131−`newBuildPlan` to that result. As mentioned previously: this is *not* a
132−validated result, and therefore `checkBuildPlan` must be used.
133−
134−A `BuildPlan` can be acted on. This is done to check that all packages compile
135−together, run relevant test suites, test Haddock documentation is correct, and
136−produce as artifacts both a self-contained GHC binary package database and a
137−set of Haddock documentation. (Not yet implemented.)
138−
139−A `BuildPlan` may be converted into a bundle to be uploaded to Stackage Server.
140−(Not yet implemented.)
build-constraints.yaml+88−44
@@ -122,9 +122,7 @@ packages:
122 - kure
122 - kure
123
123
124 "Omari Norman <omari@smileystation.com>":
124 "Omari Norman <omari@smileystation.com>":
125− - barecheck
126 - rainbow
125 - rainbow
127− - quickpull
128 - multiarg
126 - multiarg
129 - prednote
127 - prednote
130 - cartel
128 - cartel
@@ -322,10 +320,13 @@ packages:
322 #- BlogLiterately
320 #- BlogLiterately
323 #- BlogLiterately-diagrams
321 #- BlogLiterately-diagrams
324 - diagrams
322 - diagrams
323+
324+ # https://github.com/fpco/stackage/issues/443
325− - diagrams-builder
325+ #- diagrams-builder
326+ #- diagrams-haddock
327+
326 - diagrams-contrib
328 - diagrams-contrib
327 - diagrams-core
329 - diagrams-core
328− - diagrams-haddock
329 - diagrams-lib
330 - diagrams-lib
330 - diagrams-postscript
331 - diagrams-postscript
331 - diagrams-svg
332 - diagrams-svg
@@ -373,10 +374,12 @@ packages:
373 - tardis
374 - tardis
374 - lens-family-th
375 - lens-family-th
375
376
376− "Daniel Díaz <dhelta.diaz@gmail.com>":
377+ "Daniel Díaz dhelta.diaz@gmail.com @Daniel-Diaz":
377 - HaTeX
378 - HaTeX
378 - matrix
379 - matrix
379 - binary-list
380 - binary-list
381+ - haskintex
382+ - post-mess-age
380
383
381 "Gabriel Gonzalez <Gabriel439@gmail.com>":
384 "Gabriel Gonzalez <Gabriel439@gmail.com>":
382 - pipes
385 - pipes
@@ -480,8 +483,7 @@ packages:
480 - openpgp-asciiarmor
483 - openpgp-asciiarmor
481 - MusicBrainz
484 - MusicBrainz
482 - DAV
485 - DAV
483− # https://github.com/fpco/stackage/issues/463
484− #- hopenpgp-tools
486+ - hopenpgp-tools
485
487
486 # https://github.com/fpco/stackage/issues/160
488 # https://github.com/fpco/stackage/issues/160
487 "Ketil Malde":
489 "Ketil Malde":
@@ -629,10 +631,11 @@ packages:
629 "Joey Eremondi <joey@eremondi.com>":
631 "Joey Eremondi <joey@eremondi.com>":
630 - aeson-pretty
632 - aeson-pretty
631 - digest
633 - digest
634+ # See: https://github.com/elm-lang/elm-compiler/commit/e714001a928b3834b62555fc350909c95d380ef4
632− - elm-build-lib
635+ #- elm-build-lib
633− - elm-compiler
636+ #- elm-compiler
634 - elm-core-sources
637 - elm-core-sources
635− - elm-package
638+ #- elm-package
636 - language-glsl
639 - language-glsl
637 - prettyclass
640 - prettyclass
638 - QuasiText
641 - QuasiText
@@ -741,25 +744,81 @@ packages:
741
744
742 "Oleg Grenrus oleg.grenrus@iki.fi @phadej":
745 "Oleg Grenrus oleg.grenrus@iki.fi @phadej":
743 - waitra
746 - waitra
744−
747+
745 "Adam C. Foltzer acfoltzer@galois.com @acfoltzer":
748 "Adam C. Foltzer acfoltzer@galois.com @acfoltzer":
749+ - cryptol
746 - gitrev
750 - gitrev
747
751
748 "Luke Taylor tekul.hs@gmail.com @tekul":
752 "Luke Taylor tekul.hs@gmail.com @tekul":
749 - jose-jwt
753 - jose-jwt
750
754
751− "Stackage upper bounds":
755+ "Brendan Hay brendan.g.hay@gmail.com @brendanhay":
752−
756+ - amazonka
753− # https://github.com/fpco/stackage/issues/390
757+ - amazonka-core
754− # NOTE: When this issue is resolved, remove the expected test failure
758+ - amazonka-autoscaling
755− # for language-ecmascript as well.
759+ - amazonka-cloudformation
756− - language-ecmascript < 0.17
760+ - amazonka-cloudfront
761+ - amazonka-cloudhsm
762+ - amazonka-cloudsearch-domains
763+ - amazonka-cloudsearch
764+ - amazonka-cloudtrail
765+ - amazonka-cloudwatch-logs
766+ - amazonka-cloudwatch
767+ - amazonka-codedeploy
768+ - amazonka-cognito-identity
769+ - amazonka-cognito-sync
770+ - amazonka-config
771+ - amazonka-datapipeline
772+ - amazonka-directconnect
773+ - amazonka-dynamodb
774+ - amazonka-ec2
775+ - amazonka-ecs
776+ - amazonka-elasticache
777+ - amazonka-elasticbeanstalk
778+ - amazonka-elastictranscoder
779+ - amazonka-elb
780+ - amazonka-emr
781+ - amazonka-glacier
782+ - amazonka-iam
783+ - amazonka-importexport
784+ - amazonka-kinesis
785+ - amazonka-kms
786+ - amazonka-lambda
787+ - amazonka-opsworks
788+ - amazonka-rds
789+ - amazonka-redshift
790+ - amazonka-route53-domains
791+ - amazonka-route53
792+ - amazonka-s3
793+ - amazonka-sdb
794+ - amazonka-ses
795+ - amazonka-sns
796+ - amazonka-sqs
797+ - amazonka-ssm
798+ - amazonka-storagegateway
799+ - amazonka-sts
800+ - amazonka-support
801+ - amazonka-swf
802+ - ede
803+ - pagerduty
804+ - semver
805+ - text-manipulate
806+
807+ "Nick Partridge nkpart@gmail.com @nkpart":
808+ - cabal-file-th
809+
810+ "Gershom Bazerman <gershomb@gmail.com> @gbaz":
811+ - jmacro
812+ - jmacro-rpc
813+ - jmacro-rpc-happstack
814+ - jmacro-rpc-snap
815+ - mbox
816+ - kmeans
817+ - boolsimplifier
818+ - cubicspline
819+ - maximal-cliques
757
820
758− # https://github.com/fpco/stackage/issues/407
821+ "Stackage upper bounds":
759− - HStringTemplate < 0.8
760−
761− # https://github.com/fpco/stackage/issues/410
762− - elm-package < 0.4
763
822
764 # https://github.com/fpco/stackage/issues/415
823 # https://github.com/fpco/stackage/issues/415
765 - hackage-db < 1.12
824 - hackage-db < 1.12
@@ -767,28 +826,13 @@ packages:
767 # https://github.com/fpco/stackage/issues/424
826 # https://github.com/fpco/stackage/issues/424
768 - control-monad-free < 0.6
827 - control-monad-free < 0.6
769
828
770− # https://github.com/fpco/stackage/issues/426
771− - utf8-string < 1
772−
773− # https://github.com/fpco/stackage/issues/440
774− - th-orphans < 0.9
775− - file-location < 0.4.7
776− - th-desugar < 1.5.1
777− - singletons < 1.1.1
778−
779 # https://github.com/fpco/stackage/issues/442
829 # https://github.com/fpco/stackage/issues/442
780 - blaze-builder < 0.4
830 - blaze-builder < 0.4
831+
832+ # https://github.com/fpco/stackage/issues/487
781 - blaze-markup < 0.7
833 - blaze-markup < 0.7
782 - blaze-html < 0.8
834 - blaze-html < 0.8
783
835
784− # https://github.com/fpco/stackage/issues/443
785− - exceptions < 0.7
786− - rest-client < 0.5
787− - rest-types < 1.13
788− - rest-core < 0.35
789− - rest-gen < 0.17
790− - rest-wai < 0.1.0.7
791−
792 # https://github.com/fpco/stackage/issues/467
836 # https://github.com/fpco/stackage/issues/467
793 - lens < 4.8
837 - lens < 4.8
794
838
@@ -804,8 +848,8 @@ packages:
804 # https://github.com/fpco/stackage/issues/483
848 # https://github.com/fpco/stackage/issues/483
805 - rethinkdb-client-driver < 0.0.15
849 - rethinkdb-client-driver < 0.0.15
806
850
807− # https://github.com/fpco/stackage/issues/485
851+ # https://github.com/fpco/stackage/issues/494
808− - parsec < 3.1.9
852+ - criterion < 1.1
809
853
810# Package flags are applied to individual packages, and override the values of
854# Package flags are applied to individual packages, and override the values of
811# global-flags
855# global-flags
@@ -1032,9 +1076,6 @@ expected-test-failures:
1032 # https://github.com/vincenthz/hs-crypto-pubkey/issues/17
1076 # https://github.com/vincenthz/hs-crypto-pubkey/issues/17
1033 - crypto-pubkey
1077 - crypto-pubkey
1034
1078
1035− # https://github.com/jswebtools/language-ecmascript/issues/60
1036− - language-ecmascript
1037−
1038 # https://github.com/kazu-yamamoto/unix-time/issues/29
1079 # https://github.com/kazu-yamamoto/unix-time/issues/29
1039 - unix-time
1080 - unix-time
1040
1081
@@ -1125,6 +1166,9 @@ skipped-benchmarks:
1125 # sometimes falls out-of-sync on hasql-postgres
1166 # sometimes falls out-of-sync on hasql-postgres
1126 - hasql
1167 - hasql
1127
1168
1169+ # https://github.com/fpco/stackage/issues/488
1170+ - uuid-types
1171+
1128skipped-profiling:
1172skipped-profiling:
1129 # https://github.com/nomeata/ghc-heap-view/commit/8d198eb8fbbad2ce0c4527c781659f35b8909c04#diff-8288955e209cfbead5b318a8598be9c0R10
1173 # https://github.com/nomeata/ghc-heap-view/commit/8d198eb8fbbad2ce0c4527c781659f35b8909c04#diff-8288955e209cfbead5b318a8598be9c0R10
1130 - ghc-heap-view
1174 - ghc-heap-view