├── .github └── workflows │ ├── ci.yml │ └── official-images-pr.yml ├── .gitignore ├── LICENSE ├── README.md ├── bb.edn ├── deps.edn ├── resources ├── entrypoint └── rlwrap.retry ├── src └── docker_clojure │ ├── config.clj │ ├── core.clj │ ├── docker.clj │ ├── dockerfile.clj │ ├── dockerfile │ ├── lein.clj │ ├── shared.clj │ └── tools_deps.clj │ ├── log.clj │ ├── manifest.clj │ ├── util.clj │ └── variant.clj ├── target ├── .DS_Store ├── .gitkeep ├── debian-bookworm-11 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-bookworm-17 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-bookworm-21 │ ├── latest │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-bookworm-24 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-bookworm-8 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-bookworm-slim-11 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-bookworm-slim-17 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-bookworm-slim-21 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-bookworm-slim-24 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-bookworm-slim-8 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-bullseye-11 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-bullseye-17 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-bullseye-21 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-bullseye-24 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-bullseye-8 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-bullseye-slim-11 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-bullseye-slim-17 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-bullseye-slim-21 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-bullseye-slim-24 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-bullseye-slim-8 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-trixie-11 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-trixie-17 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-trixie-21 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-trixie-24 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-trixie-8 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-trixie-slim-11 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-trixie-slim-17 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-trixie-slim-21 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-trixie-slim-24 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── debian-trixie-slim-8 │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── eclipse-temurin-11-jdk-alpine │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── eclipse-temurin-11-jdk-jammy │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── eclipse-temurin-11-jdk-noble │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── eclipse-temurin-17-jdk-alpine │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── eclipse-temurin-17-jdk-jammy │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── eclipse-temurin-17-jdk-noble │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── eclipse-temurin-21-jdk-alpine │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── eclipse-temurin-21-jdk-jammy │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── eclipse-temurin-21-jdk-noble │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── eclipse-temurin-24-jdk-alpine │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── eclipse-temurin-24-jdk-noble │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── eclipse-temurin-8-jdk-alpine │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry ├── eclipse-temurin-8-jdk-jammy │ ├── lein │ │ ├── Dockerfile │ │ └── entrypoint │ └── tools-deps │ │ ├── Dockerfile │ │ ├── entrypoint │ │ └── rlwrap.retry └── eclipse-temurin-8-jdk-noble │ ├── lein │ ├── Dockerfile │ └── entrypoint │ └── tools-deps │ ├── Dockerfile │ ├── entrypoint │ └── rlwrap.retry ├── test └── docker_clojure │ ├── core_test.clj │ ├── docker_test.clj │ ├── dockerfile_test.clj │ ├── fix_kaocha.clj │ ├── manifest_test.clj │ └── variant_test.clj └── tests.edn /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: [push, pull_request] 4 | 5 | jobs: 6 | test: 7 | 8 | runs-on: ubuntu-latest 9 | 10 | steps: 11 | - name: Install babashka 12 | uses: DeLaGuardo/setup-clojure@13.4 13 | with: 14 | bb: 1.12.200 15 | - uses: actions/checkout@v4 16 | - name: Check for stale Dockerfiles 17 | run: | 18 | bb run dockerfiles 19 | git diff --exit-code 20 | - name: Run tests 21 | run: bb run test 22 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .cpcache/ 2 | .nrepl-port 3 | target/**/images.tar 4 | target/docker.manifest 5 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Paul Lam 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /bb.edn: -------------------------------------------------------------------------------- 1 | {:paths ["src"] 2 | :deps {local/deps {:local/root "."} 3 | org.babashka/spec.alpha {:git/url "https://github.com/babashka/spec.alpha" 4 | :git/sha "b6eb0f2208ab036c0a5d0e7235cb0b09d2feabb7"}} 5 | :tasks 6 | {:requires ([babashka.deps :as deps] 7 | [docker-clojure.core :as dc]) 8 | clean (dc/-main "clean") 9 | dockerfiles {:depends [clean] 10 | :task (apply dc/-main "dockerfiles" *command-line-args*)} 11 | manifest (apply dc/-main "manifest" *command-line-args*) 12 | build-images {:task (apply dc/-main "build-images" *command-line-args*)} 13 | test (deref (deps/clojure '-X:test))}} 14 | -------------------------------------------------------------------------------- /deps.edn: -------------------------------------------------------------------------------- 1 | {:deps 2 | {org.clojure/clojure {:mvn/version "1.12.1"} 3 | org.clojure/math.combinatorics {:mvn/version "0.3.0"} 4 | org.clojure/core.async {:mvn/version "1.8.741"} 5 | com.gfredericks/test.chuck {:git/url "https://github.com/gfredericks/test.chuck" 6 | :git/sha "0487a45a073f09ba071b28323a8be8ad57c9bbfd"}} 7 | 8 | :paths ["src" "resources"] 9 | 10 | :aliases 11 | {:build-images {:exec-fn docker-clojure.core/run 12 | :exec-args {:cmd :build-images 13 | :parallelization 2}} 14 | 15 | :test {:extra-paths ["test"] 16 | :extra-deps {lambdaisland/kaocha {:mvn/version "1.91.1392"} 17 | orchestra/orchestra {:mvn/version "2021.01.01-1"} 18 | org.clojure/test.check {:mvn/version "1.1.1"}} 19 | :exec-fn docker-clojure.fix-kaocha/run-tests 20 | :exec-args {}}}} 21 | -------------------------------------------------------------------------------- /resources/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=@@entrypoint@@ 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /resources/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /src/docker_clojure/log.clj: -------------------------------------------------------------------------------- 1 | (ns docker-clojure.log 2 | (:require [clojure.core.async :refer [chan put! manifest 8 | [variant] 9 | (str/join "\n" 10 | (conj 11 | (remove nil? [(str/join " " (conj ["Tags:"] 12 | (->> variant 13 | docker/all-tags 14 | (str/join ", ")))) 15 | (when-let [arch (:architectures variant)] 16 | (str/join " " ["Architectures:" 17 | (str/join ", " arch)])) 18 | (str/join " " ["Directory:" 19 | (df/build-dir variant)])]) 20 | nil))) 21 | 22 | (defn generate 23 | "Generates Docker manifest file for a given git commit and returns it as a 24 | string." 25 | [{:keys [maintainers architectures git-repo]} git-commit variants] 26 | (let [merged-arch-variants (variant/merge-architectures architectures variants) 27 | maintainers-label "Maintainers:" 28 | maintainers-sep (apply str ",\n" (repeat (inc (count maintainers-label)) 29 | " "))] 30 | (str/join "\n" 31 | (concat 32 | [(str/join " " [maintainers-label 33 | (str/join maintainers-sep maintainers)]) 34 | (str/join " " ["Architectures:" (str/join ", " architectures)]) 35 | (str/join " " ["GitRepo:" git-repo]) 36 | (str/join " " ["GitCommit:" git-commit])] 37 | 38 | (map variant->manifest merged-arch-variants) 39 | 40 | [nil])))) 41 | -------------------------------------------------------------------------------- /src/docker_clojure/util.clj: -------------------------------------------------------------------------------- 1 | (ns docker-clojure.util 2 | (:require [docker-clojure.core :as-alias core])) 3 | 4 | (defn get-or-default 5 | "Returns the value in map m for key k or else the value for key :default." 6 | [m k] 7 | (get m k (get m :default))) 8 | -------------------------------------------------------------------------------- /target/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Quantisan/docker-clojure/fd0e8957854e7772062fb4e8639d63644106d457/target/.DS_Store -------------------------------------------------------------------------------- /target/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Quantisan/docker-clojure/fd0e8957854e7772062fb4e8639d63644106d457/target/.gitkeep -------------------------------------------------------------------------------- /target/debian-bookworm-11/lein/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bookworm 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:11 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV LEIN_VERSION=2.11.2 8 | ENV LEIN_INSTALL=/usr/local/bin/ 9 | 10 | WORKDIR /tmp 11 | 12 | # Download the whole repo as an archive 13 | RUN set -eux; \ 14 | apt-get update && \ 15 | apt-get install -y make git gnupg wget && \ 16 | rm -rf /var/lib/apt/lists/* && \ 17 | mkdir -p $LEIN_INSTALL && \ 18 | wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ 19 | echo "Comparing lein-pkg checksum ..." && \ 20 | sha256sum lein-pkg && \ 21 | echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ 22 | mv lein-pkg $LEIN_INSTALL/lein && \ 23 | chmod 0755 $LEIN_INSTALL/lein && \ 24 | export GNUPGHOME="$(mktemp -d)" && \ 25 | export FILENAME_EXT=jar && \ 26 | gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ 27 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 28 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 29 | echo "Verifying file PGP signature..." && \ 30 | gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 31 | gpgconf --kill all && \ 32 | rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 33 | mkdir -p /usr/share/java && \ 34 | mkdir -p /root/.lein && \ 35 | mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ 36 | apt-get purge -y --auto-remove gnupg wget 37 | 38 | ENV PATH=$PATH:$LEIN_INSTALL 39 | ENV LEIN_ROOT 1 40 | 41 | # Install clojure 1.12.0 so users don't have to download it every time 42 | RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.0"]])' > project.clj \ 43 | && lein deps && rm project.clj 44 | 45 | CMD ["lein", "repl"] 46 | -------------------------------------------------------------------------------- /target/debian-bookworm-11/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bookworm-11/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bookworm 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:11 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | CMD ["clj"] 30 | -------------------------------------------------------------------------------- /target/debian-bookworm-11/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bookworm-11/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-bookworm-17/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bookworm-17/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bookworm 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:17 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | COPY entrypoint /usr/local/bin/entrypoint 30 | 31 | ENTRYPOINT ["entrypoint"] 32 | CMD ["-M", "--repl"] 33 | -------------------------------------------------------------------------------- /target/debian-bookworm-17/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bookworm-17/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-bookworm-21/latest/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bookworm-21/latest/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-bookworm-21/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bookworm-21/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bookworm 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:21 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | COPY entrypoint /usr/local/bin/entrypoint 30 | 31 | ENTRYPOINT ["entrypoint"] 32 | CMD ["-M", "--repl"] 33 | -------------------------------------------------------------------------------- /target/debian-bookworm-21/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bookworm-21/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-bookworm-24/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bookworm-24/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bookworm 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:24 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | COPY entrypoint /usr/local/bin/entrypoint 30 | 31 | ENTRYPOINT ["entrypoint"] 32 | CMD ["-M", "--repl"] 33 | -------------------------------------------------------------------------------- /target/debian-bookworm-24/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bookworm-24/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-bookworm-8/lein/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bookworm 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:8 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV LEIN_VERSION=2.11.2 8 | ENV LEIN_INSTALL=/usr/local/bin/ 9 | 10 | WORKDIR /tmp 11 | 12 | # Download the whole repo as an archive 13 | RUN set -eux; \ 14 | apt-get update && \ 15 | apt-get install -y make git gnupg wget && \ 16 | rm -rf /var/lib/apt/lists/* && \ 17 | mkdir -p $LEIN_INSTALL && \ 18 | wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ 19 | echo "Comparing lein-pkg checksum ..." && \ 20 | sha256sum lein-pkg && \ 21 | echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ 22 | mv lein-pkg $LEIN_INSTALL/lein && \ 23 | chmod 0755 $LEIN_INSTALL/lein && \ 24 | export GNUPGHOME="$(mktemp -d)" && \ 25 | export FILENAME_EXT=jar && \ 26 | gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ 27 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 28 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 29 | echo "Verifying file PGP signature..." && \ 30 | gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 31 | gpgconf --kill all && \ 32 | rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 33 | mkdir -p /usr/share/java && \ 34 | mkdir -p /root/.lein && \ 35 | mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ 36 | apt-get purge -y --auto-remove gnupg wget 37 | 38 | ENV PATH=$PATH:$LEIN_INSTALL 39 | ENV LEIN_ROOT 1 40 | 41 | # Install clojure 1.12.0 so users don't have to download it every time 42 | RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.0"]])' > project.clj \ 43 | && lein deps && rm project.clj 44 | 45 | CMD ["lein", "repl"] 46 | -------------------------------------------------------------------------------- /target/debian-bookworm-8/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bookworm-8/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bookworm 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:8 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | CMD ["clj"] 30 | -------------------------------------------------------------------------------- /target/debian-bookworm-8/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bookworm-8/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-bookworm-slim-11/lein/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bookworm-slim 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:11 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV LEIN_VERSION=2.11.2 8 | ENV LEIN_INSTALL=/usr/local/bin/ 9 | 10 | WORKDIR /tmp 11 | 12 | # Download the whole repo as an archive 13 | RUN set -eux; \ 14 | apt-get update && \ 15 | apt-get install -y git gnupg wget && \ 16 | rm -rf /var/lib/apt/lists/* && \ 17 | mkdir -p $LEIN_INSTALL && \ 18 | wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ 19 | echo "Comparing lein-pkg checksum ..." && \ 20 | sha256sum lein-pkg && \ 21 | echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ 22 | mv lein-pkg $LEIN_INSTALL/lein && \ 23 | chmod 0755 $LEIN_INSTALL/lein && \ 24 | export GNUPGHOME="$(mktemp -d)" && \ 25 | export FILENAME_EXT=jar && \ 26 | gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ 27 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 28 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 29 | echo "Verifying file PGP signature..." && \ 30 | gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 31 | gpgconf --kill all && \ 32 | rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 33 | mkdir -p /usr/share/java && \ 34 | mkdir -p /root/.lein && \ 35 | mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ 36 | apt-get purge -y --auto-remove gnupg wget 37 | 38 | ENV PATH=$PATH:$LEIN_INSTALL 39 | ENV LEIN_ROOT 1 40 | 41 | # Install clojure 1.12.0 so users don't have to download it every time 42 | RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.0"]])' > project.clj \ 43 | && lein deps && rm project.clj 44 | 45 | CMD ["lein", "repl"] 46 | -------------------------------------------------------------------------------- /target/debian-bookworm-slim-11/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bookworm-slim-11/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bookworm-slim 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:11 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | CMD ["clj"] 30 | -------------------------------------------------------------------------------- /target/debian-bookworm-slim-11/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bookworm-slim-11/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-bookworm-slim-17/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bookworm-slim-17/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bookworm-slim 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:17 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | COPY entrypoint /usr/local/bin/entrypoint 30 | 31 | ENTRYPOINT ["entrypoint"] 32 | CMD ["-M", "--repl"] 33 | -------------------------------------------------------------------------------- /target/debian-bookworm-slim-17/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bookworm-slim-17/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-bookworm-slim-21/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bookworm-slim-21/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bookworm-slim 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:21 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | COPY entrypoint /usr/local/bin/entrypoint 30 | 31 | ENTRYPOINT ["entrypoint"] 32 | CMD ["-M", "--repl"] 33 | -------------------------------------------------------------------------------- /target/debian-bookworm-slim-21/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bookworm-slim-21/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-bookworm-slim-24/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bookworm-slim-24/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bookworm-slim 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:24 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | COPY entrypoint /usr/local/bin/entrypoint 30 | 31 | ENTRYPOINT ["entrypoint"] 32 | CMD ["-M", "--repl"] 33 | -------------------------------------------------------------------------------- /target/debian-bookworm-slim-24/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bookworm-slim-24/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-bookworm-slim-8/lein/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bookworm-slim 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:8 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV LEIN_VERSION=2.11.2 8 | ENV LEIN_INSTALL=/usr/local/bin/ 9 | 10 | WORKDIR /tmp 11 | 12 | # Download the whole repo as an archive 13 | RUN set -eux; \ 14 | apt-get update && \ 15 | apt-get install -y git gnupg wget && \ 16 | rm -rf /var/lib/apt/lists/* && \ 17 | mkdir -p $LEIN_INSTALL && \ 18 | wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ 19 | echo "Comparing lein-pkg checksum ..." && \ 20 | sha256sum lein-pkg && \ 21 | echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ 22 | mv lein-pkg $LEIN_INSTALL/lein && \ 23 | chmod 0755 $LEIN_INSTALL/lein && \ 24 | export GNUPGHOME="$(mktemp -d)" && \ 25 | export FILENAME_EXT=jar && \ 26 | gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ 27 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 28 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 29 | echo "Verifying file PGP signature..." && \ 30 | gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 31 | gpgconf --kill all && \ 32 | rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 33 | mkdir -p /usr/share/java && \ 34 | mkdir -p /root/.lein && \ 35 | mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ 36 | apt-get purge -y --auto-remove gnupg wget 37 | 38 | ENV PATH=$PATH:$LEIN_INSTALL 39 | ENV LEIN_ROOT 1 40 | 41 | # Install clojure 1.12.0 so users don't have to download it every time 42 | RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.0"]])' > project.clj \ 43 | && lein deps && rm project.clj 44 | 45 | CMD ["lein", "repl"] 46 | -------------------------------------------------------------------------------- /target/debian-bookworm-slim-8/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bookworm-slim-8/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bookworm-slim 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:8 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | CMD ["clj"] 30 | -------------------------------------------------------------------------------- /target/debian-bookworm-slim-8/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bookworm-slim-8/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-bullseye-11/lein/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bullseye 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:11 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV LEIN_VERSION=2.11.2 8 | ENV LEIN_INSTALL=/usr/local/bin/ 9 | 10 | WORKDIR /tmp 11 | 12 | # Download the whole repo as an archive 13 | RUN set -eux; \ 14 | apt-get update && \ 15 | apt-get install -y make git gnupg wget && \ 16 | rm -rf /var/lib/apt/lists/* && \ 17 | mkdir -p $LEIN_INSTALL && \ 18 | wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ 19 | echo "Comparing lein-pkg checksum ..." && \ 20 | sha256sum lein-pkg && \ 21 | echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ 22 | mv lein-pkg $LEIN_INSTALL/lein && \ 23 | chmod 0755 $LEIN_INSTALL/lein && \ 24 | export GNUPGHOME="$(mktemp -d)" && \ 25 | export FILENAME_EXT=jar && \ 26 | gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ 27 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 28 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 29 | echo "Verifying file PGP signature..." && \ 30 | gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 31 | gpgconf --kill all && \ 32 | rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 33 | mkdir -p /usr/share/java && \ 34 | mkdir -p /root/.lein && \ 35 | mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ 36 | apt-get purge -y --auto-remove gnupg wget 37 | 38 | ENV PATH=$PATH:$LEIN_INSTALL 39 | ENV LEIN_ROOT 1 40 | 41 | # Install clojure 1.12.0 so users don't have to download it every time 42 | RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.0"]])' > project.clj \ 43 | && lein deps && rm project.clj 44 | 45 | CMD ["lein", "repl"] 46 | -------------------------------------------------------------------------------- /target/debian-bullseye-11/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bullseye-11/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bullseye 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:11 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | CMD ["clj"] 30 | -------------------------------------------------------------------------------- /target/debian-bullseye-11/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bullseye-11/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-bullseye-17/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bullseye-17/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bullseye 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:17 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | COPY entrypoint /usr/local/bin/entrypoint 30 | 31 | ENTRYPOINT ["entrypoint"] 32 | CMD ["-M", "--repl"] 33 | -------------------------------------------------------------------------------- /target/debian-bullseye-17/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bullseye-17/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-bullseye-21/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bullseye-21/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bullseye 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:21 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | COPY entrypoint /usr/local/bin/entrypoint 30 | 31 | ENTRYPOINT ["entrypoint"] 32 | CMD ["-M", "--repl"] 33 | -------------------------------------------------------------------------------- /target/debian-bullseye-21/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bullseye-21/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-bullseye-24/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bullseye-24/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bullseye 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:24 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | COPY entrypoint /usr/local/bin/entrypoint 30 | 31 | ENTRYPOINT ["entrypoint"] 32 | CMD ["-M", "--repl"] 33 | -------------------------------------------------------------------------------- /target/debian-bullseye-24/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bullseye-24/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-bullseye-8/lein/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bullseye 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:8 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV LEIN_VERSION=2.11.2 8 | ENV LEIN_INSTALL=/usr/local/bin/ 9 | 10 | WORKDIR /tmp 11 | 12 | # Download the whole repo as an archive 13 | RUN set -eux; \ 14 | apt-get update && \ 15 | apt-get install -y make git gnupg wget && \ 16 | rm -rf /var/lib/apt/lists/* && \ 17 | mkdir -p $LEIN_INSTALL && \ 18 | wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ 19 | echo "Comparing lein-pkg checksum ..." && \ 20 | sha256sum lein-pkg && \ 21 | echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ 22 | mv lein-pkg $LEIN_INSTALL/lein && \ 23 | chmod 0755 $LEIN_INSTALL/lein && \ 24 | export GNUPGHOME="$(mktemp -d)" && \ 25 | export FILENAME_EXT=jar && \ 26 | gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ 27 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 28 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 29 | echo "Verifying file PGP signature..." && \ 30 | gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 31 | gpgconf --kill all && \ 32 | rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 33 | mkdir -p /usr/share/java && \ 34 | mkdir -p /root/.lein && \ 35 | mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ 36 | apt-get purge -y --auto-remove gnupg wget 37 | 38 | ENV PATH=$PATH:$LEIN_INSTALL 39 | ENV LEIN_ROOT 1 40 | 41 | # Install clojure 1.12.0 so users don't have to download it every time 42 | RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.0"]])' > project.clj \ 43 | && lein deps && rm project.clj 44 | 45 | CMD ["lein", "repl"] 46 | -------------------------------------------------------------------------------- /target/debian-bullseye-8/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bullseye-8/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bullseye 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:8 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | CMD ["clj"] 30 | -------------------------------------------------------------------------------- /target/debian-bullseye-8/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bullseye-8/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-bullseye-slim-11/lein/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bullseye-slim 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:11 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV LEIN_VERSION=2.11.2 8 | ENV LEIN_INSTALL=/usr/local/bin/ 9 | 10 | WORKDIR /tmp 11 | 12 | # Download the whole repo as an archive 13 | RUN set -eux; \ 14 | apt-get update && \ 15 | apt-get install -y git gnupg wget && \ 16 | rm -rf /var/lib/apt/lists/* && \ 17 | mkdir -p $LEIN_INSTALL && \ 18 | wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ 19 | echo "Comparing lein-pkg checksum ..." && \ 20 | sha256sum lein-pkg && \ 21 | echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ 22 | mv lein-pkg $LEIN_INSTALL/lein && \ 23 | chmod 0755 $LEIN_INSTALL/lein && \ 24 | export GNUPGHOME="$(mktemp -d)" && \ 25 | export FILENAME_EXT=jar && \ 26 | gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ 27 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 28 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 29 | echo "Verifying file PGP signature..." && \ 30 | gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 31 | gpgconf --kill all && \ 32 | rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 33 | mkdir -p /usr/share/java && \ 34 | mkdir -p /root/.lein && \ 35 | mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ 36 | apt-get purge -y --auto-remove gnupg wget 37 | 38 | ENV PATH=$PATH:$LEIN_INSTALL 39 | ENV LEIN_ROOT 1 40 | 41 | # Install clojure 1.12.0 so users don't have to download it every time 42 | RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.0"]])' > project.clj \ 43 | && lein deps && rm project.clj 44 | 45 | CMD ["lein", "repl"] 46 | -------------------------------------------------------------------------------- /target/debian-bullseye-slim-11/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bullseye-slim-11/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bullseye-slim 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:11 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | CMD ["clj"] 30 | -------------------------------------------------------------------------------- /target/debian-bullseye-slim-11/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bullseye-slim-11/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-bullseye-slim-17/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bullseye-slim-17/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bullseye-slim 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:17 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | COPY entrypoint /usr/local/bin/entrypoint 30 | 31 | ENTRYPOINT ["entrypoint"] 32 | CMD ["-M", "--repl"] 33 | -------------------------------------------------------------------------------- /target/debian-bullseye-slim-17/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bullseye-slim-17/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-bullseye-slim-21/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bullseye-slim-21/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bullseye-slim 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:21 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | COPY entrypoint /usr/local/bin/entrypoint 30 | 31 | ENTRYPOINT ["entrypoint"] 32 | CMD ["-M", "--repl"] 33 | -------------------------------------------------------------------------------- /target/debian-bullseye-slim-21/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bullseye-slim-21/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-bullseye-slim-24/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bullseye-slim-24/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bullseye-slim 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:24 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | COPY entrypoint /usr/local/bin/entrypoint 30 | 31 | ENTRYPOINT ["entrypoint"] 32 | CMD ["-M", "--repl"] 33 | -------------------------------------------------------------------------------- /target/debian-bullseye-slim-24/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bullseye-slim-24/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-bullseye-slim-8/lein/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bullseye-slim 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:8 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV LEIN_VERSION=2.11.2 8 | ENV LEIN_INSTALL=/usr/local/bin/ 9 | 10 | WORKDIR /tmp 11 | 12 | # Download the whole repo as an archive 13 | RUN set -eux; \ 14 | apt-get update && \ 15 | apt-get install -y git gnupg wget && \ 16 | rm -rf /var/lib/apt/lists/* && \ 17 | mkdir -p $LEIN_INSTALL && \ 18 | wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ 19 | echo "Comparing lein-pkg checksum ..." && \ 20 | sha256sum lein-pkg && \ 21 | echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ 22 | mv lein-pkg $LEIN_INSTALL/lein && \ 23 | chmod 0755 $LEIN_INSTALL/lein && \ 24 | export GNUPGHOME="$(mktemp -d)" && \ 25 | export FILENAME_EXT=jar && \ 26 | gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ 27 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 28 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 29 | echo "Verifying file PGP signature..." && \ 30 | gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 31 | gpgconf --kill all && \ 32 | rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 33 | mkdir -p /usr/share/java && \ 34 | mkdir -p /root/.lein && \ 35 | mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ 36 | apt-get purge -y --auto-remove gnupg wget 37 | 38 | ENV PATH=$PATH:$LEIN_INSTALL 39 | ENV LEIN_ROOT 1 40 | 41 | # Install clojure 1.12.0 so users don't have to download it every time 42 | RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.0"]])' > project.clj \ 43 | && lein deps && rm project.clj 44 | 45 | CMD ["lein", "repl"] 46 | -------------------------------------------------------------------------------- /target/debian-bullseye-slim-8/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bullseye-slim-8/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bullseye-slim 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:8 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | CMD ["clj"] 30 | -------------------------------------------------------------------------------- /target/debian-bullseye-slim-8/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-bullseye-slim-8/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-trixie-11/lein/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:trixie 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:11 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV LEIN_VERSION=2.11.2 8 | ENV LEIN_INSTALL=/usr/local/bin/ 9 | 10 | WORKDIR /tmp 11 | 12 | # Download the whole repo as an archive 13 | RUN set -eux; \ 14 | apt-get update && \ 15 | apt-get install -y make git gnupg wget && \ 16 | rm -rf /var/lib/apt/lists/* && \ 17 | mkdir -p $LEIN_INSTALL && \ 18 | wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ 19 | echo "Comparing lein-pkg checksum ..." && \ 20 | sha256sum lein-pkg && \ 21 | echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ 22 | mv lein-pkg $LEIN_INSTALL/lein && \ 23 | chmod 0755 $LEIN_INSTALL/lein && \ 24 | export GNUPGHOME="$(mktemp -d)" && \ 25 | export FILENAME_EXT=jar && \ 26 | gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ 27 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 28 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 29 | echo "Verifying file PGP signature..." && \ 30 | gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 31 | gpgconf --kill all && \ 32 | rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 33 | mkdir -p /usr/share/java && \ 34 | mkdir -p /root/.lein && \ 35 | mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ 36 | apt-get purge -y --auto-remove gnupg wget 37 | 38 | ENV PATH=$PATH:$LEIN_INSTALL 39 | ENV LEIN_ROOT 1 40 | 41 | # Install clojure 1.12.0 so users don't have to download it every time 42 | RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.0"]])' > project.clj \ 43 | && lein deps && rm project.clj 44 | 45 | CMD ["lein", "repl"] 46 | -------------------------------------------------------------------------------- /target/debian-trixie-11/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-trixie-11/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:trixie 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:11 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | CMD ["clj"] 30 | -------------------------------------------------------------------------------- /target/debian-trixie-11/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-trixie-11/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-trixie-17/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-trixie-17/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:trixie 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:17 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | COPY entrypoint /usr/local/bin/entrypoint 30 | 31 | ENTRYPOINT ["entrypoint"] 32 | CMD ["-M", "--repl"] 33 | -------------------------------------------------------------------------------- /target/debian-trixie-17/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-trixie-17/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-trixie-21/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-trixie-21/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:trixie 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:21 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | COPY entrypoint /usr/local/bin/entrypoint 30 | 31 | ENTRYPOINT ["entrypoint"] 32 | CMD ["-M", "--repl"] 33 | -------------------------------------------------------------------------------- /target/debian-trixie-21/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-trixie-21/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-trixie-24/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-trixie-24/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:trixie 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:24 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | COPY entrypoint /usr/local/bin/entrypoint 30 | 31 | ENTRYPOINT ["entrypoint"] 32 | CMD ["-M", "--repl"] 33 | -------------------------------------------------------------------------------- /target/debian-trixie-24/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-trixie-24/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-trixie-8/lein/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:trixie 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:8 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV LEIN_VERSION=2.11.2 8 | ENV LEIN_INSTALL=/usr/local/bin/ 9 | 10 | WORKDIR /tmp 11 | 12 | # Download the whole repo as an archive 13 | RUN set -eux; \ 14 | apt-get update && \ 15 | apt-get install -y make git gnupg wget && \ 16 | rm -rf /var/lib/apt/lists/* && \ 17 | mkdir -p $LEIN_INSTALL && \ 18 | wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ 19 | echo "Comparing lein-pkg checksum ..." && \ 20 | sha256sum lein-pkg && \ 21 | echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ 22 | mv lein-pkg $LEIN_INSTALL/lein && \ 23 | chmod 0755 $LEIN_INSTALL/lein && \ 24 | export GNUPGHOME="$(mktemp -d)" && \ 25 | export FILENAME_EXT=jar && \ 26 | gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ 27 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 28 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 29 | echo "Verifying file PGP signature..." && \ 30 | gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 31 | gpgconf --kill all && \ 32 | rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 33 | mkdir -p /usr/share/java && \ 34 | mkdir -p /root/.lein && \ 35 | mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ 36 | apt-get purge -y --auto-remove gnupg wget 37 | 38 | ENV PATH=$PATH:$LEIN_INSTALL 39 | ENV LEIN_ROOT 1 40 | 41 | # Install clojure 1.12.0 so users don't have to download it every time 42 | RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.0"]])' > project.clj \ 43 | && lein deps && rm project.clj 44 | 45 | CMD ["lein", "repl"] 46 | -------------------------------------------------------------------------------- /target/debian-trixie-8/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-trixie-8/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:trixie 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:8 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | CMD ["clj"] 30 | -------------------------------------------------------------------------------- /target/debian-trixie-8/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-trixie-8/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-trixie-slim-11/lein/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:trixie-slim 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:11 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV LEIN_VERSION=2.11.2 8 | ENV LEIN_INSTALL=/usr/local/bin/ 9 | 10 | WORKDIR /tmp 11 | 12 | # Download the whole repo as an archive 13 | RUN set -eux; \ 14 | apt-get update && \ 15 | apt-get install -y git gnupg wget && \ 16 | rm -rf /var/lib/apt/lists/* && \ 17 | mkdir -p $LEIN_INSTALL && \ 18 | wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ 19 | echo "Comparing lein-pkg checksum ..." && \ 20 | sha256sum lein-pkg && \ 21 | echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ 22 | mv lein-pkg $LEIN_INSTALL/lein && \ 23 | chmod 0755 $LEIN_INSTALL/lein && \ 24 | export GNUPGHOME="$(mktemp -d)" && \ 25 | export FILENAME_EXT=jar && \ 26 | gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ 27 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 28 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 29 | echo "Verifying file PGP signature..." && \ 30 | gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 31 | gpgconf --kill all && \ 32 | rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 33 | mkdir -p /usr/share/java && \ 34 | mkdir -p /root/.lein && \ 35 | mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ 36 | apt-get purge -y --auto-remove gnupg wget 37 | 38 | ENV PATH=$PATH:$LEIN_INSTALL 39 | ENV LEIN_ROOT 1 40 | 41 | # Install clojure 1.12.0 so users don't have to download it every time 42 | RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.0"]])' > project.clj \ 43 | && lein deps && rm project.clj 44 | 45 | CMD ["lein", "repl"] 46 | -------------------------------------------------------------------------------- /target/debian-trixie-slim-11/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-trixie-slim-11/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:trixie-slim 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:11 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | CMD ["clj"] 30 | -------------------------------------------------------------------------------- /target/debian-trixie-slim-11/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-trixie-slim-11/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-trixie-slim-17/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-trixie-slim-17/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:trixie-slim 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:17 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | COPY entrypoint /usr/local/bin/entrypoint 30 | 31 | ENTRYPOINT ["entrypoint"] 32 | CMD ["-M", "--repl"] 33 | -------------------------------------------------------------------------------- /target/debian-trixie-slim-17/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-trixie-slim-17/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-trixie-slim-21/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-trixie-slim-21/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:trixie-slim 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:21 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | COPY entrypoint /usr/local/bin/entrypoint 30 | 31 | ENTRYPOINT ["entrypoint"] 32 | CMD ["-M", "--repl"] 33 | -------------------------------------------------------------------------------- /target/debian-trixie-slim-21/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-trixie-slim-21/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-trixie-slim-24/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-trixie-slim-24/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:trixie-slim 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:24 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | COPY entrypoint /usr/local/bin/entrypoint 30 | 31 | ENTRYPOINT ["entrypoint"] 32 | CMD ["-M", "--repl"] 33 | -------------------------------------------------------------------------------- /target/debian-trixie-slim-24/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-trixie-slim-24/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/debian-trixie-slim-8/lein/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:trixie-slim 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:8 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV LEIN_VERSION=2.11.2 8 | ENV LEIN_INSTALL=/usr/local/bin/ 9 | 10 | WORKDIR /tmp 11 | 12 | # Download the whole repo as an archive 13 | RUN set -eux; \ 14 | apt-get update && \ 15 | apt-get install -y git gnupg wget && \ 16 | rm -rf /var/lib/apt/lists/* && \ 17 | mkdir -p $LEIN_INSTALL && \ 18 | wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ 19 | echo "Comparing lein-pkg checksum ..." && \ 20 | sha256sum lein-pkg && \ 21 | echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ 22 | mv lein-pkg $LEIN_INSTALL/lein && \ 23 | chmod 0755 $LEIN_INSTALL/lein && \ 24 | export GNUPGHOME="$(mktemp -d)" && \ 25 | export FILENAME_EXT=jar && \ 26 | gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ 27 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 28 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 29 | echo "Verifying file PGP signature..." && \ 30 | gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 31 | gpgconf --kill all && \ 32 | rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 33 | mkdir -p /usr/share/java && \ 34 | mkdir -p /root/.lein && \ 35 | mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ 36 | apt-get purge -y --auto-remove gnupg wget 37 | 38 | ENV PATH=$PATH:$LEIN_INSTALL 39 | ENV LEIN_ROOT 1 40 | 41 | # Install clojure 1.12.0 so users don't have to download it every time 42 | RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.0"]])' > project.clj \ 43 | && lein deps && rm project.clj 44 | 45 | CMD ["lein", "repl"] 46 | -------------------------------------------------------------------------------- /target/debian-trixie-slim-8/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-trixie-slim-8/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:trixie-slim 2 | 3 | ENV JAVA_HOME=/opt/java/openjdk 4 | COPY --from=eclipse-temurin:8 $JAVA_HOME $JAVA_HOME 5 | ENV PATH="${JAVA_HOME}/bin:${PATH}" 6 | 7 | ENV CLOJURE_VERSION=1.12.1.1550 8 | 9 | WORKDIR /tmp 10 | 11 | RUN \ 12 | apt-get update && \ 13 | apt-get install -y curl make git rlwrap && \ 14 | rm -rf /var/lib/apt/lists/* && \ 15 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 16 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 17 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 18 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 19 | ./linux-install-$CLOJURE_VERSION.sh && \ 20 | rm linux-install-$CLOJURE_VERSION.sh && \ 21 | clojure -e "(clojure-version)" && \ 22 | apt-get purge -y --auto-remove curl 23 | 24 | # Docker bug makes rlwrap crash w/o short sleep first 25 | # Bug: https://github.com/moby/moby/issues/28009 26 | # As of 2021-09-10 this bug still exists, despite that issue being closed 27 | COPY rlwrap.retry /usr/local/bin/rlwrap 28 | 29 | CMD ["clj"] 30 | -------------------------------------------------------------------------------- /target/debian-trixie-slim-8/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/debian-trixie-slim-8/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/eclipse-temurin-11-jdk-alpine/lein/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:11-jdk-alpine 2 | 3 | ENV LEIN_VERSION=2.11.2 4 | ENV LEIN_INSTALL=/usr/local/bin/ 5 | 6 | WORKDIR /tmp 7 | 8 | # Download the whole repo as an archive 9 | RUN set -eux; \ 10 | apk add --no-cache ca-certificates bash tar openssl git gnupg && \ 11 | mkdir -p $LEIN_INSTALL && \ 12 | wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ 13 | echo "Comparing lein-pkg checksum ..." && \ 14 | sha256sum lein-pkg && \ 15 | echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ 16 | mv lein-pkg $LEIN_INSTALL/lein && \ 17 | chmod 0755 $LEIN_INSTALL/lein && \ 18 | export GNUPGHOME="$(mktemp -d)" && \ 19 | export FILENAME_EXT=jar && \ 20 | gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ 21 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 22 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 23 | echo "Verifying file PGP signature..." && \ 24 | gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 25 | gpgconf --kill all && \ 26 | rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 27 | mkdir -p /usr/share/java && \ 28 | mkdir -p /root/.lein && \ 29 | mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ 30 | apk del ca-certificates tar openssl gnupg 31 | 32 | ENV PATH=$PATH:$LEIN_INSTALL 33 | ENV LEIN_ROOT 1 34 | 35 | # Install clojure 1.12.0 so users don't have to download it every time 36 | RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.0"]])' > project.clj \ 37 | && lein deps && rm project.clj 38 | 39 | CMD ["lein", "repl"] 40 | -------------------------------------------------------------------------------- /target/eclipse-temurin-11-jdk-alpine/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-11-jdk-alpine/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:11-jdk-alpine 2 | 3 | ENV CLOJURE_VERSION=1.12.1.1550 4 | 5 | WORKDIR /tmp 6 | 7 | RUN \ 8 | apk add --no-cache curl bash make git rlwrap && \ 9 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 10 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 11 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 12 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 13 | ./linux-install-$CLOJURE_VERSION.sh && \ 14 | rm linux-install-$CLOJURE_VERSION.sh && \ 15 | clojure -e "(clojure-version)" && \ 16 | apk del curl 17 | 18 | # Docker bug makes rlwrap crash w/o short sleep first 19 | # Bug: https://github.com/moby/moby/issues/28009 20 | # As of 2021-09-10 this bug still exists, despite that issue being closed 21 | COPY rlwrap.retry /usr/local/bin/rlwrap 22 | 23 | CMD ["clj"] 24 | -------------------------------------------------------------------------------- /target/eclipse-temurin-11-jdk-alpine/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-11-jdk-alpine/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/eclipse-temurin-11-jdk-jammy/lein/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:11-jdk-jammy 2 | 3 | ENV LEIN_VERSION=2.11.2 4 | ENV LEIN_INSTALL=/usr/local/bin/ 5 | 6 | WORKDIR /tmp 7 | 8 | # Download the whole repo as an archive 9 | RUN set -eux; \ 10 | apt-get update && \ 11 | apt-get install -y make git gnupg wget && \ 12 | rm -rf /var/lib/apt/lists/* && \ 13 | mkdir -p $LEIN_INSTALL && \ 14 | wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ 15 | echo "Comparing lein-pkg checksum ..." && \ 16 | sha256sum lein-pkg && \ 17 | echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ 18 | mv lein-pkg $LEIN_INSTALL/lein && \ 19 | chmod 0755 $LEIN_INSTALL/lein && \ 20 | export GNUPGHOME="$(mktemp -d)" && \ 21 | export FILENAME_EXT=jar && \ 22 | gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ 23 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 24 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 25 | echo "Verifying file PGP signature..." && \ 26 | gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 27 | gpgconf --kill all && \ 28 | rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 29 | mkdir -p /usr/share/java && \ 30 | mkdir -p /root/.lein && \ 31 | mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ 32 | apt-get purge -y --auto-remove gnupg wget 33 | 34 | ENV PATH=$PATH:$LEIN_INSTALL 35 | ENV LEIN_ROOT 1 36 | 37 | # Install clojure 1.12.0 so users don't have to download it every time 38 | RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.0"]])' > project.clj \ 39 | && lein deps && rm project.clj 40 | 41 | CMD ["lein", "repl"] 42 | -------------------------------------------------------------------------------- /target/eclipse-temurin-11-jdk-jammy/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-11-jdk-jammy/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:11-jdk-jammy 2 | 3 | ENV CLOJURE_VERSION=1.12.1.1550 4 | 5 | WORKDIR /tmp 6 | 7 | RUN \ 8 | apt-get update && \ 9 | apt-get install -y curl make git rlwrap && \ 10 | rm -rf /var/lib/apt/lists/* && \ 11 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 12 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 13 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 14 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 15 | ./linux-install-$CLOJURE_VERSION.sh && \ 16 | rm linux-install-$CLOJURE_VERSION.sh && \ 17 | clojure -e "(clojure-version)" 18 | 19 | # Docker bug makes rlwrap crash w/o short sleep first 20 | # Bug: https://github.com/moby/moby/issues/28009 21 | # As of 2021-09-10 this bug still exists, despite that issue being closed 22 | COPY rlwrap.retry /usr/local/bin/rlwrap 23 | 24 | CMD ["clj"] 25 | -------------------------------------------------------------------------------- /target/eclipse-temurin-11-jdk-jammy/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-11-jdk-jammy/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/eclipse-temurin-11-jdk-noble/lein/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:11-jdk-noble 2 | 3 | ENV LEIN_VERSION=2.11.2 4 | ENV LEIN_INSTALL=/usr/local/bin/ 5 | 6 | WORKDIR /tmp 7 | 8 | # Download the whole repo as an archive 9 | RUN set -eux; \ 10 | apt-get update && \ 11 | apt-get install -y make git gnupg wget && \ 12 | rm -rf /var/lib/apt/lists/* && \ 13 | mkdir -p $LEIN_INSTALL && \ 14 | wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ 15 | echo "Comparing lein-pkg checksum ..." && \ 16 | sha256sum lein-pkg && \ 17 | echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ 18 | mv lein-pkg $LEIN_INSTALL/lein && \ 19 | chmod 0755 $LEIN_INSTALL/lein && \ 20 | export GNUPGHOME="$(mktemp -d)" && \ 21 | export FILENAME_EXT=jar && \ 22 | gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ 23 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 24 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 25 | echo "Verifying file PGP signature..." && \ 26 | gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 27 | gpgconf --kill all && \ 28 | rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 29 | mkdir -p /usr/share/java && \ 30 | mkdir -p /root/.lein && \ 31 | mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ 32 | apt-get purge -y --auto-remove gnupg wget 33 | 34 | ENV PATH=$PATH:$LEIN_INSTALL 35 | ENV LEIN_ROOT 1 36 | 37 | # Install clojure 1.12.0 so users don't have to download it every time 38 | RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.0"]])' > project.clj \ 39 | && lein deps && rm project.clj 40 | 41 | CMD ["lein", "repl"] 42 | -------------------------------------------------------------------------------- /target/eclipse-temurin-11-jdk-noble/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-11-jdk-noble/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:11-jdk-noble 2 | 3 | ENV CLOJURE_VERSION=1.12.1.1550 4 | 5 | WORKDIR /tmp 6 | 7 | RUN \ 8 | apt-get update && \ 9 | apt-get install -y curl make git rlwrap && \ 10 | rm -rf /var/lib/apt/lists/* && \ 11 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 12 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 13 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 14 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 15 | ./linux-install-$CLOJURE_VERSION.sh && \ 16 | rm linux-install-$CLOJURE_VERSION.sh && \ 17 | clojure -e "(clojure-version)" 18 | 19 | # Docker bug makes rlwrap crash w/o short sleep first 20 | # Bug: https://github.com/moby/moby/issues/28009 21 | # As of 2021-09-10 this bug still exists, despite that issue being closed 22 | COPY rlwrap.retry /usr/local/bin/rlwrap 23 | 24 | CMD ["clj"] 25 | -------------------------------------------------------------------------------- /target/eclipse-temurin-11-jdk-noble/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-11-jdk-noble/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/eclipse-temurin-17-jdk-alpine/lein/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:17-jdk-alpine 2 | 3 | ENV LEIN_VERSION=2.11.2 4 | ENV LEIN_INSTALL=/usr/local/bin/ 5 | 6 | WORKDIR /tmp 7 | 8 | # Download the whole repo as an archive 9 | RUN set -eux; \ 10 | apk add --no-cache ca-certificates bash tar openssl git gnupg && \ 11 | mkdir -p $LEIN_INSTALL && \ 12 | wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ 13 | echo "Comparing lein-pkg checksum ..." && \ 14 | sha256sum lein-pkg && \ 15 | echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ 16 | mv lein-pkg $LEIN_INSTALL/lein && \ 17 | chmod 0755 $LEIN_INSTALL/lein && \ 18 | export GNUPGHOME="$(mktemp -d)" && \ 19 | export FILENAME_EXT=jar && \ 20 | gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ 21 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 22 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 23 | echo "Verifying file PGP signature..." && \ 24 | gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 25 | gpgconf --kill all && \ 26 | rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 27 | mkdir -p /usr/share/java && \ 28 | mkdir -p /root/.lein && \ 29 | mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ 30 | apk del ca-certificates tar openssl gnupg 31 | 32 | ENV PATH=$PATH:$LEIN_INSTALL 33 | ENV LEIN_ROOT 1 34 | 35 | # Install clojure 1.12.0 so users don't have to download it every time 36 | RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.0"]])' > project.clj \ 37 | && lein deps && rm project.clj 38 | 39 | COPY entrypoint /usr/local/bin/entrypoint 40 | 41 | ENTRYPOINT ["entrypoint"] 42 | CMD ["repl"] 43 | -------------------------------------------------------------------------------- /target/eclipse-temurin-17-jdk-alpine/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-17-jdk-alpine/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:17-jdk-alpine 2 | 3 | ENV CLOJURE_VERSION=1.12.1.1550 4 | 5 | WORKDIR /tmp 6 | 7 | RUN \ 8 | apk add --no-cache curl bash make git rlwrap && \ 9 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 10 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 11 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 12 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 13 | ./linux-install-$CLOJURE_VERSION.sh && \ 14 | rm linux-install-$CLOJURE_VERSION.sh && \ 15 | clojure -e "(clojure-version)" && \ 16 | apk del curl 17 | 18 | # Docker bug makes rlwrap crash w/o short sleep first 19 | # Bug: https://github.com/moby/moby/issues/28009 20 | # As of 2021-09-10 this bug still exists, despite that issue being closed 21 | COPY rlwrap.retry /usr/local/bin/rlwrap 22 | 23 | COPY entrypoint /usr/local/bin/entrypoint 24 | 25 | ENTRYPOINT ["entrypoint"] 26 | CMD ["-M", "--repl"] 27 | -------------------------------------------------------------------------------- /target/eclipse-temurin-17-jdk-alpine/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-17-jdk-alpine/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/eclipse-temurin-17-jdk-jammy/lein/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:17-jdk-jammy 2 | 3 | ENV LEIN_VERSION=2.11.2 4 | ENV LEIN_INSTALL=/usr/local/bin/ 5 | 6 | WORKDIR /tmp 7 | 8 | # Download the whole repo as an archive 9 | RUN set -eux; \ 10 | apt-get update && \ 11 | apt-get install -y make git gnupg wget && \ 12 | rm -rf /var/lib/apt/lists/* && \ 13 | mkdir -p $LEIN_INSTALL && \ 14 | wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ 15 | echo "Comparing lein-pkg checksum ..." && \ 16 | sha256sum lein-pkg && \ 17 | echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ 18 | mv lein-pkg $LEIN_INSTALL/lein && \ 19 | chmod 0755 $LEIN_INSTALL/lein && \ 20 | export GNUPGHOME="$(mktemp -d)" && \ 21 | export FILENAME_EXT=jar && \ 22 | gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ 23 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 24 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 25 | echo "Verifying file PGP signature..." && \ 26 | gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 27 | gpgconf --kill all && \ 28 | rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 29 | mkdir -p /usr/share/java && \ 30 | mkdir -p /root/.lein && \ 31 | mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ 32 | apt-get purge -y --auto-remove gnupg wget 33 | 34 | ENV PATH=$PATH:$LEIN_INSTALL 35 | ENV LEIN_ROOT 1 36 | 37 | # Install clojure 1.12.0 so users don't have to download it every time 38 | RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.0"]])' > project.clj \ 39 | && lein deps && rm project.clj 40 | 41 | COPY entrypoint /usr/local/bin/entrypoint 42 | 43 | ENTRYPOINT ["entrypoint"] 44 | CMD ["repl"] 45 | -------------------------------------------------------------------------------- /target/eclipse-temurin-17-jdk-jammy/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-17-jdk-jammy/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:17-jdk-jammy 2 | 3 | ENV CLOJURE_VERSION=1.12.1.1550 4 | 5 | WORKDIR /tmp 6 | 7 | RUN \ 8 | apt-get update && \ 9 | apt-get install -y curl make git rlwrap && \ 10 | rm -rf /var/lib/apt/lists/* && \ 11 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 12 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 13 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 14 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 15 | ./linux-install-$CLOJURE_VERSION.sh && \ 16 | rm linux-install-$CLOJURE_VERSION.sh && \ 17 | clojure -e "(clojure-version)" 18 | 19 | # Docker bug makes rlwrap crash w/o short sleep first 20 | # Bug: https://github.com/moby/moby/issues/28009 21 | # As of 2021-09-10 this bug still exists, despite that issue being closed 22 | COPY rlwrap.retry /usr/local/bin/rlwrap 23 | 24 | COPY entrypoint /usr/local/bin/entrypoint 25 | 26 | ENTRYPOINT ["entrypoint"] 27 | CMD ["-M", "--repl"] 28 | -------------------------------------------------------------------------------- /target/eclipse-temurin-17-jdk-jammy/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-17-jdk-jammy/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/eclipse-temurin-17-jdk-noble/lein/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:17-jdk-noble 2 | 3 | ENV LEIN_VERSION=2.11.2 4 | ENV LEIN_INSTALL=/usr/local/bin/ 5 | 6 | WORKDIR /tmp 7 | 8 | # Download the whole repo as an archive 9 | RUN set -eux; \ 10 | apt-get update && \ 11 | apt-get install -y make git gnupg wget && \ 12 | rm -rf /var/lib/apt/lists/* && \ 13 | mkdir -p $LEIN_INSTALL && \ 14 | wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ 15 | echo "Comparing lein-pkg checksum ..." && \ 16 | sha256sum lein-pkg && \ 17 | echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ 18 | mv lein-pkg $LEIN_INSTALL/lein && \ 19 | chmod 0755 $LEIN_INSTALL/lein && \ 20 | export GNUPGHOME="$(mktemp -d)" && \ 21 | export FILENAME_EXT=jar && \ 22 | gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ 23 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 24 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 25 | echo "Verifying file PGP signature..." && \ 26 | gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 27 | gpgconf --kill all && \ 28 | rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 29 | mkdir -p /usr/share/java && \ 30 | mkdir -p /root/.lein && \ 31 | mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ 32 | apt-get purge -y --auto-remove gnupg wget 33 | 34 | ENV PATH=$PATH:$LEIN_INSTALL 35 | ENV LEIN_ROOT 1 36 | 37 | # Install clojure 1.12.0 so users don't have to download it every time 38 | RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.0"]])' > project.clj \ 39 | && lein deps && rm project.clj 40 | 41 | COPY entrypoint /usr/local/bin/entrypoint 42 | 43 | ENTRYPOINT ["entrypoint"] 44 | CMD ["repl"] 45 | -------------------------------------------------------------------------------- /target/eclipse-temurin-17-jdk-noble/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-17-jdk-noble/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:17-jdk-noble 2 | 3 | ENV CLOJURE_VERSION=1.12.1.1550 4 | 5 | WORKDIR /tmp 6 | 7 | RUN \ 8 | apt-get update && \ 9 | apt-get install -y curl make git rlwrap && \ 10 | rm -rf /var/lib/apt/lists/* && \ 11 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 12 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 13 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 14 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 15 | ./linux-install-$CLOJURE_VERSION.sh && \ 16 | rm linux-install-$CLOJURE_VERSION.sh && \ 17 | clojure -e "(clojure-version)" 18 | 19 | # Docker bug makes rlwrap crash w/o short sleep first 20 | # Bug: https://github.com/moby/moby/issues/28009 21 | # As of 2021-09-10 this bug still exists, despite that issue being closed 22 | COPY rlwrap.retry /usr/local/bin/rlwrap 23 | 24 | COPY entrypoint /usr/local/bin/entrypoint 25 | 26 | ENTRYPOINT ["entrypoint"] 27 | CMD ["-M", "--repl"] 28 | -------------------------------------------------------------------------------- /target/eclipse-temurin-17-jdk-noble/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-17-jdk-noble/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/eclipse-temurin-21-jdk-alpine/lein/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:21-jdk-alpine 2 | 3 | ENV LEIN_VERSION=2.11.2 4 | ENV LEIN_INSTALL=/usr/local/bin/ 5 | 6 | WORKDIR /tmp 7 | 8 | # Download the whole repo as an archive 9 | RUN set -eux; \ 10 | apk add --no-cache ca-certificates bash tar openssl git gnupg && \ 11 | mkdir -p $LEIN_INSTALL && \ 12 | wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ 13 | echo "Comparing lein-pkg checksum ..." && \ 14 | sha256sum lein-pkg && \ 15 | echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ 16 | mv lein-pkg $LEIN_INSTALL/lein && \ 17 | chmod 0755 $LEIN_INSTALL/lein && \ 18 | export GNUPGHOME="$(mktemp -d)" && \ 19 | export FILENAME_EXT=jar && \ 20 | gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ 21 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 22 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 23 | echo "Verifying file PGP signature..." && \ 24 | gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 25 | gpgconf --kill all && \ 26 | rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 27 | mkdir -p /usr/share/java && \ 28 | mkdir -p /root/.lein && \ 29 | mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ 30 | apk del ca-certificates tar openssl gnupg 31 | 32 | ENV PATH=$PATH:$LEIN_INSTALL 33 | ENV LEIN_ROOT 1 34 | 35 | # Install clojure 1.12.0 so users don't have to download it every time 36 | RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.0"]])' > project.clj \ 37 | && lein deps && rm project.clj 38 | 39 | COPY entrypoint /usr/local/bin/entrypoint 40 | 41 | ENTRYPOINT ["entrypoint"] 42 | CMD ["repl"] 43 | -------------------------------------------------------------------------------- /target/eclipse-temurin-21-jdk-alpine/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-21-jdk-alpine/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:21-jdk-alpine 2 | 3 | ENV CLOJURE_VERSION=1.12.1.1550 4 | 5 | WORKDIR /tmp 6 | 7 | RUN \ 8 | apk add --no-cache curl bash make git rlwrap && \ 9 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 10 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 11 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 12 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 13 | ./linux-install-$CLOJURE_VERSION.sh && \ 14 | rm linux-install-$CLOJURE_VERSION.sh && \ 15 | clojure -e "(clojure-version)" && \ 16 | apk del curl 17 | 18 | # Docker bug makes rlwrap crash w/o short sleep first 19 | # Bug: https://github.com/moby/moby/issues/28009 20 | # As of 2021-09-10 this bug still exists, despite that issue being closed 21 | COPY rlwrap.retry /usr/local/bin/rlwrap 22 | 23 | COPY entrypoint /usr/local/bin/entrypoint 24 | 25 | ENTRYPOINT ["entrypoint"] 26 | CMD ["-M", "--repl"] 27 | -------------------------------------------------------------------------------- /target/eclipse-temurin-21-jdk-alpine/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-21-jdk-alpine/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/eclipse-temurin-21-jdk-jammy/lein/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:21-jdk-jammy 2 | 3 | ENV LEIN_VERSION=2.11.2 4 | ENV LEIN_INSTALL=/usr/local/bin/ 5 | 6 | WORKDIR /tmp 7 | 8 | # Download the whole repo as an archive 9 | RUN set -eux; \ 10 | apt-get update && \ 11 | apt-get install -y make git gnupg wget && \ 12 | rm -rf /var/lib/apt/lists/* && \ 13 | mkdir -p $LEIN_INSTALL && \ 14 | wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ 15 | echo "Comparing lein-pkg checksum ..." && \ 16 | sha256sum lein-pkg && \ 17 | echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ 18 | mv lein-pkg $LEIN_INSTALL/lein && \ 19 | chmod 0755 $LEIN_INSTALL/lein && \ 20 | export GNUPGHOME="$(mktemp -d)" && \ 21 | export FILENAME_EXT=jar && \ 22 | gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ 23 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 24 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 25 | echo "Verifying file PGP signature..." && \ 26 | gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 27 | gpgconf --kill all && \ 28 | rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 29 | mkdir -p /usr/share/java && \ 30 | mkdir -p /root/.lein && \ 31 | mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ 32 | apt-get purge -y --auto-remove gnupg wget 33 | 34 | ENV PATH=$PATH:$LEIN_INSTALL 35 | ENV LEIN_ROOT 1 36 | 37 | # Install clojure 1.12.0 so users don't have to download it every time 38 | RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.0"]])' > project.clj \ 39 | && lein deps && rm project.clj 40 | 41 | COPY entrypoint /usr/local/bin/entrypoint 42 | 43 | ENTRYPOINT ["entrypoint"] 44 | CMD ["repl"] 45 | -------------------------------------------------------------------------------- /target/eclipse-temurin-21-jdk-jammy/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-21-jdk-jammy/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:21-jdk-jammy 2 | 3 | ENV CLOJURE_VERSION=1.12.1.1550 4 | 5 | WORKDIR /tmp 6 | 7 | RUN \ 8 | apt-get update && \ 9 | apt-get install -y curl make git rlwrap && \ 10 | rm -rf /var/lib/apt/lists/* && \ 11 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 12 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 13 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 14 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 15 | ./linux-install-$CLOJURE_VERSION.sh && \ 16 | rm linux-install-$CLOJURE_VERSION.sh && \ 17 | clojure -e "(clojure-version)" 18 | 19 | # Docker bug makes rlwrap crash w/o short sleep first 20 | # Bug: https://github.com/moby/moby/issues/28009 21 | # As of 2021-09-10 this bug still exists, despite that issue being closed 22 | COPY rlwrap.retry /usr/local/bin/rlwrap 23 | 24 | COPY entrypoint /usr/local/bin/entrypoint 25 | 26 | ENTRYPOINT ["entrypoint"] 27 | CMD ["-M", "--repl"] 28 | -------------------------------------------------------------------------------- /target/eclipse-temurin-21-jdk-jammy/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-21-jdk-jammy/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/eclipse-temurin-21-jdk-noble/lein/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:21-jdk-noble 2 | 3 | ENV LEIN_VERSION=2.11.2 4 | ENV LEIN_INSTALL=/usr/local/bin/ 5 | 6 | WORKDIR /tmp 7 | 8 | # Download the whole repo as an archive 9 | RUN set -eux; \ 10 | apt-get update && \ 11 | apt-get install -y make git gnupg wget && \ 12 | rm -rf /var/lib/apt/lists/* && \ 13 | mkdir -p $LEIN_INSTALL && \ 14 | wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ 15 | echo "Comparing lein-pkg checksum ..." && \ 16 | sha256sum lein-pkg && \ 17 | echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ 18 | mv lein-pkg $LEIN_INSTALL/lein && \ 19 | chmod 0755 $LEIN_INSTALL/lein && \ 20 | export GNUPGHOME="$(mktemp -d)" && \ 21 | export FILENAME_EXT=jar && \ 22 | gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ 23 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 24 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 25 | echo "Verifying file PGP signature..." && \ 26 | gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 27 | gpgconf --kill all && \ 28 | rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 29 | mkdir -p /usr/share/java && \ 30 | mkdir -p /root/.lein && \ 31 | mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ 32 | apt-get purge -y --auto-remove gnupg wget 33 | 34 | ENV PATH=$PATH:$LEIN_INSTALL 35 | ENV LEIN_ROOT 1 36 | 37 | # Install clojure 1.12.0 so users don't have to download it every time 38 | RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.0"]])' > project.clj \ 39 | && lein deps && rm project.clj 40 | 41 | COPY entrypoint /usr/local/bin/entrypoint 42 | 43 | ENTRYPOINT ["entrypoint"] 44 | CMD ["repl"] 45 | -------------------------------------------------------------------------------- /target/eclipse-temurin-21-jdk-noble/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-21-jdk-noble/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:21-jdk-noble 2 | 3 | ENV CLOJURE_VERSION=1.12.1.1550 4 | 5 | WORKDIR /tmp 6 | 7 | RUN \ 8 | apt-get update && \ 9 | apt-get install -y curl make git rlwrap && \ 10 | rm -rf /var/lib/apt/lists/* && \ 11 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 12 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 13 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 14 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 15 | ./linux-install-$CLOJURE_VERSION.sh && \ 16 | rm linux-install-$CLOJURE_VERSION.sh && \ 17 | clojure -e "(clojure-version)" 18 | 19 | # Docker bug makes rlwrap crash w/o short sleep first 20 | # Bug: https://github.com/moby/moby/issues/28009 21 | # As of 2021-09-10 this bug still exists, despite that issue being closed 22 | COPY rlwrap.retry /usr/local/bin/rlwrap 23 | 24 | COPY entrypoint /usr/local/bin/entrypoint 25 | 26 | ENTRYPOINT ["entrypoint"] 27 | CMD ["-M", "--repl"] 28 | -------------------------------------------------------------------------------- /target/eclipse-temurin-21-jdk-noble/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-21-jdk-noble/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/eclipse-temurin-24-jdk-alpine/lein/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:24-jdk-alpine 2 | 3 | ENV LEIN_VERSION=2.11.2 4 | ENV LEIN_INSTALL=/usr/local/bin/ 5 | 6 | WORKDIR /tmp 7 | 8 | # Download the whole repo as an archive 9 | RUN set -eux; \ 10 | apk add --no-cache ca-certificates bash tar openssl git gnupg && \ 11 | mkdir -p $LEIN_INSTALL && \ 12 | wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ 13 | echo "Comparing lein-pkg checksum ..." && \ 14 | sha256sum lein-pkg && \ 15 | echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ 16 | mv lein-pkg $LEIN_INSTALL/lein && \ 17 | chmod 0755 $LEIN_INSTALL/lein && \ 18 | export GNUPGHOME="$(mktemp -d)" && \ 19 | export FILENAME_EXT=jar && \ 20 | gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ 21 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 22 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 23 | echo "Verifying file PGP signature..." && \ 24 | gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 25 | gpgconf --kill all && \ 26 | rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 27 | mkdir -p /usr/share/java && \ 28 | mkdir -p /root/.lein && \ 29 | mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ 30 | apk del ca-certificates tar openssl gnupg 31 | 32 | ENV PATH=$PATH:$LEIN_INSTALL 33 | ENV LEIN_ROOT 1 34 | 35 | # Install clojure 1.12.0 so users don't have to download it every time 36 | RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.0"]])' > project.clj \ 37 | && lein deps && rm project.clj 38 | 39 | COPY entrypoint /usr/local/bin/entrypoint 40 | 41 | ENTRYPOINT ["entrypoint"] 42 | CMD ["repl"] 43 | -------------------------------------------------------------------------------- /target/eclipse-temurin-24-jdk-alpine/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-24-jdk-alpine/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:24-jdk-alpine 2 | 3 | ENV CLOJURE_VERSION=1.12.1.1550 4 | 5 | WORKDIR /tmp 6 | 7 | RUN \ 8 | apk add --no-cache curl bash make git rlwrap && \ 9 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 10 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 11 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 12 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 13 | ./linux-install-$CLOJURE_VERSION.sh && \ 14 | rm linux-install-$CLOJURE_VERSION.sh && \ 15 | clojure -e "(clojure-version)" && \ 16 | apk del curl 17 | 18 | # Docker bug makes rlwrap crash w/o short sleep first 19 | # Bug: https://github.com/moby/moby/issues/28009 20 | # As of 2021-09-10 this bug still exists, despite that issue being closed 21 | COPY rlwrap.retry /usr/local/bin/rlwrap 22 | 23 | COPY entrypoint /usr/local/bin/entrypoint 24 | 25 | ENTRYPOINT ["entrypoint"] 26 | CMD ["-M", "--repl"] 27 | -------------------------------------------------------------------------------- /target/eclipse-temurin-24-jdk-alpine/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-24-jdk-alpine/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/eclipse-temurin-24-jdk-noble/lein/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:24-jdk-noble 2 | 3 | ENV LEIN_VERSION=2.11.2 4 | ENV LEIN_INSTALL=/usr/local/bin/ 5 | 6 | WORKDIR /tmp 7 | 8 | # Download the whole repo as an archive 9 | RUN set -eux; \ 10 | apt-get update && \ 11 | apt-get install -y make git gnupg wget && \ 12 | rm -rf /var/lib/apt/lists/* && \ 13 | mkdir -p $LEIN_INSTALL && \ 14 | wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ 15 | echo "Comparing lein-pkg checksum ..." && \ 16 | sha256sum lein-pkg && \ 17 | echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ 18 | mv lein-pkg $LEIN_INSTALL/lein && \ 19 | chmod 0755 $LEIN_INSTALL/lein && \ 20 | export GNUPGHOME="$(mktemp -d)" && \ 21 | export FILENAME_EXT=jar && \ 22 | gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ 23 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 24 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 25 | echo "Verifying file PGP signature..." && \ 26 | gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 27 | gpgconf --kill all && \ 28 | rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 29 | mkdir -p /usr/share/java && \ 30 | mkdir -p /root/.lein && \ 31 | mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ 32 | apt-get purge -y --auto-remove gnupg wget 33 | 34 | ENV PATH=$PATH:$LEIN_INSTALL 35 | ENV LEIN_ROOT 1 36 | 37 | # Install clojure 1.12.0 so users don't have to download it every time 38 | RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.0"]])' > project.clj \ 39 | && lein deps && rm project.clj 40 | 41 | COPY entrypoint /usr/local/bin/entrypoint 42 | 43 | ENTRYPOINT ["entrypoint"] 44 | CMD ["repl"] 45 | -------------------------------------------------------------------------------- /target/eclipse-temurin-24-jdk-noble/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-24-jdk-noble/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:24-jdk-noble 2 | 3 | ENV CLOJURE_VERSION=1.12.1.1550 4 | 5 | WORKDIR /tmp 6 | 7 | RUN \ 8 | apt-get update && \ 9 | apt-get install -y curl make git rlwrap && \ 10 | rm -rf /var/lib/apt/lists/* && \ 11 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 12 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 13 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 14 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 15 | ./linux-install-$CLOJURE_VERSION.sh && \ 16 | rm linux-install-$CLOJURE_VERSION.sh && \ 17 | clojure -e "(clojure-version)" 18 | 19 | # Docker bug makes rlwrap crash w/o short sleep first 20 | # Bug: https://github.com/moby/moby/issues/28009 21 | # As of 2021-09-10 this bug still exists, despite that issue being closed 22 | COPY rlwrap.retry /usr/local/bin/rlwrap 23 | 24 | COPY entrypoint /usr/local/bin/entrypoint 25 | 26 | ENTRYPOINT ["entrypoint"] 27 | CMD ["-M", "--repl"] 28 | -------------------------------------------------------------------------------- /target/eclipse-temurin-24-jdk-noble/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-24-jdk-noble/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/eclipse-temurin-8-jdk-alpine/lein/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:8-jdk-alpine 2 | 3 | ENV LEIN_VERSION=2.11.2 4 | ENV LEIN_INSTALL=/usr/local/bin/ 5 | 6 | WORKDIR /tmp 7 | 8 | # Download the whole repo as an archive 9 | RUN set -eux; \ 10 | apk add --no-cache ca-certificates bash tar openssl git gnupg && \ 11 | mkdir -p $LEIN_INSTALL && \ 12 | wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ 13 | echo "Comparing lein-pkg checksum ..." && \ 14 | sha256sum lein-pkg && \ 15 | echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ 16 | mv lein-pkg $LEIN_INSTALL/lein && \ 17 | chmod 0755 $LEIN_INSTALL/lein && \ 18 | export GNUPGHOME="$(mktemp -d)" && \ 19 | export FILENAME_EXT=jar && \ 20 | gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ 21 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 22 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 23 | echo "Verifying file PGP signature..." && \ 24 | gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 25 | gpgconf --kill all && \ 26 | rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 27 | mkdir -p /usr/share/java && \ 28 | mkdir -p /root/.lein && \ 29 | mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ 30 | apk del ca-certificates tar openssl gnupg 31 | 32 | ENV PATH=$PATH:$LEIN_INSTALL 33 | ENV LEIN_ROOT 1 34 | 35 | # Install clojure 1.12.0 so users don't have to download it every time 36 | RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.0"]])' > project.clj \ 37 | && lein deps && rm project.clj 38 | 39 | CMD ["lein", "repl"] 40 | -------------------------------------------------------------------------------- /target/eclipse-temurin-8-jdk-alpine/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-8-jdk-alpine/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:8-jdk-alpine 2 | 3 | ENV CLOJURE_VERSION=1.12.1.1550 4 | 5 | WORKDIR /tmp 6 | 7 | RUN \ 8 | apk add --no-cache curl bash make git rlwrap && \ 9 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 10 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 11 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 12 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 13 | ./linux-install-$CLOJURE_VERSION.sh && \ 14 | rm linux-install-$CLOJURE_VERSION.sh && \ 15 | clojure -e "(clojure-version)" && \ 16 | apk del curl 17 | 18 | # Docker bug makes rlwrap crash w/o short sleep first 19 | # Bug: https://github.com/moby/moby/issues/28009 20 | # As of 2021-09-10 this bug still exists, despite that issue being closed 21 | COPY rlwrap.retry /usr/local/bin/rlwrap 22 | 23 | CMD ["clj"] 24 | -------------------------------------------------------------------------------- /target/eclipse-temurin-8-jdk-alpine/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-8-jdk-alpine/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/eclipse-temurin-8-jdk-jammy/lein/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:8-jdk-jammy 2 | 3 | ENV LEIN_VERSION=2.11.2 4 | ENV LEIN_INSTALL=/usr/local/bin/ 5 | 6 | WORKDIR /tmp 7 | 8 | # Download the whole repo as an archive 9 | RUN set -eux; \ 10 | apt-get update && \ 11 | apt-get install -y make git gnupg wget && \ 12 | rm -rf /var/lib/apt/lists/* && \ 13 | mkdir -p $LEIN_INSTALL && \ 14 | wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ 15 | echo "Comparing lein-pkg checksum ..." && \ 16 | sha256sum lein-pkg && \ 17 | echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ 18 | mv lein-pkg $LEIN_INSTALL/lein && \ 19 | chmod 0755 $LEIN_INSTALL/lein && \ 20 | export GNUPGHOME="$(mktemp -d)" && \ 21 | export FILENAME_EXT=jar && \ 22 | gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ 23 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 24 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 25 | echo "Verifying file PGP signature..." && \ 26 | gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 27 | gpgconf --kill all && \ 28 | rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 29 | mkdir -p /usr/share/java && \ 30 | mkdir -p /root/.lein && \ 31 | mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ 32 | apt-get purge -y --auto-remove gnupg wget 33 | 34 | ENV PATH=$PATH:$LEIN_INSTALL 35 | ENV LEIN_ROOT 1 36 | 37 | # Install clojure 1.12.0 so users don't have to download it every time 38 | RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.0"]])' > project.clj \ 39 | && lein deps && rm project.clj 40 | 41 | CMD ["lein", "repl"] 42 | -------------------------------------------------------------------------------- /target/eclipse-temurin-8-jdk-jammy/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-8-jdk-jammy/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:8-jdk-jammy 2 | 3 | ENV CLOJURE_VERSION=1.12.1.1550 4 | 5 | WORKDIR /tmp 6 | 7 | RUN \ 8 | apt-get update && \ 9 | apt-get install -y curl make git rlwrap && \ 10 | rm -rf /var/lib/apt/lists/* && \ 11 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 12 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 13 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 14 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 15 | ./linux-install-$CLOJURE_VERSION.sh && \ 16 | rm linux-install-$CLOJURE_VERSION.sh && \ 17 | clojure -e "(clojure-version)" 18 | 19 | # Docker bug makes rlwrap crash w/o short sleep first 20 | # Bug: https://github.com/moby/moby/issues/28009 21 | # As of 2021-09-10 this bug still exists, despite that issue being closed 22 | COPY rlwrap.retry /usr/local/bin/rlwrap 23 | 24 | CMD ["clj"] 25 | -------------------------------------------------------------------------------- /target/eclipse-temurin-8-jdk-jammy/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-8-jdk-jammy/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /target/eclipse-temurin-8-jdk-noble/lein/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:8-jdk-noble 2 | 3 | ENV LEIN_VERSION=2.11.2 4 | ENV LEIN_INSTALL=/usr/local/bin/ 5 | 6 | WORKDIR /tmp 7 | 8 | # Download the whole repo as an archive 9 | RUN set -eux; \ 10 | apt-get update && \ 11 | apt-get install -y make git gnupg wget && \ 12 | rm -rf /var/lib/apt/lists/* && \ 13 | mkdir -p $LEIN_INSTALL && \ 14 | wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \ 15 | echo "Comparing lein-pkg checksum ..." && \ 16 | sha256sum lein-pkg && \ 17 | echo "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e *lein-pkg" | sha256sum -c - && \ 18 | mv lein-pkg $LEIN_INSTALL/lein && \ 19 | chmod 0755 $LEIN_INSTALL/lein && \ 20 | export GNUPGHOME="$(mktemp -d)" && \ 21 | export FILENAME_EXT=jar && \ 22 | gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \ 23 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 24 | wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 25 | echo "Verifying file PGP signature..." && \ 26 | gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \ 27 | gpgconf --kill all && \ 28 | rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \ 29 | mkdir -p /usr/share/java && \ 30 | mkdir -p /root/.lein && \ 31 | mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \ 32 | apt-get purge -y --auto-remove gnupg wget 33 | 34 | ENV PATH=$PATH:$LEIN_INSTALL 35 | ENV LEIN_ROOT 1 36 | 37 | # Install clojure 1.12.0 so users don't have to download it every time 38 | RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.0"]])' > project.clj \ 39 | && lein deps && rm project.clj 40 | 41 | CMD ["lein", "repl"] 42 | -------------------------------------------------------------------------------- /target/eclipse-temurin-8-jdk-noble/lein/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=lein 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-8-jdk-noble/tools-deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM eclipse-temurin:8-jdk-noble 2 | 3 | ENV CLOJURE_VERSION=1.12.1.1550 4 | 5 | WORKDIR /tmp 6 | 7 | RUN \ 8 | apt-get update && \ 9 | apt-get install -y curl make git rlwrap && \ 10 | rm -rf /var/lib/apt/lists/* && \ 11 | curl -fsSLO https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh && \ 12 | sha256sum linux-install-$CLOJURE_VERSION.sh && \ 13 | echo "aea202cd0573d79fd8b7db1b608762645a8f93006a86bc817ec130bed1d9707d *linux-install-$CLOJURE_VERSION.sh" | sha256sum -c - && \ 14 | chmod +x linux-install-$CLOJURE_VERSION.sh && \ 15 | ./linux-install-$CLOJURE_VERSION.sh && \ 16 | rm linux-install-$CLOJURE_VERSION.sh && \ 17 | clojure -e "(clojure-version)" 18 | 19 | # Docker bug makes rlwrap crash w/o short sleep first 20 | # Bug: https://github.com/moby/moby/issues/28009 21 | # As of 2021-09-10 this bug still exists, despite that issue being closed 22 | COPY rlwrap.retry /usr/local/bin/rlwrap 23 | 24 | CMD ["clj"] 25 | -------------------------------------------------------------------------------- /target/eclipse-temurin-8-jdk-noble/tools-deps/entrypoint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eou pipefail 4 | 5 | entrypoint=clj 6 | 7 | cmd=${1:-} 8 | 9 | # check if the first arg starts with a hyphen 10 | if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then 11 | exec "${entrypoint}" "$@" 12 | fi 13 | 14 | if [[ -n "${cmd}" ]]; then 15 | # see if help for the subcommand is successful 16 | if "${entrypoint}" "${cmd}" --help >/dev/null 2>&1; then 17 | exec "${entrypoint}" "$@" 18 | fi 19 | fi 20 | 21 | exec "$@" 22 | -------------------------------------------------------------------------------- /target/eclipse-temurin-8-jdk-noble/tools-deps/rlwrap.retry: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script works around a Docker bug that prevents rlwrap from starting 4 | # right when a container is first started. It is intended to replace 5 | # /usr/bin/rlwrap and also be named rlwrap but earlier in the PATH 6 | # (e.g. /usr/local/bin). 7 | 8 | max_tries=100 # 100 tries is ~1 second 9 | try=0 10 | 11 | while true; do 12 | # see if rlwrap can start at all 13 | output=$(/usr/bin/rlwrap true 2>&1 >/dev/null) 14 | exit_code=$? 15 | if [ $exit_code -gt 0 ]; then 16 | # it didn't start 17 | try=$((try+1)) 18 | if [ $try -gt $max_tries ]; then 19 | # we're at max attempts so output the error and exit w/ the same code 20 | echo "$output" >&2 21 | exit $exit_code 22 | else 23 | # wait a bit and try again 24 | sleep 0.01 25 | fi 26 | else 27 | # rlwrap can start so let's run it for real 28 | exec /usr/bin/rlwrap "$@" 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /test/docker_clojure/fix_kaocha.clj: -------------------------------------------------------------------------------- 1 | (ns docker-clojure.fix-kaocha 2 | "Kaocha often has bugs with tools-deps exec-fn usage because they have two 3 | different entry points (and one doesn't use the other). They insist on 4 | everyone using a `bin/kaocha` script to run their tests even though that is 5 | inconsistent with most Clojure tooling idioms. This ns exists to work around 6 | bugs we encounter and make kaocha behave better." 7 | (:require [clojure.spec.alpha :as spec] 8 | [expound.alpha :as expound] 9 | [kaocha.runner :as kaocha])) 10 | 11 | (defn run-tests 12 | [opts] 13 | ;; work around https://github.com/lambdaisland/kaocha/issues/445 14 | (binding [spec/*explain-out* expound/printer] 15 | (kaocha/exec-fn opts))) 16 | -------------------------------------------------------------------------------- /test/docker_clojure/manifest_test.clj: -------------------------------------------------------------------------------- 1 | (ns docker-clojure.manifest-test 2 | (:require [clojure.test :refer [deftest is are testing]] 3 | [docker-clojure.manifest :refer [variant->manifest]])) 4 | 5 | (deftest variant->manifest-test 6 | (testing "generates the correct manifest text for a variant" 7 | (is (= "\nTags: temurin-17-noble, temurin-17-tools-deps, temurin-17-tools-deps-1.10.1.478, temurin-17-tools-deps-1.10.1.478-noble, temurin-17-tools-deps-noble\nDirectory: target/eclipse-temurin-17-jdk-noble/tools-deps" 8 | (variant->manifest 9 | {:jdk-version 17, :distro :ubuntu/noble 10 | :base-image "eclipse-temurin" 11 | :base-image-tag "eclipse-temurin:17-jdk-noble" 12 | :build-tool "tools-deps" 13 | :maintainer "Paul Lam

& Wes Morgan " 14 | :docker-tag "temurin-17-tools-deps-1.10.1.478" 15 | :build-tool-version "1.10.1.478"}))))) 16 | -------------------------------------------------------------------------------- /tests.edn: -------------------------------------------------------------------------------- 1 | #kaocha/v1 {:plugins [:kaocha.plugin.alpha/spec-test-check]} 2 | --------------------------------------------------------------------------------