Nikita Karetnikov <nik...@karetnikov.org> skribis: >> The solution is to patch Python to refer to our ‘sh’ instead of /bin/sh >> (as is done for Guile’s ice-9/popen.scm). > >> Can you do that? > > I changed 'arguments', but 'gobject-introspection' failed with the same > error. > > python.scm: > > (arguments `(#:tests? #f ; XXX: some tests fail > #:phases (alist-cons-before > 'configure 'pre-configure > (lambda* (#:key inputs #:allow-other-keys) > (let ((bash (assoc-ref inputs "bash"))) > (substitute* "Lib/subprocess.py" > (("/bin/sh") > (string-append bash "/bin/bash"))))) > %standard-phases)))
Good. You can already commit that one (but please make it (string-append bash "/bin/sh") rather.) > subprocess.py: > > if shell: > args = > ["/nix/store/4mg8b8vvmava68y64qmm70gqfnhhjzmx-bash-4.2/bin/bash", "-c"] + args > if executable: > args[0] = executable Are you looking at the subprocess.py that’s actually mentioned in the gobject-introspection backtrace? If yes, then it likely means that it’s the caller–i.e., some .py file in gobject-introspection–that’s passing /bin/sh somewhere. Can you check the files mentioned in the backtrace? HTH, Ludo’.