summary refs log tree commit diff
path: root/pkgs/development/tools/build-managers/meson/clear-old-rpath.patch
blob: f1e3c76e8b53ba121bf6518b5cef01ff831b4698 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
diff --git a/mesonbuild/scripts/depfixer.py b/mesonbuild/scripts/depfixer.py
index 4176b9a03..faaabf616 100644
--- a/mesonbuild/scripts/depfixer.py
+++ b/mesonbuild/scripts/depfixer.py
@@ -336,6 +336,15 @@ class Elf(DataSizes):
         if not new_rpath:
             self.remove_rpath_entry(entrynum)
         else:
+            # Clear old rpath to avoid stale references,
+            # not heeding the warning above about de-duplication
+            # since it does not seem to cause issues for us
+            # and not doing so trips up Nix’s reference checker.
+            # See https://github.com/NixOS/nixpkgs/pull/46020
+            # and https://github.com/NixOS/nixpkgs/issues/95163
+            self.bf.seek(rp_off)
+            self.bf.write(b'\0'*len(old_rpath))
+
             self.bf.seek(rp_off)
             self.bf.write(new_rpath)
             self.bf.write(b'\0')