about summary refs log tree commit diff
path: root/pkgs/development/tools/build-managers
diff options
context:
space:
mode:
authorMike Sperber <sperber@deinprogramm.de>2020-04-09 00:48:40 +0200
committerGitHub <noreply@github.com>2020-04-08 18:48:40 -0400
commit677b2d818e02f5921bee2cb62e2bb1627367a641 (patch)
tree7eb5d210f48b519add0861cda7e492a1af6f635b /pkgs/development/tools/build-managers
parent2577ec293255cbb995e42a86169cc40c427a6e7d (diff)
downloadnixlib-677b2d818e02f5921bee2cb62e2bb1627367a641.tar
nixlib-677b2d818e02f5921bee2cb62e2bb1627367a641.tar.gz
nixlib-677b2d818e02f5921bee2cb62e2bb1627367a641.tar.bz2
nixlib-677b2d818e02f5921bee2cb62e2bb1627367a641.tar.lz
nixlib-677b2d818e02f5921bee2cb62e2bb1627367a641.tar.xz
nixlib-677b2d818e02f5921bee2cb62e2bb1627367a641.tar.zst
nixlib-677b2d818e02f5921bee2cb62e2bb1627367a641.zip
bazel_0_26: fix linker flags for darwin (#84614)
Same as done for bazel_0_29 in d1ee615f1cb48a193bbe194adced53ecb7395d8e:
Diffstat (limited to 'pkgs/development/tools/build-managers')
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_0_26/default.nix12
1 files changed, 10 insertions, 2 deletions
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_0_26/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_0_26/default.nix
index f54868de533c..6d4ba50a9fbb 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_0_26/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/bazel_0_26/default.nix
@@ -161,6 +161,14 @@ stdenv.mkDerivation rec {
   postPatch = let
 
     darwinPatches = ''
+      bazelLinkFlags () {
+        eval set -- "$NIX_LDFLAGS"
+        local flag
+        for flag in "$@"; do
+          printf ' -Wl,%s' "$flag"
+        done
+      }
+
       # Disable Bazel's Xcode toolchain detection which would configure compilers
       # and linkers from Xcode instead of from PATH
       export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1
@@ -170,14 +178,14 @@ stdenv.mkDerivation rec {
 
       # Framework search paths aren't added by bintools hook
       # https://github.com/NixOS/nixpkgs/pull/41914
-      export NIX_LDFLAGS="$NIX_LDFLAGS -F${CoreFoundation}/Library/Frameworks -F${CoreServices}/Library/Frameworks -F${Foundation}/Library/Frameworks"
+      export NIX_LDFLAGS+=" -F${CoreFoundation}/Library/Frameworks -F${CoreServices}/Library/Frameworks -F${Foundation}/Library/Frameworks"
 
       # libcxx includes aren't added by libcxx hook
       # https://github.com/NixOS/nixpkgs/pull/41589
       export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem ${libcxx}/include/c++/v1"
 
       # don't use system installed Xcode to run clang, use Nix clang instead
-      sed -i -e "s;/usr/bin/xcrun clang;${stdenv.cc}/bin/clang $NIX_CFLAGS_COMPILE $NIX_LDFLAGS -framework CoreFoundation;g" \
+      sed -i -E "s;/usr/bin/xcrun (--sdk macosx )?clang;${stdenv.cc}/bin/clang $NIX_CFLAGS_COMPILE $(bazelLinkFlags) -framework CoreFoundation;g" \
         scripts/bootstrap/compile.sh \
         src/tools/xcode/realpath/BUILD \
         src/tools/xcode/stdredirect/BUILD \