Subject: Re: bug#29824: Meson 0.44.0 is broken with guix.

From: Fis Trivial <[email-masked]>
Date: Sun, 14 Jan 2018 20:14:56 +0000

> or
> 
> #+BEGIN_SRC python
> import os
> os.environ['PYTHONPATH']="/gnu/store/.../site-packages${PYTHONPATH:+:}$PYTHONPATH"
> exec(compile(
>     open(
>         "/gnu/store/n53zdnl4l3gm9sg15bfwxp0wdrwrvhg4-meson-0.44.0/bin/.meson-real".read(),
>         "/gnu/store/n53zdnl4l3gm9sg15bfwxp0wdrwrvhg4-meson-0.44.0/bin/.meson-real",
>         'exec'
>     )))
> #+END_SRC
> 
Sorry about that, this section is wrong. Here is the correct one. Be careful with the "..."
in the environ assignment. I omitted part of the path due to it's too long.

#+BEGIN_SRC python
#!/usr/bin/env python3
import os
os.environ['PYTHONPATH'] = "/gnu/store/.../site-packages${PYTHONPATH:+:}$PYTHONPATH"
# exec(open("/gnu/store/n53zdnl4l3gm9sg15bfwxp0wdrwrvhg4-meson-0.44.0/bin/.meson-real").read())
exec(compile(
    open(
        "/gnu/store/n53zdnl4l3gm9sg15bfwxp0wdrwrvhg4-meson-0.44.0/bin/.meson-real"
    ).read(),
    "/gnu/store/n53zdnl4l3gm9sg15bfwxp0wdrwrvhg4-meson-0.44.0/bin/.meson-real",
    'exec'
))

#+END_SRC

And the wrapper should be named as "meson", in this case.
The above code set the environment variables and execute the corresponding code
by loading it(not spawning a new process). Hence the argv will be preserved.