dbusServices/screencast: Install unconditionally
We currently decide at build time whether to include screencast support, based on whether the required gst/pipewire library headers are installed. That check is imprecise, because having the library headers available at build time doesn't necessarily mean that the libraries are there at runtime, or that the corresponding typelibs are installed. It makes more sense to check the requirements at runtime, so prepare for that by installing the screencast service unconditionally, but bail out early if the dependencies aren't met. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2297>
This commit is contained in:
parent
88441c35c9
commit
a8c5d77872
@ -6,15 +6,10 @@ launcherconf.set('libdir', libdir)
|
|||||||
dbus_services = {
|
dbus_services = {
|
||||||
'org.gnome.Shell.Extensions': 'extensions',
|
'org.gnome.Shell.Extensions': 'extensions',
|
||||||
'org.gnome.Shell.Notifications': 'notifications',
|
'org.gnome.Shell.Notifications': 'notifications',
|
||||||
|
'org.gnome.Shell.Screencast': 'screencast',
|
||||||
'org.gnome.ScreenSaver': 'screensaver',
|
'org.gnome.ScreenSaver': 'screensaver',
|
||||||
}
|
}
|
||||||
|
|
||||||
if enable_recorder
|
|
||||||
dbus_services += {
|
|
||||||
'org.gnome.Shell.Screencast': 'screencast',
|
|
||||||
}
|
|
||||||
endif
|
|
||||||
|
|
||||||
config_dir = '@0@/..'.format(meson.current_build_dir())
|
config_dir = '@0@/..'.format(meson.current_build_dir())
|
||||||
|
|
||||||
foreach service, dir : dbus_services
|
foreach service, dir : dbus_services
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
/* exported main */
|
/* exported main */
|
||||||
|
|
||||||
|
const Config = imports.misc.config;
|
||||||
const { DBusService } = imports.dbusService;
|
const { DBusService } = imports.dbusService;
|
||||||
const { ScreencastService } = imports.screencastService;
|
|
||||||
|
|
||||||
function main() {
|
function main() {
|
||||||
|
if (!Config.HAVE_RECORDER)
|
||||||
|
return;
|
||||||
|
|
||||||
|
const { ScreencastService } = imports.screencastService;
|
||||||
const service = new DBusService(
|
const service = new DBusService(
|
||||||
'org.gnome.Shell.Screencast',
|
'org.gnome.Shell.Screencast',
|
||||||
new ScreencastService());
|
new ScreencastService());
|
||||||
|
Loading…
Reference in New Issue
Block a user