Merge branch 'master' of github.com:commercialhaskell/stackage

This commit is contained in:
CristhianMotoche 2019-09-13 10:25:45 -05:00
commit 95130edd80
15 changed files with 420 additions and 322 deletions

View File

@ -6,3 +6,5 @@ cabal.sandbox.config
tarballs tarballs
*.yaml *.yaml
.git .git
automated
.github

3
.gitignore vendored
View File

@ -5,3 +5,6 @@ lts-*.yaml
*.swp *.swp
check-plan.yaml check-plan.yaml
*~ *~
/constraints.yaml
/snapshot.yaml
/snapshot-incomplete.yaml

View File

@ -18,8 +18,8 @@ This section sketches out at a high level how the entire Stackage build/curation
process works: process works:
* [build-constraints.yaml](https://github.com/commercialhaskell/stackage/blob/master/build-constraints.yaml) specifies packages to be included in Stackage * [build-constraints.yaml](https://github.com/commercialhaskell/stackage/blob/master/build-constraints.yaml) specifies packages to be included in Stackage
* [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 * [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
* stackage-curator can check that build plan to ensure all version bounds are consistent * `curator` can check that build plan to ensure all version bounds are consistent
* The [Travis job](https://github.com/commercialhaskell/stackage/blob/master/.travis.yml) performs these two steps to provide immediate feedback on pull requests * The [Travis job](https://github.com/commercialhaskell/stackage/blob/master/.travis.yml) performs these two steps to provide immediate feedback on pull requests
* Docker Hub [builds](https://github.com/commercialhaskell/stackage/blob/master/Dockerfile) a [Docker image](https://hub.docker.com/r/commercialhaskell/stackage/) for running builds * Docker Hub [builds](https://github.com/commercialhaskell/stackage/blob/master/Dockerfile) a [Docker image](https://hub.docker.com/r/commercialhaskell/stackage/) for running builds
* 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) * 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
being included immediately. This also applies to when only benchmarks being included immediately. This also applies to when only benchmarks
and tests are affected. and tests are affected.
* Copy the stackage-curator output and create a new issue, see e.g * Copy the `curator` output and create a new issue, see e.g
https://github.com/commercialhaskell/stackage/issues/2108 https://github.com/commercialhaskell/stackage/issues/2108
* Add a new entry under the "stackage upper bounds" section of `build-constraints.yaml`. For the above example it would be * 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
``` ```
* Commit (message e.g. "Upper bound for #2108") * Commit (message e.g. "Upper bound for #2108")
* Optionally: Verify with `stackage-curator check` locally * Optionally: Verify with `./check` locally
* Push * Push
* Verify that everything works on the build server (you can restart the build or wait for it to to run again) * Verify that everything works on the build server (you can restart the build or wait for it to to run again)
@ -110,7 +110,7 @@ new package may appear if its dependencies were part of this issue but
have been updated since the last time we checked. We want to give have been updated since the last time we checked. We want to give
these new packages ample time to be upgraded. these new packages ample time to be upgraded.
If stackage-curator is happy commit the change ("Remove upper bounds If `curator` is happy commit the change ("Remove upper bounds
and close #X"). After doing this the next nightly build may fail and close #X"). After doing this the next nightly build may fail
because some packages didn't have an upper bound in place, but because some packages didn't have an upper bound in place, but
compilation failed. In this case revert the previous commit so any compilation 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
much time. However, some steps on the other hand are much faster to do much time. However, some steps on the other hand are much faster to do
yourself, e.g. verifying constraints without building anything. yourself, e.g. verifying constraints without building anything.
To get started, install `stackage-curator` via Git, or [the Linux binary]: To get started, install `curator` via Git:
``` ```
$ git clone git@github.com:fpco/stackage-curator.git $ git clone git@github.com:commercialhaskell/curator.git
$ cd stackage-curator && stack install $ cd curator && stack install curator
``` ```
It is a good idea to upgrade `stackage-curator` at the start of your week. It is a good idea to upgrade `curator` at the start of your week.
Then, clone the stackage repo, get the latest packages and run dependency Then, clone the stackage repo, get the latest packages and run dependency
resolution: resolution:
``` ```
$ git clone git@github.com:commercialhaskell/stackage.git $ git clone git@github.com:commercialhaskell/stackage.git
$ stack update && stackage-curator check $ cd stackage
$ ./check
``` ```
This can be used to make sure all version bounds are in place, including for This can be used to make sure all version bounds are in place, including for
test suites and benchmarks, to check whether bounds can be lifted, and to get test suites and benchmarks, to check whether bounds can be lifted, and to get
[tell-me-when-its-released] notifications. [tell-me-when-its-released] notifications.
`stackage-curator` does not build anything, so you wont see any compilation `curator` does not build anything, so you wont see any compilation
errors for builds, tests and benchmarks. errors for builds, tests and benchmarks.
[the Linux binary]: https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2
[tell-me-when-its-released]: https://github.com/commercialhaskell/stackage/blob/master/CURATORS.md#waiting-for-new-releases [tell-me-when-its-released]: https://github.com/commercialhaskell/stackage/blob/master/CURATORS.md#waiting-for-new-releases
## Adding new curators ## Adding new curators

View File

@ -35,7 +35,7 @@ If you want to be proactive or if CI fails, you can make sure that your package
# Build from the tarball on Hackage to check for missing files # Build from the tarball on Hackage to check for missing files
$ stack unpack yourpackage && cd yourpackage-* $ stack unpack yourpackage && cd yourpackage-*
# Generate a pristine stack.yaml, adding any missing extra-deps # Generate a pristine stack.yaml, adding any missing extra-deps
$ rm -f stack.yaml && stack init --resolver nightly --solver $ rm -f stack.yaml && stack init --resolver nightly
# Build, generate docs, test, and build benchmarks # Build, generate docs, test, and build benchmarks
$ stack build --resolver nightly --haddock --test --bench --no-run-benchmarks $ stack build --resolver nightly --haddock --test --bench --no-run-benchmarks
``` ```

View File

@ -5,6 +5,8 @@ set -eu +x -o pipefail
ROOT=$(cd $(dirname $0) ; pwd) ROOT=$(cd $(dirname $0) ; pwd)
TARGET=$1 TARGET=$1
source aws.sh
# For nightly-YYYY-MM-DD, tag should be nightly # For nightly-YYYY-MM-DD, tag should be nightly
# For lts-X.Y, tag should be ltsX # For lts-X.Y, tag should be ltsX
SHORTNAME=$(echo $TARGET | cut -d- -f 1) SHORTNAME=$(echo $TARGET | cut -d- -f 1)
@ -61,25 +63,25 @@ require_400_file "$HACKAGE_CREDS"
mkdir -p $ROOT/bin mkdir -p $ROOT/bin
BINDIR=$(cd $ROOT/bin ; pwd) BINDIR=$(cd $ROOT/bin ; pwd)
( (
# See etc/curator-exes/README.md
CURATOR_EXES=95a207fb4d5bd2e2a255350ce18f55976344eeb71e6f27a25f63e8dba28a4cd1
cd $BINDIR cd $BINDIR
rm -f stackage-curator stackage-curator-2*.bz2 rm -f curator stack *.bz2
CURATOR2=stackage-curator-2-f6258124cff9a7e92bcb5704164a70e149080e88 wget "https://s3.amazonaws.com/download.fpcomplete.com/curator-exes/curator-exes-$CURATOR_EXES.tar.bz2"
wget "https://download.fpcomplete.com/stackage-curator-2/$CURATOR2.bz2" tar xf "curator-exes-$CURATOR_EXES.tar.bz2"
bunzip2 "$CURATOR2.bz2" echo curator: $(./curator --version)
chmod +x $CURATOR2 echo stack: $(./stack --version)
mv $CURATOR2 stackage-curator
./stackage-curator --version
) )
# We share pantry directory between snapshots while the other content in .stack # We share pantry directory between snapshots while the other content in .stack
# is stored separately (because e.g. Ubuntu releases between LTS and nightly # is stored separately (because e.g. Ubuntu releases between LTS and nightly
# could differ). Also the order of binds is important. # could differ). Also the order of binds is important.
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" 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"
ARGS_PREBUILD="$ARGS_COMMON -u $USERID -e HOME=$HOME -v $CABAL_DIR:$HOME/.cabal -v $GHC_DIR:$HOME/.ghc -v $DOT_STACKAGE_DIR:$HOME/.stackage" ARGS_PREBUILD="$ARGS_COMMON -u $USERID -e HOME=$HOME -v $CABAL_DIR:$HOME/.cabal -v $GHC_DIR:$HOME/.ghc -v $DOT_STACKAGE_DIR:$HOME/.stackage"
ARGS_BUILD="$ARGS_COMMON -v $CABAL_DIR:$HOME/.cabal:ro -v $GHC_DIR:$HOME/.ghc:ro" ARGS_BUILD="$ARGS_COMMON -v $CABAL_DIR:$HOME/.cabal:ro -v $GHC_DIR:$HOME/.ghc:ro"
# instance-data is an undocumented feature of S3 used by amazonka, # instance-data is an undocumented feature of S3 used by amazonka,
# see https://github.com/brendanhay/amazonka/issues/271 # see https://github.com/brendanhay/amazonka/issues/271
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" 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"
# Make sure we actually need this snapshot. We only check this for LTS releases # Make sure we actually need this snapshot. We only check this for LTS releases
# since, for nightlies, we'd like to run builds even if they are unnecessary to # 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
# below for why this is safe.) # below for why this is safe.)
if [ $SHORTNAME = "lts" ] if [ $SHORTNAME = "lts" ]
then then
docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "exec stackage-curator check-target-available --target $TARGET" docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "exec curator check-target-available --target $TARGET"
fi fi
# Get latest stack
(
cd $BINDIR
rm -f stack stack-*.bz2
STACK=stack-f6258124cff9a7e92bcb5704164a70e149080e88
wget "https://download.fpcomplete.com/stackage-curator-2/$STACK.bz2"
bunzip2 "$STACK.bz2"
chmod +x $STACK
mv $STACK stack
./stack --version
)
# Determine the new build plan unless NOPLAN is set # Determine the new build plan unless NOPLAN is set
# #
@ -111,10 +101,12 @@ if [ "${NOPLAN:-}x" = "x" ]
then then
if [ $SHORTNAME = "lts" ] if [ $SHORTNAME = "lts" ]
then then
docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "stackage-curator constraints --target $TARGET && stackage-curator snapshot-incomplete && stackage-curator snapshot" docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "curator constraints --target $TARGET && curator snapshot-incomplete --target $TARGET && curator snapshot"
else else
docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "stackage-curator update && stackage-curator constraints --target $TARGET && stackage-curator snapshot-incomplete && stackage-curator snapshot" docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "curator update && curator constraints --target $TARGET && curator snapshot-incomplete --target $TARGET && curator snapshot"
fi fi
else
docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "curator snapshot"
fi fi
@ -122,7 +114,7 @@ fi
# #
# * Check that the snapshot is valid # * Check that the snapshot is valid
# * Fetch and unpack all needed tarballs (the build step does not have write access to the tarball directory) # * Fetch and unpack all needed tarballs (the build step does not have write access to the tarball directory)
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' 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'
case $SHORTNAME in case $SHORTNAME in
lts) JOBS=1 ;; lts) JOBS=1 ;;
@ -132,25 +124,24 @@ esac
# Now do the actual build. We need to first set the owner of the home directory # Now do the actual build. We need to first set the owner of the home directory
# correctly, so we run the command as root, change owner, and then use sudo to # correctly, so we run the command as root, change owner, and then use sudo to
# switch back to the current user # switch back to the current user
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" 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"
# Make sure we actually need this snapshot. We used to perform this check # Make sure we actually need this snapshot. We used to perform this check
# exclusively before building. Now we perform it after as well for the case of # exclusively before building. Now we perform it after as well for the case of
# nightly, where we don't perform this check beforehand. This is also slightly # nightly, where we don't perform this check beforehand. This is also slightly
# safer, in case someone else already uploaded a specific snapshot while we # safer, in case someone else already uploaded a specific snapshot while we
# were building. # were building.
docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "exec stackage-curator check-target-available --target $TARGET" docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "exec curator check-target-available --target $TARGET"
# Successful build, so we need to: # Successful build, so we need to:
# #
# * Upload the docs to S3 # * Upload the docs to S3
# * Upload the new snapshot .yaml file to the appropriate Github repo, also upload its constraints # * Upload the new snapshot .yaml file to the appropriate Github repo, also upload its constraints
# * Register as a new Hackage distro (currently disabled) # * Register as a new Hackage distro (currently disabled)
docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "stackage-curator upload-docs --target $TARGET && exec stackage-curator upload-github --target $TARGET" docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "curator upload-docs --target $TARGET && curator upload-github --target $TARGET && exec curator hackage-distro --target $TARGET"
# FIXME - add back "stackage-curator hackage-distro --target $TARGET" when we will be ready to publish
# information about the new snapshots on Hackage # information about the new snapshots on Hackage
$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/ $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/
( (

View File

@ -1,148 +0,0 @@
#!/usr/bin/env bash
set -eu +x
ROOT=$(cd $(dirname $0) ; pwd)
TARGET=$1
source aws.sh
# For nightly-YYYY-MM-DD, tag should be nightly
# For lts-X.Y, tag should be ltsX
SHORTNAME=$(echo $TARGET | cut -d- -f 1)
if [ $SHORTNAME = "lts" ]
then
TAG=$(echo $TARGET | sed 's@^lts-\([0-9]*\)\.[0-9]*@lts\1@')
else
TAG=$SHORTNAME
fi
IMAGE=commercialhaskell/stackage:$TAG
PLAN_FILE=current-plan.yaml
DOCMAP_FILE=current-docmap.yaml
CABAL_DIR=$ROOT/cabal
STACK_DIR=$ROOT/stack
GHC_DIR=$ROOT/ghc
DOT_STACKAGE_DIR=$ROOT/dot-stackage
WORKDIR=$ROOT/$TAG/work
EXTRA_BIN_DIR=$ROOT/extra-bin
SSH_DIR=$ROOT/ssh-$SHORTNAME
USERID=$(id -u)
mkdir -p \
"$CABAL_DIR" \
"$STACK_DIR" \
"$GHC_DIR" \
"$DOT_STACKAGE_DIR" \
"$WORKDIR" \
"$EXTRA_BIN_DIR" \
"$SSH_DIR"
GITCONFIG=$ROOT/gitconfig
cat >$GITCONFIG <<EOF
[user]
email = michael+stackage-build@fpcomplete.com
name = Stackage Build host
EOF
cat >$SSH_DIR/known_hosts <<EOF
|1|Qn0iij8BnxGZXbyFSozS9zWkH+Q=|YrKKNp2KHO3/oc4UBFIe1zOvhDc= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
|1|RxBEt2ljiEppr019szMIhbY12m0=|0FZ2Oji1LphRbPLLEQhFzTmL69I= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
EOF
AUTH_TOKEN=$ROOT/auth-token
HACKAGE_CREDS=$ROOT/hackage-creds
function require_400_file {
if [ ! -f "$1" ]
then
echo File not found: "$1"
exit 1
fi
chmod 400 "$1"
}
require_400_file "$SSH_DIR/id_rsa"
require_400_file "$AUTH_TOKEN"
require_400_file "$HACKAGE_CREDS"
mkdir -p $ROOT/bin
BINDIR=$(cd $ROOT/bin ; pwd)
(
cd $BINDIR
rm -f stackage-curator stackage-curator.bz2
wget https://s3.amazonaws.com/stackage-travis/stackage-curator/stackage-curator.bz2
bunzip2 stackage-curator.bz2
chmod +x stackage-curator
./stackage-curator --version
)
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"
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"
ARGS_BUILD="$ARGS_COMMON -v $CABAL_DIR:$HOME/.cabal:ro -v $STACK_DIR:$HOME/.stack:ro -v $GHC_DIR:$HOME/.ghc:ro"
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"
# Make sure we actually need this snapshot. We only check this for LTS releases
# since, for nightlies, we'd like to run builds even if they are unnecessary to
# get early warning information of upcoming failures. (See the duplicate check
# below for why this is safe.)
if [ $SHORTNAME = "lts" ]
then
docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "exec stackage-curator check-target-available --target $TARGET"
fi
# Get latest compatible stack
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'
# Determine the new build plan unless NOPLAN is set
#
# * Update the package index (unless LTS)
# * Create a new plan
if [ "${NOPLAN:-}x" = "x" ]
then
if [ $SHORTNAME = "lts" ]
then
docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "exec stackage-curator create-plan --plan-file $PLAN_FILE --target $TARGET ${CONSTRAINTS:-}"
else
docker run $ARGS_PREBUILD $IMAGE /bin/bash -c "stack update && exec stackage-curator create-plan --plan-file $PLAN_FILE --target $TARGET ${CONSTRAINTS:-}"
fi
fi
# Do the rest of the pre-build actions:
#
# * Check that the plan is valid
# * Fetch all needed tarballs (the build step does not have write access to the tarball directory)
# * Do a single unpack to create the package index cache (again due to directory perms)
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"
case $SHORTNAME in
lts) JOBS=1 ;;
nightly) JOBS=2 ;;
esac
# Now do the actual build. We need to first set the owner of the home directory
# correctly, so we run the command as root, change owner, and then use sudo to
# switch back to the current user
docker run $ARGS_BUILD $IMAGE 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"
# Make sure we actually need this snapshot. We used to perform this check
# exclusively before building. Now we perform it after as well for the case of
# nightly, where we don't perform this check beforehand. This is also slightly
# safer, in case someone else already uploaded a specific snapshot while we
# were building.
docker run $ARGS_UPLOAD $IMAGE /bin/bash -c "exec stackage-curator check-target-available --target $TARGET"
# Successful build, so we need to:
#
# * Upload the docs to S3
# * Upload the 00-index.tar file to S3 (TODO: this is probably no longer necessary, since snapshots never modify .cabal files)
# * Upload the new plan .yaml file to the appropriate Github repo
# * Register as a new Hackage distro
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"
echo -n "Completed at "
date

View File

@ -4,7 +4,7 @@ set -eux
if [[ ! -f convert ]] if [[ ! -f convert ]]
then then
curl https://s3.amazonaws.com/www.snoyman.com/convert-old-stackage-f780174e2c84e4fb171f6526228d9243beb7fd71.bz2 > convert.bz2 curl https://s3.amazonaws.com/www.snoyman.com/convert-old-stackage-c9c4d06b31cb7aafedd23aa316b8008c45e4d4dd.bz2 > convert.bz2
chmod +x convert.bz2 chmod +x convert.bz2
bunzip2 convert.bz2 bunzip2 convert.bz2
fi fi
@ -21,7 +21,10 @@ do
fi fi
done done
(
export HOME=$(pwd)
./convert ./convert
)
cd stackage-snapshots cd stackage-snapshots
git add lts nightly git add lts nightly

View File

@ -9,8 +9,28 @@ cabal-format-version: "2.4"
# Constraints for brand new builds # Constraints for brand new builds
packages: packages:
"Tobias Reinhart <tobi.reinhart@fau.de> @TobiReinhart":
- sparse-tensor
"Stephan Schiffels <stephan_schiffels@mac.com> @stschiff":
- sequence-formats
- pipes-ordered-zip
- sequenceTools
"YongJoon Joe <developer@quietjoon.net> @QuietJoon":
- doldol
- ENIG
"Chris Penner <christopher.penner@gmail.com> @ChrisPenner":
- lens-regex-pcre
"Emily Pillmore <emilypi@cohomolo.gy> @topos":
- lens-process
- microlens-process
"Matthieu Monsch <mtth@apache.org> @mtth": "Matthieu Monsch <mtth@apache.org> @mtth":
- flags-applicative
- more-containers
- tracing - tracing
"Robert Vollmert <rob@vllmrt.net> @robx": "Robert Vollmert <rob@vllmrt.net> @robx":
@ -24,6 +44,9 @@ packages:
- interpolatedstring-qq2 - interpolatedstring-qq2
- prospect - prospect
- do-notation - do-notation
- unagi-chan
- type-errors
- loopbreaker
"William Yao <williamyaoh@gmail.com> @williamyaoh": "William Yao <williamyaoh@gmail.com> @williamyaoh":
- string-interpolate - string-interpolate
@ -64,6 +87,9 @@ packages:
"Preetham Gujjula <preetham.gujjula@gmail.com> @pgujjula": "Preetham Gujjula <preetham.gujjula@gmail.com> @pgujjula":
- modular - modular
"Guillaume Bouchard <guillaum.bouchard@gmail.com> @guibou":
- PyF
"Erik Schnetter <schnetter@gmail.com> @eschnett": "Erik Schnetter <schnetter@gmail.com> @eschnett":
- mpi-hs - mpi-hs
@ -80,7 +106,7 @@ packages:
- parsec-numbers - parsec-numbers
"Joshua Grosso <jgrosso256@gmail.com> @jgrosso": "Joshua Grosso <jgrosso256@gmail.com> @jgrosso":
- axel - axel < 0 # https://github.com/axellang/axel/issues/24
"Varun Gandhi <theindigamer15@gmail.com> @theindigamer": "Varun Gandhi <theindigamer15@gmail.com> @theindigamer":
- edit < 0 - edit < 0
@ -121,6 +147,11 @@ packages:
- rhine-gloss - rhine-gloss
- dunai-core - dunai-core
- finite-typelits - finite-typelits
- essence-of-live-coding
- essence-of-live-coding-pulse
- essence-of-live-coding-gloss
- essence-of-live-coding-quickcheck
- pulse-simple
"Paul Johnson <paul@cogito.org.uk> @PaulJohnson": "Paul Johnson <paul@cogito.org.uk> @PaulJohnson":
- geodetics - geodetics
@ -248,7 +279,7 @@ packages:
"Richard Cook <rcook@rcook.org> @rcook": "Richard Cook <rcook@rcook.org> @rcook":
- hidden-char - hidden-char
- oset - oset
- req-url-extra - req-url-extra < 0 # req < 2.1.0
- sexpr-parser - sexpr-parser
"Vanessa McHale <tmchale@wisc.edu> @vmchale": "Vanessa McHale <tmchale@wisc.edu> @vmchale":
@ -265,6 +296,7 @@ packages:
- apportionment - apportionment
- audacity - audacity
- bibtex - bibtex
- board-games
- buffer-pipe - buffer-pipe
- calendar-recycling - calendar-recycling
- checksum - checksum
@ -367,6 +399,7 @@ packages:
- newtype-generics - newtype-generics
- bsb-http-chunked - bsb-http-chunked
- coercible-utils - coercible-utils
- hspec-parsec
"Joe M <joe9mail@gmail.com> @joe9": "Joe M <joe9mail@gmail.com> @joe9":
- logger-thread - logger-thread
@ -387,6 +420,7 @@ packages:
- yeshql - yeshql
"Yair Chuchem <yairchu@gmail.com> @yairchu": "Yair Chuchem <yairchu@gmail.com> @yairchu":
- generic-constraints
- List - List
- ListTree - ListTree
@ -415,6 +449,7 @@ packages:
"James M.C. Haver II <mchaver@gmail.com> @mchaver": "James M.C. Haver II <mchaver@gmail.com> @mchaver":
- quickcheck-arbitrary-adt - quickcheck-arbitrary-adt
- hspec-golden-aeson - hspec-golden-aeson
- quickcheck-arbitrary-template
"Winter Han <winterland1989@gmail.com> @winterland1989": "Winter Han <winterland1989@gmail.com> @winterland1989":
- if - if
@ -430,6 +465,7 @@ packages:
- unboxed-ref - unboxed-ref
"Harendra Kumar <harendra.kumar@gmail.com> @harendra-kumar": "Harendra Kumar <harendra.kumar@gmail.com> @harendra-kumar":
- bench-show
- monad-recorder - monad-recorder
- packcheck - packcheck
- streamly - streamly
@ -494,9 +530,10 @@ packages:
- persistent-postgresql - persistent-postgresql
- persistent-sqlite - persistent-sqlite
- persistent-template - persistent-template
# persistent-test # https://github.com/commercialhaskell/stackage/pull/4492 - persistent-test # https://github.com/commercialhaskell/stackage/pull/4492
# - stackage-curator # http-conduit 2.3 via amazonka # - stackage-curator # http-conduit 2.3 via amazonka
- store - store
- wai-extra
- wai-websockets - wai-websockets
- warp-tls - warp-tls
- yesod - yesod
@ -536,7 +573,7 @@ packages:
- hybrid-vectors - hybrid-vectors
- indents - indents
- language-c - language-c
- persistent-mongoDB < 0 # GHC 8.4 via mongoDB - persistent-mongoDB
- pretty-class - pretty-class
- th-expand-syns - th-expand-syns
- th-lift - th-lift
@ -567,7 +604,8 @@ packages:
- githash - githash
- time-manager - time-manager
- pantry-tmp - pantry
- mega-sdist
- http-download - http-download
- hi-file-parser - hi-file-parser
- rio-prettyprint - rio-prettyprint
@ -981,7 +1019,6 @@ packages:
- dhall-bash - dhall-bash
- dhall-json - dhall-json
# - dhall-nix # deriving-compat via hnix # - dhall-nix # deriving-compat via hnix
- dhall-text
"Andrew Thaddeus Martin <andrew.thaddeus@gmail.com> @andrewthad": "Andrew Thaddeus Martin <andrew.thaddeus@gmail.com> @andrewthad":
- colonnade - colonnade
@ -1098,13 +1135,15 @@ packages:
- DAV - DAV
- hopenpgp-tools - hopenpgp-tools
- opensource - opensource
- debian
- cabal-debian
"Piyush P Kurur <ppk@cse.iitk.ac.in> @piyush-kurur": "Piyush P Kurur <ppk@cse.iitk.ac.in> @piyush-kurur":
- raaz < 0 # GHC 8.4 via base-4.11.0.0 - raaz
- naqsha < 0 # GHC 8.4 via base-4.11.0.0 - naqsha
"Joey Hess <id@joeyh.name> @joeyh": "Joey Hess <id@joeyh.name> @joeyh":
# - git-annex # conduit 1.3 # - git-annex # Depends on many packages not tracked by Stackage
- concurrent-output - concurrent-output
- mountpoints - mountpoints
- disk-free-space - disk-free-space
@ -1171,9 +1210,8 @@ packages:
# #
- hledger-lib - hledger-lib
- hledger - hledger
- hledger-ui < 0 # via brick, via data-clist, via QuickCheck https://github.com/commercialhaskell/stackage/issues/4444 - hledger-ui
- hledger-web - hledger-web
- hledger-api
# #
- quickbench - quickbench
- regex-compat-tdfa - regex-compat-tdfa
@ -1234,6 +1272,7 @@ packages:
- kind-generics - kind-generics
- kind-generics-th - kind-generics-th
- simplistic-generics - simplistic-generics
- wl-pprint
"Matvey Aksenov <matvey.aksenov@gmail.com> @supki": "Matvey Aksenov <matvey.aksenov@gmail.com> @supki":
- terminal-size - terminal-size
@ -1398,10 +1437,10 @@ packages:
- HaskellNet-SSL < 0 # mime-mail-0.5 via HaskellNet - HaskellNet-SSL < 0 # mime-mail-0.5 via HaskellNet
"Jens Petersen <juhpetersen@gmail.com> @juhp": "Jens Petersen <juhpetersen@gmail.com> @juhp":
- cabal-rpm - cabal-rpm < 0 # https://github.com/commercialhaskell/stackage/issues/4666
- dl-fedora
- fedora-dists - fedora-dists
- fedora-haskell-tools - fedora-haskell-tools < 0 # https://github.com/commercialhaskell/stackage/issues/4662
- fedora-img-dl
- hkgr - hkgr
- http-directory - http-directory
- rpmbuild-order - rpmbuild-order
@ -1450,7 +1489,7 @@ packages:
- pipes-binary - pipes-binary
- pipes-network - pipes-network
- pipes-network-tls - pipes-network-tls
- safe-money < 0 - safe-money
- vector-bytes-instances - vector-bytes-instances
- xmlbf-xeno - xmlbf-xeno
- xmlbf-xmlhtml < 0 # GHC 8.4 via xmlhtml via hspec-2.5.0 - xmlbf-xmlhtml < 0 # GHC 8.4 via xmlhtml via hspec-2.5.0
@ -1744,7 +1783,7 @@ packages:
- cubicspline - cubicspline
- maximal-cliques - maximal-cliques
"Alexander Bondarenko <aenor.realm@gmail.com> @wiz": "Alexander Bondarenko <aenor.realm@gmail.com> @dpwiz":
- hedn - hedn
- soap - soap
- soap-tls - soap-tls
@ -1940,6 +1979,7 @@ packages:
- configurator-export - configurator-export
- decidable - decidable
- emd - emd
- functor-products
- hamilton - hamilton
- hmatrix-backprop - hmatrix-backprop
- hmatrix-vector-sized - hmatrix-vector-sized
@ -2019,6 +2059,7 @@ packages:
- glabrous - glabrous
- google-oauth2-jwt - google-oauth2-jwt
- IPv6DB < 0 - IPv6DB < 0
- gothic
"koral koral@mailoo.org @k0ral": "koral koral@mailoo.org @k0ral":
- atom-conduit < 0 - atom-conduit < 0
@ -2156,12 +2197,14 @@ packages:
- monad-par - monad-par
- monad-par-extras - monad-par-extras
- mtl-compat - mtl-compat
- ordered-containers
- proxied - proxied
- singleton-nats - singleton-nats
- text-show - text-show
- text-show-instances - text-show-instances
- th-abstraction - th-abstraction
- thread-local-storage - thread-local-storage
- type-equality
"Kirill Zaborsky <qrilka@gmail.com> @qrilka": "Kirill Zaborsky <qrilka@gmail.com> @qrilka":
- xlsx - xlsx
@ -2176,6 +2219,7 @@ packages:
- esqueleto - esqueleto
- persistent-typed-db - persistent-typed-db
- persistent-qq - persistent-qq
- persistent-pagination
"Matthew Pickering <matthewtpickering@gmail.com> @mpickering": "Matthew Pickering <matthewtpickering@gmail.com> @mpickering":
- refact - refact
@ -2254,6 +2298,7 @@ packages:
- leancheck - leancheck
- leancheck-instances - leancheck-instances
- fitspec - fitspec
- express
- speculate - speculate
- extrapolate - extrapolate
- percent-format - percent-format
@ -2265,22 +2310,19 @@ packages:
- irc - irc
"Dennis Gosnell <cdep.illabout@gmail.com> @cdepillabout": "Dennis Gosnell <cdep.illabout@gmail.com> @cdepillabout":
- emailaddress < 0 # opaleye
- envelope - envelope
- from-sum - from-sum
- hailgun - hailgun
- hailgun-simple < 0 # via hailgun
- natural-transformation - natural-transformation
# - opaleye-trans # product-profunctors 0.9
- password - password
- password-instances - password-instances
- pretty-simple - pretty-simple
- read-env-var - read-env-var
- servant-checked-exceptions < 0 # https://github.com/cdepillabout/servant-checked-exceptions/issues/29 - servant-checked-exceptions
- servant-checked-exceptions-core < 0 # servant 0.16 - servant-checked-exceptions-core
- servant-rawm < 0 # https://github.com/cdepillabout/servant-rawm/issues/9 - servant-rawm
- servant-static-th - servant-static-th
- termonad < 0 - termonad
- world-peace - world-peace
- xml-html-qq - xml-html-qq
- xml-indexed-cursor - xml-indexed-cursor
@ -2339,7 +2381,9 @@ packages:
- http-common - http-common
- http-streams - http-streams
- locators - locators
- unbeliever - core-text
- core-data
- core-program
"Sean Hunt <scshunt@csclub.uwaterloo.ca @scshunt": "Sean Hunt <scshunt@csclub.uwaterloo.ca @scshunt":
- cheapskate - cheapskate
@ -2430,14 +2474,14 @@ packages:
- identicon - identicon
- lame - lame
- megaparsec - megaparsec
- megaparsec-tests < 0 # via QuickCheck https://github.com/commercialhaskell/stackage/issues/4444 - megaparsec-tests
- mmark - mmark
- mmark-cli - mmark-cli
- mmark-ext - mmark-ext
- modern-uri - modern-uri
- pagination - pagination
- parser-combinators - parser-combinators
# parser-combinators-tests # https://github.com/commercialhaskell/stackage/issues/4540 - parser-combinators-tests
- path - path
- path-io - path-io
- req - req
@ -2654,9 +2698,9 @@ packages:
- dawg-ord < 0 - dawg-ord < 0
"Amit Levy <amit@amitlevy.com> @alevy": "Amit Levy <amit@amitlevy.com> @alevy":
- simple < 0 # GHC 8.4 via simple-templates - simple
- simple-templates < 0 # BuildFailureException Process exited with ExitFailure 1: ./Setup build - simple-templates
- simple-session < 0 # GHC 8.4 via simple - simple-session
- postgresql-orm - postgresql-orm
"Sergey Astanin <s.astanin@gmail.com> @astanin": "Sergey Astanin <s.astanin@gmail.com> @astanin":
@ -2718,7 +2762,7 @@ packages:
"Ozgun Ataman ozgun.ataman@soostone.com @ozataman": "Ozgun Ataman ozgun.ataman@soostone.com @ozataman":
- string-conv - string-conv
- rng-utils - rng-utils < 0 # https://github.com/commercialhaskell/stackage/issues/4686
- ua-parser - ua-parser
- hs-GeoIP - hs-GeoIP
- retry - retry
@ -2737,8 +2781,8 @@ packages:
- xlsx-tabular - xlsx-tabular
"Mikhail Glushenkov <mikhail.glushenkov@gmail.com> @23Skidoo": "Mikhail Glushenkov <mikhail.glushenkov@gmail.com> @23Skidoo":
- Cabal - Cabal < 3 # https://github.com/commercialhaskell/stackage/issues/4761
- cabal-install - cabal-install < 3
# - pointful # haskell-src-exts # - pointful # haskell-src-exts
"Lennart Kolmodin <kolmodin@gmail.com> @kolmodin": "Lennart Kolmodin <kolmodin@gmail.com> @kolmodin":
@ -2853,12 +2897,14 @@ packages:
- repline - repline
- picosat < 0 - picosat < 0
- aos-signature - aos-signature
- bulletproofs # https://github.com/commercialhaskell/stackage/issues/4682
- bulletproofs < 1
- pedersen-commitment - pedersen-commitment
- merkle-tree - merkle-tree
- oblivious-transfer - oblivious-transfer
- pairing - pairing < 0 # #4758
- libraft - libraft
- galois-field
"Daishi Nakajima <nakaji.dayo@gmail.com> @nakaji-dayo": "Daishi Nakajima <nakaji.dayo@gmail.com> @nakaji-dayo":
- api-field-json-th - api-field-json-th
@ -2899,8 +2945,8 @@ packages:
# - eventful-dynamodb # http-conduit 2.3 via amazonka # - eventful-dynamodb # http-conduit 2.3 via amazonka
- eventful-memory - eventful-memory
- eventful-postgresql < 0 # GHC 8.4 via persistent-postgresql - eventful-postgresql < 0 # GHC 8.4 via persistent-postgresql
- eventful-sql-common - eventful-sql-common < 0 # persistent 2.10.0 #4551
- eventful-sqlite - eventful-sqlite < 0 # persistent 2.10.0 via eventful-sql-common
- eventful-test-helpers - eventful-test-helpers
- stratosphere - stratosphere
- sum-type-boilerplate - sum-type-boilerplate
@ -2975,6 +3021,7 @@ packages:
- quickcheck-classes - quickcheck-classes
- arithmoi - arithmoi
- bitvec - bitvec
- poly
"Ashley Yakeley <ashley@semantic.org> @AshleyYakeley": "Ashley Yakeley <ashley@semantic.org> @AshleyYakeley":
- countable - countable
@ -3037,7 +3084,7 @@ packages:
"Moritz Kiefer <moritz.kiefer@purelyfunctional.org> @cocreature": "Moritz Kiefer <moritz.kiefer@purelyfunctional.org> @cocreature":
- lrucaching - lrucaching
- llvm-hs < 0 # https://github.com/commercialhaskell/stackage/issues/4238 - llvm-hs
- llvm-hs-pure - llvm-hs-pure
"Thierry Bourrillon <thierry.bourrillon@fpinsight.com> @tbourrillon": "Thierry Bourrillon <thierry.bourrillon@fpinsight.com> @tbourrillon":
@ -3101,7 +3148,7 @@ packages:
- butcher - butcher
- czipwith - czipwith
- data-tree-print - data-tree-print
- brittany < 0 # via yaml-0.9.0 commercialhaskell/stackage#3823 - brittany
"Ryan Mulligan <ryan@ryantm.com> @ryantm": "Ryan Mulligan <ryan@ryantm.com> @ryantm":
- HDBC-mysql - HDBC-mysql
@ -3129,7 +3176,7 @@ packages:
- clock-extras - clock-extras
- next-ref < 0 - next-ref < 0
- threads-extras < 0 - threads-extras < 0
- tmp-postgres - tmp-postgres < 0.3 # https://github.com/commercialhaskell/stackage/issues/4790
- pg-transact - pg-transact
- hspec-pg-transact - hspec-pg-transact
- postgresql-simple-queue - postgresql-simple-queue
@ -3177,11 +3224,9 @@ packages:
- salak-yaml - salak-yaml
- salak-toml - salak-toml
- tensors - tensors
- yam
- yam-datasource
- yam-redis
- menshen - menshen
- crc32c - crc32c
- boots
"Tom Nielsen <tanielsen@gmail.com> @glutamate": "Tom Nielsen <tanielsen@gmail.com> @glutamate":
- plotlyhs - plotlyhs
@ -3199,10 +3244,11 @@ packages:
# - hip # lens 4.16 via diagrams/chart # - hip # lens 4.16 via diagrams/chart
- massiv - massiv
- massiv-io - massiv-io
- massiv-test
- scheduler - scheduler
"Hans-Peter Deifel <hpd@hpdeifel.de> @hpdeifel": "Hans-Peter Deifel <hpd@hpdeifel.de> @hpdeifel":
- hledger-iadd < 0 # via brick, via data-clist, via QuickCheck https://github.com/commercialhaskell/stackage/issues/4444 - hledger-iadd
"Roy Levien <royl@aldaron.com> @orome": "Roy Levien <royl@aldaron.com> @orome":
- crypto-enigma - crypto-enigma
@ -3230,7 +3276,7 @@ packages:
"Mitsutoshi Aoe <maoe@foldr.in> @maoe": "Mitsutoshi Aoe <maoe@foldr.in> @maoe":
- influxdb - influxdb
- sensu-run < 0 # GHC 8.4 via base-4.11.0.0 - sensu-run < 0 # GHC 8.4 via base-4.11.0.0
- viewprof < 0 # via brick, via data-clist, via QuickCheck https://github.com/commercialhaskell/stackage/issues/4444 - viewprof
"Dylan Simon <dylan-stack@dylex.net> @dylex": "Dylan Simon <dylan-stack@dylex.net> @dylex":
- postgresql-typed - postgresql-typed
@ -3319,6 +3365,11 @@ packages:
- possibly - possibly
- enum-text - enum-text
- rg - rg
- columnar
- enum-text-rio
- fmt-for-rio
- no-value
- optparse-enum
"Elliot Cameron <eacameron@gmail.com> @3noch": "Elliot Cameron <eacameron@gmail.com> @3noch":
[] []
@ -3353,12 +3404,13 @@ packages:
- pier-core < 0 - pier-core < 0
- pier < 0 - pier < 0
- haskeline - haskeline
- ghc-source-gen
"Christof Schramm <christof.schramm@campus.lmu.de>": "Christof Schramm <christof.schramm@campus.lmu.de>":
- mnist-idx - mnist-idx
"Naushadh <naushadh@protonmail.com> @naushadh": "Naushadh <naushadh@protonmail.com> @naushadh":
- persistent-mysql-haskell - persistent-mysql-haskell < 0 # persistent 2.10.0 #4550
"Moritz Schulte <mtesseract@silverratio.net> @mtesseract": "Moritz Schulte <mtesseract@silverratio.net> @mtesseract":
- async-refresh - async-refresh
@ -3452,6 +3504,9 @@ packages:
- tomland - tomland
- typerep-map - typerep-map
"Dmitrii Kovanikov <kovanikov@gmail.com> @chshersh":
- type-errors-pretty
"Holmusk <tech@holmusk.com> @arbus": "Holmusk <tech@holmusk.com> @arbus":
- elm-street - elm-street
@ -3469,6 +3524,7 @@ packages:
- language-docker - language-docker
- docker-build-cacher < 0 # GHC 8.4 via turtle - docker-build-cacher < 0 # GHC 8.4 via turtle
- mysql-haskell-nem - mysql-haskell-nem
- hadolint
"Phil Ruffwind <rf@rufflewind.com> @Rufflewind": "Phil Ruffwind <rf@rufflewind.com> @Rufflewind":
- blas-hs - blas-hs
@ -3519,6 +3575,7 @@ packages:
- path-text-utf8 - path-text-utf8
"Type Classes <hello@typeclasses.com> @argumatronic @chris-martin": "Type Classes <hello@typeclasses.com> @argumatronic @chris-martin":
- aws-cloudfront-signed-cookies
- stripe-concepts - stripe-concepts
- stripe-signature - stripe-signature
- stripe-scotty - stripe-scotty
@ -3639,6 +3696,7 @@ packages:
"Guru Devanla <grdvnl@gmail.com> @gdevanla": "Guru Devanla <grdvnl@gmail.com> @gdevanla":
- pptable - pptable
- cassava-records - cassava-records
- pandoc-markdown-ghci-filter
"Lucas David Traverso <lucas6246@gmail.com> @ludat": "Lucas David Traverso <lucas6246@gmail.com> @ludat":
- map-syntax < 0 # GHC 8.4 via base-4.11.0.0 - map-syntax < 0 # GHC 8.4 via base-4.11.0.0
@ -3650,11 +3708,11 @@ packages:
- transformers-fix - transformers-fix
"Domen Kozar <domen@enlambda.com> @domenkozar": "Domen Kozar <domen@enlambda.com> @domenkozar":
- cachix < 0 - cachix < 0 # #4752
- cachix-api - cachix-api
- elm2nix - elm2nix
- stack2nix - mixpanel-client < 0
- mixpanel-client < 0 # https://github.com/domenkozar/mixpanel-client/issues/3 - netrc
- pretty-sop - pretty-sop
- servant-auth - servant-auth
- servant-auth-server - servant-auth-server
@ -3703,12 +3761,12 @@ packages:
- tasty-ant-xml - tasty-ant-xml
"Eugene Smolanka <esmolanka@gmail.com> @esmolanka": "Eugene Smolanka <esmolanka@gmail.com> @esmolanka":
- sexp-grammar < 0 - sexp-grammar
- invertible-grammar < 0 - invertible-grammar
"Maximilian Tagher <feedback.tagher@gmail.com> @MaxGabriel": "Maximilian Tagher <feedback.tagher@gmail.com> @MaxGabriel":
- aeson-iproute - aeson-iproute
- persistent-iproute - persistent-iproute < 0 # persistent-2.10.0 #4553
"Damian Nadales <damian.nadales@gmail.com> @capitanbatata": "Damian Nadales <damian.nadales@gmail.com> @capitanbatata":
- hierarchy < 0 - hierarchy < 0
@ -3758,6 +3816,7 @@ packages:
- web3 - web3
"Georg Rudoy <0xd34df00d@gmail.com> @0xd34df00d": "Georg Rudoy <0xd34df00d@gmail.com> @0xd34df00d":
- can-i-haz
- enum-subset-generate - enum-subset-generate
"Trevis Elser <trevis@silencedpoet.com> @telser": "Trevis Elser <trevis@silencedpoet.com> @telser":
@ -3848,7 +3907,7 @@ packages:
- servant-auth-wordpress - servant-auth-wordpress
- ca-province-codes - ca-province-codes
"David Baynard <haskell@baynard.me> @dbaynard": "David Baynard <haskell@baynard.dev> @dbaynard":
- time-qq # see christian-marie/time-qq#3 - time-qq # see christian-marie/time-qq#3
- ucam-webauth - ucam-webauth
- ucam-webauth-types - ucam-webauth-types
@ -3896,6 +3955,22 @@ packages:
"Elben Shira <elben@shira.im> @elben": "Elben Shira <elben@shira.im> @elben":
- pencil - pencil
"ARATA Mizuki <minorinoki@gmail.com> @minoki":
- unboxing-vector
"Brandon Chinn <brandon@leapyear.io> @brandon-leapyear":
- th-test-utils
"Akshay Mankar <itsakshaymankar@gmail.com> @akshaymankar":
- jsonpath
"James Brock <jamesbrock@gmail.com> @jamesdbrock":
- replace-megaparsec
- replace-attoparsec
"Robbie McMichael @robbiemcmichael":
- http-client-overrides
"Grandfathered dependencies": "Grandfathered dependencies":
- Boolean - Boolean
- ChasingBottoms < 0 # due to QuickCheck, https://github.com/commercialhaskell/stackage/issues/4444 - ChasingBottoms < 0 # due to QuickCheck, https://github.com/commercialhaskell/stackage/issues/4444
@ -3944,7 +4019,7 @@ packages:
- blaze-svg - blaze-svg
- blaze-textual - blaze-textual
- boring - boring
- brick < 0 # via data-clist, via QuickCheck https://github.com/commercialhaskell/stackage/issues/4444 - brick < 0.48 # https://github.com/commercialhaskell/stackage/issues/4789
- buffer-builder - buffer-builder
- byteable - byteable
- bytestring-builder - bytestring-builder
@ -3999,7 +4074,7 @@ packages:
- data-binary-ieee754 - data-binary-ieee754
- data-bword - data-bword
- data-checked - data-checked
- data-clist < 0 # via QuickCheck https://github.com/commercialhaskell/stackage/issues/4444 - data-clist
- data-default - data-default
- data-default-class - data-default-class
- data-default-instances-containers - data-default-instances-containers
@ -4030,6 +4105,7 @@ packages:
- easytest - easytest
- ed25519 - ed25519
- edit-distance - edit-distance
- elm-bridge
- enclosed-exceptions - enclosed-exceptions
- entropy - entropy
- erf - erf
@ -4050,6 +4126,7 @@ packages:
- fmlist - fmlist
- friendly-time - friendly-time
- functor-classes-compat - functor-classes-compat
- functor-combinators
- generic-arbitrary - generic-arbitrary
- generics-sop-lens - generics-sop-lens
- ghc-compact - ghc-compact
@ -4295,6 +4372,7 @@ packages:
- tonatona - tonatona
- transformers-base - transformers-base
- tree-diff - tree-diff
- trivial-constraint
- true-name - true-name
- tuple-th - tuple-th
- type-fun - type-fun
@ -4327,7 +4405,6 @@ packages:
- wai-app-static - wai-app-static
- wai-conduit - wai-conduit
- wai-eventsource - wai-eventsource
- wai-extra
- wai-handler-launch - wai-handler-launch
- wai-logger - wai-logger
- wai-session - wai-session
@ -4454,7 +4531,6 @@ packages:
- amazonka-core < 0 # via http-client-0.6.1 - amazonka-core < 0 # via http-client-0.6.1
- github < 0 # via http-client-0.6.1 - github < 0 # via http-client-0.6.1
- hailgun < 0 # via http-client-0.6.1 - hailgun < 0 # via http-client-0.6.1
- language-puppet < 0 # via http-client-0.6.1
- mbug < 0 # via http-client-0.6.1 - mbug < 0 # via http-client-0.6.1
- antiope-athena < 0 # via amazonka - antiope-athena < 0 # via amazonka
@ -4464,7 +4540,6 @@ packages:
- antiope-s3 < 0 # via amazonka - antiope-s3 < 0 # via amazonka
- antiope-sns < 0 # via amazonka - antiope-sns < 0 # via amazonka
- antiope-sqs < 0 # via amazonka - antiope-sqs < 0 # via amazonka
- cachix-api < 0 # via amazonka
- confcrypt < 0 # via amazonka - confcrypt < 0 # via amazonka
- amazonka-apigateway < 0 # via amazonka-core - amazonka-apigateway < 0 # via amazonka-core
- amazonka-application-autoscaling < 0 # via amazonka-core - amazonka-application-autoscaling < 0 # via amazonka-core
@ -4575,10 +4650,11 @@ packages:
- hsdev < 0.3.3.0 - hsdev < 0.3.3.0
- network-bsd < 2.8.1.0 - network-bsd < 2.8.1.0
- MissingH < 1.4.2.0 - MissingH < 1.4.2.0
- dbus < 1.2.8 # https://github.com/commercialhaskell/stackage/issues/4599 - dbus < 1.2.8
- xml-conduit < 1.9 # https://github.com/commercialhaskell/stackage/issues/4570 - xml-conduit < 1.9
- systemd < 2
# https://github.com/simonmichael/hledger/issues/983 # https://github.com/simonmichael/hledger/pull/987
- easytest < 0.3 - easytest < 0.3
# https://github.com/commercialhaskell/stackage/issues/4484 # https://github.com/commercialhaskell/stackage/issues/4484
@ -4587,13 +4663,6 @@ packages:
# https://github.com/commercialhaskell/stackage/issues/4519 # https://github.com/commercialhaskell/stackage/issues/4519
- case-insensitive < 1.2.1 - case-insensitive < 1.2.1
# https://github.com/commercialhaskell/stackage/issues/4523
- doctest < 0.16.1
# https://github.com/commercialhaskell/stackage/issues/4527
- generics-sop < 0.5
- sop-core < 0.5
# https://github.com/commercialhaskell/stackage/issues/4529 # https://github.com/commercialhaskell/stackage/issues/4529
- hashable < 1.3 - hashable < 1.3
@ -4610,30 +4679,11 @@ packages:
- machines < 0.7 - machines < 0.7
# https://github.com/commercialhaskell/stackage/issues/4532 # https://github.com/commercialhaskell/stackage/issues/4532
- profunctors < 5.4 - profunctors < 5.5
# https://github.com/commercialhaskell/stackage/issues/4541 # https://github.com/commercialhaskell/stackage/issues/4541
- dependent-sum < 0.5 - dependent-sum < 0.5
# causes build failure in persistent-mysql-haskell https://github.com/commercialhaskell/stackage/issues/4550
# causes build failure in eventful-sql-common https://github.com/commercialhaskell/stackage/issues/4551
# causes build failure in persistent-test https://github.com/commercialhaskell/stackage/issues/4552
# causes build failure in persistent-iproute https://github.com/commercialhaskell/stackage/issues/4553
- persistent < 2.10
- persistent-mysql < 2.10
- persistent-postgresql < 2.10
- persistent-sqlite < 2.10
- persistent-template < 2.7.0
- persistent-typed-db < 0.1.0.0
# https://github.com/commercialhaskell/stackage/issues/4557
- hedgehog < 1.0
- registry < 0.1.5.0
- hedgehog-fn < 1.0
- tasty-hedgehog < 1.0
- tomland < 1.0.1.0
- nonempty-containers < 0.3.0.0
# https://github.com/commercialhaskell/stackage/issues/4564 # https://github.com/commercialhaskell/stackage/issues/4564
- primitive < 0.7.0.0 - primitive < 0.7.0.0
- primitive-extras < 0.8 - primitive-extras < 0.8
@ -4653,24 +4703,6 @@ packages:
# https://github.com/commercialhaskell/stackage/issues/4579 # https://github.com/commercialhaskell/stackage/issues/4579
- quickcheck-classes < 0.6.2.0 - quickcheck-classes < 0.6.2.0
# https://github.com/commercialhaskell/stackage/issues/4580
- http-api-data < 0.4.1
# https://github.com/commercialhaskell/stackage/issues/4588
- systemd < 2
# https://github.com/commercialhaskell/stackage/issues/4591
- servant-elm < 0.6
# https://github.com/commercialhaskell/stackage/issues/4592
- swagger2 < 2.4
# https://github.com/commercialhaskell/stackage/issues/4594
- servant < 0.16.1
- servant-server < 0.16.1
- servant-cli < 0.1.0.1
- singleton-bool < 0.1.5
# https://github.com/commercialhaskell/stackage/issues/4596 # https://github.com/commercialhaskell/stackage/issues/4596
- tls < 1.5.0 - tls < 1.5.0
- tls-debug < 0.4.6 - tls-debug < 0.4.6
@ -4678,11 +4710,12 @@ packages:
# https://github.com/commercialhaskell/stackage/issues/4604 # https://github.com/commercialhaskell/stackage/issues/4604
- inline-c < 0.8 - inline-c < 0.8
# https://github.com/commercialhaskell/stackage/issues/4613
- fixed < 0.3
# https://github.com/commercialhaskell/stackage/issues/4619 # https://github.com/commercialhaskell/stackage/issues/4619
- hw-balancedparens < 0.2.1.0 - hw-balancedparens < 0.2.1.0
# https://github.com/commercialhaskell/stackage/issues/4676
- hw-json < 1.1
# https://github.com/commercialhaskell/stackage/issues/4657
- hw-rankselect < 0.13.1.0
# https://github.com/commercialhaskell/stackage/issues/4632 # https://github.com/commercialhaskell/stackage/issues/4632
- microlens < 0.4.11 - microlens < 0.4.11
@ -4694,8 +4727,110 @@ packages:
# https://github.com/commercialhaskell/stackage/issues/4633 # https://github.com/commercialhaskell/stackage/issues/4633
- hw-packed-vector < 0.1 - hw-packed-vector < 0.1
# New http2 not supported by Warp yet # https://github.com/commercialhaskell/stackage/issues/4645
- warp < 3.3.0
- http2 < 2 - http2 < 2
# https://github.com/commercialhaskell/stackage/issues/4673
- hlint < 2.2
# https://github.com/commercialhaskell/stackage/issues/4693
- optparse-applicative < 0.15
# https://github.com/commercialhaskell/stackage/issues/4702
- generic-lens < 1.2.0.0
# https://github.com/commercialhaskell/stackage/issues/4709
- base-unicode-symbols < 0.2.4
# https://github.com/commercialhaskell/stackage/issues/4725
- lens-family < 2
- lens-family-core < 2
# https://github.com/commercialhaskell/stackage/issues/4731
- ghc-lib-parser < 8.8.0.20190723
- ghc-lib < 8.8.0.20190723
# https://github.com/commercialhaskell/stackage/issues/4737
- parser-combinators < 1.2.0
- parser-combinators-tests < 1.2.0
# https://github.com/commercialhaskell/stackage/issues/4739
- doctemplates < 0.3
# https://github.com/commercialhaskell/stackage/issues/4743
- monoidal-containers < 0.5
# https://github.com/commercialhaskell/stackage/issues/4749
- call-stack < 0.2.0
# https://github.com/commercialhaskell/stackage/issues/4750
- gi-gdk < 4
- gi-gtk < 4
# https://github.com/commercialhaskell/stackage/issues/4753
- dependent-map < 0.3
- dependent-sum-template < 0.1
# https://github.com/commercialhaskell/stackage/issues/4775
- polyparse < 1.13
# https://github.com/commercialhaskell/stackage/issues/4781
- generic-deriving < 1.13
# See https://github.com/commercialhaskell/stackage/issues/4646#issuecomment-525517773
- singletons < 2.6
- eliminators < 0.6
- th-desugar < 1.10
# https://github.com/commercialhaskell/stackage/issues/4785
- ghc-exactprint < 0.6.2
# https://github.com/commercialhaskell/stackage/issues/4786
- shelly < 1.9
# https://github.com/commercialhaskell/stackage/issues/4796
- jailbreak-cabal < 1.3.5
- cabal2spec < 2.3
# https://github.com/commercialhaskell/stackage/issues/4798
- ansi-terminal < 0.10
# https://github.com/commercialhaskell/stackage/issues/4799
- memory < 0.15
# https://github.com/commercialhaskell/stackage/issues/4801
- base-compat < 0.11
# https://github.com/commercialhaskell/stackage/issues/4802
- base-compat-batteries < 0.11
# https://github.com/commercialhaskell/stackage/issues/4803
- hspec-wai < 0.10.0
- hspec-wai-json < 0.10.0
# https://github.com/commercialhaskell/stackage/issues/4804
- lens < 4.18
# https://github.com/commercialhaskell/stackage/issues/4805
- lens-aeson < 1.1
# https://github.com/commercialhaskell/stackage/issues/4807
- aeson < 1.4.5.0
# https://github.com/commercialhaskell/stackage/issues/4809
- elm-street < 0.1
# https://github.com/commercialhaskell/stackage/issues/4816
- trifecta < 2.1
# https://github.com/commercialhaskell/stackage/issues/4823
- universe < 1.2
- universe-dependent-sum < 1.2
# https://github.com/commercialhaskell/stackage/issues/4824
- bindings-GLFW < 3.3
# end of packages # end of packages
# Package flags are applied to individual packages, and override the values of # Package flags are applied to individual packages, and override the values of
@ -4789,10 +4924,6 @@ package-flags:
# https://github.com/haskell/cabal/issues/4883 # https://github.com/haskell/cabal/issues/4883
native-dns: false native-dns: false
# https://github.com/commercialhaskell/stackage/issues/3666
safe-money:
serialise: false
# https://github.com/fpco/stackage/issues/3619 # https://github.com/fpco/stackage/issues/3619
transformers-compat: transformers-compat:
five-three: true five-three: true
@ -4877,6 +5008,7 @@ skipped-tests:
- ip # hspec 2.5 https://github.com/andrewthad/haskell-ip/issues/33 - ip # hspec 2.5 https://github.com/andrewthad/haskell-ip/issues/33
- language-ecmascript # testing-feat 1.1.0.0 - language-ecmascript # testing-feat 1.1.0.0
- lattices # via tasty-1.2 - lattices # via tasty-1.2
- netrc # via tasty-1.2
- makefile # GHC 8.2 - makefile # GHC 8.2
- mmtf # via hspec-2.7.0 - mmtf # via hspec-2.7.0
- next-ref # hspec 2.3 - next-ref # hspec 2.3
@ -5002,6 +5134,8 @@ skipped-tests:
- uri-bytestring # Could not deduce (SOP.All (SOP.All Arbitrary) xs) arising from a use of SOP.hcpure - uri-bytestring # Could not deduce (SOP.All (SOP.All Arbitrary) xs) arising from a use of SOP.hcpure
- cron # Could not deduce (SOP.All (SOP.All Arbitrary) xss) arising from a use of SOP.hcpure - cron # Could not deduce (SOP.All (SOP.All Arbitrary) xss) arising from a use of SOP.hcpure
- config-ini # https://github.com/aisamanra/config-ini/issues/22 - config-ini # https://github.com/aisamanra/config-ini/issues/22
- polysemy-plugin # https://github.com/commercialhaskell/stackage/issues/4733
# Runtime issues # Runtime issues
- blank-canvas # Never finishes https://github.com/ku-fpg/blank-canvas/issues/73 - blank-canvas # Never finishes https://github.com/ku-fpg/blank-canvas/issues/73
@ -5090,8 +5224,16 @@ skipped-tests:
# Requires running pg-harness-server # Requires running pg-harness-server
- peregrin - peregrin
# Internal errors with move to the new curator tool? # Test errors with modules not being visible
- blaze-collonade # https://github.com/commercialhaskell/stackage/issues/4639 - servant-ruby # https://github.com/commercialhaskell/stackage/issues/4650
- pretty-simple # https://github.com/commercialhaskell/stackage/issues/4652
- password-instances # https://github.com/commercialhaskell/stackage/issues/4653
- password # https://github.com/commercialhaskell/stackage/issues/4654
- haskell-gi # https://github.com/commercialhaskell/stackage/issues/4661
- envelope # https://github.com/commercialhaskell/stackage/issues/4669
- algebraic-graphs # https://github.com/commercialhaskell/stackage/issues/4670
- either-both # https://github.com/commercialhaskell/stackage/issues/4757
- bugsnag-haskell # https://github.com/commercialhaskell/stackage/issues/4759
# end of skipped-tests # end of skipped-tests
# Tests listed in expected-test-failures configure correctly but may fail to run # Tests listed in expected-test-failures configure correctly but may fail to run
@ -5203,7 +5345,7 @@ expected-test-failures:
- odbc # "Need ODBC_TEST_CONNECTION_STRING environment variable" - odbc # "Need ODBC_TEST_CONNECTION_STRING environment variable"
- opaleye # PostgreSQL - opaleye # PostgreSQL
- pandoc-pyplot # requires DISPLAY for tcltk - pandoc-pyplot # requires DISPLAY for tcltk
- pantry-tmp # https://github.com/commercialhaskell/stackage/issues/4628 - pantry # https://github.com/commercialhaskell/stackage/issues/4628
- persistent-redis # redis - https://github.com/fpco/stackage/pull/1581 - persistent-redis # redis - https://github.com/fpco/stackage/pull/1581
- pipes-mongodb - pipes-mongodb
- postgresql-query # PostgreSQL - postgresql-query # PostgreSQL
@ -5242,7 +5384,6 @@ expected-test-failures:
- doctest-discover # 0.1.0.9 https://github.com/karun012/doctest-discover/issues/22 - doctest-discover # 0.1.0.9 https://github.com/karun012/doctest-discover/issues/22
- graylog # 0.1.0.1 https://github.com/fpco/stackage/pull/1254 - graylog # 0.1.0.1 https://github.com/fpco/stackage/pull/1254
- tomland # https://github.com/kowainik/tomland/issues/141 - tomland # https://github.com/kowainik/tomland/issues/141
- safe-json # 0.1.0 https://github.com/Vlix/safe-json/issues/1
# Assertion failures, these can be real bugs or just limitations # Assertion failures, these can be real bugs or just limitations
# in the test cases. # in the test cases.
@ -5350,6 +5491,44 @@ expected-test-failures:
# https://github.com/jgm/pandoc/issues/5582 # https://github.com/jgm/pandoc/issues/5582
- pandoc - pandoc
# https://github.com/commercialhaskell/stackage/issues/4642
- ghc-exactprint
# https://github.com/commercialhaskell/stackage/issues/4643
- world-peace
# https://github.com/commercialhaskell/stackage/issues/4646
- singletons
# Cannot reproduce locally, looks like it may be a bug in Stack or curator
- shake-language-c
# https://github.com/commercialhaskell/stackage/issues/4706
- dhall
# https://github.com/commercialhaskell/stackage/issues/4707
- blaze-colonnade
# https://github.com/commercialhaskell/stackage/issues/4722
- tasty-discover
# https://github.com/commercialhaskell/stackage/issues/4764
- persistent-mysql
# https://github.com/commercialhaskell/stackage/issues/4763
- persistent-postgresql
# https://github.com/commercialhaskell/stackage/issues/4784
- raaz
# Requires a running server
- persistent-mongoDB
# https://github.com/commercialhaskell/stackage/issues/4810
- dns
# https://github.com/commercialhaskell/stackage/issues/4815
- brittany
# end of expected-test-failures # end of expected-test-failures
# Benchmarks which are known not to build. Note that, currently we do not run # Benchmarks which are known not to build. Note that, currently we do not run
@ -5366,6 +5545,7 @@ expected-benchmark-failures:
- cryptohash # https://github.com/vincenthz/hs-cryptohash/pull/43 - cryptohash # https://github.com/vincenthz/hs-cryptohash/pull/43
- http2 - http2
- lz4 # https://github.com/fpco/stackage/issues/3510 - lz4 # https://github.com/fpco/stackage/issues/3510
- raaz # https://github.com/commercialhaskell/stackage/issues/4766
- thyme - thyme
- xmlgen # https://github.com/skogsbaer/xmlgen/issues/6 - xmlgen # https://github.com/skogsbaer/xmlgen/issues/6
@ -5569,6 +5749,7 @@ skipped-benchmarks:
- extensible # via freer-effects https://github.com/fumieval/extensible/issues/12 - extensible # via freer-effects https://github.com/fumieval/extensible/issues/12
- hw-bits # https://github.com/haskell-works/hw-bits/issues/8 - hw-bits # https://github.com/haskell-works/hw-bits/issues/8
- hslua # https://github.com/commercialhaskell/stackage/issues/4526 - hslua # https://github.com/commercialhaskell/stackage/issues/4526
- persistent-template # https://github.com/commercialhaskell/stackage/issues/4760
# Cyclic dependencies # Cyclic dependencies
- cassava - cassava
@ -5847,7 +6028,7 @@ no-revisions:
- gauge - gauge
- stack - stack
- http-download - http-download
- pantry-tmp - pantry
- rio-prettyprint - rio-prettyprint
- hi-file-parser - hi-file-parser
# https://github.com/commercialhaskell/stackage/issues/3706: # https://github.com/commercialhaskell/stackage/issues/3706:
@ -5855,7 +6036,6 @@ no-revisions:
- hledger-lib - hledger-lib
- hledger-ui - hledger-ui
- hledger-web - hledger-web
- hledger-api
# Do not build these packages in parallel with others. Useful for high memory # Do not build these packages in parallel with others. Useful for high memory

12
check
View File

@ -1,6 +1,14 @@
#!/bin/sh #!/bin/bash
# Convenience script for checking constraints locally # Convenience script for checking constraints locally
cd `dirname $0` cd `dirname $0`
exec stack exec --resolver ghc-8.6.5 stackage-curator check
export GHCVER=$(sed -n "s/^ghc-version: \"\(.*\)\"/\1/p" "build-constraints.yaml")
NIGHTLY="nightly-$(date +%Y-%m-%d)"
curator update &&
curator constraints --target=$NIGHTLY &&
curator snapshot-incomplete --target=$NIGHTLY &&
curator snapshot &&
stack --resolver ghc-$GHCVER exec curator check-snapshot

View File

@ -98,6 +98,7 @@ apt-get install -y \
libopenmpi-dev \ libopenmpi-dev \
libpango1.0-dev \ libpango1.0-dev \
libpcap0.8-dev \ libpcap0.8-dev \
libpcre2-dev \
libpq-dev \ libpq-dev \
libprotobuf-dev \ libprotobuf-dev \
libre2-dev \ libre2-dev \
@ -131,6 +132,7 @@ apt-get install -y \
libzstd-dev \ libzstd-dev \
libzmq3-dev \ libzmq3-dev \
llvm-6.0 \ llvm-6.0 \
llvm-8 \
locales \ locales \
m4 \ m4 \
minisat \ minisat \
@ -163,13 +165,13 @@ curl https://packages.microsoft.com/config/debian/9/prod.list > /etc/apt/sources
apt-get update apt-get update
ACCEPT_EULA=Y apt-get install msodbcsql17 -y ACCEPT_EULA=Y apt-get install msodbcsql17 -y
locale-gen en_US.UTF-8 # llvm for llvm-hs
curl https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
add-apt-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-9 main"
apt-get update
apt-get install llvm-9-dev -y
# llvm-7.0 for llvm-hs (separate since it needs wget) locale-gen en_US.UTF-8
wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - \
&& add-apt-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-7 main" \
&& apt-get update \
&& apt-get install -y llvm-7
# Buggy versions of ld.bfd fail to link some Haskell packages: # Buggy versions of ld.bfd fail to link some Haskell packages:
# https://sourceware.org/bugzilla/show_bug.cgi?id=17689. Gold is # 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
&& ldconfig && ldconfig
# Install erlang/otp platform and its dependencies # Install erlang/otp platform and its dependencies
ERLANG_VERSION="20.2.2" ERLANG_DEB_FILE="esl-erlang_21.1-1~ubuntu~bionic_amd64.deb"
ERLANG_DEB_FILE="esl-erlang_21.2-1~ubuntu~bionic_amd64.deb"
pushd /tmp \ pushd /tmp \
&& wget http://packages.erlang-solutions.com/site/esl/esl-erlang/FLAVOUR_1_general/${ERLANG_DEB_FILE} \ && wget https://packages.erlang-solutions.com/erlang/debian/pool/${ERLANG_DEB_FILE} \
&& (dpkg -i ${ERLANG_DEB_FILE}; apt-get install -yf) \ && (dpkg -i ${ERLANG_DEB_FILE}; apt-get install -yf) \
&& rm ${ERLANG_DEB_FILE} \ && rm ${ERLANG_DEB_FILE} \
&& popd && popd
@ -275,6 +276,12 @@ echo /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server > /etc/ld.so.conf.d/
echo /usr/lib/llvm-3.7/lib > /etc/ld.so.conf.d/llvm.conf echo /usr/lib/llvm-3.7/lib > /etc/ld.so.conf.d/llvm.conf
ldconfig ldconfig
# Install librdkafka (Apache Kafka C/C++ library)
wget -qO - https://packages.confluent.io/deb/5.2/archive.key | apt-key add -
add-apt-repository "deb https://packages.confluent.io/deb/5.2 stable main"
apt-get update && apt install -y librdkafka-dev
# EOF: don't build anything below this line # EOF: don't build anything below this line
# Cleanup # Cleanup

1
etc/curator-exes/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/bin/

View File

@ -0,0 +1,13 @@
FROM fpco/stack-build:lts-14
# Prime the snapshot so rebuilds are faster
RUN mkdir -p /artifacts
RUN stack update
RUN stack build --no-install-ghc --resolver lts-13.28 --only-dependencies stack amazonka-s3
RUN git clone --depth 1 https://github.com/commercialhaskell/stack && \
git clone --depth 1 https://github.com/commercialhaskell/curator
COPY stack.yaml .
RUN stack --no-install-ghc install --local-bin-path /artifacts

View File

@ -0,0 +1,5 @@
Scripts to create and upload the curator-exes.tar.bz2 files. Make sure to
update the hash in automated/build-next.sh.
NOTE: Depending on what's exactly on the master branches when running the
`./run.sh` script, the `stack.yaml` file may need some tweaks.

11
etc/curator-exes/run.sh Executable file
View File

@ -0,0 +1,11 @@
#!/usr/bin/env bash
set -eux
rm -rf bin
mkdir -p bin
docker build . --tag curator-exes
docker run --rm -v $(pwd)/bin:/output curator-exes cp /artifacts/* output
aws s3 cp curators-exes/* s3://download.fpcomplete.com/curator-exes/

View File

@ -0,0 +1,22 @@
resolver: lts-13.28
packages:
- stack
- curator
extra-deps:
- hi-file-parser-0.1.0.0@sha256:3fc95852035c8e0fa6d5f9d22e5108067c8f4816ac84675bddc971b20144a9ae,2317
- http-download-0.1.0.0@sha256:b02d76d28364b74fb90d3ec3c46fd81f9d77bcf71fa40c1d341a7251a0fc40e8,2023
- pantry-0.1.1.2@sha256:6f06556f8e934afd517559d6f3dae947db91ef3801ee4e5cee9916c83a0c4d52,4628
- rio-prettyprint-0.1.0.0@sha256:764e1a357275c3c62d57c494d038feae01cf745788e7d0e97367ba793c9670c3,1359
- ansi-terminal-0.9.1@sha256:48f53532d0f365ffa568c8cf0adc84c66f800a7d80d3329e4f04fa75392f4af1,3225
- rio-0.1.12.0@sha256:a0b42682a455ffde6a4d894b135117e379aea7ed1810c2cfed471b8f5879968c,3633
- unliftio-0.2.12@sha256:b089fbc2ff2628a963c2c4b12143f2020874e3e5144ffd6c62b25639a0ca1483,3325
- github: fpco/casa
commit: a0cd05c1a9ce33acbb1bdfb9324370f884916e88
# sha256: 812e05de8f9abdbd1101fc94895dcfd5c35962c4d67a43cc20cbc06eb59ea1f0
# size: 9508
subdirs:
- casa-client
- casa-types