From f661c6b18b390045a20228fe416fe701fa146aae Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Tue, 19 Oct 2021 20:16:00 -0300 Subject: [PATCH] clojure: add passthru.updateScript --- .../interpreters/clojure/default.nix | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/clojure/default.nix b/pkgs/development/interpreters/clojure/default.nix index 4ce8cacb845..371700bd363 100644 --- a/pkgs/development/interpreters/clojure/default.nix +++ b/pkgs/development/interpreters/clojure/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, installShellFiles, jdk, rlwrap, makeWrapper }: +{ lib, stdenv, fetchurl, installShellFiles, jdk, rlwrap, makeWrapper, writeScript }: stdenv.mkDerivation rec { pname = "clojure"; @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { src = fetchurl { # https://clojure.org/releases/tools url = "https://download.clojure.org/install/clojure-tools-${version}.tar.gz"; - sha256 = "1xhfp186mk9h3jdl9bpkigqrrrgdhgij7ba65j6783nh11llpa3x"; + sha256 = "fahLaQjQDnSMLEatI+OD7eWc8YvzrkSbHDDNalC4DvY="; }; nativeBuildInputs = [ @@ -48,12 +48,29 @@ stdenv.mkDerivation rec { ''; doInstallCheck = true; + installCheckPhase = '' CLJ_CONFIG=$TMPDIR CLJ_CACHE=$TMPDIR/.clj_cache $out/bin/clojure \ -Spath \ -Sverbose \ -Scp $out/libexec/clojure-tools-${version}.jar ''; + + passthru.updateScript = writeScript "update-clojure" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p curl common-updater-scripts jq + + set -euo pipefail + + # `jq -r '.[0].name'` results in `v0.0` + readonly latest_version="$(curl \ + ''${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \ + -s "https://api.github.com/repos/clojure/brew-install/tags" \ + | jq -r '.[1].name')" + + update-source-version clojure "$latest_version" + ''; + meta = with lib; { description = "A Lisp dialect for the JVM"; homepage = "https://clojure.org/";