diff --git a/builders/linux.x86_64/Dockerfile b/builders/linux.x86_64/Dockerfile index aafe306..33aea13 100644 --- a/builders/linux.x86_64/Dockerfile +++ b/builders/linux.x86_64/Dockerfile @@ -1,21 +1,27 @@ -FROM alpine:3.16 -# alpine:3.16 (GHC 9.0.1): 5.8 megabytes -# alpine:3.17 (GHC 9.0.2): 15.0 megabytes -# alpine:3.18 (GHC 9.4.4): 29.0 megabytes -# alpine:3.19 (GHC 9.4.7): 29.0 megabytes +FROM alpine:3.22 +# alpine:3.16 (GHC 9.0.1): 5.8 megabytes (certs expired) +# alpine:3.17 (GHC 9.0.2): 15.0 megabytes (certs expired) +# alpine:3.18 (GHC 9.4.4): 29.0 megabytes (certs expired) +# alpine:3.19 (GHC 9.4.7): 29.0 megabytes (certs expired) +# alpine:3.20 (GHC 9.8.2): 16.0 megabytes +# alpine:3.21 (GHC 9.8.2): 16.0 megabytes +# alpine:3.22 (GHC 9.8.2): 16.0 megabytes ENV TARGETNAME=linux.x86_64 # Install GHC and cabal USER root -RUN apk add ghc cabal g++ libffi-dev curl bash +RUN apk add ghc cabal g++ libffi-dev curl bash gmp gmp-static -# Use ld.bfd instead of ld.gold due to -# x86_64-linux-gnu/libpthread.a(pthread_cond_init.o)(.note.stapsdt+0x14): error: -# relocation refers to local symbol "" [2], which is defined in a discarded section -ENV CABALOPTS="--ghc-options;-optl-Wl,-fuse-ld=bfd -split-sections -optc-Os -optc-Wl,--gc-sections" +# Cabal has failed to cache if options are not specified on the command line, +# so do that explicitly. +ENV CABALOPTS="--ghc-options;-split-sections -optc-Os -optc-Wl,--gc-sections" + +# Verify that we have the certificates in place to successfully update cabal +RUN cabal update && rm -rf ~/.cabal # Other archs pre-build dependencies here, but this one doesn't to detect ecosystem movement +RUN true # Copy the build script COPY build /usr/bin