jdk: combine meta.platforms of both packages to fix hydra builds for dependent packages (#389625)

This commit is contained in:
h7x4
2025-04-08 08:32:15 +02:00
committed by GitHub
+43 -35
View File
@@ -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
);
};
}