Commit Graph

67 Commits

Author SHA1 Message Date
Jan Tojnar
de910a040b
meson: fix rpath fixup
In common distributions, RPATH is only needed for internal libraries so
meson removes everything else. With Nix, the locations of libraries
are not as predictable, therefore we need to keep them in the RPATH. [1]

Previously we have just kept the RPATH produced by the linker, patching
meson not to remove it. This deprived us of potentially replacing it
with install_rpath provided by project so we had to re-add it manually,
and also introduced a vulnerability of keeping build paths in RPATH.

This commit restores the clean-up but modifies it so the items starting
with /nix/store are retained.

This should be relatively safe since the store is immutable, however,
there might be some unwanted retainment of build_rpath [2] if it contains
paths from Nix store.

[1]: https://github.com/NixOS/nixpkgs/issues/31222#issuecomment-365811634
[2]: http://mesonbuild.com/Release-notes-for-0-42-0.html#added-build_rpath-keyword-argument
2018-03-22 07:30:58 +01:00
Shea Levy
284f75a258
meson: Support cross-compiling 2018-02-26 06:38:32 -05:00
Jan Tojnar
1e60ccdf47 meson: 0.43.0 → 0.44.0 2017-12-14 22:56:35 +00:00
Jan Tojnar
1dba3c06eb
meson: pass library install paths to g-ir-scanner
We are patching g-ir-scanner to produce absolute paths in the GIR
files. When an application uses an internal library placed in a
non-standard path (e.g. $out/lib/gnome-shell), the scanner needs
to be informed. For autotools-based apps, the full path was
obtained from libtool-wrapped files; with Meson, this is no longer
possible – we need to pass the path information in some other way.

This commit channels the --fallback-library-path option added
to g-ir-scanner in aforementioned patch.
2017-11-09 21:21:00 +01:00
Shea Levy
9e37df185c
fwupd: Remove manual rpath settings now that meson is fixed.
Thanks @yegortimoshenko!
2017-10-29 14:42:55 -04:00
Yegor Timoshenko
8f95aef531 meson: do not strip RPATH
https://github.com/NixOS/nixpkgs/pull/28444#issuecomment-324033323
2017-10-15 12:13:58 -05:00
Jan Tojnar
15c34cf1d8
meson: 0.42.1 → 0.43.0 2017-10-10 23:11:38 +02:00
Jan Tojnar
ad8e4c272a
meson: 0.41.2 → 0.42.1 2017-09-13 22:37:30 +02:00
Lukas Werling
f0a1ab78b4 meson/ninja: add setup hooks (#28444)
* Add setupHook for meson/ninja build

* libhttpseverywhere: Use meson/ninja setupHooks

* jamomacore: Remove superfluous ninja buildInput

* Remove obsolete ninja buildPhases

These are all handled by ninja's setup hook.

* lean2, xcbuild: fix build with ninja setup hook

Ninja is a runtime dependency here. However, cmake can generate Ninja
build files as well to satisfy the setup hook.

* qtwebengine: fix build with ninja setup hook
2017-08-27 19:42:21 +02:00
mimadrid
4fb22bb622
meson: 0.40.0 -> 0.41.2 2017-08-15 11:54:43 +02:00
Jörg Thalheim
0ee8160aa4
meson: 0.35.0 -> 0.40.0
In configured builds other tools tries to call meson by directly
passing meson tools directly to python. Since they were shell scripts
due wrapping this failed
2017-04-26 16:41:49 +02:00
sternenseemann
2dca4f7ded meson: 0.32.0 -> 0.35.0 2016-10-10 16:03:33 +02:00
Alexey Shmalko
a18abd2aa3 meson: 0.26.0 -> 0.32.0 2016-07-24 00:34:19 +02:00
Bjørn Forsman
2fb4b797a1 meson: add meta.platforms 2016-05-25 21:18:48 +02:00
Bjørn Forsman
a35874b41a meson: fix chroot build
/usr/bin/env is not available in chroot builds. Invoke the python3
interpreter directly instead of trying to let env do it (which fails).

Fixes this build error:

  $ nix-build -A meson
  ...
  /nix/store/HASH-stdenv/setup: ./install_meson.py: /usr/bin/env: bad interpreter: No such file or directory
  builder for ‘/nix/store/HASH-meson-0.26.0.drv’ failed with exit code 126
2016-05-25 21:18:48 +02:00
Cillian de Róiste
e42e4cfbd9 Meson: tidy up, untabify 2015-10-24 12:50:15 +02:00
Brandon Edens
6774b09af7 Add meson build system package. 2015-10-21 09:08:48 -07:00