CI: Test GHC 9.4.8, 9.6.2, 9.8.2

This commit is contained in:
Ryan Scott 2024-05-20 10:04:46 -04:00
parent 87c889afc6
commit 8847b3d5bb
8 changed files with 266 additions and 247 deletions

View File

@ -65,28 +65,28 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-22.04]
ghc-version: ["9.2.8", "9.4.7", "9.6.2"]
cabal: [ '3.10.1.0' ]
ghc-version: ["9.4.8", "9.6.5", "9.8.2"]
cabal: [ '3.10.3.0' ]
run-tests: [true]
include:
# We include one job from an older Ubuntu LTS release to increase our
# coverage of possible Linux configurations. Since we already run the
# tests with the newest LTS release, we won't bother testing this one.
- os: ubuntu-20.04
ghc-version: 9.2.8
ghc-version: 9.4.8
run-tests: false
# Windows and macOS CI runners are more expensive than Linux runners,
# so we only build one particular GHC version to test them on. We
# include both an x86-64 macOS runner (macos-12) as well as an AArch64
# macOS runner (macos-14).
- os: windows-2019
ghc-version: 9.2.8
ghc-version: 9.4.8
run-tests: true
- os: macos-12
ghc-version: 9.2.8
ghc-version: 9.4.8
run-tests: true
- os: macos-14
ghc-version: 9.2.8
ghc-version: 9.4.8
run-tests: true
outputs:
test-lib-json: ${{ steps.test-lib.outputs.targets-json }}
@ -227,13 +227,13 @@ jobs:
if-no-files-found: error
retention-days: ${{ needs.config.outputs.retention-days }}
- if: matrix.ghc-version == '9.2.8' && matrix.run-tests
- if: matrix.ghc-version == '9.4.8' && matrix.run-tests
uses: actions/upload-artifact@v2
with:
path: dist/bin
name: ${{ matrix.os }}-dist-bin
- if: matrix.ghc-version == '9.2.8' && matrix.run-tests
- if: matrix.ghc-version == '9.4.8' && matrix.run-tests
uses: actions/upload-artifact@v2
with:
path: bin
@ -287,7 +287,7 @@ jobs:
- uses: haskell/actions/setup@v2
with:
ghc-version: '9.2.8'
ghc-version: '9.4.8'
# Homebrew installs packages in different directories depending on which
# macOS architecture you are using:

4
.gitpod.Dockerfile vendored
View File

@ -19,10 +19,10 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -yq \
RUN curl https://i.jpillora.com/chisel! | bash
# Install GHC
ARG GHCVER="9.2.8"
ARG GHCVER="9.4.8"
ENV GHCUP_INSTALL_BASE_PREFIX=/opt \
PATH=/opt/.ghcup/bin:$PATH
RUN curl -o /usr/local/bin/ghcup "https://downloads.haskell.org/~ghcup/0.1.19.4/x86_64-linux-ghcup-0.1.19.4" && \
RUN curl -o /usr/local/bin/ghcup "https://downloads.haskell.org/~ghcup/0.1.22.0/x86_64-linux-ghcup-0.1.22.0" && \
chmod +x /usr/local/bin/ghcup
RUN ghcup install cabal --set
ENV PATH=/root/.cabal/bin:$PATH

View File

@ -1,7 +1,7 @@
FROM ubuntu:22.04 AS build
ARG GHCVER="9.2.8"
ARG CABALVER="3.10.1.0"
ARG GHCVER="9.4.8"
ARG CABALVER="3.10.3.0"
RUN apt-get update && \
apt-get install -y \
# ghcup requirements
@ -28,7 +28,7 @@ ENV LANG=C.UTF-8 \
LC_ALL=C.UTF-8
COPY cabal.GHC-${GHCVER}.config cabal.project.freeze
RUN mkdir -p /home/cryptol/.local/bin && \
curl -L https://downloads.haskell.org/~ghcup/0.1.19.4/x86_64-linux-ghcup-0.1.19.4 -o /home/cryptol/.local/bin/ghcup && \
curl -L https://downloads.haskell.org/~ghcup/0.1.22.0/x86_64-linux-ghcup-0.1.22.0 -o /home/cryptol/.local/bin/ghcup && \
chmod +x /home/cryptol/.local/bin/ghcup
RUN mkdir -p /home/cryptol/.ghcup && \
ghcup --version && \

View File

