diff --git a/1.7.1/buster/jdk-15/Dockerfile b/1.7.1/bullseye/jdk-11/Dockerfile similarity index 91% rename from 1.7.1/buster/jdk-15/Dockerfile rename to 1.7.1/bullseye/jdk-11/Dockerfile index 266267864ba4b8ad6da8367c19e61019c3be6dc5..53ee96b143eb575f282f1e4fdcaa89a5cbaf1ec1 100644 --- a/1.7.1/buster/jdk-15/Dockerfile +++ b/1.7.1/bullseye/jdk-11/Dockerfile @@ -3,7 +3,7 @@ # # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM openjdk:15-jdk-buster +FROM openjdk:11-jdk-bullseye # Install the packages that buildpack-deps adds on top of # buildpack-deps:scm. This is a bit odd for a JVM based image, but the CFFI @@ -61,10 +61,10 @@ RUN set -ex; \ # Install Maven as it is commonly used with ABCL, including with anything that # uses CFFI. We install it ourselves instead of basing the image off of maven # because the maven image only follows openjdk's default OS choice and does not -# provide buster based images for jdk12+. +# provide Debian based images for jdk12+. -ARG MAVEN_VERSION=3.6.3 -ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0 +ARG MAVEN_VERSION=3.8.2 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 WORKDIR /usr/share/maven @@ -91,7 +91,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc" > "abcl-src-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ @@ -114,7 +114,7 @@ RUN set -x \ && 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 --keyserver keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ && rm quicklisp.lisp.asc \ && rm -rf "$GNUPGHOME" diff --git a/1.7.1/buster/jdk-15/abcl-wrapper b/1.7.1/bullseye/jdk-11/abcl-wrapper similarity index 100% rename from 1.7.1/buster/jdk-15/abcl-wrapper rename to 1.7.1/bullseye/jdk-11/abcl-wrapper diff --git a/1.7.1/buster/jdk-15/docker-entrypoint.sh b/1.7.1/bullseye/jdk-11/docker-entrypoint.sh similarity index 100% rename from 1.7.1/buster/jdk-15/docker-entrypoint.sh rename to 1.7.1/bullseye/jdk-11/docker-entrypoint.sh diff --git a/1.7.1/buster/jdk-15/install-quicklisp b/1.7.1/bullseye/jdk-11/install-quicklisp similarity index 100% rename from 1.7.1/buster/jdk-15/install-quicklisp rename to 1.7.1/bullseye/jdk-11/install-quicklisp diff --git a/1.7.1/buster/jdk-15/slim/Dockerfile b/1.7.1/bullseye/jdk-11/slim/Dockerfile similarity index 92% rename from 1.7.1/buster/jdk-15/slim/Dockerfile rename to 1.7.1/bullseye/jdk-11/slim/Dockerfile index 3b4b4d50596d5cf81785fae4f66f4003053ef10d..800a8f45e4102a4dfc4f7f7f573e165163f101aa 100644 --- a/1.7.1/buster/jdk-15/slim/Dockerfile +++ b/1.7.1/bullseye/jdk-11/slim/Dockerfile @@ -3,7 +3,7 @@ # # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM openjdk:15-jdk-slim-buster +FROM openjdk:11-jdk-slim-bullseye ENV ABCL_VERSION 1.7.1 @@ -19,7 +19,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ diff --git a/1.7.1/buster/jdk-15/slim/abcl-wrapper b/1.7.1/bullseye/jdk-11/slim/abcl-wrapper similarity index 100% rename from 1.7.1/buster/jdk-15/slim/abcl-wrapper rename to 1.7.1/bullseye/jdk-11/slim/abcl-wrapper diff --git a/1.7.1/buster/jdk-15/slim/docker-entrypoint.sh b/1.7.1/bullseye/jdk-11/slim/docker-entrypoint.sh similarity index 100% rename from 1.7.1/buster/jdk-15/slim/docker-entrypoint.sh rename to 1.7.1/bullseye/jdk-11/slim/docker-entrypoint.sh diff --git a/1.7.1/bullseye/jdk-16/Dockerfile b/1.7.1/bullseye/jdk-16/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..bd63fdfec9e486cae3f7cfded34521f319d29cc9 --- /dev/null +++ b/1.7.1/bullseye/jdk-16/Dockerfile @@ -0,0 +1,141 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# +FROM openjdk:16-jdk-bullseye + +# Install the packages that buildpack-deps adds on top of +# buildpack-deps:scm. This is a bit odd for a JVM based image, but the CFFI +# project is commonly used and requires a compiler, headers, etc. Additionally, +# this gives a more uniform experience between the different cl-docker-images +# project's images. +RUN set -ex; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + autoconf \ + automake \ + bzip2 \ + default-libmysqlclient-dev \ + dpkg-dev \ + file \ + g++ \ + gcc \ + imagemagick \ + libbz2-dev \ + libc6-dev \ + libcurl4-openssl-dev \ + libdb-dev \ + libevent-dev \ + libffi-dev \ + libgdbm-dev \ + libglib2.0-dev \ + libgmp-dev \ + libjpeg-dev \ + libkrb5-dev \ + liblzma-dev \ + libmagickcore-dev \ + libmagickwand-dev \ + libmaxminddb-dev \ + libncurses5-dev \ + libncursesw5-dev \ + libpng-dev \ + libpq-dev \ + libreadline-dev \ + libsqlite3-dev \ + libssl-dev \ + libtool \ + libwebp-dev \ + libxml2-dev \ + libxslt-dev \ + libyaml-dev \ + make \ + patch \ + unzip \ + xz-utils \ + zlib1g-dev \ + \ + ; \ + rm -rf /var/lib/apt/lists/* + +# Install Maven as it is commonly used with ABCL, including with anything that +# uses CFFI. We install it ourselves instead of basing the image off of maven +# because the maven image only follows openjdk's default OS choice and does not +# provide Debian based images for jdk12+. + +ARG MAVEN_VERSION=3.8.2 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 + +WORKDIR /usr/share/maven + +RUN curl -fsSL https://apache.osuosl.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz > /tmp/apache-maven.tar.gz \ + && echo "${MAVEN_SHA} /tmp/apache-maven.tar.gz" | sha512sum -c - \ + && tar -xzf /tmp/apache-maven.tar.gz --strip-components=1 \ + && rm -f /tmp/apache-maven.tar.gz \ + && ln -s /usr/share/maven/bin/mvn /usr/bin/mvn + +ENV MAVEN_HOME /usr/share/maven + +# Now install ABCL + +ENV ABCL_VERSION 1.7.1 + +WORKDIR /usr/local/share/ + +ENV ABCL_SIGNING_KEY 5491D207FF9ECDE0BEA277772A9641104DB1773D + +RUN set -x \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz" > "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz" > "abcl-src-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc" > "abcl-src-${ABCL_VERSION}.tar.gz.asc" \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ + && gunzip "abcl-src-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-src-${ABCL_VERSION}.tar" \ + && mv "abcl-bin-${ABCL_VERSION}" abcl \ + && mkdir -p /usr/local/src \ + && mv "abcl-src-${ABCL_VERSION}" /usr/local/src/abcl/ \ + && rm -rf "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar" "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + && java -jar /usr/local/share/abcl/abcl.jar --batch --eval '(print (multiple-value-list (lisp-implementation-version)))' + +# 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 keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ + && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ + && rm quicklisp.lisp.asc \ + && rm -rf "$GNUPGHOME" + +# Add the script to trivially install Quicklisp +COPY install-quicklisp /usr/local/bin/install-quicklisp + +# 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/* + +# Add the entrypoint +WORKDIR / + +COPY abcl-wrapper /usr/local/bin/abcl +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh + +ENTRYPOINT ["docker-entrypoint.sh"] + +CMD ["abcl"] diff --git a/1.8.0/buster/jdk-15/abcl-wrapper b/1.7.1/bullseye/jdk-16/abcl-wrapper similarity index 100% rename from 1.8.0/buster/jdk-15/abcl-wrapper rename to 1.7.1/bullseye/jdk-16/abcl-wrapper diff --git a/1.8.0/buster/jdk-15/docker-entrypoint.sh b/1.7.1/bullseye/jdk-16/docker-entrypoint.sh similarity index 100% rename from 1.8.0/buster/jdk-15/docker-entrypoint.sh rename to 1.7.1/bullseye/jdk-16/docker-entrypoint.sh diff --git a/1.8.0/buster/jdk-15/install-quicklisp b/1.7.1/bullseye/jdk-16/install-quicklisp similarity index 100% rename from 1.8.0/buster/jdk-15/install-quicklisp rename to 1.7.1/bullseye/jdk-16/install-quicklisp diff --git a/1.7.1/bullseye/jdk-16/slim/Dockerfile b/1.7.1/bullseye/jdk-16/slim/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..9662dfd02dac0c92b9a285ec2f5ac3239a58d54a --- /dev/null +++ b/1.7.1/bullseye/jdk-16/slim/Dockerfile @@ -0,0 +1,42 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# +FROM openjdk:16-jdk-slim-bullseye + +ENV ABCL_VERSION 1.7.1 + +WORKDIR /usr/local/share/ + +ENV ABCL_SIGNING_KEY 5491D207FF9ECDE0BEA277772A9641104DB1773D + +RUN set -x \ + # Install fetch deps + && apt-get update \ + && apt-get install --no-install-recommends -y curl gnupg dirmngr \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz" > "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ + && mv "abcl-bin-${ABCL_VERSION}" abcl \ + && rm -rf "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + # Remove fetch deps + && apt-get remove -y curl gnupg dirmngr \ + && apt-get autoremove -y \ + && rm -rf /var/lib/apt/lists/* \ + # Smoke test ABCL. + && java -jar /usr/local/share/abcl/abcl.jar --batch --eval '(print (multiple-value-list (lisp-implementation-version)))' + +WORKDIR / + +COPY abcl-wrapper /usr/local/bin/abcl +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh + +ENTRYPOINT ["docker-entrypoint.sh"] + +CMD ["abcl"] diff --git a/1.8.0/buster/jdk-15/slim/abcl-wrapper b/1.7.1/bullseye/jdk-16/slim/abcl-wrapper similarity index 100% rename from 1.8.0/buster/jdk-15/slim/abcl-wrapper rename to 1.7.1/bullseye/jdk-16/slim/abcl-wrapper diff --git a/1.8.0/buster/jdk-15/slim/docker-entrypoint.sh b/1.7.1/bullseye/jdk-16/slim/docker-entrypoint.sh similarity index 100% rename from 1.8.0/buster/jdk-15/slim/docker-entrypoint.sh rename to 1.7.1/bullseye/jdk-16/slim/docker-entrypoint.sh diff --git a/1.7.1/bullseye/jdk-8/Dockerfile b/1.7.1/bullseye/jdk-8/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..6ed88d0663d14b31aea699ee25d2223fe3bb98a7 --- /dev/null +++ b/1.7.1/bullseye/jdk-8/Dockerfile @@ -0,0 +1,141 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# +FROM openjdk:8-jdk-bullseye + +# Install the packages that buildpack-deps adds on top of +# buildpack-deps:scm. This is a bit odd for a JVM based image, but the CFFI +# project is commonly used and requires a compiler, headers, etc. Additionally, +# this gives a more uniform experience between the different cl-docker-images +# project's images. +RUN set -ex; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + autoconf \ + automake \ + bzip2 \ + default-libmysqlclient-dev \ + dpkg-dev \ + file \ + g++ \ + gcc \ + imagemagick \ + libbz2-dev \ + libc6-dev \ + libcurl4-openssl-dev \ + libdb-dev \ + libevent-dev \ + libffi-dev \ + libgdbm-dev \ + libglib2.0-dev \ + libgmp-dev \ + libjpeg-dev \ + libkrb5-dev \ + liblzma-dev \ + libmagickcore-dev \ + libmagickwand-dev \ + libmaxminddb-dev \ + libncurses5-dev \ + libncursesw5-dev \ + libpng-dev \ + libpq-dev \ + libreadline-dev \ + libsqlite3-dev \ + libssl-dev \ + libtool \ + libwebp-dev \ + libxml2-dev \ + libxslt-dev \ + libyaml-dev \ + make \ + patch \ + unzip \ + xz-utils \ + zlib1g-dev \ + \ + ; \ + rm -rf /var/lib/apt/lists/* + +# Install Maven as it is commonly used with ABCL, including with anything that +# uses CFFI. We install it ourselves instead of basing the image off of maven +# because the maven image only follows openjdk's default OS choice and does not +# provide Debian based images for jdk12+. + +ARG MAVEN_VERSION=3.8.2 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 + +WORKDIR /usr/share/maven + +RUN curl -fsSL https://apache.osuosl.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz > /tmp/apache-maven.tar.gz \ + && echo "${MAVEN_SHA} /tmp/apache-maven.tar.gz" | sha512sum -c - \ + && tar -xzf /tmp/apache-maven.tar.gz --strip-components=1 \ + && rm -f /tmp/apache-maven.tar.gz \ + && ln -s /usr/share/maven/bin/mvn /usr/bin/mvn + +ENV MAVEN_HOME /usr/share/maven + +# Now install ABCL + +ENV ABCL_VERSION 1.7.1 + +WORKDIR /usr/local/share/ + +ENV ABCL_SIGNING_KEY 5491D207FF9ECDE0BEA277772A9641104DB1773D + +RUN set -x \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz" > "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz" > "abcl-src-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc" > "abcl-src-${ABCL_VERSION}.tar.gz.asc" \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ + && gunzip "abcl-src-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-src-${ABCL_VERSION}.tar" \ + && mv "abcl-bin-${ABCL_VERSION}" abcl \ + && mkdir -p /usr/local/src \ + && mv "abcl-src-${ABCL_VERSION}" /usr/local/src/abcl/ \ + && rm -rf "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar" "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + && java -jar /usr/local/share/abcl/abcl.jar --batch --eval '(print (multiple-value-list (lisp-implementation-version)))' + +# 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 keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ + && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ + && rm quicklisp.lisp.asc \ + && rm -rf "$GNUPGHOME" + +# Add the script to trivially install Quicklisp +COPY install-quicklisp /usr/local/bin/install-quicklisp + +# 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/* + +# Add the entrypoint +WORKDIR / + +COPY abcl-wrapper /usr/local/bin/abcl +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh + +ENTRYPOINT ["docker-entrypoint.sh"] + +CMD ["abcl"] diff --git a/1.7.1/bullseye/jdk-8/abcl-wrapper b/1.7.1/bullseye/jdk-8/abcl-wrapper new file mode 100755 index 0000000000000000000000000000000000000000..033e29a36854202544bbebe1b3a5bedcc6247fd1 --- /dev/null +++ b/1.7.1/bullseye/jdk-8/abcl-wrapper @@ -0,0 +1,7 @@ +#!/bin/sh + +exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \ + -XshowSettings:vm -Dfile.encoding=UTF-8 \ + -XX:+UseG1GC -XX:+AggressiveOpts -XX:CompileThreshold=10 \ + org.armedbear.lisp.Main \ + "$@" diff --git a/1.7.1/bullseye/jdk-8/docker-entrypoint.sh b/1.7.1/bullseye/jdk-8/docker-entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..7f6b5a34d7349c9fbeb8f116018e075bb257005d --- /dev/null +++ b/1.7.1/bullseye/jdk-8/docker-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/1.7.1/bullseye/jdk-8/install-quicklisp b/1.7.1/bullseye/jdk-8/install-quicklisp new file mode 100755 index 0000000000000000000000000000000000000000..ae80aa54dd8c444805e3b99ebe3251f4ae4429f0 --- /dev/null +++ b/1.7.1/bullseye/jdk-8/install-quicklisp @@ -0,0 +1,18 @@ +#!/bin/sh + +if [ -z "$QUICKLISP_DIST_VERSION" ] || [ "$QUICKLISP_DIST_VERSION" = "latest" ]; then + QUICKLISP_DIST_VERSION=nil +else + QUICKLISP_DIST_VERSION="\"quicklisp/$QUICKLISP_DIST_VERSION\"" +fi + +if [ -z "$QUICKLISP_CLIENT_VERSION" ] || [ "$QUICKLISP_CLIENT_VERSION" = "latest" ]; then + QUICKLISP_CLIENT_VERSION=nil +else + QUICKLISP_CLIENT_VERSION="\"$QUICKLISP_CLIENT_VERSION\"" +fi + +abcl --batch \ + --load /usr/local/share/common-lisp/source/quicklisp/quicklisp.lisp \ + --eval "(quicklisp-quickstart:install :dist-version $QUICKLISP_DIST_VERSION :client-version $QUICKLISP_CLIENT_VERSION)" \ + --eval "(when (equalp \"$QUICKLISP_ADD_TO_INIT_FILE\" \"true\") (ql-util:without-prompting (ql:add-to-init-file)))" diff --git a/1.7.1/bullseye/jdk-8/slim/Dockerfile b/1.7.1/bullseye/jdk-8/slim/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..5366afa717c7fa73327ce353cb067e4b8472ff81 --- /dev/null +++ b/1.7.1/bullseye/jdk-8/slim/Dockerfile @@ -0,0 +1,42 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# +FROM openjdk:8-jdk-slim-bullseye + +ENV ABCL_VERSION 1.7.1 + +WORKDIR /usr/local/share/ + +ENV ABCL_SIGNING_KEY 5491D207FF9ECDE0BEA277772A9641104DB1773D + +RUN set -x \ + # Install fetch deps + && apt-get update \ + && apt-get install --no-install-recommends -y curl gnupg dirmngr \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz" > "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ + && mv "abcl-bin-${ABCL_VERSION}" abcl \ + && rm -rf "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + # Remove fetch deps + && apt-get remove -y curl gnupg dirmngr \ + && apt-get autoremove -y \ + && rm -rf /var/lib/apt/lists/* \ + # Smoke test ABCL. + && java -jar /usr/local/share/abcl/abcl.jar --batch --eval '(print (multiple-value-list (lisp-implementation-version)))' + +WORKDIR / + +COPY abcl-wrapper /usr/local/bin/abcl +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh + +ENTRYPOINT ["docker-entrypoint.sh"] + +CMD ["abcl"] diff --git a/1.7.1/bullseye/jdk-8/slim/abcl-wrapper b/1.7.1/bullseye/jdk-8/slim/abcl-wrapper new file mode 100755 index 0000000000000000000000000000000000000000..033e29a36854202544bbebe1b3a5bedcc6247fd1 --- /dev/null +++ b/1.7.1/bullseye/jdk-8/slim/abcl-wrapper @@ -0,0 +1,7 @@ +#!/bin/sh + +exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \ + -XshowSettings:vm -Dfile.encoding=UTF-8 \ + -XX:+UseG1GC -XX:+AggressiveOpts -XX:CompileThreshold=10 \ + org.armedbear.lisp.Main \ + "$@" diff --git a/1.7.1/bullseye/jdk-8/slim/docker-entrypoint.sh b/1.7.1/bullseye/jdk-8/slim/docker-entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..7f6b5a34d7349c9fbeb8f116018e075bb257005d --- /dev/null +++ b/1.7.1/bullseye/jdk-8/slim/docker-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/1.7.1/buster/jdk-11/Dockerfile b/1.7.1/buster/jdk-11/Dockerfile index 85c586918dfe3e2f82642aa59718f50b1f87b10b..5ad7680571895c24f7dac1d2e196a6358923de70 100644 --- a/1.7.1/buster/jdk-11/Dockerfile +++ b/1.7.1/buster/jdk-11/Dockerfile @@ -61,10 +61,10 @@ RUN set -ex; \ # Install Maven as it is commonly used with ABCL, including with anything that # uses CFFI. We install it ourselves instead of basing the image off of maven # because the maven image only follows openjdk's default OS choice and does not -# provide buster based images for jdk12+. +# provide Debian based images for jdk12+. -ARG MAVEN_VERSION=3.6.3 -ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0 +ARG MAVEN_VERSION=3.8.2 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 WORKDIR /usr/share/maven @@ -91,7 +91,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc" > "abcl-src-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ @@ -114,7 +114,7 @@ RUN set -x \ && 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 --keyserver keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ && rm quicklisp.lisp.asc \ && rm -rf "$GNUPGHOME" diff --git a/1.7.1/buster/jdk-11/slim/Dockerfile b/1.7.1/buster/jdk-11/slim/Dockerfile index 88f98e4a3807fbf9b408a541ee4f665c9803373e..8f3bc060bd45c7979a3ba14eb834eb9b058a2466 100644 --- a/1.7.1/buster/jdk-11/slim/Dockerfile +++ b/1.7.1/buster/jdk-11/slim/Dockerfile @@ -19,7 +19,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ diff --git a/1.7.1/buster/jdk-16/Dockerfile b/1.7.1/buster/jdk-16/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..6e4048577bfb68b01de1beac2694f82a2b4d2102 --- /dev/null +++ b/1.7.1/buster/jdk-16/Dockerfile @@ -0,0 +1,141 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# +FROM openjdk:16-jdk-buster + +# Install the packages that buildpack-deps adds on top of +# buildpack-deps:scm. This is a bit odd for a JVM based image, but the CFFI +# project is commonly used and requires a compiler, headers, etc. Additionally, +# this gives a more uniform experience between the different cl-docker-images +# project's images. +RUN set -ex; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + autoconf \ + automake \ + bzip2 \ + default-libmysqlclient-dev \ + dpkg-dev \ + file \ + g++ \ + gcc \ + imagemagick \ + libbz2-dev \ + libc6-dev \ + libcurl4-openssl-dev \ + libdb-dev \ + libevent-dev \ + libffi-dev \ + libgdbm-dev \ + libglib2.0-dev \ + libgmp-dev \ + libjpeg-dev \ + libkrb5-dev \ + liblzma-dev \ + libmagickcore-dev \ + libmagickwand-dev \ + libmaxminddb-dev \ + libncurses5-dev \ + libncursesw5-dev \ + libpng-dev \ + libpq-dev \ + libreadline-dev \ + libsqlite3-dev \ + libssl-dev \ + libtool \ + libwebp-dev \ + libxml2-dev \ + libxslt-dev \ + libyaml-dev \ + make \ + patch \ + unzip \ + xz-utils \ + zlib1g-dev \ + \ + ; \ + rm -rf /var/lib/apt/lists/* + +# Install Maven as it is commonly used with ABCL, including with anything that +# uses CFFI. We install it ourselves instead of basing the image off of maven +# because the maven image only follows openjdk's default OS choice and does not +# provide Debian based images for jdk12+. + +ARG MAVEN_VERSION=3.8.2 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 + +WORKDIR /usr/share/maven + +RUN curl -fsSL https://apache.osuosl.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz > /tmp/apache-maven.tar.gz \ + && echo "${MAVEN_SHA} /tmp/apache-maven.tar.gz" | sha512sum -c - \ + && tar -xzf /tmp/apache-maven.tar.gz --strip-components=1 \ + && rm -f /tmp/apache-maven.tar.gz \ + && ln -s /usr/share/maven/bin/mvn /usr/bin/mvn + +ENV MAVEN_HOME /usr/share/maven + +# Now install ABCL + +ENV ABCL_VERSION 1.7.1 + +WORKDIR /usr/local/share/ + +ENV ABCL_SIGNING_KEY 5491D207FF9ECDE0BEA277772A9641104DB1773D + +RUN set -x \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz" > "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz" > "abcl-src-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc" > "abcl-src-${ABCL_VERSION}.tar.gz.asc" \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ + && gunzip "abcl-src-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-src-${ABCL_VERSION}.tar" \ + && mv "abcl-bin-${ABCL_VERSION}" abcl \ + && mkdir -p /usr/local/src \ + && mv "abcl-src-${ABCL_VERSION}" /usr/local/src/abcl/ \ + && rm -rf "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar" "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + && java -jar /usr/local/share/abcl/abcl.jar --batch --eval '(print (multiple-value-list (lisp-implementation-version)))' + +# 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 keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ + && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ + && rm quicklisp.lisp.asc \ + && rm -rf "$GNUPGHOME" + +# Add the script to trivially install Quicklisp +COPY install-quicklisp /usr/local/bin/install-quicklisp + +# 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/* + +# Add the entrypoint +WORKDIR / + +COPY abcl-wrapper /usr/local/bin/abcl +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh + +ENTRYPOINT ["docker-entrypoint.sh"] + +CMD ["abcl"] diff --git a/abcl-wrapper-jdk15 b/1.7.1/buster/jdk-16/abcl-wrapper similarity index 100% rename from abcl-wrapper-jdk15 rename to 1.7.1/buster/jdk-16/abcl-wrapper diff --git a/1.7.1/buster/jdk-16/docker-entrypoint.sh b/1.7.1/buster/jdk-16/docker-entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..7f6b5a34d7349c9fbeb8f116018e075bb257005d --- /dev/null +++ b/1.7.1/buster/jdk-16/docker-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/1.7.1/buster/jdk-16/install-quicklisp b/1.7.1/buster/jdk-16/install-quicklisp new file mode 100755 index 0000000000000000000000000000000000000000..ae80aa54dd8c444805e3b99ebe3251f4ae4429f0 --- /dev/null +++ b/1.7.1/buster/jdk-16/install-quicklisp @@ -0,0 +1,18 @@ +#!/bin/sh + +if [ -z "$QUICKLISP_DIST_VERSION" ] || [ "$QUICKLISP_DIST_VERSION" = "latest" ]; then + QUICKLISP_DIST_VERSION=nil +else + QUICKLISP_DIST_VERSION="\"quicklisp/$QUICKLISP_DIST_VERSION\"" +fi + +if [ -z "$QUICKLISP_CLIENT_VERSION" ] || [ "$QUICKLISP_CLIENT_VERSION" = "latest" ]; then + QUICKLISP_CLIENT_VERSION=nil +else + QUICKLISP_CLIENT_VERSION="\"$QUICKLISP_CLIENT_VERSION\"" +fi + +abcl --batch \ + --load /usr/local/share/common-lisp/source/quicklisp/quicklisp.lisp \ + --eval "(quicklisp-quickstart:install :dist-version $QUICKLISP_DIST_VERSION :client-version $QUICKLISP_CLIENT_VERSION)" \ + --eval "(when (equalp \"$QUICKLISP_ADD_TO_INIT_FILE\" \"true\") (ql-util:without-prompting (ql:add-to-init-file)))" diff --git a/1.7.1/buster/jdk-16/slim/Dockerfile b/1.7.1/buster/jdk-16/slim/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..fcc34405b39ec232cdef7fce399c7c5d616cac01 --- /dev/null +++ b/1.7.1/buster/jdk-16/slim/Dockerfile @@ -0,0 +1,42 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# +FROM openjdk:16-jdk-slim-buster + +ENV ABCL_VERSION 1.7.1 + +WORKDIR /usr/local/share/ + +ENV ABCL_SIGNING_KEY 5491D207FF9ECDE0BEA277772A9641104DB1773D + +RUN set -x \ + # Install fetch deps + && apt-get update \ + && apt-get install --no-install-recommends -y curl gnupg dirmngr \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz" > "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ + && mv "abcl-bin-${ABCL_VERSION}" abcl \ + && rm -rf "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + # Remove fetch deps + && apt-get remove -y curl gnupg dirmngr \ + && apt-get autoremove -y \ + && rm -rf /var/lib/apt/lists/* \ + # Smoke test ABCL. + && java -jar /usr/local/share/abcl/abcl.jar --batch --eval '(print (multiple-value-list (lisp-implementation-version)))' + +WORKDIR / + +COPY abcl-wrapper /usr/local/bin/abcl +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh + +ENTRYPOINT ["docker-entrypoint.sh"] + +CMD ["abcl"] diff --git a/1.7.1/buster/jdk-16/slim/abcl-wrapper b/1.7.1/buster/jdk-16/slim/abcl-wrapper new file mode 100755 index 0000000000000000000000000000000000000000..da76f04365f54d85863e4bd70e3f934c3c21c6d0 --- /dev/null +++ b/1.7.1/buster/jdk-16/slim/abcl-wrapper @@ -0,0 +1,7 @@ +#!/bin/sh + +exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \ + -XshowSettings:vm -Dfile.encoding=UTF-8 \ + -XX:CompileThreshold=10 \ + org.armedbear.lisp.Main \ + "$@" diff --git a/1.7.1/buster/jdk-16/slim/docker-entrypoint.sh b/1.7.1/buster/jdk-16/slim/docker-entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..7f6b5a34d7349c9fbeb8f116018e075bb257005d --- /dev/null +++ b/1.7.1/buster/jdk-16/slim/docker-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/1.7.1/buster/jdk-8/Dockerfile b/1.7.1/buster/jdk-8/Dockerfile index ee82d9a03ef32befd9158b46be71461591c283be..635debb25805bb145cfce8cdd5669b247e531d06 100644 --- a/1.7.1/buster/jdk-8/Dockerfile +++ b/1.7.1/buster/jdk-8/Dockerfile @@ -61,10 +61,10 @@ RUN set -ex; \ # Install Maven as it is commonly used with ABCL, including with anything that # uses CFFI. We install it ourselves instead of basing the image off of maven # because the maven image only follows openjdk's default OS choice and does not -# provide buster based images for jdk12+. +# provide Debian based images for jdk12+. -ARG MAVEN_VERSION=3.6.3 -ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0 +ARG MAVEN_VERSION=3.8.2 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 WORKDIR /usr/share/maven @@ -91,7 +91,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc" > "abcl-src-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ @@ -114,7 +114,7 @@ RUN set -x \ && 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 --keyserver keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ && rm quicklisp.lisp.asc \ && rm -rf "$GNUPGHOME" diff --git a/1.7.1/buster/jdk-8/slim/Dockerfile b/1.7.1/buster/jdk-8/slim/Dockerfile index 03c7bb13774cd00fe14f5b92e1160aced60fd3a6..899a769522d3ffb24e72fbbd0d491341c6e0ea9d 100644 --- a/1.7.1/buster/jdk-8/slim/Dockerfile +++ b/1.7.1/buster/jdk-8/slim/Dockerfile @@ -19,7 +19,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ diff --git a/1.7.1/windowsservercore-1809/jdk-15/Dockerfile b/1.7.1/windowsservercore-1809/jdk-16/Dockerfile similarity index 97% rename from 1.7.1/windowsservercore-1809/jdk-15/Dockerfile rename to 1.7.1/windowsservercore-1809/jdk-16/Dockerfile index 83461a332d0a12bca146bf178267ef99bc6f6383..fefeb486ef1f2460066c211aa37ebb16e55eb3d6 100644 --- a/1.7.1/windowsservercore-1809/jdk-15/Dockerfile +++ b/1.7.1/windowsservercore-1809/jdk-16/Dockerfile @@ -3,7 +3,7 @@ # # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM openjdk:15-jdk-windowsservercore-1809 +FROM openjdk:16-jdk-windowsservercore-1809 SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] diff --git a/1.7.1/windowsservercore-1809/jdk-15/abcl-wrapper.bat b/1.7.1/windowsservercore-1809/jdk-16/abcl-wrapper.bat similarity index 100% rename from 1.7.1/windowsservercore-1809/jdk-15/abcl-wrapper.bat rename to 1.7.1/windowsservercore-1809/jdk-16/abcl-wrapper.bat diff --git a/1.7.1/windowsservercore-ltsc2016/jdk-15/Dockerfile b/1.7.1/windowsservercore-ltsc2016/jdk-16/Dockerfile similarity index 96% rename from 1.7.1/windowsservercore-ltsc2016/jdk-15/Dockerfile rename to 1.7.1/windowsservercore-ltsc2016/jdk-16/Dockerfile index c1c9f291b85e4a1412f644528bbe6ddaf093ec24..00183a8768cc6fafe12487d29b6e1486f30514d4 100644 --- a/1.7.1/windowsservercore-ltsc2016/jdk-15/Dockerfile +++ b/1.7.1/windowsservercore-ltsc2016/jdk-16/Dockerfile @@ -3,7 +3,7 @@ # # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM openjdk:15-jdk-windowsservercore-ltsc2016 +FROM openjdk:16-jdk-windowsservercore-ltsc2016 SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] diff --git a/1.7.1/windowsservercore-ltsc2016/jdk-15/abcl-wrapper.bat b/1.7.1/windowsservercore-ltsc2016/jdk-16/abcl-wrapper.bat similarity index 100% rename from 1.7.1/windowsservercore-ltsc2016/jdk-15/abcl-wrapper.bat rename to 1.7.1/windowsservercore-ltsc2016/jdk-16/abcl-wrapper.bat diff --git a/1.8.0/buster/jdk-15/Dockerfile b/1.8.0/bullseye/jdk-11/Dockerfile similarity index 91% rename from 1.8.0/buster/jdk-15/Dockerfile rename to 1.8.0/bullseye/jdk-11/Dockerfile index d7b3d8c109ff3ec4a16b96888131add3b8140a0d..97a44e8f0b0ae4820b3c13723c72d15fe650f32f 100644 --- a/1.8.0/buster/jdk-15/Dockerfile +++ b/1.8.0/bullseye/jdk-11/Dockerfile @@ -3,7 +3,7 @@ # # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM openjdk:15-jdk-buster +FROM openjdk:11-jdk-bullseye # Install the packages that buildpack-deps adds on top of # buildpack-deps:scm. This is a bit odd for a JVM based image, but the CFFI @@ -61,10 +61,10 @@ RUN set -ex; \ # Install Maven as it is commonly used with ABCL, including with anything that # uses CFFI. We install it ourselves instead of basing the image off of maven # because the maven image only follows openjdk's default OS choice and does not -# provide buster based images for jdk12+. +# provide Debian based images for jdk12+. -ARG MAVEN_VERSION=3.6.3 -ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0 +ARG MAVEN_VERSION=3.8.2 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 WORKDIR /usr/share/maven @@ -91,7 +91,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc" > "abcl-src-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ @@ -114,7 +114,7 @@ RUN set -x \ && 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 --keyserver keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ && rm quicklisp.lisp.asc \ && rm -rf "$GNUPGHOME" diff --git a/1.8.0/bullseye/jdk-11/abcl-wrapper b/1.8.0/bullseye/jdk-11/abcl-wrapper new file mode 100755 index 0000000000000000000000000000000000000000..da76f04365f54d85863e4bd70e3f934c3c21c6d0 --- /dev/null +++ b/1.8.0/bullseye/jdk-11/abcl-wrapper @@ -0,0 +1,7 @@ +#!/bin/sh + +exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \ + -XshowSettings:vm -Dfile.encoding=UTF-8 \ + -XX:CompileThreshold=10 \ + org.armedbear.lisp.Main \ + "$@" diff --git a/1.8.0/bullseye/jdk-11/docker-entrypoint.sh b/1.8.0/bullseye/jdk-11/docker-entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..7f6b5a34d7349c9fbeb8f116018e075bb257005d --- /dev/null +++ b/1.8.0/bullseye/jdk-11/docker-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/1.8.0/bullseye/jdk-11/install-quicklisp b/1.8.0/bullseye/jdk-11/install-quicklisp new file mode 100755 index 0000000000000000000000000000000000000000..ae80aa54dd8c444805e3b99ebe3251f4ae4429f0 --- /dev/null +++ b/1.8.0/bullseye/jdk-11/install-quicklisp @@ -0,0 +1,18 @@ +#!/bin/sh + +if [ -z "$QUICKLISP_DIST_VERSION" ] || [ "$QUICKLISP_DIST_VERSION" = "latest" ]; then + QUICKLISP_DIST_VERSION=nil +else + QUICKLISP_DIST_VERSION="\"quicklisp/$QUICKLISP_DIST_VERSION\"" +fi + +if [ -z "$QUICKLISP_CLIENT_VERSION" ] || [ "$QUICKLISP_CLIENT_VERSION" = "latest" ]; then + QUICKLISP_CLIENT_VERSION=nil +else + QUICKLISP_CLIENT_VERSION="\"$QUICKLISP_CLIENT_VERSION\"" +fi + +abcl --batch \ + --load /usr/local/share/common-lisp/source/quicklisp/quicklisp.lisp \ + --eval "(quicklisp-quickstart:install :dist-version $QUICKLISP_DIST_VERSION :client-version $QUICKLISP_CLIENT_VERSION)" \ + --eval "(when (equalp \"$QUICKLISP_ADD_TO_INIT_FILE\" \"true\") (ql-util:without-prompting (ql:add-to-init-file)))" diff --git a/1.8.0/buster/jdk-15/slim/Dockerfile b/1.8.0/bullseye/jdk-11/slim/Dockerfile similarity index 92% rename from 1.8.0/buster/jdk-15/slim/Dockerfile rename to 1.8.0/bullseye/jdk-11/slim/Dockerfile index 8d1ab2dd499c37cfe0e08ddeb9d699865393df30..4f69db0f05195b95fe579f327015bf5f8055668a 100644 --- a/1.8.0/buster/jdk-15/slim/Dockerfile +++ b/1.8.0/bullseye/jdk-11/slim/Dockerfile @@ -3,7 +3,7 @@ # # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM openjdk:15-jdk-slim-buster +FROM openjdk:11-jdk-slim-bullseye ENV ABCL_VERSION 1.8.0 @@ -19,7 +19,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ diff --git a/1.8.0/bullseye/jdk-11/slim/abcl-wrapper b/1.8.0/bullseye/jdk-11/slim/abcl-wrapper new file mode 100755 index 0000000000000000000000000000000000000000..da76f04365f54d85863e4bd70e3f934c3c21c6d0 --- /dev/null +++ b/1.8.0/bullseye/jdk-11/slim/abcl-wrapper @@ -0,0 +1,7 @@ +#!/bin/sh + +exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \ + -XshowSettings:vm -Dfile.encoding=UTF-8 \ + -XX:CompileThreshold=10 \ + org.armedbear.lisp.Main \ + "$@" diff --git a/1.8.0/bullseye/jdk-11/slim/docker-entrypoint.sh b/1.8.0/bullseye/jdk-11/slim/docker-entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..7f6b5a34d7349c9fbeb8f116018e075bb257005d --- /dev/null +++ b/1.8.0/bullseye/jdk-11/slim/docker-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/1.8.0/bullseye/jdk-16/Dockerfile b/1.8.0/bullseye/jdk-16/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..5f3de0c552cabad189fc720271281dc7106c7df7 --- /dev/null +++ b/1.8.0/bullseye/jdk-16/Dockerfile @@ -0,0 +1,141 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# +FROM openjdk:16-jdk-bullseye + +# Install the packages that buildpack-deps adds on top of +# buildpack-deps:scm. This is a bit odd for a JVM based image, but the CFFI +# project is commonly used and requires a compiler, headers, etc. Additionally, +# this gives a more uniform experience between the different cl-docker-images +# project's images. +RUN set -ex; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + autoconf \ + automake \ + bzip2 \ + default-libmysqlclient-dev \ + dpkg-dev \ + file \ + g++ \ + gcc \ + imagemagick \ + libbz2-dev \ + libc6-dev \ + libcurl4-openssl-dev \ + libdb-dev \ + libevent-dev \ + libffi-dev \ + libgdbm-dev \ + libglib2.0-dev \ + libgmp-dev \ + libjpeg-dev \ + libkrb5-dev \ + liblzma-dev \ + libmagickcore-dev \ + libmagickwand-dev \ + libmaxminddb-dev \ + libncurses5-dev \ + libncursesw5-dev \ + libpng-dev \ + libpq-dev \ + libreadline-dev \ + libsqlite3-dev \ + libssl-dev \ + libtool \ + libwebp-dev \ + libxml2-dev \ + libxslt-dev \ + libyaml-dev \ + make \ + patch \ + unzip \ + xz-utils \ + zlib1g-dev \ + \ + ; \ + rm -rf /var/lib/apt/lists/* + +# Install Maven as it is commonly used with ABCL, including with anything that +# uses CFFI. We install it ourselves instead of basing the image off of maven +# because the maven image only follows openjdk's default OS choice and does not +# provide Debian based images for jdk12+. + +ARG MAVEN_VERSION=3.8.2 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 + +WORKDIR /usr/share/maven + +RUN curl -fsSL https://apache.osuosl.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz > /tmp/apache-maven.tar.gz \ + && echo "${MAVEN_SHA} /tmp/apache-maven.tar.gz" | sha512sum -c - \ + && tar -xzf /tmp/apache-maven.tar.gz --strip-components=1 \ + && rm -f /tmp/apache-maven.tar.gz \ + && ln -s /usr/share/maven/bin/mvn /usr/bin/mvn + +ENV MAVEN_HOME /usr/share/maven + +# Now install ABCL + +ENV ABCL_VERSION 1.8.0 + +WORKDIR /usr/local/share/ + +ENV ABCL_SIGNING_KEY 5491D207FF9ECDE0BEA277772A9641104DB1773D + +RUN set -x \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz" > "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz" > "abcl-src-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc" > "abcl-src-${ABCL_VERSION}.tar.gz.asc" \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ + && gunzip "abcl-src-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-src-${ABCL_VERSION}.tar" \ + && mv "abcl-bin-${ABCL_VERSION}" abcl \ + && mkdir -p /usr/local/src \ + && mv "abcl-src-${ABCL_VERSION}" /usr/local/src/abcl/ \ + && rm -rf "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar" "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + && java -jar /usr/local/share/abcl/abcl.jar --batch --eval '(print (multiple-value-list (lisp-implementation-version)))' + +# 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 keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ + && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ + && rm quicklisp.lisp.asc \ + && rm -rf "$GNUPGHOME" + +# Add the script to trivially install Quicklisp +COPY install-quicklisp /usr/local/bin/install-quicklisp + +# 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/* + +# Add the entrypoint +WORKDIR / + +COPY abcl-wrapper /usr/local/bin/abcl +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh + +ENTRYPOINT ["docker-entrypoint.sh"] + +CMD ["abcl"] diff --git a/1.8.0/bullseye/jdk-16/abcl-wrapper b/1.8.0/bullseye/jdk-16/abcl-wrapper new file mode 100755 index 0000000000000000000000000000000000000000..da76f04365f54d85863e4bd70e3f934c3c21c6d0 --- /dev/null +++ b/1.8.0/bullseye/jdk-16/abcl-wrapper @@ -0,0 +1,7 @@ +#!/bin/sh + +exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \ + -XshowSettings:vm -Dfile.encoding=UTF-8 \ + -XX:CompileThreshold=10 \ + org.armedbear.lisp.Main \ + "$@" diff --git a/1.8.0/bullseye/jdk-16/docker-entrypoint.sh b/1.8.0/bullseye/jdk-16/docker-entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..7f6b5a34d7349c9fbeb8f116018e075bb257005d --- /dev/null +++ b/1.8.0/bullseye/jdk-16/docker-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/1.8.0/bullseye/jdk-16/install-quicklisp b/1.8.0/bullseye/jdk-16/install-quicklisp new file mode 100755 index 0000000000000000000000000000000000000000..ae80aa54dd8c444805e3b99ebe3251f4ae4429f0 --- /dev/null +++ b/1.8.0/bullseye/jdk-16/install-quicklisp @@ -0,0 +1,18 @@ +#!/bin/sh + +if [ -z "$QUICKLISP_DIST_VERSION" ] || [ "$QUICKLISP_DIST_VERSION" = "latest" ]; then + QUICKLISP_DIST_VERSION=nil +else + QUICKLISP_DIST_VERSION="\"quicklisp/$QUICKLISP_DIST_VERSION\"" +fi + +if [ -z "$QUICKLISP_CLIENT_VERSION" ] || [ "$QUICKLISP_CLIENT_VERSION" = "latest" ]; then + QUICKLISP_CLIENT_VERSION=nil +else + QUICKLISP_CLIENT_VERSION="\"$QUICKLISP_CLIENT_VERSION\"" +fi + +abcl --batch \ + --load /usr/local/share/common-lisp/source/quicklisp/quicklisp.lisp \ + --eval "(quicklisp-quickstart:install :dist-version $QUICKLISP_DIST_VERSION :client-version $QUICKLISP_CLIENT_VERSION)" \ + --eval "(when (equalp \"$QUICKLISP_ADD_TO_INIT_FILE\" \"true\") (ql-util:without-prompting (ql:add-to-init-file)))" diff --git a/1.8.0/bullseye/jdk-16/slim/Dockerfile b/1.8.0/bullseye/jdk-16/slim/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..b98cb3f0eae4c1ec6801bf91b446bcd39637e69f --- /dev/null +++ b/1.8.0/bullseye/jdk-16/slim/Dockerfile @@ -0,0 +1,42 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# +FROM openjdk:16-jdk-slim-bullseye + +ENV ABCL_VERSION 1.8.0 + +WORKDIR /usr/local/share/ + +ENV ABCL_SIGNING_KEY 5491D207FF9ECDE0BEA277772A9641104DB1773D + +RUN set -x \ + # Install fetch deps + && apt-get update \ + && apt-get install --no-install-recommends -y curl gnupg dirmngr \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz" > "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ + && mv "abcl-bin-${ABCL_VERSION}" abcl \ + && rm -rf "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + # Remove fetch deps + && apt-get remove -y curl gnupg dirmngr \ + && apt-get autoremove -y \ + && rm -rf /var/lib/apt/lists/* \ + # Smoke test ABCL. + && java -jar /usr/local/share/abcl/abcl.jar --batch --eval '(print (multiple-value-list (lisp-implementation-version)))' + +WORKDIR / + +COPY abcl-wrapper /usr/local/bin/abcl +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh + +ENTRYPOINT ["docker-entrypoint.sh"] + +CMD ["abcl"] diff --git a/1.8.0/bullseye/jdk-16/slim/abcl-wrapper b/1.8.0/bullseye/jdk-16/slim/abcl-wrapper new file mode 100755 index 0000000000000000000000000000000000000000..da76f04365f54d85863e4bd70e3f934c3c21c6d0 --- /dev/null +++ b/1.8.0/bullseye/jdk-16/slim/abcl-wrapper @@ -0,0 +1,7 @@ +#!/bin/sh + +exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \ + -XshowSettings:vm -Dfile.encoding=UTF-8 \ + -XX:CompileThreshold=10 \ + org.armedbear.lisp.Main \ + "$@" diff --git a/1.8.0/bullseye/jdk-16/slim/docker-entrypoint.sh b/1.8.0/bullseye/jdk-16/slim/docker-entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..7f6b5a34d7349c9fbeb8f116018e075bb257005d --- /dev/null +++ b/1.8.0/bullseye/jdk-16/slim/docker-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/1.8.0/bullseye/jdk-8/Dockerfile b/1.8.0/bullseye/jdk-8/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..017c1a77fbe6420ea9394a30f267b6d7de4039fb --- /dev/null +++ b/1.8.0/bullseye/jdk-8/Dockerfile @@ -0,0 +1,141 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# +FROM openjdk:8-jdk-bullseye + +# Install the packages that buildpack-deps adds on top of +# buildpack-deps:scm. This is a bit odd for a JVM based image, but the CFFI +# project is commonly used and requires a compiler, headers, etc. Additionally, +# this gives a more uniform experience between the different cl-docker-images +# project's images. +RUN set -ex; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + autoconf \ + automake \ + bzip2 \ + default-libmysqlclient-dev \ + dpkg-dev \ + file \ + g++ \ + gcc \ + imagemagick \ + libbz2-dev \ + libc6-dev \ + libcurl4-openssl-dev \ + libdb-dev \ + libevent-dev \ + libffi-dev \ + libgdbm-dev \ + libglib2.0-dev \ + libgmp-dev \ + libjpeg-dev \ + libkrb5-dev \ + liblzma-dev \ + libmagickcore-dev \ + libmagickwand-dev \ + libmaxminddb-dev \ + libncurses5-dev \ + libncursesw5-dev \ + libpng-dev \ + libpq-dev \ + libreadline-dev \ + libsqlite3-dev \ + libssl-dev \ + libtool \ + libwebp-dev \ + libxml2-dev \ + libxslt-dev \ + libyaml-dev \ + make \ + patch \ + unzip \ + xz-utils \ + zlib1g-dev \ + \ + ; \ + rm -rf /var/lib/apt/lists/* + +# Install Maven as it is commonly used with ABCL, including with anything that +# uses CFFI. We install it ourselves instead of basing the image off of maven +# because the maven image only follows openjdk's default OS choice and does not +# provide Debian based images for jdk12+. + +ARG MAVEN_VERSION=3.8.2 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 + +WORKDIR /usr/share/maven + +RUN curl -fsSL https://apache.osuosl.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz > /tmp/apache-maven.tar.gz \ + && echo "${MAVEN_SHA} /tmp/apache-maven.tar.gz" | sha512sum -c - \ + && tar -xzf /tmp/apache-maven.tar.gz --strip-components=1 \ + && rm -f /tmp/apache-maven.tar.gz \ + && ln -s /usr/share/maven/bin/mvn /usr/bin/mvn + +ENV MAVEN_HOME /usr/share/maven + +# Now install ABCL + +ENV ABCL_VERSION 1.8.0 + +WORKDIR /usr/local/share/ + +ENV ABCL_SIGNING_KEY 5491D207FF9ECDE0BEA277772A9641104DB1773D + +RUN set -x \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz" > "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz" > "abcl-src-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc" > "abcl-src-${ABCL_VERSION}.tar.gz.asc" \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ + && gunzip "abcl-src-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-src-${ABCL_VERSION}.tar" \ + && mv "abcl-bin-${ABCL_VERSION}" abcl \ + && mkdir -p /usr/local/src \ + && mv "abcl-src-${ABCL_VERSION}" /usr/local/src/abcl/ \ + && rm -rf "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar" "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + && java -jar /usr/local/share/abcl/abcl.jar --batch --eval '(print (multiple-value-list (lisp-implementation-version)))' + +# 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 keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ + && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ + && rm quicklisp.lisp.asc \ + && rm -rf "$GNUPGHOME" + +# Add the script to trivially install Quicklisp +COPY install-quicklisp /usr/local/bin/install-quicklisp + +# 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/* + +# Add the entrypoint +WORKDIR / + +COPY abcl-wrapper /usr/local/bin/abcl +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh + +ENTRYPOINT ["docker-entrypoint.sh"] + +CMD ["abcl"] diff --git a/1.8.0/bullseye/jdk-8/abcl-wrapper b/1.8.0/bullseye/jdk-8/abcl-wrapper new file mode 100755 index 0000000000000000000000000000000000000000..033e29a36854202544bbebe1b3a5bedcc6247fd1 --- /dev/null +++ b/1.8.0/bullseye/jdk-8/abcl-wrapper @@ -0,0 +1,7 @@ +#!/bin/sh + +exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \ + -XshowSettings:vm -Dfile.encoding=UTF-8 \ + -XX:+UseG1GC -XX:+AggressiveOpts -XX:CompileThreshold=10 \ + org.armedbear.lisp.Main \ + "$@" diff --git a/1.8.0/bullseye/jdk-8/docker-entrypoint.sh b/1.8.0/bullseye/jdk-8/docker-entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..7f6b5a34d7349c9fbeb8f116018e075bb257005d --- /dev/null +++ b/1.8.0/bullseye/jdk-8/docker-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/1.8.0/bullseye/jdk-8/install-quicklisp b/1.8.0/bullseye/jdk-8/install-quicklisp new file mode 100755 index 0000000000000000000000000000000000000000..ae80aa54dd8c444805e3b99ebe3251f4ae4429f0 --- /dev/null +++ b/1.8.0/bullseye/jdk-8/install-quicklisp @@ -0,0 +1,18 @@ +#!/bin/sh + +if [ -z "$QUICKLISP_DIST_VERSION" ] || [ "$QUICKLISP_DIST_VERSION" = "latest" ]; then + QUICKLISP_DIST_VERSION=nil +else + QUICKLISP_DIST_VERSION="\"quicklisp/$QUICKLISP_DIST_VERSION\"" +fi + +if [ -z "$QUICKLISP_CLIENT_VERSION" ] || [ "$QUICKLISP_CLIENT_VERSION" = "latest" ]; then + QUICKLISP_CLIENT_VERSION=nil +else + QUICKLISP_CLIENT_VERSION="\"$QUICKLISP_CLIENT_VERSION\"" +fi + +abcl --batch \ + --load /usr/local/share/common-lisp/source/quicklisp/quicklisp.lisp \ + --eval "(quicklisp-quickstart:install :dist-version $QUICKLISP_DIST_VERSION :client-version $QUICKLISP_CLIENT_VERSION)" \ + --eval "(when (equalp \"$QUICKLISP_ADD_TO_INIT_FILE\" \"true\") (ql-util:without-prompting (ql:add-to-init-file)))" diff --git a/1.8.0/bullseye/jdk-8/slim/Dockerfile b/1.8.0/bullseye/jdk-8/slim/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..fceec29f4b57a73550d1b9dc88525afc9229ce92 --- /dev/null +++ b/1.8.0/bullseye/jdk-8/slim/Dockerfile @@ -0,0 +1,42 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# +FROM openjdk:8-jdk-slim-bullseye + +ENV ABCL_VERSION 1.8.0 + +WORKDIR /usr/local/share/ + +ENV ABCL_SIGNING_KEY 5491D207FF9ECDE0BEA277772A9641104DB1773D + +RUN set -x \ + # Install fetch deps + && apt-get update \ + && apt-get install --no-install-recommends -y curl gnupg dirmngr \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz" > "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ + && mv "abcl-bin-${ABCL_VERSION}" abcl \ + && rm -rf "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + # Remove fetch deps + && apt-get remove -y curl gnupg dirmngr \ + && apt-get autoremove -y \ + && rm -rf /var/lib/apt/lists/* \ + # Smoke test ABCL. + && java -jar /usr/local/share/abcl/abcl.jar --batch --eval '(print (multiple-value-list (lisp-implementation-version)))' + +WORKDIR / + +COPY abcl-wrapper /usr/local/bin/abcl +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh + +ENTRYPOINT ["docker-entrypoint.sh"] + +CMD ["abcl"] diff --git a/1.8.0/bullseye/jdk-8/slim/abcl-wrapper b/1.8.0/bullseye/jdk-8/slim/abcl-wrapper new file mode 100755 index 0000000000000000000000000000000000000000..033e29a36854202544bbebe1b3a5bedcc6247fd1 --- /dev/null +++ b/1.8.0/bullseye/jdk-8/slim/abcl-wrapper @@ -0,0 +1,7 @@ +#!/bin/sh + +exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \ + -XshowSettings:vm -Dfile.encoding=UTF-8 \ + -XX:+UseG1GC -XX:+AggressiveOpts -XX:CompileThreshold=10 \ + org.armedbear.lisp.Main \ + "$@" diff --git a/1.8.0/bullseye/jdk-8/slim/docker-entrypoint.sh b/1.8.0/bullseye/jdk-8/slim/docker-entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..7f6b5a34d7349c9fbeb8f116018e075bb257005d --- /dev/null +++ b/1.8.0/bullseye/jdk-8/slim/docker-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/1.8.0/buster/jdk-11/Dockerfile b/1.8.0/buster/jdk-11/Dockerfile index 690062b6425b49e0c6caab6825aeedbb3094f7f1..705d1a1082cc6bc7ba436a120f45fe8987dd3225 100644 --- a/1.8.0/buster/jdk-11/Dockerfile +++ b/1.8.0/buster/jdk-11/Dockerfile @@ -61,10 +61,10 @@ RUN set -ex; \ # Install Maven as it is commonly used with ABCL, including with anything that # uses CFFI. We install it ourselves instead of basing the image off of maven # because the maven image only follows openjdk's default OS choice and does not -# provide buster based images for jdk12+. +# provide Debian based images for jdk12+. -ARG MAVEN_VERSION=3.6.3 -ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0 +ARG MAVEN_VERSION=3.8.2 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 WORKDIR /usr/share/maven @@ -91,7 +91,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc" > "abcl-src-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ @@ -114,7 +114,7 @@ RUN set -x \ && 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 --keyserver keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ && rm quicklisp.lisp.asc \ && rm -rf "$GNUPGHOME" diff --git a/1.8.0/buster/jdk-11/slim/Dockerfile b/1.8.0/buster/jdk-11/slim/Dockerfile index eb42cf01d339085bf2fca41dc9a219211fbf157e..024aa5a9088953c9df31dc41dd8752584a49e215 100644 --- a/1.8.0/buster/jdk-11/slim/Dockerfile +++ b/1.8.0/buster/jdk-11/slim/Dockerfile @@ -19,7 +19,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ diff --git a/1.8.0/buster/jdk-16/Dockerfile b/1.8.0/buster/jdk-16/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..28f1d49ad5765766196c583c0c9f58fb871ac92a --- /dev/null +++ b/1.8.0/buster/jdk-16/Dockerfile @@ -0,0 +1,141 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# +FROM openjdk:16-jdk-buster + +# Install the packages that buildpack-deps adds on top of +# buildpack-deps:scm. This is a bit odd for a JVM based image, but the CFFI +# project is commonly used and requires a compiler, headers, etc. Additionally, +# this gives a more uniform experience between the different cl-docker-images +# project's images. +RUN set -ex; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + autoconf \ + automake \ + bzip2 \ + default-libmysqlclient-dev \ + dpkg-dev \ + file \ + g++ \ + gcc \ + imagemagick \ + libbz2-dev \ + libc6-dev \ + libcurl4-openssl-dev \ + libdb-dev \ + libevent-dev \ + libffi-dev \ + libgdbm-dev \ + libglib2.0-dev \ + libgmp-dev \ + libjpeg-dev \ + libkrb5-dev \ + liblzma-dev \ + libmagickcore-dev \ + libmagickwand-dev \ + libmaxminddb-dev \ + libncurses5-dev \ + libncursesw5-dev \ + libpng-dev \ + libpq-dev \ + libreadline-dev \ + libsqlite3-dev \ + libssl-dev \ + libtool \ + libwebp-dev \ + libxml2-dev \ + libxslt-dev \ + libyaml-dev \ + make \ + patch \ + unzip \ + xz-utils \ + zlib1g-dev \ + \ + ; \ + rm -rf /var/lib/apt/lists/* + +# Install Maven as it is commonly used with ABCL, including with anything that +# uses CFFI. We install it ourselves instead of basing the image off of maven +# because the maven image only follows openjdk's default OS choice and does not +# provide Debian based images for jdk12+. + +ARG MAVEN_VERSION=3.8.2 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 + +WORKDIR /usr/share/maven + +RUN curl -fsSL https://apache.osuosl.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz > /tmp/apache-maven.tar.gz \ + && echo "${MAVEN_SHA} /tmp/apache-maven.tar.gz" | sha512sum -c - \ + && tar -xzf /tmp/apache-maven.tar.gz --strip-components=1 \ + && rm -f /tmp/apache-maven.tar.gz \ + && ln -s /usr/share/maven/bin/mvn /usr/bin/mvn + +ENV MAVEN_HOME /usr/share/maven + +# Now install ABCL + +ENV ABCL_VERSION 1.8.0 + +WORKDIR /usr/local/share/ + +ENV ABCL_SIGNING_KEY 5491D207FF9ECDE0BEA277772A9641104DB1773D + +RUN set -x \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz" > "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz" > "abcl-src-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc" > "abcl-src-${ABCL_VERSION}.tar.gz.asc" \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ + && gunzip "abcl-src-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-src-${ABCL_VERSION}.tar" \ + && mv "abcl-bin-${ABCL_VERSION}" abcl \ + && mkdir -p /usr/local/src \ + && mv "abcl-src-${ABCL_VERSION}" /usr/local/src/abcl/ \ + && rm -rf "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar" "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + && java -jar /usr/local/share/abcl/abcl.jar --batch --eval '(print (multiple-value-list (lisp-implementation-version)))' + +# 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 keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ + && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ + && rm quicklisp.lisp.asc \ + && rm -rf "$GNUPGHOME" + +# Add the script to trivially install Quicklisp +COPY install-quicklisp /usr/local/bin/install-quicklisp + +# 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/* + +# Add the entrypoint +WORKDIR / + +COPY abcl-wrapper /usr/local/bin/abcl +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh + +ENTRYPOINT ["docker-entrypoint.sh"] + +CMD ["abcl"] diff --git a/1.8.0/buster/jdk-16/abcl-wrapper b/1.8.0/buster/jdk-16/abcl-wrapper new file mode 100755 index 0000000000000000000000000000000000000000..da76f04365f54d85863e4bd70e3f934c3c21c6d0 --- /dev/null +++ b/1.8.0/buster/jdk-16/abcl-wrapper @@ -0,0 +1,7 @@ +#!/bin/sh + +exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \ + -XshowSettings:vm -Dfile.encoding=UTF-8 \ + -XX:CompileThreshold=10 \ + org.armedbear.lisp.Main \ + "$@" diff --git a/1.8.0/buster/jdk-16/docker-entrypoint.sh b/1.8.0/buster/jdk-16/docker-entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..7f6b5a34d7349c9fbeb8f116018e075bb257005d --- /dev/null +++ b/1.8.0/buster/jdk-16/docker-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/1.8.0/buster/jdk-16/install-quicklisp b/1.8.0/buster/jdk-16/install-quicklisp new file mode 100755 index 0000000000000000000000000000000000000000..ae80aa54dd8c444805e3b99ebe3251f4ae4429f0 --- /dev/null +++ b/1.8.0/buster/jdk-16/install-quicklisp @@ -0,0 +1,18 @@ +#!/bin/sh + +if [ -z "$QUICKLISP_DIST_VERSION" ] || [ "$QUICKLISP_DIST_VERSION" = "latest" ]; then + QUICKLISP_DIST_VERSION=nil +else + QUICKLISP_DIST_VERSION="\"quicklisp/$QUICKLISP_DIST_VERSION\"" +fi + +if [ -z "$QUICKLISP_CLIENT_VERSION" ] || [ "$QUICKLISP_CLIENT_VERSION" = "latest" ]; then + QUICKLISP_CLIENT_VERSION=nil +else + QUICKLISP_CLIENT_VERSION="\"$QUICKLISP_CLIENT_VERSION\"" +fi + +abcl --batch \ + --load /usr/local/share/common-lisp/source/quicklisp/quicklisp.lisp \ + --eval "(quicklisp-quickstart:install :dist-version $QUICKLISP_DIST_VERSION :client-version $QUICKLISP_CLIENT_VERSION)" \ + --eval "(when (equalp \"$QUICKLISP_ADD_TO_INIT_FILE\" \"true\") (ql-util:without-prompting (ql:add-to-init-file)))" diff --git a/1.8.0/buster/jdk-16/slim/Dockerfile b/1.8.0/buster/jdk-16/slim/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..fe35d5fc0d1344a34940c170b33187e29064bf81 --- /dev/null +++ b/1.8.0/buster/jdk-16/slim/Dockerfile @@ -0,0 +1,42 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# +FROM openjdk:16-jdk-slim-buster + +ENV ABCL_VERSION 1.8.0 + +WORKDIR /usr/local/share/ + +ENV ABCL_SIGNING_KEY 5491D207FF9ECDE0BEA277772A9641104DB1773D + +RUN set -x \ + # Install fetch deps + && apt-get update \ + && apt-get install --no-install-recommends -y curl gnupg dirmngr \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz" > "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ + && GNUPGHOME="$(mktemp -d)" \ + && export GNUPGHOME \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ + && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ + && mv "abcl-bin-${ABCL_VERSION}" abcl \ + && rm -rf "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar" "$GNUPGHOME" \ + # Remove fetch deps + && apt-get remove -y curl gnupg dirmngr \ + && apt-get autoremove -y \ + && rm -rf /var/lib/apt/lists/* \ + # Smoke test ABCL. + && java -jar /usr/local/share/abcl/abcl.jar --batch --eval '(print (multiple-value-list (lisp-implementation-version)))' + +WORKDIR / + +COPY abcl-wrapper /usr/local/bin/abcl +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh + +ENTRYPOINT ["docker-entrypoint.sh"] + +CMD ["abcl"] diff --git a/1.8.0/buster/jdk-16/slim/abcl-wrapper b/1.8.0/buster/jdk-16/slim/abcl-wrapper new file mode 100755 index 0000000000000000000000000000000000000000..da76f04365f54d85863e4bd70e3f934c3c21c6d0 --- /dev/null +++ b/1.8.0/buster/jdk-16/slim/abcl-wrapper @@ -0,0 +1,7 @@ +#!/bin/sh + +exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \ + -XshowSettings:vm -Dfile.encoding=UTF-8 \ + -XX:CompileThreshold=10 \ + org.armedbear.lisp.Main \ + "$@" diff --git a/1.8.0/buster/jdk-16/slim/docker-entrypoint.sh b/1.8.0/buster/jdk-16/slim/docker-entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..7f6b5a34d7349c9fbeb8f116018e075bb257005d --- /dev/null +++ b/1.8.0/buster/jdk-16/slim/docker-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# If the first arg starts with a hyphen, prepend abcl to arguments. +if [ "${1#-}" != "$1" ]; then + set -- abcl "$@" +fi + +exec "$@" diff --git a/1.8.0/buster/jdk-8/Dockerfile b/1.8.0/buster/jdk-8/Dockerfile index b3a48f328eb129bf87e9408ca23a08b65225ac73..6a076171428cd965fd2ffa4ef126cb1b9acc76d7 100644 --- a/1.8.0/buster/jdk-8/Dockerfile +++ b/1.8.0/buster/jdk-8/Dockerfile @@ -61,10 +61,10 @@ RUN set -ex; \ # Install Maven as it is commonly used with ABCL, including with anything that # uses CFFI. We install it ourselves instead of basing the image off of maven # because the maven image only follows openjdk's default OS choice and does not -# provide buster based images for jdk12+. +# provide Debian based images for jdk12+. -ARG MAVEN_VERSION=3.6.3 -ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0 +ARG MAVEN_VERSION=3.8.2 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 WORKDIR /usr/share/maven @@ -91,7 +91,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc" > "abcl-src-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ @@ -114,7 +114,7 @@ RUN set -x \ && 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 --keyserver keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ && rm quicklisp.lisp.asc \ && rm -rf "$GNUPGHOME" diff --git a/1.8.0/buster/jdk-8/slim/Dockerfile b/1.8.0/buster/jdk-8/slim/Dockerfile index 24717ca6f0306533cb3e59cf56e7be2a034878ad..33733408eafcb8d1dc284478493c73b0d8a10e3c 100644 --- a/1.8.0/buster/jdk-8/slim/Dockerfile +++ b/1.8.0/buster/jdk-8/slim/Dockerfile @@ -19,7 +19,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ diff --git a/1.8.0/windowsservercore-1809/jdk-15/Dockerfile b/1.8.0/windowsservercore-1809/jdk-16/Dockerfile similarity index 97% rename from 1.8.0/windowsservercore-1809/jdk-15/Dockerfile rename to 1.8.0/windowsservercore-1809/jdk-16/Dockerfile index 24d2f6f35e15f005773a4c9603ece5e0c7a06c71..7b16252ab20a064173420ba82b4c9308bb08980b 100644 --- a/1.8.0/windowsservercore-1809/jdk-15/Dockerfile +++ b/1.8.0/windowsservercore-1809/jdk-16/Dockerfile @@ -3,7 +3,7 @@ # # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM openjdk:15-jdk-windowsservercore-1809 +FROM openjdk:16-jdk-windowsservercore-1809 SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] diff --git a/1.8.0/windowsservercore-1809/jdk-15/abcl-wrapper.bat b/1.8.0/windowsservercore-1809/jdk-16/abcl-wrapper.bat similarity index 100% rename from 1.8.0/windowsservercore-1809/jdk-15/abcl-wrapper.bat rename to 1.8.0/windowsservercore-1809/jdk-16/abcl-wrapper.bat diff --git a/1.8.0/windowsservercore-ltsc2016/jdk-15/Dockerfile b/1.8.0/windowsservercore-ltsc2016/jdk-16/Dockerfile similarity index 96% rename from 1.8.0/windowsservercore-ltsc2016/jdk-15/Dockerfile rename to 1.8.0/windowsservercore-ltsc2016/jdk-16/Dockerfile index fc608b4cebd72efde8a5430bb74c6bb0a28ef226..2b1aefb8a7b287b28e07468df8f401dfdb749101 100644 --- a/1.8.0/windowsservercore-ltsc2016/jdk-15/Dockerfile +++ b/1.8.0/windowsservercore-ltsc2016/jdk-16/Dockerfile @@ -3,7 +3,7 @@ # # PLEASE DO NOT EDIT IT DIRECTLY. # -FROM openjdk:15-jdk-windowsservercore-ltsc2016 +FROM openjdk:16-jdk-windowsservercore-ltsc2016 SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] diff --git a/1.8.0/windowsservercore-ltsc2016/jdk-15/abcl-wrapper.bat b/1.8.0/windowsservercore-ltsc2016/jdk-16/abcl-wrapper.bat similarity index 100% rename from 1.8.0/windowsservercore-ltsc2016/jdk-15/abcl-wrapper.bat rename to 1.8.0/windowsservercore-ltsc2016/jdk-16/abcl-wrapper.bat diff --git a/Dockerfile-apt-nightly.template b/Dockerfile-apt-nightly.template index af9d5958b8d2aa22bad49ef25e105d957f6c6050..02e2f2a8362e3ed388cb7ae7ae38caa5c48aa6a6 100644 --- a/Dockerfile-apt-nightly.template +++ b/Dockerfile-apt-nightly.template @@ -56,10 +56,10 @@ RUN set -ex; \ # Install Maven as it is commonly used with ABCL, including with anything that # uses CFFI. We install it ourselves instead of basing the image off of maven # because the maven image only follows openjdk's default OS choice and does not -# provide buster based images for jdk12+. +# provide Debian based images for jdk12+. -ARG MAVEN_VERSION=3.6.3 -ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0 +ARG MAVEN_VERSION=3.8.2 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 WORKDIR /usr/share/maven @@ -107,7 +107,7 @@ RUN set -x \ && 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 --keyserver keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ && rm quicklisp.lisp.asc \ && rm -rf "$GNUPGHOME" diff --git a/Dockerfile-apt-slim.template b/Dockerfile-apt-slim.template index e05dcd39e272c70bcca7116f2869e734df5c2d6d..c9969a2ac569b0a22a7ba428b94f9348510eff77 100644 --- a/Dockerfile-apt-slim.template +++ b/Dockerfile-apt-slim.template @@ -14,7 +14,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-bin-${ABCL_VERSION}.tar.gz.asc" > "abcl-bin-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ && tar xf "abcl-bin-${ABCL_VERSION}.tar" \ diff --git a/Dockerfile-apt.template b/Dockerfile-apt.template index 96ca344310242eab586b986b18ae5eb8d6f068d3..0099ff97d66e7e27869b0c51cd79d5819f0d7779 100644 --- a/Dockerfile-apt.template +++ b/Dockerfile-apt.template @@ -59,7 +59,7 @@ RUN set -ex; \ # provide Debian based images for jdk12+. ARG MAVEN_VERSION=3.8.2 -ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0 +ARG MAVEN_SHA=b0bf39460348b2d8eae1c861ced6c3e8a077b6e761fb3d4669be5de09490521a74db294cf031b0775b2dfcd57bd82246e42ce10904063ef8e3806222e686f222 WORKDIR /usr/share/maven @@ -86,7 +86,7 @@ RUN set -x \ && curl -fsSL "https://abcl.org/releases/${ABCL_VERSION}/abcl-src-${ABCL_VERSION}.tar.gz.asc" > "abcl-src-${ABCL_VERSION}.tar.gz.asc" \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ - && gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "${ABCL_SIGNING_KEY}" \ + && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${ABCL_SIGNING_KEY}" \ && gpg --batch --verify "abcl-bin-${ABCL_VERSION}.tar.gz.asc" "abcl-bin-${ABCL_VERSION}.tar.gz" \ && gpg --batch --verify "abcl-src-${ABCL_VERSION}.tar.gz.asc" "abcl-src-${ABCL_VERSION}.tar.gz" \ && gunzip "abcl-bin-${ABCL_VERSION}.tar.gz" \ @@ -109,7 +109,7 @@ RUN set -x \ && 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 --keyserver keyserver.ubuntu.com --recv-keys "${QUICKLISP_SIGNING_KEY}" \ && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \ && rm quicklisp.lisp.asc \ && rm -rf "$GNUPGHOME" diff --git a/abcl-wrapper-jdk16 b/abcl-wrapper-jdk16 new file mode 100755 index 0000000000000000000000000000000000000000..da76f04365f54d85863e4bd70e3f934c3c21c6d0 --- /dev/null +++ b/abcl-wrapper-jdk16 @@ -0,0 +1,7 @@ +#!/bin/sh + +exec java -cp "/usr/local/share/abcl/abcl.jar:$CLASSPATH" \ + -XshowSettings:vm -Dfile.encoding=UTF-8 \ + -XX:CompileThreshold=10 \ + org.armedbear.lisp.Main \ + "$@" diff --git a/abcl-wrapper-jdk15.bat b/abcl-wrapper-jdk16.bat similarity index 100% rename from abcl-wrapper-jdk15.bat rename to abcl-wrapper-jdk16.bat diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index 7af33b638b7be1bfb83bc4bad1209980e88f23c6..5bf68c391d00b10880640784be77d5e6b85bf0bb 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -6,23 +6,22 @@ declare -A aliases=( [1.7.1]='1.7' ) -defaultDebianSuite='buster' -defaultJavaVersion='15' +defaultDebianSuite='bullseye' +defaultJavaVersion='16' self="$(basename "$BASH_SOURCE")" cd "$(dirname "$(readlink -f "$BASH_SOURCE")")" -if [ "${1-unset}" = "nightly" ]; then - versions=( nightly ) - aliases[nightly]="$(grep -e "^ENV ABCL_COMMIT" nightly/buster/jdk-11/Dockerfile | cut -d" " -f 3 | head -c 7)" +if [ "${1-unset}" = "rc" ]; then + versions=( *rc/ ) + versions=( "${versions[@]%/}" ) elif [ "${1-unset}" = "all" ]; then versions=( */ ) versions=( "${versions[@]%/}" ) - aliases[nightly]="$(grep -e "^ENV ABCL_COMMIT" nightly/buster/jdk-11/Dockerfile | cut -d" " -f 3 | head -c 7)" else versions=( */ ) versions=( "${versions[@]%/}" ) - versions=( "${versions[@]/nightly}" ) + versions=( "${versions[@]%%*rc}" ) fi # sort version numbers with highest first @@ -82,8 +81,9 @@ join() { for version in "${versions[@]}"; do for v in \ - buster/{jdk-15,jdk-11,jdk-8}/{,slim} \ - windowsservercore-{1809,ltsc2016}/{jdk-15,jdk-11,jdk-8}/ \ + bullseye/{jdk-16,jdk-11,jdk-8}/{,slim} \ + buster/{jdk-16,jdk-11,jdk-8}/{,slim} \ + windowsservercore-{1809,ltsc2016}/{jdk-16,jdk-11,jdk-8}/ \ ; do os="${v%%/*}" javaVariant="${v%/*}" @@ -100,7 +100,7 @@ for version in "${versions[@]}"; do dir="$version/$v" - if [ "$version" = "nightly" ] && [[ "$os" == "windowsservercore"* ]]; then + if [[ $version == *rc ]] && [[ "$os" == "windowsservercore"* ]]; then continue fi diff --git a/update.sh b/update.sh index 474de04a0419914b6dbdee7c96dac2e52c0530f7..f4f4288ee55460c9822d831439dca1dbc81677e6 100755 --- a/update.sh +++ b/update.sh @@ -3,6 +3,10 @@ set -Eeuo pipefail cd "$(dirname "$(readlink -f "$BASH_SOURCE")")" +declare -A refs=( + [1.8.1]='master' +) + versions=( "$@" ) generated_warning() { @@ -17,7 +21,7 @@ EOH for version in "${versions[@]}"; do - if [ "$version" = "nightly" ]; then + if [[ $version = *rc ]]; then abclGitSha="$(curl -fsSL https://api.github.com/repos/armedbear/abcl/commits/master | jq -r .sha)" unset abclBinZipUrl unset abclBinZipSha @@ -28,8 +32,9 @@ for version in "${versions[@]}"; do fi for v in \ - buster/{jdk-15,jdk-11,jdk-8}/{,slim} \ - windowsservercore-{1809,ltsc2016}/{jdk-15,jdk-11,jdk-8}/ \ + bullseye/{jdk-16,jdk-11,jdk-8}/{,slim} \ + buster/{jdk-16,jdk-11,jdk-8}/{,slim} \ + windowsservercore-{1809,ltsc2016}/{jdk-16,jdk-11,jdk-8}/ \ ; do os="${v%%/*}" javaVariant="${v%/*}" @@ -46,14 +51,14 @@ for version in "${versions[@]}"; do dir="$version/$v" - if [ "$version" = "nightly" ] && [[ "$os" == "windowsservercore"* ]]; then + if [[ $version == *rc ]] && [[ "$os" == "windowsservercore"* ]]; then continue fi mkdir -p "$dir" case "$os" in - buster) + bullseye|buster) template="apt$variantTag" cp "abcl-wrapper-jdk$javaVersion" "$dir/abcl-wrapper" cp docker-entrypoint.sh "$dir/docker-entrypoint.sh" @@ -67,7 +72,7 @@ for version in "${versions[@]}"; do ;; esac - if [ "$version" = "nightly" ]; then + if [[ $version == *rc ]]; then template="$template-nightly" fi @@ -76,7 +81,7 @@ for version in "${versions[@]}"; do { generated_warning; cat "$template"; } > "$dir/Dockerfile" - if [ "$version" = "nightly" ]; then + if [[ $version == *rc ]]; then sed -ri \ -e 's/^(FROM) .*/\1 '"openjdk:$tag"'/' \ -e 's/^(ENV ABCL_COMMIT) .*/\1 '"$abclGitSha"'/' \