From 7ab2c04f181c8d62418fe605b42cf47d3b23f1fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 13 Mar 2025 20:06:25 +0100 Subject: [PATCH 1/4] jdk: combine meta.platforms of both packages to fix hydra builds for dependent packages --- pkgs/top-level/java-packages.nix | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/pkgs/top-level/java-packages.nix b/pkgs/top-level/java-packages.nix index 0def6c5b74b1..3da6d851b27d 100644 --- a/pkgs/top-level/java-packages.nix +++ b/pkgs/top-level/java-packages.nix @@ -9,13 +9,28 @@ with pkgs; let mkOpenjdk = featureVersion: path-darwin: + let + # merge meta.platforms of both packages so that dependent packages and hydra build them + mergeMetaPlatforms = + jdk: other: + jdk + // { + meta = jdk.meta // { + platforms = lib.unique (jdk.meta.platforms ++ other.meta.platforms); + }; + }; + openjdkLinux = mkOpenjdkLinuxOnly featureVersion; + openjdkLinuxHeadless = openjdkLinux.override { headless = true; }; + openjdkDarwin = + let + openjdk = callPackage path-darwin { }; + in + openjdk // { headless = mergeMetaPlatforms openjdkDarwin openjdkLinuxHeadless; }; + in if stdenv.hostPlatform.isLinux then - mkOpenjdkLinuxOnly featureVersion + (mergeMetaPlatforms openjdkLinux openjdkDarwin) else - let - openjdk = callPackage path-darwin { }; - in - openjdk // { headless = openjdk; }; + (mergeMetaPlatforms openjdkDarwin openjdkLinux); mkOpenjdkLinuxOnly = featureVersion: @@ -25,7 +40,7 @@ with pkgs; assert stdenv.hostPlatform.isLinux; openjdk // { - headless = openjdk.override { headless = true; }; + headless = mergeMetaPlatforms openjdkLinuxHeadless openjdkDarwin; }; in From d7f9effeff926c284b5ffc5a22083e6078b7444d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 13 Mar 2025 20:11:37 +0100 Subject: [PATCH 2/4] java-packages: simplify code --- pkgs/top-level/java-packages.nix | 60 +++++++++++++++++--------------- 1 file changed, 32 insertions(+), 28 deletions(-) diff --git a/pkgs/top-level/java-packages.nix b/pkgs/top-level/java-packages.nix index 3da6d851b27d..989b880b71ca 100644 --- a/pkgs/top-level/java-packages.nix +++ b/pkgs/top-level/java-packages.nix @@ -7,8 +7,25 @@ with pkgs; compiler = let + # merge meta.platforms of both packages so that dependent packages and hydra build them + mergeMetaPlatforms = + jdk: other: + jdk + // { + meta = jdk.meta // { + platforms = lib.unique (jdk.meta.platforms ++ other.meta.platforms); + }; + }; + + mkLinuxDarwin = + linux: darwin: + if stdenv.hostPlatform.isLinux then + mergeMetaPlatforms linux darwin + else + mergeMetaPlatforms darwin linux; + mkOpenjdk = - featureVersion: path-darwin: + featureVersion: let # merge meta.platforms of both packages so that dependent packages and hydra build them mergeMetaPlatforms = @@ -19,41 +36,28 @@ with pkgs; platforms = lib.unique (jdk.meta.platforms ++ other.meta.platforms); }; }; - openjdkLinux = mkOpenjdkLinuxOnly featureVersion; + openjdkLinux = + (callPackage ../development/compilers/openjdk/generic.nix { inherit featureVersion; }) + // { + headless = mergeMetaPlatforms openjdkLinuxHeadless openjdkDarwin; + }; openjdkLinuxHeadless = openjdkLinux.override { headless = true; }; - openjdkDarwin = - let - openjdk = callPackage path-darwin { }; - in - openjdk // { headless = mergeMetaPlatforms openjdkDarwin openjdkLinuxHeadless; }; + openjdkDarwin = (callPackage ../development/compilers/zulu/${featureVersion}.nix { }) // { + headless = mergeMetaPlatforms openjdkDarwin openjdkLinuxHeadless; + }; in - if stdenv.hostPlatform.isLinux then - (mergeMetaPlatforms openjdkLinux openjdkDarwin) - else - (mergeMetaPlatforms openjdkDarwin openjdkLinux); - - mkOpenjdkLinuxOnly = - featureVersion: - let - openjdk = callPackage ../development/compilers/openjdk/generic.nix { inherit featureVersion; }; - in - assert stdenv.hostPlatform.isLinux; - openjdk - // { - headless = mergeMetaPlatforms openjdkLinuxHeadless openjdkDarwin; - }; - + mkLinuxDarwin openjdkLinux openjdkDarwin; in rec { corretto11 = callPackage ../development/compilers/corretto/11.nix { }; corretto17 = callPackage ../development/compilers/corretto/17.nix { }; corretto21 = callPackage ../development/compilers/corretto/21.nix { }; - openjdk8 = mkOpenjdk "8" ../development/compilers/zulu/8.nix; - openjdk11 = mkOpenjdk "11" ../development/compilers/zulu/11.nix; - openjdk17 = mkOpenjdk "17" ../development/compilers/zulu/17.nix; - openjdk21 = mkOpenjdk "21" ../development/compilers/zulu/21.nix; - openjdk23 = mkOpenjdk "23" ../development/compilers/zulu/23.nix; + openjdk8 = mkOpenjdk "8"; + openjdk11 = mkOpenjdk "11"; + openjdk17 = mkOpenjdk "17"; + openjdk21 = mkOpenjdk "21"; + openjdk23 = mkOpenjdk "23"; # Legacy aliases openjdk8-bootstrap = temurin-bin.jdk-8; From d1ad3425f977eb41063055a34d44803ed1c958ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 13 Mar 2025 20:17:56 +0100 Subject: [PATCH 3/4] semeru,temurin: also fix meta similar to jdk --- pkgs/top-level/java-packages.nix | 31 ++++++++++--------------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/pkgs/top-level/java-packages.nix b/pkgs/top-level/java-packages.nix index 989b880b71ca..a2124af1270b 100644 --- a/pkgs/top-level/java-packages.nix +++ b/pkgs/top-level/java-packages.nix @@ -27,15 +27,6 @@ with pkgs; mkOpenjdk = featureVersion: let - # merge meta.platforms of both packages so that dependent packages and hydra build them - mergeMetaPlatforms = - jdk: other: - jdk - // { - meta = jdk.meta // { - platforms = lib.unique (jdk.meta.platforms ++ other.meta.platforms); - }; - }; openjdkLinux = (callPackage ../development/compilers/openjdk/generic.nix { inherit featureVersion; }) // { @@ -65,21 +56,19 @@ with pkgs; openjdk17-bootstrap = temurin-bin.jdk-17; temurin-bin = recurseIntoAttrs ( - callPackage ( - if stdenv.hostPlatform.isLinux then - ../development/compilers/temurin-bin/jdk-linux.nix - else - ../development/compilers/temurin-bin/jdk-darwin.nix - ) { } + let + temurinLinux = callPackage ../development/compilers/temurin-bin/jdk-linux.nix { }; + temurinDarwin = callPackage ../development/compilers/temurin-bin/jdk-darwin.nix { }; + in + lib.mapAttrs (name: drv: mkLinuxDarwin drv temurinDarwin.${name}) temurinLinux ); semeru-bin = recurseIntoAttrs ( - callPackage ( - if stdenv.hostPlatform.isLinux then - ../development/compilers/semeru-bin/jdk-linux.nix - else - ../development/compilers/semeru-bin/jdk-darwin.nix - ) { } + let + semeruLinux = callPackage ../development/compilers/semeru-bin/jdk-linux.nix { }; + semeruDarwin = callPackage ../development/compilers/semeru-bin/jdk-darwin.nix { }; + in + lib.mapAttrs (name: drv: mkLinuxDarwin drv semeruDarwin.${name}) semeruLinux ); }; } From 04e44c5dc23338994c64a508e32fd7dda9f8cbcc Mon Sep 17 00:00:00 2001 From: Defelo Date: Mon, 7 Apr 2025 23:36:52 +0200 Subject: [PATCH 4/4] cnsprcy: fix updateScript --- pkgs/by-name/cn/cnsprcy/package.nix | 4 +--- pkgs/by-name/cn/cnsprcy/update.sh | 7 +++++++ 2 files changed, 8 insertions(+), 3 deletions(-) create mode 100755 pkgs/by-name/cn/cnsprcy/update.sh diff --git a/pkgs/by-name/cn/cnsprcy/package.nix b/pkgs/by-name/cn/cnsprcy/package.nix index 2c3ac68857c0..f764b4b162df 100644 --- a/pkgs/by-name/cn/cnsprcy/package.nix +++ b/pkgs/by-name/cn/cnsprcy/package.nix @@ -22,9 +22,7 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoHash = "sha256-8hNuF5tD1PwdIJB0q3wxDOGDcppo0ac+zol3AHWGv0s="; - passthru.updateScript = lib.mkUpdateScript { - extraFetchers = [ fetchFromSourcehut ]; - }; + passthru.updateScript = ./update.sh; RUSTC_BOOTSTRAP = true; buildInputs = [ sqlite ]; diff --git a/pkgs/by-name/cn/cnsprcy/update.sh b/pkgs/by-name/cn/cnsprcy/update.sh new file mode 100755 index 000000000000..c6ab5fe5ba46 --- /dev/null +++ b/pkgs/by-name/cn/cnsprcy/update.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p nix-update common-updater-scripts gnused + +set -euo pipefail + +version=$(list-git-tags --url="https://git.sr.ht/~xaos/cnsprcy" | sed -En 's/^cnspr\/v(.*)/\1/p' | tail -1) +nix-update cnsprcy --version="$version"