diff options
Diffstat (limited to 'pkgs/os-specific/darwin/apple-source-releases')
-rw-r--r-- | pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix index 6f8124dbac4..aa93a32c562 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix @@ -1,12 +1,36 @@ -{ lib, stdenv, buildPackages +{ lib, stdenv, buildPackages, fetchzip , appleDerivation', xnu, Libc, Libm, libdispatch, Libinfo , dyld, Csu, architecture, libclosure, CarbonHeaders, ncurses, CommonCrypto , copyfile, removefile, libresolvHeaders, libresolv, Libnotify, libplatform, libpthread -, mDNSResponder, launchd, libutilHeaders, hfsHeaders, darling, darwin-stubs +, mDNSResponder, launchd, libutilHeaders, hfsHeaders, darwin-stubs , headersOnly ? false , withLibresolv ? !headersOnly }: +let + darling.src = fetchzip { + url = "https://github.com/darlinghq/darling/archive/d2cc5fa748003aaa70ad4180fff0a9a85dc65e9b.tar.gz"; + sha256 = "11b51fw47nl505h63bgx5kqiyhf3glhp1q6jkpb6nqfislnzzkrf"; + postFetch = '' + # The archive contains both `src/opendirectory` and `src/OpenDirectory`, + # pre-create the directory to choose the canonical case on + # case-insensitive filesystems. + mkdir -p $out/src/OpenDirectory + + cd $out + tar -xzf $downloadedFile --strip-components=1 + rm -r $out/src/libm + + # If `src/opendirectory` and `src/OpenDirectory` refer to different + # things, then combine them into `src/OpenDirectory` to match the result + # on case-insensitive filesystems. + if [ "$(stat -c %i src/opendirectory)" != "$(stat -c %i src/OpenDirectory)" ]; then + mv src/opendirectory/* src/OpenDirectory/ + rmdir src/opendirectory + fi + ''; + }; +in appleDerivation' stdenv { dontBuild = true; dontFixup = true; |