diff --git a/1.7.1/buster/jdk-11/Dockerfile b/1.7.1/buster/jdk-11/Dockerfile
index 4a8722b59d1a0c2537aaced25d12ad43598922fe..a25f2016aae0de824964c8b8c6373f51405aeedb 100644
--- a/1.7.1/buster/jdk-11/Dockerfile
+++ b/1.7.1/buster/jdk-11/Dockerfile
@@ -5,6 +5,79 @@
 #
 FROM openjdk:11-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 buster based images for jdk12+.
+
+ARG MAVEN_VERSION=3.6.3
+ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0
+
+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/
diff --git a/1.7.1/buster/jdk-11/slim/Dockerfile b/1.7.1/buster/jdk-11/slim/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..9f14e47895e67065dfdf50ba24e1338a59046ed5
--- /dev/null
+++ b/1.7.1/buster/jdk-11/slim/Dockerfile
@@ -0,0 +1,41 @@
+#
+# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
+#
+# PLEASE DO NOT EDIT IT DIRECTLY.
+#
+FROM openjdk:11-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 ha.pool.sks-keyservers.net --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 \
+    && 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-11/slim/abcl-wrapper b/1.7.1/buster/jdk-11/slim/abcl-wrapper
new file mode 100755
index 0000000000000000000000000000000000000000..cb3658bf15d7e66e88d05cb711de365d636417c0
--- /dev/null
+++ b/1.7.1/buster/jdk-11/slim/abcl-wrapper
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec java -jar /usr/local/share/abcl/abcl.jar "$@"
diff --git a/1.7.1/buster/jdk-11/slim/docker-entrypoint.sh b/1.7.1/buster/jdk-11/slim/docker-entrypoint.sh
new file mode 100755
index 0000000000000000000000000000000000000000..7f6b5a34d7349c9fbeb8f116018e075bb257005d
--- /dev/null
+++ b/1.7.1/buster/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.7.1/buster/jdk-15/Dockerfile b/1.7.1/buster/jdk-15/Dockerfile
index e20e193e8094b2ab1e351ffbdc680e64ce2a6033..1dc8ec7be0725823d464163df3b3aa3d631a7cf2 100644
--- a/1.7.1/buster/jdk-15/Dockerfile
+++ b/1.7.1/buster/jdk-15/Dockerfile
@@ -5,6 +5,79 @@
 #
 FROM openjdk:15-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 buster based images for jdk12+.
+
+ARG MAVEN_VERSION=3.6.3
+ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0
+
+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/
diff --git a/1.7.1/buster/jdk-15/slim/Dockerfile b/1.7.1/buster/jdk-15/slim/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..8607e45f04a25b91b0a1134143def47f3e691c39
--- /dev/null
+++ b/1.7.1/buster/jdk-15/slim/Dockerfile
@@ -0,0 +1,41 @@
+#
+# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
+#
+# PLEASE DO NOT EDIT IT DIRECTLY.
+#
+FROM openjdk:15-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 ha.pool.sks-keyservers.net --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 \
+    && 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-15/slim/abcl-wrapper b/1.7.1/buster/jdk-15/slim/abcl-wrapper
new file mode 100755
index 0000000000000000000000000000000000000000..cb3658bf15d7e66e88d05cb711de365d636417c0
--- /dev/null
+++ b/1.7.1/buster/jdk-15/slim/abcl-wrapper
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec java -jar /usr/local/share/abcl/abcl.jar "$@"
diff --git a/1.7.1/buster/jdk-15/slim/docker-entrypoint.sh b/1.7.1/buster/jdk-15/slim/docker-entrypoint.sh
new file mode 100755
index 0000000000000000000000000000000000000000..7f6b5a34d7349c9fbeb8f116018e075bb257005d
--- /dev/null
+++ b/1.7.1/buster/jdk-15/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 2d027fc2de5b912d9a22957adc9003d29ef6b0d2..c4cc7e9b07b5ea40a17480bcd878f5c98d570db2 100644
--- a/1.7.1/buster/jdk-8/Dockerfile
+++ b/1.7.1/buster/jdk-8/Dockerfile
@@ -5,6 +5,79 @@
 #
 FROM openjdk:8-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 buster based images for jdk12+.
