da19c34d0f
This continues #23374, which always kept around both attributes, by always including both propagated files: `propgated-native-build-inputs` and `propagated-build-inputs`. `nativePkgs` and `crossPkgs` are still defined as before, however, so this change should only barely observable. This is an incremental step to fully keeping the dependencies separate in all cases.
55 lines
1.7 KiB
Nix
55 lines
1.7 KiB
Nix
{ stdenv, fetchurl, unzip, setJavaClassPath, freetype }:
|
|
let
|
|
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";
|
|
sha256 = "0nk7m0lgcbsvldq2wbfni2pzq8h818523z912i7v8hdcij5s48c0";
|
|
};
|
|
|
|
jdk = stdenv.mkDerivation {
|
|
name = "zulu1.8.0_121-8.20.0.5";
|
|
|
|
src = fetchurl {
|
|
url = "http://cdn.azul.com/zulu/bin/zulu8.20.0.5-jdk8.0.121-macosx_x64.zip";
|
|
sha256 = "2a58bd1d9b0cbf0b3d8d1bcdd117c407e3d5a0ec01e2f53565c9bec5cf9ea78b";
|
|
curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/zulu-linux/";
|
|
};
|
|
|
|
buildInputs = [ unzip freetype ];
|
|
|
|
installPhase = ''
|
|
mkdir -p $out
|
|
mv * $out
|
|
|
|
unzip ${jce-policies}
|
|
mv -f ZuluJCEPolicies/*.jar $out/jre/lib/security/
|
|
|
|
# jni.h expects jni_md.h to be in the header search path.
|
|
ln -s $out/include/darwin/*_md.h $out/include/
|
|
'';
|
|
|
|
preFixup = ''
|
|
# Propagate the setJavaClassPath setup hook from the JRE so that
|
|
# any package that depends on the JRE has $CLASSPATH set up
|
|
# properly.
|
|
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/jre/lib/libfontmanager.dylib
|
|
|
|
# Set JAVA_HOME automatically.
|
|
cat <<EOF >> $out/nix-support/setup-hook
|
|
if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
|
|
EOF
|
|
'';
|
|
|
|
passthru = {
|
|
jre = jdk;
|
|
home = jdk;
|
|
};
|
|
|
|
meta.platforms = stdenv.lib.platforms.darwin;
|
|
|
|
};
|
|
in jdk
|