@ -82,8 +82,8 @@ Windows. We regularly build and test it in the following environments:
## Prerequisites
Cryptol is regularly built and tested with the three most recent
versions of GHC, which at the time of this writing are 9.2.8, 9.4.7, and
9.6.2. The easiest way to install an appropriate version of GHC is
versions of GHC, which at the time of this writing are 9.4.8, 9.6.2, and
9.8.2. The easiest way to install an appropriate version of GHC is
with [ghcup](https://www.haskell.org/ghcup/).
Some supporting non-Haskell libraries are required to build

View File

@ -8,18 +8,18 @@ constraints: any.BoundedChan ==1.0.3.0,
any.HUnit ==1.6.2.0,
any.MemoTrie ==0.6.11,
MemoTrie -examples,
any.OneTuple ==0.4.1.1,
any.OneTuple ==0.4.2,
any.Only ==0.1,
any.QuickCheck ==2.14.3,
QuickCheck -old-random +templatehaskell,
any.StateVar ==1.2.2,
any.adjunctions ==4.4.2,
any.aeson ==2.2.1.0,
any.aeson ==2.2.2.0,
aeson +ordered-keymap,
any.alex ==3.5.0.0,
any.ansi-terminal ==1.0.2,
any.alex ==3.5.1.0,
any.ansi-terminal ==1.1.1,
ansi-terminal -example,
any.ansi-terminal-types ==0.11.5,
any.ansi-terminal-types ==1.1,
any.ansi-wl-pprint ==1.0.2,
ansi-wl-pprint -example,
any.appar ==0.1.8,
@ -28,44 +28,47 @@ constraints: any.BoundedChan ==1.0.3.0,
any.asn1-encoding ==0.9.6,
any.asn1-parse ==0.9.5,
any.asn1-types ==0.3.4,
any.assoc ==1.1,
assoc +tagged,
any.assoc ==1.1.1,
assoc -tagged,
any.async ==2.2.5,
async -bench,
any.attoparsec ==0.14.4,
attoparsec -developer,
any.auto-update ==0.1.6,
any.base ==4.17.2.0,
any.auto-update ==0.2.0,
any.base ==4.17.2.1,
any.base-compat ==0.12.3,
any.base-compat-batteries ==0.12.3,
any.base-orphans ==0.9.1,
any.base-orphans ==0.9.2,
any.base16-bytestring ==1.0.2.0,
any.base64-bytestring ==1.2.1.0,
any.basement ==0.0.16,
any.bifunctors ==5.6.1,
any.bifunctors ==5.6.2,
bifunctors +tagged,
any.bimap ==0.5.0,
any.binary ==0.8.9.1,
any.binary-orphans ==1.0.4.1,
any.binary-orphans ==1.0.5,
any.bitvec ==1.1.5.0,
bitvec +simd,
any.bitwise ==1.0.0.1,
any.blaze-builder ==0.4.2.3,
any.blaze-html ==0.9.1.2,
any.blaze-html ==0.9.2.0,
any.blaze-markup ==0.8.3.0,
any.boring ==0.2.1,
any.boring ==0.2.2,
boring +tagged,
any.bsb-http-chunked ==0.0.0.4,
any.bv-sized ==1.0.5,
any.byteorder ==1.0.4,
any.bytestring ==0.11.5.2,
any.bytestring ==0.11.5.3,
any.cabal-doctest ==1.0.9,
any.call-stack ==0.4.0,
any.case-insensitive ==1.2.1.0,
any.cassava ==0.5.3.0,
cassava -bytestring--lt-0_10_4,
any.cassava ==0.5.3.1,
any.cborg ==0.2.10.0,
cborg +optimize-gmp,
any.cereal ==0.5.8.3,
cereal -bytestring-builder,
any.chimera ==0.4.0.0,
any.character-ps ==0.1,
any.chimera ==0.4.1.0,
chimera +representable,
any.clock ==0.8.4,
clock -llvm,
@ -75,30 +78,31 @@ constraints: any.BoundedChan ==1.0.3.0,
comonad +containers +distributive +indexed-traversable,
any.concurrent-extra ==0.7.0.12,
any.config-value ==0.8.3,
any.constraints ==0.14,
any.constraints ==0.14.2,
any.containers ==0.6.7,
any.contravariant ==1.5.5,
contravariant +semigroups +statevar +tagged,
any.cookie ==0.4.6,
any.cookie ==0.5.0,
any.criterion ==1.6.3.0,
criterion -embed-data-files -fast,
any.criterion-measurement ==0.2.1.0,
any.criterion-measurement ==0.2.2.0,
criterion-measurement -fast,
any.crypto-token ==0.1.1,
any.cryptohash-md5 ==0.11.101.0,
any.cryptohash-sha1 ==0.11.101.0,
cryptol +ffi +relocatable -static,
cryptol-remote-api -notthreaded -static,
cryptol-test-runner -static,
any.crypton ==0.34,
any.crypton ==1.0.0,
crypton -check_alignment +integer-gmp -old_toolchain_inliner +support_aesni +support_deepseq +support_pclmuldq +support_rdrand -support_sse +use_target_attributes,
any.crypton-x509 ==1.7.6,
any.crypton-x509-store ==1.6.9,
any.crypton-x509-validation ==1.6.12,
any.data-default-class ==0.1.2.0,
any.data-fix ==0.3.2,
any.data-fix ==0.3.3,
any.deepseq ==1.4.8.0,
any.dense-linear-algebra ==0.1.0.0,
any.deriving-compat ==0.6.5,
any.deriving-compat ==0.6.6,
deriving-compat +base-4-9 +new-functor-classes +template-haskell-2-11,
any.directory ==1.3.7.1,
any.distributive ==0.6.2.1,
@ -111,8 +115,8 @@ constraints: any.BoundedChan ==1.0.3.0,
any.exact-pi ==0.5.0.2,
any.exceptions ==0.10.5,
any.extensible-exceptions ==0.1.1.4,
any.extra ==1.7.14,
any.fast-logger ==3.2.2,
any.extra ==1.7.16,
any.fast-logger ==3.2.3,
any.file-embed ==0.0.16.0,
any.filelock ==0.1.1.7,
any.filepath ==1.4.2.2,
@ -122,11 +126,12 @@ constraints: any.BoundedChan ==1.0.3.0,
any.free ==5.2,
any.generically ==0.1.1,
any.ghc-bignum ==1.3,
any.ghc-boot-th ==9.4.7,
any.ghc-boot-th ==9.4.8,
any.ghc-prim ==0.9.1,
any.gitrev ==1.3.1,
any.half ==0.3.1,
any.happy ==1.20.1.1,
any.hashable ==1.4.3.0,
any.hashable ==1.4.4.0,
hashable +integer-gmp -random-initial-seed,
any.hashtables ==1.3.1,
hashtables -bounds-checking -debug -detailed-profiling -portable -sse42 +unsafe-tricks,
@ -138,24 +143,25 @@ constraints: any.BoundedChan ==1.0.3.0,
any.hsc2hs ==0.68.10,
hsc2hs -in-ghc-tree,
any.http-date ==0.0.11,
any.http-semantics ==0.0.0,
any.http-types ==0.12.4,
any.http2 ==5.0.1,
any.http2 ==5.2.1,
http2 -devel -h2spec,
any.ieee754 ==0.8.0,
any.indexed-traversable ==0.1.3,
any.indexed-traversable-instances ==0.1.1.2,
any.indexed-traversable ==0.1.4,
any.indexed-traversable-instances ==0.1.2,
any.infinite-list ==0.1.1,
any.integer-conversion ==0.1.0.1,
any.integer-conversion ==0.1.1,
any.integer-gmp ==1.1,
any.integer-logarithms ==1.0.3.1,
integer-logarithms -check-bounds +integer-gmp,
any.integer-roots ==1.0.2.0,
any.invariant ==0.6.2,
any.invariant ==0.6.3,
any.io-streams ==1.5.2.2,
io-streams +network -nointeractivetests +zlib,
any.iproute ==1.7.12,
any.js-chart ==2.9.4.1,
any.kan-extensions ==5.2.5,
any.kan-extensions ==5.2.6,
any.language-c99 ==0.2.0,
any.language-c99-simple ==0.3.0,
any.language-c99-util ==0.2.0,
@ -165,13 +171,13 @@ constraints: any.BoundedChan ==1.0.3.0,
libBF -system-libbf,
any.libffi ==0.2.1,
libffi +ghc-bundled-libffi,
any.math-functions ==0.3.4.3,
any.math-functions ==0.3.4.4,
math-functions +system-erf +system-expm1,
any.megaparsec ==9.6.1,
megaparsec -dev,
any.memory ==0.18.0,
memory +support_bytestring +support_deepseq,
any.microstache ==1.0.2.3,
any.microstache ==1.0.3,
any.mod ==0.2.0.1,
mod +semirings +vector,
any.monad-control ==1.0.3.1,
@ -181,7 +187,7 @@ constraints: any.BoundedChan ==1.0.3.0,
any.network ==3.1.4.0,
network -devel,
any.network-byte-order ==0.1.7,
any.network-control ==0.0.2,
any.network-control ==0.1.0,
any.network-info ==0.2.1,
any.network-uri ==2.6.4.2,
any.newtype-generics ==0.6.2,
@ -190,7 +196,8 @@ constraints: any.BoundedChan ==1.0.3.0,
any.old-time ==1.1.0.4,
any.optparse-applicative ==0.18.1.0,
optparse-applicative +process,
any.ordered-containers ==0.2.3,
any.ordered-containers ==0.2.4,
any.os-string ==2.0.2.2,
any.panic ==0.4.0.1,
any.parallel ==3.2.2.0,
any.parameterized-utils ==2.1.8.0,
@ -206,14 +213,14 @@ constraints: any.BoundedChan ==1.0.3.0,
any.prettyprinter-ansi-terminal ==1.1.3,
any.prettyprinter-compat-ansi-wl-pprint ==1.0.2,
any.primitive ==0.9.0.0,
any.process ==1.6.17.0,
any.process ==1.6.18.0,
any.profunctors ==5.6.2,
any.psqueues ==0.2.8.0,
any.quickcheck-instances ==0.3.30,
quickcheck-instances -bytestring-builder,
any.random ==1.2.1.2,
any.recv ==0.1.0,
any.reflection ==2.1.7,
any.reflection ==2.1.8,
reflection -slow +template-haskell,
any.regex-base ==0.94.0.2,
any.regex-compat ==0.95.2.1,
@ -225,18 +232,20 @@ constraints: any.BoundedChan ==1.0.3.0,
s-cargot -build-example,
any.safe ==0.3.21,
any.safe-exceptions ==0.1.7.4,
any.sbv ==10.2,
any.scientific ==0.3.7.0,
scientific -bytestring-builder -integer-simple,
any.scotty ==0.12.1,
any.semialign ==1.3,
any.sbv ==10.10,
any.scientific ==0.3.8.0,
scientific -integer-simple,
any.scotty ==0.21,
any.semialign ==1.3.1,
semialign +semigroupoids,
any.semigroupoids ==6.0.0.1,
any.semigroupoids ==6.0.1,
semigroupoids +comonad +containers +contravariant +distributive +tagged +unordered-containers,
any.semigroups ==0.20,
semigroups +binary +bytestring -bytestring-builder +containers +deepseq +hashable +tagged +template-haskell +text +transformers +unordered-containers,
any.semirings ==0.6,
semirings +containers +unordered-containers,
any.serialise ==0.2.6.1,
serialise +newtime15,
any.silently ==1.2.5.3,
any.simple-get-opt ==0.4,
any.simple-sendfile ==0.2.32,
@ -264,28 +273,26 @@ constraints: any.BoundedChan ==1.0.3.0,
test-framework-hunit -base3 +base4,
any.test-lib ==0.4,
any.text ==2.0.2,
any.text-iso8601 ==0.1,
any.text-short ==0.1.5,
any.text-iso8601 ==0.1.1,
any.text-short ==0.1.6,
text-short -asserts,
any.tf-random ==0.5,
any.th-abstraction ==0.6.0.0,
any.th-compat ==0.1.4,
any.th-compat ==0.1.5,
any.th-lift ==0.8.4,
any.th-lift-instances ==0.1.20,
any.these ==1.2,
any.these ==1.2.1,
any.time ==1.12.2,
any.time-compat ==1.9.6.1,
time-compat -old-locale,
any.time-manager ==0.0.1,
any.tls ==1.9.0,
tls +compat -hans +network,
any.tls-session-manager ==0.0.4,
any.time-compat ==1.9.7,
any.time-manager ==0.1.0,
any.tls ==2.0.5,
tls -devel,
any.tls-session-manager ==0.0.5,
any.transformers ==0.5.6.2,
any.transformers-base ==0.4.6,
transformers-base +orphaninstances,
any.transformers-compat ==0.7.2,
transformers-compat -five +five-three -four +generic-deriving +mtl -three -two,
any.type-equality ==1,
any.unbounded-delays ==0.1.1.1,
any.uniplate ==1.6.13,
any.unix ==2.7.3,
@ -308,23 +315,23 @@ constraints: any.BoundedChan ==1.0.3.0,
any.vector-binary-instances ==0.2.5.2,
any.vector-stream ==0.1.0.1,
any.vector-th-unbox ==0.2.2,
any.versions ==6.0.5,
any.versions ==6.0.6,
any.void ==0.7.3,
void -safe,
any.wai ==3.2.4,
any.wai-extra ==3.1.14,
any.wai-extra ==3.1.15,
wai-extra -build-example,
any.wai-logger ==2.4.0,
any.warp ==3.3.31,
any.warp ==3.4.1,
warp +allow-sendfilefd -network-bytestring -warp-debug +x509,
any.warp-tls ==3.4.4,
any.what4 ==1.5.1,
any.warp-tls ==3.4.5,
any.what4 ==1.6,
what4 -drealtestdisable -solvertests -stptestdisable,
any.witherable ==0.4.2,
any.witherable ==0.5,
any.word8 ==0.1.3,
any.xml ==1.3.14,
any.zenc ==0.1.2,
any.zlib ==0.6.3.0,
zlib -bundled-c-zlib -non-blocking-ffi -pkg-config,
any.zlib ==0.7.1.0,
zlib +non-blocking-ffi,
any.zlib-bindings ==0.1.1.5
index-state: hackage.haskell.org 2024-02-06T22:11:38Z
index-state: hackage.haskell.org 2024-05-20T12:40:45Z

View File

@ -1,71 +1,74 @@
active-repositories: hackage.haskell.org:merge
constraints: any.BoundedChan ==1.0.3.0,
any.Cabal ==3.10.1.0,
any.Cabal-syntax ==3.10.1.0,
any.Cabal ==3.10.3.0,
any.Cabal-syntax ==3.10.3.0,
any.Glob ==0.10.2,
any.GraphSCC ==1.0.4,
GraphSCC -use-maps,
any.HUnit ==1.6.2.0,
any.MemoTrie ==0.6.11,
MemoTrie -examples,
any.OneTuple ==0.4.1.1,
any.OneTuple ==0.4.2,
any.Only ==0.1,
any.QuickCheck ==2.14.3,
QuickCheck -old-random +templatehaskell,
any.StateVar ==1.2.2,
any.adjunctions ==4.4.2,
any.aeson ==2.2.1.0,
any.aeson ==2.2.2.0,
aeson +ordered-keymap,
any.alex ==3.5.0.0,
any.ansi-terminal ==1.0.2,
any.alex ==3.5.1.0,
any.ansi-terminal ==1.1.1,
ansi-terminal -example,
any.ansi-terminal-types ==0.11.5,
any.ansi-terminal-types ==1.1,
any.ansi-wl-pprint ==1.0.2,
ansi-wl-pprint -example,
any.appar ==0.1.8,
any.arithmoi ==0.13.0.0,
any.array ==0.5.5.0,
any.array ==0.5.6.0,
any.asn1-encoding ==0.9.6,
any.asn1-parse ==0.9.5,
any.asn1-types ==0.3.4,
any.assoc ==1.1,
assoc +tagged,
any.assoc ==1.1.1,
assoc -tagged,
any.async ==2.2.5,
async -bench,
any.attoparsec ==0.14.4,
attoparsec -developer,
any.auto-update ==0.1.6,
any.base ==4.18.0.0,
any.auto-update ==0.2.0,
any.base ==4.18.2.1,
any.base-compat ==0.12.3,
any.base-compat-batteries ==0.12.3,
any.base-orphans ==0.9.1,
any.base-orphans ==0.9.2,
any.base16-bytestring ==1.0.2.0,
any.base64-bytestring ==1.2.1.0,
any.basement ==0.0.16,
any.bifunctors ==5.6.1,
any.bifunctors ==5.6.2,
bifunctors +tagged,
any.bimap ==0.5.0,
any.binary ==0.8.9.1,
any.binary-orphans ==1.0.4.1,
any.binary-orphans ==1.0.5,
any.bitvec ==1.1.5.0,
bitvec +simd,
any.bitwise ==1.0.0.1,
any.blaze-builder ==0.4.2.3,
any.blaze-html ==0.9.1.2,
any.blaze-html ==0.9.2.0,
any.blaze-markup ==0.8.3.0,
any.boring ==0.2.1,
any.boring ==0.2.2,
boring +tagged,
any.bsb-http-chunked ==0.0.0.4,
any.bv-sized ==1.0.5,
any.byteorder ==1.0.4,
any.bytestring ==0.11.4.0,
any.bytestring ==0.11.5.3,
any.cabal-doctest ==1.0.9,
any.call-stack ==0.4.0,
any.case-insensitive ==1.2.1.0,
any.cassava ==0.5.3.0,
cassava -bytestring--lt-0_10_4,
any.cassava ==0.5.3.1,
any.cborg ==0.2.10.0,
cborg +optimize-gmp,
any.cereal ==0.5.8.3,
cereal -bytestring-builder,
any.chimera ==0.4.0.0,
any.character-ps ==0.1,
any.chimera ==0.4.1.0,
chimera +representable,
any.clock ==0.8.4,
clock -llvm,
@ -75,32 +78,33 @@ constraints: any.BoundedChan ==1.0.3.0,
comonad +containers +distributive +indexed-traversable,
any.concurrent-extra ==0.7.0.12,
any.config-value ==0.8.3,
any.constraints ==0.14,
any.constraints ==0.14.2,
any.containers ==0.6.7,
any.contravariant ==1.5.5,
contravariant +semigroups +statevar +tagged,
any.cookie ==0.4.6,
any.cookie ==0.5.0,
any.criterion ==1.6.3.0,
criterion -embed-data-files -fast,
any.criterion-measurement ==0.2.1.0,
any.criterion-measurement ==0.2.2.0,
criterion-measurement -fast,
any.crypto-token ==0.1.1,
any.cryptohash-md5 ==0.11.101.0,
any.cryptohash-sha1 ==0.11.101.0,
cryptol +ffi +relocatable -static,
cryptol-remote-api -notthreaded -static,
cryptol-test-runner -static,
any.crypton ==0.34,
any.crypton ==1.0.0,
crypton -check_alignment +integer-gmp -old_toolchain_inliner +support_aesni +support_deepseq +support_pclmuldq +support_rdrand -support_sse +use_target_attributes,
any.crypton-x509 ==1.7.6,
any.crypton-x509-store ==1.6.9,
any.crypton-x509-validation ==1.6.12,
any.data-default-class ==0.1.2.0,
any.data-fix ==0.3.2,
any.data-fix ==0.3.3,
any.deepseq ==1.4.8.1,
any.dense-linear-algebra ==0.1.0.0,
any.deriving-compat ==0.6.5,
any.deriving-compat ==0.6.6,
deriving-compat +base-4-9 +new-functor-classes +template-haskell-2-11,
any.directory ==1.3.8.1,
any.directory ==1.3.8.4,
any.distributive ==0.6.2.1,
distributive +semigroups +tagged,
any.dlist ==1.0,
@ -111,20 +115,21 @@ constraints: any.BoundedChan ==1.0.3.0,
any.exact-pi ==0.5.0.2,
any.exceptions ==0.10.7,
any.extensible-exceptions ==0.1.1.4,
any.extra ==1.7.14,
any.fast-logger ==3.2.2,
any.extra ==1.7.16,
any.fast-logger ==3.2.3,
any.file-embed ==0.0.16.0,
any.filelock ==0.1.1.7,
any.filepath ==1.4.100.1,
any.filepath ==1.4.300.1,
any.fingertree ==0.1.5.0,
any.free ==5.2,
any.generically ==0.1.1,
any.ghc-bignum ==1.3,
any.ghc-boot-th ==9.6.2,
any.ghc-boot-th ==9.6.5,
any.ghc-prim ==0.10.0,
any.gitrev ==1.3.1,
any.half ==0.3.1,
any.happy ==1.20.1.1,
any.hashable ==1.4.3.0,
any.hashable ==1.4.4.0,
hashable +integer-gmp -random-initial-seed,
any.hashtables ==1.3.1,
hashtables -bounds-checking -debug -detailed-profiling -portable -sse42 +unsafe-tricks,
@ -136,24 +141,25 @@ constraints: any.BoundedChan ==1.0.3.0,
any.hsc2hs ==0.68.10,
hsc2hs -in-ghc-tree,
any.http-date ==0.0.11,
any.http-semantics ==0.0.0,
any.http-types ==0.12.4,
any.http2 ==5.0.1,
any.http2 ==5.2.1,
http2 -devel -h2spec,
any.ieee754 ==0.8.0,
any.indexed-traversable ==0.1.3,
any.indexed-traversable-instances ==0.1.1.2,
any.indexed-traversable ==0.1.4,
any.indexed-traversable-instances ==0.1.2,
any.infinite-list ==0.1.1,
any.integer-conversion ==0.1.0.1,
any.integer-conversion ==0.1.1,
any.integer-gmp ==1.1,
any.integer-logarithms ==1.0.3.1,
integer-logarithms -check-bounds +integer-gmp,
any.integer-roots ==1.0.2.0,
any.invariant ==0.6.2,
any.invariant ==0.6.3,
any.io-streams ==1.5.2.2,
io-streams +network -nointeractivetests +zlib,
any.iproute ==1.7.12,
any.js-chart ==2.9.4.1,
any.kan-extensions ==5.2.5,
any.kan-extensions ==5.2.6,
any.language-c99 ==0.2.0,
any.language-c99-simple ==0.3.0,
any.language-c99-util ==0.2.0,
@ -163,13 +169,13 @@ constraints: any.BoundedChan ==1.0.3.0,
libBF -system-libbf,
any.libffi ==0.2.1,
libffi +ghc-bundled-libffi,
any.math-functions ==0.3.4.3,
any.math-functions ==0.3.4.4,
math-functions +system-erf +system-expm1,
any.megaparsec ==9.6.1,
megaparsec -dev,
any.memory ==0.18.0,
memory +support_bytestring +support_deepseq,
any.microstache ==1.0.2.3,
any.microstache ==1.0.3,
any.mod ==0.2.0.1,
mod +semirings +vector,
any.monad-control ==1.0.3.1,
@ -179,7 +185,7 @@ constraints: any.BoundedChan ==1.0.3.0,
any.network ==3.1.4.0,
network -devel,
any.network-byte-order ==0.1.7,
any.network-control ==0.0.2,
any.network-control ==0.1.0,
any.network-info ==0.2.1,
any.network-uri ==2.6.4.2,
any.newtype-generics ==0.6.2,
@ -188,7 +194,8 @@ constraints: any.BoundedChan ==1.0.3.0,
any.old-time ==1.1.0.4,
any.optparse-applicative ==0.18.1.0,
optparse-applicative +process,
any.ordered-containers ==0.2.3,
any.ordered-containers ==0.2.4,
any.os-string ==2.0.2.2,
any.panic ==0.4.0.1,
any.parallel ==3.2.2.0,
any.parameterized-utils ==2.1.8.0,
@ -204,14 +211,14 @@ constraints: any.BoundedChan ==1.0.3.0,
any.prettyprinter-ansi-terminal ==1.1.3,
any.prettyprinter-compat-ansi-wl-pprint ==1.0.2,
any.primitive ==0.9.0.0,
any.process ==1.6.17.0,
any.process ==1.6.19.0,
any.profunctors ==5.6.2,
any.psqueues ==0.2.8.0,
any.quickcheck-instances ==0.3.30,
quickcheck-instances -bytestring-builder,
any.random ==1.2.1.2,
any.recv ==0.1.0,
any.reflection ==2.1.7,
any.reflection ==2.1.8,
reflection -slow +template-haskell,
any.regex-base ==0.94.0.2,
any.regex-compat ==0.95.2.1,
@ -223,18 +230,20 @@ constraints: any.BoundedChan ==1.0.3.0,
s-cargot -build-example,
any.safe ==0.3.21,
any.safe-exceptions ==0.1.7.4,
any.sbv ==10.2,
any.scientific ==0.3.7.0,
scientific -bytestring-builder -integer-simple,
any.scotty ==0.12.1,
any.semialign ==1.3,
any.sbv ==10.10,
any.scientific ==0.3.8.0,
scientific -integer-simple,
any.scotty ==0.21,
any.semialign ==1.3.1,
semialign +semigroupoids,
any.semigroupoids ==6.0.0.1,
any.semigroupoids ==6.0.1,
semigroupoids +comonad +containers +contravariant +distributive +tagged +unordered-containers,
any.semigroups ==0.20,
semigroups +binary +bytestring -bytestring-builder +containers +deepseq +hashable +tagged +template-haskell +text +transformers +unordered-containers,
any.semirings ==0.6,
semirings +containers +unordered-containers,
any.serialise ==0.2.6.1,
serialise +newtime15,
any.silently ==1.2.5.3,
any.simple-get-opt ==0.4,
any.simple-sendfile ==0.2.32,
@ -262,31 +271,29 @@ constraints: any.BoundedChan ==1.0.3.0,
test-framework-hunit -base3 +base4,
any.test-lib ==0.4,
any.text ==2.0.2,
any.text-iso8601 ==0.1,
any.text-short ==0.1.5,
any.text-iso8601 ==0.1.1,
any.text-short ==0.1.6,
text-short -asserts,
any.tf-random ==0.5,
any.th-abstraction ==0.6.0.0,
any.th-compat ==0.1.4,
any.th-compat ==0.1.5,
any.th-lift ==0.8.4,
any.th-lift-instances ==0.1.20,
any.these ==1.2,
any.these ==1.2.1,
any.time ==1.12.2,
any.time-compat ==1.9.6.1,
time-compat -old-locale,
any.time-manager ==0.0.1,
any.tls ==1.9.0,
tls +compat -hans +network,
any.tls-session-manager ==0.0.4,
any.time-compat ==1.9.7,
any.time-manager ==0.1.0,
any.tls ==2.0.5,
tls -devel,
any.tls-session-manager ==0.0.5,
any.transformers ==0.6.1.0,
any.transformers-base ==0.4.6,
transformers-base +orphaninstances,
any.transformers-compat ==0.7.2,
transformers-compat -five +five-three -four +generic-deriving +mtl -three -two,
any.type-equality ==1,
any.unbounded-delays ==0.1.1.1,
any.uniplate ==1.6.13,
any.unix ==2.8.1.0,
any.unix ==2.8.4.0,
any.unix-compat ==0.7.1,
unix-compat -old-time,
any.unix-time ==0.4.12,
@ -306,23 +313,23 @@ constraints: any.BoundedChan ==1.0.3.0,
any.vector-binary-instances ==0.2.5.2,
any.vector-stream ==0.1.0.1,
any.vector-th-unbox ==0.2.2,
any.versions ==6.0.5,
any.versions ==6.0.6,
any.void ==0.7.3,
void -safe,
any.wai ==3.2.4,
any.wai-extra ==3.1.14,
any.wai-extra ==3.1.15,
wai-extra -build-example,
any.wai-logger ==2.4.0,
any.warp ==3.3.31,
any.warp ==3.4.1,
warp +allow-sendfilefd -network-bytestring -warp-debug +x509,
any.warp-tls ==3.4.4,
any.what4 ==1.5.1,
any.warp-tls ==3.4.5,
any.what4 ==1.6,
what4 -drealtestdisable -solvertests -stptestdisable,
any.witherable ==0.4.2,
any.witherable ==0.5,
any.word8 ==0.1.3,
any.xml ==1.3.14,
any.zenc ==0.1.2,
any.zlib ==0.6.3.0,
zlib -bundled-c-zlib -non-blocking-ffi -pkg-config,
any.zlib ==0.7.1.0,
zlib +non-blocking-ffi,
any.zlib-bindings ==0.1.1.5
index-state: hackage.haskell.org 2024-02-06T22:11:38Z
index-state: hackage.haskell.org 2024-05-20T12:40:45Z

View File

@ -1,70 +1,74 @@
active-repositories: hackage.haskell.org:merge
constraints: any.BoundedChan ==1.0.3.0,
any.Cabal ==3.6.3.0,
any.Cabal ==3.10.2.0,
any.Cabal-syntax ==3.10.2.0,
any.Glob ==0.10.2,
any.GraphSCC ==1.0.4,
GraphSCC -use-maps,
any.HUnit ==1.6.2.0,
any.MemoTrie ==0.6.11,
MemoTrie -examples,
any.OneTuple ==0.4.1.1,
any.OneTuple ==0.4.2,
any.Only ==0.1,
any.QuickCheck ==2.14.3,
QuickCheck -old-random +templatehaskell,
any.StateVar ==1.2.2,
any.adjunctions ==4.4.2,
any.aeson ==2.2.1.0,
any.aeson ==2.2.2.0,
aeson +ordered-keymap,
any.alex ==3.5.0.0,
any.ansi-terminal ==1.0.2,
any.alex ==3.5.1.0,
any.ansi-terminal ==1.1.1,
ansi-terminal -example,
any.ansi-terminal-types ==0.11.5,
any.ansi-terminal-types ==1.1,
any.ansi-wl-pprint ==1.0.2,
ansi-wl-pprint -example,
any.appar ==0.1.8,
any.arithmoi ==0.13.0.0,
any.array ==0.5.4.0,
any.array ==0.5.6.0,
any.asn1-encoding ==0.9.6,
any.asn1-parse ==0.9.5,
any.asn1-types ==0.3.4,
any.assoc ==1.1,
assoc +tagged,
any.assoc ==1.1.1,
assoc -tagged,
any.async ==2.2.5,
async -bench,
any.attoparsec ==0.14.4,
attoparsec -developer,
any.auto-update ==0.1.6,
any.base ==4.16.4.0,
any.auto-update ==0.2.0,
any.base ==4.19.1.0,
any.base-compat ==0.12.3,
any.base-compat-batteries ==0.12.3,
any.base-orphans ==0.9.1,
any.base-orphans ==0.9.2,
any.base16-bytestring ==1.0.2.0,
any.base64-bytestring ==1.2.1.0,
any.basement ==0.0.16,
any.bifunctors ==5.6.1,
any.bifunctors ==5.6.2,
bifunctors +tagged,
any.bimap ==0.5.0,
any.binary ==0.8.9.0,
any.binary-orphans ==1.0.4.1,
any.binary ==0.8.9.1,
any.binary-orphans ==1.0.5,
any.bitvec ==1.1.5.0,
bitvec +simd,
any.bitwise ==1.0.0.1,
any.blaze-builder ==0.4.2.3,
any.blaze-html ==0.9.1.2,
any.blaze-html ==0.9.2.0,
any.blaze-markup ==0.8.3.0,
any.boring ==0.2.1,
any.boring ==0.2.2,
boring +tagged,
any.bsb-http-chunked ==0.0.0.4,
any.bv-sized ==1.0.5,
any.byteorder ==1.0.4,
any.bytestring ==0.11.4.0,
any.bytestring ==0.12.1.0,
any.cabal-doctest ==1.0.9,
any.call-stack ==0.4.0,
any.case-insensitive ==1.2.1.0,
any.cassava ==0.5.3.0,
cassava -bytestring--lt-0_10_4,
any.cassava ==0.5.3.1,
any.cborg ==0.2.10.0,
cborg +optimize-gmp,
any.cereal ==0.5.8.3,
cereal -bytestring-builder,
any.chimera ==0.4.0.0,
any.character-ps ==0.1,
any.chimera ==0.4.1.0,
chimera +representable,
any.clock ==0.8.4,
clock -llvm,
@ -74,33 +78,33 @@ constraints: any.BoundedChan ==1.0.3.0,
comonad +containers +distributive +indexed-traversable,
any.concurrent-extra ==0.7.0.12,
any.config-value ==0.8.3,
any.constraints ==0.14,
any.containers ==0.6.5.1,
any.constraints ==0.14.2,
any.containers ==0.6.8,
any.contravariant ==1.5.5,
contravariant +semigroups +statevar +tagged,
any.cookie ==0.4.6,
any.cookie ==0.5.0,
any.criterion ==1.6.3.0,
criterion -embed-data-files -fast,
any.criterion-measurement ==0.2.1.0,
any.criterion-measurement ==0.2.2.0,
criterion-measurement -fast,
any.crypto-token ==0.1.1,
any.cryptohash-md5 ==0.11.101.0,
any.cryptohash-sha1 ==0.11.101.0,
cryptol +ffi +relocatable -static,
cryptol-remote-api -notthreaded -static,
cryptol-test-runner -static,
any.crypton ==0.34,
any.crypton ==1.0.0,
crypton -check_alignment +integer-gmp -old_toolchain_inliner +support_aesni +support_deepseq +support_pclmuldq +support_rdrand -support_sse +use_target_attributes,
any.crypton-x509 ==1.7.6,
any.crypton-x509-store ==1.6.9,
any.crypton-x509-validation ==1.6.12,
any.data-array-byte ==0.1.0.1,
any.data-default-class ==0.1.2.0,
any.data-fix ==0.3.2,
any.deepseq ==1.4.6.1,
any.data-fix ==0.3.3,
any.deepseq ==1.5.0.0,
any.dense-linear-algebra ==0.1.0.0,
any.deriving-compat ==0.6.5,
any.deriving-compat ==0.6.6,
deriving-compat +base-4-9 +new-functor-classes +template-haskell-2-11,
any.directory ==1.3.6.2,
any.directory ==1.3.8.1,
any.distributive ==0.6.2.1,
distributive +semigroups +tagged,
any.dlist ==1.0,
@ -109,28 +113,27 @@ constraints: any.BoundedChan ==1.0.3.0,
any.entropy ==0.4.1.10,
entropy -donotgetentropy,
any.exact-pi ==0.5.0.2,
any.exceptions ==0.10.4,
any.exceptions ==0.10.7,
any.extensible-exceptions ==0.1.1.4,
any.extra ==1.7.14,
any.fast-logger ==3.2.2,
any.extra ==1.7.16,
any.fast-logger ==3.2.3,
any.file-embed ==0.0.16.0,
any.filelock ==0.1.1.7,
any.filepath ==1.4.2.2,
any.filepath ==1.4.200.1,
any.fingertree ==0.1.5.0,
any.foldable1-classes-compat ==0.1,
foldable1-classes-compat +tagged,
any.free ==5.2,
any.generically ==0.1.1,
any.ghc-bignum ==1.2,
any.ghc-boot-th ==9.2.8,
any.ghc-prim ==0.8.0,
any.ghc-bignum ==1.3,
any.ghc-boot-th ==9.8.2,
any.ghc-prim ==0.11.0,
any.gitrev ==1.3.1,
any.half ==0.3.1,
any.happy ==1.20.1.1,
any.hashable ==1.4.3.0,
any.hashable ==1.4.4.0,
hashable +integer-gmp -random-initial-seed,
any.hashtables ==1.3.1,
hashtables -bounds-checking -debug -detailed-profiling -portable -sse42 +unsafe-tricks,
any.haskeline ==0.8.2,
any.haskeline ==0.8.2.1,
any.haskell-lexer ==1.1.1,
any.hgmp ==0.1.2.1,
any.hostname ==1.0,
@ -138,24 +141,25 @@ constraints: any.BoundedChan ==1.0.3.0,
any.hsc2hs ==0.68.10,
hsc2hs -in-ghc-tree,
any.http-date ==0.0.11,
any.http-semantics ==0.0.0,
any.http-types ==0.12.4,
any.http2 ==5.0.1,
any.http2 ==5.2.1,
http2 -devel -h2spec,
any.ieee754 ==0.8.0,
any.indexed-traversable ==0.1.3,
any.indexed-traversable-instances ==0.1.1.2,
any.indexed-traversable ==0.1.4,
any.indexed-traversable-instances ==0.1.2,
any.infinite-list ==0.1.1,
any.integer-conversion ==0.1.0.1,
any.integer-conversion ==0.1.1,
any.integer-gmp ==1.1,
any.integer-logarithms ==1.0.3.1,
integer-logarithms -check-bounds +integer-gmp,
any.integer-roots ==1.0.2.0,
any.invariant ==0.6.2,
any.invariant ==0.6.3,
any.io-streams ==1.5.2.2,
io-streams +network -nointeractivetests +zlib,
any.iproute ==1.7.12,
any.js-chart ==2.9.4.1,
any.kan-extensions ==5.2.5,
any.kan-extensions ==5.2.6,
any.language-c99 ==0.2.0,
any.language-c99-simple ==0.3.0,
any.language-c99-util ==0.2.0,
@ -165,23 +169,23 @@ constraints: any.BoundedChan ==1.0.3.0,
libBF -system-libbf,
any.libffi ==0.2.1,
libffi +ghc-bundled-libffi,
any.math-functions ==0.3.4.3,
any.math-functions ==0.3.4.4,
math-functions +system-erf +system-expm1,
any.megaparsec ==9.6.1,
megaparsec -dev,
any.memory ==0.18.0,
memory +support_bytestring +support_deepseq,
any.microstache ==1.0.2.3,
any.microstache ==1.0.3,
any.mod ==0.2.0.1,
mod +semirings +vector,
any.monad-control ==1.0.3.1,
any.monadLib ==3.10.1,
any.mtl ==2.2.2,
any.mtl ==2.3.1,
any.mwc-random ==0.15.0.2,
any.network ==3.1.4.0,
network -devel,
any.network-byte-order ==0.1.7,
any.network-control ==0.0.2,
any.network-control ==0.1.0,
any.network-info ==0.2.1,
any.network-uri ==2.6.4.2,
any.newtype-generics ==0.6.2,
@ -190,12 +194,13 @@ constraints: any.BoundedChan ==1.0.3.0,
any.old-time ==1.1.0.4,
any.optparse-applicative ==0.18.1.0,
optparse-applicative +process,
any.ordered-containers ==0.2.3,
any.ordered-containers ==0.2.4,
any.os-string ==2.0.2.2,
any.panic ==0.4.0.1,
any.parallel ==3.2.2.0,
any.parameterized-utils ==2.1.8.0,
parameterized-utils +unsafe-operations,
any.parsec ==3.1.15.0,
any.parsec ==3.1.17.0,
any.parser-combinators ==1.3.0,
parser-combinators -dev,
any.pem ==0.2.4,
@ -206,14 +211,14 @@ constraints: any.BoundedChan ==1.0.3.0,
any.prettyprinter-ansi-terminal ==1.1.3,
any.prettyprinter-compat-ansi-wl-pprint ==1.0.2,
any.primitive ==0.9.0.0,
any.process ==1.6.16.0,
any.process ==1.6.18.0,
any.profunctors ==5.6.2,
any.psqueues ==0.2.8.0,
any.quickcheck-instances ==0.3.30,
quickcheck-instances -bytestring-builder,
any.random ==1.2.1.2,
any.recv ==0.1.0,
any.reflection ==2.1.7,
any.reflection ==2.1.8,
reflection -slow +template-haskell,
any.regex-base ==0.94.0.2,
any.regex-compat ==0.95.2.1,
@ -225,18 +230,20 @@ constraints: any.BoundedChan ==1.0.3.0,
s-cargot -build-example,
any.safe ==0.3.21,
any.safe-exceptions ==0.1.7.4,
any.sbv ==10.2,
any.scientific ==0.3.7.0,
scientific -bytestring-builder -integer-simple,
any.scotty ==0.12.1,
any.semialign ==1.3,
any.sbv ==10.10,
any.scientific ==0.3.8.0,
scientific -integer-simple,
any.scotty ==0.21,
any.semialign ==1.3.1,
semialign +semigroupoids,
any.semigroupoids ==6.0.0.1,
any.semigroupoids ==6.0.1,
semigroupoids +comonad +containers +contravariant +distributive +tagged +unordered-containers,
any.semigroups ==0.20,
semigroups +binary +bytestring -bytestring-builder +containers +deepseq +hashable +tagged +template-haskell +text +transformers +unordered-containers,
any.semirings ==0.6,
semirings +containers +unordered-containers,
any.serialise ==0.2.6.1,
serialise +newtime15,
any.silently ==1.2.5.3,
any.simple-get-opt ==0.4,
any.simple-sendfile ==0.2.32,
@ -245,7 +252,7 @@ constraints: any.BoundedChan ==1.0.3.0,
any.splitmix ==0.1.0.5,
splitmix -optimised-mixer,
any.statistics ==0.16.2.1,
any.stm ==2.5.0.2,
any.stm ==2.5.2.1,
any.streaming-commons ==0.2.2.6,
streaming-commons -use-bytestring-builder,
any.strict ==0.5,
@ -256,39 +263,37 @@ constraints: any.BoundedChan ==1.0.3.0,
tasty +unix,
any.tasty-hunit ==0.10.1,
any.tasty-quickcheck ==0.10.3,
any.template-haskell ==2.18.0.0,
any.template-haskell ==2.21.0.0,
any.temporary ==1.3,
any.terminfo ==0.4.1.5,
any.terminfo ==0.4.1.6,
any.test-framework ==0.8.2.0,
any.test-framework-hunit ==0.3.0.2,
test-framework-hunit -base3 +base4,
any.test-lib ==0.4,
any.text ==1.2.5.0,
any.text-iso8601 ==0.1,
any.text-short ==0.1.5,
any.text ==2.1.1,
any.text-iso8601 ==0.1.1,
any.text-short ==0.1.6,
text-short -asserts,
any.tf-random ==0.5,
any.th-abstraction ==0.6.0.0,
any.th-compat ==0.1.4,
any.th-compat ==0.1.5,
any.th-lift ==0.8.4,
any.th-lift-instances ==0.1.20,
any.these ==1.2,
any.time ==1.11.1.1,
any.time-compat ==1.9.6.1,
time-compat -old-locale,
any.time-manager ==0.0.1,
any.tls ==1.9.0,
tls +compat -hans +network,
any.tls-session-manager ==0.0.4,
any.transformers ==0.5.6.2,
any.these ==1.2.1,
any.time ==1.12.2,
any.time-compat ==1.9.7,
any.time-manager ==0.1.0,
any.tls ==2.0.5,
tls -devel,
any.tls-session-manager ==0.0.5,
any.transformers ==0.6.1.0,
any.transformers-base ==0.4.6,
transformers-base +orphaninstances,
any.transformers-compat ==0.7.2,
transformers-compat -five +five-three -four +generic-deriving +mtl -three -two,
any.type-equality ==1,
any.unbounded-delays ==0.1.1.1,
any.uniplate ==1.6.13,
any.unix ==2.7.2.2,
any.unix ==2.8.4.0,
any.unix-compat ==0.7.1,
unix-compat -old-time,
any.unix-time ==0.4.12,
@ -308,23 +313,23 @@ constraints: any.BoundedChan ==1.0.3.0,
any.vector-binary-instances ==0.2.5.2,
any.vector-stream ==0.1.0.1,
any.vector-th-unbox ==0.2.2,
any.versions ==6.0.5,
any.versions ==6.0.6,
any.void ==0.7.3,
void -safe,
any.wai ==3.2.4,
any.wai-extra ==3.1.14,
any.wai-extra ==3.1.15,
wai-extra -build-example,
any.wai-logger ==2.4.0,
any.warp ==3.3.31,
any.warp ==3.4.1,
warp +allow-sendfilefd -network-bytestring -warp-debug +x509,
any.warp-tls ==3.4.4,
any.what4 ==1.5.1,
any.warp-tls ==3.4.5,
any.what4 ==1.6,
what4 -drealtestdisable -solvertests -stptestdisable,
any.witherable ==0.4.2,
any.witherable ==0.5,
any.word8 ==0.1.3,
any.xml ==1.3.14,
any.zenc ==0.1.2,
any.zlib ==0.6.3.0,
zlib -bundled-c-zlib -non-blocking-ffi -pkg-config,
any.zlib ==0.7.1.0,
zlib +non-blocking-ffi,
any.zlib-bindings ==0.1.1.5
index-state: hackage.haskell.org 2024-02-06T22:11:38Z
index-state: hackage.haskell.org 2024-05-20T12:40:45Z

View File

@ -1,9 +1,9 @@
ARG GHCVER="9.2.8"
ARG CABALVER="3.10.1.0"
ARG GHCVER="9.4.8"
ARG CABALVER="3.10.3.0"
# This is the version of GHC that we use as part of the process of building a
# separate copy of GHC from source. The version of GHC that we build from source
# is determined by the value of GHCVER.
ARG GHCVER_BOOTSTRAP="8.10.2"
ARG GHCVER_BOOTSTRAP="9.0.2"
# We pin specific versions of alex and happy that are necessary to build
# GHC. In general, we don't want to build the latest versions of each
# tool, as GHC may not support them (see, for example,
@ -27,7 +27,7 @@ ENV LANG=C.UTF-8 \
LC_ALL=C.UTF-8
ENV GHCUP_INSTALL_BASE_PREFIX=/opt \
PATH=/opt/.ghcup/bin:/root/.local/bin:$PATH
RUN curl -o /usr/local/bin/ghcup "https://downloads.haskell.org/~ghcup/0.1.19.4/x86_64-linux-ghcup-0.1.19.4" && \
RUN curl -o /usr/local/bin/ghcup "https://downloads.haskell.org/~ghcup/0.1.22.0/x86_64-linux-ghcup-0.1.22.0" && \
chmod +x /usr/local/bin/ghcup
RUN ghcup install cabal ${CABALVER} --set
ENV PATH=/root/.cabal/bin:$PATH