diff options
Diffstat (limited to 'nixpkgs/pkgs/os-specific/darwin/apple-source-releases/shell_cmds/default.nix')
-rw-r--r-- | nixpkgs/pkgs/os-specific/darwin/apple-source-releases/shell_cmds/default.nix | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/shell_cmds/default.nix b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/shell_cmds/default.nix new file mode 100644 index 000000000000..b87dadd391d2 --- /dev/null +++ b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/shell_cmds/default.nix @@ -0,0 +1,50 @@ +{ stdenv, appleDerivation, xcbuildHook }: + +appleDerivation { + nativeBuildInputs = [ xcbuildHook ]; + + patchPhase = '' + # NOTE: these hashes must be recalculated for each version change + + # disables: + # - su ('security/pam_appl.h' file not found) + # - find (Undefined symbol '_get_date') + # - w (Undefined symbol '_res_9_init') + # - expr + substituteInPlace shell_cmds.xcodeproj/project.pbxproj \ + --replace "FCBA168714A146D000AA698B /* PBXTargetDependency */," "" \ + --replace "FCBA165914A146D000AA698B /* PBXTargetDependency */," "" \ + --replace "FCBA169514A146D000AA698B /* PBXTargetDependency */," "" \ + --replace "FCBA165514A146D000AA698B /* PBXTargetDependency */," "" + + # disable w, test install + # get rid of permission stuff + substituteInPlace xcodescripts/install-files.sh \ + --replace 'ln -f "$BINDIR/w" "$BINDIR/uptime"' "" \ + --replace 'ln -f "$DSTROOT/bin/test" "$DSTROOT/bin/["' "" \ + --replace "-o root -g wheel -m 0755" "" \ + --replace "-o root -g wheel -m 0644" "" + ''; + + # temporary install phase until xcodebuild has "install" support + installPhase = '' + for f in Products/Release/*; do + if [ -f $f ]; then + install -D $f $out/usr/bin/$(basename $f) + fi + done + + export DSTROOT=$out + export SRCROOT=$PWD + . xcodescripts/install-files.sh + + mv $out/usr/* $out + mv $out/private/etc $out + rmdir $out/usr $out/private + ''; + + meta = { + platforms = stdenv.lib.platforms.darwin; + maintainers = with stdenv.lib.maintainers; [ matthewbauer ]; + }; +} |