diff --git a/pkgs/development/tools/build-managers/bazel/bazel_5/bazel_darwin_sandbox.patch b/pkgs/development/tools/build-managers/bazel/bazel_5/bazel_darwin_sandbox.patch new file mode 100644 index 000000000000..725b901f893e --- /dev/null +++ b/pkgs/development/tools/build-managers/bazel/bazel_5/bazel_darwin_sandbox.patch @@ -0,0 +1,11 @@ +diff -ru a/src/main/native/unix_jni_darwin.cc b/src/main/native/unix_jni_darwin.cc +--- a/src/main/native/unix_jni_darwin.cc 1980-01-01 00:00:00.000000000 -0500 ++++ b/src/main/native/unix_jni_darwin.cc 2021-11-27 20:35:29.000000000 -0500 +@@ -270,6 +270,7 @@ + } + + void portable_start_suspend_monitoring() { ++ if (getenv("NIX_BUILD_TOP")) return; + static dispatch_once_t once_token; + static SuspendState suspend_state; + dispatch_once(&once_token, ^{ diff --git a/pkgs/development/tools/build-managers/bazel/bazel_5/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_5/default.nix index 45ac1b14b17d..491a02d74d0d 100644 --- a/pkgs/development/tools/build-managers/bazel/bazel_5/default.nix +++ b/pkgs/development/tools/build-managers/bazel/bazel_5/default.nix @@ -9,7 +9,7 @@ # updater , python27, python3, writeScript # Apple dependencies -, cctools, libcxx, CoreFoundation, CoreServices, Foundation +, cctools, libcxx, sigtool, CoreFoundation, CoreServices, Foundation # Allow to independently override the jdks used to build and run respectively , buildJdk, runJdk , runtimeShell @@ -211,7 +211,7 @@ stdenv.mkDerivation rec { # disable suspend detection during a build inside Nix as this is # not available inside the darwin sandbox - ../bazel_darwin_sandbox.patch + ./bazel_darwin_sandbox.patch ] ++ lib.optional enableNixHacks ../nix-hacks.patch; @@ -382,7 +382,7 @@ stdenv.mkDerivation rec { # clang installed from Xcode has a compatibility wrapper that forwards # invocations of gcc to clang, but vanilla clang doesn't sed -i -e 's;_find_generic(repository_ctx, "gcc", "CC", overriden_tools);_find_generic(repository_ctx, "clang", "CC", overriden_tools);g' tools/cpp/unix_cc_configure.bzl - + sed -i -e 's;env -i codesign --identifier $@ --force --sign;env -i CODESIGN_ALLOCATE=${cctools}/bin/${cctools.targetPrefix}codesign_allocate ${sigtool}/bin/codesign --identifier $@ --force -s;g' tools/osx/BUILD sed -i -e 's;"/usr/bin/libtool";_find_generic(repository_ctx, "libtool", "LIBTOOL", overriden_tools);g' tools/cpp/unix_cc_configure.bzl wrappers=( tools/cpp/osx_cc_wrapper.sh tools/cpp/osx_cc_wrapper.sh.tpl ) for wrapper in "''${wrappers[@]}"; do diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8feb5a821170..83e2f0b32bca 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15746,7 +15746,7 @@ with pkgs; }; bazel_5 = callPackage ../development/tools/build-managers/bazel/bazel_5 { - inherit (darwin) cctools; + inherit (darwin) cctools sigtool; inherit (darwin.apple_sdk.frameworks) CoreFoundation CoreServices Foundation; buildJdk = jdk11_headless; runJdk = jdk11_headless;