diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6760403c4e..5df39cbecb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,5 +1,5 @@ # Overall configuration notes: -# - Artifact uploads for binaries are from GHC 9.6.7 +# - Artifact uploads for binaries are from GHC 9.10.3 # - Builds for Ubuntu happen on 24.04. We also include a single configuration # for 22.04 to increase our Linux coverage. # - Docker builds happen nightly, on manual invocation, and on release branch commits @@ -86,7 +86,8 @@ jobs: matrix: os: [ubuntu-24.04] cabal: ["3.14.1.0"] - ghc: ["9.4.8", "9.6.7", "9.8.4"] + #ghc: ["9.4.8", "9.6.7", "9.8.4"] + ghc: ["9.10.3", "9.12.2"] haddock: [true] run-tests: [true] hpc: [false] @@ -94,15 +95,15 @@ jobs: # 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-22.04 - ghc: "9.6.7" - cabal: "3.14.1.0" - haddock: false - run-tests: false - hpc: false + #- os: ubuntu-22.04 + # ghc: "9.6.7" + # cabal: "3.14.1.0" + # haddock: false + # run-tests: false + # hpc: false # Include one job with HPC enabled - os: ubuntu-24.04 - ghc: "9.6.7" + ghc: "9.10.3" cabal: "3.14.1.0" haddock: false run-tests: true @@ -111,21 +112,21 @@ jobs: # so we only build one particular GHC version to test them on. We # include both an x86-64 macOS runner (macos-15-intel) as well as an # AArch64 (arm64) macOS runner (macos-15). - - os: windows-2022 - ghc: 9.6.7 - haddock: false - run-tests: true - hpc: false - - os: macos-15-intel - ghc: 9.6.7 - haddock: false - run-tests: true - hpc: false - - os: macos-15 - ghc: 9.6.7 - haddock: false - run-tests: true - hpc: false + #- os: windows-2022 + # ghc: 9.6.7 + # haddock: false + # run-tests: true + # hpc: false + #- os: macos-15-intel + # ghc: 9.6.7 + # haddock: false + # run-tests: true + # hpc: false + #- os: macos-15 + # ghc: 9.6.7 + # haddock: false + # run-tests: true + # hpc: false outputs: cabal-test-suites-json: ${{ steps.cabal-test-suites.outputs.targets-json }} steps: @@ -206,13 +207,13 @@ jobs: # the binaries were compiled using HPC or not. This is done to ensure that # the HPC-enabled binaries do not clobber the non-HPC-enabled binaries. - uses: actions/upload-artifact@v5 - if: matrix.ghc == '9.6.7' && matrix.hpc == false + if: matrix.ghc == '9.10.3' && matrix.hpc == false with: path: dist-tests name: dist-tests-${{ matrix.os }} - uses: actions/upload-artifact@v5 - if: matrix.ghc == '9.6.7' && matrix.hpc == true + if: matrix.ghc == '9.10.3' && matrix.hpc == true with: path: dist-tests name: dist-tests-${{ matrix.os }}-hpc @@ -242,7 +243,7 @@ jobs: # apparently impossible to restrict scheduled runs to the # original repository; they will also always run in forks. # See https://github.com/orgs/community/discussions/16109. - - if: matrix.ghc == '9.6.7' && + - if: matrix.ghc == '9.10.3' && github.event.pull_request.head.repo.fork == false && github.repository_owner == 'GaloisInc' && github.actor != 'dependabot[bot]' @@ -252,7 +253,7 @@ jobs: SIGNING_KEY: ${{ secrets.SIGNING_KEY }} run: .github/ci.sh sign $NAME.tar.gz - - if: matrix.ghc == '9.6.7' && + - if: matrix.ghc == '9.10.3' && github.event.pull_request.head.repo.fork == false && github.repository_owner == 'GaloisInc' && github.actor != 'dependabot[bot]' @@ -275,7 +276,7 @@ jobs: ########################################################################## # We upload an archive containing SAW, and also and archive containing SAW # and the set of possible SMT solvers, but only for our "primary" - # distribution (currently: GHC 9.6.7). These archives are utilized in + # distribution (currently: GHC 9.10.3). These archives are utilized in # subsequent CI jobs, but are also published for external users, and are # therefore signed. # @@ -290,7 +291,7 @@ jobs: # In the next 3 steps we check that `matrix.hpc == false` so that if the # distribution version matches the HPC version, the HPC build artifacts do # not clobber the non-HPC distribution artifacts. - - if: matrix.ghc == '9.6.7' && matrix.hpc == false + - if: matrix.ghc == '9.10.3' && matrix.hpc == false uses: actions/upload-artifact@v5 with: name: ${{ steps.config.outputs.name }} (GHC ${{ matrix.ghc }}) @@ -298,7 +299,7 @@ jobs: if-no-files-found: error retention-days: ${{ needs.config.outputs.retention-days }} - - if: matrix.ghc == '9.6.7' && matrix.hpc == false + - if: matrix.ghc == '9.10.3' && matrix.hpc == false uses: actions/upload-artifact@v5 with: name: ${{ steps.config.outputs.name }}-with-solvers @@ -306,7 +307,7 @@ jobs: if-no-files-found: error retention-days: ${{ needs.config.outputs.retention-days }} - - if: matrix.ghc == '9.6.7' && matrix.hpc == false + - if: matrix.ghc == '9.10.3' && matrix.hpc == false uses: actions/upload-artifact@v5 with: name: ${{ steps.config.outputs.crux-name }} (GHC ${{ matrix.ghc }}) @@ -314,7 +315,7 @@ jobs: if-no-files-found: error retention-days: ${{ needs.config.outputs.retention-days }} - - if: matrix.ghc == '9.6.7' && matrix.run-tests && matrix.hpc == false + - if: matrix.ghc == '9.10.3' && matrix.run-tests && matrix.hpc == false uses: actions/upload-artifact@v5 with: path: dist/bin @@ -809,7 +810,7 @@ jobs: - uses: haskell-actions/setup@v2 id: setup-haskell with: - ghc-version: "9.6.7" + ghc-version: "9.10.3" - name: Install system dependencies shell: bash @@ -1034,7 +1035,7 @@ jobs: # - awslc - blst os: [ubuntu-24.04] - ghc: ["9.6.7"] + ghc: ["9.10.3"] steps: - uses: actions/checkout@v4 - run: | @@ -1088,7 +1089,7 @@ jobs: strategy: matrix: os: [ubuntu-24.04] - ghc: ["9.6.7"] + ghc: ["9.10.3"] steps: - uses: actions/checkout@v4 - run: | diff --git a/cabal.GHC-9.10.3.config b/cabal.GHC-9.10.3.config new file mode 100644 index 0000000000..0421b1ef72 --- /dev/null +++ b/cabal.GHC-9.10.3.config @@ -0,0 +1,461 @@ +active-repositories: hackage.haskell.org:merge +constraints: any.BoundedChan ==1.0.3.0, + any.Cabal ==3.12.1.0, + any.Cabal-syntax ==3.12.1.0, + any.Glob ==0.10.2, + any.GraphSCC ==1.0.4, + GraphSCC -use-maps, + any.HUnit ==1.6.2.0, + any.IfElse ==0.85, + any.IntervalMap ==0.6.2.1, + any.MemoTrie ==0.6.11, + MemoTrie -examples, + any.MonadRandom ==0.6.2.1, + any.OneTuple ==0.4.2.1, + any.Only ==0.1, + any.QuickCheck ==2.16.0.0, + QuickCheck -old-random +templatehaskell, + any.StateVar ==1.2.2, + any.adjunctions ==4.4.4, + any.aeson ==2.2.4.1, + aeson +ordered-keymap, + any.aeson-pretty ==0.8.10, + aeson-pretty -lib-only, + any.alex ==3.5.4.2, + any.ansi-terminal ==1.1.5, + ansi-terminal -example, + any.ansi-terminal-types ==1.1.3, + any.ansi-wl-pprint ==1.0.2, + ansi-wl-pprint -example, + any.appar ==0.1.8, + any.arithmoi ==0.13.3.0, + any.array ==0.5.8.0, + any.assoc ==1.1.1, + assoc -tagged, + any.async ==2.2.6, + async -bench -debug-auto-label, + any.attoparsec ==0.14.4, + attoparsec -developer, + any.attoparsec-aeson ==2.2.2.0, + any.auto-update ==0.2.6, + any.barbies ==2.1.1.0, + any.base ==4.20.2.0, + any.base-compat ==0.12.3, + any.base-compat-batteries ==0.12.3, + any.base-orphans ==0.9.4, + any.base16 ==1.0, + any.base16-bytestring ==1.0.2.0, + any.base64 ==1.0, + any.base64-bytestring ==1.2.1.0, + any.basement ==0.0.16, + any.bifunctors ==5.6.3, + bifunctors +tagged, + any.bimap ==0.5.0, + any.binary ==0.8.9.3, + any.binary-orphans ==1.0.5.1, + any.bitvec ==1.1.6.0, + bitvec +simd, + any.bitwise ==1.0.0.1, + any.blaze-builder ==0.4.4.1, + any.blaze-html ==0.9.2.0, + any.blaze-markup ==0.8.3.0, + any.boomerang ==1.4.9.4, + any.boring ==0.2.2, + boring +tagged, + any.bsb-http-chunked ==0.0.0.4, + any.bv-sized ==1.0.7, + any.byteorder ==1.0.4, + any.bytestring ==0.12.2.0, + any.bytestring-builder ==0.10.8.2.0, + bytestring-builder +bytestring_has_builder, + any.call-stack ==0.4.0, + any.case-insensitive ==1.2.1.0, + any.cassava ==0.5.4.1, + any.cborg ==0.2.10.0, + cborg +optimize-gmp, + any.cborg-json ==0.2.6.0, + any.cereal ==0.5.8.3, + cereal -bytestring-builder, + any.character-ps ==0.1, + any.charset ==0.3.12, + any.chimera ==0.4.1.0, + chimera +representable, + any.clock ==0.8.4, + clock -llvm, + any.cmdargs ==0.10.22, + cmdargs +quotation -testprog, + any.code-page ==0.2.1, + any.colour ==2.3.7, + any.comonad ==5.0.10, + comonad +containers +distributive +indexed-traversable, + any.concurrent-extra ==0.7.0.12, + any.concurrent-output ==1.10.21, + any.conduit ==1.3.6.1, + any.conduit-extra ==1.3.8, + any.config-schema ==1.3.0.0, + any.config-value ==0.8.3, + any.constraints ==0.14.4, + any.containers ==0.7, + any.contravariant ==1.5.6, + contravariant +statevar, + any.cookie ==0.5.1, + any.criterion ==1.6.5.0, + criterion -embed-data-files -fast, + any.criterion-measurement ==0.2.4.0, + criterion-measurement -fast, + crucible +unsafe-operations, + any.crypto-token ==0.2.0, + any.cryptohash-md5 ==0.11.101.0, + any.cryptohash-sha1 ==0.11.101.0, + any.cryptohash-sha256 ==0.11.102.1, + cryptohash-sha256 -exe +use-cbits, + cryptol +ffi +relocatable -static, + cryptol-remote-api -static, + any.crypton ==1.1.2, + crypton -check_alignment +integer-gmp -old_toolchain_inliner +support_aesni +support_deepseq +support_pclmuldq +support_rdrand -support_sse +use_target_attributes, + any.crypton-asn1-encoding ==0.10.0, + any.crypton-asn1-parse ==0.10.0, + any.crypton-asn1-types ==0.4.1, + any.crypton-pem ==0.3.0, + any.crypton-x509 ==1.9.0, + any.crypton-x509-store ==1.9.0, + any.crypton-x509-validation ==1.9.0, + any.cryptonite ==0.30, + cryptonite -check_alignment +integer-gmp -old_toolchain_inliner +support_aesni +support_deepseq -support_pclmuldq +support_rdrand -support_sse +use_target_attributes, + any.cryptonite-conduit ==0.2.2, + any.data-accessor ==0.2.3.1, + data-accessor +category +monadfail +splitbase, + any.data-default ==0.8.0.2, + any.data-default-class ==0.2.0.0, + any.data-fix ==0.3.4, + any.data-inttrie ==0.1.4, + any.data-ref ==0.1, + any.deepseq ==1.5.0.0, + any.dense-linear-algebra ==0.1.0.0, + any.deriving-compat ==0.6.8, + any.directory ==1.3.8.5, + any.distributive ==0.6.3, + distributive +tagged, + any.dlist ==1.0, + dlist -werror, + any.doctest ==0.25.0, + doctest -cabal-doctest, + any.dotgen ==0.4.3, + dotgen -devel, + any.easy-file ==0.2.5, + any.ech-config ==0.0.1, + ech-config -devel, + any.entropy ==0.4.1.11, + entropy -donotgetentropy, + any.erf ==2.0.0.0, + any.exact-pi ==0.5.0.2, + any.exceptions ==0.10.9, + any.executable-path ==0.0.3.1, + any.extra ==1.8.1, + any.fast-logger ==3.2.6, + any.fgl ==5.8.3.0, + fgl +containers042, + any.fgl-visualize ==0.1.0.1, + any.file-embed ==0.0.16.0, + any.filelock ==0.1.1.9, + any.filemanip ==0.3.6.3, + any.filepath ==1.5.4.0, + any.fingertree ==0.1.6.3, + any.free ==5.2, + any.generic-deriving ==1.14.7, + any.generic-random ==1.5.0.1, + generic-random -enable-inspect, + any.ghc ==9.10.3, + any.ghc-bignum ==1.3, + any.ghc-boot ==9.10.3, + any.ghc-boot-th ==9.10.3, + any.ghc-heap ==9.10.3, + any.ghc-paths ==0.1.0.12, + any.ghc-prim ==0.12.0, + any.ghci ==9.10.3, + any.githash ==0.1.7.0, + any.gitrev ==1.3.1, + any.graphviz ==2999.20.2.1, + graphviz -test-parsing, + any.half ==0.3.3, + any.happy ==2.2, + any.happy-lib ==2.2, + any.hashable ==1.5.1.0, + hashable -arch-native +integer-gmp -random-initial-seed, + any.hashtables ==1.4.2, + hashtables -bounds-checking -debug -detailed-profiling -portable -sse42 +unsafe-tricks, + any.haskeline ==0.8.2.1, + any.haskell-lexer ==1.2.1, + any.haskell-src-exts ==1.23.1, + any.haskell-src-meta ==0.8.15, + any.hedgehog ==1.5, + any.hedgehog-classes ==0.2.5.4, + hedgehog-classes +aeson +comonad +primitive +semirings +vector, + any.heredoc ==0.2.0.0, + any.hgmp ==0.1.2.1, + any.hostname ==1.0, + any.hpc ==0.7.0.2, + any.hpke ==0.1.0, + any.hsc2hs ==0.68.10, + hsc2hs -in-ghc-tree, + any.hslua ==2.3.1, + any.hslua-aeson ==2.3.2, + any.hslua-classes ==2.3.2, + any.hslua-core ==2.3.2.1, + any.hslua-marshalling ==2.3.2, + any.hslua-objectorientation ==2.3.1, + any.hslua-packaging ==2.3.1, + any.hslua-typing ==0.1.1, + any.hspec ==2.11.17, + any.hspec-api ==2.11.17, + any.hspec-core ==2.11.17, + any.hspec-discover ==2.11.17, + any.hspec-expectations ==0.8.4, + any.http-date ==0.0.11, + any.http-semantics ==0.4.0, + any.http-types ==0.12.4, + any.http2 ==5.4.0, + http2 -devel -h2spec, + any.ieee754 ==0.8.0, + any.indexed-traversable ==0.1.4, + any.indexed-traversable-instances ==0.1.2.1, + any.infinite-list ==0.1.3, + any.integer-conversion ==0.1.1, + any.integer-gmp ==1.1, + any.integer-logarithms ==1.0.5, + integer-logarithms -check-bounds +integer-gmp, + any.integer-roots ==1.0.4.0, + any.interpolate ==0.2.1, + any.invariant ==0.6.5, + any.io-streams ==1.5.2.2, + io-streams +network -nointeractivetests +zlib, + any.iproute ==1.7.15, + any.isocline ==1.1.0, + any.itanium-abi ==0.1.3, + any.js-chart ==2.9.4.1, + any.json ==0.11, + json +generic -mapdict +parsec +pretty +split-base, + any.kan-extensions ==5.2.8, + any.kvitable ==1.1.1.1, + any.language-c99 ==0.2.0, + any.language-c99-simple ==0.3.0, + any.language-c99-util ==0.2.0, + language-rust +enablequasiquotes +usebytestrings, + any.lens ==5.3.5, + lens -benchmark-uniplate -dump-splices +inlining -j +test-hunit +test-properties +test-templates +trustworthy, + any.libBF ==0.6.8, + libBF -system-libbf, + any.libffi ==0.2.1, + libffi +ghc-bundled-libffi, + any.libyaml ==0.1.4, + libyaml -no-unicode -system-libyaml, + any.libyaml-clib ==0.2.5, + any.lifted-async ==0.10.2.7, + any.lifted-base ==0.2.3.12, + llvm-pretty-bc-parser -fuzz -old-optparse -regressions, + lmdb -pkg-config, + any.logict ==0.8.2.0, + any.lua ==2.3.4, + lua +allow-unsafe-gc -apicheck -cross-compile +export-dynamic -lua_32bits -pkg-config -system-lua, + any.lucid ==2.11.20250303, + any.lumberjack ==1.0.3.0, + 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.microlens ==0.5.0.0, + any.microlens-ghc ==0.4.15.2, + any.microlens-mtl ==0.2.1.1, + any.microlens-platform ==0.4.4.2, + any.microlens-th ==0.4.3.18, + any.microstache ==1.0.3.1, + any.mlkem ==0.2.0.0, + mlkem +use_crypton, + any.mmorph ==1.2.2, + any.mod ==0.2.1.0, + mod +semirings +vector, + any.monad-control ==1.0.3.1, + any.monadLib ==3.10.3, + any.mono-traversable ==1.0.21.0, + any.mtl ==2.3.1, + any.mwc-random ==0.15.3.0, + mwc-random -benchpapi, + any.named-text ==1.2.3.0, + named-text +with-json, + any.network ==3.2.8.0, + network -devel, + any.network-byte-order ==0.1.8, + any.network-control ==0.1.7, + any.network-info ==0.2.1, + any.network-uri ==2.6.4.2, + any.newtype-generics ==0.6.2, + any.numtype-dk ==0.5.0.3, + any.old-locale ==1.0.0.7, + any.old-time ==1.1.1.0, + any.optparse-applicative ==0.18.1.0, + optparse-applicative +process, + any.ordered-containers ==0.2.4, + any.os-string ==2.0.7, + any.oughta ==0.3.0.0, + any.panic ==0.4.0.1, + any.parallel ==3.2.2.0, + parameterized-utils +unsafe-operations, + any.parsec ==3.1.18.0, + any.parser-combinators ==1.3.1, + parser-combinators -dev, + any.parsers ==0.12.12, + parsers +attoparsec +binary +parsec, + any.polyparse ==1.13.1, + any.pretty ==1.1.3.6, + any.pretty-hex ==1.1, + any.pretty-show ==1.10, + any.prettyprinter ==1.7.2, + prettyprinter -buildreadme +text, + any.prettyprinter-ansi-terminal ==1.1.4, + prettyprinter-ansi-terminal +text, + any.prettyprinter-compat-ansi-wl-pprint ==1.0.2, + any.primitive ==0.9.1.0, + any.process ==1.6.26.1, + any.profunctors ==5.6.3, + any.psqueues ==0.2.8.3, + any.quickcheck-instances ==0.3.33, + any.quickcheck-io ==0.2.0, + any.ram ==0.22.0, + any.random ==1.3.1, + any.raw-strings-qq ==1.1, + any.recv ==0.1.1, + any.reflection ==2.1.9, + reflection -slow +template-haskell, + any.regex-base ==0.94.0.3, + any.regex-compat ==0.95.2.2, + any.resourcet ==1.3.0, + any.ring-buffer ==0.4.1, + any.rts ==1.0.2, + any.s-cargot ==0.1.6.0, + s-cargot -build-example, + any.safe ==0.3.21, + any.safe-exceptions ==0.1.7.4, + any.sayable ==1.2.6.0, + any.sbv ==10.10, + any.scientific ==0.3.8.1, + scientific -integer-simple, + any.scotty ==0.22, + any.semaphore-compat ==1.0.0, + any.semialign ==1.3.1.1, + semialign +semigroupoids, + any.semigroupoids ==6.0.2, + semigroupoids +comonad +containers +contravariant +tagged +unordered-containers, + any.semigroups ==0.20.1, + semigroups +binary +bytestring -bytestring-builder +containers +deepseq +hashable +tagged +template-haskell +text +transformers +unordered-containers, + any.semirings ==0.7, + semirings +containers +unordered-containers, + any.serialise ==0.2.6.1, + serialise +newtime15, + any.silently ==1.2.5.4, + any.simple-get-opt ==0.4, + any.simple-sendfile ==0.2.32, + simple-sendfile +allow-bsd -fallback, + any.simple-smt ==0.9.8, + any.smallcheck ==1.2.1.1, + any.split ==0.2.5, + any.splitmix ==0.1.3.2, + splitmix -optimised-mixer, + any.statistics ==0.16.5.0, + statistics -benchpapi, + any.stm ==2.5.3.1, + any.streaming-commons ==0.2.3.1, + streaming-commons -use-bytestring-builder, + any.strict ==0.5.1, + any.string-interpolate ==0.3.4.0, + string-interpolate -bytestring-builder -extended-benchmarks -text-builder, + any.syb ==0.7.4, + any.tagged ==0.8.10, + tagged +deepseq +template-haskell, + any.tasty ==1.5.4, + any.tasty-ant-xml ==1.1.9, + any.tasty-checklist ==1.0.9.0, + any.tasty-expected-failure ==0.12.3, + any.tasty-golden ==2.3.6, + tasty-golden -build-example, + any.tasty-hedgehog ==1.4.0.2, + any.tasty-hspec ==1.2.0.4, + any.tasty-hunit ==0.10.2, + any.tasty-quickcheck ==0.11.1, + any.tasty-smallcheck ==0.8.2, + any.tasty-sugar ==2.2.3.3, + any.template-haskell ==2.22.0.0, + any.temporary ==1.3, + any.terminal-size ==0.3.4, + any.terminfo ==0.4.1.7, + any.test-framework ==0.8.2.3, + any.test-framework-hunit ==0.3.0.3, + any.text ==2.1.3, + any.text-conversions ==0.3.1.1, + any.text-iso8601 ==0.1.1.1, + any.text-short ==0.1.6.1, + text-short -asserts, + any.tf-random ==0.5, + any.th-abstraction ==0.6.0.0, + any.th-compat ==0.1.7, + any.th-expand-syns ==0.4.12.0, + any.th-lift ==0.8.7, + any.th-lift-instances ==0.1.20, + any.th-orphans ==0.13.17, + any.th-reify-many ==0.1.10, + any.these ==1.2.1, + any.time ==1.12.2, + any.time-compat ==1.9.9, + any.time-hourglass ==0.3.0, + any.time-manager ==0.3.2, + any.tls ==2.4.1, + tls -devel, + any.tls-session-manager ==0.1.0, + any.toml-parser ==2.0.2.0, + any.transformers ==0.6.1.1, + any.transformers-base ==0.4.6.1, + transformers-base +orphaninstances, + any.transformers-compat ==0.7.2, + transformers-compat -five +five-three -four +generic-deriving +mtl -three -two, + any.tree-diff ==0.3.4, + any.typed-process ==0.2.13.0, + any.unbounded-delays ==0.1.1.1, + any.uniplate ==1.6.13, + any.unliftio ==0.2.25.1, + any.unliftio-core ==0.2.1.0, + any.unordered-containers ==0.2.21, + unordered-containers -debug, + any.utf8-string ==1.0.2, + any.uuid ==1.3.16.1, + any.uuid-types ==1.0.6.1, + any.vault ==0.3.1.6, + vault +useghc, + any.vector ==0.13.2.0, + vector +boundschecks -internalchecks -unsafechecks -wall, + any.vector-algorithms ==0.9.1.0, + vector-algorithms +bench +boundschecks -internalchecks -llvm -unsafechecks, + 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.8, + any.wai ==3.2.4, + any.wai-extra ==3.1.18, + wai-extra -build-example, + any.wai-logger ==2.5.0, + any.warp ==3.4.13, + warp +allow-sendfilefd +include-warp-version -network-bytestring -warp-debug +x509, + any.warp-tls ==3.4.14, + any.weigh ==0.0.18, + what4 -drealtestdisable -solvertests -stptestdisable, + any.witherable ==0.5, + any.wl-pprint-annotated ==0.1.0.1, + any.wl-pprint-text ==1.2.0.2, + any.word8 ==0.1.3, + any.xml ==1.3.14, + any.yaml ==0.11.11.2, + yaml +no-examples +no-exe, + any.zenc ==0.1.2, + any.zlib ==0.7.1.1, + any.zlib-bindings ==0.1.1.5 +index-state: hackage.haskell.org 2026-05-05T14:12:12Z diff --git a/cabal.GHC-9.12.2.config b/cabal.GHC-9.12.2.config new file mode 100644 index 0000000000..1b0e79b48d --- /dev/null +++ b/cabal.GHC-9.12.2.config @@ -0,0 +1,461 @@ +active-repositories: hackage.haskell.org:merge +constraints: any.BoundedChan ==1.0.3.0, + any.Cabal ==3.14.1.0, + any.Cabal-syntax ==3.14.1.0, + any.Glob ==0.10.2, + any.GraphSCC ==1.0.4, + GraphSCC -use-maps, + any.HUnit ==1.6.2.0, + any.IfElse ==0.85, + any.IntervalMap ==0.6.2.1, + any.MemoTrie ==0.6.11, + MemoTrie -examples, + any.MonadRandom ==0.6.2.1, + any.OneTuple ==0.4.2.1, + any.Only ==0.1, + any.QuickCheck ==2.16.0.0, + QuickCheck -old-random +templatehaskell, + any.StateVar ==1.2.2, + any.adjunctions ==4.4.4, + any.aeson ==2.2.4.1, + aeson +ordered-keymap, + any.aeson-pretty ==0.8.10, + aeson-pretty -lib-only, + any.alex ==3.5.4.2, + any.ansi-terminal ==1.1.5, + ansi-terminal -example, + any.ansi-terminal-types ==1.1.3, + any.ansi-wl-pprint ==1.0.2, + ansi-wl-pprint -example, + any.appar ==0.1.8, + any.arithmoi ==0.13.3.0, + any.array ==0.5.8.0, + any.assoc ==1.1.1, + assoc -tagged, + any.async ==2.2.6, + async -bench -debug-auto-label, + any.attoparsec ==0.14.4, + attoparsec -developer, + any.attoparsec-aeson ==2.2.2.0, + any.auto-update ==0.2.6, + any.barbies ==2.1.1.0, + any.base ==4.21.0.0, + any.base-compat ==0.12.3, + any.base-compat-batteries ==0.12.3, + any.base-orphans ==0.9.4, + any.base16 ==1.0, + any.base16-bytestring ==1.0.2.0, + any.base64 ==1.0, + any.base64-bytestring ==1.2.1.0, + any.basement ==0.0.16, + any.bifunctors ==5.6.3, + bifunctors +tagged, + any.bimap ==0.5.0, + any.binary ==0.8.9.3, + any.binary-orphans ==1.0.5.1, + any.bitvec ==1.1.6.0, + bitvec +simd, + any.bitwise ==1.0.0.1, + any.blaze-builder ==0.4.4.1, + any.blaze-html ==0.9.2.0, + any.blaze-markup ==0.8.3.0, + any.boomerang ==1.4.9.4, + any.boring ==0.2.2, + boring +tagged, + any.bsb-http-chunked ==0.0.0.4, + any.bv-sized ==1.0.7, + any.byteorder ==1.0.4, + any.bytestring ==0.12.2.0, + any.bytestring-builder ==0.10.8.2.0, + bytestring-builder +bytestring_has_builder, + any.call-stack ==0.4.0, + any.case-insensitive ==1.2.1.0, + any.cassava ==0.5.4.1, + any.cborg ==0.2.10.0, + cborg +optimize-gmp, + any.cborg-json ==0.2.6.0, + any.cereal ==0.5.8.3, + cereal -bytestring-builder, + any.character-ps ==0.1, + any.charset ==0.3.12, + any.chimera ==0.4.1.0, + chimera +representable, + any.clock ==0.8.4, + clock -llvm, + any.cmdargs ==0.10.22, + cmdargs +quotation -testprog, + any.code-page ==0.2.1, + any.colour ==2.3.7, + any.comonad ==5.0.10, + comonad +containers +distributive +indexed-traversable, + any.concurrent-extra ==0.7.0.12, + any.concurrent-output ==1.10.21, + any.conduit ==1.3.6.1, + any.conduit-extra ==1.3.8, + any.config-schema ==1.3.0.0, + any.config-value ==0.8.3, + any.constraints ==0.14.4, + any.containers ==0.7, + any.contravariant ==1.5.6, + contravariant +statevar, + any.cookie ==0.5.1, + any.criterion ==1.6.5.0, + criterion -embed-data-files -fast, + any.criterion-measurement ==0.2.4.0, + criterion-measurement -fast, + crucible +unsafe-operations, + any.crypto-token ==0.2.0, + any.cryptohash-md5 ==0.11.101.0, + any.cryptohash-sha1 ==0.11.101.0, + any.cryptohash-sha256 ==0.11.102.1, + cryptohash-sha256 -exe +use-cbits, + cryptol +ffi +relocatable -static, + cryptol-remote-api -static, + any.crypton ==1.1.2, + crypton -check_alignment +integer-gmp -old_toolchain_inliner +support_aesni +support_deepseq +support_pclmuldq +support_rdrand -support_sse +use_target_attributes, + any.crypton-asn1-encoding ==0.10.0, + any.crypton-asn1-parse ==0.10.0, + any.crypton-asn1-types ==0.4.1, + any.crypton-pem ==0.3.0, + any.crypton-x509 ==1.9.0, + any.crypton-x509-store ==1.9.0, + any.crypton-x509-validation ==1.9.0, + any.cryptonite ==0.30, + cryptonite -check_alignment +integer-gmp -old_toolchain_inliner +support_aesni +support_deepseq -support_pclmuldq +support_rdrand -support_sse +use_target_attributes, + any.cryptonite-conduit ==0.2.2, + any.data-accessor ==0.2.3.1, + data-accessor +category +monadfail +splitbase, + any.data-default ==0.8.0.2, + any.data-default-class ==0.2.0.0, + any.data-fix ==0.3.4, + any.data-inttrie ==0.1.4, + any.data-ref ==0.1, + any.deepseq ==1.5.1.0, + any.dense-linear-algebra ==0.1.0.0, + any.deriving-compat ==0.6.8, + any.directory ==1.3.9.0, + any.distributive ==0.6.3, + distributive +tagged, + any.dlist ==1.0, + dlist -werror, + any.doctest ==0.25.0, + doctest -cabal-doctest, + any.dotgen ==0.4.3, + dotgen -devel, + any.easy-file ==0.2.5, + any.ech-config ==0.0.1, + ech-config -devel, + any.entropy ==0.4.1.11, + entropy -donotgetentropy, + any.erf ==2.0.0.0, + any.exact-pi ==0.5.0.2, + any.exceptions ==0.10.9, + any.executable-path ==0.0.3.1, + any.extra ==1.8.1, + any.fast-logger ==3.2.6, + any.fgl ==5.8.3.0, + fgl +containers042, + any.fgl-visualize ==0.1.0.1, + any.file-embed ==0.0.16.0, + any.filelock ==0.1.1.9, + any.filemanip ==0.3.6.3, + any.filepath ==1.5.4.0, + any.fingertree ==0.1.6.3, + any.free ==5.2, + any.generic-deriving ==1.14.7, + any.generic-random ==1.5.0.1, + generic-random -enable-inspect, + any.ghc ==9.12.2, + any.ghc-bignum ==1.3, + any.ghc-boot ==9.12.2, + any.ghc-boot-th ==9.12.2, + any.ghc-heap ==9.12.2, + any.ghc-paths ==0.1.0.12, + any.ghc-prim ==0.13.0, + any.ghci ==9.12.2, + any.githash ==0.1.7.0, + any.gitrev ==1.3.1, + any.graphviz ==2999.20.2.1, + graphviz -test-parsing, + any.half ==0.3.3, + any.happy ==2.2, + any.happy-lib ==2.2, + any.hashable ==1.5.1.0, + hashable -arch-native +integer-gmp -random-initial-seed, + any.hashtables ==1.4.2, + hashtables -bounds-checking -debug -detailed-profiling -portable -sse42 +unsafe-tricks, + any.haskeline ==0.8.2.1, + any.haskell-lexer ==1.2.1, + any.haskell-src-exts ==1.23.1, + any.haskell-src-meta ==0.8.15, + any.hedgehog ==1.5, + any.hedgehog-classes ==0.2.5.4, + hedgehog-classes +aeson +comonad +primitive +semirings +vector, + any.heredoc ==0.2.0.0, + any.hgmp ==0.1.2.1, + any.hostname ==1.0, + any.hpc ==0.7.0.2, + any.hpke ==0.1.0, + any.hsc2hs ==0.68.10, + hsc2hs -in-ghc-tree, + any.hslua ==2.3.1, + any.hslua-aeson ==2.3.2, + any.hslua-classes ==2.3.2, + any.hslua-core ==2.3.2.1, + any.hslua-marshalling ==2.3.2, + any.hslua-objectorientation ==2.3.1, + any.hslua-packaging ==2.3.1, + any.hslua-typing ==0.1.1, + any.hspec ==2.11.17, + any.hspec-api ==2.11.17, + any.hspec-core ==2.11.17, + any.hspec-discover ==2.11.17, + any.hspec-expectations ==0.8.4, + any.http-date ==0.0.11, + any.http-semantics ==0.4.0, + any.http-types ==0.12.4, + any.http2 ==5.4.0, + http2 -devel -h2spec, + any.ieee754 ==0.8.0, + any.indexed-traversable ==0.1.4, + any.indexed-traversable-instances ==0.1.2.1, + any.infinite-list ==0.1.3, + any.integer-conversion ==0.1.1, + any.integer-gmp ==1.1, + any.integer-logarithms ==1.0.5, + integer-logarithms -check-bounds +integer-gmp, + any.integer-roots ==1.0.4.0, + any.interpolate ==0.2.1, + any.invariant ==0.6.5, + any.io-streams ==1.5.2.2, + io-streams +network -nointeractivetests +zlib, + any.iproute ==1.7.15, + any.isocline ==1.1.0, + any.itanium-abi ==0.1.3, + any.js-chart ==2.9.4.1, + any.json ==0.11, + json +generic -mapdict +parsec +pretty +split-base, + any.kan-extensions ==5.2.8, + any.kvitable ==1.1.1.1, + any.language-c99 ==0.2.0, + any.language-c99-simple ==0.3.0, + any.language-c99-util ==0.2.0, + language-rust +enablequasiquotes +usebytestrings, + any.lens ==5.3.5, + lens -benchmark-uniplate -dump-splices +inlining -j +test-hunit +test-properties +test-templates +trustworthy, + any.libBF ==0.6.8, + libBF -system-libbf, + any.libffi ==0.2.1, + libffi +ghc-bundled-libffi, + any.libyaml ==0.1.4, + libyaml -no-unicode -system-libyaml, + any.libyaml-clib ==0.2.5, + any.lifted-async ==0.10.2.7, + any.lifted-base ==0.2.3.12, + llvm-pretty-bc-parser -fuzz -old-optparse -regressions, + lmdb -pkg-config, + any.logict ==0.8.2.0, + any.lua ==2.3.4, + lua +allow-unsafe-gc -apicheck -cross-compile +export-dynamic -lua_32bits -pkg-config -system-lua, + any.lucid ==2.11.20250303, + any.lumberjack ==1.0.3.0, + 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.microlens ==0.5.0.0, + any.microlens-ghc ==0.4.15.2, + any.microlens-mtl ==0.2.1.1, + any.microlens-platform ==0.4.4.2, + any.microlens-th ==0.4.3.18, + any.microstache ==1.0.3.1, + any.mlkem ==0.2.0.0, + mlkem +use_crypton, + any.mmorph ==1.2.2, + any.mod ==0.2.1.0, + mod +semirings +vector, + any.monad-control ==1.0.3.1, + any.monadLib ==3.10.3, + any.mono-traversable ==1.0.21.0, + any.mtl ==2.3.1, + any.mwc-random ==0.15.3.0, + mwc-random -benchpapi, + any.named-text ==1.2.3.0, + named-text +with-json, + any.network ==3.2.8.0, + network -devel, + any.network-byte-order ==0.1.8, + any.network-control ==0.1.7, + any.network-info ==0.2.1, + any.network-uri ==2.6.4.2, + any.newtype-generics ==0.6.2, + any.numtype-dk ==0.5.0.3, + any.old-locale ==1.0.0.7, + any.old-time ==1.1.1.0, + any.optparse-applicative ==0.18.1.0, + optparse-applicative +process, + any.ordered-containers ==0.2.4, + any.os-string ==2.0.7, + any.oughta ==0.3.0.0, + any.panic ==0.4.0.1, + any.parallel ==3.2.2.0, + parameterized-utils +unsafe-operations, + any.parsec ==3.1.18.0, + any.parser-combinators ==1.3.1, + parser-combinators -dev, + any.parsers ==0.12.12, + parsers +attoparsec +binary +parsec, + any.polyparse ==1.13.1, + any.pretty ==1.1.3.6, + any.pretty-hex ==1.1, + any.pretty-show ==1.10, + any.prettyprinter ==1.7.2, + prettyprinter -buildreadme +text, + any.prettyprinter-ansi-terminal ==1.1.4, + prettyprinter-ansi-terminal +text, + any.prettyprinter-compat-ansi-wl-pprint ==1.0.2, + any.primitive ==0.9.1.0, + any.process ==1.6.25.0, + any.profunctors ==5.6.3, + any.psqueues ==0.2.8.3, + any.quickcheck-instances ==0.3.33, + any.quickcheck-io ==0.2.0, + any.ram ==0.22.0, + any.random ==1.3.1, + any.raw-strings-qq ==1.1, + any.recv ==0.1.1, + any.reflection ==2.1.9, + reflection -slow +template-haskell, + any.regex-base ==0.94.0.3, + any.regex-compat ==0.95.2.2, + any.resourcet ==1.3.0, + any.ring-buffer ==0.4.1, + any.rts ==1.0.2, + any.s-cargot ==0.1.6.0, + s-cargot -build-example, + any.safe ==0.3.21, + any.safe-exceptions ==0.1.7.4, + any.sayable ==1.2.6.0, + any.sbv ==10.10, + any.scientific ==0.3.8.1, + scientific -integer-simple, + any.scotty ==0.22, + any.semaphore-compat ==1.0.0, + any.semialign ==1.3.1.1, + semialign +semigroupoids, + any.semigroupoids ==6.0.2, + semigroupoids +comonad +containers +contravariant +tagged +unordered-containers, + any.semigroups ==0.20.1, + semigroups +binary +bytestring -bytestring-builder +containers +deepseq +hashable +tagged +template-haskell +text +transformers +unordered-containers, + any.semirings ==0.7, + semirings +containers +unordered-containers, + any.serialise ==0.2.6.1, + serialise +newtime15, + any.silently ==1.2.5.4, + any.simple-get-opt ==0.4, + any.simple-sendfile ==0.2.32, + simple-sendfile +allow-bsd -fallback, + any.simple-smt ==0.9.8, + any.smallcheck ==1.2.1.1, + any.split ==0.2.5, + any.splitmix ==0.1.3.2, + splitmix -optimised-mixer, + any.statistics ==0.16.5.0, + statistics -benchpapi, + any.stm ==2.5.3.1, + any.streaming-commons ==0.2.3.1, + streaming-commons -use-bytestring-builder, + any.strict ==0.5.1, + any.string-interpolate ==0.3.4.0, + string-interpolate -bytestring-builder -extended-benchmarks -text-builder, + any.syb ==0.7.4, + any.tagged ==0.8.10, + tagged +deepseq +template-haskell, + any.tasty ==1.5.4, + any.tasty-ant-xml ==1.1.9, + any.tasty-checklist ==1.0.9.0, + any.tasty-expected-failure ==0.12.3, + any.tasty-golden ==2.3.6, + tasty-golden -build-example, + any.tasty-hedgehog ==1.4.0.2, + any.tasty-hspec ==1.2.0.4, + any.tasty-hunit ==0.10.2, + any.tasty-quickcheck ==0.11.1, + any.tasty-smallcheck ==0.8.2, + any.tasty-sugar ==2.2.3.3, + any.template-haskell ==2.23.0.0, + any.temporary ==1.3, + any.terminal-size ==0.3.4, + any.terminfo ==0.4.1.7, + any.test-framework ==0.8.2.3, + any.test-framework-hunit ==0.3.0.3, + any.text ==2.1.2, + any.text-conversions ==0.3.1.1, + any.text-iso8601 ==0.1.1.1, + any.text-short ==0.1.6.1, + text-short -asserts, + any.tf-random ==0.5, + any.th-abstraction ==0.7.2.0, + any.th-compat ==0.1.7, + any.th-expand-syns ==0.4.12.0, + any.th-lift ==0.8.7, + any.th-lift-instances ==0.1.20, + any.th-orphans ==0.13.17, + any.th-reify-many ==0.1.10, + any.these ==1.2.1, + any.time ==1.14, + any.time-compat ==1.9.9, + any.time-hourglass ==0.3.0, + any.time-manager ==0.3.2, + any.tls ==2.4.1, + tls -devel, + any.tls-session-manager ==0.1.0, + any.toml-parser ==2.0.2.0, + any.transformers ==0.6.1.2, + any.transformers-base ==0.4.6.1, + transformers-base +orphaninstances, + any.transformers-compat ==0.7.2, + transformers-compat -five +five-three -four +generic-deriving +mtl -three -two, + any.tree-diff ==0.3.4, + any.typed-process ==0.2.13.0, + any.unbounded-delays ==0.1.1.1, + any.uniplate ==1.6.13, + any.unliftio ==0.2.25.1, + any.unliftio-core ==0.2.1.0, + any.unordered-containers ==0.2.21, + unordered-containers -debug, + any.utf8-string ==1.0.2, + any.uuid ==1.3.16.1, + any.uuid-types ==1.0.6.1, + any.vault ==0.3.1.6, + vault +useghc, + any.vector ==0.13.2.0, + vector +boundschecks -internalchecks -unsafechecks -wall, + any.vector-algorithms ==0.9.1.0, + vector-algorithms +bench +boundschecks -internalchecks -llvm -unsafechecks, + 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.8, + any.wai ==3.2.4, + any.wai-extra ==3.1.18, + wai-extra -build-example, + any.wai-logger ==2.5.0, + any.warp ==3.4.13, + warp +allow-sendfilefd +include-warp-version -network-bytestring -warp-debug +x509, + any.warp-tls ==3.4.14, + any.weigh ==0.0.18, + what4 -drealtestdisable -solvertests -stptestdisable, + any.witherable ==0.5, + any.wl-pprint-annotated ==0.1.0.1, + any.wl-pprint-text ==1.2.0.2, + any.word8 ==0.1.3, + any.xml ==1.3.14, + any.yaml ==0.11.11.2, + yaml +no-examples +no-exe, + any.zenc ==0.1.2, + any.zlib ==0.7.1.1, + any.zlib-bindings ==0.1.1.5 +index-state: hackage.haskell.org 2026-05-05T14:12:12Z diff --git a/cabal.project b/cabal.project index 0c6b6e1d68..d8160e0c84 100644 --- a/cabal.project +++ b/cabal.project @@ -45,3 +45,7 @@ packages: -- enable ghc >= 9.8's additional build parallelism semaphore: true +-- there is no ring-buffer that permits GHC 9.12's base version +-- and boomerang doesn't permit GHC 9.12's template-haskell +allow-newer: ring-buffer:base +allow-newer: boomerang:template-haskell diff --git a/crux-mir-comp/Dockerfile b/crux-mir-comp/Dockerfile index 1c01e37f2b..3799739a81 100644 --- a/crux-mir-comp/Dockerfile +++ b/crux-mir-comp/Dockerfile @@ -30,7 +30,7 @@ USER crux-mir-comp WORKDIR /home/crux-mir-comp ENV LANG=C.UTF-8 \ LC_ALL=C.UTF-8 -COPY cabal.GHC-9.6.7.config cabal.project.freeze +COPY cabal.GHC-9.10.3.config cabal.project.freeze ENV PATH=/home/crux-mir-comp/rootfs/usr/local/bin:/home/crux-mir-comp/.cargo/bin:/home/crux-mir-comp/.local/bin:/home/crux-mir-comp/ghcup-download/bin:/home/crux-mir-comp/.ghcup/bin:$PATH WORKDIR /home/crux-mir-comp @@ -50,8 +50,8 @@ RUN case ${TARGETPLATFORM} in \ RUN mkdir -p /home/crux-mir-comp/.ghcup && \ ghcup --version && \ ghcup install cabal 3.14.1.0 && \ - ghcup install ghc 9.6.7 && \ - ghcup set ghc 9.6.7 + ghcup install ghc 9.10.3 && \ + ghcup set ghc 9.10.3 RUN mkdir -p /home/crux-mir-comp/rootfs/usr/local/bin WORKDIR /home/crux-mir-comp/rootfs/usr/local/bin diff --git a/deps/crucible b/deps/crucible index 0f98786d3c..4652adccea 160000 --- a/deps/crucible +++ b/deps/crucible @@ -1 +1 @@ -Subproject commit 0f98786d3ca9752c6dda7e696c1365cc513c8f92 +Subproject commit 4652adccea2cb8a7b5921ba5c23ea004996d6ea7 diff --git a/deps/cryptol-specs b/deps/cryptol-specs index 9740d622ba..8638495a3b 160000 --- a/deps/cryptol-specs +++ b/deps/cryptol-specs @@ -1 +1 @@ -Subproject commit 9740d622ba892f05f9840b4dca20b7a98b484b9d +Subproject commit 8638495a3ba8c1c0bd031f0c5d7f243b5e8617ff diff --git a/deps/mir-json b/deps/mir-json index 6a1632fe59..edb6694aa0 160000 --- a/deps/mir-json +++ b/deps/mir-json @@ -1 +1 @@ -Subproject commit 6a1632fe598be9abd0d628b5609cc1f2f6274e00 +Subproject commit edb6694aa0fd443a542a6cf2a3d9e89737592bc8 diff --git a/saw-remote-api/Dockerfile b/saw-remote-api/Dockerfile index 00c1f9b4ca..1b52d87e79 100644 --- a/saw-remote-api/Dockerfile +++ b/saw-remote-api/Dockerfile @@ -24,7 +24,7 @@ USER saw WORKDIR /home/saw ENV LANG=C.UTF-8 \ LC_ALL=C.UTF-8 -COPY cabal.GHC-9.6.7.config cabal.project.freeze +COPY cabal.GHC-9.10.3.config cabal.project.freeze ENV PATH=/home/saw/ghcup-download/bin:/home/saw/.ghcup/bin:$PATH ARG TARGETPLATFORM RUN case ${TARGETPLATFORM} in \ @@ -42,8 +42,8 @@ RUN case ${TARGETPLATFORM} in \ RUN mkdir -p /home/saw/.ghcup && \ ghcup --version && \ ghcup install cabal 3.14.1.0 && \ - ghcup install ghc 9.6.7 && \ - ghcup set ghc 9.6.7 + ghcup install ghc 9.10.3 && \ + ghcup set ghc 9.10.3 # Make sure GitRev.hs exists in case it wasn't created outside the # container and copied in. Since we don't have .git in here, this will diff --git a/saw/Dockerfile b/saw/Dockerfile index 5f2df9dc81..05d875ebde 100644 --- a/saw/Dockerfile +++ b/saw/Dockerfile @@ -24,7 +24,7 @@ USER saw WORKDIR /home/saw ENV LANG=C.UTF-8 \ LC_ALL=C.UTF-8 -COPY cabal.GHC-9.6.7.config cabal.project.freeze +COPY cabal.GHC-9.10.3.config cabal.project.freeze ENV PATH=/home/saw/ghcup-download/bin:/home/saw/.ghcup/bin:$PATH ARG TARGETPLATFORM RUN case ${TARGETPLATFORM} in \ @@ -42,8 +42,8 @@ RUN case ${TARGETPLATFORM} in \ RUN mkdir -p /home/saw/.ghcup && \ ghcup --version && \ ghcup install cabal 3.14.1.0 && \ - ghcup install ghc 9.6.7 && \ - ghcup set ghc 9.6.7 + ghcup install ghc 9.10.3 && \ + ghcup set ghc 9.10.3 RUN cabal v2-update # Make sure GitRev.hs exists in case it wasn't created outside the