(darwin) openjdk: 16.0.0 -> 16.0.1

Also adds aarch64-darwin support

(cherry picked from commit 4288adb8f66d9bb80a28f281ade07e4ca529bf31)
Signed-off-by: Domen Kožar <domen@dev.si>
This commit is contained in:
Andrew Childs 2021-05-27 17:18:42 +09:00 committed by Domen Kožar
parent a5b2f798eb
commit ccb99f68e5
No known key found for this signature in database
GPG key ID: C2FFBCAFD2C24246

View file

@ -1,5 +1,23 @@
{ lib, stdenv, fetchurl, unzip, setJavaClassPath, freetype }:
{ lib, stdenv, fetchurl, unzip, setJavaClassPath }:
let
# Details from https://www.azul.com/downloads/?version=java-16-sts&os=macos&package=jdk
# Note that the latest build may differ by platform
dist = {
x86_64-darwin = {
arch = "x64";
zuluVersion = "16.30.15";
jdkVersion = "16.0.1";
sha256 = "1jihn125dmxr9y5h9jq89zywm3z6rbwv5q7msfzsf2wzrr13jh0z";
};
aarch64-darwin = {
arch = "aarch64";
zuluVersion = "16.30.19";
jdkVersion = "16.0.1";
sha256 = "1i0bcjx3acb5dhslf6cabdcnd6mrz9728vxw9hb4al5y3f5fll4w";
};
}."${stdenv.hostPlatform.system}";
jce-policies = fetchurl {
# Ugh, unversioned URLs... I hope this doesn't change often enough to cause pain before we move to a Darwin source build of OpenJDK!
url = "http://cdn.azul.com/zcek/bin/ZuluJCEPolicies.zip";
@ -7,17 +25,16 @@ let
};
jdk = stdenv.mkDerivation rec {
pname = "zulu16.28.11-ca-jdk";
version = "16.0.0";
pname = "zulu${dist.zuluVersion}-ca-jdk";
version = dist.jdkVersion;
src = fetchurl {
url = "https://cdn.azul.com/zulu/bin/${pname}${version}-macosx_x64.tar.gz";
sha256 = "6d47ef22dc56ce1f5a102ed39e21d9a97320f0bb786818e2c686393109d79bc5";
url = "https://cdn.azul.com/zulu/bin/zulu${dist.zuluVersion}-ca-jdk${dist.jdkVersion}-macosx_${dist.arch}.tar.gz";
inherit (dist) sha256;
curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/";
};
nativeBuildInputs = [ unzip ];
buildInputs = [ freetype ];
installPhase = ''
mkdir -p $out
@ -42,8 +59,6 @@ let
mkdir -p $out/nix-support
printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
install_name_tool -change /usr/X11/lib/libfreetype.6.dylib ${freetype}/lib/libfreetype.6.dylib $out/lib/libfontmanager.dylib
# Set JAVA_HOME automatically.
cat <<EOF >> $out/nix-support/setup-hook
if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi