From 2e3c13c459af40de53bb9a3385497ea0bf280a53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Luis=20Lafuente?= Date: Fri, 12 Jun 2026 14:41:58 +0200 Subject: [PATCH] clojure: add versionCheckHook --- pkgs/by-name/cl/clojure/package.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/by-name/cl/clojure/package.nix b/pkgs/by-name/cl/clojure/package.nix index 89657a94199b..5e6ee69fd55c 100644 --- a/pkgs/by-name/cl/clojure/package.nix +++ b/pkgs/by-name/cl/clojure/package.nix @@ -10,7 +10,9 @@ rlwrap, makeWrapper, writeScript, + versionCheckHook, }: + stdenv.mkDerivation (finalAttrs: { pname = "clojure"; version = "1.12.5.1654"; @@ -31,6 +33,7 @@ stdenv.mkDerivation (finalAttrs: { ]; strictDeps = true; + __structuredAttrs = true; # See https://github.com/clojure/brew-install/blob/1.10.3/src/main/resources/clojure/install/linux-install.sh installPhase = @@ -69,11 +72,17 @@ stdenv.mkDerivation (finalAttrs: { doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + installCheckPhase = '' + runHook preInstallCheck + CLJ_CONFIG=$TMPDIR CLJ_CACHE=$TMPDIR/.clj_cache $out/bin/clojure \ -Spath \ -Sverbose \ -Scp $out/libexec/clojure-tools-${finalAttrs.version}.jar + + runHook postInstallCheck ''; passthru.updateScript = writeScript "update-clojure" '' @@ -99,6 +108,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://clojure.org/"; sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; license = lib.licenses.epl10; + mainProgram = "clojure"; longDescription = '' Clojure is a dynamic programming language that targets the Java Virtual Machine. It is designed to be a general-purpose language,