Skip to content

Commit b1ca392

Browse files
committed
Upgrade cross-compilers to 9.2.5 to handle hashable-1.4.2.0
1 parent c05380d commit b1ca392

File tree

2 files changed

+17
-8
lines changed

2 files changed

+17
-8
lines changed

build/darwin.x86_64/Dockerfile

+7-4
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,18 @@ ENV TARGETNAME darwin.x86_64
66
# Build dependencies
77
USER root
88
ENV DEBIAN_FRONTEND noninteractive
9-
RUN apt-get update && apt-get install -y ghc automake autoconf llvm curl
9+
RUN sed -e 's/focal/kinetic/g' -i /etc/apt/sources.list
10+
RUN apt-get update
11+
RUN apt-get dist-upgrade -y
12+
RUN apt-get install -y ghc automake autoconf llvm curl alex happy
1013

1114
# Build GHC
1215
WORKDIR /ghc
13-
RUN curl -L "https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-src.tar.xz" | tar xJ --strip-components=1
14-
RUN ./boot && ./configure --host x86_64-linux-gnu --build x86_64-linux-gnu --target "$TARGET"
16+
RUN curl -L "https://downloads.haskell.org/~ghc/9.2.5/ghc-9.2.5-src.tar.xz" | tar xJ --strip-components=1
17+
RUN ./configure --host x86_64-linux-gnu --build x86_64-linux-gnu --target "$TARGET"
1518
RUN cp mk/flavours/quick-cross.mk mk/build.mk && make -j "$(nproc)"
1619
RUN make install
17-
RUN curl -L "https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-x86_64-unknown-linux.tar.xz" | tar xJv -C /usr/local/bin
20+
RUN curl -L "https://downloads.haskell.org/~cabal/cabal-install-3.9.0.0/cabal-install-3.9-x86_64-linux-alpine.tar.xz" | tar xJv -C /usr/local/bin
1821

1922
# Due to an apparent cabal bug, we specify our options directly to cabal
2023
# It won't reuse caches if ghc-options are specified in ~/.cabal/config

build/linux.aarch64/Dockerfile

+10-4
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,25 @@ ENV TARGETNAME linux.aarch64
66
# Build dependencies
77
USER root
88
ENV DEBIAN_FRONTEND noninteractive
9-
RUN apt-get update && apt-get install -y ghc automake autoconf build-essential llvm curl qemu-user-static gcc-$TARGET
9+
10+
# These deps are from 20.04, because GHC's compiler/llvm support moves slowly
11+
RUN apt-get update && apt-get install -y llvm gcc-$TARGET
12+
13+
# The rest are from 22.10
14+
RUN sed -e 's/focal/kinetic/g' -i /etc/apt/sources.list
15+
RUN apt-get update && apt-get install -y ghc alex happy automake autoconf build-essential curl qemu-user-static
1016

1117
# Build GHC
1218
WORKDIR /ghc
13-
RUN curl -L "https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-src.tar.xz" | tar xJ --strip-components=1
19+
RUN curl -L "https://downloads.haskell.org/~ghc/9.2.5/ghc-9.2.5-src.tar.xz" | tar xJ --strip-components=1
1420
RUN ./boot && ./configure --host x86_64-linux-gnu --build x86_64-linux-gnu --target "$TARGET"
1521
RUN cp mk/flavours/quick-cross.mk mk/build.mk && make -j "$(nproc)"
1622
RUN make install
17-
RUN curl -L "https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-x86_64-unknown-linux.tar.xz" | tar xJv -C /usr/local/bin
23+
RUN curl -L "https://downloads.haskell.org/~cabal/cabal-install-3.9.0.0/cabal-install-3.9-x86_64-linux-alpine.tar.xz" | tar xJv -C /usr/local/bin
1824

1925
# Due to an apparent cabal bug, we specify our options directly to cabal
2026
# It won't reuse caches if ghc-options are specified in ~/.cabal/config
21-
ENV CABALOPTS "--ghc-options;-split-sections -optc-Os -optc-Wl,--gc-sections;--with-ghc=$TARGET-ghc;--with-hc-pkg=$TARGET-ghc-pkg"
27+
ENV CABALOPTS "--ghc-options;-split-sections -optc-Os -optc-Wl,--gc-sections -optc-fPIC;--with-ghc=$TARGET-ghc;--with-hc-pkg=$TARGET-ghc-pkg"
2228

2329
# Prebuild the dependencies
2430
RUN cabal update && IFS=';' && cabal install --dependencies-only $CABALOPTS ShellCheck

0 commit comments

Comments
 (0)