[gnome-shell] dbusServices/screencast: Install unconditionally



commit a8c5d778722743942be4da78c0f0e523750d406e
Author: Florian Müllner <fmuellner gnome org>
Date:   Wed May 18 16:43:45 2022 +0200

    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>

 js/dbusServices/meson.build        | 7 +------
 js/dbusServices/screencast/main.js | 6 +++++-
 2 files changed, 6 insertions(+), 7 deletions(-)
---
diff --git a/js/dbusServices/meson.build b/js/dbusServices/meson.build
index eb941ed905..48b7f89fc8 100644
--- a/js/dbusServices/meson.build
+++ b/js/dbusServices/meson.build
@@ -6,15 +6,10 @@ launcherconf.set('libdir', libdir)
 dbus_services = {
   'org.gnome.Shell.Extensions': 'extensions',
   'org.gnome.Shell.Notifications': 'notifications',
+  'org.gnome.Shell.Screencast': 'screencast',
   'org.gnome.ScreenSaver': 'screensaver',
 }
 
-if enable_recorder
-  dbus_services += {
-    'org.gnome.Shell.Screencast': 'screencast',
-  }
-endif
-
 config_dir = '@0@/..'.format(meson.current_build_dir())
 
 foreach service, dir : dbus_services
diff --git a/js/dbusServices/screencast/main.js b/js/dbusServices/screencast/main.js
index 4a244264f0..0bea967aef 100644
--- a/js/dbusServices/screencast/main.js
+++ b/js/dbusServices/screencast/main.js
@@ -1,9 +1,13 @@
 /* exported main */
 
+const Config = imports.misc.config;
 const { DBusService } = imports.dbusService;
-const { ScreencastService } = imports.screencastService;
 
 function main() {
+    if (!Config.HAVE_RECORDER)
+        return;
+
+    const { ScreencastService } = imports.screencastService;
     const service = new DBusService(
         'org.gnome.Shell.Screencast',
         new ScreencastService());


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]