diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c99f63cfa..fa8b348ea 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,7 @@ on: workflow_dispatch: env: - SOLVER_PKG_VERSION: "snapshot-20220721" + SOLVER_PKG_VERSION: "snapshot-20220812" # The CACHE_VERSION can be updated to force the use of a new cache if # the current cache contents become corrupted/invalid. This can # sometimes happen when (for example) the OS version is changed but @@ -20,7 +20,7 @@ env: jobs: config: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 outputs: name: ${{ steps.config.outputs.name }} version: ${{ steps.config.outputs.version }} @@ -58,8 +58,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-20.04, macos-12, windows-2019] - ghc-version: ["8.8.4", "8.10.7", "9.0.2", "9.2.2"] + os: [ubuntu-22.04, macos-12, windows-2019] + ghc-version: ["8.8.4", "8.10.7", "9.0.2", "9.2.4"] exclude: # https://gitlab.haskell.org/ghc/ghc/-/issues/18550 - os: windows-2019 @@ -67,11 +67,11 @@ jobs: - os: windows-2019 ghc-version: 9.0.2 - os: windows-2019 - ghc-version: 9.2.2 + ghc-version: 9.2.4 include: # We include one job from an older Ubuntu LTS release to increase our # coverage of possible Linux configurations. - - os: ubuntu-18.04 + - os: ubuntu-22.04 ghc-version: 8.8.4 outputs: test-lib-json: ${{ steps.test-lib.outputs.targets-json }} @@ -147,6 +147,8 @@ jobs: cmd="cat \$1.stdout" if ${{ runner.os == 'Windows' }}; then cmd="cat \$1.stdout.mingw32 2>/dev/null || $cmd" + elif ${{ runner.os == 'macOS' }}; then + cmd="cat \$1.stdout.darwin 2>/dev/null || $cmd" fi ./bin/test-runner --ext=.icry -r ./output --exe=$(which bash) -F -c -F "$cmd" -F -- ./tests TARGETS_JSON=$(echo -n "$(ls -1 ./output/tests)" | jq -Rsc 'split("\n")') @@ -158,7 +160,7 @@ jobs: - if: runner.os == 'Windows' run: .github/wix.ps1 - - if: runner.os == 'Windows' + - if: runner.os == 'Windows' && github.event.pull_request.head.repo.fork == false shell: bash env: SIGNING_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }} @@ -181,7 +183,8 @@ jobs: env: OS_TAG: ${{ matrix.os }} - - shell: bash + - if: github.event.pull_request.head.repo.fork == false + shell: bash env: SIGNING_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }} SIGNING_KEY: ${{ secrets.SIGNING_KEY }} @@ -231,12 +234,12 @@ jobs: matrix: suite: [test-lib] target: ${{ fromJson(needs.build.outputs.test-lib-json) }} - os: [ubuntu-20.04, macos-12, windows-2019] + os: [ubuntu-22.04, macos-12, windows-2019] continue-on-error: [false] include: - suite: rpc target: '' - os: ubuntu-20.04 + os: ubuntu-22.04 continue-on-error: false #- suite: rpc # target: '' @@ -311,7 +314,7 @@ jobs: cryptol-remote-api/run_rpc_tests.sh build-push-image: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 needs: [config] if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' || needs.config.outputs.release == 'true' strategy: diff --git a/Dockerfile b/Dockerfile index 29a88679b..5e0f67ba0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,21 +1,36 @@ -FROM haskell:8.8.4 AS build +FROM ubuntu:22.04 AS build -RUN apt-get update && apt-get install -y libncurses-dev unzip +RUN apt-get update && \ + apt-get install -y \ + # ghcup requirements + build-essential curl libffi-dev libffi8 libgmp-dev libgmp10 libncurses-dev libncurses6 libtinfo6 \ + # Cryptol dependencies + zlib1g-dev \ + # Miscellaneous + unzip RUN useradd -m cryptol COPY --chown=cryptol:cryptol . /cryptol USER cryptol WORKDIR /cryptol RUN mkdir -p rootfs/usr/local/bin WORKDIR /cryptol/rootfs/usr/local/bin -RUN curl -o solvers.zip -sL "https://github.com/GaloisInc/what4-solvers/releases/download/snapshot-20220114/ubuntu-18.04-bin.zip" +RUN curl -o solvers.zip -sL "https://github.com/GaloisInc/what4-solvers/releases/download/snapshot-20220812/ubuntu-22.04-bin.zip" RUN unzip solvers.zip && rm solvers.zip && chmod +x * WORKDIR /cryptol -ENV PATH=/cryptol/rootfs/usr/local/bin:$PATH +ENV PATH=/cryptol/rootfs/usr/local/bin:/home/cryptol/.local/bin:/home/cryptol/.ghcup/bin:$PATH RUN z3 --version ARG CRYPTOLPATH="/cryptol/.cryptol" ENV LANG=C.UTF-8 \ LC_ALL=C.UTF-8 COPY cabal.GHC-8.8.4.config cabal.project.freeze +RUN mkdir -p /home/cryptol/.local/bin && \ + curl -L https://downloads.haskell.org/~ghcup/0.1.17.7/x86_64-linux-ghcup-0.1.17.7 -o /home/cryptol/.local/bin/ghcup && \ + chmod +x /home/cryptol/.local/bin/ghcup +RUN mkdir -p /home/cryptol/.ghcup && \ + ghcup --version && \ + ghcup install cabal 3.6.2.0 && \ + ghcup install ghc 8.8.4 && \ + ghcup set ghc 8.8.4 RUN cabal v2-update && \ cabal v2-build -j cryptol:exe:cryptol && \ cp $(cabal v2-exec which cryptol) rootfs/usr/local/bin && \ @@ -33,9 +48,9 @@ RUN mkdir -p rootfs/"${CRYPTOLPATH}" \ USER root RUN chown -R root:root /cryptol/rootfs -FROM debian:buster-20210511-slim +FROM ubuntu:22.04 RUN apt-get update \ - && apt-get install -y libgmp10 libgomp1 libffi6 libncurses6 libtinfo6 libreadline7 \ + && apt-get install -y libgmp10 libgomp1 libffi8 libncurses6 libtinfo6 libreadline8 \ && apt-get clean && rm -rf /var/lib/apt/lists/* RUN useradd -m cryptol && chown -R cryptol:cryptol /home/cryptol COPY --from=build /cryptol/rootfs / diff --git a/README.md b/README.md index 88f183c61..4e996fce6 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ Cryptol currently uses Microsoft Research's [Z3 SMT solver](https://github.com/Z3Prover/z3) by default to solve constraints during type checking, and as the default solver for the `:sat` and `:prove` commands. Cryptol generally requires the most recent version -of Z3, but you can see the specific version tested in CI by looking [here](https://github.com/GaloisInc/what4-solvers/releases/tag/snapshot-20220721). +of Z3, but you can see the specific version tested in CI by looking [here](https://github.com/GaloisInc/what4-solvers/releases/tag/snapshot-20220812). You can download Z3 binaries for a variety of platforms from their [releases page](https://github.com/Z3Prover/z3/releases). If you @@ -75,15 +75,15 @@ Cryptol builds and runs on various flavors of Linux, Mac OS X, and Windows. We regularly build and test it in the following environments: - macOS 12, 64-bit -- Ubuntu 18.04, 64-bit - Ubuntu 20.04, 64-bit +- Ubuntu 22.04, 64-bit - Windows Server 2019, 64-bit ## Prerequisites Cryptol is regularly built and tested with the three most recent versions of GHC, which at the time of this writing are 8.10.7, 9.0.2, and -9.2.2. The easiest way to install an approporiate version of GHC is +9.2.4. The easiest way to install an approporiate version of GHC is with [ghcup](https://www.haskell.org/ghcup/). Some supporting non-Haskell libraries are required to build diff --git a/cabal.GHC-8.10.7.config b/cabal.GHC-8.10.7.config index 47f6fa6e5..02a6a053f 100644 --- a/cabal.GHC-8.10.7.config +++ b/cabal.GHC-8.10.7.config @@ -11,10 +11,7 @@ constraints: any.Cabal ==3.2.1.0, any.QuickCheck ==2.14.2, QuickCheck -old-random +templatehaskell, any.StateVar ==1.2.2, - any.abstract-deque ==0.3, - abstract-deque -usecas, - any.abstract-par ==0.3.3, - any.adjunctions ==4.4, + any.adjunctions ==4.4.1, any.aeson ==2.0.3.0, aeson -cffi +ordered-keymap, any.alex ==3.2.7.1, @@ -23,7 +20,7 @@ constraints: any.Cabal ==3.2.1.0, any.ansi-wl-pprint ==0.6.9, ansi-wl-pprint -example, any.appar ==0.1.8, - any.arithmoi ==0.12.0.1, + any.arithmoi ==0.12.0.2, any.array ==0.5.4.0, any.asn1-encoding ==0.9.6, any.asn1-parse ==0.9.5, @@ -35,16 +32,18 @@ constraints: any.Cabal ==3.2.1.0, attoparsec -developer, any.auto-update ==0.1.6, any.base ==4.14.3.0, - any.base-compat ==0.12.1, - any.base-compat-batteries ==0.12.1, - any.base-orphans ==0.8.6, + any.base-compat ==0.12.2, + any.base-compat-batteries ==0.12.2, + any.base-orphans ==0.8.7, any.base64-bytestring ==1.2.1.0, any.basement ==0.0.14, - any.bifunctors ==5.5.11, + any.bifunctors ==5.5.12, bifunctors +semigroups +tagged, - any.bimap ==0.4.0, + any.bimap ==0.5.0, any.binary ==0.8.8.0, - any.binary-orphans ==1.0.2, + any.binary-orphans ==1.0.3, + any.bitvec ==1.1.3.0, + bitvec -libgmp, any.bitwise ==1.0.0.1, any.blaze-builder ==0.4.2.2, any.blaze-html ==0.9.1.2, @@ -56,9 +55,9 @@ constraints: any.Cabal ==3.2.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.2.0, + any.cassava ==0.5.3.0, cassava -bytestring--lt-0_10_4, - any.cereal ==0.5.8.2, + any.cereal ==0.5.8.3, cereal -bytestring-builder, any.chimera ==0.3.2.0, chimera +representable, @@ -69,15 +68,15 @@ constraints: any.Cabal ==3.2.1.0, any.comonad ==5.0.8, comonad +containers +distributive +indexed-traversable, any.concurrent-extra ==0.7.0.12, - any.config-value ==0.8.2.1, - any.constraints ==0.13.3, + any.config-value ==0.8.3, + any.constraints ==0.13.4, any.containers ==0.6.5.1, any.contravariant ==1.5.5, contravariant +semigroups +statevar +tagged, any.cookie ==0.4.5, - any.criterion ==1.5.13.0, + any.criterion ==1.6.0.0, criterion -embed-data-files -fast, - any.criterion-measurement ==0.1.3.0, + any.criterion-measurement ==0.2.0.0, criterion-measurement -fast, any.cryptohash-md5 ==0.11.101.0, any.cryptohash-sha1 ==0.11.101.0, @@ -91,7 +90,7 @@ constraints: any.Cabal ==3.2.1.0, any.data-fix ==0.3.2, any.deepseq ==1.4.4.0, any.dense-linear-algebra ==0.1.0.0, - any.deriving-compat ==0.6, + any.deriving-compat ==0.6.1, deriving-compat +base-4-9 +new-functor-classes +template-haskell-2-11, any.directory ==1.3.6.0, any.distributive ==0.6.2.1, @@ -110,7 +109,7 @@ constraints: any.Cabal ==3.2.1.0, any.filelock ==0.1.1.5, any.filepath ==1.4.2.1, any.fingertree ==0.1.5.0, - any.free ==5.1.7, + any.free ==5.1.9, any.ghc-boot-th ==8.10.7, any.ghc-prim ==0.6.1, any.gitrev ==1.3.1, @@ -130,34 +129,33 @@ constraints: any.Cabal ==3.2.1.0, any.http2 ==3.0.3, http2 -devel -doc -h2spec, any.indexed-traversable ==0.1.2, - any.indexed-traversable-instances ==0.1.1, + any.indexed-traversable-instances ==0.1.1.1, any.integer-gmp ==1.0.3.0, any.integer-logarithms ==1.0.3.1, integer-logarithms -check-bounds +integer-gmp, any.integer-roots ==1.0.2.0, - any.invariant ==0.5.5, + any.invariant ==0.6, any.io-streams ==1.5.2.1, io-streams +network -nointeractivetests +zlib, any.iproute ==1.7.12, any.js-chart ==2.9.4.1, - any.kan-extensions ==5.2.3, - any.lens ==5.1, + any.kan-extensions ==5.2.5, + any.lens ==5.1.1, lens -benchmark-uniplate -dump-splices +inlining -j +test-hunit +test-properties +test-templates +trustworthy, - any.libBF ==0.6.3, + any.libBF ==0.6.4, libBF -system-libbf, + any.libffi ==0.2, + libffi +ghc-bundled-libffi, any.math-functions ==0.3.4.2, math-functions +system-erf +system-expm1, - any.megaparsec ==9.2.0, + any.megaparsec ==9.2.1, megaparsec -dev, any.memory ==0.17.0, memory +support_bytestring +support_deepseq, - any.microstache ==1.0.2, + any.microstache ==1.0.2.2, any.mod ==0.1.2.2, mod +semirings +vector, any.monad-control ==1.0.3.1, - any.monad-par ==0.3.5, - monad-par -chaselev -newgeneric, - any.monad-par-extras ==0.3.3, any.monadLib ==3.10.1, any.mtl ==2.2.2, any.mwc-random ==0.15.0.2, @@ -167,7 +165,7 @@ constraints: any.Cabal ==3.2.1.0, network -devel, any.network-byte-order ==0.1.6, any.network-info ==0.2.1, - any.newtype-generics ==0.6.1, + 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.0.3, @@ -184,20 +182,20 @@ constraints: any.Cabal ==3.2.1.0, any.pretty ==1.1.3.6, any.prettyprinter ==1.7.1, prettyprinter -buildreadme +text, - any.primitive ==0.7.3.0, + any.primitive ==0.7.4.0, any.process ==1.6.13.2, any.profunctors ==5.6.2, any.psqueues ==0.2.7.3, - any.quickcheck-instances ==0.3.27, + any.quickcheck-instances ==0.3.28, quickcheck-instances -bytestring-builder, - any.random ==1.2.1, + any.random ==1.2.1.1, any.reflection ==2.1.6, reflection -slow +template-haskell, any.regex-base ==0.94.0.2, any.regex-compat ==0.95.2.1, any.regex-posix ==0.96.0.1, regex-posix -_regex-posix-clib, - any.resourcet ==1.2.4.3, + any.resourcet ==1.2.6, any.rts ==1.0.1, any.safe ==0.3.19, any.sbv ==9.0, @@ -219,7 +217,7 @@ constraints: any.Cabal ==3.2.1.0, any.simple-smt ==0.9.7, any.splitmix ==0.1.0.4, splitmix -optimised-mixer, - any.statistics ==0.16.0.2, + any.statistics ==0.16.1.0, any.stm ==2.5.0.1, any.streaming-commons ==0.2.2.4, streaming-commons -use-bytestring-builder, @@ -228,7 +226,7 @@ constraints: any.Cabal ==3.2.1.0, any.syb ==0.7.2.1, any.tagged ==0.8.6.1, tagged +deepseq +transformers, - any.tasty ==1.4.2.1, + any.tasty ==1.4.2.3, tasty +clock +unix, any.tasty-hunit ==0.10.0.3, any.tasty-quickcheck ==0.10.2, @@ -243,7 +241,7 @@ constraints: any.Cabal ==3.2.1.0, any.text-short ==0.1.5, text-short -asserts, any.tf-random ==0.5, - any.th-abstraction ==0.4.3.0, + any.th-abstraction ==0.4.4.0, any.th-lift ==0.8.2, any.th-lift-instances ==0.1.19, any.these ==1.1.1.1, @@ -252,19 +250,19 @@ constraints: any.Cabal ==3.2.1.0, any.time-compat ==1.9.6.1, time-compat -old-locale, any.time-manager ==0.0.0, - any.tls ==1.5.7, + any.tls ==1.6.0, tls +compat -hans +network, any.tls-session-manager ==0.0.4, any.transformers ==0.5.6.2, any.transformers-base ==0.4.6, transformers-base +orphaninstances, - any.transformers-compat ==0.7.1, + 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-compat ==0.5.4, + any.unix-compat ==0.6, unix-compat -old-time, any.unix-time ==0.4.7, any.unliftio ==0.2.22.0, @@ -278,7 +276,7 @@ constraints: any.Cabal ==3.2.1.0, vault +useghc, any.vector ==0.12.3.1, vector +boundschecks -internalchecks -unsafechecks -wall, - any.vector-algorithms ==0.8.0.4, + any.vector-algorithms ==0.9.0.1, vector-algorithms +bench +boundschecks -internalchecks -llvm +properties -unsafechecks, any.vector-binary-instances ==0.2.5.2, any.vector-th-unbox ==0.2.2, @@ -286,19 +284,19 @@ constraints: any.Cabal ==3.2.1.0, any.void ==0.7.3, void -safe, any.wai ==3.2.3, - any.wai-extra ==3.1.10, + any.wai-extra ==3.1.12.1, wai-extra -build-example, any.wai-logger ==2.4.0, - any.warp ==3.3.20, + any.warp ==3.3.22, warp +allow-sendfilefd -network-bytestring -warp-debug +x509, - any.warp-tls ==3.3.2, + any.warp-tls ==3.3.3, any.wcwidth ==0.0.2, wcwidth -cli +split-base, any.what4 ==1.3, what4 -drealtestdisable -solvertests -stptestdisable, any.witherable ==0.4.2, any.word8 ==0.1.3, - any.x509 ==1.7.6, + any.x509 ==1.7.7, any.x509-store ==1.6.9, any.x509-validation ==1.6.12, any.xml ==1.3.14, @@ -306,4 +304,4 @@ constraints: any.Cabal ==3.2.1.0, any.zlib ==0.6.3.0, zlib -bundled-c-zlib -non-blocking-ffi -pkg-config, any.zlib-bindings ==0.1.1.5 -index-state: hackage.haskell.org 2022-05-04T18:13:54Z +index-state: hackage.haskell.org 2022-08-12T18:38:07Z diff --git a/cabal.GHC-8.8.4.config b/cabal.GHC-8.8.4.config index eef2cd6fe..45b9816e1 100644 --- a/cabal.GHC-8.8.4.config +++ b/cabal.GHC-8.8.4.config @@ -11,10 +11,7 @@ constraints: any.Cabal ==3.0.1.0, any.QuickCheck ==2.14.2, QuickCheck -old-random +templatehaskell, any.StateVar ==1.2.2, - any.abstract-deque ==0.3, - abstract-deque -usecas, - any.abstract-par ==0.3.3, - any.adjunctions ==4.4, + any.adjunctions ==4.4.1, any.aeson ==2.0.3.0, aeson -cffi +ordered-keymap, any.alex ==3.2.7.1, @@ -23,7 +20,7 @@ constraints: any.Cabal ==3.0.1.0, any.ansi-wl-pprint ==0.6.9, ansi-wl-pprint -example, any.appar ==0.1.8, - any.arithmoi ==0.12.0.1, + any.arithmoi ==0.12.0.2, any.array ==0.5.4.0, any.asn1-encoding ==0.9.6, any.asn1-parse ==0.9.5, @@ -35,16 +32,18 @@ constraints: any.Cabal ==3.0.1.0, attoparsec -developer, any.auto-update ==0.1.6, any.base ==4.13.0.0, - any.base-compat ==0.12.1, - any.base-compat-batteries ==0.12.1, - any.base-orphans ==0.8.6, + any.base-compat ==0.12.2, + any.base-compat-batteries ==0.12.2, + any.base-orphans ==0.8.7, any.base64-bytestring ==1.2.1.0, any.basement ==0.0.14, - any.bifunctors ==5.5.11, + any.bifunctors ==5.5.12, bifunctors +semigroups +tagged, - any.bimap ==0.4.0, + any.bimap ==0.5.0, any.binary ==0.8.7.0, - any.binary-orphans ==1.0.2, + any.binary-orphans ==1.0.3, + any.bitvec ==1.1.3.0, + bitvec -libgmp, any.bitwise ==1.0.0.1, any.blaze-builder ==0.4.2.2, any.blaze-html ==0.9.1.2, @@ -56,9 +55,9 @@ constraints: any.Cabal ==3.0.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.2.0, + any.cassava ==0.5.3.0, cassava -bytestring--lt-0_10_4, - any.cereal ==0.5.8.2, + any.cereal ==0.5.8.3, cereal -bytestring-builder, any.chimera ==0.3.2.0, chimera +representable, @@ -69,15 +68,15 @@ constraints: any.Cabal ==3.0.1.0, any.comonad ==5.0.8, comonad +containers +distributive +indexed-traversable, any.concurrent-extra ==0.7.0.12, - any.config-value ==0.8.2.1, - any.constraints ==0.13.3, + any.config-value ==0.8.3, + any.constraints ==0.13.4, any.containers ==0.6.2.1, any.contravariant ==1.5.5, contravariant +semigroups +statevar +tagged, any.cookie ==0.4.5, - any.criterion ==1.5.13.0, + any.criterion ==1.6.0.0, criterion -embed-data-files -fast, - any.criterion-measurement ==0.1.3.0, + any.criterion-measurement ==0.2.0.0, criterion-measurement -fast, any.cryptohash-md5 ==0.11.101.0, any.cryptohash-sha1 ==0.11.101.0, @@ -91,7 +90,7 @@ constraints: any.Cabal ==3.0.1.0, any.data-fix ==0.3.2, any.deepseq ==1.4.4.0, any.dense-linear-algebra ==0.1.0.0, - any.deriving-compat ==0.6, + any.deriving-compat ==0.6.1, deriving-compat +base-4-9 +new-functor-classes +template-haskell-2-11, any.directory ==1.3.6.0, any.distributive ==0.6.2.1, @@ -102,7 +101,7 @@ constraints: any.Cabal ==3.0.1.0, any.entropy ==0.4.1.7, entropy -halvm, any.exact-pi ==0.5.0.2, - any.exceptions ==0.10.4, + any.exceptions ==0.10.5, exceptions +transformers-0-4, any.extensible-exceptions ==0.1.1.4, any.extra ==1.7.10, @@ -111,7 +110,7 @@ constraints: any.Cabal ==3.0.1.0, any.filelock ==0.1.1.5, any.filepath ==1.4.2.1, any.fingertree ==0.1.5.0, - any.free ==5.1.7, + any.free ==5.1.9, any.ghc-boot-th ==8.8.4, any.ghc-prim ==0.5.3, any.gitrev ==1.3.1, @@ -131,34 +130,33 @@ constraints: any.Cabal ==3.0.1.0, any.http2 ==3.0.3, http2 -devel -doc -h2spec, any.indexed-traversable ==0.1.2, - any.indexed-traversable-instances ==0.1.1, + any.indexed-traversable-instances ==0.1.1.1, any.integer-gmp ==1.0.2.0, any.integer-logarithms ==1.0.3.1, integer-logarithms -check-bounds +integer-gmp, any.integer-roots ==1.0.2.0, - any.invariant ==0.5.5, + any.invariant ==0.6, any.io-streams ==1.5.2.1, io-streams +network -nointeractivetests +zlib, any.iproute ==1.7.12, any.js-chart ==2.9.4.1, - any.kan-extensions ==5.2.3, - any.lens ==5.1, + any.kan-extensions ==5.2.5, + any.lens ==5.1.1, lens -benchmark-uniplate -dump-splices +inlining -j +test-hunit +test-properties +test-templates +trustworthy, - any.libBF ==0.6.3, + any.libBF ==0.6.4, libBF -system-libbf, + any.libffi ==0.2, + libffi +ghc-bundled-libffi, any.math-functions ==0.3.4.2, math-functions +system-erf +system-expm1, - any.megaparsec ==9.2.0, + any.megaparsec ==9.2.1, megaparsec -dev, any.memory ==0.17.0, memory +support_bytestring +support_deepseq, - any.microstache ==1.0.2, + any.microstache ==1.0.2.2, any.mod ==0.1.2.2, mod +semirings +vector, any.monad-control ==1.0.3.1, - any.monad-par ==0.3.5, - monad-par -chaselev -newgeneric, - any.monad-par-extras ==0.3.3, any.monadLib ==3.10.1, any.mtl ==2.2.2, any.mwc-random ==0.15.0.2, @@ -168,7 +166,7 @@ constraints: any.Cabal ==3.0.1.0, network -devel, any.network-byte-order ==0.1.6, any.network-info ==0.2.1, - any.newtype-generics ==0.6.1, + 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.0.3, @@ -185,20 +183,20 @@ constraints: any.Cabal ==3.0.1.0, any.pretty ==1.1.3.6, any.prettyprinter ==1.7.1, prettyprinter -buildreadme +text, - any.primitive ==0.7.3.0, + any.primitive ==0.7.4.0, any.process ==1.6.9.0, any.profunctors ==5.6.2, any.psqueues ==0.2.7.3, - any.quickcheck-instances ==0.3.27, + any.quickcheck-instances ==0.3.28, quickcheck-instances -bytestring-builder, - any.random ==1.2.1, + any.random ==1.2.1.1, any.reflection ==2.1.6, reflection -slow +template-haskell, any.regex-base ==0.94.0.2, any.regex-compat ==0.95.2.1, any.regex-posix ==0.96.0.1, regex-posix -_regex-posix-clib, - any.resourcet ==1.2.4.3, + any.resourcet ==1.2.6, any.rts ==1.0, any.safe ==0.3.19, any.sbv ==9.0, @@ -220,7 +218,7 @@ constraints: any.Cabal ==3.0.1.0, any.simple-smt ==0.9.7, any.splitmix ==0.1.0.4, splitmix -optimised-mixer, - any.statistics ==0.16.0.2, + any.statistics ==0.16.1.0, any.stm ==2.5.0.0, any.streaming-commons ==0.2.2.4, streaming-commons -use-bytestring-builder, @@ -229,7 +227,7 @@ constraints: any.Cabal ==3.0.1.0, any.syb ==0.7.2.1, any.tagged ==0.8.6.1, tagged +deepseq +transformers, - any.tasty ==1.4.2.1, + any.tasty ==1.4.2.3, tasty +clock +unix, any.tasty-hunit ==0.10.0.3, any.tasty-quickcheck ==0.10.2, @@ -244,7 +242,7 @@ constraints: any.Cabal ==3.0.1.0, any.text-short ==0.1.5, text-short -asserts, any.tf-random ==0.5, - any.th-abstraction ==0.4.3.0, + any.th-abstraction ==0.4.4.0, any.th-lift ==0.8.2, any.th-lift-instances ==0.1.19, any.these ==1.1.1.1, @@ -253,19 +251,19 @@ constraints: any.Cabal ==3.0.1.0, any.time-compat ==1.9.6.1, time-compat -old-locale, any.time-manager ==0.0.0, - any.tls ==1.5.7, + any.tls ==1.6.0, tls +compat -hans +network, any.tls-session-manager ==0.0.4, any.transformers ==0.5.6.2, any.transformers-base ==0.4.6, transformers-base +orphaninstances, - any.transformers-compat ==0.7.1, + 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-compat ==0.5.4, + any.unix-compat ==0.6, unix-compat -old-time, any.unix-time ==0.4.7, any.unliftio ==0.2.22.0, @@ -279,7 +277,7 @@ constraints: any.Cabal ==3.0.1.0, vault +useghc, any.vector ==0.12.3.1, vector +boundschecks -internalchecks -unsafechecks -wall, - any.vector-algorithms ==0.8.0.4, + any.vector-algorithms ==0.9.0.1, vector-algorithms +bench +boundschecks -internalchecks -llvm +properties -unsafechecks, any.vector-binary-instances ==0.2.5.2, any.vector-th-unbox ==0.2.2, @@ -287,19 +285,19 @@ constraints: any.Cabal ==3.0.1.0, any.void ==0.7.3, void -safe, any.wai ==3.2.3, - any.wai-extra ==3.1.10, + any.wai-extra ==3.1.12.1, wai-extra -build-example, any.wai-logger ==2.4.0, - any.warp ==3.3.20, + any.warp ==3.3.22, warp +allow-sendfilefd -network-bytestring -warp-debug +x509, - any.warp-tls ==3.3.2, + any.warp-tls ==3.3.3, any.wcwidth ==0.0.2, wcwidth -cli +split-base, any.what4 ==1.3, what4 -drealtestdisable -solvertests -stptestdisable, any.witherable ==0.4.2, any.word8 ==0.1.3, - any.x509 ==1.7.6, + any.x509 ==1.7.7, any.x509-store ==1.6.9, any.x509-validation ==1.6.12, any.xml ==1.3.14, @@ -307,4 +305,4 @@ constraints: any.Cabal ==3.0.1.0, any.zlib ==0.6.3.0, zlib -bundled-c-zlib -non-blocking-ffi -pkg-config, any.zlib-bindings ==0.1.1.5 -index-state: hackage.haskell.org 2022-05-04T18:13:54Z +index-state: hackage.haskell.org 2022-08-12T18:38:07Z diff --git a/cabal.GHC-9.0.2.config b/cabal.GHC-9.0.2.config index 7e5d18e2c..6b6fc31c5 100644 --- a/cabal.GHC-9.0.2.config +++ b/cabal.GHC-9.0.2.config @@ -11,10 +11,7 @@ constraints: any.Cabal ==3.4.1.0, any.QuickCheck ==2.14.2, QuickCheck -old-random +templatehaskell, any.StateVar ==1.2.2, - any.abstract-deque ==0.3, - abstract-deque -usecas, - any.abstract-par ==0.3.3, - any.adjunctions ==4.4, + any.adjunctions ==4.4.1, any.aeson ==2.0.3.0, aeson -cffi +ordered-keymap, any.alex ==3.2.7.1, @@ -23,7 +20,7 @@ constraints: any.Cabal ==3.4.1.0, any.ansi-wl-pprint ==0.6.9, ansi-wl-pprint -example, any.appar ==0.1.8, - any.arithmoi ==0.12.0.1, + any.arithmoi ==0.12.0.2, any.array ==0.5.4.0, any.asn1-encoding ==0.9.6, any.asn1-parse ==0.9.5, @@ -35,16 +32,18 @@ constraints: any.Cabal ==3.4.1.0, attoparsec -developer, any.auto-update ==0.1.6, any.base ==4.15.1.0, - any.base-compat ==0.12.1, - any.base-compat-batteries ==0.12.1, - any.base-orphans ==0.8.6, + any.base-compat ==0.12.2, + any.base-compat-batteries ==0.12.2, + any.base-orphans ==0.8.7, any.base64-bytestring ==1.2.1.0, any.basement ==0.0.14, - any.bifunctors ==5.5.11, + any.bifunctors ==5.5.12, bifunctors +semigroups +tagged, - any.bimap ==0.4.0, + any.bimap ==0.5.0, any.binary ==0.8.8.0, - any.binary-orphans ==1.0.2, + any.binary-orphans ==1.0.3, + any.bitvec ==1.1.3.0, + bitvec -libgmp, any.bitwise ==1.0.0.1, any.blaze-builder ==0.4.2.2, any.blaze-html ==0.9.1.2, @@ -56,9 +55,9 @@ constraints: any.Cabal ==3.4.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.2.0, + any.cassava ==0.5.3.0, cassava -bytestring--lt-0_10_4, - any.cereal ==0.5.8.2, + any.cereal ==0.5.8.3, cereal -bytestring-builder, any.chimera ==0.3.2.0, chimera +representable, @@ -69,15 +68,15 @@ constraints: any.Cabal ==3.4.1.0, any.comonad ==5.0.8, comonad +containers +distributive +indexed-traversable, any.concurrent-extra ==0.7.0.12, - any.config-value ==0.8.2.1, - any.constraints ==0.13.3, + any.config-value ==0.8.3, + any.constraints ==0.13.4, any.containers ==0.6.4.1, any.contravariant ==1.5.5, contravariant +semigroups +statevar +tagged, any.cookie ==0.4.5, - any.criterion ==1.5.13.0, + any.criterion ==1.6.0.0, criterion -embed-data-files -fast, - any.criterion-measurement ==0.1.3.0, + any.criterion-measurement ==0.2.0.0, criterion-measurement -fast, any.cryptohash-md5 ==0.11.101.0, any.cryptohash-sha1 ==0.11.101.0, @@ -91,7 +90,7 @@ constraints: any.Cabal ==3.4.1.0, any.data-fix ==0.3.2, any.deepseq ==1.4.5.0, any.dense-linear-algebra ==0.1.0.0, - any.deriving-compat ==0.6, + any.deriving-compat ==0.6.1, deriving-compat +base-4-9 +new-functor-classes +template-haskell-2-11, any.directory ==1.3.6.2, any.distributive ==0.6.2.1, @@ -110,7 +109,7 @@ constraints: any.Cabal ==3.4.1.0, any.filelock ==0.1.1.5, any.filepath ==1.4.2.1, any.fingertree ==0.1.5.0, - any.free ==5.1.7, + any.free ==5.1.9, any.ghc-bignum ==1.1, any.ghc-boot-th ==9.0.2, any.ghc-prim ==0.7.0, @@ -131,34 +130,33 @@ constraints: any.Cabal ==3.4.1.0, any.http2 ==3.0.3, http2 -devel -doc -h2spec, any.indexed-traversable ==0.1.2, - any.indexed-traversable-instances ==0.1.1, + any.indexed-traversable-instances ==0.1.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.5.5, + any.invariant ==0.6, any.io-streams ==1.5.2.1, io-streams +network -nointeractivetests +zlib, any.iproute ==1.7.12, any.js-chart ==2.9.4.1, - any.kan-extensions ==5.2.3, - any.lens ==5.1, + any.kan-extensions ==5.2.5, + any.lens ==5.1.1, lens -benchmark-uniplate -dump-splices +inlining -j +test-hunit +test-properties +test-templates +trustworthy, - any.libBF ==0.6.3, + any.libBF ==0.6.4, libBF -system-libbf, + any.libffi ==0.2, + libffi +ghc-bundled-libffi, any.math-functions ==0.3.4.2, math-functions +system-erf +system-expm1, - any.megaparsec ==9.2.0, + any.megaparsec ==9.2.1, megaparsec -dev, any.memory ==0.17.0, memory +support_bytestring +support_deepseq, - any.microstache ==1.0.2, + any.microstache ==1.0.2.2, any.mod ==0.1.2.2, mod +semirings +vector, any.monad-control ==1.0.3.1, - any.monad-par ==0.3.5, - monad-par -chaselev -newgeneric, - any.monad-par-extras ==0.3.3, any.monadLib ==3.10.1, any.mtl ==2.2.2, any.mwc-random ==0.15.0.2, @@ -168,7 +166,7 @@ constraints: any.Cabal ==3.4.1.0, network -devel, any.network-byte-order ==0.1.6, any.network-info ==0.2.1, - any.newtype-generics ==0.6.1, + 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.0.3, @@ -185,20 +183,20 @@ constraints: any.Cabal ==3.4.1.0, any.pretty ==1.1.3.6, any.prettyprinter ==1.7.1, prettyprinter -buildreadme +text, - any.primitive ==0.7.3.0, + any.primitive ==0.7.4.0, any.process ==1.6.13.2, any.profunctors ==5.6.2, any.psqueues ==0.2.7.3, - any.quickcheck-instances ==0.3.27, + any.quickcheck-instances ==0.3.28, quickcheck-instances -bytestring-builder, - any.random ==1.2.1, + any.random ==1.2.1.1, any.reflection ==2.1.6, reflection -slow +template-haskell, any.regex-base ==0.94.0.2, any.regex-compat ==0.95.2.1, any.regex-posix ==0.96.0.1, regex-posix -_regex-posix-clib, - any.resourcet ==1.2.4.3, + any.resourcet ==1.2.6, any.rts ==1.0.2, any.safe ==0.3.19, any.sbv ==9.0, @@ -220,7 +218,7 @@ constraints: any.Cabal ==3.4.1.0, any.simple-smt ==0.9.7, any.splitmix ==0.1.0.4, splitmix -optimised-mixer, - any.statistics ==0.16.0.2, + any.statistics ==0.16.1.0, any.stm ==2.5.0.0, any.streaming-commons ==0.2.2.4, streaming-commons -use-bytestring-builder, @@ -229,7 +227,7 @@ constraints: any.Cabal ==3.4.1.0, any.syb ==0.7.2.1, any.tagged ==0.8.6.1, tagged +deepseq +transformers, - any.tasty ==1.4.2.1, + any.tasty ==1.4.2.3, tasty +clock +unix, any.tasty-hunit ==0.10.0.3, any.tasty-quickcheck ==0.10.2, @@ -244,7 +242,7 @@ constraints: any.Cabal ==3.4.1.0, any.text-short ==0.1.5, text-short -asserts, any.tf-random ==0.5, - any.th-abstraction ==0.4.3.0, + any.th-abstraction ==0.4.4.0, any.th-lift ==0.8.2, any.th-lift-instances ==0.1.19, any.these ==1.1.1.1, @@ -253,19 +251,19 @@ constraints: any.Cabal ==3.4.1.0, any.time-compat ==1.9.6.1, time-compat -old-locale, any.time-manager ==0.0.0, - any.tls ==1.5.7, + any.tls ==1.6.0, tls +compat -hans +network, any.tls-session-manager ==0.0.4, any.transformers ==0.5.6.2, any.transformers-base ==0.4.6, transformers-base +orphaninstances, - any.transformers-compat ==0.7.1, + 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-compat ==0.5.4, + any.unix-compat ==0.6, unix-compat -old-time, any.unix-time ==0.4.7, any.unliftio ==0.2.22.0, @@ -279,7 +277,7 @@ constraints: any.Cabal ==3.4.1.0, vault +useghc, any.vector ==0.12.3.1, vector +boundschecks -internalchecks -unsafechecks -wall, - any.vector-algorithms ==0.8.0.4, + any.vector-algorithms ==0.9.0.1, vector-algorithms +bench +boundschecks -internalchecks -llvm +properties -unsafechecks, any.vector-binary-instances ==0.2.5.2, any.vector-th-unbox ==0.2.2, @@ -287,19 +285,19 @@ constraints: any.Cabal ==3.4.1.0, any.void ==0.7.3, void -safe, any.wai ==3.2.3, - any.wai-extra ==3.1.10, + any.wai-extra ==3.1.12.1, wai-extra -build-example, any.wai-logger ==2.4.0, - any.warp ==3.3.20, + any.warp ==3.3.22, warp +allow-sendfilefd -network-bytestring -warp-debug +x509, - any.warp-tls ==3.3.2, + any.warp-tls ==3.3.3, any.wcwidth ==0.0.2, wcwidth -cli +split-base, any.what4 ==1.3, what4 -drealtestdisable -solvertests -stptestdisable, any.witherable ==0.4.2, any.word8 ==0.1.3, - any.x509 ==1.7.6, + any.x509 ==1.7.7, any.x509-store ==1.6.9, any.x509-validation ==1.6.12, any.xml ==1.3.14, @@ -307,4 +305,4 @@ constraints: any.Cabal ==3.4.1.0, any.zlib ==0.6.3.0, zlib -bundled-c-zlib -non-blocking-ffi -pkg-config, any.zlib-bindings ==0.1.1.5 -index-state: hackage.haskell.org 2022-05-04T18:13:54Z +index-state: hackage.haskell.org 2022-08-12T18:38:07Z diff --git a/cabal.GHC-9.2.2.config b/cabal.GHC-9.2.4.config similarity index 85% rename from cabal.GHC-9.2.2.config rename to cabal.GHC-9.2.4.config index db68aade8..ca38427df 100644 --- a/cabal.GHC-9.2.2.config +++ b/cabal.GHC-9.2.4.config @@ -11,10 +11,7 @@ constraints: any.Cabal ==3.6.3.0, any.QuickCheck ==2.14.2, QuickCheck -old-random +templatehaskell, any.StateVar ==1.2.2, - any.abstract-deque ==0.3, - abstract-deque -usecas, - any.abstract-par ==0.3.3, - any.adjunctions ==4.4, + any.adjunctions ==4.4.1, any.aeson ==2.0.3.0, aeson -cffi +ordered-keymap, any.alex ==3.2.7.1, @@ -23,7 +20,7 @@ constraints: any.Cabal ==3.6.3.0, any.ansi-wl-pprint ==0.6.9, ansi-wl-pprint -example, any.appar ==0.1.8, - any.arithmoi ==0.12.0.1, + any.arithmoi ==0.12.0.2, any.array ==0.5.4.0, any.asn1-encoding ==0.9.6, any.asn1-parse ==0.9.5, @@ -34,17 +31,19 @@ constraints: any.Cabal ==3.6.3.0, any.attoparsec ==0.14.4, attoparsec -developer, any.auto-update ==0.1.6, - any.base ==4.16.1.0, - any.base-compat ==0.12.1, - any.base-compat-batteries ==0.12.1, - any.base-orphans ==0.8.6, + any.base ==4.16.3.0, + any.base-compat ==0.12.2, + any.base-compat-batteries ==0.12.2, + any.base-orphans ==0.8.7, any.base64-bytestring ==1.2.1.0, any.basement ==0.0.14, - any.bifunctors ==5.5.11, + any.bifunctors ==5.5.12, bifunctors +semigroups +tagged, - any.bimap ==0.4.0, + any.bimap ==0.5.0, any.binary ==0.8.9.0, - any.binary-orphans ==1.0.2, + any.binary-orphans ==1.0.3, + any.bitvec ==1.1.3.0, + bitvec -libgmp, any.bitwise ==1.0.0.1, any.blaze-builder ==0.4.2.2, any.blaze-html ==0.9.1.2, @@ -56,9 +55,9 @@ constraints: any.Cabal ==3.6.3.0, any.cabal-doctest ==1.0.9, any.call-stack ==0.4.0, any.case-insensitive ==1.2.1.0, - any.cassava ==0.5.2.0, + any.cassava ==0.5.3.0, cassava -bytestring--lt-0_10_4, - any.cereal ==0.5.8.2, + any.cereal ==0.5.8.3, cereal -bytestring-builder, any.chimera ==0.3.2.0, chimera +representable, @@ -69,15 +68,15 @@ constraints: any.Cabal ==3.6.3.0, any.comonad ==5.0.8, comonad +containers +distributive +indexed-traversable, any.concurrent-extra ==0.7.0.12, - any.config-value ==0.8.2.1, - any.constraints ==0.13.3, + any.config-value ==0.8.3, + any.constraints ==0.13.4, any.containers ==0.6.5.1, any.contravariant ==1.5.5, contravariant +semigroups +statevar +tagged, any.cookie ==0.4.5, - any.criterion ==1.5.13.0, + any.criterion ==1.6.0.0, criterion -embed-data-files -fast, - any.criterion-measurement ==0.1.3.0, + any.criterion-measurement ==0.2.0.0, criterion-measurement -fast, any.cryptohash-md5 ==0.11.101.0, any.cryptohash-sha1 ==0.11.101.0, @@ -91,7 +90,7 @@ constraints: any.Cabal ==3.6.3.0, any.data-fix ==0.3.2, any.deepseq ==1.4.6.1, any.dense-linear-algebra ==0.1.0.0, - any.deriving-compat ==0.6, + any.deriving-compat ==0.6.1, deriving-compat +base-4-9 +new-functor-classes +template-haskell-2-11, any.directory ==1.3.6.2, any.distributive ==0.6.2.1, @@ -110,9 +109,9 @@ constraints: any.Cabal ==3.6.3.0, any.filelock ==0.1.1.5, any.filepath ==1.4.2.2, any.fingertree ==0.1.5.0, - any.free ==5.1.7, + any.free ==5.1.9, any.ghc-bignum ==1.2, - any.ghc-boot-th ==9.2.2, + any.ghc-boot-th ==9.2.4, any.ghc-prim ==0.8.0, any.gitrev ==1.3.1, any.happy ==1.20.0, @@ -131,34 +130,33 @@ constraints: any.Cabal ==3.6.3.0, any.http2 ==3.0.3, http2 -devel -doc -h2spec, any.indexed-traversable ==0.1.2, - any.indexed-traversable-instances ==0.1.1, + any.indexed-traversable-instances ==0.1.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.5.5, + any.invariant ==0.6, any.io-streams ==1.5.2.1, io-streams +network -nointeractivetests +zlib, any.iproute ==1.7.12, any.js-chart ==2.9.4.1, - any.kan-extensions ==5.2.3, - any.lens ==5.1, + any.kan-extensions ==5.2.5, + any.lens ==5.1.1, lens -benchmark-uniplate -dump-splices +inlining -j +test-hunit +test-properties +test-templates +trustworthy, - any.libBF ==0.6.3, + any.libBF ==0.6.4, libBF -system-libbf, + any.libffi ==0.2, + libffi +ghc-bundled-libffi, any.math-functions ==0.3.4.2, math-functions +system-erf +system-expm1, - any.megaparsec ==9.2.0, + any.megaparsec ==9.2.1, megaparsec -dev, any.memory ==0.17.0, memory +support_bytestring +support_deepseq, - any.microstache ==1.0.2, + any.microstache ==1.0.2.2, any.mod ==0.1.2.2, mod +semirings +vector, any.monad-control ==1.0.3.1, - any.monad-par ==0.3.5, - monad-par -chaselev -newgeneric, - any.monad-par-extras ==0.3.3, any.monadLib ==3.10.1, any.mtl ==2.2.2, any.mwc-random ==0.15.0.2, @@ -168,7 +166,7 @@ constraints: any.Cabal ==3.6.3.0, network -devel, any.network-byte-order ==0.1.6, any.network-info ==0.2.1, - any.newtype-generics ==0.6.1, + 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.0.3, @@ -185,20 +183,20 @@ constraints: any.Cabal ==3.6.3.0, any.pretty ==1.1.3.6, any.prettyprinter ==1.7.1, prettyprinter -buildreadme +text, - any.primitive ==0.7.3.0, + any.primitive ==0.7.4.0, any.process ==1.6.13.2, any.profunctors ==5.6.2, any.psqueues ==0.2.7.3, - any.quickcheck-instances ==0.3.27, + any.quickcheck-instances ==0.3.28, quickcheck-instances -bytestring-builder, - any.random ==1.2.1, + any.random ==1.2.1.1, any.reflection ==2.1.6, reflection -slow +template-haskell, any.regex-base ==0.94.0.2, any.regex-compat ==0.95.2.1, any.regex-posix ==0.96.0.1, regex-posix -_regex-posix-clib, - any.resourcet ==1.2.4.3, + any.resourcet ==1.2.6, any.rts ==1.0.2, any.safe ==0.3.19, any.sbv ==9.0, @@ -220,7 +218,7 @@ constraints: any.Cabal ==3.6.3.0, any.simple-smt ==0.9.7, any.splitmix ==0.1.0.4, splitmix -optimised-mixer, - any.statistics ==0.16.0.2, + any.statistics ==0.16.1.0, any.stm ==2.5.0.2, any.streaming-commons ==0.2.2.4, streaming-commons -use-bytestring-builder, @@ -229,7 +227,7 @@ constraints: any.Cabal ==3.6.3.0, any.syb ==0.7.2.1, any.tagged ==0.8.6.1, tagged +deepseq +transformers, - any.tasty ==1.4.2.1, + any.tasty ==1.4.2.3, tasty +clock +unix, any.tasty-hunit ==0.10.0.3, any.tasty-quickcheck ==0.10.2, @@ -244,7 +242,7 @@ constraints: any.Cabal ==3.6.3.0, any.text-short ==0.1.5, text-short -asserts, any.tf-random ==0.5, - any.th-abstraction ==0.4.3.0, + any.th-abstraction ==0.4.4.0, any.th-lift ==0.8.2, any.th-lift-instances ==0.1.19, any.these ==1.1.1.1, @@ -253,19 +251,19 @@ constraints: any.Cabal ==3.6.3.0, any.time-compat ==1.9.6.1, time-compat -old-locale, any.time-manager ==0.0.0, - any.tls ==1.5.7, + any.tls ==1.6.0, tls +compat -hans +network, any.tls-session-manager ==0.0.4, any.transformers ==0.5.6.2, any.transformers-base ==0.4.6, transformers-base +orphaninstances, - any.transformers-compat ==0.7.1, + 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-compat ==0.5.4, + any.unix-compat ==0.6, unix-compat -old-time, any.unix-time ==0.4.7, any.unliftio ==0.2.22.0, @@ -279,7 +277,7 @@ constraints: any.Cabal ==3.6.3.0, vault +useghc, any.vector ==0.12.3.1, vector +boundschecks -internalchecks -unsafechecks -wall, - any.vector-algorithms ==0.8.0.4, + any.vector-algorithms ==0.9.0.1, vector-algorithms +bench +boundschecks -internalchecks -llvm +properties -unsafechecks, any.vector-binary-instances ==0.2.5.2, any.vector-th-unbox ==0.2.2, @@ -287,19 +285,19 @@ constraints: any.Cabal ==3.6.3.0, any.void ==0.7.3, void -safe, any.wai ==3.2.3, - any.wai-extra ==3.1.10, + any.wai-extra ==3.1.12.1, wai-extra -build-example, any.wai-logger ==2.4.0, - any.warp ==3.3.20, + any.warp ==3.3.22, warp +allow-sendfilefd -network-bytestring -warp-debug +x509, - any.warp-tls ==3.3.2, + any.warp-tls ==3.3.3, any.wcwidth ==0.0.2, wcwidth -cli +split-base, any.what4 ==1.3, what4 -drealtestdisable -solvertests -stptestdisable, any.witherable ==0.4.2, any.word8 ==0.1.3, - any.x509 ==1.7.6, + any.x509 ==1.7.7, any.x509-store ==1.6.9, any.x509-validation ==1.6.12, any.xml ==1.3.14, @@ -307,4 +305,4 @@ constraints: any.Cabal ==3.6.3.0, any.zlib ==0.6.3.0, zlib -bundled-c-zlib -non-blocking-ffi -pkg-config, any.zlib-bindings ==0.1.1.5 -index-state: hackage.haskell.org 2022-05-04T18:13:54Z +index-state: hackage.haskell.org 2022-08-12T18:38:07Z diff --git a/cryptol-remote-api/Dockerfile b/cryptol-remote-api/Dockerfile index 225f64dd0..0cb6c870e 100644 --- a/cryptol-remote-api/Dockerfile +++ b/cryptol-remote-api/Dockerfile @@ -1,10 +1,17 @@ ARG GHCVER="8.10.7" ARG GHCVER_BOOTSTRAP="8.10.2" -FROM debian:buster-20210511 AS toolchain +FROM ubuntu:22.04 AS toolchain ARG PORTABILITY=false -RUN apt-get update && apt-get install -y libncurses-dev libz-dev unzip \ - build-essential curl libffi-dev libffi6 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5 libnuma-dev \ - $(if ${PORTABILITY}; then echo git autoconf python3; fi) +RUN apt-get update && \ + apt-get install -y \ + # ghcup requirements + build-essential curl libffi-dev libffi8 libgmp-dev libgmp10 libncurses-dev libncurses6 libtinfo6 \ + # Cryptol dependencies + zlib1g-dev \ + # GHC build dependencies + $(if ${PORTABILITY}; then echo git autoconf python3 libnuma-dev; fi) \ + # Miscellaneous + unzip 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.17.7/x86_64-linux-ghcup-0.1.17.7" && \ @@ -57,14 +64,14 @@ ENV PATH=/usr/local/bin:/cryptol/rootfs/usr/local/bin:$PATH RUN mkdir -p rootfs/"${CRYPTOLPATH}" \ && cp -r lib/* rootfs/"${CRYPTOLPATH}" WORKDIR /cryptol/rootfs/usr/local/bin -RUN curl -sL -o solvers.zip "https://github.com/GaloisInc/what4-solvers/releases/download/snapshot-20220114/ubuntu-18.04-bin.zip" && \ +RUN curl -sL -o solvers.zip "https://github.com/GaloisInc/what4-solvers/releases/download/snapshot-20220812/ubuntu-22.04-bin.zip" && \ unzip solvers.zip && rm solvers.zip && chmod +x * USER root RUN chown -R root:root /cryptol/rootfs -FROM debian:buster-20210511-slim +FROM ubuntu:22.04 RUN apt-get update \ - && apt-get install -y libgmp10 libgomp1 libffi6 libncurses6 libtinfo6 libreadline7 libnuma-dev openssl \ + && apt-get install -y libgmp10 libgomp1 libffi8 libncurses6 libtinfo6 libreadline8 libnuma-dev openssl \ && apt-get clean && rm -rf /var/lib/apt/lists/* RUN useradd -m cryptol && chown -R cryptol:cryptol /home/cryptol COPY --from=build /cryptol/rootfs / diff --git a/docs/RefMan/FFI.rst b/docs/RefMan/FFI.rst index 6ef7ecbd9..84eba5320 100644 --- a/docs/RefMan/FFI.rst +++ b/docs/RefMan/FFI.rst @@ -188,20 +188,23 @@ Other sizes of floating points are not supported. Sequences ~~~~~~~~~ -Let ``n : #`` be a Cryptol type, possibly containing type variables, that -satisfies ``fin n``, and ``T`` be one of the above Cryptol *integral types* or -*floating point types*. Let ``U`` be the C type that ``T`` corresponds to. - -============ =========== -Cryptol type C type -============ =========== -``[n]T`` ``U*`` -============ =========== - -The C pointer points to an array of ``n`` elements of type ``U``. Note that, -while the length of the array itself is not explicitly passed along with the -pointer, any type arguments contained in the size are passed as C ``size_t``'s -earlier, so the C code can always know the length of the array. +Let ``n1, n2, ..., nk : #`` be Cryptol types (with ``k >= 1``), possibly +containing type variables, that satisfy ``fin n1, fin n2, ..., fin nk``, and +``T`` be one of the above Cryptol *integral types* or *floating point types*. +Let ``U`` be the C type that ``T`` corresponds to. + +==================== =========== +Cryptol type C type +==================== =========== +``[n1][n2]...[nk]T`` ``U*`` +==================== =========== + +The C pointer points to an array of ``n1 * n2 * ... * nk`` elements of type +``U``. If the sequence is multidimensional, it is flattened and stored +contiguously, similar to the representation of multidimensional arrays in C. +Note that, while the dimensions of the array itself are not explicitly passed +along with the pointer, any type arguments contained in the size are passed as C +``size_t``'s earlier, so the C code can always know the dimensions of the array. Tuples and records ~~~~~~~~~~~~~~~~~~ @@ -258,12 +261,12 @@ Cryptol type (or kind) C argument type(s) C return type C output ``[K]Bit`` where ``32 < K <= 64`` ``uint64_t`` ``uint64_t`` ``uint64_t*`` ``Float32`` ``float`` ``float`` ``float*`` ``Float64`` ``double`` ``double`` ``double*`` -``[n]T`` ``U*`` N/A ``U*`` +``[n1][n2]...[nk]T`` ``U*`` N/A ``U*`` ``(T1, T2, ..., Tn)`` ``U1, U2, ..., Un`` N/A ``V1, V2, ..., Vn`` ``{f1: T1, f2: T2, ..., fn: Tn}`` ``U1, U2, ..., Un`` N/A ``V1, V2, ..., Vn`` ================================== =================== ============= ========================= -where ``K`` is a constant number, ``n`` is a variable number, ``Ti`` is a type, +where ``K`` is a constant number, ``ni`` are variable numbers, ``Ti`` is a type, ``Ui`` is its C argument type, and ``Vi`` is its C output argument type. Memory diff --git a/docs/RefMan/_build/doctrees/FFI.doctree b/docs/RefMan/_build/doctrees/FFI.doctree index 11ab91157..8b44e1ef0 100644 Binary files a/docs/RefMan/_build/doctrees/FFI.doctree and b/docs/RefMan/_build/doctrees/FFI.doctree differ diff --git a/docs/RefMan/_build/doctrees/environment.pickle b/docs/RefMan/_build/doctrees/environment.pickle index dbda8b1dc..1e4de8bee 100644 Binary files a/docs/RefMan/_build/doctrees/environment.pickle and b/docs/RefMan/_build/doctrees/environment.pickle differ diff --git a/docs/RefMan/_build/html/FFI.html b/docs/RefMan/_build/html/FFI.html index 918a0aeec..98e8b9ced 100644 --- a/docs/RefMan/_build/html/FFI.html +++ b/docs/RefMan/_build/html/FFI.html @@ -303,13 +303,14 @@
Let n : #
be a Cryptol type, possibly containing type variables, that
-satisfies fin n
, and T
be one of the above Cryptol integral types or
-floating point types. Let U
be the C type that T
corresponds to.
Let n1, n2, ..., nk : #
be Cryptol types (with k >= 1
), possibly
+containing type variables, that satisfy fin n1, fin n2, ..., fin nk
, and
+T
be one of the above Cryptol integral types or floating point types.
+Let U
be the C type that T
corresponds to.
Cryptol type |
@@ -317,15 +318,17 @@
|
+||
---|---|---|---|
|
|
The C pointer points to an array of n
elements of type U
. Note that,
-while the length of the array itself is not explicitly passed along with the
-pointer, any type arguments contained in the size are passed as C size_t
’s
-earlier, so the C code can always know the length of the array.
The C pointer points to an array of n1 * n2 * ... * nk
elements of type
+U
. If the sequence is multidimensional, it is flattened and stored
+contiguously, similar to the representation of multidimensional arrays in C.
+Note that, while the dimensions of the array itself are not explicitly passed
+along with the pointer, any type arguments contained in the size are passed as C
+size_t
’s earlier, so the C code can always know the dimensions of the array.
double*
[n]T
[n1][n2]...[nk]T
U*
N/A
U*
n
is a variable number, Ti
is a type,
+where K
is a constant number, ni
are variable numbers, Ti
is a type,
Ui
is its C argument type, and Vi
is its C output argument type.