Dockerfile 2.25 KB
Newer Older
Eric Timmons's avatar
Eric Timmons committed
1
2
3
4
5
6
7
#
# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
#
# PLEASE DO NOT EDIT IT DIRECTLY.
#
FROM buildpack-deps:buster

8
ENV CCL_COMMIT 6c1a9458f7a5437b73ec227e989aa5b825f32fd3
Eric Timmons's avatar
Eric Timmons committed
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

WORKDIR /usr/local/src/

# hadolint ignore=DL3003,DL3008
RUN set -x \
    && case "$(dpkg --print-architecture)" in \
    armhf) PLATFORM=linuxarm; CCL_SCRIPT=ccl; CCL_RELEASE_VERSION=1.12;; \
    amd64) PLATFORM=linuxx86; CCL_SCRIPT=ccl64; CCL_RELEASE_VERSION=1.12;; \
    *) echo "Unknown arch" >&2; exit 1;; \
    esac \
    && export PLATFORM \
    && export CCL_SCRIPT \
    && export CCL_RELEASE_VERSION \
    && curl -fsSL https://github.com/Clozure/ccl/archive/${CCL_COMMIT}.tar.gz > ccl-${CCL_COMMIT}.tar.gz \
    && curl -fsSL https://github.com/Clozure/ccl/releases/download/v${CCL_RELEASE_VERSION}/${PLATFORM}.tar.gz > ${PLATFORM}.tar.gz \
    && gunzip ${PLATFORM}.tar.gz \
    && gunzip ccl-${CCL_COMMIT}.tar.gz \
    && tar xf ccl-${CCL_COMMIT}.tar \
    && mv ccl-${CCL_COMMIT} ccl \
    && ( cd ccl && tar xf ../${PLATFORM}.tar && cp scripts/$CCL_SCRIPT /usr/local/bin/ccl && ccl -b -e "(rebuild-ccl :full t)" ) \
    && rm -rf ccl-${CCL_COMMIT}.tar ${PLATFORM}.tar \
    && ccl --version

32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Add the Quicklisp installer.
WORKDIR /usr/local/share/common-lisp/source/quicklisp/

ENV QUICKLISP_SIGNING_KEY D7A3489DDEFE32B7D0E7CC61307965AB028B5FF7

RUN set -x \
    && curl -fsSL "https://beta.quicklisp.org/quicklisp.lisp" > quicklisp.lisp \
    && curl -fsSL "https://beta.quicklisp.org/quicklisp.lisp.asc" > quicklisp.lisp.asc \
    && GNUPGHOME="$(mktemp -d)" \
    && export GNUPGHOME \
    && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${QUICKLISP_SIGNING_KEY}" \
    && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \
    && rm quicklisp.lisp.asc \
    && rm -rf "$GNUPGHOME"

47
48
49
# Add the script to trivially install Quicklisp
COPY install-quicklisp /usr/local/bin/install-quicklisp

Eric Timmons's avatar
Eric Timmons committed
50
51
52
53
54
55
56
57
# Install cl-launch. In the next release, move this up so that all images can
# share it.
# hadolint ignore=DL3008
RUN set -x \
    && apt-get update \
    && apt-get install --no-install-recommends -y cl-launch \
    && rm -rf /var/lib/apt/lists/*

58
# Add the entrypoint
Eric Timmons's avatar
Eric Timmons committed
59
60
61
62
63
64
65
WORKDIR /

COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh

ENTRYPOINT ["docker-entrypoint.sh"]

CMD ["ccl"]