+
+ARG MAVEN_VERSION=3.6.3
+ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0
+
+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/
diff --git a/1.7.1/buster/jdk-8/slim/Dockerfile b/1.7.1/buster/jdk-8/slim/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..3decd820e8c7fe662405c8d335d12290a1001b91
--- /dev/null
+++ b/1.7.1/buster/jdk-8/slim/Dockerfile
@@ -0,0 +1,41 @@
+#
+# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
+#
+# PLEASE DO NOT EDIT IT DIRECTLY.
+#
+FROM openjdk:8-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 ha.pool.sks-keyservers.net --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 \
+    && 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-8/slim/abcl-wrapper b/1.7.1/buster/jdk-8/slim/abcl-wrapper
new file mode 100755
index 0000000000000000000000000000000000000000..cb3658bf15d7e66e88d05cb711de365d636417c0
--- /dev/null
+++ b/1.7.1/buster/jdk-8/slim/abcl-wrapper
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec java -jar /usr/local/share/abcl/abcl.jar "$@"
diff --git a/1.7.1/buster/jdk-8/slim/docker-entrypoint.sh b/1.7.1/buster/jdk-8/slim/docker-entrypoint.sh
new file mode 100755
index 0000000000000000000000000000000000000000..7f6b5a34d7349c9fbeb8f116018e075bb257005d
--- /dev/null
+++ b/1.7.1/buster/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 966170de3dcf555aac665f47ebc6c4f6d5356eba..afe6e68185f32f2f14cb60c7b745114da2d0529d 100644
--- a/1.8.0/buster/jdk-11/Dockerfile
+++ b/1.8.0/buster/jdk-11/Dockerfile
@@ -5,6 +5,79 @@
 #
 FROM openjdk:11-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 buster based images for jdk12+.
+
+ARG MAVEN_VERSION=3.6.3
+ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0
+
+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/
diff --git a/1.8.0/buster/jdk-11/slim/Dockerfile b/1.8.0/buster/jdk-11/slim/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..3a580089ebdba0ffb53b42e2a3d97353837c7d52
--- /dev/null
+++ b/1.8.0/buster/jdk-11/slim/Dockerfile
@@ -0,0 +1,41 @@
+#
+# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
+#
+# PLEASE DO NOT EDIT IT DIRECTLY.
+#
+FROM openjdk:11-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 ha.pool.sks-keyservers.net --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 \
+    && 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-11/slim/abcl-wrapper b/1.8.0/buster/jdk-11/slim/abcl-wrapper
new file mode 100755
index 0000000000000000000000000000000000000000..cb3658bf15d7e66e88d05cb711de365d636417c0
--- /dev/null
+++ b/1.8.0/buster/jdk-11/slim/abcl-wrapper
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec java -jar /usr/local/share/abcl/abcl.jar "$@"
diff --git a/1.8.0/buster/jdk-11/slim/docker-entrypoint.sh b/1.8.0/buster/jdk-11/slim/docker-entrypoint.sh
new file mode 100755
index 0000000000000000000000000000000000000000..7f6b5a34d7349c9fbeb8f116018e075bb257005d
--- /dev/null
+++ b/1.8.0/buster/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/buster/jdk-15/Dockerfile b/1.8.0/buster/jdk-15/Dockerfile
index 027c50fc1de9b93fdcc1e8853f015a6c225ddb79..1e692d0b5ba4f909ae5f73a06b41045b2e87b63a 100644
--- a/1.8.0/buster/jdk-15/Dockerfile
+++ b/1.8.0/buster/jdk-15/Dockerfile
@@ -5,6 +5,79 @@
 #
 FROM openjdk:15-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 buster based images for jdk12+.
