Currently gst-uninstalled.py changes the current directory to the root
of the gst-build before executing execute the command passed as
arguments. This is unnecessary, it creates confusion and makes scripting
more cumbersome. This patch fixes that.
Validate plugins are automatically scanned from GST_VALIDATE_PLUGIN_PATH
instead. Adding them to GST_PLUGIN_PATH causes race conditions as the
plugins may be loaded before validate itself.
We now use a different approach to setting up our
uninstalled python environment:
We add the gst-python folder to PYTHONPATH, and it no
longer contains __init__.py files. This means that
import gi.overrides correctly loads pygobject's __init__
module, but import gi.overrides.Gst also works, as __init__
files are no longer required by python.
Currently, gst-uninstalled is using sitecustomize.py for adding gi
override tweaks. However, if the standard Python libraries come before
this file in sys.path, then sitecustomize.py will never be run because
the "import sitecustomize" done in site.py will use the standard Python
libraries instead. This can be seen by running "import sitecustomize;
print(sitecustomize.__file__)" inside the uninstalled environment, as
well as by checking gi.override.__path__ and seeing that the tweaks are
missing (and the overrides are misbehaving).
Switch to using usercustomize.py, which has no match in the standard
libraries and thus will be correctly imported.
https://bugzilla.gnome.org/show_bug.cgi?id=797011
Don't assume that meson is always a python script, on Windows it can
be (and soon will almost always be) an executable.
See: Meson MSI installer and https://github.com/mesonbuild/meson/pull/4004
This is still incredibly ugly, but at least now mesonconfig
gets found, unlike before where the path where it was looked
for was the path of the sitecustomize symlink, not of its target
(https://bugs.python.org/issue6386)
virtualenv ships its own version of site.py, which does not
expose a getusersitepackages function. An alternative method
is thus used when we detect that we are running in a virtualenv.
Fix a couple small breakages with windows usage, (1) Add
sys.executable to a subprocess invocation and (2) escape a path
fragment that gets used in a regex.
https://bugzilla.gnome.org/show_bug.cgi?id=782026
Look for -uninstalled pc files and update PKG_CONFIG_PATH with the
directories containing those.
This feature is useful for users building the GStreamer stack
using meson and having to link it to another project which is still
using the autotools.
Fix a regression from the old gst-uninstalled tool.
https://bugzilla.gnome.org/show_bug.cgi?id=776810
This environment is meant to be setup in a Visual Studio
'Native X64 tools' terminal, and takes for granted that
msys2 has been installed, Visual Studio has C(++) support
has been installed and python3 is installed and is present
in PATH.
https://bugzilla.gnome.org/show_bug.cgi?id=775281
subprocess.call runs programs directly when shell=False and can't
take advantage of the association that makes python scripts
executable in shells, so explicitly add the interpreter to the
args for call.
Run the windows command prompt by default in gst-uninstalled.