diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 16f9685c..00dd351c 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -9,7 +9,6 @@ jobs: - uses: haskell/actions/setup@v1 with: ghc-version: '8.10' - cabal-version: '3.4' stack-version: '2.5' - uses: actions/cache@v2 with: diff --git a/README.md b/README.md index dfd4acf5..2a07a7b7 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ We welcome all packages, provided: Full details on how to add and test a package can be found in the [maintainers agreement](https://github.com/commercialhaskell/stackage/blob/master/MAINTAINERS.md#adding-a-package). __NOTE__: There is an approximate 30 minute delay between a package uploading -to Hackage and being available to the Travis build script to check upper +to Hackage and being available to the Github workflow action to check upper bounds. If a pull request is marked as failed due to using an older version, please close and reopen the PR to retrigger a Travis build. diff --git a/automated/dockerfiles/lts-17.0/Dockerfile b/automated/dockerfiles/lts-17.0/Dockerfile new file mode 100644 index 00000000..61c5d09d --- /dev/null +++ b/automated/dockerfiles/lts-17.0/Dockerfile @@ -0,0 +1,90 @@ +FROM ubuntu:18.04 + +LABEL maintainer="manny@fpcomplete.com" + +ARG GHC_VERSION=8.8.3 +ARG LTS_SLUG=lts-17.0 +ARG PID1_VERSION=0.1.2.0 +ARG STACK_VERSION=2.5.1 +ARG CUDA_VERSION=10.0 +ARG JVM_PATH=/usr/lib/jvm/java-8-openjdk-amd64 +ARG LLVM_PATH=/usr/lib/llvm-7 +ARG BOOTSTRAP_COMMIT=1afd08ff0a3c3627f17eb1b928d35f337db40e08 + +ARG DEBIAN_FRONTEND=noninteractive +ARG VARIANT=build +ARG STACK_ROOT=/home/stackage/.stack + +# +# Set encoding to UTF-8 and PATH to find GHC and cabal/stack-installed binaries. +# + +ENV LANG=C.UTF-8 \ + LC_ALL=C.UTF-8 \ + PATH=/root/.local/bin:/usr/local/cuda-$CUDA_VERSION/bin:$STACK_ROOT/programs/x86_64-linux/ghc-$GHC_VERSION/bin:$PATH \ + CUDA_PATH=/usr/local/cuda-$CUDA_VERSION \ + CPATH=$JVM_PATH/include:$JVM_PATH/include/linux:$LLVM_PATH/include + +# +# Install pre-requisites +# + +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + wget netbase ca-certificates g++ gcc libc6-dev libffi-dev libgmp-dev \ + make xz-utils zlib1g-dev git gnupg libtinfo-dev jq && \ + rm -rf /var/lib/apt/lists/* + +# +# Use Stackage's debian-bootstrap.sh script to install system libraries and +# tools required to build any Stackage package. +# Re-installs 'stack' *after* running debian-bootstrap.sh since that may have +# installed a different version. +# In the case of 'small' image, just install Stack and GHC. +# + +RUN if [ "$VARIANT" != "small" ]; then \ + wget -qO- https://raw.githubusercontent.com/fpco/stackage/$BOOTSTRAP_COMMIT/debian-bootstrap.sh | sed "s/^GHCVER=8.6.5$/GHCVER=$GHC_VERSION/" | GHCVER=$GHC_VERSION bash; \ + fi && \ + wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/bin '*/stack' && \ + if [ "$VARIANT" = "small" ]; then \ + stack setup --resolver ghc-$GHC_VERSION; \ + fi && \ + rm -rf /var/lib/apt/lists/* && \ + cd $STACK_ROOT && \ + find . -type f -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \ + find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true + +# +# Configure Stack to use the GHC installed in the Docker image rather than installing its own +# + +RUN mkdir /etc/stack/ && \ + echo "system-ghc: true" >/etc/stack/config.yaml + +# +# Use 'stack' to install basic Haskell tools like alex, happy, and cpphs. We +# remove most of the STACK_ROOT afterward to save space, but keep the 'share' +# files that some of these tools require. +# + +RUN stack --resolver=$LTS_SLUG --local-bin-path=/usr/bin install \ + happy alex cpphs gtk2hs-buildtools hscolour hlint hindent && \ + cd $STACK_ROOT && \ + find . -type f -not -path './snapshots/*/share/*' -and -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \ + find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true + +# +# Install 'pid1' init daemon +# + +RUN wget -O- "https://github.com/fpco/pid1/releases/download/v$PID1_VERSION/pid1-$PID1_VERSION-linux-x86_64.tar.gz" | tar xzf - -C /usr/local && \ + chown root:root /usr/local/sbin && \ + chown root:root /usr/local/sbin/pid1 + +# +# Set up pid1 entrypoint and default command +# + +ENTRYPOINT ["/usr/local/sbin/pid1"] +CMD ["bash"] diff --git a/automated/dockerfiles/lts-17.3/Dockerfile b/automated/dockerfiles/lts-17.3/Dockerfile new file mode 100644 index 00000000..0c177b89 --- /dev/null +++ b/automated/dockerfiles/lts-17.3/Dockerfile @@ -0,0 +1,90 @@ +FROM ubuntu:18.04 + +LABEL maintainer="manny@fpcomplete.com" + +ARG GHC_VERSION=8.8.4 +ARG LTS_SLUG=lts-17.3 +ARG PID1_VERSION=0.1.2.0 +ARG STACK_VERSION=2.5.1 +ARG CUDA_VERSION=10.0 +ARG JVM_PATH=/usr/lib/jvm/java-8-openjdk-amd64 +ARG LLVM_PATH=/usr/lib/llvm-7 +ARG BOOTSTRAP_COMMIT=1afd08ff0a3c3627f17eb1b928d35f337db40e08 + +ARG DEBIAN_FRONTEND=noninteractive +ARG VARIANT=build +ARG STACK_ROOT=/home/stackage/.stack + +# +# Set encoding to UTF-8 and PATH to find GHC and cabal/stack-installed binaries. +# + +ENV LANG=C.UTF-8 \ + LC_ALL=C.UTF-8 \ + PATH=/root/.local/bin:/usr/local/cuda-$CUDA_VERSION/bin:$STACK_ROOT/programs/x86_64-linux/ghc-$GHC_VERSION/bin:$PATH \ + CUDA_PATH=/usr/local/cuda-$CUDA_VERSION \ + CPATH=$JVM_PATH/include:$JVM_PATH/include/linux:$LLVM_PATH/include + +# +# Install pre-requisites +# + +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + wget netbase ca-certificates g++ gcc libc6-dev libffi-dev libgmp-dev \ + make xz-utils zlib1g-dev git gnupg libtinfo-dev jq && \ + rm -rf /var/lib/apt/lists/* + +# +# Use Stackage's debian-bootstrap.sh script to install system libraries and +# tools required to build any Stackage package. +# Re-installs 'stack' *after* running debian-bootstrap.sh since that may have +# installed a different version. +# In the case of 'small' image, just install Stack and GHC. +# + +RUN if [ "$VARIANT" != "small" ]; then \ + wget -qO- https://raw.githubusercontent.com/fpco/stackage/$BOOTSTRAP_COMMIT/debian-bootstrap.sh | sed "s/^GHCVER=8.6.5$/GHCVER=$GHC_VERSION/" | GHCVER=$GHC_VERSION bash; \ + fi && \ + wget -qO- https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C /usr/bin '*/stack' && \ + if [ "$VARIANT" = "small" ]; then \ + stack setup --resolver ghc-$GHC_VERSION; \ + fi && \ + rm -rf /var/lib/apt/lists/* && \ + cd $STACK_ROOT && \ + find . -type f -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \ + find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true + +# +# Configure Stack to use the GHC installed in the Docker image rather than installing its own +# + +RUN mkdir /etc/stack/ && \ + echo "system-ghc: true" >/etc/stack/config.yaml + +# +# Use 'stack' to install basic Haskell tools like alex, happy, and cpphs. We +# remove most of the STACK_ROOT afterward to save space, but keep the 'share' +# files that some of these tools require. +# + +RUN stack --resolver=$LTS_SLUG --local-bin-path=/usr/bin install \ + happy alex cpphs gtk2hs-buildtools hscolour hlint hindent && \ + cd $STACK_ROOT && \ + find . -type f -not -path './snapshots/*/share/*' -and -not -path "./programs/x86_64-linux/ghc-$GHC_VERSION/*" -exec rm '{}' \; && \ + find . -type d -print0 |sort -rz |xargs -0 rmdir 2>/dev/null || true + +# +# Install 'pid1' init daemon +# + +RUN wget -O- "https://github.com/fpco/pid1/releases/download/v$PID1_VERSION/pid1-$PID1_VERSION-linux-x86_64.tar.gz" | tar xzf - -C /usr/local && \ + chown root:root /usr/local/sbin && \ + chown root:root /usr/local/sbin/pid1 + +# +# Set up pid1 entrypoint and default command +# + +ENTRYPOINT ["/usr/local/sbin/pid1"] +CMD ["bash"] diff --git a/build-constraints.yaml b/build-constraints.yaml index d632144d..9ece19a5 100644 --- a/build-constraints.yaml +++ b/build-constraints.yaml @@ -3129,7 +3129,7 @@ packages: - sv < 0 # via base-4.13.0.0 - sv-cassava < 0 # via sv-core - sv-core < 0 # via base-4.13.0.0 - - tasty-hedgehog + - tasty-hedgehog < 1.1.0.0 # https://github.com/commercialhaskell/stackage/issues/5973 "Ismail Mustafa @ismailmustafa": - handwriting < 0 @@ -3765,30 +3765,6 @@ packages: - with-utf8 - uncaught-exception - "Kowainik @chshersh @vrom911": - - co-log-core - - co-log < 0 # ansi-terminal 0.11 - - co-log-polysemy < 0 - - colourista < 0 # ansi-terminal 0.11 - - first-class-patterns - - ilist - - life-sync < 0 # optparse-applicative 0.16.1 - - membrain - - relude < 1 # cabal version/parsing issue: https://github.com/commercialhaskell/stackage/issues/5921 - - shellmet - - shortcut-links - - summoner < 0 # neat-interpolation-0.4 - - summoner-tui < 0 # neat-interpolation-0.4 via summoner - - tomland - - typerep-map - - validation-selective - - "Dmitrii Kovanikov @chshersh": - - type-errors-pretty - - "Veronika Romashkina @vrom911": - - slist - "Holmusk @arbus": - elm-street < 0 # via base-4.13.0.0 & warp-3.3.2 @@ -4317,7 +4293,7 @@ packages: # - msgpack-rpc # https://github.com/commercialhaskell/stackage/pull/4471 # - msgpack-idl # https://github.com/commercialhaskell/stackage/pull/4471 - msgpack-aeson < 0 # via msgpack - - int-cast < 0 # ghc 8.10 + - int-cast "Akihito Kirisaki @kirisaki": - caster < 0 # via fast-builder @@ -4461,7 +4437,7 @@ packages: - slack-api "Dobromir Nikolov @dnikolovv": - - it-has + - it-has < 0 # generic-lens 2.1 "Gabriele Sales @gbrsales": - cabal-appimage @@ -4559,6 +4535,9 @@ packages: "Rory Tyler Hayford @ngua": - ipa + "Andreas Herrmann @aherrmann": + - capability + "Grandfathered dependencies": - Boolean - Decimal @@ -4633,6 +4612,8 @@ packages: - classy-prelude-conduit - clientsession - cmark-gfm + - co-log-core + - co-log-polysemy < 0 - colour - concurrent-extra - conduit @@ -4709,6 +4690,7 @@ packages: - filemanip - fin - fingertree + - first-class-patterns - fmlist - friendly-time - functor-classes-compat @@ -4762,6 +4744,7 @@ packages: - hxt-unicode - iconv - ieee754 + - ilist - indexed - infer-license - insert-ordered-containers @@ -4788,6 +4771,7 @@ packages: - lzma - managed - math-functions + - membrain - mersenne-random-pure64 - mfsolve - microstache @@ -4864,6 +4848,7 @@ packages: - regex-tdfa-text < 0 # via regex-base-0.94.0.0 - relapse - relational-schemas + - relude < 1 # cabal version/parsing issue: https://github.com/commercialhaskell/stackage/issues/5921 - rerebase - resolv - resource-pool @@ -4887,12 +4872,15 @@ packages: - setenv - shakespeare - shell-escape + - shellmet + - shortcut-links - silently - simple-reflect - simple-sendfile - singleton-bool - size-based < 0 # ghc 8.10 - skein + - slist - snap-core - some - special-values @@ -4952,14 +4940,17 @@ packages: - timeit - tls-session-manager - token-bucket < 0 # via base-4.13.0.0 + - tomland - tonatona < 0 # via tonaparser - transformers-base - tree-diff - trivial-constraint < 0 # ghc 8.10.1 #5447/closed - true-name < 0 # MonadFail - tuple-th + - type-errors-pretty - type-fun < 0 # ghc 8.10.1 #5448/closed - type-hint + - typerep-map - uglymemo - unbounded-delays - universe @@ -4975,6 +4966,7 @@ packages: - utf8-light - utf8-string - uuid-types + - validation-selective - vault - vec - vector @@ -6845,11 +6837,6 @@ packages: # https://github.com/commercialhaskell/stackage/issues/5836 - clock < 0.8.2 - # https://github.com/commercialhaskell/stackage/issues/5842 - - generic-lens < 2.1.0.0 - - generic-lens-core < 2.1.0.0 - - generic-optics < 2.1.0.0 - # https://github.com/commercialhaskell/stackage/issues/5864 - parser-combinators < 1.3.0 - parser-combinators-tests < 1.3.0 @@ -6932,10 +6919,14 @@ packages: - persistent-test < 2.12.0.0 - persistent-typed-db < 0.1.0.3 - # https://github.com/commercialhaskell/stackage/issues/5969 - crackNum < 3 + # https://github.com/commercialhaskell/stackage/issues/5975 + - singleton-bool < 0.1.6 + + # https://github.com/commercialhaskell/stackage/issues/5982 + - versions < 5.0 # end of packages # Package flags are applied to individual packages, and override the values of @@ -7440,6 +7431,7 @@ skipped-tests: - binary-parsers # https://github.com/winterland1989/binary-parsers/issues/3 - simple-affine-space # https://github.com/commercialhaskell/stackage/issues/5110 - hw-kafka-client # https://github.com/commercialhaskell/stackage/pull/5542 + - hpc-codecov # timeouts? https://github.com/commercialhaskell/stackage/issues/5976 # Missing foreign library - symengine # symengine @@ -7728,6 +7720,7 @@ expected-test-failures: - character-cases # https://github.com/aiya000/hs-character-cases/issues/3 - lz4-frame-conduit # https://github.com/nh2/lz4-frame-conduit/issues/3 - dhall-yaml # https://github.com/commercialhaskell/stackage/issues/5640 + - dl-fedora # https://github.com/commercialhaskell/stackage/issues/5977 # Assertion failures due to module name ambiguity # (These _should_ be fixed by using the `hide` section of this file) @@ -7773,7 +7766,6 @@ expected-test-failures: - base16 # https://github.com/commercialhaskell/stackage/issues/5948 - prometheus-client # https://github.com/commercialhaskell/stackage/issues/5948 - # Recursive deps https://github.com/fpco/stackage/issues/1818 - options - text # 1.2.2.1 @@ -7890,6 +7882,8 @@ expected-test-failures: - mmark - mmark-ext + # https://github.com/kcsongor/generic-lens/issues/133 + - generic-optics # end of expected-test-failures # Benchmarks which are known not to build. Note that, currently we do not run