libobs/nix: List Flatpak search paths

The proposed way to handle plugin distribution
through Flatpak depends on these directories to
be read. It goes as follows:

 1. Flatpak's extension point merges the 'lib'
    and 'share' directories at /app/plugin

 2. Plugins prefix their install paths in the
    Flatpak manifest to /app/plugins/<plugin name>

 3. OBS Studio lists /app/plugin as one of the
    search paths in OBS Studio code

This commit implements the third step of this
process, which is the only one that actually
involves OBS Studio itself.

With that, it is possible to distribute plugins
as Flatpak extensions, which in turn allows them
to be listed at app stores such as GNOME Software,
elementary's app store, and KDE's Discover.

Related: https://github.com/flathub/com.obsproject.Studio/issues/135
This commit is contained in:
Georges Basile Stavracas Neto 2021-06-04 16:17:17 -03:00 committed by Jim
parent 7baf08e917
commit 712478f48c

View File

@ -51,13 +51,18 @@ const char *get_module_extension(void)
#define BIT_STRING "32bit"
#endif
static const char *module_bin[] = {"../../obs-plugins/" BIT_STRING,
OBS_INSTALL_PREFIX
"/" OBS_PLUGIN_DESTINATION};
#define FLATPAK_PLUGIN_PATH "/app/plugins"
static const char *module_bin[] = {
"../../obs-plugins/" BIT_STRING,
OBS_INSTALL_PREFIX "/" OBS_PLUGIN_DESTINATION,
FLATPAK_PLUGIN_PATH "/" OBS_PLUGIN_DESTINATION,
};
static const char *module_data[] = {
OBS_DATA_PATH "/obs-plugins/%module%",
OBS_INSTALL_DATA_PATH "/obs-plugins/%module%",
FLATPAK_PLUGIN_PATH "/share/obs/obs-plugins/%module%",
};
static const int module_patterns_size =