diff --git a/pkgs/development/compilers/openjdk/darwin/11.nix b/pkgs/development/compilers/openjdk/darwin/11.nix index 6bcd79b274be..5dd979e5521a 100644 --- a/pkgs/development/compilers/openjdk/darwin/11.nix +++ b/pkgs/development/compilers/openjdk/darwin/11.nix @@ -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-11-lts&os=macos&package=jdk + # Note that the latest build may differ by platform + dist = { + x86_64-darwin = { + arch = "x64"; + zuluVersion = "11.48.21"; + jdkVersion = "11.0.11"; + sha256 = "0v0n7h7i04pvna41wpdq2k9qiy70sbbqzqzvazfdvgm3gb22asw6"; + }; + + aarch64-darwin = { + arch = "aarch64"; + zuluVersion = "11.48.21"; + jdkVersion = "11.0.11"; + sha256 = "066whglrxx81c95grv2kxdbvyh32728ixhml2v44ildh549n4lhc"; + }; + }."${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,16 +25,16 @@ let }; jdk = stdenv.mkDerivation rec { - name = "zulu11.43.21-ca-jdk11.0.9"; + pname = "zulu${dist.zuluVersion}-ca-jdk"; + version = dist.jdkVersion; src = fetchurl { - url = "https://cdn.azul.com/zulu/bin/${name}-macosx_x64.tar.gz"; - sha256 = "1j19fb5mwdkfn6y8wfsnvxsz6wfpcab4xv439fqssxy520n6q4zs"; - curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/zulu-mac/"; + 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 @@ -41,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 <> $out/nix-support/setup-hook if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi