2018-07-21 00:44:44 +00:00
|
|
|
{ pkgs }:
|
2016-10-30 15:44:56 +00:00
|
|
|
|
|
|
|
with pkgs;
|
|
|
|
|
|
|
|
let
|
2024-06-30 06:06:26 +00:00
|
|
|
openjfx11 = callPackage ../development/compilers/openjdk/openjfx/11 { };
|
|
|
|
openjfx17 = callPackage ../development/compilers/openjdk/openjfx/17 { };
|
|
|
|
openjfx19 = callPackage ../development/compilers/openjdk/openjfx/19 { };
|
|
|
|
openjfx20 = callPackage ../development/compilers/openjdk/openjfx/20 { };
|
|
|
|
openjfx21 = callPackage ../development/compilers/openjdk/openjfx/21 { };
|
|
|
|
openjfx22 = callPackage ../development/compilers/openjdk/openjfx/22 { };
|
2021-10-28 18:46:09 +00:00
|
|
|
|
2016-10-30 15:44:56 +00:00
|
|
|
in {
|
openjdk: remove adoptopenjdk-bin, openjdk 12/13/14/15/16
AdoptOpenJDK is a long-deprecated project, having been superceded by
Eclipse Temurin quite a while ago. Additionally, after running the
generate sources command, many of its subpackages fail to evaluate due
to missing binaries for versions the package expects. Because everything
provided by AdoptOpenJDK is either long-deprecated or also provided by
Temurin, its removal should not cause many problems.
By the same token, OpenJDK 12, 13, 14, 15, and 16 have also all been long
deemed EOL, and 13/14 are both actively broken and fail to build. These
packages, and their associated (and unnecessary) bootstrap chain are a
major factor in the tech debt of OpenJDK as an ecosystem in Nixpkgs.
OpenJDK 16 was the only user of OpenJFX 15, so it has also been removed.
By removing these packages, OpenJDK should hopefully be more
maintainable into the future.
2024-05-10 00:47:39 +00:00
|
|
|
inherit openjfx11 openjfx17 openjfx19 openjfx20 openjfx21 openjfx22;
|
2021-10-28 18:46:09 +00:00
|
|
|
|
|
|
|
compiler = let
|
|
|
|
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
|
2024-06-26 08:25:21 +00:00
|
|
|
openjdk = callPackage path-linux (args);
|
2024-02-08 22:09:43 +00:00
|
|
|
in assert stdenv.isLinux; openjdk // {
|
2021-10-28 18:46:09 +00:00
|
|
|
headless = openjdk.override { headless = true; };
|
|
|
|
};
|
|
|
|
|
|
|
|
in rec {
|
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 { };
|
2024-04-26 07:05:55 +00:00
|
|
|
corretto21 = callPackage ../development/compilers/corretto/21.nix { };
|
2023-10-20 07:23:40 +00:00
|
|
|
|
openjdk: remove adoptopenjdk-bin, openjdk 12/13/14/15/16
AdoptOpenJDK is a long-deprecated project, having been superceded by
Eclipse Temurin quite a while ago. Additionally, after running the
generate sources command, many of its subpackages fail to evaluate due
to missing binaries for versions the package expects. Because everything
provided by AdoptOpenJDK is either long-deprecated or also provided by
Temurin, its removal should not cause many problems.
By the same token, OpenJDK 12, 13, 14, 15, and 16 have also all been long
deemed EOL, and 13/14 are both actively broken and fail to build. These
packages, and their associated (and unnecessary) bootstrap chain are a
major factor in the tech debt of OpenJDK as an ecosystem in Nixpkgs.
OpenJDK 16 was the only user of OpenJFX 15, so it has also been removed.
By removing these packages, OpenJDK should hopefully be more
maintainable into the future.
2024-05-10 00:47:39 +00:00
|
|
|
openjdk8-bootstrap = temurin-bin.jdk-8;
|
|
|
|
|
|
|
|
openjdk11-bootstrap = temurin-bin.jdk-11;
|
|
|
|
|
|
|
|
openjdk17-bootstrap = temurin-bin.jdk-17;
|
2022-03-23 01:57:01 +00:00
|
|
|
|
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; };
|
|
|
|
|
|
|
|
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
|
|
|
{
|
openjdk: remove adoptopenjdk-bin, openjdk 12/13/14/15/16
AdoptOpenJDK is a long-deprecated project, having been superceded by
Eclipse Temurin quite a while ago. Additionally, after running the
generate sources command, many of its subpackages fail to evaluate due
to missing binaries for versions the package expects. Because everything
provided by AdoptOpenJDK is either long-deprecated or also provided by
Temurin, its removal should not cause many problems.
By the same token, OpenJDK 12, 13, 14, 15, and 16 have also all been long
deemed EOL, and 13/14 are both actively broken and fail to build. These
packages, and their associated (and unnecessary) bootstrap chain are a
major factor in the tech debt of OpenJDK as an ecosystem in Nixpkgs.
OpenJDK 16 was the only user of OpenJFX 15, so it has also been removed.
By removing these packages, OpenJDK should hopefully be more
maintainable into the future.
2024-05-10 00:47:39 +00:00
|
|
|
openjdk18-bootstrap = temurin-bin.jdk-18;
|
2022-03-23 01:57:01 +00:00
|
|
|
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;
|
|
|
|
};
|
|
|
|
|
2024-03-12 22:11:00 +00:00
|
|
|
openjdk22 = mkOpenjdk
|
|
|
|
../development/compilers/openjdk/22.nix
|
|
|
|
../development/compilers/zulu/22.nix
|
|
|
|
{
|
2024-04-29 17:48:02 +00:00
|
|
|
openjdk22-bootstrap = temurin-bin.jdk-22;
|
2024-03-12 22:11:00 +00:00
|
|
|
openjfx = openjfx22;
|
|
|
|
};
|
|
|
|
|
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
|
|
|
}
|
2024-02-06 15:05:49 +00:00
|
|
|
// lib.optionalAttrs config.allowAliases {
|
2024-02-10 17:00:38 +00:00
|
|
|
jogl_2_4_0 = throw "'jogl_2_4_0' is renamed to/replaced by 'jogl'";
|
2024-02-06 15:05:49 +00:00
|
|
|
mavenfod = throw "'mavenfod' is renamed to/replaced by 'maven.buildMavenPackage'";
|
|
|
|
}
|