Subject: Re: [bug#30761] [PATCH staging 1/9] gnu: meson: Don't wrap the meson executable.

From: Marius Bakke <[email-masked]>
Date: Mon, 12 Mar 2018 13:47:31 +0100

Ludovic Courtès <[email-masked]> writes:

> Hello!
>
> Marius Bakke <[email-masked]> 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.