Meson build, 2.99, Python plugin scripts without shebang fail to install
Same is not true for the AM build. So the workaround is: use the AM build.
Symptom: for a Python plugin whose extension is .py but whose text lacks a shebang (in the script no leading: #!/usr/bin/env python3), at Gimp runtime the plugin fails to install and console shows "gimp_wire_read error" (meaning that spawning the interpreter or plugin failed and other end of pipe not exist.)
My diagnosis (could be wrong):
In the meson build, file /usr/local/lib/x86.../gimp/2.99/interpreters/pygimp.interp differs from same file in AM build. The file in the meson build has one leading space char on each of lines 2-4. I can't say that is the root cause, I haven't looked at the code that parses that file to determine whether a leading space would cause an error.
If you "#define INTERP_DEBUG 1" in app/plug-in/gimpinterpreterdb/c, then Gimp dumps the interpreter db to the console, and you can see that the ".py" extension is not in the db.
Thus at runtime, when gimp is querying plugins, gimp_interpreter_db_resolve() is called, it fails to find a shebang and calls resolve_extension() which fails to find the extension ".py" in the db and returns NULL, and gimp_interpreter_db_resolve() also returns NULL, and gimp attempts to spawn the plugin script file rather than python, and the loader won't load the script file since it lacks a shebang.
Context: self-built Ubuntu 19.10 Gimp 2.99 33520a54 pulled this morning