From 02f7ac63c074b4b5b88c18a0308c236160998eb9 Mon Sep 17 00:00:00 2001 From: Sean Gilligan Date: Wed, 2 Jul 2025 06:41:47 -0700 Subject: [PATCH 1/3] zulu: add installCheckPhase This basic check just launches `java -version` and makes sure it returns some expected output. --- pkgs/development/compilers/zulu/common.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkgs/development/compilers/zulu/common.nix b/pkgs/development/compilers/zulu/common.nix index fbc8c97f8c78..32299b402c20 100644 --- a/pkgs/development/compilers/zulu/common.nix +++ b/pkgs/development/compilers/zulu/common.nix @@ -141,6 +141,18 @@ let fi ''; + doInstallCheck = true; + installCheckPhase = '' + echo "Checking 'java -version' output contains ${dist.jdkVersion}, 'OpenJDK', and 'Zulu'" + output=`$out/bin/java -version 2>&1` + # Our Zulu 23 package is a special case (and should be deleted as it is End-of-Life) + expected_version=$(if [[ "${dist.jdkVersion}" == 23* ]]; then echo 23; else echo "${dist.jdkVersion}"; fi) + echo "Output is: $output" + echo "$output" | grep -q "$expected_version" + echo "$output" | grep -q "OpenJDK" + echo "$output" | grep -q "Zulu" + ''; + preFixup = '' # Propagate the setJavaClassPath setup hook from the ${if isJdk8 then "JRE" else "JDK"} so that From 9ded46560d8919f9b5d42b9b5df29169bfddc07b Mon Sep 17 00:00:00 2001 From: Sean Gilligan Date: Wed, 2 Jul 2025 14:40:39 -0700 Subject: [PATCH 2/3] Use pass thru.tests.version not custom installCheckPhase script Co-authored-by: Tom van Dijk <18gatenmaker6@gmail.com> --- pkgs/development/compilers/zulu/common.nix | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/pkgs/development/compilers/zulu/common.nix b/pkgs/development/compilers/zulu/common.nix index 32299b402c20..60b090c1f2f9 100644 --- a/pkgs/development/compilers/zulu/common.nix +++ b/pkgs/development/compilers/zulu/common.nix @@ -141,18 +141,11 @@ let fi ''; - doInstallCheck = true; - installCheckPhase = '' - echo "Checking 'java -version' output contains ${dist.jdkVersion}, 'OpenJDK', and 'Zulu'" - output=`$out/bin/java -version 2>&1` - # Our Zulu 23 package is a special case (and should be deleted as it is End-of-Life) - expected_version=$(if [[ "${dist.jdkVersion}" == 23* ]]; then echo 23; else echo "${dist.jdkVersion}"; fi) - echo "Output is: $output" - echo "$output" | grep -q "$expected_version" - echo "$output" | grep -q "OpenJDK" - echo "$output" | grep -q "Zulu" - ''; - + passthru.tests.version = testers.testVersion { + package = jdk; + command = "java -version"; + version = ''openjdk version "${if lib.versions.major version == "23" then "23" else version}"''; + }; preFixup = '' # Propagate the setJavaClassPath setup hook from the ${if isJdk8 then "JRE" else "JDK"} so that From 93cc932ee66da799dabd036a5e957443ed6a8172 Mon Sep 17 00:00:00 2001 From: Sean Gilligan Date: Wed, 2 Jul 2025 17:06:14 -0700 Subject: [PATCH 3/3] zulu: Fix passthru.tests * Eliminate duplicate passthru definition by moving "tests.version" * Only compare major version (because the ".0.0" can be truncated * Special case major version 8 to "1.8" for the comparison --- pkgs/development/compilers/zulu/common.nix | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pkgs/development/compilers/zulu/common.nix b/pkgs/development/compilers/zulu/common.nix index 60b090c1f2f9..361c90dfbd68 100644 --- a/pkgs/development/compilers/zulu/common.nix +++ b/pkgs/development/compilers/zulu/common.nix @@ -3,6 +3,7 @@ stdenv, fetchurl, setJavaClassPath, + testers, enableJavaFX ? false, dists, # minimum dependencies @@ -141,11 +142,6 @@ let fi ''; - passthru.tests.version = testers.testVersion { - package = jdk; - command = "java -version"; - version = ''openjdk version "${if lib.versions.major version == "23" then "23" else version}"''; - }; preFixup = '' # Propagate the setJavaClassPath setup hook from the ${if isJdk8 then "JRE" else "JDK"} so that @@ -188,6 +184,13 @@ let }) // { home = jdk; + tests.version = testers.testVersion { + package = jdk; + command = "java -version"; + version = ''openjdk version \""${ + if lib.versions.major version == "8" then "1.8" else lib.versions.major version + }"''; + }; } // lib.optionalAttrs stdenv.hostPlatform.isDarwin { bundle = "${jdk}/Library/Java/JavaVirtualMachines/zulu-${lib.versions.major version}.jdk";