1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-12-25 03:17:13 +00:00
nixpkgs/pkgs/os-specific/darwin/apple-source-releases/shell_cmds/default.nix
Matthew Bauer 0534ceac81 xcbuild: move setup hook to xcbuildHook
Not every package that needs xcbuild will want to use its build phase.
I have moved the xcbuild setup hook to the new attribute xcbuildHook.
This means that dontUseXcbuild is no longer needed. If you just need
to call xcbuild on its own you can just refer to xcbuild.
2018-07-09 17:13:58 -04:00

48 lines
1.5 KiB
Nix

{ stdenv, appleDerivation, xcbuildHook }:
appleDerivation rec {
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 = ''
mkdir -p $out/usr/bin
install Products/Release/* $out/usr/bin
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 ];
};
}