Jon Boone pushed to branch issue-241-bug-in-compiler-pcl at cmucl / cmucl

Commits:

1 changed file:

Changes:

  • Dockerfile
    1
    +# Start from leverage tonistiigi/xx's Docker cross compilation helpers
    
    2
    +FROM --platform=$BUILDPLATFORM tonistiigi/xx as xx
    
    3
    +
    
    4
    +FROM --platform=$BUILDPLATFORM bash
    
    5
    +
    
    6
    +RUN apk update && apk upgrade
    
    7
    +
    
    8
    +ARG TARGETPLATFORM
    
    9
    +
    
    10
    +WORKDIR /root
    
    11
    +
    
    12
    +# add clang/lld for linux/amd64
    
    13
    +RUN apk add clang lld
    
    14
    +
    
    15
    +# add the cross-compilation support
    
    16
    +COPY --from=xx / /
    
    17
    +
    
    18
    +ENV TARGETPLATFORM linux/386
    
    19
    +
    
    20
    +# add clang/lld for linux/386
    
    21
    +RUN xx-apk add clang lld libgcc
    
    22
    +
    
    23
    +# get the full glibc
    
    24
    +RUN wget -q -O /i586-alpine-linux-musl/etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub
    
    25
    +RUN wget -q -O glibc-2.28-r0.apk https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.28-r0/glibc-2.28-r0.apk
    
    26
    +RUN xx-apk add glibc-2.28-r0.apk
    
    27
    +
    
    28
    +# add X support libraries
    
    29
    +RUN xx-apk add motif-dev
    
    30
    +
    
    31
    +
    
    32
    +ENV WORKDIR /usr/local/src/cmucl
    
    33
    +ENV OLD_LISP_URL "https://common-lisp.net/project/cmucl/downloads/snapshots/2023/08"
    
    34
    +ENV VERSION        "2023-08-x86"
    
    35
    +ENV BOOTSTRP       "-B boot-2023-08"
    
    36
    +ENV OLD_LISP_PATH "${WORKDIR}/snapshot"
    
    37
    +
    
    38
    +# create the workdir
    
    39
    +RUN mkdir -p "${WORKDIR}"
    
    40
    +
    
    41
    +# create the place to install the working CMUCL
    
    42
    +RUN mkdir "${OLD_LISP_PATH}"
    
    43
    +
    
    44
    +WORKDIR "${OLD_LISP_PATH}"
    
    45
    +
    
    46
    +# gather the working lisp
    
    47
    +RUN wget -nv "${OLD_LISP_URL}/cmucl-${VERSION}-linux.tar.bz2"
    
    48
    +RUN wget -nv "${OLD_LISP_URL}/cmucl-${VERSION}-linux.extra.tar.bz2"
    
    49
    +
    
    50
    +# install the CMUCL image
    
    51
    +RUN tar xjf "cmucl-${VERSION}-linux.tar.bz2"
    
    52
    +RUN tar xjf "cmucl-${VERSION}-linux.extra.tar.bz2"
    
    53
    +
    
    54
    +
    
    55
    +CMD ["bash"]
    \ No newline at end of file