Allow running gst-uninstalled when GStreamer is a subproject

As described in Merge request 222, the previous solution is not the
best possible solution and was also missing documentation.
Adjust the suggestion to the current GStreamer mono-repository.
And apply this change after reverting the previous commit.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1829>
This commit is contained in:
Sebastian Fricke 2022-02-17 21:44:30 +01:00 committed by Tim-Philipp Müller
parent 32232462ad
commit 591955632d

View file

@ -390,10 +390,16 @@ def get_subprocess_env(options, gst_version):
os.path.join(options.builddir, root),
options.sysroot)
with open(os.path.join(options.builddir, 'GstPluginsPath.json')) as f:
for plugin_path in json.load(f):
prepend_env_var(env, 'GST_PLUGIN_PATH', plugin_path,
options.sysroot)
# Search for the Plugin paths file either in the build directory root
# or check if gstreamer is a subproject of another project
for sub_directories in [[], ['subprojects', 'gstreamer']]:
plugin_paths = os.path.join(options.builddir, *sub_directories, 'GstPluginsPath.json')
if os.path.exists(plugin_paths):
with open(plugin_paths) as f:
for plugin_path in json.load(f):
prepend_env_var(env, 'GST_PLUGIN_PATH', plugin_path,
options.sysroot)
break
# Sort to iterate in a consistent order (`set`s and `hash`es are randomized)
for p in sorted(paths):