diff options
Diffstat (limited to 'pkgs/top-level/java-packages.nix')
-rw-r--r-- | pkgs/top-level/java-packages.nix | 168 |
1 files changed, 167 insertions, 1 deletions
diff --git a/pkgs/top-level/java-packages.nix b/pkgs/top-level/java-packages.nix index 7f1bb6e89a7..cf6474f0da5 100644 --- a/pkgs/top-level/java-packages.nix +++ b/pkgs/top-level/java-packages.nix @@ -5,8 +5,174 @@ with pkgs; let mavenbuild = callPackage ../development/java-modules/build-maven-package.nix { }; fetchMaven = callPackage ../development/java-modules/m2install.nix { }; + + openjfx11 = callPackage ../development/compilers/openjdk/openjfx/11.nix { }; + openjfx15 = callPackage ../development/compilers/openjdk/openjfx/15.nix { }; + in { - inherit mavenbuild fetchMaven; + inherit mavenbuild fetchMaven openjfx11 openjfx15; + + compiler = let + + gnomeArgs = { + inherit (gnome2) GConf gnome_vfs; + }; + + bootstrapArgs = gnomeArgs // { + openjfx = openjfx11; /* need this despite next line :-( */ + enableJavaFX = false; + headless = true; + }; + + mkAdoptopenjdk = path-linux: path-darwin: let + package-linux = import path-linux { inherit lib; }; + package-darwin = import path-darwin { inherit lib; }; + package = if stdenv.isLinux + then package-linux + else package-darwin; + in rec { + inherit package-linux package-darwin; + + jdk-hotspot = callPackage package.jdk-hotspot {}; + jre-hotspot = callPackage package.jre-hotspot {}; + jdk-openj9 = callPackage package.jdk-openj9 {}; + jre-openj9 = callPackage package.jre-openj9 {}; + }; + + mkBootstrap = adoptopenjdk: path: args: + /* adoptopenjdk not available for i686, so fall back to our old builds for bootstrapping */ + if adoptopenjdk.jdk-hotspot.meta.available + then adoptopenjdk.jdk-hotspot + else callPackage path args; + + mkOpenjdk = path-linux: path-darwin: args: + if stdenv.isLinux + then mkOpenjdkLinuxOnly path-linux args + else let + openjdk = callPackage path-darwin {}; + in openjdk // { headless = openjdk; }; + + mkOpenjdkLinuxOnly = path-linux: args: let + openjdk = callPackage path-linux (gnomeArgs // args); + in openjdk // { + headless = openjdk.override { headless = true; }; + }; + + openjdkDarwinMissing = version: + abort "OpenJDK ${builtins.toString version} is currently not supported on Darwin by nixpkgs."; + + in rec { + + adoptopenjdk-8 = mkAdoptopenjdk + ../development/compilers/adoptopenjdk-bin/jdk8-linux.nix + ../development/compilers/adoptopenjdk-bin/jdk8-darwin.nix; + + adoptopenjdk-11 = mkAdoptopenjdk + ../development/compilers/adoptopenjdk-bin/jdk11-linux.nix + ../development/compilers/adoptopenjdk-bin/jdk11-darwin.nix; + + adoptopenjdk-13 = mkAdoptopenjdk + ../development/compilers/adoptopenjdk-bin/jdk13-linux.nix + ../development/compilers/adoptopenjdk-bin/jdk13-darwin.nix; + + adoptopenjdk-14 = mkAdoptopenjdk + ../development/compilers/adoptopenjdk-bin/jdk14-linux.nix + ../development/compilers/adoptopenjdk-bin/jdk14-darwin.nix; + + adoptopenjdk-15 = mkAdoptopenjdk + ../development/compilers/adoptopenjdk-bin/jdk15-linux.nix + ../development/compilers/adoptopenjdk-bin/jdk15-darwin.nix; + + adoptopenjdk-16 = mkAdoptopenjdk + ../development/compilers/adoptopenjdk-bin/jdk16-linux.nix + ../development/compilers/adoptopenjdk-bin/jdk16-darwin.nix; + + openjdk8-bootstrap = mkBootstrap adoptopenjdk-8 + ../development/compilers/openjdk/bootstrap.nix + { version = "8"; }; + + openjdk11-bootstrap = mkBootstrap adoptopenjdk-11 + ../development/compilers/openjdk/bootstrap.nix + { version = "10"; }; + + openjdk13-bootstrap = mkBootstrap adoptopenjdk-13 + ../development/compilers/openjdk/12.nix + (bootstrapArgs // { + /* build segfaults with gcc9 or newer, so use gcc8 like Debian does */ + stdenv = gcc8Stdenv; + }); + + openjdk14-bootstrap = mkBootstrap adoptopenjdk-14 + ../development/compilers/openjdk/13.nix + (bootstrapArgs // { + inherit openjdk13-bootstrap; + }); + + openjdk15-bootstrap = mkBootstrap adoptopenjdk-15 + ../development/compilers/openjdk/14.nix + (bootstrapArgs // { + inherit openjdk14-bootstrap; + }); + + openjdk16-bootstrap = mkBootstrap adoptopenjdk-16 + ../development/compilers/openjdk/15.nix + (bootstrapArgs // { + inherit openjdk15-bootstrap; + }); + + openjdk17-bootstrap = mkBootstrap adoptopenjdk-16 + ../development/compilers/openjdk/16.nix + (bootstrapArgs // { + inherit openjdk16-bootstrap; + }); + + openjdk8 = mkOpenjdk + ../development/compilers/openjdk/8.nix + ../development/compilers/openjdk/darwin/8.nix + { }; + + openjdk11 = mkOpenjdk + ../development/compilers/openjdk/11.nix + ../development/compilers/openjdk/darwin/11.nix + { openjfx = openjfx11; }; + + openjdk12 = mkOpenjdkLinuxOnly ../development/compilers/openjdk/12.nix { + /* build segfaults with gcc9 or newer, so use gcc8 like Debian does */ + stdenv = gcc8Stdenv; + openjfx = openjfx11; + }; + + openjdk13 = mkOpenjdkLinuxOnly ../development/compilers/openjdk/13.nix { + inherit openjdk13-bootstrap; + openjfx = openjfx11; + }; + + openjdk14 = mkOpenjdkLinuxOnly ../development/compilers/openjdk/14.nix { + inherit openjdk14-bootstrap; + openjfx = openjfx11; + }; + + openjdk15 = mkOpenjdkLinuxOnly ../development/compilers/openjdk/15.nix { + inherit openjdk15-bootstrap; + openjfx = openjfx15; + }; + + openjdk16 = mkOpenjdk + ../development/compilers/openjdk/16.nix + ../development/compilers/openjdk/darwin/16.nix + { + inherit openjdk16-bootstrap; + openjfx = openjfx15; + }; + + openjdk17 = mkOpenjdk + ../development/compilers/openjdk/17.nix + ../development/compilers/openjdk/darwin/17.nix + { + inherit openjdk17-bootstrap; + openjfx = openjfx15; + }; + }; mavenPlugins = recurseIntoAttrs (callPackage ../development/java-modules/mavenPlugins.nix { }); |