2 files changed +20
-8
lines changed Original file line number Diff line number Diff line change 19
19
providedCpuTypes = builtins . filter ( arch : builtins . elem arch validCpuTypes ) (
20
20
builtins . attrNames sourcePerArch
21
21
) ;
22
- result = stdenv . mkDerivation {
22
+ result = stdenv . mkDerivation rec {
23
23
pname =
24
24
if sourcePerArch . packageType == "jdk" then
25
25
"${ name-prefix } -bin"
40
40
installPhase = ''
41
41
cd ..
42
42
43
- mv $sourceRoot $out
43
+ mkdir -p $out/Library/Java/JavaVirtualMachines
44
+
45
+ bundle=$out/Library/Java/JavaVirtualMachines/${ name-prefix } -${ lib . versions . major version } .jdk
46
+ mv $sourceRoot $bundle
44
47
45
48
# jni.h expects jni_md.h to be in the header search path.
46
- ln -s $out /Contents/Home/include/darwin/*_md.h $out /Contents/Home/include/
49
+ ln -s $bundle /Contents/Home/include/darwin/*_md.h $bundle /Contents/Home/include/
47
50
48
51
# Remove some broken manpages.
49
52
# Only for 11 and earlier.
50
- [ -e "$out /Contents/Home/man/ja" ] && rm -r $out /Contents/Home/man/ja
53
+ [ -e "$bundle /Contents/Home/man/ja" ] && rm -r $bundle /Contents/Home/man/ja
51
54
52
- ln -s $out /Contents/Home/* $out/
55
+ ln -s $bundle /Contents/Home/* $out/
53
56
54
57
# Propagate the setJavaClassPath setup hook from the JDK so that
55
58
# any package that depends on the JDK has $CLASSPATH set up
67
70
passthru = {
68
71
jre = result ;
69
72
home = result ;
70
- bundle = result ;
73
+ bundle = " ${ result } /Library/Java/JavaVirtualMachines/ ${ name-prefix } - ${ lib . versions . major version } .jdk" ;
71
74
} ;
72
75
73
76
meta = with lib ; {
Original file line number Diff line number Diff line change 120
120
mkdir -p $out
121
121
mv * $out
122
122
123
+ ${ lib . optionalString stdenv . hostPlatform . isDarwin ''
124
+ mkdir -p $out/Library/Java/JavaVirtualMachines
125
+ bundle=$out/Library/Java/JavaVirtualMachines/zulu-${ lib . versions . major version } .jdk
126
+ mv $out/zulu-${ lib . versions . major version } .jdk $bundle
127
+ ln -sf $bundle/Contents/Home/* $out/
128
+ '' }
129
+
123
130
unzip ${ jce-policies }
124
131
mv -f ZuluJCEPolicies/*.jar $out/${ lib . optionalString isJdk8 "jre/" } lib/security/
125
132
174
181
} )
175
182
// {
176
183
home = jdk ;
177
- bundle = "${ jdk } /zulu-${ lib . versions . major version } .jdk" ;
178
- } ;
184
+ }
185
+ // ( lib . optionalAttrs stdenv . hostPlatform . isDarwin {
186
+ bundle = "${ jdk } /Library/Java/JavaVirtualMachines/zulu-${ lib . versions . major version } .jdk" ;
187
+ } ) ;
179
188
180
189
meta = {
181
190
description = "Certified builds of OpenJDK" ;
0 commit comments