From ed0fd9bab79f477256c4cc747ac621c2cfa9f87f Mon Sep 17 00:00:00 2001 From: Julian Ospald Date: Fri, 2 Feb 2024 17:31:09 +0800 Subject: [PATCH] Support GHC-9.6 wrt #979 --- .github/workflows/cabal.project.yaml | 4 +- .github/workflows/release.yaml | 55 +++--- app/ghcup/Main.hs | 1 + cabal.ghc8107.Unix.project | 11 +- cabal.ghc8107.Unix.project.freeze | 15 +- cabal.ghc8107.Win32.project | 11 +- cabal.ghc8107.Win32.project.freeze | 14 +- cabal.ghc902.Unix.project | 11 +- cabal.ghc902.Unix.project.freeze | 15 +- cabal.ghc902.Win32.project | 11 +- cabal.ghc902.Win32.project.freeze | 14 +- cabal.ghc928.Unix.project | 11 +- cabal.ghc928.Unix.project.freeze | 14 +- cabal.ghc928.Win32.project | 11 +- cabal.ghc928.Win32.project.freeze | 13 +- cabal.ghc948.Unix.project | 11 +- cabal.ghc948.Unix.project.freeze | 14 +- cabal.ghc948.Win32.project | 11 +- cabal.ghc948.Win32.project.freeze | 13 +- cabal.ghc965.Unix.project | 55 ++++++ cabal.ghc965.Unix.project.freeze | 254 +++++++++++++++++++++++++++ cabal.ghc965.Win32.project | 55 ++++++ cabal.ghc965.Win32.project.freeze | 239 +++++++++++++++++++++++++ cabal.ghc965.project | 8 + cabal.project | 11 +- cabal.project.release | 16 +- ghcup.cabal | 20 ++- lib-opt/GHCup/OptParse/Common.hs | 2 + lib-opt/GHCup/OptParse/Compile.hs | 1 + lib-opt/GHCup/OptParse/Config.hs | 1 + lib-opt/GHCup/OptParse/GC.hs | 1 + lib-opt/GHCup/OptParse/Install.hs | 1 + lib-opt/GHCup/OptParse/List.hs | 1 + lib-opt/GHCup/OptParse/Nuke.hs | 1 + lib-opt/GHCup/OptParse/Prefetch.hs | 1 + lib-opt/GHCup/OptParse/Rm.hs | 1 + lib-opt/GHCup/OptParse/Run.hs | 1 + lib-opt/GHCup/OptParse/Upgrade.hs | 1 + lib-tui/GHCup/Brick/Actions.hs | 1 + lib-tui/GHCup/Brick/App.hs | 3 +- lib/GHCup/Prelude/File.hs | 1 + lib/GHCup/Prelude/File/Search.hs | 1 + lib/GHCup/Prelude/Process/Posix.hs | 2 +- lib/GHCup/Utils/Parsers.hs | 13 +- stack.yaml | 43 +++-- 45 files changed, 813 insertions(+), 181 deletions(-) create mode 100644 cabal.ghc965.Unix.project create mode 100644 cabal.ghc965.Unix.project.freeze create mode 100644 cabal.ghc965.Win32.project create mode 100644 cabal.ghc965.Win32.project.freeze create mode 100644 cabal.ghc965.project diff --git a/.github/workflows/cabal.project.yaml b/.github/workflows/cabal.project.yaml index 09e4c10e..a4309a29 100644 --- a/.github/workflows/cabal.project.yaml +++ b/.github/workflows/cabal.project.yaml @@ -20,12 +20,14 @@ jobs: fail-fast: false matrix: os: [macOS-12, windows-latest, ubuntu-latest] - ghc: ["8.10.7", "9.0.2", "9.2.8", "9.4.8"] + ghc: ["8.10.7", "9.0.2", "9.2.8", "9.4.8", "9.6.5"] include: - os: macOS-latest ghc: "9.2.8" - os: macOS-latest ghc: "9.4.8" + - os: macOS-latest + ghc: "9.6.5" steps: - name: Checkout code uses: actions/checkout@v4 diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 103a0f96..21f04609 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -21,7 +21,7 @@ jobs: name: Build linux binary runs-on: ${{ matrix.os }} env: - CABAL_VER: 3.10.2.0 + CABAL_VER: 3.10.3.0 JSON_VERSION: "0.0.8" AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} @@ -36,7 +36,7 @@ jobs: ARCH: 32 - os: ubuntu-latest ARTIFACT: "x86_64-linux-ghcup" - GHC_VER: 9.4.8 + GHC_VER: 9.6.5 ARCH: 64 steps: - name: Checkout code @@ -85,7 +85,7 @@ jobs: name: Build ARM binary runs-on: ${{ matrix.os }} env: - CABAL_VER: 3.6.2.0 + CABAL_VER: 3.10.3.0 JSON_VERSION: "0.0.8" AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} @@ -100,7 +100,7 @@ jobs: ARCH: ARM - os: [self-hosted, Linux, ARM64, maerwald] ARTIFACT: "aarch64-linux-ghcup" - GHC_VER: 9.4.8 + GHC_VER: 9.6.5 ARCH: ARM64 steps: - name: git config @@ -154,27 +154,28 @@ jobs: name: Build binary (Mac/Win) runs-on: ${{ matrix.os }} env: - CABAL_VER: 3.10.2.0 + CABAL_VER: 3.10.3.0 MACOSX_DEPLOYMENT_TARGET: 10.13 JSON_VERSION: "0.0.8" AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} S3_HOST: ${{ secrets.S3_HOST }} + LLVM_VER: 16 strategy: fail-fast: false matrix: include: - os: [self-hosted, macOS, ARM64] ARTIFACT: "aarch64-apple-darwin-ghcup" - GHC_VER: 9.4.8 + GHC_VER: 9.6.5 ARCH: ARM64 - os: macOS-12 ARTIFACT: "x86_64-apple-darwin-ghcup" - GHC_VER: 9.4.8 + GHC_VER: 9.6.5 ARCH: 64 - os: windows-latest ARTIFACT: "x86_64-mingw64-ghcup" - GHC_VER: 9.4.8 + GHC_VER: 9.6.5 ARCH: 64 steps: - name: Checkout code @@ -185,13 +186,13 @@ jobs: - if: matrix.ARCH == 'ARM64' && runner.os == 'macOS' name: Run build run: | - bash .github/scripts/brew.sh git coreutils llvm@13 autoconf automake - export PATH="$HOME/.brew/bin:$HOME/.brew/sbin:$HOME/.brew/opt/llvm@13/bin:$PATH" - export CC="$HOME/.brew/opt/llvm@13/bin/clang" - export CXX="$HOME/.brew/opt/llvm@13/bin/clang++" + bash .github/scripts/brew.sh git coreutils llvm@${{ env.LLVM_VER }} autoconf automake + export PATH="$HOME/.brew/bin:$HOME/.brew/sbin:$HOME/.brew/opt/llvm@${{ env.LLVM_VER }}/bin:$PATH" + export CC="$HOME/.brew/opt/llvm@${{ env.LLVM_VER }}/bin/clang" + export CXX="$HOME/.brew/opt/llvm@${{ env.LLVM_VER }}/bin/clang++" export LD=ld - export AR="$HOME/.brew/opt/llvm@13/bin/llvm-ar" - export RANLIB="$HOME/.brew/opt/llvm@13/bin/llvm-ranlib" + export AR="$HOME/.brew/opt/llvm@${{ env.LLVM_VER }}/bin/llvm-ar" + export RANLIB="$HOME/.brew/opt/llvm@${{ env.LLVM_VER }}/bin/llvm-ranlib" bash .github/scripts/build.sh env: ARTIFACT: ${{ matrix.ARTIFACT }} @@ -246,14 +247,14 @@ jobs: name: Build binary (FreeBSD) runs-on: [self-hosted, FreeBSD, X64] env: - CABAL_VER: 3.10.2.0 + CABAL_VER: 3.10.3.0 MACOSX_DEPLOYMENT_TARGET: 10.13 JSON_VERSION: "0.0.8" AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} S3_HOST: ${{ secrets.S3_HOST }} ARTIFACT: "x86_64-portbld-freebsd-ghcup" - GHC_VER: 9.4.8 + GHC_VER: 9.6.5 ARCH: 64 DISTRO: na RUNNER_OS: FreeBSD @@ -283,7 +284,7 @@ jobs: needs: "build-linux" runs-on: ${{ matrix.os }} env: - CABAL_VER: 3.10.2.0 + CABAL_VER: 3.10.3.0 JSON_VERSION: "0.0.8" strategy: matrix: @@ -295,12 +296,12 @@ jobs: DISTRO: Alpine - os: ubuntu-latest ARTIFACT: "x86_64-linux-ghcup" - GHC_VER: 9.4.8 + GHC_VER: 9.6.5 ARCH: 64 DISTRO: Alpine - os: ubuntu-latest ARTIFACT: "x86_64-linux-ghcup" - GHC_VER: 9.4.8 + GHC_VER: 9.6.5 ARCH: 64 DISTRO: Ubuntu @@ -361,7 +362,7 @@ jobs: needs: "build-arm" runs-on: ${{ matrix.os }} env: - CABAL_VER: 3.6.2.0 + CABAL_VER: 3.10.3.0 JSON_VERSION: "0.0.8" strategy: matrix: @@ -373,7 +374,7 @@ jobs: DISTRO: Ubuntu - os: [self-hosted, Linux, ARM64, maerwald] ARTIFACT: "aarch64-linux-ghcup" - GHC_VER: 9.4.8 + GHC_VER: 9.6.5 ARCH: ARM64 DISTRO: Ubuntu @@ -424,7 +425,7 @@ jobs: needs: "build-macwin" runs-on: ${{ matrix.os }} env: - CABAL_VER: 3.10.2.0 + CABAL_VER: 3.10.3.0 MACOSX_DEPLOYMENT_TARGET: 10.13 JSON_VERSION: "0.0.8" strategy: @@ -432,17 +433,17 @@ jobs: include: - os: [self-hosted, macOS, ARM64] ARTIFACT: "aarch64-apple-darwin-ghcup" - GHC_VER: 9.4.8 + GHC_VER: 9.6.5 ARCH: ARM64 DISTRO: na - os: macOS-12 ARTIFACT: "x86_64-apple-darwin-ghcup" - GHC_VER: 9.4.8 + GHC_VER: 9.6.5 ARCH: 64 DISTRO: na - os: windows-latest ARTIFACT: "x86_64-mingw64-ghcup" - GHC_VER: 9.4.8 + GHC_VER: 9.6.5 ARCH: 64 DISTRO: na @@ -500,11 +501,11 @@ jobs: needs: "build-freebsd" runs-on: [self-hosted, FreeBSD, X64] env: - CABAL_VER: 3.10.2.0 + CABAL_VER: 3.10.3.0 MACOSX_DEPLOYMENT_TARGET: 10.13 JSON_VERSION: "0.0.8" ARTIFACT: "x86_64-portbld-freebsd-ghcup" - GHC_VER: 9.4.8 + GHC_VER: 9.6.5 ARCH: 64 DISTRO: na RUNNER_OS: FreeBSD diff --git a/app/ghcup/Main.hs b/app/ghcup/Main.hs index 391d932d..1464d64b 100644 --- a/app/ghcup/Main.hs +++ b/app/ghcup/Main.hs @@ -32,6 +32,7 @@ import GHCup.Prelude.Logger import GHCup.Prelude.String.QQ import GHCup.Version +import Control.Monad (when, forM_, unless) import Control.Concurrent import Control.Concurrent.Async import Control.Exception.Safe diff --git a/cabal.ghc8107.Unix.project b/cabal.ghc8107.Unix.project index 81251857..9678fc47 100644 --- a/cabal.ghc8107.Unix.project +++ b/cabal.ghc8107.Unix.project @@ -11,29 +11,26 @@ else constraints: http-io-streams -brotli, any.aeson >= 2.0.1.0, - any.hsc2hs ==0.68.8, + any.hsc2hs >=0.68.10, bzlib-conduit >= 0.3.0.3, bz2 >= 1.0.1.1, bzlib >= 0.5.2.0, directory >= 1.3.8.3, - filepath == 1.4.101.0 || == 1.4.300.1 || >= 1.5.2.0 + filepath == 1.4.101.0 || == 1.4.300.1 || >= 1.5.2.0, + tar >= 0.6.2.0 constraints: text -simdutf if os(mingw32) constraints: zlib +bundled-c-zlib, lzma +static, + text -simdutf, vty-windows >=0.2.0.2 if impl(ghc >= 9.4) constraints: language-c >= 0.9.3 -source-repository-package - type: git - location: https://github.com/haskell/tar.git - tag: d94a988be4311b830149a9f8fc16739927e5fc1c - source-repository-package type: git location: https://github.com/hasufell/uri-bytestring.git diff --git a/cabal.ghc8107.Unix.project.freeze b/cabal.ghc8107.Unix.project.freeze index eb2c285a..b4f1dd63 100644 --- a/cabal.ghc8107.Unix.project.freeze +++ b/cabal.ghc8107.Unix.project.freeze @@ -96,8 +96,13 @@ constraints: any.Cabal ==3.10.3.0, any.hashable ==1.4.4.0, hashable +integer-gmp -random-initial-seed, any.variant == 1.0, - any.hsc2hs ==0.68.8, + any.hsc2hs ==0.68.10, hsc2hs -in-ghc-tree, + any.hspec ==2.11.8, + any.hspec-core ==2.11.8, + any.hspec-discover ==2.11.8, + any.hspec-expectations ==0.8.4, + any.hspec-golden-aeson ==0.9.0.0, any.http-io-streams ==0.1.7.0, http-io-streams -brotli +fast-xor, any.indexed-profunctors ==0.1.1.1, @@ -141,6 +146,7 @@ constraints: any.Cabal ==3.10.3.0, optparse-applicative +process, any.os-release ==1.0.2.1, os-release -devel, + any.os-string ==2.0.2.1, any.parsec ==3.1.17.0, any.parser-combinators ==1.3.0, parser-combinators -dev, @@ -177,7 +183,10 @@ constraints: any.Cabal ==3.10.3.0, any.tagged ==0.8.8, tagged +deepseq +transformers, any.tagsoup ==0.14.8, - any.tar ==0.6.0.0, + any.tar ==0.6.2.0, + any.tasty ==1.5, + tasty +unix, + any.tasty-hunit ==0.10.1, any.template-haskell ==2.16.0.0, any.temporary ==1.3, any.terminal-progress-bar ==0.4.2, @@ -203,7 +212,7 @@ constraints: any.Cabal ==3.10.3.0, transformers-compat -five +five-three -four +generic-deriving +mtl -three -two, any.unix ==2.8.5.1, unix -os-string, - any.unix-bytestring ==0.3.7.8, + any.unix-bytestring ==0.4.0.1, any.unix-compat ==0.7.1, unix-compat -old-time, any.unliftio-core ==0.2.1.0, diff --git a/cabal.ghc8107.Win32.project b/cabal.ghc8107.Win32.project index 0bc6c171..478cb334 100644 --- a/cabal.ghc8107.Win32.project +++ b/cabal.ghc8107.Win32.project @@ -11,29 +11,26 @@ else constraints: http-io-streams -brotli, any.aeson >= 2.0.1.0, - any.hsc2hs ==0.68.8, + any.hsc2hs >=0.68.10, bzlib-conduit >= 0.3.0.3, bz2 >= 1.0.1.1, bzlib >= 0.5.2.0, directory >= 1.3.8.3, - filepath == 1.4.101.0 || == 1.4.300.1 || >= 1.5.2.0 + filepath == 1.4.101.0 || == 1.4.300.1 || >= 1.5.2.0, + tar >= 0.6.2.0 constraints: text -simdutf if os(mingw32) constraints: zlib +bundled-c-zlib, lzma +static, + text -simdutf, vty-windows >=0.2.0.2 if impl(ghc >= 9.4) constraints: language-c >= 0.9.3 -source-repository-package - type: git - location: https://github.com/haskell/tar.git - tag: d94a988be4311b830149a9f8fc16739927e5fc1c - source-repository-package type: git location: https://github.com/hasufell/uri-bytestring.git diff --git a/cabal.ghc8107.Win32.project.freeze b/cabal.ghc8107.Win32.project.freeze index ade6905a..bcba58d7 100644 --- a/cabal.ghc8107.Win32.project.freeze +++ b/cabal.ghc8107.Win32.project.freeze @@ -95,12 +95,12 @@ constraints: any.Cabal ==3.10.2.1 || ==3.10.3.0, hashable +integer-gmp -random-initial-seed, any.haskell-lexer ==1.1.1, any.variant == 1.0, - any.hsc2hs ==0.68.8, + any.hsc2hs ==0.68.10, hsc2hs -in-ghc-tree, - any.hspec ==2.10.10, - any.hspec-core ==2.10.10, - any.hspec-discover ==2.10.10, - any.hspec-expectations ==0.8.2, + any.hspec ==2.11.7, + any.hspec-core ==2.11.7, + any.hspec-discover ==2.11.7, + any.hspec-expectations ==0.8.4, any.hspec-golden-aeson ==0.9.0.0, any.indexed-profunctors ==0.1.1.1, any.indexed-traversable ==0.1.3, @@ -138,6 +138,7 @@ constraints: any.Cabal ==3.10.2.1 || ==3.10.3.0, optparse-applicative +process, any.os-release ==1.0.2.1, os-release -devel, + any.os-string ==2.0.2, any.parsec ==3.1.14.0 || ==3.1.17.0, any.parser-combinators ==1.3.0, parser-combinators -dev, @@ -168,7 +169,6 @@ constraints: any.Cabal ==3.10.2.1 || ==3.10.3.0, semialign +semigroupoids, any.semigroupoids ==6.0.0.1, semigroupoids +comonad +containers +contravariant +distributive +tagged +unordered-containers, - any.setenv ==0.1.1.3, any.split ==0.2.5, any.splitmix ==0.1.0.5, splitmix -optimised-mixer, @@ -178,7 +178,7 @@ constraints: any.Cabal ==3.10.2.1 || ==3.10.3.0, any.tagged ==0.8.8, tagged +deepseq +transformers, any.tagsoup ==0.14.8, - any.tar ==0.6.0.0, + any.tar ==0.6.2.0, any.tasty ==1.5, tasty +unix, any.tasty-hunit ==0.10.1, diff --git a/cabal.ghc902.Unix.project b/cabal.ghc902.Unix.project index 81251857..9678fc47 100644 --- a/cabal.ghc902.Unix.project +++ b/cabal.ghc902.Unix.project @@ -11,29 +11,26 @@ else constraints: http-io-streams -brotli, any.aeson >= 2.0.1.0, - any.hsc2hs ==0.68.8, + any.hsc2hs >=0.68.10, bzlib-conduit >= 0.3.0.3, bz2 >= 1.0.1.1, bzlib >= 0.5.2.0, directory >= 1.3.8.3, - filepath == 1.4.101.0 || == 1.4.300.1 || >= 1.5.2.0 + filepath == 1.4.101.0 || == 1.4.300.1 || >= 1.5.2.0, + tar >= 0.6.2.0 constraints: text -simdutf if os(mingw32) constraints: zlib +bundled-c-zlib, lzma +static, + text -simdutf, vty-windows >=0.2.0.2 if impl(ghc >= 9.4) constraints: language-c >= 0.9.3 -source-repository-package - type: git - location: https://github.com/haskell/tar.git - tag: d94a988be4311b830149a9f8fc16739927e5fc1c - source-repository-package type: git location: https://github.com/hasufell/uri-bytestring.git diff --git a/cabal.ghc902.Unix.project.freeze b/cabal.ghc902.Unix.project.freeze index 6bfd668a..a0b29ca9 100644 --- a/cabal.ghc902.Unix.project.freeze +++ b/cabal.ghc902.Unix.project.freeze @@ -99,8 +99,13 @@ constraints: any.Cabal ==3.10.3.0, any.hashable ==1.4.4.0, hashable +integer-gmp -random-initial-seed, any.variant == 1.0, - any.hsc2hs ==0.68.8, + any.hsc2hs ==0.68.10, hsc2hs -in-ghc-tree, + any.hspec ==2.11.8, + any.hspec-core ==2.11.8, + any.hspec-discover ==2.11.8, + any.hspec-expectations ==0.8.4, + any.hspec-golden-aeson ==0.9.0.0, any.http-io-streams ==0.1.7.0, http-io-streams -brotli +fast-xor, any.indexed-profunctors ==0.1.1.1, @@ -142,6 +147,7 @@ constraints: any.Cabal ==3.10.3.0, optparse-applicative +process, any.os-release ==1.0.2.1, os-release -devel, + any.os-string ==2.0.2.1, any.parsec ==3.1.17.0, any.parser-combinators ==1.3.0, parser-combinators -dev, @@ -179,7 +185,10 @@ constraints: any.Cabal ==3.10.3.0, any.tagged ==0.8.8, tagged +deepseq +transformers, any.tagsoup ==0.14.8, - any.tar ==0.6.0.0, + any.tar ==0.6.2.0, + any.tasty ==1.5, + tasty +unix, + any.tasty-hunit ==0.10.1, any.template-haskell ==2.17.0.0, any.temporary ==1.3, any.terminal-progress-bar ==0.4.2, @@ -206,7 +215,7 @@ constraints: any.Cabal ==3.10.3.0, any.typed-process ==0.2.11.1, any.unix ==2.8.5.1, unix -os-string, - any.unix-bytestring ==0.3.7.8, + any.unix-bytestring ==0.4.0.1, any.unix-compat ==0.7.1, unix-compat -old-time, any.unliftio-core ==0.2.1.0, diff --git a/cabal.ghc902.Win32.project b/cabal.ghc902.Win32.project index 0bc6c171..478cb334 100644 --- a/cabal.ghc902.Win32.project +++ b/cabal.ghc902.Win32.project @@ -11,29 +11,26 @@ else constraints: http-io-streams -brotli, any.aeson >= 2.0.1.0, - any.hsc2hs ==0.68.8, + any.hsc2hs >=0.68.10, bzlib-conduit >= 0.3.0.3, bz2 >= 1.0.1.1, bzlib >= 0.5.2.0, directory >= 1.3.8.3, - filepath == 1.4.101.0 || == 1.4.300.1 || >= 1.5.2.0 + filepath == 1.4.101.0 || == 1.4.300.1 || >= 1.5.2.0, + tar >= 0.6.2.0 constraints: text -simdutf if os(mingw32) constraints: zlib +bundled-c-zlib, lzma +static, + text -simdutf, vty-windows >=0.2.0.2 if impl(ghc >= 9.4) constraints: language-c >= 0.9.3 -source-repository-package - type: git - location: https://github.com/haskell/tar.git - tag: d94a988be4311b830149a9f8fc16739927e5fc1c - source-repository-package type: git location: https://github.com/hasufell/uri-bytestring.git diff --git a/cabal.ghc902.Win32.project.freeze b/cabal.ghc902.Win32.project.freeze index 403b2592..811a12ee 100644 --- a/cabal.ghc902.Win32.project.freeze +++ b/cabal.ghc902.Win32.project.freeze @@ -99,12 +99,12 @@ constraints: any.Cabal ==3.10.3.0, hashable +integer-gmp -random-initial-seed, any.haskell-lexer ==1.1.1, any.variant == 1.0, - any.hsc2hs ==0.68.8, + any.hsc2hs ==0.68.10, hsc2hs -in-ghc-tree, - any.hspec ==2.10.10, - any.hspec-core ==2.10.10, - any.hspec-discover ==2.10.10, - any.hspec-expectations ==0.8.2, + any.hspec ==2.11.7, + any.hspec-core ==2.11.7, + any.hspec-discover ==2.11.7, + any.hspec-expectations ==0.8.4, any.hspec-golden-aeson ==0.9.0.0, any.indexed-profunctors ==0.1.1.1, any.indexed-traversable ==0.1.3, @@ -142,6 +142,7 @@ constraints: any.Cabal ==3.10.3.0, optparse-applicative +process, any.os-release ==1.0.2.1, os-release -devel, + any.os-string ==2.0.2, any.parsec ==3.1.17.0, any.parser-combinators ==1.3.0, parser-combinators -dev, @@ -171,7 +172,6 @@ constraints: any.Cabal ==3.10.3.0, semialign +semigroupoids, any.semigroupoids ==6.0.0.1, semigroupoids +comonad +containers +contravariant +distributive +tagged +unordered-containers, - any.setenv ==0.1.1.3, any.split ==0.2.5, any.splitmix ==0.1.0.5, splitmix -optimised-mixer, @@ -183,7 +183,7 @@ constraints: any.Cabal ==3.10.3.0, any.tagged ==0.8.8, tagged +deepseq +transformers, any.tagsoup ==0.14.8, - any.tar ==0.6.0.0, + any.tar ==0.6.2.0, any.tasty ==1.5, tasty +unix, any.tasty-hunit ==0.10.1, diff --git a/cabal.ghc928.Unix.project b/cabal.ghc928.Unix.project index 81251857..9678fc47 100644 --- a/cabal.ghc928.Unix.project +++ b/cabal.ghc928.Unix.project @@ -11,29 +11,26 @@ else constraints: http-io-streams -brotli, any.aeson >= 2.0.1.0, - any.hsc2hs ==0.68.8, + any.hsc2hs >=0.68.10, bzlib-conduit >= 0.3.0.3, bz2 >= 1.0.1.1, bzlib >= 0.5.2.0, directory >= 1.3.8.3, - filepath == 1.4.101.0 || == 1.4.300.1 || >= 1.5.2.0 + filepath == 1.4.101.0 || == 1.4.300.1 || >= 1.5.2.0, + tar >= 0.6.2.0 constraints: text -simdutf if os(mingw32) constraints: zlib +bundled-c-zlib, lzma +static, + text -simdutf, vty-windows >=0.2.0.2 if impl(ghc >= 9.4) constraints: language-c >= 0.9.3 -source-repository-package - type: git - location: https://github.com/haskell/tar.git - tag: d94a988be4311b830149a9f8fc16739927e5fc1c - source-repository-package type: git location: https://github.com/hasufell/uri-bytestring.git diff --git a/cabal.ghc928.Unix.project.freeze b/cabal.ghc928.Unix.project.freeze index 5e8bd057..eccbcb2f 100644 --- a/cabal.ghc928.Unix.project.freeze +++ b/cabal.ghc928.Unix.project.freeze @@ -99,8 +99,13 @@ constraints: any.Cabal ==3.10.3.0, any.hashable ==1.4.4.0, hashable +integer-gmp -random-initial-seed, any.variant == 1.0, - any.hsc2hs ==0.68.8, + any.hsc2hs ==0.68.10, hsc2hs -in-ghc-tree, + any.hspec ==2.11.8, + any.hspec-core ==2.11.8, + any.hspec-discover ==2.11.8, + any.hspec-expectations ==0.8.4, + any.hspec-golden-aeson ==0.9.0.0, any.http-io-streams ==0.1.7.0, http-io-streams -brotli +fast-xor, any.indexed-profunctors ==0.1.1.1, @@ -180,7 +185,10 @@ constraints: any.Cabal ==3.10.3.0, any.tagged ==0.8.8, tagged +deepseq +transformers, any.tagsoup ==0.14.8, - any.tar ==0.6.0.0, + any.tar ==0.6.2.0, + any.tasty ==1.5, + tasty +unix, + any.tasty-hunit ==0.10.1, any.template-haskell ==2.18.0.0, any.temporary ==1.3, any.terminal-progress-bar ==0.4.2, @@ -207,7 +215,7 @@ constraints: any.Cabal ==3.10.3.0, any.typed-process ==0.2.11.1, any.unix ==2.8.5.1, unix -os-string, - any.unix-bytestring ==0.3.7.8, + any.unix-bytestring ==0.4.0.1, any.unix-compat ==0.7.1, unix-compat -old-time, any.unliftio-core ==0.2.1.0, diff --git a/cabal.ghc928.Win32.project b/cabal.ghc928.Win32.project index 0bc6c171..478cb334 100644 --- a/cabal.ghc928.Win32.project +++ b/cabal.ghc928.Win32.project @@ -11,29 +11,26 @@ else constraints: http-io-streams -brotli, any.aeson >= 2.0.1.0, - any.hsc2hs ==0.68.8, + any.hsc2hs >=0.68.10, bzlib-conduit >= 0.3.0.3, bz2 >= 1.0.1.1, bzlib >= 0.5.2.0, directory >= 1.3.8.3, - filepath == 1.4.101.0 || == 1.4.300.1 || >= 1.5.2.0 + filepath == 1.4.101.0 || == 1.4.300.1 || >= 1.5.2.0, + tar >= 0.6.2.0 constraints: text -simdutf if os(mingw32) constraints: zlib +bundled-c-zlib, lzma +static, + text -simdutf, vty-windows >=0.2.0.2 if impl(ghc >= 9.4) constraints: language-c >= 0.9.3 -source-repository-package - type: git - location: https://github.com/haskell/tar.git - tag: d94a988be4311b830149a9f8fc16739927e5fc1c - source-repository-package type: git location: https://github.com/hasufell/uri-bytestring.git diff --git a/cabal.ghc928.Win32.project.freeze b/cabal.ghc928.Win32.project.freeze index 0e792685..4193d174 100644 --- a/cabal.ghc928.Win32.project.freeze +++ b/cabal.ghc928.Win32.project.freeze @@ -99,12 +99,12 @@ constraints: any.Cabal ==3.10.3.0, hashable +integer-gmp -random-initial-seed, any.haskell-lexer ==1.1.1, any.variant == 1.0, - any.hsc2hs ==0.68.8, + any.hsc2hs ==0.68.10, hsc2hs -in-ghc-tree, - any.hspec ==2.10.10, - any.hspec-core ==2.10.10, - any.hspec-discover ==2.10.10, - any.hspec-expectations ==0.8.2, + any.hspec ==2.11.7, + any.hspec-core ==2.11.7, + any.hspec-discover ==2.11.7, + any.hspec-expectations ==0.8.4, any.hspec-golden-aeson ==0.9.0.0, any.indexed-profunctors ==0.1.1.1, any.indexed-traversable ==0.1.3, @@ -172,7 +172,6 @@ constraints: any.Cabal ==3.10.3.0, semialign +semigroupoids, any.semigroupoids ==6.0.0.1, semigroupoids +comonad +containers +contravariant +distributive +tagged +unordered-containers, - any.setenv ==0.1.1.3, any.split ==0.2.5, any.splitmix ==0.1.0.5, splitmix -optimised-mixer, @@ -184,7 +183,7 @@ constraints: any.Cabal ==3.10.3.0, any.tagged ==0.8.8, tagged +deepseq +transformers, any.tagsoup ==0.14.8, - any.tar ==0.6.0.0, + any.tar ==0.6.2.0, any.tasty ==1.5, tasty +unix, any.tasty-hunit ==0.10.1, diff --git a/cabal.ghc948.Unix.project b/cabal.ghc948.Unix.project index 81251857..9678fc47 100644 --- a/cabal.ghc948.Unix.project +++ b/cabal.ghc948.Unix.project @@ -11,29 +11,26 @@ else constraints: http-io-streams -brotli, any.aeson >= 2.0.1.0, - any.hsc2hs ==0.68.8, + any.hsc2hs >=0.68.10, bzlib-conduit >= 0.3.0.3, bz2 >= 1.0.1.1, bzlib >= 0.5.2.0, directory >= 1.3.8.3, - filepath == 1.4.101.0 || == 1.4.300.1 || >= 1.5.2.0 + filepath == 1.4.101.0 || == 1.4.300.1 || >= 1.5.2.0, + tar >= 0.6.2.0 constraints: text -simdutf if os(mingw32) constraints: zlib +bundled-c-zlib, lzma +static, + text -simdutf, vty-windows >=0.2.0.2 if impl(ghc >= 9.4) constraints: language-c >= 0.9.3 -source-repository-package - type: git - location: https://github.com/haskell/tar.git - tag: d94a988be4311b830149a9f8fc16739927e5fc1c - source-repository-package type: git location: https://github.com/hasufell/uri-bytestring.git diff --git a/cabal.ghc948.Unix.project.freeze b/cabal.ghc948.Unix.project.freeze index 6e2bde6b..31505434 100644 --- a/cabal.ghc948.Unix.project.freeze +++ b/cabal.ghc948.Unix.project.freeze @@ -98,8 +98,13 @@ constraints: any.Cabal ==3.10.3.0, any.hashable ==1.4.4.0, hashable +integer-gmp -random-initial-seed, any.variant == 1.0, - any.hsc2hs ==0.68.8, + any.hsc2hs ==0.68.10, hsc2hs -in-ghc-tree, + any.hspec ==2.11.8, + any.hspec-core ==2.11.8, + any.hspec-discover ==2.11.8, + any.hspec-expectations ==0.8.4, + any.hspec-golden-aeson ==0.9.0.0, any.http-io-streams ==0.1.7.0, http-io-streams -brotli +fast-xor, any.indexed-profunctors ==0.1.1.1, @@ -179,7 +184,10 @@ constraints: any.Cabal ==3.10.3.0, any.tagged ==0.8.8, tagged +deepseq +transformers, any.tagsoup ==0.14.8, - any.tar ==0.6.0.0, + any.tar ==0.6.2.0, + any.tasty ==1.5, + tasty +unix, + any.tasty-hunit ==0.10.1, any.template-haskell ==2.19.0.0, any.temporary ==1.3, any.terminal-progress-bar ==0.4.2, @@ -205,7 +213,7 @@ constraints: any.Cabal ==3.10.3.0, any.typed-process ==0.2.11.1, any.unix ==2.8.5.1, unix -os-string, - any.unix-bytestring ==0.3.7.8, + any.unix-bytestring ==0.4.0.1, any.unix-compat ==0.7.1, unix-compat -old-time, any.unliftio-core ==0.2.1.0, diff --git a/cabal.ghc948.Win32.project b/cabal.ghc948.Win32.project index 0bc6c171..478cb334 100644 --- a/cabal.ghc948.Win32.project +++ b/cabal.ghc948.Win32.project @@ -11,29 +11,26 @@ else constraints: http-io-streams -brotli, any.aeson >= 2.0.1.0, - any.hsc2hs ==0.68.8, + any.hsc2hs >=0.68.10, bzlib-conduit >= 0.3.0.3, bz2 >= 1.0.1.1, bzlib >= 0.5.2.0, directory >= 1.3.8.3, - filepath == 1.4.101.0 || == 1.4.300.1 || >= 1.5.2.0 + filepath == 1.4.101.0 || == 1.4.300.1 || >= 1.5.2.0, + tar >= 0.6.2.0 constraints: text -simdutf if os(mingw32) constraints: zlib +bundled-c-zlib, lzma +static, + text -simdutf, vty-windows >=0.2.0.2 if impl(ghc >= 9.4) constraints: language-c >= 0.9.3 -source-repository-package - type: git - location: https://github.com/haskell/tar.git - tag: d94a988be4311b830149a9f8fc16739927e5fc1c - source-repository-package type: git location: https://github.com/hasufell/uri-bytestring.git diff --git a/cabal.ghc948.Win32.project.freeze b/cabal.ghc948.Win32.project.freeze index 8ad2df26..ed9d2682 100644 --- a/cabal.ghc948.Win32.project.freeze +++ b/cabal.ghc948.Win32.project.freeze @@ -98,12 +98,12 @@ constraints: any.Cabal ==3.10.3.0, hashable +integer-gmp -random-initial-seed, any.haskell-lexer ==1.1.1, any.variant == 1.0, - any.hsc2hs ==0.68.8, + any.hsc2hs ==0.68.10, hsc2hs -in-ghc-tree, - any.hspec ==2.10.10, - any.hspec-core ==2.10.10, - any.hspec-discover ==2.10.10, - any.hspec-expectations ==0.8.2, + any.hspec ==2.11.7, + any.hspec-core ==2.11.7, + any.hspec-discover ==2.11.7, + any.hspec-expectations ==0.8.4, any.hspec-golden-aeson ==0.9.0.0, any.indexed-profunctors ==0.1.1.1, any.indexed-traversable ==0.1.3, @@ -171,7 +171,6 @@ constraints: any.Cabal ==3.10.3.0, semialign +semigroupoids, any.semigroupoids ==6.0.0.1, semigroupoids +comonad +containers +contravariant +distributive +tagged +unordered-containers, - any.setenv ==0.1.1.3, any.split ==0.2.5, any.splitmix ==0.1.0.5, splitmix -optimised-mixer, @@ -183,7 +182,7 @@ constraints: any.Cabal ==3.10.3.0, any.tagged ==0.8.8, tagged +deepseq +transformers, any.tagsoup ==0.14.8, - any.tar ==0.6.0.0, + any.tar ==0.6.2.0, any.tasty ==1.5, tasty +unix, any.tasty-hunit ==0.10.1, diff --git a/cabal.ghc965.Unix.project b/cabal.ghc965.Unix.project new file mode 100644 index 00000000..dedb9163 --- /dev/null +++ b/cabal.ghc965.Unix.project @@ -0,0 +1,55 @@ +packages: ./ghcup.cabal + +optional-packages: ./vendored/*/*.cabal + +if impl(ghc < 9.0) + package ghcup + flags: +tui -tar +else + package ghcup + flags: +tui +tar + +constraints: http-io-streams -brotli, + any.aeson >= 2.0.1.0, + any.hsc2hs >=0.68.10, + bzlib-conduit >= 0.3.0.3, + bz2 >= 1.0.1.1, + bzlib >= 0.5.2.0, + directory >= 1.3.8.3, + filepath == 1.4.101.0 || == 1.4.300.1 || >= 1.5.2.0, + tar >= 0.6.2.0 + +constraints: text -simdutf + +if os(mingw32) + constraints: zlib +bundled-c-zlib, + lzma +static, + text -simdutf, + vty-windows >=0.2.0.2 + + if impl(ghc >= 9.4) + constraints: language-c >= 0.9.3 + + +source-repository-package + type: git + location: https://github.com/hasufell/uri-bytestring.git + tag: 4fb5ed14b500c192e6e7a97f6b2b1eb478806001 + +package libarchive + flags: -system-libarchive + +package aeson-pretty + flags: +lib-only + +package cabal-plan + flags: -exe + +package aeson + flags: +ordered-keymap + +package * + test-show-details: direct + +allow-newer: cabal-install-parsers:tar + diff --git a/cabal.ghc965.Unix.project.freeze b/cabal.ghc965.Unix.project.freeze new file mode 100644 index 00000000..4be1c756 --- /dev/null +++ b/cabal.ghc965.Unix.project.freeze @@ -0,0 +1,254 @@ +active-repositories: hackage.haskell.org:merge +constraints: any.Cabal ==3.10.3.0, + any.Cabal-syntax ==3.10.3.0, + any.HUnit ==1.6.2.0, + any.HsOpenSSL ==0.11.7.6, + HsOpenSSL -fast-bignum -homebrew-openssl -macports-openssl -use-pkg-config, + any.OneTuple ==0.4.1.1, + any.QuickCheck ==2.14.3, + QuickCheck -old-random +templatehaskell, + any.StateVar ==1.2.2, + any.aeson ==2.2.1.0, + aeson +ordered-keymap, + any.aeson-pretty ==0.8.10, + aeson-pretty +lib-only, + any.alex ==3.5.1.0, + any.ansi-terminal ==1.0.2, + ansi-terminal -example, + any.ansi-terminal-types ==0.11.5, + any.ansi-wl-pprint ==0.6.9, + ansi-wl-pprint -example, + any.array ==0.5.6.0, + any.assoc ==1.1, + assoc +tagged, + any.async ==2.2.5, + async -bench, + any.attoparsec ==0.14.4, + attoparsec -developer, + any.base ==4.18.2.1, + any.base-compat ==0.13.1, + any.base-orphans ==0.9.1, + any.base16-bytestring ==1.0.2.0, + any.base64-bytestring ==1.2.1.0, + any.bifunctors ==5.6.2, + bifunctors +tagged, + any.bimap ==0.5.0, + any.binary ==0.8.9.1, + any.binary-instances ==1.0.4, + any.binary-orphans ==1.0.4.1, + any.bindings-DSL ==1.0.25, + any.bitvec ==1.1.5.0, + bitvec +simd, + any.blaze-builder ==0.4.2.3, + any.brick ==2.1.1, + brick -demos, + any.bytestring ==0.11.5.3, + any.bz2 ==1.0.1.2, + bz2 -cross +with-bzlib, + any.bzlib-conduit ==0.3.0.3, + any.c2hs ==0.28.8, + c2hs +base3 -regression, + any.cabal-install-parsers ==0.6.1.1, + any.cabal-plan ==0.7.3.0, + cabal-plan -_ -exe -license-report, + any.call-stack ==0.4.0, + any.case-insensitive ==1.2.1.0, + any.casing ==0.1.4.1, + any.cereal ==0.5.8.3, + cereal -bytestring-builder, + any.colour ==2.3.6, + any.comonad ==5.0.8, + comonad +containers +distributive +indexed-traversable, + any.conduit ==1.3.5, + any.conduit-extra ==1.3.6, + any.conduit-zstd ==0.0.2.0, + any.config-ini ==0.2.7.0, + config-ini -enable-doctests, + any.containers ==0.6.7, + any.contravariant ==1.5.5, + contravariant +semigroups +statevar +tagged, + any.cryptohash-sha1 ==0.11.101.0, + any.cryptohash-sha256 ==0.11.102.1, + cryptohash-sha256 -exe +use-cbits, + any.data-clist ==0.2, + any.data-default-class ==0.1.2.0, + any.data-fix ==0.3.2, + any.deepseq ==1.4.8.1, + any.digest ==0.0.2.1, + digest -have_arm64_crc32c -have_builtin_prefetch -have_mm_prefetch -have_sse42 -have_strong_getauxval -have_weak_getauxval +pkg-config, + any.directory ==1.3.8.4, + directory -os-string, + any.disk-free-space ==0.1.0.1, + any.distributive ==0.6.2.1, + distributive +semigroups +tagged, + any.dlist ==1.0, + dlist -werror, + any.exceptions ==0.10.7, + any.file-uri ==0.1.0.0, + any.filepath ==1.4.300.1, + any.free ==5.2, + any.generic-arbitrary ==0.2.2, + any.generically ==0.1.1, + any.ghc-bignum ==1.3, + any.ghc-boot-th ==9.6.5, + any.ghc-byteorder ==4.11.0.0.10, + any.ghc-prim ==0.10.0, + any.happy ==1.20.1.1, + any.hashable ==1.4.4.0, + hashable +integer-gmp -random-initial-seed, + any.haskell-lexer ==1.1.1, + any.hsc2hs ==0.68.10, + hsc2hs -in-ghc-tree, + any.hspec ==2.11.8, + any.hspec-core ==2.11.8, + any.hspec-discover ==2.11.8, + any.hspec-expectations ==0.8.4, + any.hspec-golden-aeson ==0.9.0.0, + any.http-io-streams ==0.1.7.0, + http-io-streams -brotli +fast-xor, + any.indexed-profunctors ==0.1.1.1, + any.indexed-traversable ==0.1.3, + any.indexed-traversable-instances ==0.1.1.2, + any.integer-conversion ==0.1.0.1, + any.integer-logarithms ==1.0.3.1, + integer-logarithms -check-bounds +integer-gmp, + any.io-streams ==1.5.2.2, + io-streams +network -nointeractivetests +zlib, + any.language-c ==0.9.3, + language-c -allwarnings +iecfpextension +usebytestrings, + any.libyaml ==0.1.4, + libyaml -no-unicode -system-libyaml, + any.libyaml-clib ==0.2.5, + any.lukko ==0.1.1.3, + lukko +ofd-locking, + any.lzma-static ==5.2.5.5, + any.megaparsec ==9.2.2, + megaparsec -dev, + any.microlens ==0.4.13.1, + any.microlens-mtl ==0.2.0.3, + any.microlens-th ==0.4.3.15, + any.monad-control ==1.0.3.1, + any.mono-traversable ==1.0.17.0, + any.mtl ==2.3.1, + any.mtl-compat ==0.2.2, + mtl-compat -two-point-one -two-point-two, + any.network ==3.1.4.0, + network -devel, + any.network-uri ==2.6.4.2, + any.openssl-streams ==1.2.3.0, + any.optics ==0.4.2.1, + any.optics-core ==0.4.1.1, + optics-core -explicit-generic-labels, + any.optics-extra ==0.4.2.1, + any.optics-th ==0.4.1, + any.optparse-applicative ==0.17.1.0, + optparse-applicative +process, + any.os-release ==1.0.2.1, + os-release -devel, + any.os-string ==2.0.2.1, + any.parsec ==3.1.16.1, + any.parser-combinators ==1.3.0, + parser-combinators -dev, + any.pretty ==1.1.3.6, + any.pretty-terminal ==0.1.0.0, + any.primitive ==0.9.0.0, + any.process ==1.6.19.0, + any.profunctors ==5.6.2, + any.quickcheck-arbitrary-adt ==0.3.1.0, + any.quickcheck-io ==0.2.0, + any.random ==1.2.1.2, + any.recursion-schemes ==5.2.2.5, + recursion-schemes +template-haskell, + any.regex-base ==0.94.0.2, + any.regex-posix ==0.96.0.1, + regex-posix -_regex-posix-clib, + any.resourcet ==1.2.6, + any.retry ==0.9.3.1, + retry -lib-werror, + any.rts ==1.0.2, + any.safe ==0.3.21, + any.safe-exceptions ==0.1.7.4, + any.scientific ==0.3.7.0, + scientific -bytestring-builder -integer-simple, + any.semialign ==1.3, + semialign +semigroupoids, + any.semigroupoids ==6.0.0.1, + semigroupoids +comonad +containers +contravariant +distributive +tagged +unordered-containers, + any.split ==0.2.5, + any.splitmix ==0.1.0.5, + splitmix -optimised-mixer, + any.stm ==2.5.1.0, + any.streaming-commons ==0.2.2.6, + streaming-commons -use-bytestring-builder, + any.strict ==0.5, + any.strict-base ==0.4.0.0, + any.tagged ==0.8.8, + tagged +deepseq +transformers, + any.tagsoup ==0.14.8, + any.tar ==0.6.2.0, + any.tasty ==1.5, + tasty +unix, + any.tasty-hunit ==0.10.1, + any.template-haskell ==2.20.0.0, + any.temporary ==1.3, + any.terminal-progress-bar ==0.4.2, + any.terminal-size ==0.3.4, + any.terminfo ==0.4.1.6, + any.text ==2.0.2, + any.text-binary ==0.2.1.1, + any.text-iso8601 ==0.1, + any.text-short ==0.1.5, + text-short -asserts, + any.text-zipper ==0.13, + any.tf-random ==0.5, + any.th-abstraction ==0.6.0.0, + 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.2, + any.time-compat ==1.9.6.1, + time-compat -old-locale, + 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.typed-process ==0.2.11.1, + any.unix ==2.8.5.1, + unix -os-string, + any.unix-bytestring ==0.4.0.1, + any.unix-compat ==0.7.1, + unix-compat -old-time, + any.unliftio-core ==0.2.1.0, + any.unordered-containers ==0.2.20, + unordered-containers -debug, + any.uri-bytestring ==0.3.3.1, + uri-bytestring -lib-werror, + any.utf8-string ==1.0.2, + any.uuid-types ==1.0.5.1, + any.vector ==0.13.1.0, + vector +boundschecks -internalchecks -unsafechecks -wall, + 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-stream ==0.1.0.1, + any.versions ==6.0.6, + any.vty ==6.2, + any.vty-crossplatform ==0.4.0.0, + vty-crossplatform -demos, + any.vty-unix ==0.2.0.0, + any.witherable ==0.4.2, + any.word-wrap ==0.5, + any.word8 ==0.1.3, + any.xor ==0.0.1.2, + any.yaml ==0.11.11.2, + yaml +no-examples +no-exe, + any.zip ==2.0.1, + zip -dev -disable-bzip2 -disable-zstd, + any.zlib ==0.6.3.0, + zlib -bundled-c-zlib -non-blocking-ffi -pkg-config, + any.zlib-bindings ==0.1.1.5, + any.zstd ==0.1.3.0, + zstd +standalone +index-state: hackage.haskell.org 2024-04-27T07:39:32Z diff --git a/cabal.ghc965.Win32.project b/cabal.ghc965.Win32.project new file mode 100644 index 00000000..9ed85dd8 --- /dev/null +++ b/cabal.ghc965.Win32.project @@ -0,0 +1,55 @@ +packages: ./ghcup.cabal + +optional-packages: ./vendored/*/*.cabal + +if impl(ghc < 9.0) + package ghcup + flags: +tui -tar +else + package ghcup + flags: +tui +tar + +constraints: http-io-streams -brotli, + any.aeson >= 2.0.1.0, + any.hsc2hs >=0.68.10, + bzlib-conduit >= 0.3.0.3, + bz2 >= 1.0.1.1, + bzlib >= 0.5.2.0, + directory >= 1.3.8.3, + filepath == 1.4.101.0 || == 1.4.300.1 || >= 1.5.2.0, + tar >= 0.6.2.0 + +constraints: text -simdutf + +if os(mingw32) + constraints: zlib +bundled-c-zlib, + lzma +static, + text -simdutf, + vty-windows >=0.2.0.2 + + if impl(ghc >= 9.4) + constraints: language-c >= 0.9.3 + + +source-repository-package + type: git + location: https://github.com/hasufell/uri-bytestring.git + tag: 4fb5ed14b500c192e6e7a97f6b2b1eb478806001 + +package libarchive + flags: -system-libarchive + +package aeson-pretty + flags: +lib-only + +package cabal-plan + flags: -exe + +package aeson + flags: +ordered-keymap + +package * + test-show-details: direct + +allow-newer: cabal-install-parsers:tar + diff --git a/cabal.ghc965.Win32.project.freeze b/cabal.ghc965.Win32.project.freeze new file mode 100644 index 00000000..d1a4d825 --- /dev/null +++ b/cabal.ghc965.Win32.project.freeze @@ -0,0 +1,239 @@ +active-repositories: hackage.haskell.org:merge +constraints: any.Cabal ==3.10.3.0, + any.Cabal-syntax ==3.10.3.0, + any.HUnit ==1.6.2.0, + any.OneTuple ==0.4.1.1, + any.QuickCheck ==2.14.3, + QuickCheck -old-random +templatehaskell, + any.StateVar ==1.2.2, + any.Win32 ==2.13.3.0, + any.aeson ==2.2.1.0, + aeson +ordered-keymap, + any.aeson-pretty ==0.8.10, + aeson-pretty +lib-only, + any.alex ==3.5.1.0, + any.ansi-terminal ==1.0.2, + ansi-terminal -example, + any.ansi-terminal-types ==0.11.5, + any.ansi-wl-pprint ==0.6.9, + ansi-wl-pprint -example, + any.array ==0.5.6.0, + any.assoc ==1.1, + assoc +tagged, + any.async ==2.2.5, + async -bench, + any.attoparsec ==0.14.4, + attoparsec -developer, + any.base ==4.18.2.1, + any.base-compat ==0.13.1, + any.base-orphans ==0.9.1, + any.base16-bytestring ==1.0.2.0, + any.bifunctors ==5.6.2, + bifunctors +tagged, + any.bimap ==0.5.0, + any.binary ==0.8.9.1, + any.binary-instances ==1.0.4, + any.binary-orphans ==1.0.4.1, + any.bindings-DSL ==1.0.25, + any.bitvec ==1.1.5.0, + bitvec +simd, + any.blaze-builder ==0.4.2.3, + any.brick ==2.1.1, + brick -demos, + any.bytestring ==0.11.5.3, + any.bz2 ==1.0.1.2, + bz2 -cross +with-bzlib, + any.bzip2-clib ==1.0.8, + any.bzlib-conduit ==0.3.0.3, + any.c2hs ==0.28.8, + c2hs +base3 -regression, + any.cabal-install-parsers ==0.6.1.1, + any.cabal-plan ==0.7.3.0, + cabal-plan -_ -exe -license-report, + any.call-stack ==0.4.0, + any.case-insensitive ==1.2.1.0, + any.casing ==0.1.4.1, + any.cereal ==0.5.8.3, + cereal -bytestring-builder, + any.colour ==2.3.6, + any.comonad ==5.0.8, + comonad +containers +distributive +indexed-traversable, + any.conduit ==1.3.5, + any.conduit-extra ==1.3.6, + any.conduit-zstd ==0.0.2.0, + any.config-ini ==0.2.7.0, + config-ini -enable-doctests, + any.containers ==0.6.7, + any.contravariant ==1.5.5, + contravariant +semigroups +statevar +tagged, + any.cryptohash-sha256 ==0.11.102.1, + cryptohash-sha256 -exe +use-cbits, + any.data-clist ==0.2, + any.data-default-class ==0.1.2.0, + any.data-fix ==0.3.2, + any.deepseq ==1.4.8.1, + any.digest ==0.0.2.1, + digest -have_arm64_crc32c -have_builtin_prefetch -have_mm_prefetch -have_sse42 -have_strong_getauxval -have_weak_getauxval +pkg-config, + any.directory ==1.3.8.4, + directory -os-string, + any.disk-free-space ==0.1.0.1, + any.distributive ==0.6.2.1, + distributive +semigroups +tagged, + any.dlist ==1.0, + dlist -werror, + any.exceptions ==0.10.7, + any.file-uri ==0.1.0.0, + any.filepath ==1.4.300.1, + any.free ==5.2, + any.generic-arbitrary ==0.2.2, + any.generically ==0.1.1, + any.ghc-bignum ==1.3, + any.ghc-boot-th ==9.6.5, + any.ghc-prim ==0.10.0, + any.happy ==1.20.1.1, + any.hashable ==1.4.4.0, + hashable +integer-gmp -random-initial-seed, + any.haskell-lexer ==1.1.1, + any.hsc2hs ==0.68.10, + hsc2hs -in-ghc-tree, + any.hspec ==2.11.7, + any.hspec-core ==2.11.7, + any.hspec-discover ==2.11.7, + any.hspec-expectations ==0.8.4, + any.hspec-golden-aeson ==0.9.0.0, + any.indexed-profunctors ==0.1.1.1, + any.indexed-traversable ==0.1.3, + any.indexed-traversable-instances ==0.1.1.2, + any.integer-conversion ==0.1.0.1, + any.integer-logarithms ==1.0.3.1, + integer-logarithms -check-bounds +integer-gmp, + any.language-c ==0.9.3, + language-c -allwarnings +iecfpextension +usebytestrings, + any.libyaml ==0.1.4, + libyaml -no-unicode -system-libyaml, + any.libyaml-clib ==0.2.5, + any.lukko ==0.1.1.3, + lukko +ofd-locking, + any.lzma-static ==5.2.5.5, + any.megaparsec ==9.2.2, + megaparsec -dev, + any.microlens ==0.4.13.1, + any.microlens-mtl ==0.2.0.3, + any.microlens-th ==0.4.3.14, + any.monad-control ==1.0.3.1, + any.mono-traversable ==1.0.17.0, + any.mtl ==2.3.1, + any.mtl-compat ==0.2.2, + mtl-compat -two-point-one -two-point-two, + any.network ==3.2.0.0, + network -devel, + any.network-uri ==2.6.4.2, + any.optics ==0.4.2.1, + any.optics-core ==0.4.1.1, + optics-core -explicit-generic-labels, + any.optics-extra ==0.4.2.1, + any.optics-th ==0.4.1, + any.optparse-applicative ==0.17.1.0, + optparse-applicative +process, + any.os-release ==1.0.2.1, + os-release -devel, + any.os-string ==2.0.2, + any.parsec ==3.1.16.1, + any.parser-combinators ==1.3.0, + parser-combinators -dev, + any.pretty ==1.1.3.6, + any.pretty-terminal ==0.1.0.0, + any.primitive ==0.9.0.0, + any.process ==1.6.19.0, + any.profunctors ==5.6.2, + any.quickcheck-arbitrary-adt ==0.3.1.0, + any.quickcheck-io ==0.2.0, + any.random ==1.2.1.2, + any.recursion-schemes ==5.2.2.5, + recursion-schemes +template-haskell, + any.regex-base ==0.94.0.2, + any.regex-posix ==0.96.0.1, + regex-posix -_regex-posix-clib, + any.regex-posix-clib ==2.7, + any.resourcet ==1.2.6, + any.retry ==0.9.3.1, + retry -lib-werror, + any.rts ==1.0.2, + any.safe ==0.3.21, + any.safe-exceptions ==0.1.7.4, + any.scientific ==0.3.7.0, + scientific -bytestring-builder -integer-simple, + any.semialign ==1.3, + semialign +semigroupoids, + any.semigroupoids ==6.0.0.1, + semigroupoids +comonad +containers +contravariant +distributive +tagged +unordered-containers, + any.split ==0.2.5, + any.splitmix ==0.1.0.5, + splitmix -optimised-mixer, + any.stm ==2.5.1.0, + any.streaming-commons ==0.2.2.6, + streaming-commons -use-bytestring-builder, + any.strict ==0.5, + any.strict-base ==0.4.0.0, + any.tagged ==0.8.8, + tagged +deepseq +transformers, + any.tagsoup ==0.14.8, + any.tar ==0.6.2.0, + any.tasty ==1.5, + tasty +unix, + any.tasty-hunit ==0.10.1, + any.template-haskell ==2.20.0.0, + any.temporary ==1.3, + any.text ==2.0.2, + any.text-binary ==0.2.1.1, + any.text-iso8601 ==0.1, + any.text-short ==0.1.5, + text-short -asserts, + any.text-zipper ==0.13, + any.tf-random ==0.5, + any.th-abstraction ==0.6.0.0, + 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.2, + any.time-compat ==1.9.6.1, + time-compat -old-locale, + 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.typed-process ==0.2.11.1, + any.unix-compat ==0.7.1, + unix-compat -old-time, + any.unliftio-core ==0.2.1.0, + any.unordered-containers ==0.2.20, + unordered-containers -debug, + any.uri-bytestring ==0.3.3.1, + uri-bytestring -lib-werror, + any.utf8-string ==1.0.2, + any.uuid-types ==1.0.5.1, + any.vector ==0.13.1.0, + vector +boundschecks -internalchecks -unsafechecks -wall, + 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-stream ==0.1.0.1, + any.versions ==6.0.6, + any.vty ==6.2, + any.vty-crossplatform ==0.4.0.0, + vty-crossplatform -demos, + any.vty-windows ==0.2.0.2, + any.witherable ==0.4.2, + any.word-wrap ==0.5, + any.word8 ==0.1.3, + any.yaml ==0.11.11.2, + yaml +no-examples +no-exe, + any.zip ==2.0.0, + zip -dev -disable-bzip2 -disable-zstd, + any.zlib ==0.6.3.0, + zlib +bundled-c-zlib -non-blocking-ffi -pkg-config, + any.zstd ==0.1.3.0, + zstd +standalone +index-state: hackage.haskell.org 2024-04-15T02:49:22Z diff --git a/cabal.ghc965.project b/cabal.ghc965.project new file mode 100644 index 00000000..57ed7c1d --- /dev/null +++ b/cabal.ghc965.project @@ -0,0 +1,8 @@ +if os(mingw32) + import: cabal.ghc965.Win32.project + import: cabal.ghc965.Win32.project.freeze +else + import: cabal.ghc965.Unix.project + import: cabal.ghc965.Unix.project.freeze + +with-compiler: ghc-9.6.5 diff --git a/cabal.project b/cabal.project index 81251857..9678fc47 100644 --- a/cabal.project +++ b/cabal.project @@ -11,29 +11,26 @@ else constraints: http-io-streams -brotli, any.aeson >= 2.0.1.0, - any.hsc2hs ==0.68.8, + any.hsc2hs >=0.68.10, bzlib-conduit >= 0.3.0.3, bz2 >= 1.0.1.1, bzlib >= 0.5.2.0, directory >= 1.3.8.3, - filepath == 1.4.101.0 || == 1.4.300.1 || >= 1.5.2.0 + filepath == 1.4.101.0 || == 1.4.300.1 || >= 1.5.2.0, + tar >= 0.6.2.0 constraints: text -simdutf if os(mingw32) constraints: zlib +bundled-c-zlib, lzma +static, + text -simdutf, vty-windows >=0.2.0.2 if impl(ghc >= 9.4) constraints: language-c >= 0.9.3 -source-repository-package - type: git - location: https://github.com/haskell/tar.git - tag: d94a988be4311b830149a9f8fc16739927e5fc1c - source-repository-package type: git location: https://github.com/hasufell/uri-bytestring.git diff --git a/cabal.project.release b/cabal.project.release index 15cc2cdf..8aba8257 100644 --- a/cabal.project.release +++ b/cabal.project.release @@ -1,6 +1,4 @@ -packages: ./ghcup.cabal - -optional-packages: ./vendored/*/*.cabal +import: cabal.project optimization: 2 @@ -14,13 +12,6 @@ if os(linux) elif os(darwin) constraints: zlib +bundled-c-zlib, lzma +static -elif os(mingw32) - constraints: zlib +bundled-c-zlib, - lzma +static, - text -simdutf, - vty-windows >=0.2.0.2 - if impl(ghc >= 9.4) - constraints: language-c >= 0.9.3 elif os(freebsd) constraints: zlib +bundled-c-zlib, zip +disable-zstd @@ -57,11 +48,6 @@ package streamly package hashable flags: -arch-native -source-repository-package - type: git - location: https://github.com/haskell/tar.git - tag: d94a988be4311b830149a9f8fc16739927e5fc1c - source-repository-package type: git location: https://github.com/hasufell/uri-bytestring.git diff --git a/ghcup.cabal b/ghcup.cabal index ffea3050..a8269363 100644 --- a/ghcup.cabal +++ b/ghcup.cabal @@ -30,7 +30,8 @@ extra-source-files: test/ghcup-test/golden/unix/GHCupInfo.json test/ghcup-test/golden/windows/GHCupInfo.json -tested-with: GHC==9.4.8 +tested-with: GHC==9.6.4 + , GHC==9.4.8 , GHC==9.2.8 , GHC==9.0.2 , GHC==8.10.7 @@ -76,21 +77,21 @@ common app-common-depends , filepath >=1.4.101.0 , variant ^>=1.0 , megaparsec >=8.0.0 && <9.3 - , mtl ^>=2.2 + , mtl ^>=2.2 || ^>=2.3 , optics ^>=0.4 , optparse-applicative >=0.15.1.0 && <0.18 , pretty ^>=1.1.3.1 , pretty-terminal ^>=0.1.0.0 , process ^>=1.6.11.0 - , resourcet ^>=1.2.2 + , resourcet ^>=1.2.2 || ^>=1.3 , safe ^>=0.3.18 , safe-exceptions ^>=0.1 , tagsoup ^>=0.14 + , transformers ^>=0.5 || ^>=0.6 , template-haskell >=2.7 && <2.22 , temporary ^>=1.3 , text ^>=2.0 , time >=1.9.3 && <1.12 - , transformers ^>=0.5 , unordered-containers ^>=0.2 , uri-bytestring ^>=0.3.2.2 , utf8-string ^>=1.0 @@ -195,13 +196,14 @@ library , variant ^>=1.0 , lzma-static ^>=5.2.5.3 , megaparsec >=8.0.0 && <9.3 - , mtl ^>=2.2 + , mtl ^>=2.2 || ^>=2.3 + , optics ^>=0.4 , os-release ^>=1.0.0 , parsec , pretty ^>=1.1.3.1 , pretty-terminal ^>=0.1.0.0 , regex-posix ^>=0.96 - , resourcet ^>=1.2.2 + , resourcet ^>=1.2.2 || ^>=1.3 , retry >=0.8.1.2 && <0.10 , safe ^>=0.3.18 , safe-exceptions ^>=0.1 @@ -211,6 +213,7 @@ library , temporary ^>=1.3 , text ^>=2.0 , time >=1.9.3 && <1.12 + , transformers ^>=0.5 || ^>=0.6 , unliftio-core ^>=0.2.0.1 , unordered-containers ^>=0.2.10.0 , uri-bytestring ^>=0.3.2.2 @@ -265,7 +268,7 @@ library build-depends: , terminal-size ^>=0.3.3 , unix ^>=2.7 || ^>=2.8 - , unix-bytestring ^>=0.3.7.3 + , unix-bytestring ^>=0.4 if flag(tui) cpp-options: -DBRICK @@ -404,6 +407,7 @@ executable ghcup cpp-options: -DBRICK build-depends: , ghcup-tui + , transformers ^>=0.5 || ^>=0.6 if os(windows) cpp-options: -DIS_WINDOWS @@ -447,7 +451,7 @@ test-suite ghcup-test , filepath >=1.4.101.0 , generic-arbitrary >=0.1.0 && <0.2.1 || >=0.2.2 && <0.3 , ghcup - , hspec >=2.7.10 && <2.11 + , hspec >=2.7.10 && <2.12 , hspec-golden-aeson ^>=0.9 , QuickCheck ^>=2.14.1 , quickcheck-arbitrary-adt ^>=0.3.1.0 diff --git a/lib-opt/GHCup/OptParse/Common.hs b/lib-opt/GHCup/OptParse/Common.hs index aeed4e11..d7ff3f5f 100644 --- a/lib-opt/GHCup/OptParse/Common.hs +++ b/lib-opt/GHCup/OptParse/Common.hs @@ -3,6 +3,7 @@ {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE DuplicateRecordFields #-} +{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE NumericUnderscores #-} {-# LANGUAGE ViewPatterns #-} @@ -22,6 +23,7 @@ import GHCup.Prelude import GHCup.Prelude.Process import GHCup.Prelude.Logger +import Control.Monad (forM, join) import Control.DeepSeq import Control.Concurrent import Control.Concurrent.Async diff --git a/lib-opt/GHCup/OptParse/Compile.hs b/lib-opt/GHCup/OptParse/Compile.hs index 1f857f63..478b8d41 100644 --- a/lib-opt/GHCup/OptParse/Compile.hs +++ b/lib-opt/GHCup/OptParse/Compile.hs @@ -26,6 +26,7 @@ import GHCup.OptParse.Common #if !MIN_VERSION_base(4,13,0) import Control.Monad.Fail ( MonadFail ) #endif +import Control.Monad (when, forM_, forM) import Control.Concurrent (threadDelay) import Control.Monad.Reader import Control.Monad.Trans.Resource diff --git a/lib-opt/GHCup/OptParse/Config.hs b/lib-opt/GHCup/OptParse/Config.hs index c2f58505..2bef5a55 100644 --- a/lib-opt/GHCup/OptParse/Config.hs +++ b/lib-opt/GHCup/OptParse/Config.hs @@ -23,6 +23,7 @@ import GHCup.OptParse.Common #if !MIN_VERSION_base(4,13,0) import Control.Monad.Fail ( MonadFail ) #endif +import Control.Monad (when) import Control.Exception ( displayException ) import Control.Monad.Reader import Control.Monad.Trans.Resource diff --git a/lib-opt/GHCup/OptParse/GC.hs b/lib-opt/GHCup/OptParse/GC.hs index edc01f1b..39d17224 100644 --- a/lib-opt/GHCup/OptParse/GC.hs +++ b/lib-opt/GHCup/OptParse/GC.hs @@ -20,6 +20,7 @@ import GHCup.Prelude.String.QQ #if !MIN_VERSION_base(4,13,0) import Control.Monad.Fail ( MonadFail ) #endif +import Control.Monad (when) import Control.Monad.Reader import Control.Monad.Trans.Resource import Data.Functor diff --git a/lib-opt/GHCup/OptParse/Install.hs b/lib-opt/GHCup/OptParse/Install.hs index 3d055068..214fef23 100644 --- a/lib-opt/GHCup/OptParse/Install.hs +++ b/lib-opt/GHCup/OptParse/Install.hs @@ -29,6 +29,7 @@ import Control.Concurrent (threadDelay) #if !MIN_VERSION_base(4,13,0) import Control.Monad.Fail ( MonadFail ) #endif +import Control.Monad (when, forM_) import Control.Monad.Reader import Control.Monad.Trans.Resource import Data.Either diff --git a/lib-opt/GHCup/OptParse/List.hs b/lib-opt/GHCup/OptParse/List.hs index f82b9f8c..89bc506e 100644 --- a/lib-opt/GHCup/OptParse/List.hs +++ b/lib-opt/GHCup/OptParse/List.hs @@ -21,6 +21,7 @@ import GHCup.Prelude.String.QQ #if !MIN_VERSION_base(4,13,0) import Control.Monad.Fail ( MonadFail ) #endif +import Control.Monad (forM_) import Control.Monad.Reader import Control.Monad.Trans.Resource import Data.Char diff --git a/lib-opt/GHCup/OptParse/Nuke.hs b/lib-opt/GHCup/OptParse/Nuke.hs index 2a5a84f9..ad5c3b42 100644 --- a/lib-opt/GHCup/OptParse/Nuke.hs +++ b/lib-opt/GHCup/OptParse/Nuke.hs @@ -19,6 +19,7 @@ import GHCup.Prelude.Logger #if !MIN_VERSION_base(4,13,0) import Control.Monad.Fail ( MonadFail ) #endif +import Control.Monad (forM_, void) import Control.Monad.Reader import Control.Monad.Trans.Resource import Data.Maybe diff --git a/lib-opt/GHCup/OptParse/Prefetch.hs b/lib-opt/GHCup/OptParse/Prefetch.hs index 678ea3ef..ad3d0cb0 100644 --- a/lib-opt/GHCup/OptParse/Prefetch.hs +++ b/lib-opt/GHCup/OptParse/Prefetch.hs @@ -24,6 +24,7 @@ import GHCup.OptParse.Common #if !MIN_VERSION_base(4,13,0) import Control.Monad.Fail ( MonadFail ) #endif +import Control.Monad (forM_) import Control.Monad.Reader import Control.Monad.Trans.Resource import Data.Functor diff --git a/lib-opt/GHCup/OptParse/Rm.hs b/lib-opt/GHCup/OptParse/Rm.hs index a02f081b..d6be8677 100644 --- a/lib-opt/GHCup/OptParse/Rm.hs +++ b/lib-opt/GHCup/OptParse/Rm.hs @@ -25,6 +25,7 @@ import GHCup.OptParse.Common #if !MIN_VERSION_base(4,13,0) import Control.Monad.Fail ( MonadFail ) #endif +import Control.Monad (forM_) import Control.Monad.Reader import Control.Monad.Trans.Resource import Data.Functor diff --git a/lib-opt/GHCup/OptParse/Run.hs b/lib-opt/GHCup/OptParse/Run.hs index b1b2d550..b637a8c8 100644 --- a/lib-opt/GHCup/OptParse/Run.hs +++ b/lib-opt/GHCup/OptParse/Run.hs @@ -29,6 +29,7 @@ import Control.Exception.Safe ( MonadMask, MonadCatch ) #if !MIN_VERSION_base(4,13,0) import Control.Monad.Fail ( MonadFail ) #endif +import Control.Monad (when, forM_, forM, unless) import Control.Monad.Reader import Control.Monad.Trans.Resource import Data.Functor diff --git a/lib-opt/GHCup/OptParse/Upgrade.hs b/lib-opt/GHCup/OptParse/Upgrade.hs index 0ab9f61e..61ca75b8 100644 --- a/lib-opt/GHCup/OptParse/Upgrade.hs +++ b/lib-opt/GHCup/OptParse/Upgrade.hs @@ -21,6 +21,7 @@ import Control.Concurrent (threadDelay) #if !MIN_VERSION_base(4,13,0) import Control.Monad.Fail ( MonadFail ) #endif +import Control.Monad (forM_) import Control.Monad.Reader import Control.Monad.Trans.Resource import Data.Functor diff --git a/lib-tui/GHCup/Brick/Actions.hs b/lib-tui/GHCup/Brick/Actions.hs index 24381ad5..3fafa9f9 100644 --- a/lib-tui/GHCup/Brick/Actions.hs +++ b/lib-tui/GHCup/Brick/Actions.hs @@ -36,6 +36,7 @@ import qualified Brick.Widgets.List as L import qualified Brick.Focus as F import Control.Applicative import Control.Exception.Safe +import Control.Monad (when, forM, forM_) #if !MIN_VERSION_base(4,13,0) import Control.Monad.Fail ( MonadFail ) #endif diff --git a/lib-tui/GHCup/Brick/App.hs b/lib-tui/GHCup/Brick/App.hs index 2b1d5ddd..c1c0844a 100644 --- a/lib-tui/GHCup/Brick/App.hs +++ b/lib-tui/GHCup/Brick/App.hs @@ -49,7 +49,6 @@ import Brick ( import qualified Brick import Control.Monad.Reader ( MonadIO (liftIO), - void, ) import Data.IORef (readIORef) import Data.List (find, intercalate) @@ -66,7 +65,7 @@ import Optics.State (use) import Optics.State.Operators ((.=)) import qualified GHCup.Brick.Widgets.Menus.CompileGHC as CompileGHC import qualified GHCup.Brick.Widgets.Menus.CompileHLS as CompileHLS -import Control.Monad (when) +import Control.Monad (void, when) app :: AttrMap -> AttrMap -> App BrickState () Name app attrs dimAttrs = diff --git a/lib/GHCup/Prelude/File.hs b/lib/GHCup/Prelude/File.hs index 28da4a08..393a7ee1 100644 --- a/lib/GHCup/Prelude/File.hs +++ b/lib/GHCup/Prelude/File.hs @@ -74,6 +74,7 @@ import Control.DeepSeq (force) import Control.Exception (evaluate) import GHC.IO.Exception import System.IO.Error +import Control.Monad (when, forM_, filterM) -- | Merge one file tree to another given a copy operation. diff --git a/lib/GHCup/Prelude/File/Search.hs b/lib/GHCup/Prelude/File/Search.hs index 2a004a04..a738a3ee 100644 --- a/lib/GHCup/Prelude/File/Search.hs +++ b/lib/GHCup/Prelude/File/Search.hs @@ -12,6 +12,7 @@ module GHCup.Prelude.File.Search ( import GHCup.Prelude.Internal ((!?)) import GHCup.Types(ProcessError(..), CapturedProcess(..)) +import Control.Monad (forM) import Control.Monad.Reader import Data.Maybe import Data.Text ( Text ) diff --git a/lib/GHCup/Prelude/Process/Posix.hs b/lib/GHCup/Prelude/Process/Posix.hs index d3beff38..06f64f67 100644 --- a/lib/GHCup/Prelude/Process/Posix.hs +++ b/lib/GHCup/Prelude/Process/Posix.hs @@ -55,7 +55,7 @@ import qualified System.Posix.Process as SPP import qualified System.Console.Terminal.Size as TP import qualified Data.ByteString as BS import qualified Data.ByteString.Lazy as BL -import qualified "unix-bytestring" System.Posix.IO.ByteString +import qualified System.Posix.IO.ByteString.Ext as SPIB diff --git a/lib/GHCup/Utils/Parsers.hs b/lib/GHCup/Utils/Parsers.hs index e44d5929..e7e96b68 100644 --- a/lib/GHCup/Utils/Parsers.hs +++ b/lib/GHCup/Utils/Parsers.hs @@ -1,6 +1,7 @@ {-# LANGUAGE CPP #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE FlexibleContexts #-} +{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE DuplicateRecordFields #-} {-# LANGUAGE ViewPatterns #-} @@ -17,7 +18,8 @@ import GHCup.Prelude import GHCup.Prelude.Logger import GHCup.Prelude.MegaParsec -import Control.Applicative ((<|>)) +import Control.Applicative ((<|>), Alternative(..)) +import Control.Monad (when) import Control.Exception.Safe #if !MIN_VERSION_base(4,13,0) import Control.Monad.Fail ( MonadFail ) @@ -390,3 +392,12 @@ parseNewUrlSource "GHCupURL" = pure NewGHCupURL parseNewUrlSource "StackSetupURL" = pure NewStackSetupURL parseNewUrlSource s' = (eitherDecode . LE.encodeUtf8 . LT.pack $ s') <|> (fmap NewURI . first show . parseURI .UTF8.fromString $ s') + + +#if MIN_VERSION_transformers(0,6,0) +instance Alternative (Either [a]) where + empty = Left [] + Left _ <|> n = n + m <|> _ = m +#endif + diff --git a/stack.yaml b/stack.yaml index 81fd885f..7df85fa0 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,54 +1,54 @@ -resolver: lts-21.25 +resolver: lts-22.17 packages: - . extra-deps: - - Cabal-3.8.1.0 - - Cabal-syntax-3.8.1.0 + - Cabal-3.10.3.0 + - Cabal-syntax-3.10.3.0 - Win32-2.14.0.0@sha256:e34af84fec733b5c0c8f052ec39499785e719e2fbbe308983adf26c82ea3704d,5942 + - ansi-wl-pprint-0.6.9@sha256:fb737bc96e2aef34ad595d54ced7a73f648c521ebcb00fe0679aff45ccd49212,2448 - brick-2.1.1@sha256:ff36d64f1027eac17a14a83de053067413accb58b79e5002dce2a79cb8a3dcb3,17385 - - bzip2-clib-1.0.8@sha256:f595d0b797e3990b336a36986e5537e84105d13f01f4cb8b470ef671f75555ee,1139 - bz2-1.0.1.1@sha256:d21b768c3d41e0cd313beb866dc003a57004ec46b95a6aaf31963603861d1383,3741 - - cabal-install-parsers-0.6 + - bzip2-clib-1.0.8@sha256:f595d0b797e3990b336a36986e5537e84105d13f01f4cb8b470ef671f75555ee,1139 + - cabal-install-parsers-0.6.1.1 - cabal-plan-0.7.3.0 - chs-cabal-0.1.1.1@sha256:e8c8c1bf1dbeec64ad86d67ae6dca1c45afd644d20869546dfdcd03910d3848d,1149 - chs-deps-0.1.0.0@sha256:0cdada6d2c682c41b20331b8c63c2ecfc7e806928585195fd544c9d41f3074fd,2496 - - directory-1.3.8.3 + - directory-1.3.8.4@sha256:ae1730011f547153bb52139f217d1d524202b3da730a369660fc539e5dcfff31,3166 - file-uri-0.1.0.0@sha256:d6dcc12bde249362c93e413f87a41558b827333dfe3f97d953e47e1070c0da6f,1857 - - filepath-1.4.101.0 + - filepath-1.4.300.2 - generic-arbitrary-0.2.2@sha256:202ffbf2032672a51318f2e80d7e75b72f8950e690346b4314f38bc7e39215f7,1189 - - haskus-utils-data-1.4@sha256:bfa94363b94b14779edd6834fbd59dbb847c3d7b8f48e3844f456ffdc077da4a,1466 - - haskus-utils-types-1.5.1@sha256:991c472f4e751e2f0d7aab6ad4220ef151d6160876dcf0511bbf876bbd432020,1298 - - haskus-utils-variant-3.3@sha256:3df3fa0a557d75c0e8f94fe9954f76a692eaf8d368c401e30ab028624d55386b,2198 - language-c-0.9.3 - libarchive-3.0.4.2 - lzma-static-5.2.5.5@sha256:55ed074cda2b82008e020a51e2f8c22f2487a58a4989ab359bf04dd6c903b894,7431 - megaparsec-9.2.2@sha256:c306a135ec25d91d252032c6128f03598a00e87ea12fcf5fc4878fdffc75c768,3219 + - optparse-applicative-0.17.1.0 - os-release-1.0.2.1@sha256:2c3e8f7a9a0e17d5042d14d2036d52b42c8d5606e8d004697af462a95c87a9e2,2718 - - process-1.6.18.0@sha256:69fbbca4151e1a6d1a5da41a1e17c254871675a4f2aed5213bbdfb10b5e52742,3148 + - parsec-3.1.17.0@sha256:8407cbd428d7f640a0fff8891bd2f7aca13cebe70a5e654856f8abec9a648b56,5149 + - process-1.6.20.0@sha256:6630bbd3c42c2384d58d7e74d8041338f01c76def7e823afd8a08772b6c08ad3,2679 - strict-base-0.4.0.0@sha256:2ff4e43cb95eedf2995558d7fc34d19362846413dd39e6aa6a5b3ea8228fef9f,1248 + - tar-0.6.3.0@sha256:e9f151d9999be8953443e730524b2792e9c0a4fb5b1463097fa1a8230870fd8a,4634 - time-1.11.1.2@sha256:a957467595420495c2dd440d9efa1f58c62277cf9438c7e7a515d7a4c65571ec,6287 - - unicode-data-0.3.1@sha256:ae3a3aca89a32b912ddde7a644c0c04eaf23ee42014c74fe3d6b9aaf36ce7ec9,5481 - - unix-2.8.5.0@sha256:633f15ef0bd50a16a7b5c5e86e6659fee6e4e211e098cc8bd0029f452bfcfddc,9808 - - unix-bytestring-0.3.7.8@sha256:b8070935929a7654ce398fdecc9b5f90b02c455407db8ea7989256e821e33b1f,3053 + - unicode-data-0.4.0.1 + - unix-2.8.5.1@sha256:3f702a252a313a7bcb56e3908a14e7f9f1b40e41b7bdc8ae8a9605a1a8686f06,9808 + - unix-bytestring-0.4.0.1 - variant-1.0 - versions-6.0.5 - - vty-6.2@sha256:3536dc83a3fee17d9a114baf58fe47b6f080c24987266f0cd0b7b4b1fcd9cf19,3520 - - vty-crossplatform-0.4.0.0@sha256:50593f91ad16777d921138475a8d2784d538fd206addd30664c620278d6c8544,3172 - - vty-unix-0.2.0.0@sha256:2af3d0bdae3c4b7b7e567ee374efe32c7439fabdf9096465ce011a6c6736e9ae,2932 - - vty-windows-0.2.0.2 + - vty-windows-0.2.0.2@sha256:add74928c695b83f651116a73171b097524c7989d2b08c7c6e2816c982047cab,2815 - github: hasufell/uri-bytestring commit: 4fb5ed14b500c192e6e7a97f6b2b1eb478806001 - - github: haskell/tar - commit: d94a988be4311b830149a9f8fc16739927e5fc1c allow-newer: true allow-newer-deps: - Cabal - Cabal-syntax + - ansi-terminal + - cabal-install-parsers + - mintty - process + - streamly flags: http-io-streams: @@ -72,9 +72,6 @@ flags: mintty: win32-2-13-1: true - ansi-terminal: - win32-2-13-1: true - ghc-options: "$locals": -O2 ghcup: -O2 -fspec-constr-recursive=16 -fmax-worker-args=16