+
+ARG MAVEN_VERSION=3.6.3
+ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0
+
+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/
diff --git a/1.8.0/buster/jdk-15/slim/Dockerfile b/1.8.0/buster/jdk-15/slim/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..b6dd0376dea3ba3abc6302e0780904ba39a873a9
--- /dev/null
+++ b/1.8.0/buster/jdk-15/slim/Dockerfile
@@ -0,0 +1,41 @@
+#
+# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
+#
+# PLEASE DO NOT EDIT IT DIRECTLY.
+#
+FROM openjdk:15-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 ha.pool.sks-keyservers.net --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 \
+    && 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.8.0/buster/jdk-15/slim/abcl-wrapper
new file mode 100755
index 0000000000000000000000000000000000000000..cb3658bf15d7e66e88d05cb711de365d636417c0
--- /dev/null
+++ b/1.8.0/buster/jdk-15/slim/abcl-wrapper
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec java -jar /usr/local/share/abcl/abcl.jar "$@"
diff --git a/1.8.0/buster/jdk-15/slim/docker-entrypoint.sh b/1.8.0/buster/jdk-15/slim/docker-entrypoint.sh
new file mode 100755
index 0000000000000000000000000000000000000000..7f6b5a34d7349c9fbeb8f116018e075bb257005d
--- /dev/null
+++ b/1.8.0/buster/jdk-15/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 6f8c51bf6381d1635ed232c8879b77121762a85e..5c50147a6666163d736b93d033c01877f1197a3b 100644
--- a/1.8.0/buster/jdk-8/Dockerfile
+++ b/1.8.0/buster/jdk-8/Dockerfile
@@ -5,6 +5,79 @@
 #
 FROM openjdk:8-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 buster based images for jdk12+.
+
+ARG MAVEN_VERSION=3.6.3
+ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0
+
+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/
diff --git a/1.8.0/buster/jdk-8/slim/Dockerfile b/1.8.0/buster/jdk-8/slim/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..e6352e230827e8d1212421ae5d9cfc0c74f354bd
--- /dev/null
+++ b/1.8.0/buster/jdk-8/slim/Dockerfile
@@ -0,0 +1,41 @@
+#
+# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
+#
+# PLEASE DO NOT EDIT IT DIRECTLY.
+#
+FROM openjdk:8-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 ha.pool.sks-keyservers.net --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 \
+    && 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-8/slim/abcl-wrapper b/1.8.0/buster/jdk-8/slim/abcl-wrapper
new file mode 100755
index 0000000000000000000000000000000000000000..cb3658bf15d7e66e88d05cb711de365d636417c0
--- /dev/null
+++ b/1.8.0/buster/jdk-8/slim/abcl-wrapper
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec java -jar /usr/local/share/abcl/abcl.jar "$@"
diff --git a/1.8.0/buster/jdk-8/slim/docker-entrypoint.sh b/1.8.0/buster/jdk-8/slim/docker-entrypoint.sh
new file mode 100755
index 0000000000000000000000000000000000000000..7f6b5a34d7349c9fbeb8f116018e075bb257005d
--- /dev/null
+++ b/1.8.0/buster/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/Dockerfile-apt-nightly.template b/Dockerfile-apt-nightly.template
index dcd47bb22a4625f7765921c82fdfe7fbb75cdc84..11d3732972e3484c27cb0e6d273d67cd884d87f7 100644
--- a/Dockerfile-apt-nightly.template
+++ b/Dockerfile-apt-nightly.template
@@ -1,5 +1,78 @@
 FROM PLACEHOLDER
 
+# 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 buster based images for jdk12+.
+
+ARG MAVEN_VERSION=3.6.3
+ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0
+
+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_COMMIT PLACEHOLDER
 
 WORKDIR /usr/local/src/
