nixpkgs/pkgs
Jan Tojnar e8bfa708c4 meson: Fix rpath clearing
Meson allows projects to set `build_rpath` property, containing paths
that will be added during build but will be removed when installing.

When Meson removes build_rpath from `DT_RUNPATH` entry, it just writes
the shorter ␀-terminated new rpath over the old one to reduce
the risk of potentially breaking the ELF files
(when the linker does string de-duplication or something).
But this can cause much bigger problem for Nix, as it can produce
cut-in-half-by-␀ store path references.

For example, in systemd’s libudev, it was removing three `$ORIGIN`-relative paths from

    $ORIGIN/../libsystemd:$ORIGIN/../basic:$ORIGIN/../shared:…␀

resulting in the following `DT_RUNPATH` entry:

    …␀store/v589pqjhvxrj73g3r0xb41yr84z5pwb7-gcc-9.3.0-lib/lib␀

We previously handled this in `fix-rpath.patch` but the method we prevent
Meson from removing paths added to rpath through `NIX_LDFLAGS` was changed
during 0.55.0 update and I forgot about this second purpose of the patch.

Let’s re-add this clearing code, as it worked without issues for a long time.
2020-08-11 17:48:18 +02:00
..
applications Merge pull request #95169 from adisbladis/emacs-27 2020-08-11 15:13:51 +02:00
build-support Merge master into staging-next 2020-08-11 10:26:35 +02:00
common-updater
data
desktops gnome-boxes: 3.36.5 -> 3.36.6 2020-08-10 14:07:22 +02:00
development meson: Fix rpath clearing 2020-08-11 17:48:18 +02:00
games shattered-pixel-dungeon: add nixos test 2020-08-09 15:34:30 -07:00
misc pcsx2: 1.6.0-rc -> 1.6.0 2020-08-11 08:55:15 +02:00
os-specific ifmetric: init at 0.3 2020-08-10 11:52:33 -07:00
pkgs-lib
servers home-assistant: relax dependency on slugify 2020-08-11 11:50:10 +01:00
shells Merge pull request #94495 from romildo/upd.liquidprompt 2020-08-10 10:50:15 -03:00
stdenv
test
tools Merge pull request #95139 from r-ryantm/auto-update/kmon 2020-08-11 06:08:40 -07:00
top-level Merge master into staging-next 2020-08-11 10:26:35 +02:00