about summary refs log tree commit diff
path: root/pkgs/os-specific/linux/systemd
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2020-06-08 00:25:01 +0000
committerJohn Ericson <John.Ericson@Obsidian.Systems>2020-06-08 00:29:51 +0000
commita239864fc610ff7738c5a8af2a7be25a0af4a28b (patch)
tree759ffd013de9b2eafd1a11abd8ef841365691757 /pkgs/os-specific/linux/systemd
parent87e86b457467e09a1e26a48b7b4abc223a4d7d3f (diff)
downloadnixlib-a239864fc610ff7738c5a8af2a7be25a0af4a28b.tar
nixlib-a239864fc610ff7738c5a8af2a7be25a0af4a28b.tar.gz
nixlib-a239864fc610ff7738c5a8af2a7be25a0af4a28b.tar.bz2
nixlib-a239864fc610ff7738c5a8af2a7be25a0af4a28b.tar.lz
nixlib-a239864fc610ff7738c5a8af2a7be25a0af4a28b.tar.xz
nixlib-a239864fc610ff7738c5a8af2a7be25a0af4a28b.tar.zst
nixlib-a239864fc610ff7738c5a8af2a7be25a0af4a28b.zip
systemd: Fix cross build
This was very similar to the Mesa issues fixed in
62e6d73a09870174a891d2a8d29a38e62b05efd5: the user-written code is
looking up an unprefixed binutils program.

[I think we should have a way in Meson of specifying a program prefix in
the cross / native files, as a fallback for any program that isn't
explicitly specified. This could both be availible for user written
rules, and help with the default rules.]

Fixes https://github.com/NixOS/mobile-nixos/issues/161
Diffstat (limited to 'pkgs/os-specific/linux/systemd')
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix7
1 files changed, 7 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index 00a545ed3f54..3235fb3b95cd 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -66,6 +66,13 @@ in stdenv.mkDerivation {
 
   postPatch = ''
     substituteInPlace src/basic/path-util.h --replace "@defaultPathNormal@" "${placeholder "out"}/bin/"
+    substituteInPlace src/boot/efi/meson.build \
+      --replace \
+      "find_program('ld'" \
+      "find_program('${stdenv.cc.bintools.targetPrefix}ld'" \
+      --replace \
+      "find_program('objcopy'" \
+      "find_program('${stdenv.cc.bintools.targetPrefix}objcopy'"
   '';
 
   outputs = [ "out" "lib" "man" "dev" ];