Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
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
54 # Legacy aliases
55 openjdk8-bootstrap = temurin-bin.jdk-8;
56 openjdk11-bootstrap = temurin-bin.jdk-11;
57 openjdk17-bootstrap = temurin-bin.jdk-17;
58
59 temurin-bin = recurseIntoAttrs (
60 let
61 temurinLinux = import ../development/compilers/temurin-bin/jdk-linux.nix {
62 inherit (pkgs) lib callPackage stdenv;
63 };
64 temurinDarwin = import ../development/compilers/temurin-bin/jdk-darwin.nix {
65 inherit (pkgs) lib callPackage;
66 };
67 in
68 lib.mapAttrs (name: drv: mkLinuxDarwin drv temurinDarwin.${name}) temurinLinux
69 );
70
71 semeru-bin = recurseIntoAttrs (
72 let
73 semeruLinux = import ../development/compilers/semeru-bin/jdk-linux.nix {
74 inherit (pkgs) lib callPackage;
75 };
76 semeruDarwin = import ../development/compilers/semeru-bin/jdk-darwin.nix {
77 inherit (pkgs) lib callPackage;
78 };
79 in
80 lib.mapAttrs (name: drv: mkLinuxDarwin drv semeruDarwin.${name}) semeruLinux
81 );
82 };
83}
84// lib.optionalAttrs config.allowAliases {
85 jogl_2_4_0 = throw "'jogl_2_4_0' is renamed to/replaced by 'jogl'";
86 mavenfod = throw "'mavenfod' is renamed to/replaced by 'maven.buildMavenPackage'";
87}