1{ pkgs }:
2
3with pkgs;
4
5let
6 mavenbuild = callPackage ../development/java-modules/build-maven-package.nix { };
7 fetchMaven = callPackage ../development/java-modules/m2install.nix { };
8
9 openjfx11 = callPackage ../development/compilers/openjdk/openjfx/11.nix { };
10 openjfx15 = callPackage ../development/compilers/openjdk/openjfx/15.nix { };
11 openjfx17 = callPackage ../development/compilers/openjdk/openjfx/17.nix { };
12 openjfx19 = callPackage ../development/compilers/openjdk/openjfx/19.nix { };
13
14 mavenfod = callPackage ../development/java-modules/maven-fod.nix { };
15
16in {
17 inherit mavenbuild mavenfod fetchMaven openjfx11 openjfx15 openjfx17 openjfx19;
18
19 compiler = let
20
21 gnomeArgs = {
22 inherit (gnome2) GConf gnome_vfs;
23 };
24
25 bootstrapArgs = gnomeArgs // {
26 openjfx = openjfx11; /* need this despite next line :-( */
27 enableJavaFX = false;
28 headless = true;
29 };
30
31 mkAdoptopenjdk = path-linux: path-darwin: let
32 package-linux = import path-linux { inherit stdenv lib; };
33 package-darwin = import path-darwin { inherit lib; };
34 package = if stdenv.isLinux
35 then package-linux
36 else package-darwin;
37 in {
38 inherit package-linux package-darwin;
39
40 jdk-hotspot = callPackage package.jdk-hotspot {};
41 jre-hotspot = callPackage package.jre-hotspot {};
42 jdk-openj9 = callPackage package.jdk-openj9 {};
43 jre-openj9 = callPackage package.jre-openj9 {};
44 };
45
46 mkBootstrap = adoptopenjdk: path: args:
47 /* adoptopenjdk not available for i686, so fall back to our old builds for bootstrapping */
48 if !stdenv.hostPlatform.isi686
49 then
50 # only linux has the gtkSupport option
51 if stdenv.isLinux
52 then adoptopenjdk.jdk-hotspot.override { gtkSupport = false; }
53 else adoptopenjdk.jdk-hotspot
54 else callPackage path args;
55
56 mkOpenjdk = path-linux: path-darwin: args:
57 if stdenv.isLinux
58 then mkOpenjdkLinuxOnly path-linux args
59 else let
60 openjdk = callPackage path-darwin {};
61 in openjdk // { headless = openjdk; };
62
63 mkOpenjdkLinuxOnly = path-linux: args: let
64 openjdk = callPackage path-linux (gnomeArgs // args);
65 in openjdk // {
66 headless = openjdk.override { headless = true; };
67 };
68
69 in rec {
70 adoptopenjdk-8 = mkAdoptopenjdk
71 ../development/compilers/adoptopenjdk-bin/jdk8-linux.nix
72 ../development/compilers/adoptopenjdk-bin/jdk8-darwin.nix;
73
74 adoptopenjdk-11 = mkAdoptopenjdk
75 ../development/compilers/adoptopenjdk-bin/jdk11-linux.nix
76 ../development/compilers/adoptopenjdk-bin/jdk11-darwin.nix;
77
78 adoptopenjdk-13 = mkAdoptopenjdk
79 ../development/compilers/adoptopenjdk-bin/jdk13-linux.nix
80 ../development/compilers/adoptopenjdk-bin/jdk13-darwin.nix;
81
82 adoptopenjdk-14 = mkAdoptopenjdk
83 ../development/compilers/adoptopenjdk-bin/jdk14-linux.nix
84 ../development/compilers/adoptopenjdk-bin/jdk14-darwin.nix;
85
86 adoptopenjdk-15 = mkAdoptopenjdk
87 ../development/compilers/adoptopenjdk-bin/jdk15-linux.nix
88 ../development/compilers/adoptopenjdk-bin/jdk15-darwin.nix;
89
90 adoptopenjdk-16 = mkAdoptopenjdk
91 ../development/compilers/adoptopenjdk-bin/jdk16-linux.nix
92 ../development/compilers/adoptopenjdk-bin/jdk16-darwin.nix;
93
94 adoptopenjdk-17 = mkAdoptopenjdk
95 ../development/compilers/adoptopenjdk-bin/jdk17-linux.nix
96 ../development/compilers/adoptopenjdk-bin/jdk17-darwin.nix;
97
98 openjdk8-bootstrap = mkBootstrap adoptopenjdk-8
99 ../development/compilers/openjdk/bootstrap.nix
100 { version = "8"; };
101
102 openjdk11-bootstrap = mkBootstrap adoptopenjdk-11
103 ../development/compilers/openjdk/bootstrap.nix
104 { version = "10"; };
105
106 openjdk13-bootstrap = mkBootstrap adoptopenjdk-13
107 ../development/compilers/openjdk/12.nix
108 (bootstrapArgs // {
109 inherit openjdk11-bootstrap;
110 /* build segfaults with gcc9 or newer, so use gcc8 like Debian does */
111 stdenv = gcc8Stdenv;
112 });
113
114 openjdk14-bootstrap = mkBootstrap adoptopenjdk-14
115 ../development/compilers/openjdk/13.nix
116 (bootstrapArgs // {
117 inherit openjdk13-bootstrap;
118 });
119
120 openjdk15-bootstrap = mkBootstrap adoptopenjdk-15
121 ../development/compilers/openjdk/14.nix
122 (bootstrapArgs // {
123 inherit openjdk14-bootstrap;
124 });
125
126 openjdk16-bootstrap = mkBootstrap adoptopenjdk-16
127 ../development/compilers/openjdk/15.nix
128 (bootstrapArgs // {
129 inherit openjdk15-bootstrap;
130 });
131
132 openjdk17-bootstrap = mkBootstrap adoptopenjdk-17
133 ../development/compilers/openjdk/16.nix
134 (bootstrapArgs // {
135 inherit openjdk16-bootstrap;
136 });
137
138 openjdk18-bootstrap = mkBootstrap adoptopenjdk-17
139 ../development/compilers/openjdk/17.nix
140 (bootstrapArgs // {
141 inherit openjdk17-bootstrap;
142 });
143
144 openjdk8 = mkOpenjdk
145 ../development/compilers/openjdk/8.nix
146 ../development/compilers/openjdk/darwin/8.nix
147 { };
148
149 openjdk11 = mkOpenjdk
150 ../development/compilers/openjdk/11.nix
151 ../development/compilers/openjdk/darwin/11.nix
152 { openjfx = openjfx11; };
153
154 openjdk12 = mkOpenjdkLinuxOnly ../development/compilers/openjdk/12.nix {
155 /* build segfaults with gcc9 or newer, so use gcc8 like Debian does */
156 stdenv = gcc8Stdenv;
157 openjfx = openjfx11;
158 };
159
160 openjdk13 = mkOpenjdkLinuxOnly ../development/compilers/openjdk/13.nix {
161 inherit openjdk13-bootstrap;
162 openjfx = openjfx11;
163 };
164
165 openjdk14 = mkOpenjdkLinuxOnly ../development/compilers/openjdk/14.nix {
166 inherit openjdk14-bootstrap;
167 openjfx = openjfx11;
168 };
169
170 openjdk15 = mkOpenjdkLinuxOnly ../development/compilers/openjdk/15.nix {
171 inherit openjdk15-bootstrap;
172 openjfx = openjfx15;
173 };
174
175 openjdk16 = mkOpenjdk
176 ../development/compilers/openjdk/16.nix
177 ../development/compilers/openjdk/darwin/16.nix
178 {
179 inherit openjdk16-bootstrap;
180 openjfx = openjfx15;
181 };
182
183 openjdk17 = mkOpenjdk
184 ../development/compilers/openjdk/17.nix
185 ../development/compilers/openjdk/darwin/17.nix
186 {
187 inherit openjdk17-bootstrap;
188 openjfx = openjfx17;
189 };
190
191 openjdk18 = mkOpenjdk
192 ../development/compilers/openjdk/18.nix
193 ../development/compilers/openjdk/darwin/18.nix
194 {
195 inherit openjdk18-bootstrap;
196 openjfx = openjfx17;
197 };
198
199 openjdk19 = mkOpenjdk
200 ../development/compilers/openjdk/19.nix
201 ../development/compilers/openjdk/darwin/19.nix
202 {
203 openjdk19-bootstrap = temurin-bin.jdk-19;
204 openjfx = openjfx19;
205 };
206
207 temurin-bin = recurseIntoAttrs (callPackage (
208 if stdenv.isLinux
209 then ../development/compilers/temurin-bin/jdk-linux.nix
210 else ../development/compilers/temurin-bin/jdk-darwin.nix
211 ) {});
212
213 semeru-bin = recurseIntoAttrs (callPackage (
214 if stdenv.isLinux
215 then ../development/compilers/semeru-bin/jdk-linux.nix
216 else ../development/compilers/semeru-bin/jdk-darwin.nix
217 ) {});
218 };
219
220 mavenPlugins = recurseIntoAttrs (callPackage ../development/java-modules/mavenPlugins.nix { });
221
222 inherit (callPackage ../development/java-modules/eclipse/aether-util.nix { inherit fetchMaven; })
223 aetherUtil_0_9_0_M2;
224
225 inherit (callPackage ../development/java-modules/apache/ant.nix { inherit fetchMaven; })
226 ant_1_8_2;
227
228 inherit (callPackage ../development/java-modules/apache/ant-launcher.nix { inherit fetchMaven; })
229 antLauncher_1_8_2;
230
231 inherit (callPackage ../development/java-modules/beanshell/bsh.nix { inherit fetchMaven; })
232 bsh_2_0_b4;
233
234 inherit (callPackage ../development/java-modules/classworlds/classworlds.nix { inherit fetchMaven; })
235 classworlds_1_1_alpha2
236 classworlds_1_1;
237
238 inherit (callPackage ../development/java-modules/apache/commons-cli.nix { inherit fetchMaven; })
239 commonsCli_1_0
240 commonsCli_1_2;
241
242 inherit (callPackage ../development/java-modules/apache/commons-io.nix { inherit fetchMaven; })
243 commonsIo_2_1;
244
245 inherit (callPackage ../development/java-modules/apache/commons-lang.nix { inherit fetchMaven; })
246 commonsLang_2_1
247 commonsLang_2_3
248 commonsLang_2_6;
249
250 inherit (callPackage ../development/java-modules/apache/commons-lang3.nix { inherit fetchMaven; })
251 commonsLang3_3_1;
252
253 inherit (callPackage ../development/java-modules/apache/commons-logging-api.nix { inherit fetchMaven; })
254 commonsLoggingApi_1_1;
255
256 inherit (callPackage ../development/java-modules/findbugs/jsr305.nix { inherit fetchMaven; })
257 findbugsJsr305_2_0_1;
258
259 inherit (callPackage ../development/java-modules/google/collections.nix { inherit fetchMaven; })
260 googleCollections_1_0;
261
262 inherit (callPackage ../development/java-modules/hamcrest/all.nix { inherit fetchMaven; })
263 hamcrestAll_1_3;
264
265 inherit (callPackage ../development/java-modules/hamcrest/core.nix { inherit fetchMaven; })
266 hamcrestCore_1_3;
267
268 inherit (callPackage ../development/java-modules/junit { inherit mavenbuild fetchMaven; })
269 junit_3_8_1
270 junit_3_8_2
271 junit_4_12;
272
273 inherit (callPackage ../development/java-modules/jogl { })
274 jogl_2_3_2;
275
276 inherit (callPackage ../development/java-modules/log4j { inherit fetchMaven; })
277 log4j_1_2_12;
278
279 inherit (callPackage ../development/java-modules/maven/archiver.nix { inherit fetchMaven; })
280 mavenArchiver_2_5;
281
282 inherit (callPackage ../development/java-modules/maven/artifact.nix { inherit fetchMaven; })
283 mavenArtifact_2_0_1
284 mavenArtifact_2_0_6
285 mavenArtifact_2_0_8
286 mavenArtifact_2_0_9
287 mavenArtifact_2_2_1
288 mavenArtifact_3_0_3;
289
290 inherit (callPackage ../development/java-modules/maven/artifact-manager.nix { inherit fetchMaven; })
291 mavenArtifactManager_2_0_1
292 mavenArtifactManager_2_0_6
293 mavenArtifactManager_2_0_9
294 mavenArtifactManager_2_2_1;
295
296 inherit (callPackage ../development/java-modules/maven/common-artifact-filters.nix { inherit fetchMaven; })
297 mavenCommonArtifactFilters_1_2
298 mavenCommonArtifactFilters_1_3
299 mavenCommonArtifactFilters_1_4;
300
301 inherit (callPackage ../development/java-modules/maven/compiler-plugin.nix { inherit fetchMaven; })
302 mavenCompiler_3_2;
303
304 inherit (callPackage ../development/java-modules/maven/core.nix { inherit fetchMaven; })
305 mavenCore_2_0_1
306 mavenCore_2_0_6
307 mavenCore_2_0_9
308 mavenCore_2_2_1;
309
310 inherit (callPackage ../development/java-modules/maven/dependency-tree.nix { inherit fetchMaven; })
311 mavenDependencyTree_2_1;
312
313 inherit (callPackage ../development/java-modules/maven/doxia-sink-api.nix { inherit fetchMaven; })
314 mavenDoxiaSinkApi_1_0_alpha6
315 mavenDoxiaSinkApi_1_0_alpha7
316 mavenDoxiaSinkApi_1_0_alpha10;
317
318 inherit (callPackage ../development/java-modules/maven/enforcer.nix { inherit fetchMaven; })
319 mavenEnforcerApi_1_3_1
320 mavenEnforcerRules_1_3_1;
321
322 inherit (callPackage ../development/java-modules/maven/error-diagnostics.nix { inherit fetchMaven; })
323 mavenErrorDiagnostics_2_0_1
324 mavenErrorDiagnostics_2_0_6
325 mavenErrorDiagnostics_2_0_9
326 mavenErrorDiagnostics_2_2_1;
327
328 inherit (callPackage ../development/java-modules/maven/filtering.nix { inherit fetchMaven; })
329 mavenFiltering_1_1;
330
331 inherit (callPackage ../development/java-modules/maven-hello { inherit mavenbuild; })
332 mavenHello_1_0
333 mavenHello_1_1;
334
335 inherit (callPackage ../development/java-modules/maven/model.nix { inherit fetchMaven; })
336 mavenModel_2_0_1
337 mavenModel_2_0_6
338 mavenModel_2_0_9
339 mavenModel_2_2_1
340 mavenModel_3_0_3;
341
342 inherit (callPackage ../development/java-modules/maven/monitor.nix { inherit fetchMaven; })
343 mavenMonitor_2_0_1
344 mavenMonitor_2_0_6
345 mavenMonitor_2_0_9
346 mavenMonitor_2_2_1;
347
348 inherit (callPackage ../development/java-modules/maven/plugin-annotations.nix { inherit fetchMaven; })
349 mavenPluginAnnotations_3_1
350 mavenPluginAnnotations_3_2;
351
352 inherit (callPackage ../development/java-modules/maven/plugin-api.nix { inherit fetchMaven; })
353 mavenPluginApi_2_0_1
354 mavenPluginApi_2_0_6
355 mavenPluginApi_2_0_9
356 mavenPluginApi_2_2_1
357 mavenPluginApi_3_0_3;
358
359 inherit (callPackage ../development/java-modules/maven/plugin-descriptor.nix { inherit fetchMaven; })
360 mavenPluginDescriptor_2_0_1
361 mavenPluginDescriptor_2_0_6
362 mavenPluginDescriptor_2_0_9
363 mavenPluginDescriptor_2_2_1;
364
365 inherit (callPackage ../development/java-modules/maven/plugin-parameter-documenter.nix { inherit fetchMaven; })
366 mavenPluginParameterDocumenter_2_0_1
367 mavenPluginParameterDocumenter_2_0_6
368 mavenPluginParameterDocumenter_2_0_9
369 mavenPluginParameterDocumenter_2_2_1;
370
371 inherit (callPackage ../development/java-modules/maven/plugin-registry.nix { inherit fetchMaven; })
372 mavenPluginRegistry_2_0_1
373 mavenPluginRegistry_2_0_6
374 mavenPluginRegistry_2_0_9
375 mavenPluginRegistry_2_2_1;
376
377 inherit (callPackage ../development/java-modules/maven/plugin-testing-harness.nix { inherit fetchMaven; })
378 mavenPluginTestingHarness_1_1;
379
380 inherit (callPackage ../development/java-modules/maven/profile.nix { inherit fetchMaven; })
381 mavenProfile_2_0_1
382 mavenProfile_2_0_6
383 mavenProfile_2_0_9
384 mavenProfile_2_2_1;
385
386 inherit (callPackage ../development/java-modules/maven/project.nix { inherit fetchMaven; })
387 mavenProject_2_0_1
388 mavenProject_2_0_6
389 mavenProject_2_0_8
390 mavenProject_2_0_9
391 mavenProject_2_2_1;
392
393 inherit (callPackage ../development/java-modules/maven/reporting-api.nix { inherit fetchMaven; })
394 mavenReportingApi_2_0_1
395 mavenReportingApi_2_0_6
396 mavenReportingApi_2_0_9
397 mavenReportingApi_2_2_1;
398
399 inherit (callPackage ../development/java-modules/maven/repository-metadata.nix { inherit fetchMaven; })
400 mavenRepositoryMetadata_2_0_1
401 mavenRepositoryMetadata_2_0_6
402 mavenRepositoryMetadata_2_0_9
403 mavenRepositoryMetadata_2_2_1;
404
405 inherit (callPackage ../development/java-modules/maven/settings.nix { inherit fetchMaven; })
406 mavenSettings_2_0_1
407 mavenSettings_2_0_6
408 mavenSettings_2_0_9
409 mavenSettings_2_2_1;
410
411 inherit (callPackage ../development/java-modules/maven/shared-incremental.nix { inherit fetchMaven; })
412 mavenSharedIncremental_1_1;
413
414 inherit (callPackage ../development/java-modules/maven/shared-utils.nix { inherit fetchMaven; })
415 mavenSharedUtils_0_1;
416
417 inherit (callPackage ../development/java-modules/maven/surefire-api.nix { inherit fetchMaven; })
418 mavenSurefireApi_2_12_4
419 mavenSurefireApi_2_17;
420
421 inherit (callPackage ../development/java-modules/maven/surefire-booter.nix { inherit fetchMaven; })
422 mavenSurefireBooter_2_12_4
423 mavenSurefireBooter_2_17;
424
425 inherit (callPackage ../development/java-modules/maven/surefire-common.nix { inherit fetchMaven; })
426 mavenSurefireCommon_2_12_4
427 mavenSurefireCommon_2_17;
428
429 inherit (callPackage ../development/java-modules/maven/surefire-junit4.nix { inherit fetchMaven; })
430 mavenSurefireJunit4_2_12_4;
431
432 inherit (callPackage ../development/java-modules/maven/toolchain.nix { inherit fetchMaven; })
433 mavenToolchain_1_0
434 mavenToolchain_2_0_9
435 mavenToolchain_2_2_1;
436
437 inherit (callPackage ../development/java-modules/mojo/animal-sniffer.nix { inherit fetchMaven; })
438 mojoAnimalSniffer_1_11;
439
440 inherit (callPackage ../development/java-modules/mojo/java-boot-classpath-detector.nix { inherit fetchMaven; })
441 mojoJavaBootClasspathDetector_1_11;
442
443 inherit (callPackage ../development/java-modules/ow2/asm-all.nix { inherit fetchMaven; })
444 ow2AsmAll_4_0;
445
446 inherit (callPackage ../development/java-modules/plexus/archiver.nix { inherit fetchMaven; })
447 plexusArchiver_1_0_alpha7
448 plexusArchiver_2_1;
449
450 inherit (callPackage ../development/java-modules/plexus/build-api.nix { inherit fetchMaven; })
451 plexusBuildApi_0_0_4;
452
453 inherit (callPackage ../development/java-modules/plexus/classworlds.nix { inherit fetchMaven; })
454 plexusClassworlds_2_2_2
455 plexusClassworlds_2_4;
456
457 inherit (callPackage ../development/java-modules/plexus/compiler-api.nix { inherit fetchMaven; })
458 plexusCompilerApi_2_2
459 plexusCompilerApi_2_4;
460
461 inherit (callPackage ../development/java-modules/plexus/compiler-javac.nix { inherit fetchMaven; })
462 plexusCompilerJavac_2_2
463 plexusCompilerJavac_2_4;
464
465 inherit (callPackage ../development/java-modules/plexus/compiler-manager.nix { inherit fetchMaven; })
466 plexusCompilerManager_2_2
467 plexusCompilerManager_2_4;
468
469 inherit (callPackage ../development/java-modules/plexus/component-annotations.nix { inherit fetchMaven; })
470 plexusComponentAnnotations_1_5_5;
471
472 inherit (callPackage ../development/java-modules/plexus/container-default.nix { inherit fetchMaven; })
473 plexusContainerDefault_1_0_alpha9
474 plexusContainerDefault_1_0_alpha9_stable1
475 plexusContainerDefault_1_5_5;
476
477 inherit (callPackage ../development/java-modules/plexus/digest.nix { inherit fetchMaven; })
478 plexusDigest_1_0;
479
480 inherit (callPackage ../development/java-modules/plexus/i18n.nix { inherit fetchMaven; })
481 plexusI18n_1_0_beta6;
482
483 inherit (callPackage ../development/java-modules/plexus/interactivity-api.nix { inherit fetchMaven; })
484 plexusInteractivityApi_1_0_alpha4;
485
486 inherit (callPackage ../development/java-modules/plexus/interpolation.nix { inherit fetchMaven; })
487 plexusInterpolation_1_11
488 plexusInterpolation_1_12
489 plexusInterpolation_1_13
490 plexusInterpolation_1_15;
491
492 inherit (callPackage ../development/java-modules/plexus/io.nix { inherit fetchMaven; })
493 plexusIo_2_0_2;
494
495 inherit (callPackage ../development/java-modules/plexus/utils.nix { inherit fetchMaven; })
496 plexusUtils_1_0_4
497 plexusUtils_1_0_5
498 plexusUtils_1_1
499 plexusUtils_1_4_1
500 plexusUtils_1_4_5
501 plexusUtils_1_4_9
502 plexusUtils_1_5_1
503 plexusUtils_1_5_5
504 plexusUtils_1_5_6
505 plexusUtils_1_5_8
506 plexusUtils_1_5_15
507 plexusUtils_2_0_5
508 plexusUtils_2_0_6
509 plexusUtils_3_0
510 plexusUtils_3_0_5
511 plexusUtils_3_0_8;
512
513 inherit (callPackage ../development/java-modules/sisu/guice.nix { inherit fetchMaven; })
514 sisuGuice_2_9_4;
515
516 inherit (callPackage ../development/java-modules/sisu/inject-bean.nix { inherit fetchMaven; })
517 sisuInjectBean_2_1_1;
518
519 inherit (callPackage ../development/java-modules/sisu/inject-plexus.nix { inherit fetchMaven; })
520 sisuInjectPlexus_2_1_1;
521
522 inherit (callPackage ../development/java-modules/apache/xbean-reflect.nix { inherit fetchMaven; })
523 xbeanReflect_3_4;
524
525 inherit (callPackage ../development/java-modules/xerces/impl.nix { inherit fetchMaven; })
526 xercesImpl_2_8_0;
527
528 inherit (callPackage ../development/java-modules/xml-apis { inherit fetchMaven; })
529 xmlApis_1_3_03;
530}