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 { };
13 mavenfod = pkgs.maven.buildMavenPackage;
16 inherit mavenfod openjfx11 openjfx15 openjfx17 openjfx19 openjfx20 openjfx21;
21 inherit (gnome2) GConf gnome_vfs;
24 bootstrapArgs = gnomeArgs // {
25 openjfx = openjfx11; /* need this despite next line :-( */
30 mkAdoptopenjdk = path-linux: path-darwin: let
31 package-linux = import path-linux { inherit stdenv lib; };
32 package-darwin = import path-darwin { inherit lib; };
33 package = if stdenv.isLinux
37 inherit package-linux package-darwin;
39 jdk-hotspot = callPackage package.jdk-hotspot {};
40 jre-hotspot = callPackage package.jre-hotspot {};
41 jdk-openj9 = callPackage package.jdk-openj9 {};
42 jre-openj9 = callPackage package.jre-openj9 {};
45 mkBootstrap = adoptopenjdk: path: args:
46 /* adoptopenjdk not available for i686, so fall back to our old builds for bootstrapping */
47 if !stdenv.hostPlatform.isi686
49 # only linux has the gtkSupport option
51 then adoptopenjdk.jdk-hotspot.override { gtkSupport = false; }
52 else adoptopenjdk.jdk-hotspot
53 else callPackage path args;
55 mkOpenjdk = path-linux: path-darwin: args:
57 then mkOpenjdkLinuxOnly path-linux args
59 openjdk = callPackage path-darwin {};
60 in openjdk // { headless = openjdk; };
62 mkOpenjdkLinuxOnly = path-linux: args: let
63 openjdk = callPackage path-linux (gnomeArgs // args);
65 headless = openjdk.override { headless = true; };
69 adoptopenjdk-8 = mkAdoptopenjdk
70 ../development/compilers/adoptopenjdk-bin/jdk8-linux.nix
71 ../development/compilers/adoptopenjdk-bin/jdk8-darwin.nix;
73 adoptopenjdk-11 = mkAdoptopenjdk
74 ../development/compilers/adoptopenjdk-bin/jdk11-linux.nix
75 ../development/compilers/adoptopenjdk-bin/jdk11-darwin.nix;
77 adoptopenjdk-13 = mkAdoptopenjdk
78 ../development/compilers/adoptopenjdk-bin/jdk13-linux.nix
79 ../development/compilers/adoptopenjdk-bin/jdk13-darwin.nix;
81 adoptopenjdk-14 = mkAdoptopenjdk
82 ../development/compilers/adoptopenjdk-bin/jdk14-linux.nix
83 ../development/compilers/adoptopenjdk-bin/jdk14-darwin.nix;
85 adoptopenjdk-15 = mkAdoptopenjdk
86 ../development/compilers/adoptopenjdk-bin/jdk15-linux.nix
87 ../development/compilers/adoptopenjdk-bin/jdk15-darwin.nix;
89 adoptopenjdk-16 = mkAdoptopenjdk
90 ../development/compilers/adoptopenjdk-bin/jdk16-linux.nix
91 ../development/compilers/adoptopenjdk-bin/jdk16-darwin.nix;
93 adoptopenjdk-17 = mkAdoptopenjdk
94 ../development/compilers/adoptopenjdk-bin/jdk17-linux.nix
95 ../development/compilers/adoptopenjdk-bin/jdk17-darwin.nix;
97 openjdk8-bootstrap = mkBootstrap adoptopenjdk-8
98 ../development/compilers/openjdk/bootstrap.nix
101 openjdk11-bootstrap = mkBootstrap adoptopenjdk-11
102 ../development/compilers/openjdk/bootstrap.nix
105 openjdk13-bootstrap = mkBootstrap adoptopenjdk-13
106 ../development/compilers/openjdk/12.nix
108 inherit openjdk11-bootstrap;
109 /* build segfaults with gcc9 or newer, so use gcc8 like Debian does */
113 openjdk14-bootstrap = mkBootstrap adoptopenjdk-14
114 ../development/compilers/openjdk/13.nix
116 inherit openjdk13-bootstrap;
119 openjdk15-bootstrap = mkBootstrap adoptopenjdk-15
120 ../development/compilers/openjdk/14.nix
122 inherit openjdk14-bootstrap;
125 openjdk16-bootstrap = mkBootstrap adoptopenjdk-16
126 ../development/compilers/openjdk/15.nix
128 inherit openjdk15-bootstrap;
131 openjdk17-bootstrap = mkBootstrap adoptopenjdk-17
132 ../development/compilers/openjdk/16.nix
134 inherit openjdk16-bootstrap;
137 openjdk18-bootstrap = mkBootstrap adoptopenjdk-17
138 ../development/compilers/openjdk/17.nix
140 inherit openjdk17-bootstrap;
144 ../development/compilers/openjdk/8.nix
145 ../development/compilers/zulu/8.nix
148 openjdk11 = mkOpenjdk
149 ../development/compilers/openjdk/11.nix
150 ../development/compilers/zulu/11.nix
151 { openjfx = openjfx11; };
153 openjdk12 = mkOpenjdkLinuxOnly ../development/compilers/openjdk/12.nix {
154 /* build segfaults with gcc9 or newer, so use gcc8 like Debian does */
159 openjdk13 = mkOpenjdkLinuxOnly ../development/compilers/openjdk/13.nix {
160 inherit openjdk13-bootstrap;
164 openjdk14 = mkOpenjdkLinuxOnly ../development/compilers/openjdk/14.nix {
165 inherit openjdk14-bootstrap;
169 openjdk15 = mkOpenjdkLinuxOnly ../development/compilers/openjdk/15.nix {
170 inherit openjdk15-bootstrap;
174 openjdk16 = mkOpenjdk
175 ../development/compilers/openjdk/16.nix
176 ../development/compilers/zulu/16.nix
178 inherit openjdk16-bootstrap;
182 openjdk17 = mkOpenjdk
183 ../development/compilers/openjdk/17.nix
184 ../development/compilers/zulu/17.nix
186 inherit openjdk17-bootstrap;
190 openjdk18 = mkOpenjdk
191 ../development/compilers/openjdk/18.nix
192 ../development/compilers/zulu/18.nix
194 inherit openjdk18-bootstrap;
198 openjdk19 = mkOpenjdk
199 ../development/compilers/openjdk/19.nix
200 ../development/compilers/zulu/19.nix
202 openjdk19-bootstrap = temurin-bin.jdk-19;
206 openjdk20 = mkOpenjdk
207 ../development/compilers/openjdk/20.nix
208 ../development/compilers/zulu/20.nix
210 openjdk20-bootstrap = temurin-bin.jdk-20;
214 openjdk21 = mkOpenjdk
215 ../development/compilers/openjdk/21.nix
216 ../development/compilers/zulu/21.nix
218 openjdk21-bootstrap = temurin-bin.jdk-21;
222 temurin-bin = recurseIntoAttrs (callPackage (
224 then ../development/compilers/temurin-bin/jdk-linux.nix
225 else ../development/compilers/temurin-bin/jdk-darwin.nix
228 semeru-bin = recurseIntoAttrs (callPackage (
230 then ../development/compilers/semeru-bin/jdk-linux.nix
231 else ../development/compilers/semeru-bin/jdk-darwin.nix
235 inherit (pkgs.darwin.apple_sdk_11_0.callPackage ../development/java-modules/jogl { })