Skip to content

Commit

Permalink
Merge pull request #1234 from GaloisInc/ghc-9.8
Browse files Browse the repository at this point in the history
Support building with GHC 9.8
  • Loading branch information
RyanGlScott committed Aug 2, 2024
2 parents 00a6c8c + 8452889 commit e861406
Show file tree
Hide file tree
Showing 28 changed files with 423 additions and 352 deletions.
10 changes: 5 additions & 5 deletions .github/Dockerfile-crux-llvm
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ RUN apt-get update && \
# ghcup requirements
build-essential curl libffi-dev libffi8 libgmp-dev libgmp10 libncurses-dev libncurses6 libtinfo6 \
# Crux dependencies \
zlib1g-dev \
pkg-config zlib1g-dev \
# LLVM toolchain
clang-12 llvm-12-tools \
# Miscellaneous
Expand All @@ -29,9 +29,9 @@ RUN mkdir -p /root/ghcup-download/bin && \
chmod +x /root/ghcup-download/bin/ghcup
RUN mkdir -p /root/.ghcup && \
ghcup --version && \
ghcup install cabal 3.10.1.0 && \
ghcup install ghc 9.2.8 && \
ghcup set ghc 9.2.8
ghcup install cabal 3.10.3.0 && \
ghcup install ghc 9.4.8 && \
ghcup set ghc 9.4.8
RUN cabal v2-update

ARG DIR=/crux-llvm
Expand All @@ -44,7 +44,7 @@ ADD crux ${DIR}/build/crux
ADD crux-llvm ${DIR}/build/crux-llvm
ADD dependencies ${DIR}/build/dependencies
ADD .github/cabal.project.crux-llvm ${DIR}/build/cabal.project
ADD cabal.GHC-9.2.8.config ${DIR}/build/cabal.project.freeze
ADD cabal.GHC-9.4.8.config ${DIR}/build/cabal.project.freeze
# Workaround until we have an LLVM 12 build available
RUN cp $DIR/build/crux-llvm/c-src/libcxx-7.1.0.bc $DIR/build/crux-llvm/c-src/libcxx-12.0.1.bc

Expand Down
10 changes: 5 additions & 5 deletions .github/Dockerfile-crux-mir
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ RUN apt-get update && \
# ghcup requirements
build-essential curl libffi-dev libffi8 libgmp-dev libgmp10 libncurses-dev libncurses6 libtinfo6 \
# Crux dependencies \
zlib1g-dev \
pkg-config zlib1g-dev \
# Miscellaneous
unzip wget

Expand All @@ -45,9 +45,9 @@ RUN mkdir -p /root/ghcup-download/bin && \
chmod +x /root/ghcup-download/bin/ghcup
RUN mkdir -p /root/.ghcup && \
ghcup --version && \
ghcup install cabal 3.10.1.0 && \
ghcup install ghc 9.2.8 && \
ghcup set ghc 9.2.8
ghcup install cabal 3.10.3.0 && \
ghcup install ghc 9.4.8 && \
ghcup set ghc 9.4.8
RUN cabal v2-update

ARG DIR=/crux-mir
Expand All @@ -60,7 +60,7 @@ ADD crux ${DIR}/build/crux
ADD crux-mir ${DIR}/build/crux-mir
ADD dependencies ${DIR}/build/dependencies
ADD .github/cabal.project.crux-mir ${DIR}/build/cabal.project
ADD cabal.GHC-9.2.8.config ${DIR}/build/cabal.project.freeze
ADD cabal.GHC-9.4.8.config ${DIR}/build/cabal.project.freeze

