From 78b34b5e5bd8e36f67a6fcd0254b174423c2ebdd Mon Sep 17 00:00:00 2001 From: hlolli Date: Sat, 18 Jan 2020 16:43:03 +0100 Subject: graalvm8: 19.1.1 -> 19.2.1 - - nixpkgs now with full darwin support --- pkgs/os-specific/darwin/apple-sdk/default.nix | 28 ++++++++++++---------- pkgs/os-specific/darwin/apple-sdk/frameworks.nix | 2 ++ .../apple-source-releases/libdispatch/default.nix | 9 +++++++ 3 files changed, 26 insertions(+), 13 deletions(-) (limited to 'pkgs/os-specific') diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix index aef7341e5e9f..9890d385259c 100644 --- a/pkgs/os-specific/darwin/apple-sdk/default.nix +++ b/pkgs/os-specific/darwin/apple-sdk/default.nix @@ -61,9 +61,16 @@ let installPhase = '' linkFramework() { local path="$1" + local nested_path="$1" local dest="$out/Library/Frameworks/$path" + if [ "$path" == "JavaNativeFoundation.framework" ]; then + local nested_path="JavaVM.framework/Versions/A/Frameworks/JavaNativeFoundation.framework" + fi + if [ "$path" == "JavaRuntimeSupport.framework" ]; then + local nested_path="JavaVM.framework/Versions/A/Frameworks/JavaRuntimeSupport.framework" + fi local name="$(basename "$path" .framework)" - local current="$(readlink "/System/Library/Frameworks/$path/Versions/Current")" + local current="$(readlink "/System/Library/Frameworks/$nested_path/Versions/Current")" if [ -z "$current" ]; then current=A fi @@ -75,25 +82,21 @@ let # ApplicationServices in the 10.9 SDK local isChild=0 - if [ -d "${sdk.out}/Library/Frameworks/$path/Versions/$current/Headers" ]; then + if [ -d "${sdk.out}/Library/Frameworks/$nested_path/Versions/$current/Headers" ]; then isChild=1 - cp -R "${sdk.out}/Library/Frameworks/$path/Versions/$current/Headers" . + cp -R "${sdk.out}/Library/Frameworks/$nested_path/Versions/$current/Headers" . elif [ -d "${sdk.out}/Library/Frameworks/$name.framework/Versions/$current/Headers" ]; then current="$(readlink "/System/Library/Frameworks/$name.framework/Versions/Current")" cp -R "${sdk.out}/Library/Frameworks/$name.framework/Versions/$current/Headers" . fi - ln -s -L "/System/Library/Frameworks/$path/Versions/$current/$name" - ln -s -L "/System/Library/Frameworks/$path/Versions/$current/Resources" + ln -s -L "/System/Library/Frameworks/$nested_path/Versions/$current/$name" + ln -s -L "/System/Library/Frameworks/$nested_path/Versions/$current/Resources" - if [ -f "/System/Library/Frameworks/$path/module.map" ]; then - ln -s "/System/Library/Frameworks/$path/module.map" + if [ -f "/System/Library/Frameworks/$nested_path/module.map" ]; then + ln -s "/System/Library/Frameworks/$nested_path/module.map" fi - if [ $isChild -eq 1 ]; then - pushd "${sdk.out}/Library/Frameworks/$path/Versions/$current" >/dev/null - else - pushd "${sdk.out}/Library/Frameworks/$name.framework/Versions/$current" >/dev/null - fi + pushd "${sdk.out}/Library/Frameworks/$nested_path/Versions/$current" >/dev/null local children=$(echo Frameworks/*.framework) popd >/dev/null @@ -109,7 +112,6 @@ let popd >/dev/null } - linkFramework "${name}.framework" ''; diff --git a/pkgs/os-specific/darwin/apple-sdk/frameworks.nix b/pkgs/os-specific/darwin/apple-sdk/frameworks.nix index b5a378cc6ae1..09e0e4e48ecd 100644 --- a/pkgs/os-specific/darwin/apple-sdk/frameworks.nix +++ b/pkgs/os-specific/darwin/apple-sdk/frameworks.nix @@ -65,6 +65,8 @@ with frameworks; with libs; { InstallerPlugins = []; InstantMessage = []; JavaFrameEmbedding = []; + JavaNativeFoundation = []; + JavaRuntimeSupport = []; JavaScriptCore = []; Kerberos = []; Kernel = [ IOKit ]; diff --git a/pkgs/os-specific/darwin/apple-source-releases/libdispatch/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libdispatch/default.nix index 46e9e592ddc6..e7aa47bdb6b1 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libdispatch/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/libdispatch/default.nix @@ -12,5 +12,14 @@ appleDerivation { cp -r dispatch/*.h $out/include/dispatch cp -r os/object*.h $out/include/os + + # gcc compatability. Source: https://stackoverflow.com/a/28014302/3714556 + substituteInPlace $out/include/dispatch/object.h \ + --replace 'typedef void (^dispatch_block_t)(void);' \ + '#ifdef __clang__ + typedef void (^dispatch_block_t)(void); + #else + typedef void* dispatch_block_t; + #endif' ''; } -- cgit 1.4.1