diff options
Diffstat (limited to 'pkgs/os-specific/darwin/apple-source-releases/libutil/default.nix')
-rw-r--r-- | pkgs/os-specific/darwin/apple-source-releases/libutil/default.nix | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libutil/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libutil/default.nix index a6f484ba4e8d0..87211f481d4f0 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libutil/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/libutil/default.nix @@ -1,13 +1,33 @@ -{ stdenv, appleDerivation }: +{ stdenv, lib, appleDerivation, xcbuildHook + +# headersOnly is true when building for libSystem +, headersOnly ? false }: -# all symbols are located in libSystem appleDerivation { + nativeBuildInputs = lib.optional (!headersOnly) xcbuildHook; + + prePatch = '' + substituteInPlace tzlink.c \ + --replace '#include <xpc/xpc.h>' "" + ''; + + xcbuildFlags = "-target util"; + installPhase = '' mkdir -p $out/include + '' + lib.optionalString headersOnly '' cp *.h $out/include + '' + lib.optionalString (!headersOnly)'' + mkdir -p $out/lib $out/include + + cp Products/Release/*.dylib $out/lib + cp Products/Release/*.h $out/include + + # TODO: figure out how to get this to be right the first time around + install_name_tool -id $out/lib/libutil.dylib $out/lib/libutil.dylib ''; - meta = with stdenv.lib; { + meta = with lib; { maintainers = with maintainers; [ copumpkin ]; platforms = platforms.darwin; license = licenses.apsl20; |