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" diff --git a/pkgs/top-level/java-packages.nix b/pkgs/top-level/java-packages.nix index 0def6c5b74b1..a2124af1270b 100644 --- a/pkgs/top-level/java-packages.nix +++ b/pkgs/top-level/java-packages.nix @@ -7,38 +7,48 @@ with pkgs; compiler = let - mkOpenjdk = - featureVersion: path-darwin: - if stdenv.hostPlatform.isLinux then - mkOpenjdkLinuxOnly featureVersion - else - let - openjdk = callPackage path-darwin { }; - in - openjdk // { headless = openjdk; }; - - mkOpenjdkLinuxOnly = - featureVersion: - let - openjdk = callPackage ../development/compilers/openjdk/generic.nix { inherit featureVersion; }; - in - assert stdenv.hostPlatform.isLinux; - openjdk + # merge meta.platforms of both packages so that dependent packages and hydra build them + mergeMetaPlatforms = + jdk: other: + jdk // { - headless = openjdk.override { headless = true; }; + 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: + let + openjdkLinux = + (callPackage ../development/compilers/openjdk/generic.nix { inherit featureVersion; }) + // { + headless = mergeMetaPlatforms openjdkLinuxHeadless openjdkDarwin; + }; + openjdkLinuxHeadless = openjdkLinux.override { headless = true; }; + openjdkDarwin = (callPackage ../development/compilers/zulu/${featureVersion}.nix { }) // { + headless = mergeMetaPlatforms openjdkDarwin openjdkLinuxHeadless; + }; + in + 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; @@ -46,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 ); }; }