summary refs log tree commit diff
diff options
context:
space:
mode:
authortaku0 <mxxouy6x3m_github@tatapa.org>2021-10-03 20:45:43 +0900
committertaku0 <mxxouy6x3m_github@tatapa.org>2022-09-12 16:29:36 +0900
commitc74221839b5e20a1260a77a9823ab7d3d9d1a5fa (patch)
tree0d47c71202cea7052c1db2c41bbaa515387b717c
parentee9eec33539e1e2961334374b5ae1f7560ea871b (diff)
downloadnixpkgs-c74221839b5e20a1260a77a9823ab7d3d9d1a5fa.tar
nixpkgs-c74221839b5e20a1260a77a9823ab7d3d9d1a5fa.tar.gz
nixpkgs-c74221839b5e20a1260a77a9823ab7d3d9d1a5fa.tar.bz2
nixpkgs-c74221839b5e20a1260a77a9823ab7d3d9d1a5fa.tar.lz
nixpkgs-c74221839b5e20a1260a77a9823ab7d3d9d1a5fa.tar.xz
nixpkgs-c74221839b5e20a1260a77a9823ab7d3d9d1a5fa.tar.zst
nixpkgs-c74221839b5e20a1260a77a9823ab7d3d9d1a5fa.zip
temurin-bin, semeru-bin: init at 17.0.3, adoptopenjdk-bin: remove 13, 14, 17
AdoptOpenJDK Hotspot is now Eclipse Temurin and AdoptOpenJDK OpenJ9 is
now IBM Semeru Runtime.

Adds `temurin-bin` and `semeru-bin` packages.

AdoptOpenJDK 13, 14, and 15 is no longer supported.  AdoptOpenJDK 13 and
14 are removed.  AdoptOpenJDK 15 is left only for some packages
depending it.
-rwxr-xr-xpkgs/development/compilers/adoptopenjdk-bin/generate-sources.py5
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/jdk17-darwin.nix8
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/jdk17-linux.nix8
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/sources.json54
-rwxr-xr-xpkgs/development/compilers/semeru-bin/generate-sources.py85
-rw-r--r--pkgs/development/compilers/semeru-bin/jdk-darwin-base.nix5
-rw-r--r--pkgs/development/compilers/semeru-bin/jdk-darwin.nix16
-rw-r--r--pkgs/development/compilers/semeru-bin/jdk-linux-base.nix5
-rw-r--r--pkgs/development/compilers/semeru-bin/jdk-linux.nix16
-rw-r--r--pkgs/development/compilers/semeru-bin/sources.json248
-rwxr-xr-xpkgs/development/compilers/temurin-bin/generate-sources.py71
-rw-r--r--pkgs/development/compilers/temurin-bin/jdk-darwin-base.nix74
-rw-r--r--pkgs/development/compilers/temurin-bin/jdk-darwin.nix15
-rw-r--r--pkgs/development/compilers/temurin-bin/jdk-linux-base.nix129
-rw-r--r--pkgs/development/compilers/temurin-bin/jdk-linux.nix15
-rw-r--r--pkgs/development/compilers/temurin-bin/sources.json306
-rw-r--r--pkgs/top-level/aliases.nix2
-rw-r--r--pkgs/top-level/all-packages.nix156
-rw-r--r--pkgs/top-level/java-packages.nix12
19 files changed, 1044 insertions, 186 deletions
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py b/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py
index 6c60fc5c490..a4ad5932ae0 100755
--- a/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py
+++ b/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py
@@ -6,7 +6,8 @@ import re
 import requests
 import sys
 
-releases = ("openjdk8", "openjdk11", "openjdk13", "openjdk14", "openjdk15", "openjdk16", "openjdk17")
+# openjdk15 is only for bootstrapping openjdk
+releases = ("openjdk8", "openjdk11", "openjdk13", "openjdk14", "openjdk15", "openjdk16")
 oses = ("mac", "linux")
 types = ("jre", "jdk")
 impls = ("hotspot", "openj9")
@@ -21,7 +22,7 @@ arch_to_nixos = {
 def get_sha256(url):
     resp = requests.get(url)
     if resp.status_code != 200:
-        print("error: could not fetch checksum from url {}: code {}".format(url, resp.code), file=sys.stderr)
+        print("error: could not fetch checksum from url {}: code {}".format(url, resp.status_code), file=sys.stderr)
         sys.exit(1)
     return resp.text.strip().split(" ")[0]
 
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk17-darwin.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk17-darwin.nix
deleted file mode 100644
index 7f211ac1f1e..00000000000
--- a/pkgs/development/compilers/adoptopenjdk-bin/jdk17-darwin.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ lib }:
-
-let
-  sources = lib.importJSON ./sources.json;
-in
-{
-  jdk-hotspot = import ./jdk-darwin-base.nix { sourcePerArch = sources.openjdk17.mac.jdk.hotspot; };
-}
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk17-linux.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk17-linux.nix
deleted file mode 100644
index f1bd072bc92..00000000000
--- a/pkgs/development/compilers/adoptopenjdk-bin/jdk17-linux.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ lib }:
-
-let
-  sources = lib.importJSON ./sources.json;
-in
-{
-  jdk-hotspot = import ./jdk-linux-base.nix { sourcePerArch = sources.openjdk17.linux.jdk.hotspot; };
-}
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/sources.json b/pkgs/development/compilers/adoptopenjdk-bin/sources.json
index 3b93a26c158..80b3d1709cd 100644
--- a/pkgs/development/compilers/adoptopenjdk-bin/sources.json
+++ b/pkgs/development/compilers/adoptopenjdk-bin/sources.json
@@ -793,60 +793,6 @@
       }
     }
   },
