2018-07-21 00:44:44 +00:00
|
|
|
{ pkgs }:
|
2016-10-30 15:44:56 +00:00
|
|
|
|
|
|
|
with pkgs;
|
|
|
|
|
|
|
|
let
|
2021-10-28 18:46:09 +00:00
|
|
|
openjfx11 = callPackage ../development/compilers/openjdk/openjfx/11.nix { };
|
|
|
|
openjfx15 = callPackage ../development/compilers/openjdk/openjfx/15.nix { };
|
2022-01-14 14:44:08 +00:00
|
|
|
openjfx17 = callPackage ../development/compilers/openjdk/openjfx/17.nix { };
|
openjdk: init 19.0.1
as usual this is mostly copy-pasted from 18, so this commit is best
reviewed with '--find-copies-harder'
stop exposing openjdk 18 since it was not a long-term support release
change the default openjdk from 17 to 19 since nixpkgs is a
rolling-release repository
drop the ceremony around bootstrapping via adoptopenjdk for 64-bit
builds vs. via earlier openjdk builds for 32-bit, because, to be
frank, since we're using temurin now, it's not a simple copy-paste
job. :-/ if someone needs a 32-bit openjdk, that work can be done
separately.
JavaFX revs from 17 to 19; it looks like 18 was never packaged along
with JDK 18.
* the gradle invocation used to build JavaFX must still be done with
Java 18, as gradle does not yet support running itself on Java 19.
* a couple of patches need to be applied, since a new State enum was
introduced in the JDK that collides with one in JavaFX.
* the hash of the gradle dependencies has not changed, which is
surprising, but as far as I can tell correct.
One application (libreoffice) doesn't work with 19 yet, so pin it to
jdk 17 for now.
Co-authored-by: Mario Rodas <marsam@users.noreply.github.com>
2022-10-28 18:49:31 +00:00
|
|
|
openjfx19 = callPackage ../development/compilers/openjdk/openjfx/19.nix { };
|
2023-05-16 07:39:17 +00:00
|
|
|
openjfx20 = callPackage ../development/compilers/openjdk/openjfx/20.nix { };
|
2023-10-08 21:11:55 +00:00
|
|
|
openjfx21 = callPackage ../development/compilers/openjdk/openjfx/21.nix { };
|
2021-10-28 18:46:09 +00:00
|
|
|
|
2023-06-20 16:54:46 +00:00
|
|
|
mavenfod = pkgs.maven.buildMavenPackage;
|
2021-10-03 18:08:18 +00:00
|
|
|
|
2016-10-30 15:44:56 +00:00
|
|
|
in {
|
2023-10-08 21:11:55 +00:00
|
|
|
inherit mavenfod openjfx11 openjfx15 openjfx17 openjfx19 openjfx20 openjfx21;
|
2021-10-28 18:46:09 +00:00
|
|
|
|
|
|
|
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
|
2022-10-10 08:57:08 +00:00
|
|
|
package-linux = import path-linux { inherit stdenv lib; };
|
2021-10-28 18:46:09 +00:00
|
|
|
package-darwin = import path-darwin { inherit lib; };
|
|
|
|
package = if stdenv.isLinux
|
|
|
|
then package-linux
|
|
|
|
else package-darwin;
|
2023-01-31 16:56:09 +00:00
|
|
|
in {
|
2021-10-28 18:46:09 +00:00
|
|
|
inherit package-linux package-darwin;
|
|
|
|
|
|
|
|
jdk-hotspot = callPackage package.jdk-hotspot {};
|
|
|
|
jre-hotspot = callPackage package.jre-hotspot {};
|
2023-11-30 03:19:56 +00:00
|
|
|
} // lib.optionalAttrs (package?jdk-openj9) {
|
2021-10-28 18:46:09 +00:00
|
|
|
jdk-openj9 = callPackage package.jdk-openj9 {};
|
2023-11-30 03:19:56 +00:00
|
|
|
} // lib.optionalAttrs (package?jre-openj9) {
|
2021-10-28 18:46:09 +00:00
|
|
|
jre-openj9 = callPackage package.jre-openj9 {};
|
|
|
|
};
|
|
|
|
|
|
|
|
mkBootstrap = adoptopenjdk: path: args:
|
|
|
|
/* adoptopenjdk not available for i686, so fall back to our old builds for bootstrapping */
|
2022-06-30 00:29:39 +00:00
|
|
|
if !stdenv.hostPlatform.isi686
|
2022-10-03 17:01:57 +00:00
|
|
|
then
|
|
|
|
# only linux has the gtkSupport option
|
|
|
|
if stdenv.isLinux
|
|
|
|
then adoptopenjdk.jdk-hotspot.override { gtkSupport = false; }
|
|
|
|
else adoptopenjdk.jdk-hotspot
|
2021-10-28 18:46:09 +00:00
|
|
|
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; };
|
|
|
|
};
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
2022-03-23 01:56:36 +00:00
|
|
|
adoptopenjdk-17 = mkAdoptopenjdk
|
|
|
|
../development/compilers/adoptopenjdk-bin/jdk17-linux.nix
|
|
|
|
../development/compilers/adoptopenjdk-bin/jdk17-darwin.nix;
|
|
|
|
|
2023-10-20 07:23:40 +00:00
|
|
|
corretto11 = callPackage ../development/compilers/corretto/11.nix { };
|
|
|
|
corretto17 = callPackage ../development/compilers/corretto/17.nix { };
|
|
|
|
corretto19 = callPackage ../development/compilers/corretto/19.nix { };
|
|
|
|
|
2021-10-28 18:46:09 +00:00
|
|
|
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 // {
|
2023-01-31 16:55:22 +00:00
|
|
|
inherit openjdk11-bootstrap;
|
2021-10-28 18:46:09 +00:00
|
|
|
/* 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;
|
|
|
|
});
|
|
|
|
|
2022-08-05 14:35:25 +00:00
|
|
|
openjdk17-bootstrap = mkBootstrap adoptopenjdk-17
|
2021-10-28 18:46:09 +00:00
|
|
|
../development/compilers/openjdk/16.nix
|
|
|
|
(bootstrapArgs // {
|
|
|
|
inherit openjdk16-bootstrap;
|
|
|
|
});
|
|
|
|
|
2022-03-23 01:57:01 +00:00
|
|
|
openjdk18-bootstrap = mkBootstrap adoptopenjdk-17
|
|
|
|
../development/compilers/openjdk/17.nix
|
|
|
|
(bootstrapArgs // {
|
|
|
|
inherit openjdk17-bootstrap;
|
|
|
|
});
|
|
|
|
|
2021-10-28 18:46:09 +00:00
|
|
|
openjdk8 = mkOpenjdk
|
|
|
|
../development/compilers/openjdk/8.nix
|
2023-10-07 23:26:09 +00:00
|
|
|
../development/compilers/zulu/8.nix
|
2021-10-28 18:46:09 +00:00
|
|
|
{ };
|
|
|
|
|
|
|
|
openjdk11 = mkOpenjdk
|
|
|
|
../development/compilers/openjdk/11.nix
|
2023-10-07 23:26:09 +00:00
|
|
|
../development/compilers/zulu/11.nix
|
2021-10-28 18:46:09 +00:00
|
|
|
{ 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
|
2023-10-07 23:26:09 +00:00
|
|
|
../development/compilers/zulu/16.nix
|
2021-10-28 18:46:09 +00:00
|
|
|
{
|
|
|
|
inherit openjdk16-bootstrap;
|
|
|
|
openjfx = openjfx15;
|
|
|
|
};
|
|
|
|
|
|
|
|
openjdk17 = mkOpenjdk
|
|
|
|
../development/compilers/openjdk/17.nix
|
2023-10-07 23:26:09 +00:00
|
|
|
../development/compilers/zulu/17.nix
|
2021-10-28 18:46:09 +00:00
|
|
|
{
|
|
|
|
inherit openjdk17-bootstrap;
|
2022-01-14 14:44:08 +00:00
|
|
|
openjfx = openjfx17;
|
2021-10-28 18:46:09 +00:00
|
|
|
};
|
2021-10-03 11:45:43 +00:00
|
|
|
|
2022-03-23 01:57:01 +00:00
|
|
|
openjdk18 = mkOpenjdk
|
|
|
|
../development/compilers/openjdk/18.nix
|
2023-10-07 23:26:09 +00:00
|
|
|
../development/compilers/zulu/18.nix
|
2022-03-23 01:57:01 +00:00
|
|
|
{
|
|
|
|
inherit openjdk18-bootstrap;
|
|
|
|
openjfx = openjfx17;
|
|
|
|
};
|
2022-09-19 05:35:50 +00:00
|
|
|
|
openjdk: init 19.0.1
as usual this is mostly copy-pasted from 18, so this commit is best
reviewed with '--find-copies-harder'
stop exposing openjdk 18 since it was not a long-term support release
change the default openjdk from 17 to 19 since nixpkgs is a
rolling-release repository
drop the ceremony around bootstrapping via adoptopenjdk for 64-bit
builds vs. via earlier openjdk builds for 32-bit, because, to be
frank, since we're using temurin now, it's not a simple copy-paste
job. :-/ if someone needs a 32-bit openjdk, that work can be done
separately.
JavaFX revs from 17 to 19; it looks like 18 was never packaged along
with JDK 18.
* the gradle invocation used to build JavaFX must still be done with
Java 18, as gradle does not yet support running itself on Java 19.
* a couple of patches need to be applied, since a new State enum was
introduced in the JDK that collides with one in JavaFX.
* the hash of the gradle dependencies has not changed, which is
surprising, but as far as I can tell correct.
One application (libreoffice) doesn't work with 19 yet, so pin it to
jdk 17 for now.
Co-authored-by: Mario Rodas <marsam@users.noreply.github.com>
2022-10-28 18:49:31 +00:00
|
|
|
openjdk19 = mkOpenjdk
|
|
|
|
../development/compilers/openjdk/19.nix
|
2023-10-07 23:26:09 +00:00
|
|
|
../development/compilers/zulu/19.nix
|
openjdk: init 19.0.1
as usual this is mostly copy-pasted from 18, so this commit is best
reviewed with '--find-copies-harder'
stop exposing openjdk 18 since it was not a long-term support release
change the default openjdk from 17 to 19 since nixpkgs is a
rolling-release repository
drop the ceremony around bootstrapping via adoptopenjdk for 64-bit
builds vs. via earlier openjdk builds for 32-bit, because, to be
frank, since we're using temurin now, it's not a simple copy-paste
job. :-/ if someone needs a 32-bit openjdk, that work can be done
separately.
JavaFX revs from 17 to 19; it looks like 18 was never packaged along
with JDK 18.
* the gradle invocation used to build JavaFX must still be done with
Java 18, as gradle does not yet support running itself on Java 19.
* a couple of patches need to be applied, since a new State enum was
introduced in the JDK that collides with one in JavaFX.
* the hash of the gradle dependencies has not changed, which is
surprising, but as far as I can tell correct.
One application (libreoffice) doesn't work with 19 yet, so pin it to
jdk 17 for now.
Co-authored-by: Mario Rodas <marsam@users.noreply.github.com>
2022-10-28 18:49:31 +00:00
|
|
|
{
|
|
|
|
openjdk19-bootstrap = temurin-bin.jdk-19;
|
|
|
|
openjfx = openjfx19;
|
|
|
|
};
|
|
|
|
|
2023-05-16 07:39:17 +00:00
|
|
|
openjdk20 = mkOpenjdk
|
|
|
|
../development/compilers/openjdk/20.nix
|
2023-10-07 23:26:09 +00:00
|
|
|
../development/compilers/zulu/20.nix
|
2023-05-16 07:39:17 +00:00
|
|
|
{
|
|
|
|
openjdk20-bootstrap = temurin-bin.jdk-20;
|
|
|
|
openjfx = openjfx20;
|
|
|
|
};
|
|
|
|
|
2023-10-08 21:11:55 +00:00
|
|
|
openjdk21 = mkOpenjdk
|
|
|
|
../development/compilers/openjdk/21.nix
|
2023-10-08 21:15:19 +00:00
|
|
|
../development/compilers/zulu/21.nix
|
2023-10-08 21:11:55 +00:00
|
|
|
{
|
2023-10-05 13:08:34 +00:00
|
|
|
openjdk21-bootstrap = temurin-bin.jdk-21;
|
2023-10-08 21:11:55 +00:00
|
|
|
openjfx = openjfx21;
|
|
|
|
};
|
|
|
|
|
2021-10-03 11:45:43 +00:00
|
|
|
temurin-bin = recurseIntoAttrs (callPackage (
|
|
|
|
if stdenv.isLinux
|
|
|
|
then ../development/compilers/temurin-bin/jdk-linux.nix
|
|
|
|
else ../development/compilers/temurin-bin/jdk-darwin.nix
|
|
|
|
) {});
|
|
|
|
|
|
|
|
semeru-bin = recurseIntoAttrs (callPackage (
|
|
|
|
if stdenv.isLinux
|
|
|
|
then ../development/compilers/semeru-bin/jdk-linux.nix
|
|
|
|
else ../development/compilers/semeru-bin/jdk-darwin.nix
|
|
|
|
) {});
|
2021-10-28 18:46:09 +00:00
|
|
|
};
|
2016-10-30 15:44:56 +00:00
|
|
|
|
2023-08-03 13:19:11 +00:00
|
|
|
inherit (pkgs.darwin.apple_sdk_11_0.callPackage ../development/java-modules/jogl { })
|
2023-02-27 20:00:15 +00:00
|
|
|
jogl_2_4_0;
|
2016-10-30 15:44:56 +00:00
|
|
|
}
|