diff --git a/Dockerfile-apt-slim-nightly.template b/Dockerfile-apt-slim-nightly.template
new file mode 100644
index 0000000000000000000000000000000000000000..a940c42c82fcb1fb8e9ee9190e18d00e93c17146
--- /dev/null
+++ b/Dockerfile-apt-slim-nightly.template
@@ -0,0 +1,40 @@
+FROM PLACEHOLDER
+
+ENV ABCL_COMMIT PLACEHOLDER
+
+WORKDIR /usr/local/src/
+
+RUN set -x \
+    # Install fetch deps
+    && apt-get update \
+    && apt-get install --no-install-recommends -y curl gnupg dirmngr \
+    # Install ant
+    && ANT_VERSION="1.10.9" \
+    && curl -fsSL "https://mirrors.gigenet.com/apache/ant/binaries/apache-ant-$ANT_VERSION-bin.tar.gz" > "ant-$ANT_VERSION.tar.gz" \
+    && tar xf "ant-$ANT_VERSION.tar.gz" \
+    && PATH="/usr/local/src/apache-ant-$ANT_VERSION/bin:$PATH" \
+    && ANT_HOME="/usr/local/src/apache-ant-$ANT_VERSION" \
+    && export ANT_HOME \
+    # Install ABCL
+    && curl -fsSL "https://github.com/armedbear/abcl/archive/$ABCL_COMMIT.tar.gz" > "abcl-$ABCL_COMMIT.tar.gz" \
+    && tar xf "abcl-$ABCL_COMMIT.tar.gz" \
+    && JAVA_MAJOR_VERSION="${JAVA_VERSION%%.*}" \
+    && JAVA_MAJOR_VERSION="${JAVA_MAJOR_VERSION%%u*}" \
+    && export JAVA_MAJOR_VERSION \
+    && mkdir /usr/local/share/abcl/ \
+    && (cd "abcl-$ABCL_COMMIT" && bash ./ci/create-abcl-properties.bash "openjdk$JAVA_MAJOR_VERSION" && ant && cp dist/* /usr/local/share/abcl ) \
+    && rm -rf abcl* ant* apache-ant* \
+    # Remove fetch deps
+    && apt-get remove -y curl gnupg dirmngr \
+    && 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/Dockerfile-apt-slim.template b/Dockerfile-apt-slim.template
new file mode 100644
index 0000000000000000000000000000000000000000..dc57511cb0f15e5df1e1642eb4fdd02b3e11e5e5
--- /dev/null
+++ b/Dockerfile-apt-slim.template
@@ -0,0 +1,36 @@
+FROM PLACEHOLDER
+
+ENV ABCL_VERSION PLACEHOLDER
+
+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 ha.pool.sks-keyservers.net --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 \
+    && 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/Dockerfile-apt.template b/Dockerfile-apt.template
index 1aedb742e4fdd0ea484b4782c5e2693776ac67d2..a5530eac628cec3a8d52f49863c461199b9bb122 100644
--- a/Dockerfile-apt.template
+++ b/Dockerfile-apt.template
@@ -1,5 +1,78 @@
 FROM PLACEHOLDER
 
+# 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 buster based images for jdk12+.
+
+ARG MAVEN_VERSION=3.6.3
+ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0
+
+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 PLACEHOLDER
 
 WORKDIR /usr/local/share/
diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh
index d97d4a0332877e31ae97ecdf4955bc8da5ea46c8..f676a33328b4b3a08f34392f93b08f672b91a624 100755
--- a/generate-stackbrew-library.sh
+++ b/generate-stackbrew-library.sh
@@ -82,13 +82,22 @@ join() {
 for version in "${versions[@]}"; do
 
     for v in \
-        buster/{jdk-15,jdk-11,jdk-8} \
+        buster/{jdk-15,jdk-11,jdk-8}/{,slim} \
         windowsservercore-{1809,ltsc2016}/{jdk-15,jdk-11,jdk-8} \
     ; do
         os="${v%%/*}"
-        javaVariant="$(basename "$v")"
+        javaVariant="${v%/*}"
+        javaVariant="$(basename "$javaVariant")"
         javaVersion="${javaVariant#jdk-}"
         javaType="${javaVariant%-*}"
+
+        variant="${v##*/}"
+        if [ -n "$variant" ]; then
+            variantTag="-$variant"
+        else
+            variantTag=""
+        fi
+
         dir="$version/$v"
 
         if [ "$version" = "nightly" ] && [[ "$os" == "windowsservercore"* ]]; then