-  "openjdk17": {
-    "linux": {
-      "jdk": {
-        "hotspot": {
-          "aarch64": {
-            "build": "12",
-            "sha256": "f23d482b2b4ada08166201d1a0e299e3e371fdca5cd7288dcbd81ae82f3a75e3",
-            "url": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.1%2B12/OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.1_12.tar.gz",
-            "version": "17.0.1"
-          },
-          "armv6l": {
-            "build": "12",
-            "sha256": "f5945a39929384235e7cb1c57df071b8c7e49274632e2a54e54b2bad05de21a5",
-            "url": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.1%2B12/OpenJDK17U-jdk_arm_linux_hotspot_17.0.1_12.tar.gz",
-            "version": "17.0.1"
-          },
-          "armv7l": {
-            "build": "12",
-            "sha256": "f5945a39929384235e7cb1c57df071b8c7e49274632e2a54e54b2bad05de21a5",
-            "url": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.1%2B12/OpenJDK17U-jdk_arm_linux_hotspot_17.0.1_12.tar.gz",
-            "version": "17.0.1"
-          },
-          "packageType": "jdk",
-          "vmType": "hotspot",
-          "x86_64": {
-            "build": "12",
-            "sha256": "6ea18c276dcbb8522feeebcfc3a4b5cb7c7e7368ba8590d3326c6c3efc5448b6",
-            "url": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.1%2B12/OpenJDK17U-jdk_x64_linux_hotspot_17.0.1_12.tar.gz",
-            "version": "17.0.1"
-          }
-        }
-      }
-    },
-    "mac": {
-      "jdk": {
-        "hotspot": {
-          "aarch64": {
-            "build": "12",
-            "sha256": "02073590da24421e119ddebe6b061bf132fa68694c60706f092d32d963822554",
-            "url": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.1%2B12/OpenJDK17U-jdk_aarch64_mac_hotspot_17.0.1_12.tar.gz",
-            "version": "17.0.1"
-          },
-          "packageType": "jdk",
-          "vmType": "hotspot",
-          "x86_64": {
-            "build": "12",
-            "sha256": "98a759944a256dbdd4d1113459c7638501f4599a73d06549ac309e1982e2fa70",
-            "url": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.1%2B12/OpenJDK17U-jdk_x64_mac_hotspot_17.0.1_12.tar.gz",
-            "version": "17.0.1"
-          }
-        }
-      }
-    }
-  },
   "openjdk8": {
     "linux": {
       "jdk": {
diff --git a/pkgs/development/compilers/semeru-bin/generate-sources.py b/pkgs/development/compilers/semeru-bin/generate-sources.py
new file mode 100755
index 00000000000..da23559955d
--- /dev/null
+++ b/pkgs/development/compilers/semeru-bin/generate-sources.py
@@ -0,0 +1,85 @@
+#!/usr/bin/env nix-shell
+#!nix-shell --pure -i python3 -p "python3.withPackages (ps: with ps; [ requests ])"
+
+import json
+import re
+import requests
+import sys
+
+feature_versions = (8, 11, 16, 17)
+oses = ("mac", "linux")
+types = ("jre", "jdk")
+impls = ("openj9")
+
+arch_to_nixos = {
+    "x64": ("x86_64",),
+    "aarch64": ("aarch64",),
+    "arm": ("armv6l", "armv7l"),
+}
+
+def get_sha256(url):
+    resp = requests.get(url)
+    if resp.status_code != 200:
+        print("error: could not fetch checksum from url {}: code {}".format(url, resp.status_code), file=sys.stderr)
+        sys.exit(1)
+    return resp.text.strip().split(" ")[0]
+
+def generate_sources(releases, feature_version, out):
+    latest_version = None
+    for release in releases:
+        if release["prerelease"]: continue
+        if not re.search("_openj9-", release["name"]): continue
+
+        for asset in release["assets"]:
+            match = re.match("ibm-semeru-open-(?P<image_type>[a-z]*)_(?P<architecture>[a-z0-9]*)_(?P<os>[a-z]*)_(?:(?P<major1>[0-9]*)u(?P<security1>[0-9]*)b(?P<build1>[0-9]*)|(?P<major2>[0-9]*)\\.(?P<minor2>[0-9]*)\\.(?P<security2>[0-9]*)_(?P<build2>[0-9]*))_(?P<jvm_impl>[a-z0-9]*)-[0-9]*\\.[0-9]*\\.[0-9]\\.tar\\.gz$", asset["name"])
+
+            if not match: continue
+            if match["os"] not in oses: continue
+            if match["image_type"] not in types: continue
+            if match["jvm_impl"] not in impls: continue
+            if match["architecture"] not in arch_to_nixos: continue
+
+            version = ".".join([
+                match["major1"] or match["major2"],
+                match["minor2"] or "0",
+                match["security1"] or match["security2"]
+            ])
+            build = match["build1"] or match["build2"]
+
+            if latest_version and latest_version != (version, build): continue
+            latest_version = (version, build)
+
+            arch_map = (
+                out
+                .setdefault(match["jvm_impl"], {})
+                .setdefault(match["os"], {})
+                .setdefault(match["image_type"], {})
+                .setdefault(feature_version, {
+                    "packageType": match["image_type"],
+                    "vmType": match["jvm_impl"],
+                })
+            )
+
+            for nixos_arch in arch_to_nixos[match["architecture"]]:
+                arch_map[nixos_arch] = {
+                    "url": asset["browser_download_url"],
+                    "sha256": get_sha256(asset["browser_download_url"] + ".sha256.txt"),
+                    "version": version,
+                    "build": build,
+                }
+
+    return out
+
+
+out = {}
+for feature_version in feature_versions:
+    resp = requests.get(f"https://api.github.com/repos/ibmruntimes/semeru{feature_version}-binaries/releases")
+
+    if resp.status_code != 200:
+        print("error: could not fetch data for release {} (code {}) {}".format(feature_version, resp.status_code, resp.content), file=sys.stderr)
+        sys.exit(1)
+    generate_sources(resp.json(), f"openjdk{feature_version}", out)
+
+with open("sources.json", "w") as f:
+    json.dump(out, f, indent=2, sort_keys=True)
+    f.write('\n')
diff --git a/pkgs/development/compilers/semeru-bin/jdk-darwin-base.nix b/pkgs/development/compilers/semeru-bin/jdk-darwin-base.nix
new file mode 100644
index 00000000000..ccbc7d871e8
--- /dev/null
+++ b/pkgs/development/compilers/semeru-bin/jdk-darwin-base.nix
@@ -0,0 +1,5 @@
+args:
+import ../temurin-bin/jdk-darwin-base.nix ({
+  name-prefix = "semeru";
+  brand-name = "IBM Semeru Runtime";
+} // args)
diff --git a/pkgs/development/compilers/semeru-bin/jdk-darwin.nix b/pkgs/development/compilers/semeru-bin/jdk-darwin.nix
new file mode 100644
index 00000000000..f58fec3a84c
--- /dev/null
+++ b/pkgs/development/compilers/semeru-bin/jdk-darwin.nix
@@ -0,0 +1,16 @@
+{ lib, callPackage }:
+
+let
+  sources = (lib.importJSON ./sources.json).openj9.mac;
+  common = opts: callPackage (import ./jdk-darwin-base.nix opts) {};
+in
+{
+  jdk-8 = common { sourcePerArch = sources.jdk.openjdk8; };
+  jre-8 = common { sourcePerArch = sources.jre.openjdk8; };
+  jdk-11 = common { sourcePerArch = sources.jdk.openjdk11; };
+  jre-11 = common { sourcePerArch = sources.jre.openjdk11; };
+  jdk-16 = common { sourcePerArch = sources.jdk.openjdk16; };
+  jre-16 = common { sourcePerArch = sources.jre.openjdk16; };
+  jdk-17 = common { sourcePerArch = sources.jdk.openjdk17; };
+  jre-17 = common { sourcePerArch = sources.jre.openjdk17; };
+}
diff --git a/pkgs/development/compilers/semeru-bin/jdk-linux-base.nix b/pkgs/development/compilers/semeru-bin/jdk-linux-base.nix
new file mode 100644
index 00000000000..41879ea8868
--- /dev/null
+++ b/pkgs/development/compilers/semeru-bin/jdk-linux-base.nix
@@ -0,0 +1,5 @@
+args:
+import ../temurin-bin/jdk-linux-base.nix ({
+  name-prefix = "semeru";
+  brand-name = "IBM Semeru Runtime";
+} // args)
diff --git a/pkgs/development/compilers/semeru-bin/jdk-linux.nix b/pkgs/development/compilers/semeru-bin/jdk-linux.nix
new file mode 100644
index 00000000000..c80dd991bf0
--- /dev/null
+++ b/pkgs/development/compilers/semeru-bin/jdk-linux.nix
@@ -0,0 +1,16 @@
+{ lib, callPackage }:
+
+let
+  sources = (lib.importJSON ./sources.json).openj9.linux;
+  common = opts: callPackage (import ./jdk-linux-base.nix opts) {};
+in
+{
+  jdk-8 = common { sourcePerArch = sources.jdk.openjdk8; };
+  jre-8 = common { sourcePerArch = sources.jre.openjdk8; };
+  jdk-11 = common { sourcePerArch = sources.jdk.openjdk11; };
+  jre-11 = common { sourcePerArch = sources.jre.openjdk11; };
+  jdk-16 = common { sourcePerArch = sources.jdk.openjdk16; };
+  jre-16 = common { sourcePerArch = sources.jre.openjdk16; };
+  jdk-17 = common { sourcePerArch = sources.jdk.openjdk17; };
+  jre-17 = common { sourcePerArch = sources.jre.openjdk17; };
+}
diff --git a/pkgs/development/compilers/semeru-bin/sources.json b/pkgs/development/compilers/semeru-bin/sources.json
new file mode 100644
index 00000000000..5e04fa90af7
--- /dev/null
+++ b/pkgs/development/compilers/semeru-bin/sources.json
@@ -0,0 +1,248 @@
+{
+  "openj9": {
+    "linux": {
+      "jdk": {
+        "openjdk11": {
+          "aarch64": {
+            "build": "8",
+            "sha256": "488739171f84e3949df6ccb1c40eaf1b73541748b123d88780329648d6b383d0",
+            "url": "https://github.com/ibmruntimes/semeru11-binaries/releases/download/jdk-11.0.16%2B8_openj9-0.33.0/ibm-semeru-open-jdk_aarch64_linux_11.0.16_8_openj9-0.33.0.tar.gz",
+            "version": "11.0.16"
+          },
+          "packageType": "jdk",
+          "vmType": "openj9",
+          "x86_64": {
+            "build": "8",
+            "sha256": "eeca01d4e245a001d01663c5c20a8d50ef3d572b47a9b3689a5154f2a37bf005",
+            "url": "https://github.com/ibmruntimes/semeru11-binaries/releases/download/jdk-11.0.16%2B8_openj9-0.33.0/ibm-semeru-open-jdk_x64_linux_11.0.16_8_openj9-0.33.0.tar.gz",
+            "version": "11.0.16"
+          }
+        },
+        "openjdk16": {
+          "aarch64": {
+            "build": "7",
+            "sha256": "022cda1210331488c3db3d0d1282ea74467397fdabc34cb482cdfe81c45f6a15",
+            "url": "https://github.com/ibmruntimes/semeru16-binaries/releases/download/jdk-16.0.2%2B7_openj9-0.27.0/ibm-semeru-open-jdk_aarch64_linux_16.0.2_7_openj9-0.27.0.tar.gz",
+            "version": "16.0.2"
+          },
+          "packageType": "jdk",
+          "vmType": "openj9",
+          "x86_64": {
+            "build": "7",
+            "sha256": "1349eb9a1d9af491a1984d66a80126730357c4a5c4fcbe7112a2c832f6c0886e",
+            "url": "https://github.com/ibmruntimes/semeru16-binaries/releases/download/jdk-16.0.2%2B7_openj9-0.27.0/ibm-semeru-open-jdk_x64_linux_16.0.2_7_openj9-0.27.0.tar.gz",
+            "version": "16.0.2"
+          }
+        },
+        "openjdk17": {
+          "aarch64": {
+            "build": "8",
+            "sha256": "18d291411ee4a956018b4dcefe436971e73694128782617f1b44beca991956c5",
+            "url": "https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.4%2B8_openj9-0.33.0/ibm-semeru-open-jdk_aarch64_linux_17.0.4_8_openj9-0.33.0.tar.gz",
+            "version": "17.0.4"
+          },
+          "packageType": "jdk",
+          "vmType": "openj9",
+          "x86_64": {
+            "build": "8",
+            "sha256": "78ae15d9e01fce3a473f4d6a90c331fb766211b950931088c2a85590f178ad39",
+            "url": "https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.4%2B8_openj9-0.33.0/ibm-semeru-open-jdk_x64_linux_17.0.4_8_openj9-0.33.0.tar.gz",
+            "version": "17.0.4"
+          }
+        },
+        "openjdk8": {
+          "aarch64": {
+            "build": "01",
+            "sha256": "6b89e648899709459b7c7dbe0a5b1ea480a88da84c6163f01255d638dbdd051b",
+            "url": "https://github.com/ibmruntimes/semeru8-binaries/releases/download/8u345-b01_openj9-0.33.0/ibm-semeru-open-jdk_aarch64_linux_8u345b01_openj9-0.33.0.tar.gz",
+            "version": "8.0.345"
+          },
+          "packageType": "jdk",
+          "vmType": "openj9",
+          "x86_64": {
+            "build": "01",
+            "sha256": "82c8232a5cb420246457d65a5014602feb8b288079cdae896e22a2eb6e390b58",
+            "url": "https://github.com/ibmruntimes/semeru8-binaries/releases/download/8u345-b01_openj9-0.33.0/ibm-semeru-open-jdk_x64_linux_8u345b01_openj9-0.33.0.tar.gz",
+            "version": "8.0.345"
+          }
+        }
+      },
+      "jre": {
+        "openjdk11": {
+          "aarch64": {
+            "build": "8",
+            "sha256": "49dc05a3e9f3f99c5f8fa466261aa3e33a753694c67cabfa7d3f682e5a2e3685",
+            "url": "https://github.com/ibmruntimes/semeru11-binaries/releases/download/jdk-11.0.16%2B8_openj9-0.33.0/ibm-semeru-open-jre_aarch64_linux_11.0.16_8_openj9-0.33.0.tar.gz",
+            "version": "11.0.16"
+          },
+          "packageType": "jre",
+          "vmType": "openj9",
+          "x86_64": {
+            "build": "8",
+            "sha256": "ba09711193b8b8664478f3f949b5320232f65c1bdf61f32a885d84de73c02767",
+            "url": "https://github.com/ibmruntimes/semeru11-binaries/releases/download/jdk-11.0.16%2B8_openj9-0.33.0/ibm-semeru-open-jre_x64_linux_11.0.16_8_openj9-0.33.0.tar.gz",
+            "version": "11.0.16"
+          }
+        },
+        "openjdk16": {
+          "aarch64": {
+            "build": "7",
+            "sha256": "575dc3827077fc661fd1103effaa13ccd0f1606d01a33643956ed2eb1ece9763",
+            "url": "https://github.com/ibmruntimes/semeru16-binaries/releases/download/jdk-16.0.2%2B7_openj9-0.27.0/ibm-semeru-open-jre_aarch64_linux_16.0.2_7_openj9-0.27.0.tar.gz",
+            "version": "16.0.2"
+          },
+          "packageType": "jre",
+          "vmType": "openj9",
+          "x86_64": {
+            "build": "7",
+            "sha256": "b077cd0b35d3ed1927c22e5b498264ecff67297992809056187b42662edfc536",
+            "url": "https://github.com/ibmruntimes/semeru16-binaries/releases/download/jdk-16.0.2%2B7_openj9-0.27.0/ibm-semeru-open-jre_x64_linux_16.0.2_7_openj9-0.27.0.tar.gz",
+            "version": "16.0.2"
+          }
+        },
+        "openjdk17": {
+          "aarch64": {
+            "build": "8",
+            "sha256": "6c40c1e0d7ee0509c44465e9f26dd970904137a95fd751e6447b1d6a9ef5092a",
+            "url": "https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.4%2B8_openj9-0.33.0/ibm-semeru-open-jre_aarch64_linux_17.0.4_8_openj9-0.33.0.tar.gz",
+            "version": "17.0.4"
+          },
+          "packageType": "jre",
+          "vmType": "openj9",
+          "x86_64": {
+            "build": "8",
+            "sha256": "b2c176f8aa8cc7138d4c22ce9298d8f49597e1d8e3fdd33125898e5ee0182c93",
+            "url": "https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.4%2B8_openj9-0.33.0/ibm-semeru-open-jre_x64_linux_17.0.4_8_openj9-0.33.0.tar.gz",
+            "version": "17.0.4"
+          }
+        },
+        "openjdk8": {
+          "aarch64": {
+            "build": "01",
+            "sha256": "03caff41622e84a6e7fa66a225414a9b6eefb38dd215f830cae0bc4bbfc55b5c",
+            "url": "https://github.com/ibmruntimes/semeru8-binaries/releases/download/8u345-b01_openj9-0.33.0/ibm-semeru-open-jre_aarch64_linux_8u345b01_openj9-0.33.0.tar.gz",
+            "version": "8.0.345"
+          },
+          "packageType": "jre",
+          "vmType": "openj9",
+          "x86_64": {
+            "build": "01",
+            "sha256": "0d4fe62716b9da2ccce324b5b46d57e8d47e5dfb5d128f87e16135ee9bc36cdc",
+            "url": "https://github.com/ibmruntimes/semeru8-binaries/releases/download/8u345-b01_openj9-0.33.0/ibm-semeru-open-jre_x64_linux_8u345b01_openj9-0.33.0.tar.gz",
+            "version": "8.0.345"
+          }
+        }
+      }
+    },
+    "mac": {
+      "jdk": {
+        "openjdk11": {
+          "aarch64": {
+            "build": "8",
+            "sha256": "9881b292142a129f6f5c6b21608b090f8f94625052b4f7d0ce5bd982c054ca2e",
+            "url": "https://github.com/ibmruntimes/semeru11-binaries/releases/download/jdk-11.0.16%2B8_openj9-0.33.0/ibm-semeru-open-jdk_aarch64_mac_11.0.16_8_openj9-0.33.0.tar.gz",
+            "version": "11.0.16"
+          },
+          "packageType": "jdk",
+          "vmType": "openj9",
+          "x86_64": {
+            "build": "8",
+            "sha256": "8638735d2cae3efff212f898728685380355bb0a298076e9e46244d0bf3d4a64",
+            "url": "https://github.com/ibmruntimes/semeru11-binaries/releases/download/jdk-11.0.16%2B8_openj9-0.33.0/ibm-semeru-open-jdk_x64_mac_11.0.16_8_openj9-0.33.0.tar.gz",
+            "version": "11.0.16"
+          }
+        },
+        "openjdk16": {
+          "packageType": "jdk",
+          "vmType": "openj9",
+          "x86_64": {
+            "build": "7",
+            "sha256": "89e807261145243a358a2a626f64340944c03622f34eaa35429053e2085d7aef",
+            "url": "https://github.com/ibmruntimes/semeru16-binaries/releases/download/jdk-16.0.2%2B7_openj9-0.27.0/ibm-semeru-open-jdk_x64_mac_16.0.2_7_openj9-0.27.0.tar.gz",
+            "version": "16.0.2"
+          }
+        },
+        "openjdk17": {
+          "aarch64": {
+            "build": "8",
+            "sha256": "bf22628b54115dff9939b94751531544ab735b7cbbc8d6ddfe83d1b04df3a532",
+            "url": "https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.4%2B8_openj9-0.33.0/ibm-semeru-open-jdk_aarch64_mac_17.0.4_8_openj9-0.33.0.tar.gz",
+            "version": "17.0.4"
+          },
+          "packageType": "jdk",
+          "vmType": "openj9",
+          "x86_64": {
+            "build": "8",
+            "sha256": "a935f20564e347a9292955c04eb57e51efdb1853ae7f0b4fe759b22c9fe248be",
+            "url": "https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.4%2B8_openj9-0.33.0/ibm-semeru-open-jdk_x64_mac_17.0.4_8_openj9-0.33.0.tar.gz",
+            "version": "17.0.4"
+          }
+        },
+        "openjdk8": {
+          "packageType": "jdk",
+          "vmType": "openj9",
+          "x86_64": {
+            "build": "01",
+            "sha256": "c69086950c006b17484a70ef7bc85e92d121be15e69e282e1446fd238d42b6b4",
+            "url": "https://github.com/ibmruntimes/semeru8-binaries/releases/download/8u345-b01_openj9-0.33.0/ibm-semeru-open-jdk_x64_mac_8u345b01_openj9-0.33.0.tar.gz",
+            "version": "8.0.345"
+          }
+        }
+      },
+      "jre": {
+        "openjdk11": {
+          "aarch64": {
+            "build": "8",
+            "sha256": "39802020896476342dc11486e3cbdf10f6311c172abeb4a1e2931b472da4417e",
+            "url": "https://github.com/ibmruntimes/semeru11-binaries/releases/download/jdk-11.0.16%2B8_openj9-0.33.0/ibm-semeru-open-jre_aarch64_mac_11.0.16_8_openj9-0.33.0.tar.gz",
+            "version": "11.0.16"
+          },
+          "packageType": "jre",
+          "vmType": "openj9",
+          "x86_64": {
+            "build": "8",
+            "sha256": "92f87a3c2fb5fe60d3d51020ff95b9c234b2ae2677b79aebbe749dda717c9cdd",
+            "url": "https://github.com/ibmruntimes/semeru11-binaries/releases/download/jdk-11.0.16%2B8_openj9-0.33.0/ibm-semeru-open-jre_x64_mac_11.0.16_8_openj9-0.33.0.tar.gz",
+            "version": "11.0.16"
+          }
+        },
+        "openjdk16": {
+          "packageType": "jre",
+          "vmType": "openj9",
+          "x86_64": {
+            "build": "7",
+            "sha256": "2cb8007de405d0c8f160549309bcfc1adc82e304eb372e86ce0e0a214239438f",
+            "url": "https://github.com/ibmruntimes/semeru16-binaries/releases/download/jdk-16.0.2%2B7_openj9-0.27.0/ibm-semeru-open-jre_x64_mac_16.0.2_7_openj9-0.27.0.tar.gz",
+            "version": "16.0.2"
+          }
+        },
+        "openjdk17": {
+          "aarch64": {
+            "build": "8",
+            "sha256": "4057c94cd46b814cc5a4d683d5f0b95dbd0b9e13e8c2e11155561ad0d8bec85b",
+            "url": "https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.4%2B8_openj9-0.33.0/ibm-semeru-open-jre_aarch64_mac_17.0.4_8_openj9-0.33.0.tar.gz",
+            "version": "17.0.4"
+          },
+          "packageType": "jre",
+          "vmType": "openj9",
+          "x86_64": {
+            "build": "8",
+            "sha256": "8e957d2eb47eaca64516ac669272c6e5186155ed8ee4d6a77e0d4b7811cd7bb6",
+            "url": "https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.4%2B8_openj9-0.33.0/ibm-semeru-open-jre_x64_mac_17.0.4_8_openj9-0.33.0.tar.gz",
+            "version": "17.0.4"
+          }
+        },
+        "openjdk8": {
+          "packageType": "jre",
+          "vmType": "openj9",
+          "x86_64": {
+            "build": "01",
+            "sha256": "019e08dea8fbd54517dacbeac791d85717902800dd8bba77fbca1dfc6b0abd9e",
+            "url": "https://github.com/ibmruntimes/semeru8-binaries/releases/download/8u345-b01_openj9-0.33.0/ibm-semeru-open-jre_x64_mac_8u345b01_openj9-0.33.0.tar.gz",
+            "version": "8.0.345"
+          }
+        }
+      }
+    }
+  }
+}
diff --git a/pkgs/development/compilers/temurin-bin/generate-sources.py b/pkgs/development/compilers/temurin-bin/generate-sources.py
new file mode 100755
index 00000000000..ae3c06d1dfe
--- /dev/null
+++ b/pkgs/development/compilers/temurin-bin/generate-sources.py
@@ -0,0 +1,71 @@
+#!/usr/bin/env nix-shell
+#!nix-shell --pure -i python3 -p "python3.withPackages (ps: with ps; [ requests ])"
+
+import json
+import re
+import requests
+import sys
+
+feature_versions = (8, 11, 16, 17)
+oses = ("mac", "linux")
+types = ("jre", "jdk")
+impls = ("hotspot")
+
+arch_to_nixos = {
+    "x64": ("x86_64",),
+    "aarch64": ("aarch64",),
+    "arm": ("armv6l", "armv7l"),
+}
+
+def generate_sources(assets, feature_version, out):
+    for asset in assets:
+        binary = asset["binary"]
+        if binary["os"] not in oses: continue
+        if binary["image_type"] not in types: continue
+        if binary["jvm_impl"] not in impls: continue
+        if binary["heap_size"] != "normal": continue
+        if binary["architecture"] not in arch_to_nixos: continue
+
+        version = ".".join(str(v) for v in [
+            asset["version"]["major"],
+            asset["version"]["minor"],
+            asset["version"]["security"]
+        ])
+        build = str(asset["version"]["build"])
+
+        arch_map = (
+            out
+            .setdefault(binary["jvm_impl"], {})
+            .setdefault(binary["os"], {})
+            .setdefault(binary["image_type"], {})
+            .setdefault(feature_version, {
+                "packageType": binary["image_type"],
+                "vmType": binary["jvm_impl"],
+            })
+        )
+
+        for nixos_arch in arch_to_nixos[binary["architecture"]]:
+            arch_map[nixos_arch] = {
+                "url": binary["package"]["link"],
+                "sha256": binary["package"]["checksum"],
+                "version": version,
+                "build": build,
+            }
+
+    return out
+
+
+out = {}
+for feature_version in feature_versions:
+    # Default user-agenet is blocked by Azure WAF.
+    headers = {'user-agent': 'nixpkgs-temurin-generate-sources/1.0.0'}
+    resp = requests.get(f"https://api.adoptium.net/v3/assets/latest/{feature_version}/hotspot", headers=headers)
+
+    if resp.status_code != 200:
+        print("error: could not fetch data for release {} (code {}) {}".format(feature_version, resp.status_code, resp.content), file=sys.stderr)
+        sys.exit(1)
+    generate_sources(resp.json(), f"openjdk{feature_version}", out)
+
+with open("sources.json", "w") as f:
+    json.dump(out, f, indent=2, sort_keys=True)
+    f.write('\n')
diff --git a/pkgs/development/compilers/temurin-bin/jdk-darwin-base.nix b/pkgs/development/compilers/temurin-bin/jdk-darwin-base.nix
new file mode 100644
index 00000000000..eff9eda73ed
--- /dev/null
+++ b/pkgs/development/compilers/temurin-bin/jdk-darwin-base.nix
@@ -0,0 +1,74 @@
+{ name-prefix ? "temurin"
+, brand-name ? "Eclipse Temurin"
+, sourcePerArch
+, knownVulnerabilities ? []
+}:
+
+{ swingSupport ? true # not used for now
+, lib, stdenv
+, fetchurl
+, setJavaClassPath
+}:
+
+let
+  cpuName = stdenv.hostPlatform.parsed.cpu.name;
+  validCpuTypes = builtins.attrNames lib.systems.parse.cpuTypes;
+  providedCpuTypes = builtins.filter
+    (arch: builtins.elem arch validCpuTypes)
+    (builtins.attrNames sourcePerArch);
+  result = stdenv.mkDerivation {
+    pname = if sourcePerArch.packageType == "jdk"
+      then "${name-prefix}-bin"
+      else "${name-prefix}-${sourcePerArch.packageType}-bin";
+    version =
+      sourcePerArch.${cpuName}.version or (throw "unsupported CPU ${cpuName}");
+
+    src = fetchurl {
+      inherit (sourcePerArch.${cpuName}) url sha256;
+    };
+
+    # See: https://github.com/NixOS/patchelf/issues/10
+    dontStrip = 1;
+
+    installPhase = ''
+      cd ..
+
+      mv $sourceRoot $out
+
+      # jni.h expects jni_md.h to be in the header search path.
+      ln -s $out/Contents/Home/include/darwin/*_md.h $out/Contents/Home/include/
+
+      # Remove some broken manpages.
+      # Only for 11 and earlier.
+      [ -e "$out/Contents/Home/man/ja" ] && rm -r $out/Contents/Home/man/ja
+
+      ln -s $out/Contents/Home/* $out/
+
+      # Propagate the setJavaClassPath setup hook from the JDK so that
+      # any package that depends on the JDK has $CLASSPATH set up
+      # properly.
+      mkdir -p $out/nix-support
+      printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
+
+      # Set JAVA_HOME automatically.
+      cat <<EOF >> $out/nix-support/setup-hook
+      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
+      EOF
+    '';
+
+    # FIXME: use multiple outputs or return actual JRE package
+    passthru = {
+      jre = result;
+      home = result;
+    };
+
+    meta = with lib; {
+      license = licenses.gpl2Classpath;
+      description = "${brand-name}, prebuilt OpenJDK binary";
+      platforms = builtins.map (arch: arch + "-darwin") providedCpuTypes;  # some inherit jre.meta.platforms
+      maintainers = with maintainers; [ taku0 ];
+      inherit knownVulnerabilities;
+      mainProgram = "java";
+    };
+  };
+in result
diff --git a/pkgs/development/compilers/temurin-bin/jdk-darwin.nix b/pkgs/development/compilers/temurin-bin/jdk-darwin.nix
new file mode 100644
index 00000000000..75bd52dcc9f
--- /dev/null
+++ b/pkgs/development/compilers/temurin-bin/jdk-darwin.nix
@@ -0,0 +1,15 @@
+{ lib, callPackage }:
+
+let
+  sources = (lib.importJSON ./sources.json).hotspot.mac;
+  common = opts: callPackage (import ./jdk-darwin-base.nix opts) {};
+in
+{
+  jdk-8 = common { sourcePerArch = sources.jdk.openjdk8; };
+  jre-8 = common { sourcePerArch = sources.jre.openjdk8; };
+  jdk-11 = common { sourcePerArch = sources.jdk.openjdk11; };
+  jre-11 = common { sourcePerArch = sources.jre.openjdk11; };
+  jdk-16 = common { sourcePerArch = sources.jdk.openjdk16; };
+  jdk-17 = common { sourcePerArch = sources.jdk.openjdk17; };
+  jre-17 = common { sourcePerArch = sources.jre.openjdk17; };
+}
diff --git a/pkgs/development/compilers/temurin-bin/jdk-linux-base.nix b/pkgs/development/compilers/temurin-bin/jdk-linux-base.nix
new file mode 100644
index 00000000000..a7ed81ca8ac
--- /dev/null
+++ b/pkgs/development/compilers/temurin-bin/jdk-linux-base.nix
@@ -0,0 +1,129 @@
+{ name-prefix ? "temurin"
+, brand-name ? "Eclipse Temurin"
+, sourcePerArch
+, knownVulnerabilities ? []
+}:
+
+{ stdenv
+, lib
+, fetchurl
+, autoPatchelfHook
+, makeWrapper
+, setJavaClassPath
+# minimum dependencies
+, alsa-lib
+, fontconfig
+, freetype
+, libffi
+, xorg
+, zlib
+# runtime dependencies
+, cups
+# runtime dependencies for GTK+ Look and Feel
+, gtkSupport ? true
+, cairo
+, glib
+, gtk3
+}:
+
+let
+  cpuName = stdenv.hostPlatform.parsed.cpu.name;
+  runtimeDependencies = [
+    cups
+  ] ++ lib.optionals gtkSupport [
+    cairo glib gtk3
+  ];
+  runtimeLibraryPath = lib.makeLibraryPath runtimeDependencies;
+  validCpuTypes = builtins.attrNames lib.systems.parse.cpuTypes;
+  providedCpuTypes = builtins.filter
+    (arch: builtins.elem arch validCpuTypes)
+    (builtins.attrNames sourcePerArch);
+  result = stdenv.mkDerivation rec {
+    pname = if sourcePerArch.packageType == "jdk"
+      then "${name-prefix}-bin"
+      else "${name-prefix}-${sourcePerArch.packageType}-bin";
+
+    version =
+      sourcePerArch.${cpuName}.version or (throw "unsupported CPU ${cpuName}");
+
+    src = fetchurl {
+      inherit (sourcePerArch.${cpuName}) url sha256;
+    };
+
+    buildInputs = [
+      alsa-lib # libasound.so wanted by lib/libjsound.so
+      fontconfig
+      freetype
+      stdenv.cc.cc.lib # libstdc++.so.6
+      xorg.libX11
+      xorg.libXext
+      xorg.libXi
+      xorg.libXrender
+      xorg.libXtst
+      zlib
+    ] ++ lib.optional stdenv.isAarch32 libffi;
+
+    nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
+
+    # See: https://github.com/NixOS/patchelf/issues/10
+    dontStrip = 1;
+
+    installPhase = ''
+      cd ..
+
+      mv $sourceRoot $out
+
+      # jni.h expects jni_md.h to be in the header search path.
+      ln -s $out/include/linux/*_md.h $out/include/
+
+      # Remove some broken manpages.
+      # Only for 11 and earlier.
+      [ -e "$out/man/ja" ] && rm -r $out/man/ja*
+
+      # Remove embedded freetype to avoid problems like
+      # https://github.com/NixOS/nixpkgs/issues/57733
+      find "$out" -name 'libfreetype.so*' -delete
+
+      # Propagate the setJavaClassPath setup hook from the JDK so that
+      # any package that depends on the JDK has $CLASSPATH set up
+      # properly.
+      mkdir -p $out/nix-support
+      printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
+
+      # Set JAVA_HOME automatically.
+      cat <<EOF >> "$out/nix-support/setup-hook"
+      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
+      EOF
+
+      # We cannot use -exec since wrapProgram is a function but not a command.
+      #
+      # jspawnhelper is executed from JVM, so it doesn't need to wrap it, and it
+      # breaks building OpenJDK (#114495).
+      for bin in $( find "$out" -executable -type f -not -name jspawnhelper ); do
+        if patchelf --print-interpreter "$bin" &> /dev/null; then
+          wrapProgram "$bin" --prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}"
+        fi
+      done
+    '';
+
+    preFixup = ''
+      find "$out" -name libfontmanager.so -exec \
+        patchelf --add-needed libfontconfig.so {} \;
+    '';
+
+    # FIXME: use multiple outputs or return actual JRE package
+    passthru = {
+      jre = result;
+      home = result;
+    };
+
+    meta = with lib; {
+      license = licenses.gpl2Classpath;
+      description = "${brand-name}, prebuilt OpenJDK binary";
+      platforms = builtins.map (arch: arch + "-linux") providedCpuTypes;  # some inherit jre.meta.platforms
+      maintainers = with maintainers; [ taku0 ];
+      inherit knownVulnerabilities;
+      mainProgram = "java";
+    };
+  };
+in result
diff --git a/pkgs/development/compilers/temurin-bin/jdk-linux.nix b/pkgs/development/compilers/temurin-bin/jdk-linux.nix
new file mode 100644
index 00000000000..4c0306d5aba
--- /dev/null
+++ b/pkgs/development/compilers/temurin-bin/jdk-linux.nix
@@ -0,0 +1,15 @@
+{ lib, callPackage }:
+
+let
+  sources = (lib.importJSON ./sources.json).hotspot.linux;
+  common = opts: callPackage (import ./jdk-linux-base.nix opts) {};
+in
+{
+  jdk-8 = common { sourcePerArch = sources.jdk.openjdk8; };
+  jre-8 = common { sourcePerArch = sources.jre.openjdk8; };
+  jdk-11 = common { sourcePerArch = sources.jdk.openjdk11; };
+  jre-11 = common { sourcePerArch = sources.jre.openjdk11; };
+  jdk-16 = common { sourcePerArch = sources.jdk.openjdk16; };
+  jdk-17 = common { sourcePerArch = sources.jdk.openjdk17; };
+  jre-17 = common { sourcePerArch = sources.jre.openjdk17; };
+}
diff --git a/pkgs/development/compilers/temurin-bin/sources.json b/pkgs/development/compilers/temurin-bin/sources.json
new file mode 100644
index 00000000000..ee823173821
--- /dev/null
+++ b/pkgs/development/compilers/temurin-bin/sources.json
@@ -0,0 +1,306 @@
+{
+  "hotspot": {
+    "linux": {
+      "jdk": {
+        "openjdk11": {
+          "aarch64": {
+            "build": "1",
+            "sha256": "2b89cabf0ce1c2cedadd92b798d6e9056bc27c71a06f5ba24ede5dc9c316e3e8",
+            "url": "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.16.1%2B1/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.16.1_1.tar.gz",
+            "version": "11.0.16"
+          },
+          "armv6l": {
+            "build": "1",
+            "sha256": "a703acfd04ece4a4aac4cb9bda26b7d225874008bba324237bd6f53792edb778",
+            "url": "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.16.1%2B1/OpenJDK11U-jdk_arm_linux_hotspot_11.0.16.1_1.tar.gz",
+            "version": "11.0.16"
+          },
+          "armv7l": {
+            "build": "1",
+            "sha256": "a703acfd04ece4a4aac4cb9bda26b7d225874008bba324237bd6f53792edb778",
+            "url": "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.16.1%2B1/OpenJDK11U-jdk_arm_linux_hotspot_11.0.16.1_1.tar.gz",
+            "version": "11.0.16"
+          },
+          "packageType": "jdk",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "1",
+            "sha256": "5f6b513757d386352cf91514ed5859d1ab59364b4453e1f1c57152ba2039b8e2",
+            "url": "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.16.1%2B1/OpenJDK11U-jdk_x64_linux_hotspot_11.0.16.1_1.tar.gz",
+            "version": "11.0.16"
+          }
+        },
+        "openjdk16": {
+          "aarch64": {
+            "build": "7",
+            "sha256": "cb77d9d126f97898dfdc8b5fb694d1e0e5d93d13a0a6cb2aeda76f8635384340",
+            "url": "https://github.com/adoptium/temurin16-binaries/releases/download/jdk-16.0.2%2B7/OpenJDK16U-jdk_aarch64_linux_hotspot_16.0.2_7.tar.gz",
+            "version": "16.0.2"
+          },
+          "armv6l": {
+            "build": "7",
+            "sha256": "7721ef81416af8122a28448f3d661eb4bda40a9f78d400e4ecc55b58e627a00c",
+            "url": "https://github.com/adoptium/temurin16-binaries/releases/download/jdk-16.0.2%2B7/OpenJDK16U-jdk_arm_linux_hotspot_16.0.2_7.tar.gz",
+            "version": "16.0.2"
+          },
+          "armv7l": {
+            "build": "7",
+            "sha256": "7721ef81416af8122a28448f3d661eb4bda40a9f78d400e4ecc55b58e627a00c",
+            "url": "https://github.com/adoptium/temurin16-binaries/releases/download/jdk-16.0.2%2B7/OpenJDK16U-jdk_arm_linux_hotspot_16.0.2_7.tar.gz",
+            "version": "16.0.2"
+          },
+          "packageType": "jdk",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "7",
+            "sha256": "323d6d7474a359a28eff7ddd0df8e65bd61554a8ed12ef42fd9365349e573c2c",
+            "url": "https://github.com/adoptium/temurin16-binaries/releases/download/jdk-16.0.2%2B7/OpenJDK16U-jdk_x64_linux_hotspot_16.0.2_7.tar.gz",
+            "version": "16.0.2"
+          }
+        },
+        "openjdk17": {
+          "aarch64": {
+            "build": "1",
+            "sha256": "3c7460de77421284b38b4e57cb1bd584a6cef55c34fc51a12270620544de2b8a",
+            "url": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.4.1%2B1/OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.4.1_1.tar.gz",
+            "version": "17.0.4"
+          },
+          "armv6l": {
+            "build": "1",
+            "sha256": "efba97cd38af8f43b61f09cb5041f81d92ecd005dcd51c81678fbcf4f24d8461",
+            "url": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.4.1%2B1/OpenJDK17U-jdk_arm_linux_hotspot_17.0.4.1_1.tar.gz",
+            "version": "17.0.4"
+          },
+          "armv7l": {
+            "build": "1",
+            "sha256": "efba97cd38af8f43b61f09cb5041f81d92ecd005dcd51c81678fbcf4f24d8461",
+            "url": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.4.1%2B1/OpenJDK17U-jdk_arm_linux_hotspot_17.0.4.1_1.tar.gz",
+            "version": "17.0.4"
+          },
+          "packageType": "jdk",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "1",
+            "sha256": "5fbf8b62c44f10be2efab97c5f5dbf15b74fae31e451ec10abbc74e54a04ff44",
+            "url": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.4.1%2B1/OpenJDK17U-jdk_x64_linux_hotspot_17.0.4.1_1.tar.gz",
+            "version": "17.0.4"
+          }
+        },
+        "openjdk8": {
+          "aarch64": {
+            "build": "1",
+            "sha256": "c1965fb24dded7d7944e2da36cd902adf3b7b1d327aaa21ea507cff00a5a0090",
+            "url": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u345-b01/OpenJDK8U-jdk_aarch64_linux_hotspot_8u345b01.tar.gz",
+            "version": "8.0.345"
+          },
+          "armv6l": {
+            "build": "1",
+            "sha256": "af4ecd311df32b405142d5756f966418d0200fbf6cb9009c20a44dc691e8da6f",
+            "url": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u345-b01/OpenJDK8U-jdk_arm_linux_hotspot_8u345b01.tar.gz",
+            "version": "8.0.345"
+          },
+          "armv7l": {
+            "build": "1",
+            "sha256": "af4ecd311df32b405142d5756f966418d0200fbf6cb9009c20a44dc691e8da6f",
+            "url": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u345-b01/OpenJDK8U-jdk_arm_linux_hotspot_8u345b01.tar.gz",
+            "version": "8.0.345"
+          },
+          "packageType": "jdk",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "1",
+            "sha256": "ed6c9db3719895584fb1fd69fc79c29240977675f26631911c5a1dbce07b7d58",
+            "url": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u345-b01/OpenJDK8U-jdk_x64_linux_hotspot_8u345b01.tar.gz",
+            "version": "8.0.345"
+          }
+        }
+      },
+      "jre": {
+        "openjdk11": {
+          "aarch64": {
+            "build": "1",
+            "sha256": "b6607f28fa2906d612d517f0babe4f0f895aa1c3f901edcddb493e33c1e27364",
+            "url": "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.16.1%2B1/OpenJDK11U-jre_aarch64_linux_hotspot_11.0.16.1_1.tar.gz",
+            "version": "11.0.16"
+          },
+          "armv6l": {
+            "build": "1",
+            "sha256": "2ee7fe636a6a57e4718dfe597e8097b93ef8d976e4b05384433777c9f0526f5a",
+            "url": "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.16.1%2B1/OpenJDK11U-jre_arm_linux_hotspot_11.0.16.1_1.tar.gz",
+            "version": "11.0.16"
+          },
+          "armv7l": {
+            "build": "1",
+            "sha256": "2ee7fe636a6a57e4718dfe597e8097b93ef8d976e4b05384433777c9f0526f5a",
+            "url": "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.16.1%2B1/OpenJDK11U-jre_arm_linux_hotspot_11.0.16.1_1.tar.gz",
+            "version": "11.0.16"
+          },
+          "packageType": "jre",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "1",
+            "sha256": "1ffe1a682e8179e35238bf3f93aba0cb185850e202c676f41d38cb0561883eda",
+            "url": "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.16.1%2B1/OpenJDK11U-jre_x64_linux_hotspot_11.0.16.1_1.tar.gz",
+            "version": "11.0.16"
+          }
+        },
+        "openjdk17": {
+          "aarch64": {
+            "build": "1",
+            "sha256": "2e4137529319cd7935f74e1289025b7b4c794c0fb47a3d138adffbd1bbc0ea58",
+            "url": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.4.1%2B1/OpenJDK17U-jre_aarch64_linux_hotspot_17.0.4.1_1.tar.gz",
+            "version": "17.0.4"
+          },
+          "armv6l": {
+            "build": "1",
+            "sha256": "b63f532cb8b30e4d0bd18d52f08c1933e3cf66aeb373180d002274b6d94b4a25",
+            "url": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.4.1%2B1/OpenJDK17U-jre_arm_linux_hotspot_17.0.4.1_1.tar.gz",
+            "version": "17.0.4"
+          },
+          "armv7l": {
+            "build": "1",
+            "sha256": "b63f532cb8b30e4d0bd18d52f08c1933e3cf66aeb373180d002274b6d94b4a25",
+            "url": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.4.1%2B1/OpenJDK17U-jre_arm_linux_hotspot_17.0.4.1_1.tar.gz",
+            "version": "17.0.4"
+          },
+          "packageType": "jre",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "1",
+            "sha256": "e96814ee145a599397d91e16831d2dddc3c6b8e8517a8527e28e727649aaa2d1",
+            "url": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.4.1%2B1/OpenJDK17U-jre_x64_linux_hotspot_17.0.4.1_1.tar.gz",
+            "version": "17.0.4"
+          }
+        },
+        "openjdk8": {
+          "aarch64": {
+            "build": "1",
+            "sha256": "65b8bd74382d6514d2458ff4375468651791a55a186a5bffe0803204801e9c94",
+            "url": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u345-b01/OpenJDK8U-jre_aarch64_linux_hotspot_8u345b01.tar.gz",
+            "version": "8.0.345"
+          },
+          "armv6l": {
+            "build": "1",
+            "sha256": "a9dd1ea4280a85158191101688bbf1920c4676a3849e22dc7783fb61f60d6199",
+            "url": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u345-b01/OpenJDK8U-jre_arm_linux_hotspot_8u345b01.tar.gz",
+            "version": "8.0.345"
+          },
+          "armv7l": {
+            "build": "1",
+            "sha256": "a9dd1ea4280a85158191101688bbf1920c4676a3849e22dc7783fb61f60d6199",
+            "url": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u345-b01/OpenJDK8U-jre_arm_linux_hotspot_8u345b01.tar.gz",
+            "version": "8.0.345"
+          },
+          "packageType": "jre",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "1",
+            "sha256": "2422a8831fe414b9dba4c443ee3562431dfcde27577124f0db58ec903afc262a",
+            "url": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u345-b01/OpenJDK8U-jre_x64_linux_hotspot_8u345b01.tar.gz",
+            "version": "8.0.345"
+          }
+        }
+      }
+    },
+    "mac": {
+      "jdk": {
+        "openjdk11": {
+          "aarch64": {
+            "build": "1",
+            "sha256": "1953f06702d45eb54bae3ccf453b57c33de827015f5623a2dfc16e1c83e6b0a1",
+            "url": "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.16.1%2B1/OpenJDK11U-jdk_aarch64_mac_hotspot_11.0.16.1_1.tar.gz",
+            "version": "11.0.16"
+          },
+          "packageType": "jdk",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "1",
+            "sha256": "723548e36e0b3e0a5a2f36a38b22ea825d3004e26054a0e254854adc57045352",
+            "url": "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.16.1%2B1/OpenJDK11U-jdk_x64_mac_hotspot_11.0.16.1_1.tar.gz",
+            "version": "11.0.16"
+          }
+        },
+        "openjdk16": {
+          "packageType": "jdk",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "7",
+            "sha256": "27975d9e695cfbb93861540926f9f7bcac973a254ceecbee549706a99cbbdf95",
+            "url": "https://github.com/adoptium/temurin16-binaries/releases/download/jdk-16.0.2%2B7/OpenJDK16U-jdk_x64_mac_hotspot_16.0.2_7.tar.gz",
+            "version": "16.0.2"
+          }
+        },
+        "openjdk17": {
+          "aarch64": {
+            "build": "1",
+            "sha256": "3a976943a9e6a635e68e2b06bd093fc096aad9f5894acda673d3bea0cb3a6f38",
+            "url": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.4.1%2B1/OpenJDK17U-jdk_aarch64_mac_hotspot_17.0.4.1_1.tar.gz",
+            "version": "17.0.4"
+          },
+          "packageType": "jdk",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "1",
+            "sha256": "ac21a5a87f7cfa00212ab7c41f7eb80ca33640d83b63ad850be811c24095d61a",
+            "url": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.4.1%2B1/OpenJDK17U-jdk_x64_mac_hotspot_17.0.4.1_1.tar.gz",
+            "version": "17.0.4"
+          }
+        },
+        "openjdk8": {
+          "packageType": "jdk",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "1",
+            "sha256": "3eeba0e76101b9f5e8eb9eb14ad991293cf0cc064df35f6a89882b603630f0c8",
+            "url": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u345-b01/OpenJDK8U-jdk_x64_mac_hotspot_8u345b01.tar.gz",
+            "version": "8.0.345"
+          }
+        }
+      },
+      "jre": {
+        "openjdk11": {
+          "aarch64": {
+            "build": "1",
+            "sha256": "c84f38a7d87d50649ffc1f625facb4398fa54885371336a2cbf6ae2b435cbd10",
+            "url": "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.16.1%2B1/OpenJDK11U-jre_aarch64_mac_hotspot_11.0.16.1_1.tar.gz",
+            "version": "11.0.16"
+          },
+          "packageType": "jre",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "1",
+            "sha256": "10be61a8dd3766f7c12e2e823a6eca48cc6361d97e1b76310c752bd39770c7fe",
+            "url": "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.16.1%2B1/OpenJDK11U-jre_x64_mac_hotspot_11.0.16.1_1.tar.gz",
+            "version": "11.0.16"
+          }
+        },
+        "openjdk17": {
+          "aarch64": {
+            "build": "1",
+            "sha256": "63a32fe611f2666856e84b79305eb80609de229bbce4f13991b961797aa88bf8",
+            "url": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.4.1%2B1/OpenJDK17U-jre_aarch64_mac_hotspot_17.0.4.1_1.tar.gz",
+            "version": "17.0.4"
+          },
+          "packageType": "jre",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "1",
+            "sha256": "9c59e45a9a6cbc1b8d671c4a88bb8d9b8929fae067df0d0a73b1ca71781a0996",
+            "url": "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.4.1%2B1/OpenJDK17U-jre_x64_mac_hotspot_17.0.4.1_1.tar.gz",
+            "version": "17.0.4"
+          }
+        },
+        "openjdk8": {
+          "packageType": "jre",
+          "vmType": "hotspot",
+          "x86_64": {
+            "build": "1",
+            "sha256": "6161240769bd784e5ad55105fab9782d787ad34b7b8efd1f730a05f2659455d2",
+            "url": "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u345-b01/OpenJDK8U-jre_x64_mac_hotspot_8u345b01.tar.gz",
+            "version": "8.0.345"
+          }
+        }
+      }
+    }
+  }
+}
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index a9c0377ba5b..1fc9d3b90c1 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -56,6 +56,8 @@ mapAliases ({
   accounts-qt = throw "'accounts-qt' has been renamed to/replaced by 'libsForQt5.accounts-qt'"; # Converted to throw 2022-02-22
   adobeReader = throw "'adobeReader' has been renamed to/replaced by 'adobe-reader'"; # Converted to throw 2022-02-22
   adobe_flex_sdk = throw "'adobe_flex_sdk' has been renamed to/replaced by 'apache-flex-sdk'"; # Converted to throw 2022-02-22
+  adoptopenjdk-hotspot-bin-17 = throw "AdoptOpenJDK is now Temurin. Use temurin-bin-17"; # added 2022-07-02
+  adoptopenjdk-jre-hotspot-bin-17 = throw "AdoptOpenJDK is now Temurin and JRE is no longer provided. Use temurin-bin-17"; # added 2022-07-02
   aesop = throw "aesop has been removed from nixpkgs, as it was unmaintained"; # Added 2021-08-05
   ag = throw "'ag' has been renamed to/replaced by 'silver-searcher'"; # Converted to throw 2022-02-22
   aircrackng = throw "'aircrackng' has been renamed to/replaced by 'aircrack-ng'"; # Converted to throw 2022-02-22
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 6bccca1c9ba..f5a4826e7da 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -12388,120 +12388,48 @@ with pkgs;
     jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
   };
 
-  adoptopenjdk-bin-17-packages-linux = import ../development/compilers/adoptopenjdk-bin/jdk17-linux.nix { inherit lib; };
-  adoptopenjdk-bin-17-packages-darwin = import ../development/compilers/adoptopenjdk-bin/jdk17-darwin.nix { inherit lib; };
-
-  adoptopenjdk-hotspot-bin-17 = if stdenv.isLinux
-    then callPackage adoptopenjdk-bin-17-packages-linux.jdk-hotspot {}
-    else callPackage adoptopenjdk-bin-17-packages-darwin.jdk-hotspot {};
-
-  adoptopenjdk-bin-16-packages-linux = import ../development/compilers/adoptopenjdk-bin/jdk16-linux.nix { inherit lib; };
-  adoptopenjdk-bin-16-packages-darwin = import ../development/compilers/adoptopenjdk-bin/jdk16-darwin.nix { inherit lib; };
-
-  adoptopenjdk-hotspot-bin-16 = if stdenv.isLinux
-    then callPackage adoptopenjdk-bin-16-packages-linux.jdk-hotspot {}
-    else callPackage adoptopenjdk-bin-16-packages-darwin.jdk-hotspot {};
-  adoptopenjdk-jre-hotspot-bin-16 = if stdenv.isLinux
-    then callPackage adoptopenjdk-bin-16-packages-linux.jre-hotspot {}
-    else callPackage adoptopenjdk-bin-16-packages-darwin.jre-hotspot {};
-
-  adoptopenjdk-openj9-bin-16 = if stdenv.isLinux
-    then callPackage adoptopenjdk-bin-16-packages-linux.jdk-openj9 {}
-    else callPackage adoptopenjdk-bin-16-packages-darwin.jdk-openj9 {};
-
-  adoptopenjdk-jre-openj9-bin-16 = if stdenv.isLinux
-    then callPackage adoptopenjdk-bin-16-packages-linux.jre-openj9 {}
-    else callPackage adoptopenjdk-bin-16-packages-darwin.jre-openj9 {};
-
-  adoptopenjdk-bin-15-packages-linux = import ../development/compilers/adoptopenjdk-bin/jdk15-linux.nix { inherit lib; };
-  adoptopenjdk-bin-15-packages-darwin = import ../development/compilers/adoptopenjdk-bin/jdk15-darwin.nix { inherit lib; };
-
-  adoptopenjdk-hotspot-bin-15 = if stdenv.isLinux
-    then callPackage adoptopenjdk-bin-15-packages-linux.jdk-hotspot {}
-    else callPackage adoptopenjdk-bin-15-packages-darwin.jdk-hotspot {};
-  adoptopenjdk-jre-hotspot-bin-15 = if stdenv.isLinux
-    then callPackage adoptopenjdk-bin-15-packages-linux.jre-hotspot {}
-    else callPackage adoptopenjdk-bin-15-packages-darwin.jre-hotspot {};
-
-  adoptopenjdk-openj9-bin-15 = if stdenv.isLinux
-    then callPackage adoptopenjdk-bin-15-packages-linux.jdk-openj9 {}
-    else callPackage adoptopenjdk-bin-15-packages-darwin.jdk-openj9 {};
-
-  adoptopenjdk-jre-openj9-bin-15 = if stdenv.isLinux
-    then callPackage adoptopenjdk-bin-15-packages-linux.jre-openj9 {}
-    else callPackage adoptopenjdk-bin-15-packages-darwin.jre-openj9 {};
-
-  adoptopenjdk-bin-14-packages-linux = import ../development/compilers/adoptopenjdk-bin/jdk14-linux.nix { inherit lib; };
-  adoptopenjdk-bin-14-packages-darwin = import ../development/compilers/adoptopenjdk-bin/jdk14-darwin.nix { inherit lib; };
-
-  adoptopenjdk-hotspot-bin-14 = if stdenv.isLinux
-    then callPackage adoptopenjdk-bin-14-packages-linux.jdk-hotspot {}
-    else callPackage adoptopenjdk-bin-14-packages-darwin.jdk-hotspot {};
-  adoptopenjdk-jre-hotspot-bin-14 = if stdenv.isLinux
-    then callPackage adoptopenjdk-bin-14-packages-linux.jre-hotspot {}
-    else callPackage adoptopenjdk-bin-14-packages-darwin.jre-hotspot {};
-
-  adoptopenjdk-openj9-bin-14 = if stdenv.isLinux
-    then callPackage adoptopenjdk-bin-14-packages-linux.jdk-openj9 {}
-    else callPackage adoptopenjdk-bin-14-packages-darwin.jdk-openj9 {};
-
-  adoptopenjdk-jre-openj9-bin-14 = if stdenv.isLinux
-    then callPackage adoptopenjdk-bin-14-packages-linux.jre-openj9 {}
-    else callPackage adoptopenjdk-bin-14-packages-darwin.jre-openj9 {};
-
-  adoptopenjdk-bin-13-packages-linux = import ../development/compilers/adoptopenjdk-bin/jdk13-linux.nix { inherit lib; };
-  adoptopenjdk-bin-13-packages-darwin = import ../development/compilers/adoptopenjdk-bin/jdk13-darwin.nix { inherit lib; };
-
-  adoptopenjdk-hotspot-bin-13 = if stdenv.isLinux
-    then callPackage adoptopenjdk-bin-13-packages-linux.jdk-hotspot {}
-    else callPackage adoptopenjdk-bin-13-packages-darwin.jdk-hotspot {};
-  adoptopenjdk-jre-hotspot-bin-13 = if stdenv.isLinux
-    then callPackage adoptopenjdk-bin-13-packages-linux.jre-hotspot {}
-    else callPackage adoptopenjdk-bin-13-packages-darwin.jre-hotspot {};
-
-  adoptopenjdk-openj9-bin-13 = if stdenv.isLinux
-    then callPackage adoptopenjdk-bin-13-packages-linux.jdk-openj9 {}
-    else callPackage adoptopenjdk-bin-13-packages-darwin.jdk-openj9 {};
-
-  adoptopenjdk-jre-openj9-bin-13 = if stdenv.isLinux
-    then callPackage adoptopenjdk-bin-13-packages-linux.jre-openj9 {}
-    else callPackage adoptopenjdk-bin-13-packages-darwin.jre-openj9 {};
-
-  adoptopenjdk-bin-11-packages-linux = import ../development/compilers/adoptopenjdk-bin/jdk11-linux.nix { inherit lib; };
-  adoptopenjdk-bin-11-packages-darwin = import ../development/compilers/adoptopenjdk-bin/jdk11-darwin.nix { inherit lib; };
-
-  adoptopenjdk-hotspot-bin-11 = if stdenv.isLinux
-    then callPackage adoptopenjdk-bin-11-packages-linux.jdk-hotspot {}
-    else callPackage adoptopenjdk-bin-11-packages-darwin.jdk-hotspot {};
-  adoptopenjdk-jre-hotspot-bin-11 = if stdenv.isLinux
-    then callPackage adoptopenjdk-bin-11-packages-linux.jre-hotspot {}
-    else callPackage adoptopenjdk-bin-11-packages-darwin.jre-hotspot {};
-
-  adoptopenjdk-openj9-bin-11 = if stdenv.isLinux
-    then callPackage adoptopenjdk-bin-11-packages-linux.jdk-openj9 {}
-    else callPackage adoptopenjdk-bin-11-packages-darwin.jdk-openj9 {};
-
-  adoptopenjdk-jre-openj9-bin-11 = if stdenv.isLinux
-    then callPackage adoptopenjdk-bin-11-packages-linux.jre-openj9 {}
-    else callPackage adoptopenjdk-bin-11-packages-darwin.jre-openj9 {};
-
-  adoptopenjdk-bin-8-packages-linux = import ../development/compilers/adoptopenjdk-bin/jdk8-linux.nix { inherit lib; };
-  adoptopenjdk-bin-8-packages-darwin = import ../development/compilers/adoptopenjdk-bin/jdk8-darwin.nix { inherit lib; };
-
-  adoptopenjdk-hotspot-bin-8 = if stdenv.isLinux
-    then callPackage adoptopenjdk-bin-8-packages-linux.jdk-hotspot {}
-    else callPackage adoptopenjdk-bin-8-packages-darwin.jdk-hotspot {};
-  adoptopenjdk-jre-hotspot-bin-8 = if stdenv.isLinux
-    then callPackage adoptopenjdk-bin-8-packages-linux.jre-hotspot {}
-    else callPackage adoptopenjdk-bin-8-packages-darwin.jre-hotspot {};
-
-  adoptopenjdk-openj9-bin-8 = if stdenv.isLinux
-    then callPackage adoptopenjdk-bin-8-packages-linux.jdk-openj9 {}
-    else callPackage adoptopenjdk-bin-8-packages-darwin.jdk-openj9 {};
-
-  adoptopenjdk-jre-openj9-bin-8 = if stdenv.isLinux
-    then callPackage adoptopenjdk-bin-8-packages-linux.jre-openj9 {}
-    else callPackage adoptopenjdk-bin-8-packages-darwin.jre-openj9 {};
+  temurin-bin-17 = javaPackages.compiler.temurin-bin.jdk-17;
+  temurin-jre-bin-17 = javaPackages.compiler.temurin-bin.jre-17;
+  temurin-bin-16 = javaPackages.compiler.temurin-bin.jdk-16;
+  temurin-bin-11 = javaPackages.compiler.temurin-bin.jdk-11;
+  temurin-jre-bin-11 = javaPackages.compiler.temurin-bin.jre-11;
+  temurin-bin-8 = javaPackages.compiler.temurin-bin.jdk-8;
+  temurin-jre-bin-8 = javaPackages.compiler.temurin-bin.jre-8;
+
+  temurin-bin = temurin-bin-17;
+  temurin-jre-bin = temurin-jre-bin-17;
+
+  semeru-bin-17 = javaPackages.compiler.semeru-bin.jdk-17;
+  semeru-jre-bin-17 = javaPackages.compiler.semeru-bin.jre-17;
+  semeru-bin-16 = javaPackages.compiler.semeru-bin.jdk-16;
+  semeru-jre-bin-16 = javaPackages.compiler.semeru-bin.jre-16;
+  semeru-bin-11 = javaPackages.compiler.semeru-bin.jdk-11;
+  semeru-jre-bin-11 = javaPackages.compiler.semeru-bin.jre-11;
+  semeru-bin-8 = javaPackages.compiler.semeru-bin.jdk-8;
+  semeru-jre-bin-8 = javaPackages.compiler.semeru-bin.jre-8;
+
+  semeru-bin = semeru-bin-17;
+  semeru-jre-bin = semeru-jre-bin-17;
+
+  adoptopenjdk-hotspot-bin-16 = javaPackages.compiler.adoptopenjdk-16.jdk-hotspot;
+  adoptopenjdk-jre-hotspot-bin-16 = javaPackages.compiler.adoptopenjdk-16.jre-hotspot;
+  adoptopenjdk-openj9-bin-16 = javaPackages.compiler.adoptopenjdk-16.jdk-openj9;
+  adoptopenjdk-jre-openj9-bin-16 = javaPackages.compiler.adoptopenjdk-16.jre-openj9;
+
+  adoptopenjdk-hotspot-bin-15 = javaPackages.compiler.adoptopenjdk-15.jdk-hotspot;
+  adoptopenjdk-jre-hotspot-bin-15 = javaPackages.compiler.adoptopenjdk-15.jre-hotspot;
+  adoptopenjdk-openj9-bin-15 = javaPackages.compiler.adoptopenjdk-15.jdk-openj9;
+  adoptopenjdk-jre-openj9-bin-15 = javaPackages.compiler.adoptopenjdk-15.jre-openj9;
+
+  adoptopenjdk-hotspot-bin-11 = javaPackages.compiler.adoptopenjdk-11.jdk-hotspot;
+  adoptopenjdk-jre-hotspot-bin-11 = javaPackages.compiler.adoptopenjdk-11.jre-hotspot;
+  adoptopenjdk-openj9-bin-11 = javaPackages.compiler.adoptopenjdk-11.jdk-openj9;
+  adoptopenjdk-jre-openj9-bin-11 = javaPackages.compiler.adoptopenjdk-11.jre-openj9;
+
+  adoptopenjdk-hotspot-bin-8 = javaPackages.compiler.adoptopenjdk-8.jdk-hotspot;
+  adoptopenjdk-jre-hotspot-bin-8 = javaPackages.compiler.adoptopenjdk-8.jre-hotspot;
+  adoptopenjdk-openj9-bin-8 = javaPackages.compiler.adoptopenjdk-8.jdk-openj9;
+  adoptopenjdk-jre-openj9-bin-8 = javaPackages.compiler.adoptopenjdk-8.jre-openj9;
 
   adoptopenjdk-bin = adoptopenjdk-hotspot-bin-11;
   adoptopenjdk-jre-bin = adoptopenjdk-jre-hotspot-bin-11;
diff --git a/pkgs/top-level/java-packages.nix b/pkgs/top-level/java-packages.nix
index 160f51cf43c..6c3fd8062de 100644
--- a/pkgs/top-level/java-packages.nix
+++ b/pkgs/top-level/java-packages.nix
@@ -175,6 +175,18 @@ in {
         inherit openjdk17-bootstrap;
         openjfx = openjfx17;
       };
+
+    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
+    ) {});
   };
 
   mavenPlugins = recurseIntoAttrs (callPackage ../development/java-modules/mavenPlugins.nix { });