nixpkgs/pkgs/development
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
..
androidndk-pkgs
arduino buildGoModule packages: set doCheck = false 2020-08-10 16:02:30 +10:00
beam-modules
bower-modules/generic
chez-modules
compilers Merge master into staging-next 2020-08-11 10:26:35 +02:00
coq-modules coq-elpi: 1.4.1 -> 1.5.1 2020-08-11 13:49:51 +02:00
dhall-modules
dotnet-modules
em-modules/generic
go-modules buildGoModule: change doCheck default to true 2020-08-10 16:01:03 +10:00
go-packages
guile-modules
haskell-modules dconf2nix: init at 0.5.0 2020-08-09 17:58:27 +02:00
idris-modules
interpreters Merge pull request #95127 from andersk/pypy-7.3.1 2020-08-11 16:04:53 +02:00
java-modules
libraries Merge pull request #94933 from danieldk/amdvlk-2020.Q3.3 2020-08-11 11:04:48 +02:00
lisp-modules Merge pull request #94996 from zowoq/darcs-context 2020-08-10 04:23:35 +00:00
lua-modules luaPackages.pulseaudio: remove (#94939) 2020-08-08 15:43:13 +02:00
misc
mobile
node-packages mirakurun: init at 3.3.0 2020-08-10 23:38:52 +09:00
ocaml-modules ocamlPackages.ppx_deriving_yojson: 3.5.2 → 3.5.3 2020-08-11 11:25:10 +02:00
perl-modules
pharo
pure-modules
python-modules Merge master into staging-next 2020-08-11 10:26:35 +02:00
r-modules
ruby-modules
tools meson: Fix rpath clearing 2020-08-11 17:48:18 +02:00
web Merge pull request #94632 from zowoq/gomodule-check 2020-08-10 16:50:48 +10:00