| 
8 | 8 | 
 
  | 
9 | 9 | (def distro-deps  | 
10 | 10 |   {:debian-slim {:build   #{"wget" "gnupg"}  | 
11 |  | -                 :runtime #{"git"}}  | 
 | 11 | +                 :runtime #{}}  | 
12 | 12 |    :debian      {:build   #{"wget" "gnupg"}  | 
13 |  | -                 :runtime #{"make" "git"}}  | 
 | 13 | +                 :runtime #{"make"}}  | 
14 | 14 |    :ubuntu      {:build   #{"wget" "gnupg"}  | 
15 |  | -                 :runtime #{"make" "git"}}  | 
 | 15 | +                 :runtime #{"make"}}  | 
16 | 16 |    :alpine      {:build   #{"tar" "gnupg" "openssl" "ca-certificates"}  | 
17 |  | -                 :runtime #{"bash" "git"}}})  | 
 | 17 | +                 :runtime #{"bash"}}})  | 
18 | 18 | 
 
  | 
19 | 19 | (def install-deps (partial install-distro-deps distro-deps))  | 
20 | 20 | 
 
  | 
 | 
43 | 43 |          "RUN set -eux; \\"]  | 
44 | 44 |         (concat-commands install-dep-cmds)  | 
45 | 45 |         (concat-commands  | 
46 |  | -          ["mkdir -p $LEIN_INSTALL"  | 
47 |  | -           "wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg"  | 
48 |  | -           "echo \"Comparing lein-pkg checksum ...\""  | 
49 |  | -           "sha256sum lein-pkg"  | 
50 |  | -           (str "echo \"" (get-in installer-hashes ["lein" build-tool-version]) " *lein-pkg\" | sha256sum -c -")  | 
51 |  | -           "mv lein-pkg $LEIN_INSTALL/lein"  | 
52 |  | -           "chmod 0755 $LEIN_INSTALL/lein"  | 
53 |  | -           "export GNUPGHOME=\"$(mktemp -d)\""  | 
54 |  | -           "export FILENAME_EXT=jar" ; used to be zip but hopefully it's always jar now?  | 
55 |  | -           (str "gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys "  | 
56 |  | -                (gpg-key build-tool-version))  | 
57 |  | -           "wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT"  | 
58 |  | -           "wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc"  | 
59 |  | -           "echo \"Verifying file PGP signature...\""  | 
60 |  | -           "gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT"  | 
61 |  | -           "gpgconf --kill all"  | 
62 |  | -           "rm -rf \"$GNUPGHOME\" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc"  | 
63 |  | -           "mkdir -p /usr/share/java"  | 
64 |  | -           "mkdir -p /root/.lein"  | 
65 |  | -           "mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar"]  | 
66 |  | -          (empty? uninstall-dep-cmds))  | 
 | 46 | +         ["mkdir -p $LEIN_INSTALL"  | 
 | 47 | +          "wget -q https://codeberg.org/leiningen/leiningen/raw/tag/$LEIN_VERSION/bin/lein-pkg"  | 
 | 48 | +          "echo \"Comparing lein-pkg checksum ...\""  | 
 | 49 | +          "sha256sum lein-pkg"  | 
 | 50 | +          (str "echo \"" (get-in installer-hashes ["lein" build-tool-version]) " *lein-pkg\" | sha256sum -c -")  | 
 | 51 | +          "mv lein-pkg $LEIN_INSTALL/lein"  | 
 | 52 | +          "chmod 0755 $LEIN_INSTALL/lein"  | 
 | 53 | +          "export GNUPGHOME=\"$(mktemp -d)\""  | 
 | 54 | +          "export FILENAME_EXT=jar" ; used to be zip but hopefully it's always jar now?  | 
 | 55 | +          (str "gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys "  | 
 | 56 | +               (gpg-key build-tool-version))  | 
 | 57 | +          "wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT"  | 
 | 58 | +          "wget -q https://codeberg.org/leiningen/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc"  | 
 | 59 | +          "echo \"Verifying file PGP signature...\""  | 
 | 60 | +          "gpg --batch --verify leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT"  | 
 | 61 | +          "gpgconf --kill all"  | 
 | 62 | +          "rm -rf \"$GNUPGHOME\" leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT.asc"  | 
 | 63 | +          "mkdir -p /usr/share/java"  | 
 | 64 | +          "mkdir -p /root/.lein"  | 
 | 65 | +          "mv leiningen-$LEIN_VERSION-standalone.$FILENAME_EXT /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar"]  | 
 | 66 | +         (empty? uninstall-dep-cmds))  | 
67 | 67 |         (concat-commands uninstall-dep-cmds :end)  | 
68 | 68 |         (concat  | 
69 |  | -          [""  | 
70 |  | -           "ENV PATH=$PATH:$LEIN_INSTALL"  | 
71 |  | -           "ENV LEIN_ROOT 1"  | 
72 |  | -           ""  | 
73 |  | -           "# Install clojure 1.12.0 so users don't have to download it every time"  | 
74 |  | -           "RUN echo '(defproject dummy \"\" :dependencies [[org.clojure/clojure \"1.12.0\"]])' > project.clj \\"  | 
75 |  | -           "  && lein deps && rm project.clj"])  | 
 | 69 | +         [""  | 
 | 70 | +          "ENV PATH=$PATH:$LEIN_INSTALL"  | 
 | 71 | +          "ENV LEIN_ROOT 1"  | 
 | 72 | +          ""  | 
 | 73 | +          "# Install clojure 1.12.1 so users don't have to download it every time"  | 
 | 74 | +          "RUN echo '(defproject dummy \"\" :dependencies [[org.clojure/clojure \"1.12.1\"]])' > project.clj \\"  | 
 | 75 | +          "  && lein deps && rm project.clj"])  | 
76 | 76 | 
 
  | 
77 | 77 |         (->> (remove nil?)))))  | 
78 | 78 | 
 
  | 
 | 
0 commit comments