From 0534ceac816cb708434b126e38e98b925516498a Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Fri, 6 Jul 2018 18:53:50 -0400 Subject: [PATCH] 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. --- pkgs/development/tools/xcbuild/setup-hook.sh | 8 +++----- .../apple-source-releases/PowerManagement/default.nix | 5 +++-- .../apple-source-releases/SmartCardServices/default.nix | 5 +++-- .../darwin/apple-source-releases/adv_cmds/xcode.nix | 4 ++-- .../darwin/apple-source-releases/basic_cmds/default.nix | 4 ++-- .../apple-source-releases/developer_cmds/default.nix | 4 ++-- .../darwin/apple-source-releases/diskdev_cmds/default.nix | 6 ++++-- .../darwin/apple-source-releases/dtrace/xcode.nix | 6 ++++-- .../darwin/apple-source-releases/file_cmds/default.nix | 5 +++-- .../darwin/apple-source-releases/libutil/new.nix | 4 ++-- .../darwin/apple-source-releases/network_cmds/default.nix | 6 ++++-- .../security_systemkeychain/default.nix | 5 +++-- .../darwin/apple-source-releases/shell_cmds/default.nix | 4 ++-- .../darwin/apple-source-releases/text_cmds/default.nix | 5 +++-- .../darwin/apple-source-releases/top/default.nix | 5 +++-- pkgs/os-specific/darwin/insert_dylib/default.nix | 4 ++-- pkgs/tools/misc/contacts/default.nix | 5 +++-- pkgs/tools/security/pinentry/mac.nix | 5 +++-- pkgs/top-level/all-packages.nix | 3 +++ 19 files changed, 54 insertions(+), 39 deletions(-) diff --git a/pkgs/development/tools/xcbuild/setup-hook.sh b/pkgs/development/tools/xcbuild/setup-hook.sh index 70100c196973..9dc03a61f62e 100644 --- a/pkgs/development/tools/xcbuild/setup-hook.sh +++ b/pkgs/development/tools/xcbuild/setup-hook.sh @@ -19,11 +19,9 @@ xcbuildInstallPhase () { runHook postInstall } -if [ -z "$dontUseXcbuild" ]; then - buildPhase=xcbuildBuildPhase - if [ -z "$installPhase" ]; then - installPhase=xcbuildInstallPhase - fi +buildPhase=xcbuildBuildPhase +if [ -z "$installPhase" ]; then + installPhase=xcbuildInstallPhase fi # if [ -d "*.xcodeproj" ]; then diff --git a/pkgs/os-specific/darwin/apple-source-releases/PowerManagement/default.nix b/pkgs/os-specific/darwin/apple-source-releases/PowerManagement/default.nix index a866c9414d52..2d5520b9bf9c 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/PowerManagement/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/PowerManagement/default.nix @@ -1,7 +1,8 @@ -{ appleDerivation, xcbuild, IOKit }: +{ appleDerivation, xcbuildHook, IOKit }: appleDerivation { - buildInputs = [ xcbuild IOKit ]; + nativeBuildInputs = [ xcbuildHook ]; + buildInputs = [ IOKit ]; xcbuildFlags = "-target caffeinate"; installPhase = '' install -D Products/Deployment/caffeinate $out/bin/caffeinate diff --git a/pkgs/os-specific/darwin/apple-source-releases/SmartCardServices/default.nix b/pkgs/os-specific/darwin/apple-source-releases/SmartCardServices/default.nix index 1cb85b1e9884..6e9003350780 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/SmartCardServices/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/SmartCardServices/default.nix @@ -1,8 +1,9 @@ -{ stdenv, appleDerivation, xcbuild, gnumake, Security +{ stdenv, appleDerivation, xcbuildHook, gnumake, Security , libsecurity_utilities, libsecurity_cdsa_utilities }: appleDerivation { - buildInputs = [ xcbuild libsecurity_utilities libsecurity_cdsa_utilities ]; + nativeBuildInputs = [ xcbuildHook ]; + buildInputs = [ libsecurity_utilities libsecurity_cdsa_utilities ]; DSTROOT = "$out"; diff --git a/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/xcode.nix b/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/xcode.nix index dcfb4aefe1f5..fda7cd85e4f7 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/xcode.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/xcode.nix @@ -2,7 +2,6 @@ appleDerivation { # We can't just run the root build, because https://github.com/facebook/xcbuild/issues/264 - dontUseXcbuild = true; # pkill requires special private headers that are unavailable in # NixPkgs. These ones are needed: @@ -49,7 +48,8 @@ appleDerivation { # ln -s $out/share/man/man1/pkill.1 $out/share/man/man1/pgrep.1 ''; - buildInputs = [ xcbuild ncurses libutil-new ]; + nativeBuildInputs = [ xcbuild ]; + buildInputs = [ ncurses libutil-new ]; meta = { platforms = stdenv.lib.platforms.darwin; diff --git a/pkgs/os-specific/darwin/apple-source-releases/basic_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/basic_cmds/default.nix index b52ec3306dc4..596ca25d70a4 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/basic_cmds/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/basic_cmds/default.nix @@ -1,7 +1,7 @@ -{ stdenv, appleDerivation, fetchurl, xcbuild }: +{ stdenv, appleDerivation, fetchurl, xcbuildHook }: appleDerivation rec { - buildInputs = [ xcbuild ]; + nativeBuildInputs = [ xcbuildHook ]; # These PBXcp calls should be patched in xcbuild to allow them to # automatically be prefixed. diff --git a/pkgs/os-specific/darwin/apple-source-releases/developer_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/developer_cmds/default.nix index 1f35e3008b3b..a572d46ceab5 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/developer_cmds/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/developer_cmds/default.nix @@ -1,7 +1,7 @@ -{ stdenv, fetchurl, appleDerivation, xcbuild }: +{ stdenv, fetchurl, appleDerivation, xcbuildHook }: appleDerivation rec { - buildInputs = [ xcbuild ]; + nativeBuildInputs = [ xcbuildHook ]; patchPhase = '' substituteInPlace rpcgen/rpc_main.c \ diff --git a/pkgs/os-specific/darwin/apple-source-releases/diskdev_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/diskdev_cmds/default.nix index aba2472af602..b947267ab14d 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/diskdev_cmds/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/diskdev_cmds/default.nix @@ -1,7 +1,9 @@ -{ stdenv, appleDerivation, xcbuild, lib, hostPlatform, Libc, xnu, libutil-new }: +{ stdenv, appleDerivation, xcbuildHook +, lib, hostPlatform, Libc, xnu, libutil-new }: appleDerivation { - buildInputs = [ xcbuild libutil-new ]; + nativeBuildInputs = [ xcbuildHook ]; + buildInputs = [ libutil-new ]; NIX_CFLAGS_COMPILE = "-I."; NIX_LDFLAGS = "-lutil"; diff --git a/pkgs/os-specific/darwin/apple-source-releases/dtrace/xcode.nix b/pkgs/os-specific/darwin/apple-source-releases/dtrace/xcode.nix index dd193f2c07dc..f8636403ed54 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/dtrace/xcode.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/dtrace/xcode.nix @@ -1,7 +1,9 @@ -{ appleDerivation, xcbuild, CoreSymbolication, xnu, bison, flex, darling, stdenv }: +{ appleDerivation, xcbuildHook, CoreSymbolication +, xnu, bison, flex, darling, stdenv }: appleDerivation { - buildInputs = [ xcbuild CoreSymbolication xnu bison flex darling ]; + nativeBuildInputs = [ xcbuildHook flex bison ]; + buildInputs = [ CoreSymbolication darling ]; NIX_CFLAGS_COMPILE = "-DCTF_OLD_VERSIONS -DPRIVATE -DYYDEBUG=1 -I${xnu}/Library/Frameworks/System.framework/Headers"; NIX_LDFLAGS = "-L./Products/Release"; xcbuildFlags = "-target dtrace"; diff --git a/pkgs/os-specific/darwin/apple-source-releases/file_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/file_cmds/default.nix index 47a587966b44..a19e0736336d 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/file_cmds/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/file_cmds/default.nix @@ -1,7 +1,8 @@ -{ stdenv, appleDerivation, xcbuild, zlib, bzip2, lzma, ncurses, libutil-new }: +{ stdenv, appleDerivation, xcbuildHook, zlib, bzip2, lzma, ncurses, libutil-new }: appleDerivation rec { - buildInputs = [ xcbuild zlib bzip2 lzma ncurses libutil-new ]; + nativeBuildInputs = [ xcbuildHook ]; + buildInputs = [ zlib bzip2 lzma ncurses libutil-new ]; # some commands not working: # mtree: _simple.h not found diff --git a/pkgs/os-specific/darwin/apple-source-releases/libutil/new.nix b/pkgs/os-specific/darwin/apple-source-releases/libutil/new.nix index 7facea2b8936..0115ce537e27 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libutil/new.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/libutil/new.nix @@ -1,8 +1,8 @@ -{ stdenv, appleDerivation, xcbuild }: +{ stdenv, appleDerivation, xcbuildHook }: # TODO: make this the official libutil expression once we've integrated xcbuild in the bootstrap appleDerivation { - buildInputs = [ xcbuild ]; + nativeBuildInputs = [ xcbuildHook ]; prePatch = '' substituteInPlace tzlink.c \ diff --git a/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix index 23777c941576..dccc83a70bff 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix @@ -1,7 +1,9 @@ -{ stdenv, appleDerivation, xcbuild, openssl, Librpcsvc, xnu, libpcap, developer_cmds }: +{ stdenv, appleDerivation, xcbuildHook +, openssl, Librpcsvc, xnu, libpcap, developer_cmds }: appleDerivation rec { - buildInputs = [ xcbuild openssl xnu Librpcsvc libpcap developer_cmds ]; + nativeBuildInputs = [ xcbuildHook ]; + buildInputs = [ openssl xnu Librpcsvc libpcap developer_cmds ]; NIX_CFLAGS_COMPILE = " -I./unbound -I${xnu}/Library/Frameworks/System.framework/Headers/"; diff --git a/pkgs/os-specific/darwin/apple-source-releases/security_systemkeychain/default.nix b/pkgs/os-specific/darwin/apple-source-releases/security_systemkeychain/default.nix index 1a0208ef3a08..d5bc3483c389 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/security_systemkeychain/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/security_systemkeychain/default.nix @@ -1,9 +1,10 @@ -{ appleDerivation, xcbuild, Security +{ appleDerivation, xcbuildHook, Security , libsecurity_codesigning, libsecurity_utilities, libsecurity_cdsa_utilities , xnu, osx_private_sdk, pcsclite}: appleDerivation { - buildInputs = [ xcbuild Security libsecurity_utilities + nativeBuildInputs = [ xcbuildHook ]; + buildInputs = [ Security libsecurity_utilities libsecurity_cdsa_utilities libsecurity_codesigning pcsclite ]; diff --git a/pkgs/os-specific/darwin/apple-source-releases/shell_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/shell_cmds/default.nix index 8ce916feb38a..bec05ef85757 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/shell_cmds/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/shell_cmds/default.nix @@ -1,7 +1,7 @@ -{ stdenv, appleDerivation, xcbuild }: +{ stdenv, appleDerivation, xcbuildHook }: appleDerivation rec { - buildInputs = [ xcbuild ]; + nativeBuildInputs = [ xcbuildHook ]; patchPhase = '' # NOTE: these hashes must be recalculated for each version change diff --git a/pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix index 196276b0b273..08df235ed8c2 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix @@ -1,7 +1,8 @@ -{ stdenv, appleDerivation, fetchurl, xcbuild, ncurses, bzip2, zlib, lzma }: +{ stdenv, appleDerivation, fetchurl, xcbuildHook, ncurses, bzip2, zlib, lzma }: appleDerivation { - buildInputs = [ xcbuild ncurses bzip2 zlib lzma ]; + nativeBuildInputs = [ xcbuildHook ]; + buildInputs = [ ncurses bzip2 zlib lzma ]; # patches to use ncursees # disables md5 diff --git a/pkgs/os-specific/darwin/apple-source-releases/top/default.nix b/pkgs/os-specific/darwin/apple-source-releases/top/default.nix index 4ddec2a30c90..3513cb2e172c 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/top/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/top/default.nix @@ -1,7 +1,8 @@ -{xcbuild, appleDerivation, apple_sdk, ncurses, libutil-new, lib}: +{xcbuildHook, appleDerivation, apple_sdk, ncurses, libutil-new, lib}: appleDerivation { - buildInputs = [ xcbuild apple_sdk.frameworks.IOKit ncurses libutil-new ]; + nativeBuildInputs = [ xcbuildHook ]; + buildInputs = [ apple_sdk.frameworks.IOKit ncurses libutil-new ]; NIX_LDFLAGS = "-lutil"; installPhase = '' install -D Products/Release/libtop.a $out/lib/libtop.a diff --git a/pkgs/os-specific/darwin/insert_dylib/default.nix b/pkgs/os-specific/darwin/insert_dylib/default.nix index b3790b8c87c3..510c7154f2bc 100644 --- a/pkgs/os-specific/darwin/insert_dylib/default.nix +++ b/pkgs/os-specific/darwin/insert_dylib/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, xcbuild }: +{ stdenv, fetchFromGitHub, xcbuildHook }: stdenv.mkDerivation { name = "insert_dylib-2016.08.28"; @@ -8,7 +8,7 @@ stdenv.mkDerivation rev = "c8beef66a08688c2feeee2c9b6eaf1061c2e67a9"; sha256 = "0az38y06pvvy9jf2wnzdwp9mp98lj6nr0ldv0cs1df5p9x2qvbya"; }; - buildInputs = [ xcbuild ]; + nativeBuildInputs = [ xcbuildHook ]; installPhase = '' prog=$(find . -type f -name insert_dylib) diff --git a/pkgs/tools/misc/contacts/default.nix b/pkgs/tools/misc/contacts/default.nix index 47a74e84b55a..dc8f776cef66 100644 --- a/pkgs/tools/misc/contacts/default.nix +++ b/pkgs/tools/misc/contacts/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, xcbuild, Foundation, AddressBook }: +{ stdenv, fetchurl, xcbuildHook, Foundation, AddressBook }: stdenv.mkDerivation rec { version = "1.1a-3"; @@ -9,7 +9,8 @@ stdenv.mkDerivation rec { sha256 = "0wdqc1ndgrdhqapvvgx5xihc750szv08lp91x4l6n0gh59cpxpg3"; }; - buildInputs = [ xcbuild Foundation AddressBook ]; + nativeBuildInputs = [ xcbuildHook ]; + buildInputs = [ Foundation AddressBook ]; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/tools/security/pinentry/mac.nix b/pkgs/tools/security/pinentry/mac.nix index e555889d1abb..b198d7446a92 100644 --- a/pkgs/tools/security/pinentry/mac.nix +++ b/pkgs/tools/security/pinentry/mac.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, fetchFromGitHub, xcbuild, libiconv, Cocoa, ncurses }: +{ fetchurl, stdenv, fetchFromGitHub, xcbuildHook, libiconv, Cocoa, ncurses }: stdenv.mkDerivation rec { name = "pinentry-mac-0.9.4"; @@ -10,7 +10,8 @@ stdenv.mkDerivation rec { sha256 = "0g75302697gqcxyf2hyqzvcbd5pyss1bl2xvfd40wqav7dlyvj83"; }; - buildInputs = [ xcbuild libiconv Cocoa ncurses ]; + nativeBuildInputs = [ xcbuildHook ]; + buildInputs = [ libiconv Cocoa ncurses ]; installPhase = '' mkdir -p $out/Applications diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a2f78782e6ab..ac92e8d2b625 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8607,6 +8607,9 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) CoreServices CoreGraphics ImageIO; stdenv = buildPackages.clangStdenv; }; + xcbuildHook = makeSetupHook { + deps = [ xcbuild ]; + } ../development/tools/xcbuild/setup-hook.sh ; xmlindent = callPackage ../development/web/xmlindent {};