@@ -104,7 +113,7 @@ for version in "${versions[@]}"; do
             ${aliases[$version]:-}
         )
 
-        variantAliases=( "${versionAliases[@]/%/-$javaType$javaVersion-$os}" )
+        variantAliases=( "${versionAliases[@]/%/-$javaType$javaVersion$variantTag-$os}" )
         variantAliases=( "${variantAliases[@]//latest-/}" )
 
         case "$os" in
@@ -116,22 +125,22 @@ for version in "${versions[@]}"; do
         esac
 
         if [ "$javaVersion" = "$defaultJavaVersion" ]; then
-            variantAliases+=( "${versionAliases[@]/%/-$javaType-$os}" )
-            variantAliases+=( "${versionAliases[@]/%/-$os}" )
+            variantAliases+=( "${versionAliases[@]/%/-$javaType$variantTag-$os}" )
+            variantAliases+=( "${versionAliases[@]/%/$variantTag-$os}" )
             variantAliases=( "${variantAliases[@]//latest-/}" )
         fi
 
         sharedTags=()
 
         if [ "$os" = "$defaultDebianSuite" ] || [[ "$os" == 'windowsservercore'* ]]; then
-            sharedTags+=( "${versionAliases[@]/%/-$javaType$javaVersion}" )
+            sharedTags+=( "${versionAliases[@]/%/-$javaType$javaVersion$variantTag}" )
             if [ "$javaVersion" = "$defaultJavaVersion" ]; then
-                sharedTags+=( "${versionAliases[@]/%/-$javaType}" )
-                sharedTags+=( "${versionAliases[@]}" )
+                sharedTags+=( "${versionAliases[@]/%/-$javaType$variantTag}" )
+                sharedTags+=( "${versionAliases[@]/%/$variantTag}" )
             fi
 
             if [[ "$os" == "windowsservercore"* ]]; then
-                sharedTags+=( "${sharedTags[@]/%/-windowsservercore}")
+                sharedTags+=( "${sharedTags[@]/%/-windowsservercore$variantTag}")
             fi
         fi
 
diff --git a/nightly/buster/jdk-11/Dockerfile b/nightly/buster/jdk-11/Dockerfile
index d71430fca1c3b7cd5ff009de1c94b114a34d96bc..5e1cd9afb79dcfb4b7dff48ae21b03f905aa1d2f 100644
--- a/nightly/buster/jdk-11/Dockerfile
+++ b/nightly/buster/jdk-11/Dockerfile
@@ -5,6 +5,79 @@
 #
 FROM openjdk:11-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 buster based images for jdk12+.
+
+ARG MAVEN_VERSION=3.6.3
+ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0
+
+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_COMMIT 9c0a9693ea933309e503266255edcde5cc76257c
 
 WORKDIR /usr/local/src/
