diff options
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/adoptopenjdk-bin')
6 files changed, 209 insertions, 114 deletions
diff --git a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py index 40b690048eba..22a3c9cf4686 100755 --- a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py +++ b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py @@ -6,14 +6,15 @@ import re import requests import sys -releases = ["openjdk11"] -oses = ["mac", "linux"] -types = ["jre", "jdk"] -impls = ["hotspot", "openj9"] +releases = ("openjdk8", "openjdk11") +oses = ("mac", "linux") +types = ("jre", "jdk") +impls = ("hotspot", "openj9") arch_to_nixos = { - "x64": "x86_64", - "aarch64": "aarch64", + "x64": ("x86_64",), + "aarch64": ("aarch64",), + "arm": ("armv6l", "armv7l"), } def get_sha256(url): @@ -23,7 +24,6 @@ def get_sha256(url): sys.exit(1) return resp.text.strip().split(" ")[0] -RE_RELEASE_NAME = re.compile(r'[^-]+-([0-9.]+)\+([0-9]+)') # example release name: jdk-11.0.1+13 def generate_sources(release, assets): out = {} for asset in assets: @@ -33,7 +33,8 @@ def generate_sources(release, assets): if asset["heap_size"] != "normal": continue if asset["architecture"] not in arch_to_nixos: continue - version, build = RE_RELEASE_NAME.match(asset["release_name"]).groups() + # examples: 11.0.1+13, 8.0.222+10 + version, build = asset["version_data"]["semver"].split("+") type_map = out.setdefault(asset["os"], {}) impl_map = type_map.setdefault(asset["binary_type"], {}) @@ -42,12 +43,13 @@ def generate_sources(release, assets): "vmType": asset["openjdk_impl"], }) - arch_map[arch_to_nixos[asset["architecture"]]] = { - "url": asset["binary_link"], - "sha256": get_sha256(asset["checksum_link"]), - "version": version, - "build": build, - } + for nixos_arch in arch_to_nixos[asset["architecture"]]: + arch_map[nixos_arch] = { + "url": asset["binary_link"], + "sha256": get_sha256(asset["checksum_link"]), + "version": version, + "build": build, + } return out diff --git a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix index 7b16d6ad9dbc..03857627952d 100644 --- a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix +++ b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix @@ -6,7 +6,7 @@ sourcePerArch: }: let cpuName = stdenv.hostPlatform.parsed.cpu.name; - result = stdenv.mkDerivation rec { + result = stdenv.mkDerivation { name = if sourcePerArch.packageType == "jdk" then "adoptopenjdk-${sourcePerArch.vmType}-bin-${sourcePerArch.${cpuName}.version}" else "adoptopenjdk-${sourcePerArch.packageType}-${sourcePerArch.vmType}-bin-${sourcePerArch.${cpuName}.version}"; @@ -46,9 +46,6 @@ let cpuName = stdenv.hostPlatform.parsed.cpu.name; passthru.home = result; - # for backward compatibility - passthru.architecture = ""; - meta = with stdenv.lib; { license = licenses.gpl2Classpath; description = "AdoptOpenJDK, prebuilt OpenJDK binary"; diff --git a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix index a837c6f1e851..509050209fb2 100644 --- a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix +++ b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix @@ -1,48 +1,17 @@ sourcePerArch: -{ swingSupport ? true -, stdenv +{ stdenv +, lib , fetchurl -, file -, xorg ? null -, glib -, libxml2 -, ffmpeg_2 -, libxslt -, libGL +, autoPatchelfHook +, alsaLib , freetype , fontconfig -, gtk2 -, pango -, cairo -, alsaLib -, atk -, gdk-pixbuf , zlib -, elfutils +, xorg }: -assert swingSupport -> xorg != null; - let - rSubPaths = [ - "lib/jli" - "lib/server" - "lib/compressedrefs" # OpenJ9 - "lib/j9vm" # OpenJ9 - "lib" - ]; - - libraries = [ - stdenv.cc.libc glib libxml2 ffmpeg_2 libxslt libGL - xorg.libXxf86vm alsaLib fontconfig freetype pango gtk2 cairo gdk-pixbuf - atk zlib elfutils - ] ++ (stdenv.lib.optionals swingSupport [ - xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXp xorg.libXt - xorg.libXrender - stdenv.cc.cc - ]); - cpuName = stdenv.hostPlatform.parsed.cpu.name; in @@ -57,7 +26,12 @@ let result = stdenv.mkDerivation rec { inherit (sourcePerArch.${cpuName}) url sha256; }; - nativeBuildInputs = [ file ]; + buildInputs = [ + alsaLib freetype fontconfig zlib xorg.libX11 xorg.libXext xorg.libXtst + xorg.libXi xorg.libXrender + ]; + + nativeBuildInputs = [ autoPatchelfHook ]; # See: https://github.com/NixOS/patchelf/issues/10 dontStrip = 1; @@ -74,45 +48,31 @@ let result = stdenv.mkDerivation rec { # Remove embedded freetype to avoid problems like # https://github.com/NixOS/nixpkgs/issues/57733 - rm $out/lib/libfreetype.so - - # for backward compatibility - ln -s $out $out/jre + find "$out" -name 'libfreetype.so*' -delete mkdir -p $out/nix-support # Set JAVA_HOME automatically. - cat <<EOF >> $out/nix-support/setup-hook + cat <<EOF >> "$out/nix-support/setup-hook" if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi EOF ''; - postFixup = '' - rpath+="''${rpath:+:}${stdenv.lib.concatStringsSep ":" (map (a: "$out/${a}") rSubPaths)}" - - # set all the dynamic linkers - find $out -type f -perm -0100 \ - -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "$rpath" {} \; - - find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \; + preFixup = '' + find "$out" -name libfontmanager.so -exec \ + patchelf --add-needed libfontconfig.so {} \; ''; - rpath = stdenv.lib.strings.makeLibraryPath libraries; - # FIXME: use multiple outputs or return actual JRE package passthru.jre = result; passthru.home = result; - # for backward compatibility - passthru.architecture = ""; - meta = with stdenv.lib; { license = licenses.gpl2Classpath; description = "AdoptOpenJDK, prebuilt OpenJDK binary"; - platforms = stdenv.lib.mapAttrsToList (arch: _: arch + "-linux") sourcePerArch; # some inherit jre.meta.platforms - maintainers = with stdenv.lib.maintainers; [ taku0 ]; + platforms = lib.mapAttrsToList (arch: _: arch + "-linux") sourcePerArch; # some inherit jre.meta.platforms + maintainers = with lib.maintainers; [ taku0 ]; }; }; in result diff --git a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk8-darwin.nix b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk8-darwin.nix new file mode 100644 index 000000000000..a170e0141cf0 --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk8-darwin.nix @@ -0,0 +1,9 @@ +let + sources = builtins.fromJSON (builtins.readFile ./sources.json); +in +{ + jdk-hotspot = import ./jdk-darwin-base.nix sources.openjdk8.mac.jdk.hotspot; + jre-hotspot = import ./jdk-darwin-base.nix sources.openjdk8.mac.jre.hotspot; + jdk-openj9 = import ./jdk-darwin-base.nix sources.openjdk8.mac.jdk.openj9; + jre-openj9 = import ./jdk-darwin-base.nix sources.openjdk8.mac.jre.openj9; +} diff --git a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk8-linux.nix b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk8-linux.nix new file mode 100644 index 000000000000..4937eace4903 --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk8-linux.nix @@ -0,0 +1,9 @@ +let + sources = builtins.fromJSON (builtins.readFile ./sources.json); +in +{ + jdk-hotspot = import ./jdk-linux-base.nix sources.openjdk8.linux.jdk.hotspot; + jre-hotspot = import ./jdk-linux-base.nix sources.openjdk8.linux.jre.hotspot; + jdk-openj9 = import ./jdk-linux-base.nix sources.openjdk8.linux.jdk.openj9; + jre-openj9 = import ./jdk-linux-base.nix sources.openjdk8.linux.jre.openj9; +} diff --git a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/sources.json b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/sources.json index 03febb6aa355..403bd96efb0e 100644 --- a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/sources.json +++ b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/sources.json @@ -4,56 +4,68 @@ "jdk": { "hotspot": { "aarch64": { + "build": "11", + "sha256": "10e33e1862638e11a9158947b3d7b461727d8e396e378b171be1eb4dfe12f1ed", + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.4_11.tar.gz", + "version": "11.0.4" + }, + "armv6l": { + "build": "7", + "sha256": "3fbe418368e6d5888d0f15c4751139eb60d9785b864158a001386537fa46f67e", + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_arm_linux_hotspot_11.0.3_7.tar.gz", + "version": "11.0.3" + }, + "armv7l": { "build": "7", - "sha256": "894a846600ddb0df474350037a2fb43e3343dc3606809a20c65e750580d8f2b9", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.3_7.tar.gz", + "sha256": "3fbe418368e6d5888d0f15c4751139eb60d9785b864158a001386537fa46f67e", + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_arm_linux_hotspot_11.0.3_7.tar.gz", "version": "11.0.3" }, "packageType": "jdk", "vmType": "hotspot", "x86_64": { - "build": "7", - "sha256": "23cded2b43261016f0f246c85c8948d4a9b7f2d44988f75dad69723a7a526094", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.3_7.tar.gz", - "version": "11.0.3" + "build": "11", + "sha256": "90c33cf3f2ed0bd773f648815de7347e69cfbb3416ef3bf41616ab1c4aa0f5a8", + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11/OpenJDK11U-jdk_x64_linux_hotspot_11.0.4_11.tar.gz", + "version": "11.0.4" } }, "openj9": { "packageType": "jdk", "vmType": "openj9", "x86_64": { - "build": "7", - "sha256": "7012edd56fc958070bc4747073de14ea08eb43081eb6ea19bdbf4763186e2d17", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7_openj9-0.14.0/OpenJDK11U-jdk_x64_linux_openj9_11.0.3_7_openj9-0.14.0.tar.gz", - "version": "11.0.3" + "build": "11", + "sha256": "b1099cccc80a3f434728c9bc3b8a90395793b625f4680ca05267cf635143d64d", + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11_openj9-0.15.1/OpenJDK11U-jdk_x64_linux_openj9_11.0.4_11_openj9-0.15.1.tar.gz", + "version": "11.0.4" } } }, "jre": { "hotspot": { "aarch64": { - "build": "7", - "sha256": "de31fab70640c6d5099de5fc8fa8b4d6b484a7352fa48a9fafbdc088ca708564", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jre_aarch64_linux_hotspot_11.0.3_7.tar.gz", - "version": "11.0.3" + "build": "11", + "sha256": "5f7b5c110fc0f344a549cb11784a6d76838061a2b6f654f7841f60e0cd286c6a", + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11/OpenJDK11U-jre_aarch64_linux_hotspot_11.0.4_11.tar.gz", + "version": "11.0.4" }, "packageType": "jre", "vmType": "hotspot", "x86_64": { - "build": "7", - "sha256": "d2df8bc799b09c8375f79bf646747afac3d933bb1f65de71d6c78e7466ff8fe4", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jre_x64_linux_hotspot_11.0.3_7.tar.gz", - "version": "11.0.3" + "build": "11", + "sha256": "70d2cc675155476f1d8516a7ae6729d44681e4fad5a6fc8dfa65cab36a67b7e0", + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11/OpenJDK11U-jre_x64_linux_hotspot_11.0.4_11.tar.gz", + "version": "11.0.4" } }, "openj9": { "packageType": "jre", "vmType": "openj9", "x86_64": { - "build": "7", - "sha256": "14c660294832c7b2deb2845d96dce83df677e204b4f0f1fee0052764c4a56720", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7_openj9-0.14.0/OpenJDK11U-jre_x64_linux_openj9_11.0.3_7_openj9-0.14.0.tar.gz", - "version": "11.0.3" + "build": "11", + "sha256": "c2601e7cb22af7a910e03883280cee805074656104d6d3dcaaf30e3bbb832690", + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11_openj9-0.15.1/OpenJDK11U-jre_x64_linux_openj9_11.0.4_11_openj9-0.15.1.tar.gz", + "version": "11.0.4" } } } @@ -64,20 +76,20 @@ "packageType": "jdk", "vmType": "hotspot", "x86_64": { - "build": "7", - "sha256": "5ca2a24f1827bd7c110db99854693bf418f51ee3093c31332db5cd605278faad", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_x64_mac_hotspot_11.0.3_7.tar.gz", - "version": "11.0.3" + "build": "11", + "sha256": "a50b211f475b9497311c9b65594764d7b852b1653f249582bb20fc3c302846a5", + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11/OpenJDK11U-jdk_x64_mac_hotspot_11.0.4_11.tar.gz", + "version": "11.0.4" } }, "openj9": { "packageType": "jdk", "vmType": "openj9", "x86_64": { - "build": "7", - "sha256": "01045a99ff23bda354f82c0fd3fa6e8222e4a5acce7494e82495f47b30bc5e18", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7_openj9-0.14.0/OpenJDK11U-jdk_x64_mac_openj9_11.0.3_7_openj9-0.14.0.tar.gz", - "version": "11.0.3" + "build": "11", + "sha256": "7c09678d9c2d9dd0366693c6ab27bed39c76a23e7ac69b8a25c794e99dcf3ba7", + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11_openj9-0.15.1/OpenJDK11U-jdk_x64_mac_openj9_11.0.4_11_openj9-0.15.1.tar.gz", + "version": "11.0.4" } } }, @@ -86,20 +98,126 @@ "packageType": "jre", "vmType": "hotspot", "x86_64": { - "build": "7", - "sha256": "9523b97288ff5d50e404565d346ed8ea8f19dd155092951af88d4be6b8414776", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jre_x64_mac_hotspot_11.0.3_7.tar.gz", - "version": "11.0.3" + "build": "11", + "sha256": "1647fded28d25e562811f7bce2092eb9c21d30608843b04250c023b40604ff26", + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11/OpenJDK11U-jre_x64_mac_hotspot_11.0.4_11.tar.gz", + "version": "11.0.4" } }, "openj9": { "packageType": "jre", "vmType": "openj9", "x86_64": { - "build": "7", - "sha256": "150c4065a57ec368b692276e8e3320b183ee17b402b7db07e676dff5837f0c52", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7_openj9-0.14.0/OpenJDK11U-jre_x64_mac_openj9_11.0.3_7_openj9-0.14.0.tar.gz", - "version": "11.0.3" + "build": "11", + "sha256": "1a8e84bae517a848aa5f25c7b04f26ab3a3bfffaa7fdf9be24e1f83325e46766", + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11_openj9-0.15.1/OpenJDK11U-jre_x64_mac_openj9_11.0.4_11_openj9-0.15.1.tar.gz", + "version": "11.0.4" + } + } + } + } + }, + "openjdk8": { + "linux": { + "jdk": { + "hotspot": { + "aarch64": { + "build": "10", + "sha256": "652776586ede124189dc218174b5922cc97feac81021ad81905900b349a352d2", + "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jdk_aarch64_linux_hotspot_8u222b10.tar.gz", + "version": "8.0.222" + }, + "packageType": "jdk", + "vmType": "hotspot", + "x86_64": { + "build": "10", + "sha256": "37356281345b93feb4212e6267109b4409b55b06f107619dde4960e402bafa77", + "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jdk_x64_linux_hotspot_8u222b10.tar.gz", + "version": "8.0.222" + } + }, + "openj9": { + "packageType": "jdk", + "vmType": "openj9", + "x86_64": { + "build": "10", + "sha256": "20cff719c6de43f8bb58c7f59e251da7c1fa2207897c9a4768c8c669716dc819", + "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10_openj9-0.15.1/OpenJDK8U-jdk_x64_linux_openj9_8u222b10_openj9-0.15.1.tar.gz", + "version": "8.0.222" + } + } + }, + "jre": { + "hotspot": { + "aarch64": { + "build": "10", + "sha256": "dfaf5a121f7606c54bd6232793677a4267eddf65d29cde352b84d84edbccbb51", + "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jre_aarch64_linux_hotspot_8u222b10.tar.gz", + "version": "8.0.222" + }, + "packageType": "jre", + "vmType": "hotspot", + "x86_64": { + "build": "10", + "sha256": "a418ce895c8bf3ca2e7b2f423f038b8b093941684c9430f2e40da0982e12b52d", + "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jre_x64_linux_hotspot_8u222b10.tar.gz", + "version": "8.0.222" + } + }, + "openj9": { + "packageType": "jre", + "vmType": "openj9", + "x86_64": { + "build": "10", + "sha256": "ae56994a7c8e8c19939c0c2ff8fe5a850eb2f23845c499aa5ede26deb3d5ad28", + "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10_openj9-0.15.1/OpenJDK8U-jre_x64_linux_openj9_8u222b10_openj9-0.15.1.tar.gz", + "version": "8.0.222" + } + } + } + }, + "mac": { + "jdk": { + "hotspot": { + "packageType": "jdk", + "vmType": "hotspot", + "x86_64": { + "build": "10", + "sha256": "9605fd00d2960934422437f601c7a9a1c5537309b9199d5bc75f84f20cd29a76", + "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jdk_x64_mac_hotspot_8u222b10.tar.gz", + "version": "8.0.222" + } + }, + "openj9": { + "packageType": "jdk", + "vmType": "openj9", + "x86_64": { + "build": "10", + "sha256": "df185e167756332163633a826b329db067f8a721f7d5d27f0b353a35fc415de0", + "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10_openj9-0.15.1/OpenJDK8U-jdk_x64_mac_openj9_8u222b10_openj9-0.15.1.tar.gz", + "version": "8.0.222" + } + } + }, + "jre": { + "hotspot": { + "packageType": "jre", + "vmType": "hotspot", + "x86_64": { + "build": "10", + "sha256": "b3ac2436534cea932ccf665b317dbf5ffc0ee065efca808b22b6c2d795ca1b90", + "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jre_x64_mac_hotspot_8u222b10.tar.gz", + "version": "8.0.222" + } + }, + "openj9": { + "packageType": "jre", + "vmType": "openj9", + "x86_64": { + "build": "10", + "sha256": "d5754413d7bc3a3233aaa7f8465451fbdabaf2a0c2a91743155bf135a3047ec8", + "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10_openj9-0.15.1/OpenJDK8U-jre_x64_mac_openj9_8u222b10_openj9-0.15.1.tar.gz", + "version": "8.0.222" } } } |