Skip to content

Commit

Permalink
Support GHC-9.6 wrt haskell#979
Browse files Browse the repository at this point in the history
  • Loading branch information
hasufell authored and hseg committed Sep 11, 2024
1 parent 2dec416 commit 3031efb
Show file tree
Hide file tree
Showing 45 changed files with 813 additions and 176 deletions.
4 changes: 3 additions & 1 deletion .github/workflows/cabal.project.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
55 changes: 28 additions & 27 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}
Expand All @@ -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
Expand Down Expand Up @@ -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 }}
Expand All @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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 }}
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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:
Expand All @@ -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

Expand Down Expand Up @@ -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:
Expand All @@ -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

Expand Down Expand Up @@ -424,25 +425,25 @@ 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:
matrix:
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

Expand Down Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions app/ghcup/Main.hs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
11 changes: 4 additions & 7 deletions cabal.ghc8107.Unix.project
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
15 changes: 12 additions & 3 deletions cabal.ghc8107.Unix.project.freeze
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -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,
Expand All @@ -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,
Expand Down
11 changes: 4 additions & 7 deletions cabal.ghc8107.Win32.project
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
14 changes: 7 additions & 7 deletions cabal.ghc8107.Win32.project.freeze
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -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,
Expand All @@ -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,
Expand Down
Loading

0 comments on commit 3031efb

Please sign in to comment.