diff --git a/nightly/buster/jdk-11/slim/Dockerfile b/nightly/buster/jdk-11/slim/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..37ed0d44293179e213ae5ca1579b845f2d76a060
--- /dev/null
+++ b/nightly/buster/jdk-11/slim/Dockerfile
@@ -0,0 +1,45 @@
+#
+# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
+#
+# PLEASE DO NOT EDIT IT DIRECTLY.
+#
+FROM openjdk:11-jdk-slim-buster
+
+ENV ABCL_COMMIT 9c0a9693ea933309e503266255edcde5cc76257c
+
+WORKDIR /usr/local/src/
+
+RUN set -x \
+    # Install fetch deps
+    && apt-get update \
+    && apt-get install --no-install-recommends -y curl gnupg dirmngr \
+    # Install ant
+    && ANT_VERSION="1.10.9" \
+    && curl -fsSL "https://mirrors.gigenet.com/apache/ant/binaries/apache-ant-$ANT_VERSION-bin.tar.gz" > "ant-$ANT_VERSION.tar.gz" \
+    && tar xf "ant-$ANT_VERSION.tar.gz" \
+    && PATH="/usr/local/src/apache-ant-$ANT_VERSION/bin:$PATH" \
+    && ANT_HOME="/usr/local/src/apache-ant-$ANT_VERSION" \
+    && export ANT_HOME \
+    # Install ABCL
+    && curl -fsSL "https://github.com/armedbear/abcl/archive/$ABCL_COMMIT.tar.gz" > "abcl-$ABCL_COMMIT.tar.gz" \
+    && tar xf "abcl-$ABCL_COMMIT.tar.gz" \
+    && JAVA_MAJOR_VERSION="${JAVA_VERSION%%.*}" \
+    && JAVA_MAJOR_VERSION="${JAVA_MAJOR_VERSION%%u*}" \
+    && export JAVA_MAJOR_VERSION \
+    && mkdir /usr/local/share/abcl/ \
+    && (cd "abcl-$ABCL_COMMIT" && bash ./ci/create-abcl-properties.bash "openjdk$JAVA_MAJOR_VERSION" && ant && cp dist/* /usr/local/share/abcl ) \
+    && rm -rf abcl* ant* apache-ant* \
+    # Remove fetch deps
+    && apt-get remove -y curl gnupg dirmngr \
+    && 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/nightly/buster/jdk-11/slim/abcl-wrapper b/nightly/buster/jdk-11/slim/abcl-wrapper
new file mode 100755
index 0000000000000000000000000000000000000000..cb3658bf15d7e66e88d05cb711de365d636417c0
--- /dev/null
+++ b/nightly/buster/jdk-11/slim/abcl-wrapper
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec java -jar /usr/local/share/abcl/abcl.jar "$@"
diff --git a/nightly/buster/jdk-11/slim/docker-entrypoint.sh b/nightly/buster/jdk-11/slim/docker-entrypoint.sh
new file mode 100755
index 0000000000000000000000000000000000000000..7f6b5a34d7349c9fbeb8f116018e075bb257005d
--- /dev/null
+++ b/nightly/buster/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/nightly/buster/jdk-15/Dockerfile b/nightly/buster/jdk-15/Dockerfile
index bdd2392fa6fa9cb85cb884553acb03758fd3fe05..48f54974500021988687c159db8d94baf8678908 100644
--- a/nightly/buster/jdk-15/Dockerfile
+++ b/nightly/buster/jdk-15/Dockerfile
@@ -5,6 +5,79 @@
 #
 FROM openjdk:15-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 buster based images for jdk12+.
+
+ARG MAVEN_VERSION=3.6.3
+ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0
+
+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_COMMIT 9c0a9693ea933309e503266255edcde5cc76257c
 
 WORKDIR /usr/local/src/
diff --git a/nightly/buster/jdk-15/slim/Dockerfile b/nightly/buster/jdk-15/slim/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..267f9c43ac149d6aebdd86c129f12e9e93e0cad5
--- /dev/null
+++ b/nightly/buster/jdk-15/slim/Dockerfile
@@ -0,0 +1,45 @@
+#
+# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
+#
+# PLEASE DO NOT EDIT IT DIRECTLY.
+#
+FROM openjdk:15-jdk-slim-buster
+
+ENV ABCL_COMMIT 9c0a9693ea933309e503266255edcde5cc76257c
+
+WORKDIR /usr/local/src/
+
+RUN set -x \
+    # Install fetch deps
+    && apt-get update \
+    && apt-get install --no-install-recommends -y curl gnupg dirmngr \
+    # Install ant
+    && ANT_VERSION="1.10.9" \
+    && curl -fsSL "https://mirrors.gigenet.com/apache/ant/binaries/apache-ant-$ANT_VERSION-bin.tar.gz" > "ant-$ANT_VERSION.tar.gz" \
+    && tar xf "ant-$ANT_VERSION.tar.gz" \
+    && PATH="/usr/local/src/apache-ant-$ANT_VERSION/bin:$PATH" \
+    && ANT_HOME="/usr/local/src/apache-ant-$ANT_VERSION" \
+    && export ANT_HOME \
+    # Install ABCL
+    && curl -fsSL "https://github.com/armedbear/abcl/archive/$ABCL_COMMIT.tar.gz" > "abcl-$ABCL_COMMIT.tar.gz" \
+    && tar xf "abcl-$ABCL_COMMIT.tar.gz" \
+    && JAVA_MAJOR_VERSION="${JAVA_VERSION%%.*}" \
+    && JAVA_MAJOR_VERSION="${JAVA_MAJOR_VERSION%%u*}" \
+    && export JAVA_MAJOR_VERSION \
+    && mkdir /usr/local/share/abcl/ \
+    && (cd "abcl-$ABCL_COMMIT" && bash ./ci/create-abcl-properties.bash "openjdk$JAVA_MAJOR_VERSION" && ant && cp dist/* /usr/local/share/abcl ) \
+    && rm -rf abcl* ant* apache-ant* \
+    # Remove fetch deps
+    && apt-get remove -y curl gnupg dirmngr \
+    && 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/nightly/buster/jdk-15/slim/abcl-wrapper b/nightly/buster/jdk-15/slim/abcl-wrapper
new file mode 100755
index 0000000000000000000000000000000000000000..cb3658bf15d7e66e88d05cb711de365d636417c0
--- /dev/null
+++ b/nightly/buster/jdk-15/slim/abcl-wrapper
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec java -jar /usr/local/share/abcl/abcl.jar "$@"
diff --git a/nightly/buster/jdk-15/slim/docker-entrypoint.sh b/nightly/buster/jdk-15/slim/docker-entrypoint.sh
new file mode 100755
index 0000000000000000000000000000000000000000..7f6b5a34d7349c9fbeb8f116018e075bb257005d
--- /dev/null
+++ b/nightly/buster/jdk-15/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/nightly/buster/jdk-8/Dockerfile b/nightly/buster/jdk-8/Dockerfile
index d55cfb49df721903517769f1d3e6b6e275489458..b04f8fa73d529f3a08150108eb90e228e3806b81 100644
--- a/nightly/buster/jdk-8/Dockerfile
+++ b/nightly/buster/jdk-8/Dockerfile
@@ -5,6 +5,79 @@
 #
 FROM openjdk:8-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 buster based images for jdk12+.
+
+ARG MAVEN_VERSION=3.6.3
+ARG MAVEN_SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0
+
+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_COMMIT 9c0a9693ea933309e503266255edcde5cc76257c
 
 WORKDIR /usr/local/src/
diff --git a/nightly/buster/jdk-8/slim/Dockerfile b/nightly/buster/jdk-8/slim/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..a0a28c13e4f3c327e19d3425a303f9e62873735a
--- /dev/null
+++ b/nightly/buster/jdk-8/slim/Dockerfile
@@ -0,0 +1,45 @@
+#
+# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
+#
+# PLEASE DO NOT EDIT IT DIRECTLY.
+#
+FROM openjdk:8-jdk-slim-buster
+
+ENV ABCL_COMMIT 9c0a9693ea933309e503266255edcde5cc76257c
+
+WORKDIR /usr/local/src/
+
+RUN set -x \
+    # Install fetch deps
+    && apt-get update \
+    && apt-get install --no-install-recommends -y curl gnupg dirmngr \
+    # Install ant
+    && ANT_VERSION="1.10.9" \
+    && curl -fsSL "https://mirrors.gigenet.com/apache/ant/binaries/apache-ant-$ANT_VERSION-bin.tar.gz" > "ant-$ANT_VERSION.tar.gz" \
+    && tar xf "ant-$ANT_VERSION.tar.gz" \
+    && PATH="/usr/local/src/apache-ant-$ANT_VERSION/bin:$PATH" \
+    && ANT_HOME="/usr/local/src/apache-ant-$ANT_VERSION" \
+    && export ANT_HOME \
+    # Install ABCL
+    && curl -fsSL "https://github.com/armedbear/abcl/archive/$ABCL_COMMIT.tar.gz" > "abcl-$ABCL_COMMIT.tar.gz" \
+    && tar xf "abcl-$ABCL_COMMIT.tar.gz" \
+    && JAVA_MAJOR_VERSION="${JAVA_VERSION%%.*}" \
+    && JAVA_MAJOR_VERSION="${JAVA_MAJOR_VERSION%%u*}" \
+    && export JAVA_MAJOR_VERSION \
+    && mkdir /usr/local/share/abcl/ \
+    && (cd "abcl-$ABCL_COMMIT" && bash ./ci/create-abcl-properties.bash "openjdk$JAVA_MAJOR_VERSION" && ant && cp dist/* /usr/local/share/abcl ) \
+    && rm -rf abcl* ant* apache-ant* \
+    # Remove fetch deps
+    && apt-get remove -y curl gnupg dirmngr \
+    && 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/nightly/buster/jdk-8/slim/abcl-wrapper b/nightly/buster/jdk-8/slim/abcl-wrapper
new file mode 100755
index 0000000000000000000000000000000000000000..cb3658bf15d7e66e88d05cb711de365d636417c0
--- /dev/null
+++ b/nightly/buster/jdk-8/slim/abcl-wrapper
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec java -jar /usr/local/share/abcl/abcl.jar "$@"
diff --git a/nightly/buster/jdk-8/slim/docker-entrypoint.sh b/nightly/buster/jdk-8/slim/docker-entrypoint.sh
new file mode 100755
index 0000000000000000000000000000000000000000..7f6b5a34d7349c9fbeb8f116018e075bb257005d
--- /dev/null
+++ b/nightly/buster/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/update.sh b/update.sh
index cd11d449ef3ddf22809e2dfd3f66c304f7d53d51..ebc9d74d0ca4fe538d5d0b4aa6dc67757653a49b 100755
--- a/update.sh
+++ b/update.sh
@@ -28,13 +28,22 @@ for version in "${versions[@]}"; do
     fi
 
     for v in \
-        buster/{jdk-15,jdk-11,jdk-8} \
-        windowsservercore-{1809,ltsc2016}/{jdk-15,jdk-11,jdk-8} \
+        buster/{jdk-15,jdk-11,jdk-8}/{,slim} \
+        windowsservercore-{1809,ltsc2016}/{jdk-15,jdk-11,jdk-8}/ \
     ; do
         os="${v%%/*}"
-        javaVariant="$(basename "$v")"
+        javaVariant="${v%/*}"
+        javaVariant="$(basename "$javaVariant")"
         javaVersion="${javaVariant#jdk-}"
         javaType="${javaVariant%-*}"
+
+        variant="${v##*/}"
+        if [ -n "$variant" ]; then
+            variantTag="-$variant"
+        else
+            variantTag=""
+        fi
+
         dir="$version/$v"
 
         if [ "$version" = "nightly" ] && [[ "$os" == "windowsservercore"* ]]; then
@@ -45,7 +54,7 @@ for version in "${versions[@]}"; do
 
         case "$os" in
             buster)
-                template="apt"
+                template="apt$variantTag"
                 cp abcl-wrapper "$dir/abcl-wrapper"
                 cp docker-entrypoint.sh "$dir/docker-entrypoint.sh"
                 ;;
@@ -59,7 +68,7 @@ for version in "${versions[@]}"; do
             template="$template-nightly"
         fi
 
-        tag="$javaVersion-$javaType-$os"
+        tag="$javaVersion-$javaType$variantTag-$os"
         template="Dockerfile-${template}.template"
 
         { generated_warning; cat "$template"; } > "$dir/Dockerfile"