Ludovic Courtès writes: > Marius Bakke skribis: > >> Ludovic Courtès writes: >> >>> Hello! >>> >>> Marius Bakke skribis: >>> >>>> * gnu/packages/build-tools.scm (meson)[arguments]: Delete WRAP-PHASE. >>>> --- >>>> gnu/packages/build-tools.scm | 5 +++++ >>>> 1 file changed, 5 insertions(+) >>>> >>>> diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm >>>> index 2abb44fdb..1ebccca43 100644 >>>> --- a/gnu/packages/build-tools.scm >>>> +++ b/gnu/packages/build-tools.scm >>>> @@ -81,6 +81,11 @@ makes a few sacrifices to acquire fast full and incremental build times.") >>>> (base32 >>>> "06r8limj38mv884s5riiz6lpzw37cvhbf9jd0smzcbi7fwmv3yah")))) >>>> (build-system python-build-system) >>>> + (arguments >>>> + `(#:phases (modify-phases %standard-phases >>>> + ;; Meson runs itself through the Python interpreter, so >>>> + ;; we cannot use the shell wrapper. >>>> + (delete 'wrap)))) >>> >>> I’m not sure what this means. The ‘wrap’ phase is precisely for things >>> with #!/…/python, right? >>> >>> What problem does it solve? >> >> The problem is that at some point after 0.42 (the current >> meson-for-build), Meson does the equivalent of `python $(which meson)` >> at runtime. Which ends up tripping over the shell wrapper. >> >> I don't remember exactly where I saw the problem, it could have been >> with "mesontest" which also resides in "meson/bin". The only downside >> to deleting the wrapper is that you cannot call meson directly from the >> store; it works fine as long as PYTHONPATH is set (e.g. in a profile). >> >> I'll try to clarify the comment. > > Yes, that’s a good idea. :-) > > It does mean that people installing meson in their profile will get > something missing-python-module errors, right? Meson actually propagates Python, which will set up PYTHONPATH. So in a profile or environment it works just fine. The only problem is when trying to invoke /gnu/store/...meson-0.45/bin/meson directly. > Should we do the wrapping differently? ISTR a discussion about a language-aware wrapper, which would solve this. Then we could wrap it with PATH and PYTHONPATH and get rid of Python propagation. But for now I think we're good :-)