at master 3.0 kB view raw
1{ pkgs }: 2 3with pkgs; 4 5{ 6 inherit (pkgs) openjfx17 openjfx21 openjfx23; 7 8 compiler = 9 let 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: 22 if stdenv.hostPlatform.isLinux then 23 mergeMetaPlatforms linux darwin 24 else 25 mergeMetaPlatforms darwin linux; 26 27 mkOpenjdk = 28 featureVersion: 29 let 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 }; 39 in 40 mkLinuxDarwin openjdkLinux openjdkDarwin; 41 in 42 rec { 43 corretto11 = callPackage ../development/compilers/corretto/11.nix { }; 44 corretto17 = callPackage ../development/compilers/corretto/17.nix { }; 45 corretto21 = callPackage ../development/compilers/corretto/21.nix { }; 46 47 openjdk8 = mkOpenjdk "8"; 48 openjdk11 = mkOpenjdk "11"; 49 openjdk17 = mkOpenjdk "17"; 50 openjdk21 = mkOpenjdk "21"; 51 openjdk23 = mkOpenjdk "23"; 52 openjdk24 = mkOpenjdk "24"; 53 openjdk25 = mkOpenjdk "25"; 54 55 # Legacy aliases 56 openjdk8-bootstrap = temurin-bin.jdk-8; 57 openjdk11-bootstrap = temurin-bin.jdk-11; 58 openjdk17-bootstrap = temurin-bin.jdk-17; 59 60 temurin-bin = recurseIntoAttrs ( 61 let 62 temurinLinux = import ../development/compilers/temurin-bin/jdk-linux.nix { 63 inherit (pkgs) lib callPackage stdenv; 64 }; 65 temurinDarwin = import ../development/compilers/temurin-bin/jdk-darwin.nix { 66 inherit (pkgs) lib callPackage; 67 }; 68 in 69 lib.mapAttrs (name: drv: mkLinuxDarwin drv temurinDarwin.${name}) temurinLinux 70 ); 71 72 semeru-bin = recurseIntoAttrs ( 73 let 74 semeruLinux = import ../development/compilers/semeru-bin/jdk-linux.nix { 75 inherit (pkgs) lib callPackage; 76 }; 77 semeruDarwin = import ../development/compilers/semeru-bin/jdk-darwin.nix { 78 inherit (pkgs) lib callPackage; 79 }; 80 in 81 lib.mapAttrs (name: drv: mkLinuxDarwin drv semeruDarwin.${name}) semeruLinux 82 ); 83 }; 84} 85// lib.optionalAttrs config.allowAliases { 86 jogl_2_4_0 = throw "'jogl_2_4_0' is renamed to/replaced by 'jogl'"; 87 mavenfod = throw "'mavenfod' is renamed to/replaced by 'maven.buildMavenPackage'"; 88}