at 24.11-pre 250 lines 8.3 kB view raw
1{ pkgs }: 2 3with pkgs; 4 5let 6 openjfx11 = callPackage ../development/compilers/openjdk/openjfx/11.nix { }; 7 openjfx15 = callPackage ../development/compilers/openjdk/openjfx/15.nix { }; 8 openjfx17 = callPackage ../development/compilers/openjdk/openjfx/17.nix { }; 9 openjfx19 = callPackage ../development/compilers/openjdk/openjfx/19.nix { }; 10 openjfx20 = callPackage ../development/compilers/openjdk/openjfx/20.nix { }; 11 openjfx21 = callPackage ../development/compilers/openjdk/openjfx/21.nix { }; 12 openjfx22 = callPackage ../development/compilers/openjdk/openjfx/22.nix { }; 13 14in { 15 inherit openjfx11 openjfx15 openjfx17 openjfx19 openjfx20 openjfx21 openjfx22; 16 17 compiler = let 18 19 gnomeArgs = { 20 inherit (gnome2) GConf gnome_vfs; 21 }; 22 23 bootstrapArgs = gnomeArgs // { 24 openjfx = openjfx11; /* need this despite next line :-( */ 25 enableJavaFX = false; 26 headless = true; 27 }; 28 29 mkAdoptopenjdk = path-linux: path-darwin: let 30 package-linux = import path-linux { inherit stdenv lib; }; 31 package-darwin = import path-darwin { inherit lib; }; 32 package = if stdenv.isLinux 33 then package-linux 34 else package-darwin; 35 in { 36 inherit package-linux package-darwin; 37 __attrsFailEvaluation = true; 38 39 jdk-hotspot = callPackage package.jdk-hotspot {}; 40 jre-hotspot = callPackage package.jre-hotspot {}; 41 } // lib.optionalAttrs (package?jdk-openj9) { 42 jdk-openj9 = callPackage package.jdk-openj9 {}; 43 } // lib.optionalAttrs (package?jre-openj9) { 44 jre-openj9 = callPackage package.jre-openj9 {}; 45 }; 46 47 mkBootstrap = adoptopenjdk: path: args: 48 /* adoptopenjdk not available for i686, so fall back to our old builds for bootstrapping */ 49 if !stdenv.hostPlatform.isi686 50 then 51 # only linux has the gtkSupport option 52 if stdenv.isLinux 53 then adoptopenjdk.jdk-hotspot.override { gtkSupport = false; } 54 else adoptopenjdk.jdk-hotspot 55 else callPackage path args; 56 57 mkOpenjdk = path-linux: path-darwin: args: 58 if stdenv.isLinux 59 then mkOpenjdkLinuxOnly path-linux args 60 else let 61 openjdk = callPackage path-darwin {}; 62 in openjdk // { headless = openjdk; }; 63 64 mkOpenjdkLinuxOnly = path-linux: args: let 65 openjdk = callPackage path-linux (gnomeArgs // args); 66 in assert stdenv.isLinux; openjdk // { 67 headless = openjdk.override { headless = true; }; 68 }; 69 70 in rec { 71 adoptopenjdk-8 = mkAdoptopenjdk 72 ../development/compilers/adoptopenjdk-bin/jdk8-linux.nix 73 ../development/compilers/adoptopenjdk-bin/jdk8-darwin.nix; 74 75 adoptopenjdk-11 = mkAdoptopenjdk 76 ../development/compilers/adoptopenjdk-bin/jdk11-linux.nix 77 ../development/compilers/adoptopenjdk-bin/jdk11-darwin.nix; 78 79 adoptopenjdk-13 = mkAdoptopenjdk 80 ../development/compilers/adoptopenjdk-bin/jdk13-linux.nix 81 ../development/compilers/adoptopenjdk-bin/jdk13-darwin.nix; 82 83 adoptopenjdk-14 = mkAdoptopenjdk 84 ../development/compilers/adoptopenjdk-bin/jdk14-linux.nix 85 ../development/compilers/adoptopenjdk-bin/jdk14-darwin.nix; 86 87 adoptopenjdk-15 = mkAdoptopenjdk 88 ../development/compilers/adoptopenjdk-bin/jdk15-linux.nix 89 ../development/compilers/adoptopenjdk-bin/jdk15-darwin.nix; 90 91 adoptopenjdk-16 = mkAdoptopenjdk 92 ../development/compilers/adoptopenjdk-bin/jdk16-linux.nix 93 ../development/compilers/adoptopenjdk-bin/jdk16-darwin.nix; 94 95 adoptopenjdk-17 = mkAdoptopenjdk 96 ../development/compilers/adoptopenjdk-bin/jdk17-linux.nix 97 ../development/compilers/adoptopenjdk-bin/jdk17-darwin.nix; 98 99 corretto11 = callPackage ../development/compilers/corretto/11.nix { }; 100 corretto17 = callPackage ../development/compilers/corretto/17.nix { }; 101 corretto19 = callPackage ../development/compilers/corretto/19.nix { }; 102 corretto21 = callPackage ../development/compilers/corretto/21.nix { }; 103 104 openjdk8-bootstrap = mkBootstrap adoptopenjdk-8 105 ../development/compilers/openjdk/bootstrap.nix 106 { version = "8"; }; 107 108 openjdk11-bootstrap = mkBootstrap adoptopenjdk-11 109 ../development/compilers/openjdk/bootstrap.nix 110 { version = "10"; }; 111 112 openjdk13-bootstrap = mkBootstrap adoptopenjdk-13 113 ../development/compilers/openjdk/12.nix 114 (bootstrapArgs // { 115 inherit openjdk11-bootstrap; 116 /* build segfaults with gcc9 or newer, so use gcc8 like Debian does */ 117 stdenv = gcc8Stdenv; 118 }); 119 120 openjdk14-bootstrap = mkBootstrap adoptopenjdk-14 121 ../development/compilers/openjdk/13.nix 122 (bootstrapArgs // { 123 inherit openjdk13-bootstrap; 124 }); 125 126 openjdk15-bootstrap = mkBootstrap adoptopenjdk-15 127 ../development/compilers/openjdk/14.nix 128 (bootstrapArgs // { 129 inherit openjdk14-bootstrap; 130 }); 131 132 openjdk16-bootstrap = mkBootstrap adoptopenjdk-16 133 ../development/compilers/openjdk/15.nix 134 (bootstrapArgs // { 135 inherit openjdk15-bootstrap; 136 }); 137 138 openjdk17-bootstrap = mkBootstrap adoptopenjdk-17 139 ../development/compilers/openjdk/16.nix 140 (bootstrapArgs // { 141 inherit openjdk16-bootstrap; 142 }); 143 144 openjdk18-bootstrap = mkBootstrap adoptopenjdk-17 145 ../development/compilers/openjdk/17.nix 146 (bootstrapArgs // { 147 inherit openjdk17-bootstrap; 148 }); 149 150 openjdk8 = mkOpenjdk 151 ../development/compilers/openjdk/8.nix 152 ../development/compilers/zulu/8.nix 153 { }; 154 155 openjdk11 = mkOpenjdk 156 ../development/compilers/openjdk/11.nix 157 ../development/compilers/zulu/11.nix 158 { openjfx = openjfx11; }; 159 160 openjdk12 = mkOpenjdkLinuxOnly ../development/compilers/openjdk/12.nix { 161 /* build segfaults with gcc9 or newer, so use gcc8 like Debian does */ 162 stdenv = gcc8Stdenv; 163 openjfx = openjfx11; 164 }; 165 166 openjdk13 = mkOpenjdkLinuxOnly ../development/compilers/openjdk/13.nix { 167 inherit openjdk13-bootstrap; 168 openjfx = openjfx11; 169 }; 170 171 openjdk14 = mkOpenjdkLinuxOnly ../development/compilers/openjdk/14.nix { 172 inherit openjdk14-bootstrap; 173 openjfx = openjfx11; 174 }; 175 176 openjdk15 = mkOpenjdkLinuxOnly ../development/compilers/openjdk/15.nix { 177 inherit openjdk15-bootstrap; 178 openjfx = openjfx15; 179 }; 180 181 openjdk16 = mkOpenjdkLinuxOnly ../development/compilers/openjdk/16.nix { 182 inherit openjdk16-bootstrap; 183 openjfx = openjfx15; 184 }; 185 186 openjdk17 = mkOpenjdk 187 ../development/compilers/openjdk/17.nix 188 ../development/compilers/zulu/17.nix 189 { 190 inherit openjdk17-bootstrap; 191 openjfx = openjfx17; 192 }; 193 194 openjdk18 = mkOpenjdk 195 ../development/compilers/openjdk/18.nix 196 ../development/compilers/zulu/18.nix 197 { 198 inherit openjdk18-bootstrap; 199 openjfx = openjfx17; 200 }; 201 202 openjdk19 = mkOpenjdk 203 ../development/compilers/openjdk/19.nix 204 ../development/compilers/zulu/19.nix 205 { 206 openjdk19-bootstrap = temurin-bin.jdk-19; 207 openjfx = openjfx19; 208 }; 209 210 openjdk20 = mkOpenjdk 211 ../development/compilers/openjdk/20.nix 212 ../development/compilers/zulu/20.nix 213 { 214 openjdk20-bootstrap = temurin-bin.jdk-20; 215 openjfx = openjfx20; 216 }; 217 218 openjdk21 = mkOpenjdk 219 ../development/compilers/openjdk/21.nix 220 ../development/compilers/zulu/21.nix 221 { 222 openjdk21-bootstrap = temurin-bin.jdk-21; 223 openjfx = openjfx21; 224 }; 225 226 openjdk22 = mkOpenjdk 227 ../development/compilers/openjdk/22.nix 228 ../development/compilers/zulu/22.nix 229 { 230 openjdk22-bootstrap = temurin-bin.jdk-21; 231 openjfx = openjfx22; 232 }; 233 234 temurin-bin = recurseIntoAttrs (callPackage ( 235 if stdenv.isLinux 236 then ../development/compilers/temurin-bin/jdk-linux.nix 237 else ../development/compilers/temurin-bin/jdk-darwin.nix 238 ) {}); 239 240 semeru-bin = recurseIntoAttrs (callPackage ( 241 if stdenv.isLinux 242 then ../development/compilers/semeru-bin/jdk-linux.nix 243 else ../development/compilers/semeru-bin/jdk-darwin.nix 244 ) {}); 245 }; 246} 247// lib.optionalAttrs config.allowAliases { 248 jogl_2_4_0 = throw "'jogl_2_4_0' is renamed to/replaced by 'jogl'"; 249 mavenfod = throw "'mavenfod' is renamed to/replaced by 'maven.buildMavenPackage'"; 250}