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

authored by h7x4 and committed by GitHub 9ad194b5 e72bf8a6

+40 -32
+40 -32
pkgs/top-level/java-packages.nix
··· 7 7 8 8 compiler = 9 9 let 10 - mkOpenjdk = 11 - featureVersion: path-darwin: 10 + # merge meta.platforms of both packages so that dependent packages and hydra build them 11 + mergeMetaPlatforms = 12 + jdk: other: 13 + jdk 14 + // { 15 + meta = jdk.meta // { 16 + platforms = lib.unique (jdk.meta.platforms ++ other.meta.platforms); 17 + }; 18 + }; 19 + 20 + mkLinuxDarwin = 21 + linux: darwin: 12 22 if stdenv.hostPlatform.isLinux then 13 - mkOpenjdkLinuxOnly featureVersion 23 + mergeMetaPlatforms linux darwin 14 24 else 15 - let 16 - openjdk = callPackage path-darwin { }; 17 - in 18 - openjdk // { headless = openjdk; }; 25 + mergeMetaPlatforms darwin linux; 19 26 20 - mkOpenjdkLinuxOnly = 27 + mkOpenjdk = 21 28 featureVersion: 22 29 let 23 - openjdk = callPackage ../development/compilers/openjdk/generic.nix { inherit featureVersion; }; 30 + openjdkLinux = 31 + (callPackage ../development/compilers/openjdk/generic.nix { inherit featureVersion; }) 32 + // { 33 + headless = mergeMetaPlatforms openjdkLinuxHeadless openjdkDarwin; 34 + }; 35 + openjdkLinuxHeadless = openjdkLinux.override { headless = true; }; 36 + openjdkDarwin = (callPackage ../development/compilers/zulu/${featureVersion}.nix { }) // { 37 + headless = mergeMetaPlatforms openjdkDarwin openjdkLinuxHeadless; 38 + }; 24 39 in 25 - assert stdenv.hostPlatform.isLinux; 26 - openjdk 27 - // { 28 - headless = openjdk.override { headless = true; }; 29 - }; 30 - 40 + mkLinuxDarwin openjdkLinux openjdkDarwin; 31 41 in 32 42 rec { 33 43 corretto11 = callPackage ../development/compilers/corretto/11.nix { }; 34 44 corretto17 = callPackage ../development/compilers/corretto/17.nix { }; 35 45 corretto21 = callPackage ../development/compilers/corretto/21.nix { }; 36 46 37 - openjdk8 = mkOpenjdk "8" ../development/compilers/zulu/8.nix; 38 - openjdk11 = mkOpenjdk "11" ../development/compilers/zulu/11.nix; 39 - openjdk17 = mkOpenjdk "17" ../development/compilers/zulu/17.nix; 40 - openjdk21 = mkOpenjdk "21" ../development/compilers/zulu/21.nix; 41 - openjdk23 = mkOpenjdk "23" ../development/compilers/zulu/23.nix; 47 + openjdk8 = mkOpenjdk "8"; 48 + openjdk11 = mkOpenjdk "11"; 49 + openjdk17 = mkOpenjdk "17"; 50 + openjdk21 = mkOpenjdk "21"; 51 + openjdk23 = mkOpenjdk "23"; 42 52 43 53 # Legacy aliases 44 54 openjdk8-bootstrap = temurin-bin.jdk-8; ··· 46 56 openjdk17-bootstrap = temurin-bin.jdk-17; 47 57 48 58 temurin-bin = recurseIntoAttrs ( 49 - callPackage ( 50 - if stdenv.hostPlatform.isLinux then 51 - ../development/compilers/temurin-bin/jdk-linux.nix 52 - else 53 - ../development/compilers/temurin-bin/jdk-darwin.nix 54 - ) { } 59 + let 60 + temurinLinux = callPackage ../development/compilers/temurin-bin/jdk-linux.nix { }; 61 + temurinDarwin = callPackage ../development/compilers/temurin-bin/jdk-darwin.nix { }; 62 + in 63 + lib.mapAttrs (name: drv: mkLinuxDarwin drv temurinDarwin.${name}) temurinLinux 55 64 ); 56 65 57 66 semeru-bin = recurseIntoAttrs ( 58 - callPackage ( 59 - if stdenv.hostPlatform.isLinux then 60 - ../development/compilers/semeru-bin/jdk-linux.nix 61 - else 62 - ../development/compilers/semeru-bin/jdk-darwin.nix 63 - ) { } 67 + let 68 + semeruLinux = callPackage ../development/compilers/semeru-bin/jdk-linux.nix { }; 69 + semeruDarwin = callPackage ../development/compilers/semeru-bin/jdk-darwin.nix { }; 70 + in 71 + lib.mapAttrs (name: drv: mkLinuxDarwin drv semeruDarwin.${name}) semeruLinux 64 72 ); 65 73 }; 66 74 }