WORKDIR ${DIR}/build
RUN cabal v2-build --only-dependencies crux-mir
Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/crucible-go-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,15 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-22.04]
cabal: ["3.10.1.0"]
ghc: ["9.2.8", "9.4.5", "9.6.2"]
cabal: ["3.10.3.0"]
ghc: ["9.4.8", "9.6.5", "9.8.2"]
include:
- os: macos-12
cabal: 3.10.1.0
ghc: 9.6.2
cabal: 3.10.3.0
ghc: 9.8.2
- os: windows-2019
cabal: 3.10.1.0
ghc: 9.6.2
cabal: 3.10.3.0
ghc: 9.8.2
name: crucible-go - GHC v${{ matrix.ghc }} - ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
Expand Down Expand Up @@ -87,9 +87,9 @@ jobs:
run: |
GHC=haskell.compiler.ghc$(echo ${{ matrix.ghc }} | sed -e s,\\.,,g)
case ${{ matrix.ghc }} in
9.2.8) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;;
9.4.5) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;;
9.6.2) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;;
9.4.8) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-24.05 ;;
9.6.5) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-24.05 ;;
9.8.2) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-24.05 ;;
*) GHC_NIXPKGS=github:nixos/nixpkgs/21.11 ;;
esac
echo NS="nix shell ${GHC_NIXPKGS}#cabal-install ${GHC_NIXPKGS}#${GHC} nixpkgs#gmp nixpkgs#zlib nixpkgs#zlib.dev" >> $GITHUB_ENV
Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/crucible-jvm-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,15 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-22.04]
cabal: ["3.10.1.0"]
ghc: ["9.2.8", "9.4.5", "9.6.2"]
cabal: ["3.10.3.0"]
ghc: ["9.4.8", "9.6.5", "9.8.2"]
include:
- os: macos-12
cabal: 3.10.1.0
ghc: 9.6.2
cabal: 3.10.3.0
ghc: 9.8.2
- os: windows-2019
cabal: 3.10.1.0
ghc: 9.6.2
cabal: 3.10.3.0
ghc: 9.8.2
name: crucible-jvm - GHC v${{ matrix.ghc }} - ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
Expand Down Expand Up @@ -87,9 +87,9 @@ jobs:
run: |
GHC=haskell.compiler.ghc$(echo ${{ matrix.ghc }} | sed -e s,\\.,,g)
case ${{ matrix.ghc }} in
9.2.8) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;;
9.4.5) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;;
9.6.2) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;;
9.4.8) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-24.05 ;;
9.6.5) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-24.05 ;;
9.8.2) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-24.05 ;;
*) GHC_NIXPKGS=github:nixos/nixpkgs/21.11 ;;
esac
echo NS="nix shell ${GHC_NIXPKGS}#cabal-install ${GHC_NIXPKGS}#${GHC} nixpkgs#gmp nixpkgs#zlib nixpkgs#zlib.dev" >> $GITHUB_ENV
Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/crucible-wasm-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,15 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-22.04]
cabal: ["3.10.1.0"]
ghc: ["9.2.8", "9.4.5", "9.6.2"]
cabal: ["3.10.3.0"]
ghc: ["9.4.8", "9.6.5", "9.8.2"]
include:
- os: macos-12
cabal: 3.10.1.0
ghc: 9.6.2
cabal: 3.10.3.0
ghc: 9.8.2
- os: windows-2019
cabal: 3.10.1.0
ghc: 9.6.2
cabal: 3.10.3.0
ghc: 9.8.2
name: crucible-wasm - GHC v${{ matrix.ghc }} - ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
Expand Down Expand Up @@ -87,9 +87,9 @@ jobs:
run: |
GHC=haskell.compiler.ghc$(echo ${{ matrix.ghc }} | sed -e s,\\.,,g)
case ${{ matrix.ghc }} in
9.2.8) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;;
9.4.5) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;;
9.6.2) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;;
9.4.8) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-24.05 ;;
9.6.5) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-24.05 ;;
9.8.2) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-24.05 ;;
*) GHC_NIXPKGS=github:nixos/nixpkgs/21.11 ;;
esac
echo NS="nix shell ${GHC_NIXPKGS}#cabal-install ${GHC_NIXPKGS}#${GHC} nixpkgs#gmp nixpkgs#zlib nixpkgs#zlib.dev" >> $GITHUB_ENV
Expand Down
22 changes: 11 additions & 11 deletions .github/workflows/crux-llvm-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,18 +64,18 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-22.04]
cabal: ["3.10.1.0"]
ghc: ["9.2.8", "9.4.5", "9.6.2"]
cabal: ["3.10.3.0"]
ghc: ["9.4.8", "9.6.5", "9.8.2"]
include:
- os: ubuntu-20.04
cabal: 3.10.1.0
ghc: 9.2.8
cabal: 3.10.3.0
ghc: 9.4.8
- os: macos-14
cabal: 3.10.1.0
ghc: 9.2.8
cabal: 3.10.3.0
ghc: 9.4.8
- os: windows-2019
cabal: 3.10.1.0
ghc: 9.2.8
cabal: 3.10.3.0
ghc: 9.4.8
name: crux-llvm - GHC v${{ matrix.ghc }} - ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
Expand Down Expand Up @@ -127,9 +127,9 @@ jobs:
run: |
GHC=haskell.compiler.ghc$(echo ${{ matrix.ghc }} | sed -e s,\\.,,g)
case ${{ matrix.ghc }} in
9.2.8) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;;
9.4.5) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;;
9.6.2) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;;
9.4.8) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-24.05 ;;
9.6.5) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-24.05 ;;
9.8.2) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-24.05 ;;
*) GHC_NIXPKGS=github:nixos/nixpkgs/21.11 ;;
esac
echo NS="nix shell ${GHC_NIXPKGS}#cabal-install ${GHC_NIXPKGS}#${GHC} nixpkgs#gmp nixpkgs#zlib nixpkgs#zlib.dev" >> $GITHUB_ENV
Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/crux-mir-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,15 +64,15 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-22.04]
cabal: ["3.10.1.0"]
ghc: ["9.2.8", "9.4.5", "9.6.2"]
cabal: ["3.10.3.0"]
ghc: ["9.4.8", "9.6.5", "9.8.2"]
include:
- os: ubuntu-20.04
cabal: 3.10.1.0
ghc: 9.2.8
cabal: 3.10.3.0
ghc: 9.4.8
- os: macos-14
cabal: 3.10.1.0
ghc: 9.2.8
cabal: 3.10.3.0
ghc: 9.4.8

# We want Windows soon, but it doesn't need to be now
name: crux-mir - GHC v${{ matrix.ghc }} - ${{ matrix.os }}
Expand Down Expand Up @@ -133,9 +133,9 @@ jobs:
run: |
GHC=haskell.compiler.ghc$(echo ${{ matrix.ghc }} | sed -e s,\\.,,g)
case ${{ matrix.ghc }} in
9.2.8) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;;
9.4.5) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;;
9.6.2) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-23.05 ;;
9.4.8) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-24.05 ;;
9.6.5) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-24.05 ;;
9.8.2) GHC_NIXPKGS=github:nixos/nixpkgs/nixos-24.05 ;;
*) GHC_NIXPKGS=github:nixos/nixpkgs/21.11 ;;
esac
echo NS="nix shell ${GHC_NIXPKGS}#cabal-install ${GHC_NIXPKGS}#${GHC} nixpkgs#gmp nixpkgs#zlib nixpkgs#zlib.dev" >> $GITHUB_ENV
Expand Down
Loading

0 comments on commit e861406

Please sign in to comment.