Commit Graph

4 Commits

Author SHA1 Message Date
Las Safin
41d9dfb619 meson: Remove 0.57, use 0.60 everywhere 2022-01-11 12:51:09 +00:00
AndersonTorres
1a53eeda71 meson: put 0.57 in a subdirectory
Meson is a delicate package. It needs some patches to properly work in Nixpkgs
and many packages have it as a dependency, from many small applications to
systemd (yay, mass rebuilds in sight!). Updating it is not a trivial and
harmless task.

Therefore, I took the paranoid way and encapsulate the current version in a
subdir, instead of the regular write-over procedure. This way, at the best we
can just remove the whole dir in the future, and at the worse we just maintain
duplicated code.
2021-12-14 16:37:25 -03:00
Jan Tojnar
c6acf50360 meson: 0.55.0 → 0.55.1
https://github.com/mesonbuild/meson/compare/0.55.0...0.55.1

setuptools have been removed from runtime dependencies:
https://github.com/mesonbuild/meson/pull/7461
2020-08-16 19:48:32 +02:00
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