diff options
author | taku0 <mxxouy6x3m_github@tatapa.org> | 2021-10-03 20:45:43 +0900 |
---|---|---|
committer | taku0 <mxxouy6x3m_github@tatapa.org> | 2022-09-12 16:29:36 +0900 |
commit | c74221839b5e20a1260a77a9823ab7d3d9d1a5fa (patch) | |
tree | 0d47c71202cea7052c1db2c41bbaa515387b717c | |
parent | ee9eec33539e1e2961334374b5ae1f7560ea871b (diff) | |
download | nixpkgs-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.
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 { }); |