on master help sign in
Merge branch 'master' of github.com:commercialhaskell/stackage
95130edCristhianMotoche
.dockerignore+2
@@ -6,3 +6,5 @@ cabal.sandbox.config
6tarballs
6tarballs
7*.yaml
7*.yaml
8.git
8.git
9+automated
10+.github
.gitignore+3
@@ -5,3 +5,6 @@ lts-*.yaml
5*.swp
5*.swp
6check-plan.yaml
6check-plan.yaml
7*~
7*~
8+/constraints.yaml
9+/snapshot.yaml
10+/snapshot-incomplete.yaml
CURATORS.md+12−12
@@ -18,8 +18,8 @@ This section sketches out at a high level how the entire Stackage build/curation
18process works:
18process works:
19
19
20* [build-constraints.yaml](https://github.com/commercialhaskell/stackage/blob/master/build-constraints.yaml) specifies packages to be included in Stackage
20* [build-constraints.yaml](https://github.com/commercialhaskell/stackage/blob/master/build-constraints.yaml) specifies packages to be included in Stackage
21−* [stackage-curator](http://www.stackage.org/package/stackage-curator) combines build-constraints.yaml with the current state of Hackage to create a build plan for a Stackage Nightly
21+* [curator](https://github.com/commercialhaskell/stack/tree/master/subs/curator) combines build-constraints.yaml with the current state of Hackage to create a build plan for a Stackage Nightly
22−* stackage-curator can check that build plan to ensure all version bounds are consistent
22+* `curator` can check that build plan to ensure all version bounds are consistent
23 * The [Travis job](https://github.com/commercialhaskell/stackage/blob/master/.travis.yml) performs these two steps to provide immediate feedback on pull requests
23 * The [Travis job](https://github.com/commercialhaskell/stackage/blob/master/.travis.yml) performs these two steps to provide immediate feedback on pull requests
24* Docker Hub [builds](https://github.com/commercialhaskell/stackage/blob/master/Dockerfile) a [Docker image](https://hub.docker.com/r/commercialhaskell/stackage/) for running builds
24* Docker Hub [builds](https://github.com/commercialhaskell/stackage/blob/master/Dockerfile) a [Docker image](https://hub.docker.com/r/commercialhaskell/stackage/) for running builds
25* The stackage-build server (described below) is able to run automated builds using the [build.sh script](https://github.com/commercialhaskell/stackage/blob/master/automated/build.sh)
25* The stackage-build server (described below) is able to run automated builds using the [build.sh script](https://github.com/commercialhaskell/stackage/blob/master/automated/build.sh)
@@ -72,7 +72,7 @@ Most common technique, just prevent a new version of a library from
72being included immediately. This also applies to when only benchmarks
72being included immediately. This also applies to when only benchmarks
73and tests are affected.
73and tests are affected.
74
74
75−* Copy the stackage-curator output and create a new issue, see e.g
75+* Copy the `curator` output and create a new issue, see e.g
76https://github.com/commercialhaskell/stackage/issues/2108
76https://github.com/commercialhaskell/stackage/issues/2108
77
77
78* Add a new entry under the "stackage upper bounds" section of `build-constraints.yaml`. For the above example it would be
78* Add a new entry under the "stackage upper bounds" section of `build-constraints.yaml`. For the above example it would be
@@ -84,7 +84,7 @@ https://github.com/commercialhaskell/stackage/issues/2108
84```
84```
85
85
86* Commit (message e.g. "Upper bound for #2108")
86* Commit (message e.g. "Upper bound for #2108")
87−* Optionally: Verify with `stackage-curator check` locally
87+* Optionally: Verify with `./check` locally
88* Push
88* Push
89* Verify that everything works on the build server (you can restart the build or wait for it to to run again)
89* Verify that everything works on the build server (you can restart the build or wait for it to to run again)
90
90
@@ -110,7 +110,7 @@ new package may appear if its dependencies were part of this issue but
110have been updated since the last time we checked. We want to give
110have been updated since the last time we checked. We want to give
111these new packages ample time to be upgraded.
111these new packages ample time to be upgraded.
112
112
113−If stackage-curator is happy commit the change ("Remove upper bounds
113+If `curator` is happy commit the change ("Remove upper bounds
114and close #X"). After doing this the next nightly build may fail
114and close #X"). After doing this the next nightly build may fail
115because some packages didn't have an upper bound in place, but
115because some packages didn't have an upper bound in place, but
116compilation failed. In this case revert the previous commit so any
116compilation failed. In this case revert the previous commit so any
@@ -367,30 +367,30 @@ We do not run the full stackage build locally as that might take too
367much time. However, some steps on the other hand are much faster to do
367much time. However, some steps on the other hand are much faster to do
368yourself, e.g. verifying constraints without building anything.
368yourself, e.g. verifying constraints without building anything.
369
369
370−To get started, install `stackage-curator` via Git, or [the Linux binary]:
370+To get started, install `curator` via Git:
371
371
372```
372```
373−$ git clone git@github.com:fpco/stackage-curator.git
373+$ git clone git@github.com:commercialhaskell/curator.git
374−$ cd stackage-curator && stack install
374+$ cd curator && stack install curator
375```
375```
376
376
377−It is a good idea to upgrade `stackage-curator` at the start of your week.
377+It is a good idea to upgrade `curator` at the start of your week.
378Then, clone the stackage repo, get the latest packages and run dependency
378Then, clone the stackage repo, get the latest packages and run dependency
379resolution:
379resolution:
380
380
381```
381```
382$ git clone git@github.com:commercialhaskell/stackage.git
382$ git clone git@github.com:commercialhaskell/stackage.git
383−$ stack update && stackage-curator check
383+$ cd stackage
384+$ ./check
384```
385```
385
386
386This can be used to make sure all version bounds are in place, including for
387This can be used to make sure all version bounds are in place, including for
387test suites and benchmarks, to check whether bounds can be lifted, and to get
388test suites and benchmarks, to check whether bounds can be lifted, and to get
388[tell-me-when-its-released] notifications.
389[tell-me-when-its-released] notifications.
389
390
390−`stackage-curator` does not build anything, so you wont see any compilation
391+`curator` does not build anything, so you wont see any compilation
391errors for builds, tests and benchmarks.
392errors for builds, tests and benchmarks.
392
393
393−[the Linux binary]: https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2
394[tell-me-when-its-released]: https://github.com/commercialhaskell/stackage/blob/master/CURATORS.md#waiting-for-new-releases
394[tell-me-when-its-released]: https://github.com/commercialhaskell/stackage/blob/master/CURATORS.md#waiting-for-new-releases
395
395
396## Adding new curators
396## Adding new curators
MAINTAINERS.md+1−1
@@ -35,7 +35,7 @@ If you want to be proactive or if CI fails, you can make sure that your package
35# Build from the tarball on Hackage to check for missing files
35# Build from the tarball on Hackage to check for missing files
36$ stack unpack yourpackage && cd yourpackage-*
36$ stack unpack yourpackage && cd yourpackage-*
37# Generate a pristine stack.yaml, adding any missing extra-deps
37# Generate a pristine stack.yaml, adding any missing extra-deps
38−$ rm -f stack.yaml && stack init --resolver nightly --solver
38+$ rm -f stack.yaml && stack init --resolver nightly
39# Build, generate docs, test, and build benchmarks
39# Build, generate docs, test, and build benchmarks
40$ stack build --resolver nightly --haddock --test --bench --no-run-benchmarks
40$ stack build --resolver nightly --haddock --test --bench --no-run-benchmarks
41```
41```
automated/build-next.sh+21−30
@@ -5,6 +5,8 @@ set -eu +x -o pipefail
5ROOT=$(cd $(dirname $0) ; pwd)
5ROOT=$(cd $(dirname $0) ; pwd)
6TARGET=$1
6TARGET=$1
7
7
8+source aws.sh
9+
8# For nightly-YYYY-MM-DD, tag should be nightly
10# For nightly-YYYY-MM-DD, tag should be nightly
9# For lts-X.Y, tag should be ltsX
11# For lts-X.Y, tag should be ltsX
10SHORTNAME=$(echo $TARGET | cut -d- -f 1)
12SHORTNAME=$(echo $TARGET | cut -d- -f 1)
@@ -61,25 +63,25 @@ require_400_file "$HACKAGE_CREDS"
61mkdir -p $ROOT/bin
63mkdir -p $ROOT/bin
62BINDIR=$(cd $ROOT/bin ; pwd)
64BINDIR=$(cd $ROOT/bin ; pwd)
63(
65(
66+# See etc/curator-exes/README.md
67+CURATOR_EXES=95a207fb4d5bd2e2a255350ce18f55976344eeb71e6f27a25f63e8dba28a4cd1
64cd $BINDIR
68cd $BINDIR
65−rm -f stackage-curator stackage-curator-2*.bz2
69+rm -f curator stack *.bz2
66−CURATOR2=stackage-curator-2-f6258124cff9a7e92bcb5704164a70e149080e88
67−wget "https://download.fpcomplete.com/stackage-curator-2/$CURATOR2.bz2"
70+wget "https://s3.amazonaws.com/download.fpcomplete.com/curator-exes/curator-exes-$CURATOR_EXES.tar.bz2"
68−bunzip2 "$CURATOR2.bz2"
71+tar xf "curator-exes-$CURATOR_EXES.tar.bz2"
69−chmod +x $CURATOR2
72+echo curator: $(./curator --version)
70−mv $CURATOR2 stackage-curator
73+echo stack: $(./stack --version)
71−./stackage-curator --version
72)
74)
73
75
74# We share pantry directory between snapshots while the other content in .stack
76# We share pantry directory between snapshots while the other content in .stack
75# is stored separately (because e.g. Ubuntu releases between LTS and nightly
77# is stored separately (because e.g. Ubuntu releases between LTS and nightly
76# could differ). Also the order of binds is important.
78# could differ). Also the order of binds is important.
77−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 $BINDIR/stack:/usr/bin/stack:ro -v $STACK_DIR:$HOME/.stack -v $PANTRY_DIR:$HOME/.stack/pantry"
79+ARGS_COMMON="--rm -v $WORKDIR:$HOME/work -w $HOME/work -v $BINDIR/curator:/usr/bin/curator:ro -v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro -v $BINDIR/stack:/usr/bin/stack:ro -v $STACK_DIR:$HOME/.stack -v $PANTRY_DIR:$HOME/.stack/pantry"
78ARGS_PREBUILD="$ARGS_COMMON -u $USERID -e HOME=$HOME -v $CABAL_DIR:$HOME/.cabal -v $GHC_DIR:$HOME/.ghc -v $DOT_STACKAGE_DIR:$HOME/.stackage"
80ARGS_PREBUILD="$ARGS_COMMON -u $USERID -e HOME=$HOME -v $CABAL_DIR:$HOME/.cabal -v $GHC_DIR:$HOME/.ghc -v $DOT_STACKAGE_DIR:$HOME/.stackage"
79ARGS_BUILD="$ARGS_COMMON -v $CABAL_DIR:$HOME/.cabal:ro -v $GHC_DIR:$HOME/.ghc:ro"
81ARGS_BUILD="$ARGS_COMMON -v $CABAL_DIR:$HOME/.cabal:ro -v $GHC_DIR:$HOME/.ghc:ro"
80# instance-data is an undocumented feature of S3 used by amazonka,
82# instance-data is an undocumented feature of S3 used by amazonka,
81# see https://github.com/brendanhay/amazonka/issues/271
83# see https://github.com/brendanhay/amazonka/issues/271
82−ARGS_UPLOAD="$ARGS_COMMON -u $USERID -e HOME=$HOME -v $HACKAGE_CREDS:/hackage-creds:ro -v $DOT_STACKAGE_DIR:$HOME/.stackage -v $SSH_DIR:$HOME/.ssh:ro -v $GITCONFIG:$HOME/.gitconfig:ro -v $CABAL_DIR:$HOME/.cabal:ro --add-host instance-data:169.254.169.254"
84+ARGS_UPLOAD="$ARGS_COMMON -u $USERID -e HOME=$HOME -v $HACKAGE_CREDS:/hackage-creds:ro -v $DOT_STACKAGE_DIR:$HOME/.stackage -v $SSH_DIR:$HOME/.ssh:ro -v $GITCONFIG:$HOME/.gitconfig:ro -v $CABAL_DIR:$HOME/.cabal:ro -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY"
83
85
84# Make sure we actually need this snapshot. We only check this for LTS releases
86# Make sure we actually need this snapshot. We only check this for LTS releases
85# since, for nightlies, we'd like to run builds even if they are unnecessary to
87# since, for nightlies, we'd like to run builds even if they are unnecessary to
@@ -87,21 +89,9 @@ ARGS_UPLOAD="$ARGS_COMMON -u $USERID -e HOME=$HOME -v $HACKAGE_CREDS:/hackage-cr
87# below for why this is safe.)
89# below for why this is safe.)
88if [ $SHORTNAME = "lts" ]
90if [ $SHORTNAME = "lts" ]
89then
91then
90− docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "exec stackage-curator check-target-available --target $TARGET"
92+ docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "exec curator check-target-available --target $TARGET"
91fi
93fi
92
94
93−# Get latest stack
94−(
95−cd $BINDIR
96−rm -f stack stack-*.bz2
97−STACK=stack-f6258124cff9a7e92bcb5704164a70e149080e88
98−wget "https://download.fpcomplete.com/stackage-curator-2/$STACK.bz2"
99−bunzip2 "$STACK.bz2"
100−chmod +x $STACK
101−mv $STACK stack
102−./stack --version
103−)
104−
105
95
106# Determine the new build plan unless NOPLAN is set
96# Determine the new build plan unless NOPLAN is set
107#
97#
@@ -111,10 +101,12 @@ if [ "${NOPLAN:-}x" = "x" ]
111then
101then
112 if [ $SHORTNAME = "lts" ]
102 if [ $SHORTNAME = "lts" ]
113 then
103 then
114− docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "stackage-curator constraints --target $TARGET && stackage-curator snapshot-incomplete && stackage-curator snapshot"
104+ docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "curator constraints --target $TARGET && curator snapshot-incomplete --target $TARGET && curator snapshot"
115 else
105 else
116− docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "stackage-curator update && stackage-curator constraints --target $TARGET && stackage-curator snapshot-incomplete && stackage-curator snapshot"
106+ docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "curator update && curator constraints --target $TARGET && curator snapshot-incomplete --target $TARGET && curator snapshot"
117 fi
107 fi
108+else
109+ docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "curator snapshot"
118fi
110fi
119
111
120
112
@@ -122,7 +114,7 @@ fi
122#
114#
123# * Check that the snapshot is valid
115# * Check that the snapshot is valid
124# * Fetch and unpack all needed tarballs (the build step does not have write access to the tarball directory)
116# * Fetch and unpack all needed tarballs (the build step does not have write access to the tarball directory)
125−docker run $ARGS_PREBUILD $IMAGE /bin/bash -c 'GHCVER=$(sed -n "s/^ghc-version: \(.*\)/\1/p" constraints.yaml) && stack setup ghc-$GHCVER --verbosity=error && stack exec --resolver=ghc-$GHCVER stackage-curator check-snapshot && stackage-curator unpack'
117+docker run $ARGS_PREBUILD $IMAGE /bin/bash -c 'GHCVER=$(sed -n "s/^ghc-version: \(.*\)/\1/p" constraints.yaml) && stack setup ghc-$GHCVER --verbosity=error && stack exec --resolver=ghc-$GHCVER curator check-snapshot && curator unpack'
126
118
127case $SHORTNAME in
119case $SHORTNAME in
128 lts) JOBS=1 ;;
120 lts) JOBS=1 ;;
@@ -132,25 +124,24 @@ esac
132# Now do the actual build. We need to first set the owner of the home directory
124# Now do the actual build. We need to first set the owner of the home directory
133# correctly, so we run the command as root, change owner, and then use sudo to
125# correctly, so we run the command as root, change owner, and then use sudo to
134# switch back to the current user
126# switch back to the current user
135−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 build --jobs $JOBS" 2>&1 | tee "$SHORTNAME-build.log"
127+docker run $ARGS_BUILD $IMAGE nice -n 15 /bin/bash -c "chown $USER $HOME && exec sudo -E -u $USER env \"HOME=$HOME\" \"PATH=\$PATH\" curator build --jobs $JOBS" 2>&1 | tee "$SHORTNAME-build.log"
136
128
137# Make sure we actually need this snapshot. We used to perform this check
129# Make sure we actually need this snapshot. We used to perform this check
138# exclusively before building. Now we perform it after as well for the case of
130# exclusively before building. Now we perform it after as well for the case of
139# nightly, where we don't perform this check beforehand. This is also slightly
131# nightly, where we don't perform this check beforehand. This is also slightly
140# safer, in case someone else already uploaded a specific snapshot while we
132# safer, in case someone else already uploaded a specific snapshot while we
141# were building.
133# were building.
142−docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "exec stackage-curator check-target-available --target $TARGET"
134+docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "exec curator check-target-available --target $TARGET"
143
135
144# Successful build, so we need to:
136# Successful build, so we need to:
145#
137#
146# * Upload the docs to S3
138# * Upload the docs to S3
147# * Upload the new snapshot .yaml file to the appropriate Github repo, also upload its constraints
139# * Upload the new snapshot .yaml file to the appropriate Github repo, also upload its constraints
148# * Register as a new Hackage distro (currently disabled)
140# * Register as a new Hackage distro (currently disabled)
149−docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "stackage-curator upload-docs --target $TARGET && exec stackage-curator upload-github --target $TARGET"
141+docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "curator upload-docs --target $TARGET && curator upload-github --target $TARGET && exec curator hackage-distro --target $TARGET"
150−# FIXME - add back "stackage-curator hackage-distro --target $TARGET" when we will be ready to publish
151# information about the new snapshots on Hackage
142# information about the new snapshots on Hackage
152
143
153−$BINDIR/stackage-curator legacy-bulk --stackage-snapshots dot-stackage/curator/stackage-snapshots/ --lts-haskell dot-stackage/curator/lts-haskell/ --stackage-nightly dot-stackage/curator/stackage-nightly/
144+$BINDIR/curator legacy-bulk --stackage-snapshots dot-stackage/curator/stackage-snapshots/ --lts-haskell dot-stackage/curator/lts-haskell/ --stackage-nightly dot-stackage/curator/stackage-nightly/
154
145
155(
146(
156
147
automated/build.shdeleted−148
@@ -1,148 +0,0 @@
1−#!/usr/bin/env bash
2−
3−set -eu +x
4−
5−ROOT=$(cd $(dirname $0) ; pwd)
6−TARGET=$1
7−
8−source aws.sh
9−
10−# For nightly-YYYY-MM-DD, tag should be nightly
11−# For lts-X.Y, tag should be ltsX
12−SHORTNAME=$(echo $TARGET | cut -d- -f 1)
13−if [ $SHORTNAME = "lts" ]
14−then
15− TAG=$(echo $TARGET | sed 's@^lts-\([0-9]*\)\.[0-9]*@lts\1@')
16−else
17− TAG=$SHORTNAME
18−fi
19−
20−IMAGE=commercialhaskell/stackage:$TAG
21−
22−PLAN_FILE=current-plan.yaml
23−DOCMAP_FILE=current-docmap.yaml
24−
25−CABAL_DIR=$ROOT/cabal
26−STACK_DIR=$ROOT/stack
27−GHC_DIR=$ROOT/ghc
28−DOT_STACKAGE_DIR=$ROOT/dot-stackage
29−WORKDIR=$ROOT/$TAG/work
30−EXTRA_BIN_DIR=$ROOT/extra-bin
31−SSH_DIR=$ROOT/ssh-$SHORTNAME
32−USERID=$(id -u)
33−
34−mkdir -p \
35− "$CABAL_DIR" \
36− "$STACK_DIR" \
37− "$GHC_DIR" \
38− "$DOT_STACKAGE_DIR" \
39− "$WORKDIR" \
40− "$EXTRA_BIN_DIR" \
41− "$SSH_DIR"
42−
43−GITCONFIG=$ROOT/gitconfig
44−cat >$GITCONFIG <<EOF
45−[user]
46− email = michael+stackage-build@fpcomplete.com
47− name = Stackage Build host
48−EOF
49−
50−cat >$SSH_DIR/known_hosts <<EOF
51−|1|Qn0iij8BnxGZXbyFSozS9zWkH+Q=|YrKKNp2KHO3/oc4UBFIe1zOvhDc= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
52−|1|RxBEt2ljiEppr019szMIhbY12m0=|0FZ2Oji1LphRbPLLEQhFzTmL69I= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
53−EOF
54−
55−AUTH_TOKEN=$ROOT/auth-token
56−HACKAGE_CREDS=$ROOT/hackage-creds
57−
58−function require_400_file {
59− if [ ! -f "$1" ]
60− then
61− echo File not found: "$1"
62− exit 1
63− fi
64−
65− chmod 400 "$1"
66−}
67−
68−require_400_file "$SSH_DIR/id_rsa"
69−require_400_file "$AUTH_TOKEN"
70−require_400_file "$HACKAGE_CREDS"
71−
72−mkdir -p $ROOT/bin
73−BINDIR=$(cd $ROOT/bin ; pwd)
74−(
75−cd $BINDIR
76−rm -f stackage-curator stackage-curator.bz2
77−wget https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2
78−bunzip2 stackage-curator.bz2
79−chmod +x stackage-curator
80−./stackage-curator --version
81−)
82−
83−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"
84−ARGS_PREBUILD="$ARGS_COMMON -u $USERID -e HOME=$HOME -v $CABAL_DIR:$HOME/.cabal -v $STACK_DIR:$HOME/.stack -v $GHC_DIR:$HOME/.ghc -v $DOT_STACKAGE_DIR:$HOME/.stackage"
85−ARGS_BUILD="$ARGS_COMMON -v $CABAL_DIR:$HOME/.cabal:ro -v $STACK_DIR:$HOME/.stack:ro -v $GHC_DIR:$HOME/.ghc:ro"
86−ARGS_UPLOAD="$ARGS_COMMON -u $USERID -e HOME=$HOME -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY -v $AUTH_TOKEN:/auth-token:ro -v $HACKAGE_CREDS:/hackage-creds:ro -v $DOT_STACKAGE_DIR:$HOME/.stackage -v $SSH_DIR:$HOME/.ssh:ro -v $GITCONFIG:$HOME/.gitconfig:ro -v $CABAL_DIR:$HOME/.cabal:ro -v $STACK_DIR:$HOME/.stack:ro"
87−
88−# Make sure we actually need this snapshot. We only check this for LTS releases
89−# since, for nightlies, we'd like to run builds even if they are unnecessary to
90−# get early warning information of upcoming failures. (See the duplicate check
91−# below for why this is safe.)
92−if [ $SHORTNAME = "lts" ]
93−then
94− docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "exec stackage-curator check-target-available --target $TARGET"
95−fi
96−
97−# Get latest compatible stack
98−curl -L https://github.com/commercialhaskell/stack/releases/download/v1.9.3/stack-1.9.3-linux-x86_64-static.tar.gz | tar xz --wildcards --strip-components=1 -C $EXTRA_BIN_DIR '*/stack'
99−
100−
101−# Determine the new build plan unless NOPLAN is set
102−#
103−# * Update the package index (unless LTS)
104−# * Create a new plan
105−if [ "${NOPLAN:-}x" = "x" ]
106−then
107− if [ $SHORTNAME = "lts" ]
108− then
109− docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "exec stackage-curator create-plan --plan-file $PLAN_FILE --target $TARGET ${CONSTRAINTS:-}"
110− else
111− docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "stack update && exec stackage-curator create-plan --plan-file $PLAN_FILE --target $TARGET ${CONSTRAINTS:-}"
112− fi
113−fi
114−
115−# Do the rest of the pre-build actions:
116−#
117−# * Check that the plan is valid
118−# * Fetch all needed tarballs (the build step does not have write access to the tarball directory)
119−# * Do a single unpack to create the package index cache (again due to directory perms)
120−docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "stackage-curator check --plan-file $PLAN_FILE && stackage-curator fetch --plan-file $PLAN_FILE && cd /tmp && exec stack unpack random"
121−
122−case $SHORTNAME in
123− lts) JOBS=1 ;;
124− nightly) JOBS=2 ;;
125−esac
126−
127−# Now do the actual build. We need to first set the owner of the home directory
128−# correctly, so we run the command as root, change owner, and then use sudo to
129−# switch back to the current user
130−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 $JOBS --plan-file $PLAN_FILE --docmap-file $DOCMAP_FILE --target $TARGET"
131−
132−# Make sure we actually need this snapshot. We used to perform this check
133−# exclusively before building. Now we perform it after as well for the case of
134−# nightly, where we don't perform this check beforehand. This is also slightly
135−# safer, in case someone else already uploaded a specific snapshot while we
136−# were building.
137−docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "exec stackage-curator check-target-available --target $TARGET"
138−
139−# Successful build, so we need to:
140−#
141−# * Upload the docs to S3
142−# * Upload the 00-index.tar file to S3 (TODO: this is probably no longer necessary, since snapshots never modify .cabal files)
143−# * Upload the new plan .yaml file to the appropriate Github repo
144−# * Register as a new Hackage distro
145−docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "stackage-curator upload-docs --target $TARGET && stackage-curator upload-index --plan-file $PLAN_FILE --target $TARGET && stackage-curator upload-github --plan-file $PLAN_FILE --docmap-file $DOCMAP_FILE --target $TARGET && exec stackage-curator hackage-distro --plan-file $PLAN_FILE --target $TARGET"
146−
147−echo -n "Completed at "
148−date
automated/new-stackage-format/convert.sh+4−1
@@ -4,7 +4,7 @@ set -eux
4
4
5if [[ ! -f convert ]]
5if [[ ! -f convert ]]
6then
6then
7− curl https://s3.amazonaws.com/www.snoyman.com/convert-old-stackage-f780174e2c84e4fb171f6526228d9243beb7fd71.bz2 > convert.bz2
7+ curl https://s3.amazonaws.com/www.snoyman.com/convert-old-stackage-c9c4d06b31cb7aafedd23aa316b8008c45e4d4dd.bz2 > convert.bz2
8 chmod +x convert.bz2
8 chmod +x convert.bz2
9 bunzip2 convert.bz2
9 bunzip2 convert.bz2
10fi
10fi
@@ -21,7 +21,10 @@ do
21 fi
21 fi
22done
22done
23
23
24+(
25+export HOME=$(pwd)
24./convert
26./convert
27+)
25
28
26cd stackage-snapshots
29cd stackage-snapshots
27git add lts nightly
30git add lts nightly
build-constraints.yaml+299−119
@@ -9,8 +9,28 @@ cabal-format-version: "2.4"
9
9
10# Constraints for brand new builds
10# Constraints for brand new builds
11packages:
11packages:
12+ "Tobias Reinhart <tobi.reinhart@fau.de> @TobiReinhart":
13+ - sparse-tensor
14+
15+ "Stephan Schiffels <stephan_schiffels@mac.com> @stschiff":
16+ - sequence-formats
17+ - pipes-ordered-zip
18+ - sequenceTools
19+
20+ "YongJoon Joe <developer@quietjoon.net> @QuietJoon":
21+ - doldol
22+ - ENIG
23+
24+ "Chris Penner <christopher.penner@gmail.com> @ChrisPenner":
25+ - lens-regex-pcre
26+
27+ "Emily Pillmore <emilypi@cohomolo.gy> @topos":
28+ - lens-process
29+ - microlens-process
12
30
13 "Matthieu Monsch <mtth@apache.org> @mtth":
31 "Matthieu Monsch <mtth@apache.org> @mtth":
32+ - flags-applicative
33+ - more-containers
14 - tracing
34 - tracing
15
35
16 "Robert Vollmert <rob@vllmrt.net> @robx":
36 "Robert Vollmert <rob@vllmrt.net> @robx":
@@ -24,6 +44,9 @@ packages:
24 - interpolatedstring-qq2
44 - interpolatedstring-qq2
25 - prospect
45 - prospect
26 - do-notation
46 - do-notation
47+ - unagi-chan
48+ - type-errors
49+ - loopbreaker
27
50
28 "William Yao <williamyaoh@gmail.com> @williamyaoh":
51 "William Yao <williamyaoh@gmail.com> @williamyaoh":
29 - string-interpolate
52 - string-interpolate
@@ -64,6 +87,9 @@ packages:
64 "Preetham Gujjula <preetham.gujjula@gmail.com> @pgujjula":
87 "Preetham Gujjula <preetham.gujjula@gmail.com> @pgujjula":
65 - modular
88 - modular
66
89
90+ "Guillaume Bouchard <guillaum.bouchard@gmail.com> @guibou":
91+ - PyF
92+
67 "Erik Schnetter <schnetter@gmail.com> @eschnett":
93 "Erik Schnetter <schnetter@gmail.com> @eschnett":
68 - mpi-hs
94 - mpi-hs
69
95
@@ -80,7 +106,7 @@ packages:
80 - parsec-numbers
106 - parsec-numbers
81
107
82 "Joshua Grosso <jgrosso256@gmail.com> @jgrosso":
108 "Joshua Grosso <jgrosso256@gmail.com> @jgrosso":
83− - axel
109+ - axel < 0 # https://github.com/axellang/axel/issues/24
84
110
85 "Varun Gandhi <theindigamer15@gmail.com> @theindigamer":
111 "Varun Gandhi <theindigamer15@gmail.com> @theindigamer":
86 - edit < 0
112 - edit < 0
@@ -121,6 +147,11 @@ packages:
121 - rhine-gloss
147 - rhine-gloss
122 - dunai-core
148 - dunai-core
123 - finite-typelits
149 - finite-typelits
150+ - essence-of-live-coding
151+ - essence-of-live-coding-pulse
152+ - essence-of-live-coding-gloss
153+ - essence-of-live-coding-quickcheck
154+ - pulse-simple
124
155
125 "Paul Johnson <paul@cogito.org.uk> @PaulJohnson":
156 "Paul Johnson <paul@cogito.org.uk> @PaulJohnson":
126 - geodetics
157 - geodetics
@@ -248,7 +279,7 @@ packages:
248 "Richard Cook <rcook@rcook.org> @rcook":
279 "Richard Cook <rcook@rcook.org> @rcook":
249 - hidden-char
280 - hidden-char
250 - oset
281 - oset
251− - req-url-extra
282+ - req-url-extra < 0 # req < 2.1.0
252 - sexpr-parser
283 - sexpr-parser
253
284
254 "Vanessa McHale <tmchale@wisc.edu> @vmchale":
285 "Vanessa McHale <tmchale@wisc.edu> @vmchale":
@@ -265,6 +296,7 @@ packages:
265 - apportionment
296 - apportionment
266 - audacity
297 - audacity
267 - bibtex
298 - bibtex
299+ - board-games
268 - buffer-pipe
300 - buffer-pipe
269 - calendar-recycling
301 - calendar-recycling
270 - checksum
302 - checksum
@@ -367,6 +399,7 @@ packages:
367 - newtype-generics
399 - newtype-generics
368 - bsb-http-chunked
400 - bsb-http-chunked
369 - coercible-utils
401 - coercible-utils
402+ - hspec-parsec
370
403
371 "Joe M <joe9mail@gmail.com> @joe9":
404 "Joe M <joe9mail@gmail.com> @joe9":
372 - logger-thread
405 - logger-thread
@@ -387,6 +420,7 @@ packages:
387 - yeshql
420 - yeshql
388
421
389 "Yair Chuchem <yairchu@gmail.com> @yairchu":
422 "Yair Chuchem <yairchu@gmail.com> @yairchu":
423+ - generic-constraints
390 - List
424 - List
391 - ListTree
425 - ListTree
392
426
@@ -415,6 +449,7 @@ packages:
415 "James M.C. Haver II <mchaver@gmail.com> @mchaver":
449 "James M.C. Haver II <mchaver@gmail.com> @mchaver":
416 - quickcheck-arbitrary-adt
450 - quickcheck-arbitrary-adt
417 - hspec-golden-aeson
451 - hspec-golden-aeson
452+ - quickcheck-arbitrary-template
418
453
419 "Winter Han <winterland1989@gmail.com> @winterland1989":
454 "Winter Han <winterland1989@gmail.com> @winterland1989":
420 - if
455 - if
@@ -430,6 +465,7 @@ packages:
430 - unboxed-ref
465 - unboxed-ref
431
466
432 "Harendra Kumar <harendra.kumar@gmail.com> @harendra-kumar":
467 "Harendra Kumar <harendra.kumar@gmail.com> @harendra-kumar":
468+ - bench-show
433 - monad-recorder
469 - monad-recorder
434 - packcheck
470 - packcheck
435 - streamly
471 - streamly
@@ -494,9 +530,10 @@ packages:
494 - persistent-postgresql
530 - persistent-postgresql
495 - persistent-sqlite
531 - persistent-sqlite
496 - persistent-template
532 - persistent-template
497− # persistent-test # https://github.com/commercialhaskell/stackage/pull/4492
533+ - persistent-test # https://github.com/commercialhaskell/stackage/pull/4492
498 # - stackage-curator # http-conduit 2.3 via amazonka
534 # - stackage-curator # http-conduit 2.3 via amazonka
499 - store
535 - store
536+ - wai-extra
500 - wai-websockets
537 - wai-websockets
501 - warp-tls
538 - warp-tls
502 - yesod
539 - yesod
@@ -536,7 +573,7 @@ packages:
536 - hybrid-vectors
573 - hybrid-vectors
537 - indents
574 - indents
538 - language-c
575 - language-c
539− - persistent-mongoDB < 0 # GHC 8.4 via mongoDB
576+ - persistent-mongoDB
540 - pretty-class
577 - pretty-class
541 - th-expand-syns
578 - th-expand-syns
542 - th-lift
579 - th-lift
@@ -567,7 +604,8 @@ packages:
567 - githash
604 - githash
568
605
569 - time-manager
606 - time-manager
570− - pantry-tmp
607+ - pantry
608+ - mega-sdist
571 - http-download
609 - http-download
572 - hi-file-parser
610 - hi-file-parser
573 - rio-prettyprint
611 - rio-prettyprint
@@ -981,7 +1019,6 @@ packages:
981 - dhall-bash
1019 - dhall-bash
982 - dhall-json
1020 - dhall-json
983 # - dhall-nix # deriving-compat via hnix
1021 # - dhall-nix # deriving-compat via hnix
984− - dhall-text
985
1022
986 "Andrew Thaddeus Martin <andrew.thaddeus@gmail.com> @andrewthad":
1023 "Andrew Thaddeus Martin <andrew.thaddeus@gmail.com> @andrewthad":
987 - colonnade
1024 - colonnade
@@ -1098,13 +1135,15 @@ packages:
1098 - DAV
1135 - DAV
1099 - hopenpgp-tools
1136 - hopenpgp-tools
1100 - opensource
1137 - opensource
1138+ - debian
1139+ - cabal-debian
1101
1140
1102 "Piyush P Kurur <ppk@cse.iitk.ac.in> @piyush-kurur":
1141 "Piyush P Kurur <ppk@cse.iitk.ac.in> @piyush-kurur":
1103− - raaz < 0 # GHC 8.4 via base-4.11.0.0
1142+ - raaz
1104− - naqsha < 0 # GHC 8.4 via base-4.11.0.0
1143+ - naqsha
1105
1144
1106 "Joey Hess <id@joeyh.name> @joeyh":
1145 "Joey Hess <id@joeyh.name> @joeyh":
1107− # - git-annex # conduit 1.3
1146+ # - git-annex # Depends on many packages not tracked by Stackage
1108 - concurrent-output
1147 - concurrent-output
1109 - mountpoints
1148 - mountpoints
1110 - disk-free-space
1149 - disk-free-space
@@ -1171,9 +1210,8 @@ packages:
1171 #
1210 #
1172 - hledger-lib
1211 - hledger-lib
1173 - hledger
1212 - hledger
1174− - hledger-ui < 0 # via brick, via data-clist, via QuickCheck https://github.com/commercialhaskell/stackage/issues/4444
1213+ - hledger-ui
1175 - hledger-web
1214 - hledger-web
1176− - hledger-api
1177 #
1215 #
1178 - quickbench
1216 - quickbench
1179 - regex-compat-tdfa
1217 - regex-compat-tdfa
@@ -1234,6 +1272,7 @@ packages:
1234 - kind-generics
1272 - kind-generics
1235 - kind-generics-th
1273 - kind-generics-th
1236 - simplistic-generics
1274 - simplistic-generics
1275+ - wl-pprint
1237
1276
1238 "Matvey Aksenov <matvey.aksenov@gmail.com> @supki":
1277 "Matvey Aksenov <matvey.aksenov@gmail.com> @supki":
1239 - terminal-size
1278 - terminal-size
@@ -1398,10 +1437,10 @@ packages:
1398 - HaskellNet-SSL < 0 # mime-mail-0.5 via HaskellNet
1437 - HaskellNet-SSL < 0 # mime-mail-0.5 via HaskellNet
1399
1438
1400 "Jens Petersen <juhpetersen@gmail.com> @juhp":
1439 "Jens Petersen <juhpetersen@gmail.com> @juhp":
1401− - cabal-rpm
1440+ - cabal-rpm < 0 # https://github.com/commercialhaskell/stackage/issues/4666
1441+ - dl-fedora
1402 - fedora-dists
1442 - fedora-dists
1403− - fedora-haskell-tools
1443+ - fedora-haskell-tools < 0 # https://github.com/commercialhaskell/stackage/issues/4662
1404− - fedora-img-dl
1405 - hkgr
1444 - hkgr
1406 - http-directory
1445 - http-directory
1407 - rpmbuild-order
1446 - rpmbuild-order
@@ -1450,7 +1489,7 @@ packages:
1450 - pipes-binary
1489 - pipes-binary
1451 - pipes-network
1490 - pipes-network
1452 - pipes-network-tls
1491 - pipes-network-tls
1453− - safe-money < 0
1492+ - safe-money
1454 - vector-bytes-instances
1493 - vector-bytes-instances
1455 - xmlbf-xeno
1494 - xmlbf-xeno
1456 - xmlbf-xmlhtml < 0 # GHC 8.4 via xmlhtml via hspec-2.5.0
1495 - xmlbf-xmlhtml < 0 # GHC 8.4 via xmlhtml via hspec-2.5.0
@@ -1744,7 +1783,7 @@ packages:
1744 - cubicspline
1783 - cubicspline
1745 - maximal-cliques
1784 - maximal-cliques
1746
1785
1747− "Alexander Bondarenko <aenor.realm@gmail.com> @wiz":
1786+ "Alexander Bondarenko <aenor.realm@gmail.com> @dpwiz":
1748 - hedn
1787 - hedn
1749 - soap
1788 - soap
1750 - soap-tls
1789 - soap-tls
@@ -1940,6 +1979,7 @@ packages:
1940 - configurator-export
1979 - configurator-export
1941 - decidable
1980 - decidable
1942 - emd
1981 - emd
1982+ - functor-products
1943 - hamilton
1983 - hamilton
1944 - hmatrix-backprop
1984 - hmatrix-backprop
1945 - hmatrix-vector-sized
1985 - hmatrix-vector-sized
@@ -2019,6 +2059,7 @@ packages:
2019 - glabrous
2059 - glabrous
2020 - google-oauth2-jwt
2060 - google-oauth2-jwt
2021 - IPv6DB < 0
2061 - IPv6DB < 0
2062+ - gothic
2022
2063
2023 "koral koral@mailoo.org @k0ral":
2064 "koral koral@mailoo.org @k0ral":
2024 - atom-conduit < 0
2065 - atom-conduit < 0
@@ -2156,12 +2197,14 @@ packages:
2156 - monad-par
2197 - monad-par
2157 - monad-par-extras
2198 - monad-par-extras
2158 - mtl-compat
2199 - mtl-compat
2200+ - ordered-containers
2159 - proxied
2201 - proxied
2160 - singleton-nats
2202 - singleton-nats
2161 - text-show
2203 - text-show
2162 - text-show-instances
2204 - text-show-instances
2163 - th-abstraction
2205 - th-abstraction
2164 - thread-local-storage
2206 - thread-local-storage
2207+ - type-equality
2165
2208
2166 "Kirill Zaborsky <qrilka@gmail.com> @qrilka":
2209 "Kirill Zaborsky <qrilka@gmail.com> @qrilka":
2167 - xlsx
2210 - xlsx
@@ -2176,6 +2219,7 @@ packages:
2176 - esqueleto
2219 - esqueleto
2177 - persistent-typed-db
2220 - persistent-typed-db
2178 - persistent-qq
2221 - persistent-qq
2222+ - persistent-pagination
2179
2223
2180 "Matthew Pickering <matthewtpickering@gmail.com> @mpickering":
2224 "Matthew Pickering <matthewtpickering@gmail.com> @mpickering":
2181 - refact
2225 - refact
@@ -2254,6 +2298,7 @@ packages:
2254 - leancheck
2298 - leancheck
2255 - leancheck-instances
2299 - leancheck-instances
2256 - fitspec
2300 - fitspec
2301+ - express
2257 - speculate
2302 - speculate
2258 - extrapolate
2303 - extrapolate
2259 - percent-format
2304 - percent-format
@@ -2265,22 +2310,19 @@ packages:
2265 - irc
2310 - irc
2266
2311
2267 "Dennis Gosnell <cdep.illabout@gmail.com> @cdepillabout":
2312 "Dennis Gosnell <cdep.illabout@gmail.com> @cdepillabout":
2268− - emailaddress < 0 # opaleye
2269 - envelope
2313 - envelope
2270 - from-sum
2314 - from-sum
2271 - hailgun
2315 - hailgun
2272− - hailgun-simple < 0 # via hailgun
2273 - natural-transformation
2316 - natural-transformation
2274− # - opaleye-trans # product-profunctors 0.9
2275 - password
2317 - password
2276 - password-instances
2318 - password-instances
2277 - pretty-simple
2319 - pretty-simple
2278 - read-env-var
2320 - read-env-var
2279− - servant-checked-exceptions < 0 # https://github.com/cdepillabout/servant-checked-exceptions/issues/29
2321+ - servant-checked-exceptions
2280− - servant-checked-exceptions-core < 0 # servant 0.16
2322+ - servant-checked-exceptions-core
2281− - servant-rawm < 0 # https://github.com/cdepillabout/servant-rawm/issues/9
2323+ - servant-rawm
2282 - servant-static-th
2324 - servant-static-th
2283− - termonad < 0
2325+ - termonad
2284 - world-peace
2326 - world-peace
2285 - xml-html-qq
2327 - xml-html-qq
2286 - xml-indexed-cursor
2328 - xml-indexed-cursor
@@ -2339,7 +2381,9 @@ packages:
2339 - http-common
2381 - http-common
2340 - http-streams
2382 - http-streams
2341 - locators
2383 - locators
2342− - unbeliever
2384+ - core-text
2385+ - core-data
2386+ - core-program
2343
2387
2344 "Sean Hunt <scshunt@csclub.uwaterloo.ca @scshunt":
2388 "Sean Hunt <scshunt@csclub.uwaterloo.ca @scshunt":
2345 - cheapskate
2389 - cheapskate
@@ -2430,14 +2474,14 @@ packages:
2430 - identicon
2474 - identicon
2431 - lame
2475 - lame
2432 - megaparsec
2476 - megaparsec
2433− - megaparsec-tests < 0 # via QuickCheck https://github.com/commercialhaskell/stackage/issues/4444
2477+ - megaparsec-tests
2434 - mmark
2478 - mmark
2435 - mmark-cli
2479 - mmark-cli
2436 - mmark-ext
2480 - mmark-ext
2437 - modern-uri
2481 - modern-uri
2438 - pagination
2482 - pagination
2439 - parser-combinators
2483 - parser-combinators
2440− # parser-combinators-tests # https://github.com/commercialhaskell/stackage/issues/4540
2484+ - parser-combinators-tests
2441 - path
2485 - path
2442 - path-io
2486 - path-io
2443 - req
2487 - req
@@ -2654,9 +2698,9 @@ packages:
2654 - dawg-ord < 0
2698 - dawg-ord < 0
2655
2699
2656 "Amit Levy <amit@amitlevy.com> @alevy":
2700 "Amit Levy <amit@amitlevy.com> @alevy":
2657− - simple < 0 # GHC 8.4 via simple-templates
2701+ - simple
2658− - simple-templates < 0 # BuildFailureException Process exited with ExitFailure 1: ./Setup build
2702+ - simple-templates
2659− - simple-session < 0 # GHC 8.4 via simple
2703+ - simple-session
2660 - postgresql-orm
2704 - postgresql-orm
2661
2705
2662 "Sergey Astanin <s.astanin@gmail.com> @astanin":
2706 "Sergey Astanin <s.astanin@gmail.com> @astanin":
@@ -2718,7 +2762,7 @@ packages:
2718
2762
2719 "Ozgun Ataman ozgun.ataman@soostone.com @ozataman":
2763 "Ozgun Ataman ozgun.ataman@soostone.com @ozataman":
2720 - string-conv
2764 - string-conv
2721− - rng-utils
2765+ - rng-utils < 0 # https://github.com/commercialhaskell/stackage/issues/4686
2722 - ua-parser
2766 - ua-parser
2723 - hs-GeoIP
2767 - hs-GeoIP
2724 - retry
2768 - retry
@@ -2737,8 +2781,8 @@ packages:
2737 - xlsx-tabular
2781 - xlsx-tabular
2738
2782
2739 "Mikhail Glushenkov <mikhail.glushenkov@gmail.com> @23Skidoo":
2783 "Mikhail Glushenkov <mikhail.glushenkov@gmail.com> @23Skidoo":
2740− - Cabal
2784+ - Cabal < 3 # https://github.com/commercialhaskell/stackage/issues/4761
2741− - cabal-install
2785+ - cabal-install < 3
2742 # - pointful # haskell-src-exts
2786 # - pointful # haskell-src-exts
2743
2787
2744 "Lennart Kolmodin <kolmodin@gmail.com> @kolmodin":
2788 "Lennart Kolmodin <kolmodin@gmail.com> @kolmodin":
@@ -2853,12 +2897,14 @@ packages:
2853 - repline
2897 - repline
2854 - picosat < 0
2898 - picosat < 0
2855 - aos-signature
2899 - aos-signature
2900+ # https://github.com/commercialhaskell/stackage/issues/4682
2856− - bulletproofs
2901+ - bulletproofs < 1
2857 - pedersen-commitment
2902 - pedersen-commitment
2858 - merkle-tree
2903 - merkle-tree
2859 - oblivious-transfer
2904 - oblivious-transfer
2860− - pairing
2905+ - pairing < 0 # #4758
2861 - libraft
2906 - libraft
2907+ - galois-field
2862
2908
2863 "Daishi Nakajima <nakaji.dayo@gmail.com> @nakaji-dayo":
2909 "Daishi Nakajima <nakaji.dayo@gmail.com> @nakaji-dayo":
2864 - api-field-json-th
2910 - api-field-json-th
@@ -2899,8 +2945,8 @@ packages:
2899 # - eventful-dynamodb # http-conduit 2.3 via amazonka
2945 # - eventful-dynamodb # http-conduit 2.3 via amazonka
2900 - eventful-memory
2946 - eventful-memory
2901 - eventful-postgresql < 0 # GHC 8.4 via persistent-postgresql
2947 - eventful-postgresql < 0 # GHC 8.4 via persistent-postgresql
2902− - eventful-sql-common
2948+ - eventful-sql-common < 0 # persistent 2.10.0 #4551
2903− - eventful-sqlite
2949+ - eventful-sqlite < 0 # persistent 2.10.0 via eventful-sql-common
2904 - eventful-test-helpers
2950 - eventful-test-helpers
2905 - stratosphere
2951 - stratosphere
2906 - sum-type-boilerplate
2952 - sum-type-boilerplate
@@ -2975,6 +3021,7 @@ packages:
2975 - quickcheck-classes
3021 - quickcheck-classes
2976 - arithmoi
3022 - arithmoi
2977 - bitvec
3023 - bitvec
3024+ - poly
2978
3025
2979 "Ashley Yakeley <ashley@semantic.org> @AshleyYakeley":
3026 "Ashley Yakeley <ashley@semantic.org> @AshleyYakeley":
2980 - countable
3027 - countable
@@ -3037,7 +3084,7 @@ packages:
3037
3084
3038 "Moritz Kiefer <moritz.kiefer@purelyfunctional.org> @cocreature":
3085 "Moritz Kiefer <moritz.kiefer@purelyfunctional.org> @cocreature":
3039 - lrucaching
3086 - lrucaching
3040− - llvm-hs < 0 # https://github.com/commercialhaskell/stackage/issues/4238
3087+ - llvm-hs
3041 - llvm-hs-pure
3088 - llvm-hs-pure
3042
3089
3043 "Thierry Bourrillon <thierry.bourrillon@fpinsight.com> @tbourrillon":
3090 "Thierry Bourrillon <thierry.bourrillon@fpinsight.com> @tbourrillon":
@@ -3101,7 +3148,7 @@ packages:
3101 - butcher
3148 - butcher
3102 - czipwith
3149 - czipwith
3103 - data-tree-print
3150 - data-tree-print
3104− - brittany < 0 # via yaml-0.9.0 commercialhaskell/stackage#3823
3151+ - brittany
3105
3152
3106 "Ryan Mulligan <ryan@ryantm.com> @ryantm":
3153 "Ryan Mulligan <ryan@ryantm.com> @ryantm":
3107 - HDBC-mysql
3154 - HDBC-mysql
@@ -3129,7 +3176,7 @@ packages:
3129 - clock-extras
3176 - clock-extras
3130 - next-ref < 0
3177 - next-ref < 0
3131 - threads-extras < 0
3178 - threads-extras < 0
3132− - tmp-postgres
3179+ - tmp-postgres < 0.3 # https://github.com/commercialhaskell/stackage/issues/4790
3133 - pg-transact
3180 - pg-transact
3134 - hspec-pg-transact
3181 - hspec-pg-transact
3135 - postgresql-simple-queue
3182 - postgresql-simple-queue
@@ -3177,11 +3224,9 @@ packages:
3177 - salak-yaml
3224 - salak-yaml
3178 - salak-toml
3225 - salak-toml
3179 - tensors
3226 - tensors
3180− - yam
3181− - yam-datasource
3182− - yam-redis
3183 - menshen
3227 - menshen
3184 - crc32c
3228 - crc32c
3229+ - boots
3185
3230
3186 "Tom Nielsen <tanielsen@gmail.com> @glutamate":
3231 "Tom Nielsen <tanielsen@gmail.com> @glutamate":
3187 - plotlyhs
3232 - plotlyhs
@@ -3199,10 +3244,11 @@ packages:
3199 # - hip # lens 4.16 via diagrams/chart
3244 # - hip # lens 4.16 via diagrams/chart
3200 - massiv
3245 - massiv
3201 - massiv-io
3246 - massiv-io
3247+ - massiv-test
3202 - scheduler
3248 - scheduler
3203
3249
3204 "Hans-Peter Deifel <hpd@hpdeifel.de> @hpdeifel":
3250 "Hans-Peter Deifel <hpd@hpdeifel.de> @hpdeifel":
3205− - hledger-iadd < 0 # via brick, via data-clist, via QuickCheck https://github.com/commercialhaskell/stackage/issues/4444
3251+ - hledger-iadd
3206
3252
3207 "Roy Levien <royl@aldaron.com> @orome":
3253 "Roy Levien <royl@aldaron.com> @orome":
3208 - crypto-enigma
3254 - crypto-enigma
@@ -3230,7 +3276,7 @@ packages:
3230 "Mitsutoshi Aoe <maoe@foldr.in> @maoe":
3276 "Mitsutoshi Aoe <maoe@foldr.in> @maoe":
3231 - influxdb
3277 - influxdb
3232 - sensu-run < 0 # GHC 8.4 via base-4.11.0.0
3278 - sensu-run < 0 # GHC 8.4 via base-4.11.0.0
3233− - viewprof < 0 # via brick, via data-clist, via QuickCheck https://github.com/commercialhaskell/stackage/issues/4444
3279+ - viewprof
3234
3280
3235 "Dylan Simon <dylan-stack@dylex.net> @dylex":
3281 "Dylan Simon <dylan-stack@dylex.net> @dylex":
3236 - postgresql-typed
3282 - postgresql-typed
@@ -3319,6 +3365,11 @@ packages:
3319 - possibly
3365 - possibly
3320 - enum-text
3366 - enum-text
3321 - rg
3367 - rg
3368+ - columnar
3369+ - enum-text-rio
3370+ - fmt-for-rio
3371+ - no-value
3372+ - optparse-enum
3322
3373
3323 "Elliot Cameron <eacameron@gmail.com> @3noch":
3374 "Elliot Cameron <eacameron@gmail.com> @3noch":
3324 []
3375 []
@@ -3353,12 +3404,13 @@ packages:
3353 - pier-core < 0
3404 - pier-core < 0
3354 - pier < 0
3405 - pier < 0
3355 - haskeline
3406 - haskeline
3407+ - ghc-source-gen
3356
3408
3357 "Christof Schramm <christof.schramm@campus.lmu.de>":
3409 "Christof Schramm <christof.schramm@campus.lmu.de>":
3358 - mnist-idx
3410 - mnist-idx
3359
3411
3360 "Naushadh <naushadh@protonmail.com> @naushadh":
3412 "Naushadh <naushadh@protonmail.com> @naushadh":
3361− - persistent-mysql-haskell
3413+ - persistent-mysql-haskell < 0 # persistent 2.10.0 #4550
3362
3414
3363 "Moritz Schulte <mtesseract@silverratio.net> @mtesseract":
3415 "Moritz Schulte <mtesseract@silverratio.net> @mtesseract":
3364 - async-refresh
3416 - async-refresh
@@ -3452,6 +3504,9 @@ packages:
3452 - tomland
3504 - tomland
3453 - typerep-map
3505 - typerep-map
3454
3506
3507+ "Dmitrii Kovanikov <kovanikov@gmail.com> @chshersh":
3508+ - type-errors-pretty
3509+
3455 "Holmusk <tech@holmusk.com> @arbus":
3510 "Holmusk <tech@holmusk.com> @arbus":
3456 - elm-street
3511 - elm-street
3457
3512
@@ -3469,6 +3524,7 @@ packages:
3469 - language-docker
3524 - language-docker
3470 - docker-build-cacher < 0 # GHC 8.4 via turtle
3525 - docker-build-cacher < 0 # GHC 8.4 via turtle
3471 - mysql-haskell-nem
3526 - mysql-haskell-nem
3527+ - hadolint
3472
3528
3473 "Phil Ruffwind <rf@rufflewind.com> @Rufflewind":
3529 "Phil Ruffwind <rf@rufflewind.com> @Rufflewind":
3474 - blas-hs
3530 - blas-hs
@@ -3519,6 +3575,7 @@ packages:
3519 - path-text-utf8
3575 - path-text-utf8
3520
3576
3521 "Type Classes <hello@typeclasses.com> @argumatronic @chris-martin":
3577 "Type Classes <hello@typeclasses.com> @argumatronic @chris-martin":
3578+ - aws-cloudfront-signed-cookies
3522 - stripe-concepts
3579 - stripe-concepts
3523 - stripe-signature
3580 - stripe-signature
3524 - stripe-scotty
3581 - stripe-scotty
@@ -3639,6 +3696,7 @@ packages:
3639 "Guru Devanla <grdvnl@gmail.com> @gdevanla":
3696 "Guru Devanla <grdvnl@gmail.com> @gdevanla":
3640 - pptable
3697 - pptable
3641 - cassava-records
3698 - cassava-records
3699+ - pandoc-markdown-ghci-filter
3642
3700
3643 "Lucas David Traverso <lucas6246@gmail.com> @ludat":
3701 "Lucas David Traverso <lucas6246@gmail.com> @ludat":
3644 - map-syntax < 0 # GHC 8.4 via base-4.11.0.0
3702 - map-syntax < 0 # GHC 8.4 via base-4.11.0.0
@@ -3650,11 +3708,11 @@ packages:
3650 - transformers-fix
3708 - transformers-fix
3651
3709
3652 "Domen Kozar <domen@enlambda.com> @domenkozar":
3710 "Domen Kozar <domen@enlambda.com> @domenkozar":
3653− - cachix < 0
3711+ - cachix < 0 # #4752
3654 - cachix-api
3712 - cachix-api
3655 - elm2nix
3713 - elm2nix
3656− - stack2nix
3657− - mixpanel-client < 0 # https://github.com/domenkozar/mixpanel-client/issues/3
3714+ - mixpanel-client < 0
3715+ - netrc
3658 - pretty-sop
3716 - pretty-sop
3659 - servant-auth
3717 - servant-auth
3660 - servant-auth-server
3718 - servant-auth-server
@@ -3703,12 +3761,12 @@ packages:
3703 - tasty-ant-xml
3761 - tasty-ant-xml
3704
3762
3705 "Eugene Smolanka <esmolanka@gmail.com> @esmolanka":
3763 "Eugene Smolanka <esmolanka@gmail.com> @esmolanka":
3706− - sexp-grammar < 0
3764+ - sexp-grammar
3707− - invertible-grammar < 0
3765+ - invertible-grammar
3708
3766
3709 "Maximilian Tagher <feedback.tagher@gmail.com> @MaxGabriel":
3767 "Maximilian Tagher <feedback.tagher@gmail.com> @MaxGabriel":
3710 - aeson-iproute
3768 - aeson-iproute
3711− - persistent-iproute
3769+ - persistent-iproute < 0 # persistent-2.10.0 #4553
3712
3770
3713 "Damian Nadales <damian.nadales@gmail.com> @capitanbatata":
3771 "Damian Nadales <damian.nadales@gmail.com> @capitanbatata":
3714 - hierarchy < 0
3772 - hierarchy < 0
@@ -3758,6 +3816,7 @@ packages:
3758 - web3
3816 - web3
3759
3817
3760 "Georg Rudoy <0xd34df00d@gmail.com> @0xd34df00d":
3818 "Georg Rudoy <0xd34df00d@gmail.com> @0xd34df00d":
3819+ - can-i-haz
3761 - enum-subset-generate
3820 - enum-subset-generate
3762
3821
3763 "Trevis Elser <trevis@silencedpoet.com> @telser":
3822 "Trevis Elser <trevis@silencedpoet.com> @telser":
@@ -3848,7 +3907,7 @@ packages:
3848 - servant-auth-wordpress
3907 - servant-auth-wordpress
3849 - ca-province-codes
3908 - ca-province-codes
3850
3909
3851− "David Baynard <haskell@baynard.me> @dbaynard":
3910+ "David Baynard <haskell@baynard.dev> @dbaynard":
3852 - time-qq # see christian-marie/time-qq#3
3911 - time-qq # see christian-marie/time-qq#3
3853 - ucam-webauth
3912 - ucam-webauth
3854 - ucam-webauth-types
3913 - ucam-webauth-types
@@ -3896,6 +3955,22 @@ packages:
3896 "Elben Shira <elben@shira.im> @elben":
3955 "Elben Shira <elben@shira.im> @elben":
3897 - pencil
3956 - pencil
3898
3957
3958+ "ARATA Mizuki <minorinoki@gmail.com> @minoki":
3959+ - unboxing-vector
3960+
3961+ "Brandon Chinn <brandon@leapyear.io> @brandon-leapyear":
3962+ - th-test-utils
3963+
3964+ "Akshay Mankar <itsakshaymankar@gmail.com> @akshaymankar":
3965+ - jsonpath
3966+
3967+ "James Brock <jamesbrock@gmail.com> @jamesdbrock":
3968+ - replace-megaparsec
3969+ - replace-attoparsec
3970+
3971+ "Robbie McMichael @robbiemcmichael":
3972+ - http-client-overrides
3973+
3899 "Grandfathered dependencies":
3974 "Grandfathered dependencies":
3900 - Boolean
3975 - Boolean
3901 - ChasingBottoms < 0 # due to QuickCheck, https://github.com/commercialhaskell/stackage/issues/4444
3976 - ChasingBottoms < 0 # due to QuickCheck, https://github.com/commercialhaskell/stackage/issues/4444
@@ -3944,7 +4019,7 @@ packages:
3944 - blaze-svg
4019 - blaze-svg
3945 - blaze-textual
4020 - blaze-textual
3946 - boring
4021 - boring
3947− - brick < 0 # via data-clist, via QuickCheck https://github.com/commercialhaskell/stackage/issues/4444
4022+ - brick < 0.48 # https://github.com/commercialhaskell/stackage/issues/4789
3948 - buffer-builder
4023 - buffer-builder
3949 - byteable
4024 - byteable
3950 - bytestring-builder
4025 - bytestring-builder
@@ -3999,7 +4074,7 @@ packages:
3999 - data-binary-ieee754
4074 - data-binary-ieee754
4000 - data-bword
4075 - data-bword
4001 - data-checked
4076 - data-checked
4002− - data-clist < 0 # via QuickCheck https://github.com/commercialhaskell/stackage/issues/4444
4077+ - data-clist
4003 - data-default
4078 - data-default
4004 - data-default-class
4079 - data-default-class
4005 - data-default-instances-containers
4080 - data-default-instances-containers
@@ -4030,6 +4105,7 @@ packages:
4030 - easytest
4105 - easytest
4031 - ed25519
4106 - ed25519
4032 - edit-distance
4107 - edit-distance
4108+ - elm-bridge
4033 - enclosed-exceptions
4109 - enclosed-exceptions
4034 - entropy
4110 - entropy
4035 - erf
4111 - erf
@@ -4050,6 +4126,7 @@ packages:
4050 - fmlist
4126 - fmlist
4051 - friendly-time
4127 - friendly-time
4052 - functor-classes-compat
4128 - functor-classes-compat
4129+ - functor-combinators
4053 - generic-arbitrary
4130 - generic-arbitrary
4054 - generics-sop-lens
4131 - generics-sop-lens
4055 - ghc-compact
4132 - ghc-compact
@@ -4295,6 +4372,7 @@ packages:
4295 - tonatona
4372 - tonatona
4296 - transformers-base
4373 - transformers-base
4297 - tree-diff
4374 - tree-diff
4375+ - trivial-constraint
4298 - true-name
4376 - true-name
4299 - tuple-th
4377 - tuple-th
4300 - type-fun
4378 - type-fun
@@ -4327,7 +4405,6 @@ packages:
4327 - wai-app-static
4405 - wai-app-static
4328 - wai-conduit
4406 - wai-conduit
4329 - wai-eventsource
4407 - wai-eventsource
4330− - wai-extra
4331 - wai-handler-launch
4408 - wai-handler-launch
4332 - wai-logger
4409 - wai-logger
4333 - wai-session
4410 - wai-session
@@ -4454,7 +4531,6 @@ packages:
4454 - amazonka-core < 0 # via http-client-0.6.1
4531 - amazonka-core < 0 # via http-client-0.6.1
4455 - github < 0 # via http-client-0.6.1
4532 - github < 0 # via http-client-0.6.1
4456 - hailgun < 0 # via http-client-0.6.1
4533 - hailgun < 0 # via http-client-0.6.1
4457− - language-puppet < 0 # via http-client-0.6.1
4458 - mbug < 0 # via http-client-0.6.1
4534 - mbug < 0 # via http-client-0.6.1
4459
4535
4460 - antiope-athena < 0 # via amazonka
4536 - antiope-athena < 0 # via amazonka
@@ -4464,7 +4540,6 @@ packages:
4464 - antiope-s3 < 0 # via amazonka
4540 - antiope-s3 < 0 # via amazonka
4465 - antiope-sns < 0 # via amazonka
4541 - antiope-sns < 0 # via amazonka
4466 - antiope-sqs < 0 # via amazonka
4542 - antiope-sqs < 0 # via amazonka
4467− - cachix-api < 0 # via amazonka
4468 - confcrypt < 0 # via amazonka
4543 - confcrypt < 0 # via amazonka
4469 - amazonka-apigateway < 0 # via amazonka-core
4544 - amazonka-apigateway < 0 # via amazonka-core
4470 - amazonka-application-autoscaling < 0 # via amazonka-core
4545 - amazonka-application-autoscaling < 0 # via amazonka-core
@@ -4575,10 +4650,11 @@ packages:
4575 - hsdev < 0.3.3.0
4650 - hsdev < 0.3.3.0
4576 - network-bsd < 2.8.1.0
4651 - network-bsd < 2.8.1.0
4577 - MissingH < 1.4.2.0
4652 - MissingH < 1.4.2.0
4578− - dbus < 1.2.8 # https://github.com/commercialhaskell/stackage/issues/4599
4653+ - dbus < 1.2.8
4579− - xml-conduit < 1.9 # https://github.com/commercialhaskell/stackage/issues/4570
4654+ - xml-conduit < 1.9
4655+ - systemd < 2
4580
4656
4581− # https://github.com/simonmichael/hledger/issues/983
4657+ # https://github.com/simonmichael/hledger/pull/987
4582 - easytest < 0.3
4658 - easytest < 0.3
4583
4659
4584 # https://github.com/commercialhaskell/stackage/issues/4484
4660 # https://github.com/commercialhaskell/stackage/issues/4484
@@ -4587,13 +4663,6 @@ packages:
4587 # https://github.com/commercialhaskell/stackage/issues/4519
4663 # https://github.com/commercialhaskell/stackage/issues/4519
4588 - case-insensitive < 1.2.1
4664 - case-insensitive < 1.2.1
4589
4665
4590− # https://github.com/commercialhaskell/stackage/issues/4523
4591− - doctest < 0.16.1
4592−
4593− # https://github.com/commercialhaskell/stackage/issues/4527
4594− - generics-sop < 0.5
4595− - sop-core < 0.5
4596−
4597 # https://github.com/commercialhaskell/stackage/issues/4529
4666 # https://github.com/commercialhaskell/stackage/issues/4529
4598 - hashable < 1.3
4667 - hashable < 1.3
4599
4668
@@ -4610,30 +4679,11 @@ packages:
4610 - machines < 0.7
4679 - machines < 0.7
4611
4680
4612 # https://github.com/commercialhaskell/stackage/issues/4532
4681 # https://github.com/commercialhaskell/stackage/issues/4532
4613− - profunctors < 5.4
4682+ - profunctors < 5.5
4614
4683
4615 # https://github.com/commercialhaskell/stackage/issues/4541
4684 # https://github.com/commercialhaskell/stackage/issues/4541
4616 - dependent-sum < 0.5
4685 - dependent-sum < 0.5
4617
4686
4618− # causes build failure in persistent-mysql-haskell https://github.com/commercialhaskell/stackage/issues/4550
4619− # causes build failure in eventful-sql-common https://github.com/commercialhaskell/stackage/issues/4551
4620− # causes build failure in persistent-test https://github.com/commercialhaskell/stackage/issues/4552
4621− # causes build failure in persistent-iproute https://github.com/commercialhaskell/stackage/issues/4553
4622− - persistent < 2.10
4623− - persistent-mysql < 2.10
4624− - persistent-postgresql < 2.10
4625− - persistent-sqlite < 2.10
4626− - persistent-template < 2.7.0
4627− - persistent-typed-db < 0.1.0.0
4628−
4629− # https://github.com/commercialhaskell/stackage/issues/4557
4630− - hedgehog < 1.0
4631− - registry < 0.1.5.0
4632− - hedgehog-fn < 1.0
4633− - tasty-hedgehog < 1.0
4634− - tomland < 1.0.1.0
4635− - nonempty-containers < 0.3.0.0
4636−
4637 # https://github.com/commercialhaskell/stackage/issues/4564
4687 # https://github.com/commercialhaskell/stackage/issues/4564
4638 - primitive < 0.7.0.0
4688 - primitive < 0.7.0.0
4639 - primitive-extras < 0.8
4689 - primitive-extras < 0.8
@@ -4653,24 +4703,6 @@ packages:
4653 # https://github.com/commercialhaskell/stackage/issues/4579
4703 # https://github.com/commercialhaskell/stackage/issues/4579
4654 - quickcheck-classes < 0.6.2.0
4704 - quickcheck-classes < 0.6.2.0
4655
4705
4656− # https://github.com/commercialhaskell/stackage/issues/4580
4657− - http-api-data < 0.4.1
4658−
4659− # https://github.com/commercialhaskell/stackage/issues/4588
4660− - systemd < 2
4661−
4662− # https://github.com/commercialhaskell/stackage/issues/4591
4663− - servant-elm < 0.6
4664−
4665− # https://github.com/commercialhaskell/stackage/issues/4592
4666− - swagger2 < 2.4
4667−
4668− # https://github.com/commercialhaskell/stackage/issues/4594
4669− - servant < 0.16.1
4670− - servant-server < 0.16.1
4671− - servant-cli < 0.1.0.1
4672− - singleton-bool < 0.1.5
4673−
4674 # https://github.com/commercialhaskell/stackage/issues/4596
4706 # https://github.com/commercialhaskell/stackage/issues/4596
4675 - tls < 1.5.0
4707 - tls < 1.5.0
4676 - tls-debug < 0.4.6
4708 - tls-debug < 0.4.6
@@ -4678,11 +4710,12 @@ packages:
4678 # https://github.com/commercialhaskell/stackage/issues/4604
4710 # https://github.com/commercialhaskell/stackage/issues/4604
4679 - inline-c < 0.8
4711 - inline-c < 0.8
4680
4712
4681− # https://github.com/commercialhaskell/stackage/issues/4613
4682− - fixed < 0.3
4683−
4684 # https://github.com/commercialhaskell/stackage/issues/4619
4713 # https://github.com/commercialhaskell/stackage/issues/4619
4685 - hw-balancedparens < 0.2.1.0
4714 - hw-balancedparens < 0.2.1.0
4715+ # https://github.com/commercialhaskell/stackage/issues/4676
4716+ - hw-json < 1.1
4717+ # https://github.com/commercialhaskell/stackage/issues/4657
4718+ - hw-rankselect < 0.13.1.0
4686
4719
4687 # https://github.com/commercialhaskell/stackage/issues/4632
4720 # https://github.com/commercialhaskell/stackage/issues/4632
4688 - microlens < 0.4.11
4721 - microlens < 0.4.11
@@ -4694,8 +4727,110 @@ packages:
4694 # https://github.com/commercialhaskell/stackage/issues/4633
4727 # https://github.com/commercialhaskell/stackage/issues/4633
4695 - hw-packed-vector < 0.1
4728 - hw-packed-vector < 0.1
4696
4729
4697− # New http2 not supported by Warp yet
4730+ # https://github.com/commercialhaskell/stackage/issues/4645
4731+ - warp < 3.3.0
4698 - http2 < 2
4732 - http2 < 2
4733+
4734+ # https://github.com/commercialhaskell/stackage/issues/4673
4735+ - hlint < 2.2
4736+
4737+ # https://github.com/commercialhaskell/stackage/issues/4693
4738+ - optparse-applicative < 0.15
4739+
4740+ # https://github.com/commercialhaskell/stackage/issues/4702
4741+ - generic-lens < 1.2.0.0
4742+
4743+ # https://github.com/commercialhaskell/stackage/issues/4709
4744+ - base-unicode-symbols < 0.2.4
4745+
4746+ # https://github.com/commercialhaskell/stackage/issues/4725
4747+ - lens-family < 2
4748+ - lens-family-core < 2
4749+
4750+ # https://github.com/commercialhaskell/stackage/issues/4731
4751+ - ghc-lib-parser < 8.8.0.20190723
4752+ - ghc-lib < 8.8.0.20190723
4753+
4754+ # https://github.com/commercialhaskell/stackage/issues/4737
4755+ - parser-combinators < 1.2.0
4756+ - parser-combinators-tests < 1.2.0
4757+
4758+ # https://github.com/commercialhaskell/stackage/issues/4739
4759+ - doctemplates < 0.3
4760+
4761+ # https://github.com/commercialhaskell/stackage/issues/4743
4762+ - monoidal-containers < 0.5
4763+
4764+ # https://github.com/commercialhaskell/stackage/issues/4749
4765+ - call-stack < 0.2.0
4766+
4767+ # https://github.com/commercialhaskell/stackage/issues/4750
4768+ - gi-gdk < 4
4769+ - gi-gtk < 4
4770+
4771+ # https://github.com/commercialhaskell/stackage/issues/4753
4772+ - dependent-map < 0.3
4773+ - dependent-sum-template < 0.1
4774+
4775+ # https://github.com/commercialhaskell/stackage/issues/4775
4776+ - polyparse < 1.13
4777+
4778+ # https://github.com/commercialhaskell/stackage/issues/4781
4779+ - generic-deriving < 1.13
4780+
4781+ # See https://github.com/commercialhaskell/stackage/issues/4646#issuecomment-525517773
4782+ - singletons < 2.6
4783+ - eliminators < 0.6
4784+ - th-desugar < 1.10
4785+
4786+ # https://github.com/commercialhaskell/stackage/issues/4785
4787+ - ghc-exactprint < 0.6.2
4788+
4789+ # https://github.com/commercialhaskell/stackage/issues/4786
4790+ - shelly < 1.9
4791+
4792+ # https://github.com/commercialhaskell/stackage/issues/4796
4793+ - jailbreak-cabal < 1.3.5
4794+ - cabal2spec < 2.3
4795+
4796+ # https://github.com/commercialhaskell/stackage/issues/4798
4797+ - ansi-terminal < 0.10
4798+
4799+ # https://github.com/commercialhaskell/stackage/issues/4799
4800+ - memory < 0.15
4801+
4802+ # https://github.com/commercialhaskell/stackage/issues/4801
4803+ - base-compat < 0.11
4804+
4805+ # https://github.com/commercialhaskell/stackage/issues/4802
4806+ - base-compat-batteries < 0.11
4807+
4808+ # https://github.com/commercialhaskell/stackage/issues/4803
4809+ - hspec-wai < 0.10.0
4810+ - hspec-wai-json < 0.10.0
4811+
4812+ # https://github.com/commercialhaskell/stackage/issues/4804
4813+ - lens < 4.18
4814+
4815+ # https://github.com/commercialhaskell/stackage/issues/4805
4816+ - lens-aeson < 1.1
4817+
4818+ # https://github.com/commercialhaskell/stackage/issues/4807
4819+ - aeson < 1.4.5.0
4820+
4821+ # https://github.com/commercialhaskell/stackage/issues/4809
4822+ - elm-street < 0.1
4823+
4824+ # https://github.com/commercialhaskell/stackage/issues/4816
4825+ - trifecta < 2.1
4826+
4827+ # https://github.com/commercialhaskell/stackage/issues/4823
4828+ - universe < 1.2
4829+ - universe-dependent-sum < 1.2
4830+
4831+ # https://github.com/commercialhaskell/stackage/issues/4824
4832+ - bindings-GLFW < 3.3
4833+
4699# end of packages
4834# end of packages
4700
4835
4701# Package flags are applied to individual packages, and override the values of
4836# Package flags are applied to individual packages, and override the values of
@@ -4789,10 +4924,6 @@ package-flags:
4789 # https://github.com/haskell/cabal/issues/4883
4924 # https://github.com/haskell/cabal/issues/4883
4790 native-dns: false
4925 native-dns: false
4791
4926
4792− # https://github.com/commercialhaskell/stackage/issues/3666
4793− safe-money:
4794− serialise: false
4795−
4796 # https://github.com/fpco/stackage/issues/3619
4927 # https://github.com/fpco/stackage/issues/3619
4797 transformers-compat:
4928 transformers-compat:
4798 five-three: true
4929 five-three: true
@@ -4877,6 +5008,7 @@ skipped-tests:
4877 - ip # hspec 2.5 https://github.com/andrewthad/haskell-ip/issues/33
5008 - ip # hspec 2.5 https://github.com/andrewthad/haskell-ip/issues/33
4878 - language-ecmascript # testing-feat 1.1.0.0
5009 - language-ecmascript # testing-feat 1.1.0.0
4879 - lattices # via tasty-1.2
5010 - lattices # via tasty-1.2
5011+ - netrc # via tasty-1.2
4880 - makefile # GHC 8.2
5012 - makefile # GHC 8.2
4881 - mmtf # via hspec-2.7.0
5013 - mmtf # via hspec-2.7.0
4882 - next-ref # hspec 2.3
5014 - next-ref # hspec 2.3
@@ -5002,6 +5134,8 @@ skipped-tests:
5002 - uri-bytestring # Could not deduce (SOP.All (SOP.All Arbitrary) xs) arising from a use of ‘SOP.hcpure’
5134 - uri-bytestring # Could not deduce (SOP.All (SOP.All Arbitrary) xs) arising from a use of ‘SOP.hcpure’
5003 - cron # Could not deduce (SOP.All (SOP.All Arbitrary) xss) arising from a use of ‘SOP.hcpure’
5135 - cron # Could not deduce (SOP.All (SOP.All Arbitrary) xss) arising from a use of ‘SOP.hcpure’
5004 - config-ini # https://github.com/aisamanra/config-ini/issues/22
5136 - config-ini # https://github.com/aisamanra/config-ini/issues/22
5137+ - polysemy-plugin # https://github.com/commercialhaskell/stackage/issues/4733
5138+
5005
5139
5006 # Runtime issues
5140 # Runtime issues
5007 - blank-canvas # Never finishes https://github.com/ku-fpg/blank-canvas/issues/73
5141 - blank-canvas # Never finishes https://github.com/ku-fpg/blank-canvas/issues/73
@@ -5090,8 +5224,16 @@ skipped-tests:
5090 # Requires running pg-harness-server
5224 # Requires running pg-harness-server
5091 - peregrin
5225 - peregrin
5092
5226
5093− # Internal errors with move to the new curator tool?
5227+ # Test errors with modules not being visible
5228+ - servant-ruby # https://github.com/commercialhaskell/stackage/issues/4650
5229+ - pretty-simple # https://github.com/commercialhaskell/stackage/issues/4652
5094− - blaze-collonade # https://github.com/commercialhaskell/stackage/issues/4639
5230+ - password-instances # https://github.com/commercialhaskell/stackage/issues/4653
5231+ - password # https://github.com/commercialhaskell/stackage/issues/4654
5232+ - haskell-gi # https://github.com/commercialhaskell/stackage/issues/4661
5233+ - envelope # https://github.com/commercialhaskell/stackage/issues/4669
5234+ - algebraic-graphs # https://github.com/commercialhaskell/stackage/issues/4670
5235+ - either-both # https://github.com/commercialhaskell/stackage/issues/4757
5236+ - bugsnag-haskell # https://github.com/commercialhaskell/stackage/issues/4759
5095# end of skipped-tests
5237# end of skipped-tests
5096
5238
5097# Tests listed in expected-test-failures configure correctly but may fail to run
5239# Tests listed in expected-test-failures configure correctly but may fail to run
@@ -5203,7 +5345,7 @@ expected-test-failures:
5203 - odbc # "Need ODBC_TEST_CONNECTION_STRING environment variable"
5345 - odbc # "Need ODBC_TEST_CONNECTION_STRING environment variable"
5204 - opaleye # PostgreSQL
5346 - opaleye # PostgreSQL
5205 - pandoc-pyplot # requires DISPLAY for tcltk
5347 - pandoc-pyplot # requires DISPLAY for tcltk
5206− - pantry-tmp # https://github.com/commercialhaskell/stackage/issues/4628
5348+ - pantry # https://github.com/commercialhaskell/stackage/issues/4628
5207 - persistent-redis # redis - https://github.com/fpco/stackage/pull/1581
5349 - persistent-redis # redis - https://github.com/fpco/stackage/pull/1581
5208 - pipes-mongodb
5350 - pipes-mongodb
5209 - postgresql-query # PostgreSQL
5351 - postgresql-query # PostgreSQL
@@ -5242,7 +5384,6 @@ expected-test-failures:
5242 - doctest-discover # 0.1.0.9 https://github.com/karun012/doctest-discover/issues/22
5384 - doctest-discover # 0.1.0.9 https://github.com/karun012/doctest-discover/issues/22
5243 - graylog # 0.1.0.1 https://github.com/fpco/stackage/pull/1254
5385 - graylog # 0.1.0.1 https://github.com/fpco/stackage/pull/1254
5244 - tomland # https://github.com/kowainik/tomland/issues/141
5386 - tomland # https://github.com/kowainik/tomland/issues/141
5245− - safe-json # 0.1.0 https://github.com/Vlix/safe-json/issues/1
5246
5387
5247 # Assertion failures, these can be real bugs or just limitations
5388 # Assertion failures, these can be real bugs or just limitations
5248 # in the test cases.
5389 # in the test cases.
@@ -5350,6 +5491,44 @@ expected-test-failures:
5350
5491
5351 # https://github.com/jgm/pandoc/issues/5582
5492 # https://github.com/jgm/pandoc/issues/5582
5352 - pandoc
5493 - pandoc
5494+
5495+ # https://github.com/commercialhaskell/stackage/issues/4642
5496+ - ghc-exactprint
5497+
5498+ # https://github.com/commercialhaskell/stackage/issues/4643
5499+ - world-peace
5500+
5501+ # https://github.com/commercialhaskell/stackage/issues/4646
5502+ - singletons
5503+
5504+ # Cannot reproduce locally, looks like it may be a bug in Stack or curator
5505+ - shake-language-c
5506+
5507+ # https://github.com/commercialhaskell/stackage/issues/4706
5508+ - dhall
5509+
5510+ # https://github.com/commercialhaskell/stackage/issues/4707
5511+ - blaze-colonnade
5512+
5513+ # https://github.com/commercialhaskell/stackage/issues/4722
5514+ - tasty-discover
5515+
5516+ # https://github.com/commercialhaskell/stackage/issues/4764
5517+ - persistent-mysql
5518+ # https://github.com/commercialhaskell/stackage/issues/4763
5519+ - persistent-postgresql
5520+
5521+ # https://github.com/commercialhaskell/stackage/issues/4784
5522+ - raaz
5523+
5524+ # Requires a running server
5525+ - persistent-mongoDB
5526+
5527+ # https://github.com/commercialhaskell/stackage/issues/4810
5528+ - dns
5529+
5530+ # https://github.com/commercialhaskell/stackage/issues/4815
5531+ - brittany
5353# end of expected-test-failures
5532# end of expected-test-failures
5354
5533
5355# Benchmarks which are known not to build. Note that, currently we do not run
5534# Benchmarks which are known not to build. Note that, currently we do not run
@@ -5366,6 +5545,7 @@ expected-benchmark-failures:
5366 - cryptohash # https://github.com/vincenthz/hs-cryptohash/pull/43
5545 - cryptohash # https://github.com/vincenthz/hs-cryptohash/pull/43
5367 - http2
5546 - http2
5368 - lz4 # https://github.com/fpco/stackage/issues/3510
5547 - lz4 # https://github.com/fpco/stackage/issues/3510
5548+ - raaz # https://github.com/commercialhaskell/stackage/issues/4766
5369 - thyme
5549 - thyme
5370 - xmlgen # https://github.com/skogsbaer/xmlgen/issues/6
5550 - xmlgen # https://github.com/skogsbaer/xmlgen/issues/6
5371
5551
@@ -5569,6 +5749,7 @@ skipped-benchmarks:
5569 - extensible # via freer-effects https://github.com/fumieval/extensible/issues/12
5749 - extensible # via freer-effects https://github.com/fumieval/extensible/issues/12
5570 - hw-bits # https://github.com/haskell-works/hw-bits/issues/8
5750 - hw-bits # https://github.com/haskell-works/hw-bits/issues/8
5571 - hslua # https://github.com/commercialhaskell/stackage/issues/4526
5751 - hslua # https://github.com/commercialhaskell/stackage/issues/4526
5752+ - persistent-template # https://github.com/commercialhaskell/stackage/issues/4760
5572
5753
5573 # Cyclic dependencies
5754 # Cyclic dependencies
5574 - cassava
5755 - cassava
@@ -5847,7 +6028,7 @@ no-revisions:
5847- gauge
6028- gauge
5848- stack
6029- stack
5849- http-download
6030- http-download
5850−- pantry-tmp
6031+- pantry
5851- rio-prettyprint
6032- rio-prettyprint
5852- hi-file-parser
6033- hi-file-parser
5853# https://github.com/commercialhaskell/stackage/issues/3706:
6034# https://github.com/commercialhaskell/stackage/issues/3706:
@@ -5855,7 +6036,6 @@ no-revisions:
5855- hledger-lib
6036- hledger-lib
5856- hledger-ui
6037- hledger-ui
5857- hledger-web
6038- hledger-web
5858−- hledger-api
5859
6039
5860
6040
5861# Do not build these packages in parallel with others. Useful for high memory
6041# Do not build these packages in parallel with others. Useful for high memory
check+10−2
@@ -1,6 +1,14 @@
1−#!/bin/sh
1+#!/bin/bash
2
2
3# Convenience script for checking constraints locally
3# Convenience script for checking constraints locally
4
4
5cd `dirname $0`
5cd `dirname $0`
6+
7+export GHCVER=$(sed -n "s/^ghc-version: \"\(.*\)\"/\1/p" "build-constraints.yaml")
8+
9+NIGHTLY="nightly-$(date +%Y-%m-%d)"
10+curator update &&
11+ curator constraints --target=$NIGHTLY &&
12+ curator snapshot-incomplete --target=$NIGHTLY &&
13+ curator snapshot &&
6−exec stack exec --resolver ghc-8.6.5 stackage-curator check
14+ stack --resolver ghc-$GHCVER exec curator check-snapshot
debian-bootstrap.sh+16−9
@@ -98,6 +98,7 @@ apt-get install -y \
98 libopenmpi-dev \
98 libopenmpi-dev \
99 libpango1.0-dev \
99 libpango1.0-dev \
100 libpcap0.8-dev \
100 libpcap0.8-dev \
101+ libpcre2-dev \
101 libpq-dev \
102 libpq-dev \
102 libprotobuf-dev \
103 libprotobuf-dev \
103 libre2-dev \
104 libre2-dev \
@@ -131,6 +132,7 @@ apt-get install -y \
131 libzstd-dev \
132 libzstd-dev \
132 libzmq3-dev \
133 libzmq3-dev \
133 llvm-6.0 \
134 llvm-6.0 \
135+ llvm-8 \
134 locales \
136 locales \
135 m4 \
137 m4 \
136 minisat \
138 minisat \
@@ -163,13 +165,13 @@ curl https://packages.microsoft.com/config/debian/9/prod.list > /etc/apt/sources
163apt-get update
165apt-get update
164ACCEPT_EULA=Y apt-get install msodbcsql17 -y
166ACCEPT_EULA=Y apt-get install msodbcsql17 -y
165
167
166−locale-gen en_US.UTF-8
168+# llvm for llvm-hs
169+curl https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
170+add-apt-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-9 main"
171+apt-get update
172+apt-get install llvm-9-dev -y
167
173
168−# llvm-7.0 for llvm-hs (separate since it needs wget)
174+locale-gen en_US.UTF-8
169−wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - \
170− && add-apt-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-7 main" \
171− && apt-get update \
172− && apt-get install -y llvm-7
173
175
174# Buggy versions of ld.bfd fail to link some Haskell packages:
176# Buggy versions of ld.bfd fail to link some Haskell packages:
175# https://sourceware.org/bugzilla/show_bug.cgi?id=17689. Gold is
177# https://sourceware.org/bugzilla/show_bug.cgi?id=17689. Gold is
@@ -217,10 +219,9 @@ echo "/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/" > /etc/ld.so.conf
217 && ldconfig
219 && ldconfig
218
220
219# Install erlang/otp platform and its dependencies
221# Install erlang/otp platform and its dependencies
220−ERLANG_VERSION="20.2.2"
221−ERLANG_DEB_FILE="esl-erlang_21.2-1~ubuntu~bionic_amd64.deb"
222+ERLANG_DEB_FILE="esl-erlang_21.1-1~ubuntu~bionic_amd64.deb"
222pushd /tmp \
223pushd /tmp \
223− && wget http://packages.erlang-solutions.com/site/esl/esl-erlang/FLAVOUR_1_general/${ERLANG_DEB_FILE} \
224+ && wget https://packages.erlang-solutions.com/erlang/debian/pool/${ERLANG_DEB_FILE} \
224 && (dpkg -i ${ERLANG_DEB_FILE}; apt-get install -yf) \
225 && (dpkg -i ${ERLANG_DEB_FILE}; apt-get install -yf) \
225 && rm ${ERLANG_DEB_FILE} \
226 && rm ${ERLANG_DEB_FILE} \
226 && popd
227 && popd
@@ -275,6 +276,12 @@ echo /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server > /etc/ld.so.conf.d/
275echo /usr/lib/llvm-3.7/lib > /etc/ld.so.conf.d/llvm.conf
276echo /usr/lib/llvm-3.7/lib > /etc/ld.so.conf.d/llvm.conf
276
277
277ldconfig
278ldconfig
279+
280+# Install librdkafka (Apache Kafka C/C++ library)
281+wget -qO - https://packages.confluent.io/deb/5.2/archive.key | apt-key add -
282+add-apt-repository "deb https://packages.confluent.io/deb/5.2 stable main"
283+apt-get update && apt install -y librdkafka-dev
284+
278# EOF: don't build anything below this line
285# EOF: don't build anything below this line
279
286
280# Cleanup
287# Cleanup
etc/curator-exes/.gitignorenew file+1
@@ -0,0 +1 @@
1+/bin/
etc/curator-exes/Dockerfilenew file+13
@@ -0,0 +1,13 @@
1+FROM fpco/stack-build:lts-14
2+
3+# Prime the snapshot so rebuilds are faster
4+RUN mkdir -p /artifacts
5+RUN stack update
6+RUN stack build --no-install-ghc --resolver lts-13.28 --only-dependencies stack amazonka-s3
7+
8+RUN git clone --depth 1 https://github.com/commercialhaskell/stack && \
9+ git clone --depth 1 https://github.com/commercialhaskell/curator
10+
11+COPY stack.yaml .
12+
13+RUN stack --no-install-ghc install --local-bin-path /artifacts
etc/curator-exes/README.mdnew file+5
@@ -0,0 +1,5 @@
1+Scripts to create and upload the curator-exes.tar.bz2 files. Make sure to
2+update the hash in automated/build-next.sh.
3+
4+NOTE: Depending on what's exactly on the master branches when running the
5+`./run.sh` script, the `stack.yaml` file may need some tweaks.
etc/curator-exes/run.shnew file+11
@@ -0,0 +1,11 @@
1+#!/usr/bin/env bash
2+
3+set -eux
4+
5+rm -rf bin
6+mkdir -p bin
7+
8+docker build . --tag curator-exes
9+
10+docker run --rm -v $(pwd)/bin:/output curator-exes cp /artifacts/* output
11+aws s3 cp curators-exes/* s3://download.fpcomplete.com/curator-exes/
etc/curator-exes/stack.yamlnew file+22
@@ -0,0 +1,22 @@
1+resolver: lts-13.28
2+
3+packages:
4+- stack
5+- curator
6+
7+extra-deps:
8+- hi-file-parser-0.1.0.0@sha256:3fc95852035c8e0fa6d5f9d22e5108067c8f4816ac84675bddc971b20144a9ae,2317
9+- http-download-0.1.0.0@sha256:b02d76d28364b74fb90d3ec3c46fd81f9d77bcf71fa40c1d341a7251a0fc40e8,2023
10+- pantry-0.1.1.2@sha256:6f06556f8e934afd517559d6f3dae947db91ef3801ee4e5cee9916c83a0c4d52,4628
11+- rio-prettyprint-0.1.0.0@sha256:764e1a357275c3c62d57c494d038feae01cf745788e7d0e97367ba793c9670c3,1359
12+- ansi-terminal-0.9.1@sha256:48f53532d0f365ffa568c8cf0adc84c66f800a7d80d3329e4f04fa75392f4af1,3225
13+- rio-0.1.12.0@sha256:a0b42682a455ffde6a4d894b135117e379aea7ed1810c2cfed471b8f5879968c,3633
14+- unliftio-0.2.12@sha256:b089fbc2ff2628a963c2c4b12143f2020874e3e5144ffd6c62b25639a0ca1483,3325
15+
16+- github: fpco/casa
17+ commit: a0cd05c1a9ce33acbb1bdfb9324370f884916e88
18+ # sha256: 812e05de8f9abdbd1101fc94895dcfd5c35962c4d67a43cc20cbc06eb59ea1f0
19+ # size: 9508
20+ subdirs:
21+ - casa-client
22+ - casa-types