@@ -6,42 +6,39 @@ ENV PATH="${JAVA_HOME}/bin:${PATH}"
66
77
88# ## INSTALL LEIN ###
9- ENV LEIN_VERSION=2.12 .0
9+ ENV LEIN_VERSION=2.13 .0
1010ENV LEIN_INSTALL=/usr/local/bin/
1111
1212WORKDIR /tmp
1313
14- # Download the whole repo as an archive
14+ # No standalone uberjar is published for this version, so build it from source.
15+ # Verify Leiningen's GPG-signed release tag, then bootstrap leiningen-core's
16+ # dependencies with Maven and run `lein uberjar`.
1517RUN set -eux; \
1618apt-get update && \
17- apt-get install -y make gnupg wget && \
19+ apt-get install -y make maven git gnupg && \
1820rm -rf /var/lib/apt/lists/* && \
19- mkdir -p $LEIN_INSTALL && \
20- wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg && \
21- echo "Comparing lein-pkg checksum ..." && \
22- sha256sum lein-pkg && \
23- echo "12a9c5e3a2471619ca3d64a7462f920fdf713ae8959eb4fcd6257c23332b5aa4 *lein-pkg" | sha256sum -c - && \
24- mv lein-pkg $LEIN_INSTALL/lein && \
25- chmod 0755 $LEIN_INSTALL/lein && \
2621export GNUPGHOME="$(mktemp -d)" && \
27- export FILENAME_EXT=jar && \
22+ export LEIN_ROOT=1 && \
23+ mkdir -p $LEIN_INSTALL /usr/share/java /root/.lein && \
2824gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 9D13D9426A0814B3373CF5E3D8A8243577A7859F && \
29- wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \
30- wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \
31- echo "Verifying file PGP signature..." && \
32- gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT && \
25+ git clone --depth 1 --branch $LEIN_VERSION https://codeberg.org/leiningen/leiningen.git && \
26+ cd leiningen && \
27+ git verify-tag $LEIN_VERSION && \
28+ ( cd leiningen-core && mvn -B -q -DskipTests install && mvn -B -q dependency:build-classpath -Dmdep.outputFile=.lein-bootstrap ) && \
29+ bin/lein uberjar && \
30+ install -m 0644 target/leiningen-$LEIN_VERSION-standalone.jar /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \
31+ install -m 0755 bin/lein-pkg $LEIN_INSTALL/lein && \
3332gpgconf --kill all && \
34- rm -rf "$GNUPGHOME" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc && \
35- mkdir -p /usr/share/java && \
36- mkdir -p /root/.lein && \
37- mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar && \
38- apt-get purge -y --auto-remove gnupg wget
33+ cd /tmp && \
34+ rm -rf /tmp/leiningen /root/.m2 "$GNUPGHOME" && \
35+ apt-get purge -y --auto-remove maven git gnupg
3936
4037ENV PATH=$PATH:$LEIN_INSTALL
41- ENV LEIN_ROOT 1
38+ ENV LEIN_ROOT= 1
4239
43- # Install clojure 1.12.1 so users don't have to download it every time
44- RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.1 "]])' > project.clj \
40+ # Install clojure 1.12.5 so users don't have to download it every time
41+ RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.12.5 "]])' > project.clj \
4542 && lein deps && rm project.clj
4643
4744# ## INSTALL TOOLS-DEPS ###
@@ -70,5 +67,4 @@ COPY rlwrap.retry /usr/local/bin/rlwrap
7067COPY entrypoint /usr/local/bin/entrypoint
7168
7269ENTRYPOINT ["entrypoint" ]
73-
7470CMD ["-M" , "--repl" ]
0 commit comments