-
Notifications
You must be signed in to change notification settings - Fork 34
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
3f1ce71
commit 4c682ec
Showing
85 changed files
with
2,407 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
FROM debian:bookworm | ||
|
||
ENV JAVA_HOME=/opt/java/openjdk | ||
COPY --from=eclipse-temurin:11 $JAVA_HOME $JAVA_HOME | ||
ENV PATH="${JAVA_HOME}/bin:${PATH}" | ||
|
||
ENV BOOT_VERSION=2.8.3 | ||
ENV BOOT_INSTALL=/usr/local/bin/ | ||
|
||
WORKDIR /tmp | ||
|
||
# NOTE: BOOT_VERSION tells the boot.sh script which version of boot to install | ||
# on its first run. We always download the latest version of boot.sh because | ||
# it is just the installer script. | ||
RUN \ | ||
apt-get update && \ | ||
apt-get install -y make wget && \ | ||
rm -rf /var/lib/apt/lists/* && \ | ||
mkdir -p $BOOT_INSTALL && \ | ||
wget -q https://github.com/boot-clj/boot-bin/releases/download/latest/boot.sh && \ | ||
echo "Comparing installer checksum..." && \ | ||
sha256sum boot.sh && \ | ||
echo "0ccd697f2027e7e1cd3be3d62721057cbc841585740d0aaa9fbb485d7b1f17c3 *boot.sh" | sha256sum -c - && \ | ||
mv boot.sh $BOOT_INSTALL/boot && \ | ||
chmod 0755 $BOOT_INSTALL/boot && \ | ||
apt-get purge -y --auto-remove wget | ||
|
||
ENV PATH=$PATH:$BOOT_INSTALL | ||
ENV BOOT_AS_ROOT=yes | ||
|
||
RUN boot | ||
|
||
CMD ["boot", "repl"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
#!/usr/bin/env bash | ||
|
||
set -eou pipefail | ||
|
||
entrypoint=boot | ||
|
||
cmd=${1:-} | ||
|
||
# check if the first arg starts with a hyphen | ||
if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then | ||
exec "${entrypoint}" "$@" | ||
fi | ||
|
||
if [[ -n "${cmd}" ]]; then | ||
# see if help for the subcommand is successful | ||
if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then | ||
exec "${entrypoint}" "$@" | ||
fi | ||
fi | ||
|
||
exec "$@" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
FROM debian:bookworm | ||
|
||
ENV JAVA_HOME=/opt/java/openjdk | ||
COPY --from=eclipse-temurin:11 $JAVA_HOME $JAVA_HOME | ||
ENV PATH="${JAVA_HOME}/bin:${PATH}" | ||
|
||
ENV LEIN_VERSION=2.10.0 | ||
ENV LEIN_INSTALL=/usr/local/bin/ | ||
|
||
WORKDIR /tmp | ||
|
||
# Download the whole repo as an archive | ||
RUN set -eux; \ | ||
apt-get update && \ | ||
apt-get install -y make gnupg wget && \ | ||
rm -rf /var/lib/apt/lists/* && \ | ||
mkdir -p $LEIN_INSTALL && \ | ||
wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ | ||
echo "Comparing lein-pkg checksum ..." && \ | ||
sha256sum lein-pkg && \ | ||
echo "b1757ce941e4cbf15cbf649b7b4f413365e612da892d22841ec1728391bb66af *lein-pkg" | sha256sum -c - && \ | ||
mv lein-pkg $LEIN_INSTALL/lein && \ | ||
chmod 0755 $LEIN_INSTALL/lein && \ | ||
export GNUPGHOME="$(mktemp -d)" && \ | ||
export FILENAME_EXT=jar && \ | ||
gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 6A2D483DB59437EBB97D09B1040193357D0606ED && \ | ||
wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ | ||
wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ | ||
echo "Verifying file PGP signature..." && \ | ||
gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ | ||
gpgconf --kill all && \ | ||
rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ | ||
mkdir -p /usr/share/java && \ | ||
mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ | ||
apt-get purge -y --auto-remove gnupg wget | ||
|
||
ENV PATH=$PATH:$LEIN_INSTALL | ||
ENV LEIN_ROOT 1 | ||
|
||
# Install clojure 1.11.1 so users don't have to download it every time | ||
RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.11.1"]])' > project.clj \ | ||
&& lein deps && rm project.clj | ||
|
||
CMD ["lein", "repl"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
#!/usr/bin/env bash | ||
|
||
set -eou pipefail | ||
|
||
entrypoint=lein | ||
|
||
cmd=${1:-} | ||
|
||
# check if the first arg starts with a hyphen | ||
if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then | ||
exec "${entrypoint}" "$@" | ||
fi | ||
|
||
if [[ -n "${cmd}" ]]; then | ||
# see if help for the subcommand is successful | ||
if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then | ||
exec "${entrypoint}" "$@" | ||
fi | ||
fi | ||
|
||
exec "$@" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
FROM debian:bookworm | ||
|
||
ENV JAVA_HOME=/opt/java/openjdk | ||
COPY --from=eclipse-temurin:11 $JAVA_HOME $JAVA_HOME | ||
ENV PATH="${JAVA_HOME}/bin:${PATH}" | ||
|
||
ENV CLOJURE_VERSION=1.11.1.1413 | ||
|
||
WORKDIR /tmp | ||
|
||
RUN \ | ||
apt-get update && \ | ||
apt-get install -y curl make git rlwrap wget && \ | ||
rm -rf /var/lib/apt/lists/* && \ | ||
wget https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ | ||
sha256sum linux-install-$CLOJURE_VERSION.sh && \ | ||
echo "ad9aa1e99c59a4f7eb66450914fbec543337d9fada60dd9d34eec7fe18ae4965 *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ | ||
chmod +x linux-install-$CLOJURE_VERSION.sh && \ | ||
./linux-install-$CLOJURE_VERSION.sh && \ | ||
rm linux-install-$CLOJURE_VERSION.sh && \ | ||
clojure -e "(clojure-version)" && \ | ||
apt-get purge -y --auto-remove curl wget | ||
|
||
# Docker bug makes rlwrap crash w/o short sleep first | ||
# Bug: https://github.com/moby/moby/issues/28009 | ||
# As of 2021-09-10 this bug still exists, despite that issue being closed | ||
COPY rlwrap.retry /usr/local/bin/rlwrap | ||
|
||
CMD ["clj"] |
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
FROM debian:bookworm | ||
|
||
ENV JAVA_HOME=/opt/java/openjdk | ||
COPY --from=eclipse-temurin:17 $JAVA_HOME $JAVA_HOME | ||
ENV PATH="${JAVA_HOME}/bin:${PATH}" | ||
|
||
ENV BOOT_VERSION=2.8.3 | ||
ENV BOOT_INSTALL=/usr/local/bin/ | ||
|
||
WORKDIR /tmp | ||
|
||
# NOTE: BOOT_VERSION tells the boot.sh script which version of boot to install | ||
# on its first run. We always download the latest version of boot.sh because | ||
# it is just the installer script. | ||
RUN \ | ||
apt-get update && \ | ||
apt-get install -y make wget && \ | ||
rm -rf /var/lib/apt/lists/* && \ | ||
mkdir -p $BOOT_INSTALL && \ | ||
wget -q https://github.com/boot-clj/boot-bin/releases/download/latest/boot.sh && \ | ||
echo "Comparing installer checksum..." && \ | ||
sha256sum boot.sh && \ | ||
echo "0ccd697f2027e7e1cd3be3d62721057cbc841585740d0aaa9fbb485d7b1f17c3 *boot.sh" | sha256sum -c - && \ | ||
mv boot.sh $BOOT_INSTALL/boot && \ | ||
chmod 0755 $BOOT_INSTALL/boot && \ | ||
apt-get purge -y --auto-remove wget | ||
|
||
ENV PATH=$PATH:$BOOT_INSTALL | ||
ENV BOOT_AS_ROOT=yes | ||
|
||
RUN boot | ||
|
||
COPY entrypoint /usr/local/bin/entrypoint | ||
|
||
ENTRYPOINT ["entrypoint"] | ||
CMD ["repl"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
#!/usr/bin/env bash | ||
|
||
set -eou pipefail | ||
|
||
entrypoint=boot | ||
|
||
cmd=${1:-} | ||
|
||
# check if the first arg starts with a hyphen | ||
if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then | ||
exec "${entrypoint}" "$@" | ||
fi | ||
|
||
if [[ -n "${cmd}" ]]; then | ||
# see if help for the subcommand is successful | ||
if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then | ||
exec "${entrypoint}" "$@" | ||
fi | ||
fi | ||
|
||
exec "$@" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
FROM debian:bookworm | ||
|
||
ENV JAVA_HOME=/opt/java/openjdk | ||
COPY --from=eclipse-temurin:17 $JAVA_HOME $JAVA_HOME | ||
ENV PATH="${JAVA_HOME}/bin:${PATH}" | ||
|
||
ENV LEIN_VERSION=2.10.0 | ||
ENV LEIN_INSTALL=/usr/local/bin/ | ||
|
||
WORKDIR /tmp | ||
|
||
# Download the whole repo as an archive | ||
RUN set -eux; \ | ||
apt-get update && \ | ||
apt-get install -y make gnupg wget && \ | ||
rm -rf /var/lib/apt/lists/* && \ | ||
mkdir -p $LEIN_INSTALL && \ | ||
wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ | ||
echo "Comparing lein-pkg checksum ..." && \ | ||
sha256sum lein-pkg && \ | ||
echo "b1757ce941e4cbf15cbf649b7b4f413365e612da892d22841ec1728391bb66af *lein-pkg" | sha256sum -c - && \ | ||
mv lein-pkg $LEIN_INSTALL/lein && \ | ||
chmod 0755 $LEIN_INSTALL/lein && \ | ||
export GNUPGHOME="$(mktemp -d)" && \ | ||
export FILENAME_EXT=jar && \ | ||
gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 6A2D483DB59437EBB97D09B1040193357D0606ED && \ | ||
wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ | ||
wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ | ||
echo "Verifying file PGP signature..." && \ | ||
gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ | ||
gpgconf --kill all && \ | ||
rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ | ||
mkdir -p /usr/share/java && \ | ||
mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ | ||
apt-get purge -y --auto-remove gnupg wget | ||
|
||
ENV PATH=$PATH:$LEIN_INSTALL | ||
ENV LEIN_ROOT 1 | ||
|
||
# Install clojure 1.11.1 so users don't have to download it every time | ||
RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.11.1"]])' > project.clj \ | ||
&& lein deps && rm project.clj | ||
|
||
COPY entrypoint /usr/local/bin/entrypoint | ||
|
||
ENTRYPOINT ["entrypoint"] | ||
CMD ["repl"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
#!/usr/bin/env bash | ||
|
||
set -eou pipefail | ||
|
||
entrypoint=lein | ||
|
||
cmd=${1:-} | ||
|
||
# check if the first arg starts with a hyphen | ||
if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then | ||
exec "${entrypoint}" "$@" | ||
fi | ||
|
||
if [[ -n "${cmd}" ]]; then | ||
# see if help for the subcommand is successful | ||
if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then | ||
exec "${entrypoint}" "$@" | ||
fi | ||
fi | ||
|
||
exec "$@" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
FROM debian:bookworm | ||
|
||
ENV JAVA_HOME=/opt/java/openjdk | ||
COPY --from=eclipse-temurin:17 $JAVA_HOME $JAVA_HOME | ||
ENV PATH="${JAVA_HOME}/bin:${PATH}" | ||
|
||
ENV CLOJURE_VERSION=1.11.1.1413 | ||
|
||
WORKDIR /tmp | ||
|
||
RUN \ | ||
apt-get update && \ | ||
apt-get install -y curl make git rlwrap wget && \ | ||
rm -rf /var/lib/apt/lists/* && \ | ||
wget https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ | ||
sha256sum linux-install-$CLOJURE_VERSION.sh && \ | ||
echo "ad9aa1e99c59a4f7eb66450914fbec543337d9fada60dd9d34eec7fe18ae4965 *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ | ||
chmod +x linux-install-$CLOJURE_VERSION.sh && \ | ||
./linux-install-$CLOJURE_VERSION.sh && \ | ||
rm linux-install-$CLOJURE_VERSION.sh && \ | ||
clojure -e "(clojure-version)" && \ | ||
apt-get purge -y --auto-remove curl wget | ||
|
||
# Docker bug makes rlwrap crash w/o short sleep first | ||
# Bug: https://github.com/moby/moby/issues/28009 | ||
# As of 2021-09-10 this bug still exists, despite that issue being closed | ||
COPY rlwrap.retry /usr/local/bin/rlwrap | ||
|
||
COPY entrypoint /usr/local/bin/entrypoint | ||
|
||
ENTRYPOINT ["entrypoint"] | ||
CMD ["-M", "--repl"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
#!/usr/bin/env bash | ||
|
||
set -eou pipefail | ||
|
||
entrypoint=clj | ||
|
||
cmd=${1:-} | ||
|
||
# check if the first arg starts with a hyphen | ||
if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then | ||
exec "${entrypoint}" "$@" | ||
fi | ||
|
||
if [[ -n "${cmd}" ]]; then | ||
# see if help for the subcommand is successful | ||
if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then | ||
exec "${entrypoint}" "$@" | ||
fi | ||
fi | ||
|
||
exec "$@" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
#!/bin/sh | ||
|
||
# This script works around a Docker bug that prevents rlwrap from starting | ||
# right when a container is first started. It is intended to replace | ||
# /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH | ||
# (e.g. /usr/local/bin). | ||
|
||
max_tries=100 # 100 tries is ~1 second | ||
try=0 | ||
|
||
while true; do | ||
# see if rlwrap can start at all | ||
output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) | ||
exit_code=$? | ||
if [ $exit_code -gt 0 ]; then | ||
# it didn't start | ||
try=$((try+1)) | ||
if [ $try -gt $max_tries ]; then | ||
# we're at max attempts so output the error and exit w/ the same code | ||
echo "$output" >&2 | ||
exit $exit_code | ||
else | ||
# wait a bit and try again | ||
sleep 0.01 | ||
fi | ||
else | ||
# rlwrap can start so let's run it for real | ||
exec /usr/bin/rlwrap "$@" | ||
fi | ||
done |
Oops, something went wrong.