summary refs log tree commit diff
path: root/gnu/packages/gnome.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2023-10-13 16:50:28 +0200
committerLudovic Courtès <ludo@gnu.org>2023-10-23 11:56:53 +0200
commit64e678bdbc4dd139955c34dcdd8432e17c5f08b2 (patch)
treea7852530c9aa5ca6a55f4339669c15ba73739cdd /gnu/packages/gnome.scm
parent25043e01b6cb6696ffdc6cdedd9cdf8235bb695c (diff)
downloadguix-64e678bdbc4dd139955c34dcdd8432e17c5f08b2.tar.gz
gnu: mutter: Remove dependency on (guix build syscalls).
* gnu/packages/gnome.scm (mutter)[arguments]: Remove #:imported-modules.
Remove (guix build syscalls) from #:modules.
Rewrite ‘check’ phase to reap processes from the build process.
[native-inputs]: Remove TINI.
Diffstat (limited to 'gnu/packages/gnome.scm')
-rw-r--r--gnu/packages/gnome.scm32
1 files changed, 14 insertions, 18 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 2ffe8dfef2..ac3035e07d 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -7831,10 +7831,7 @@ to display dialog boxes from the commandline and shell scripts.")
     (build-system meson-build-system)
     (arguments
      (list
-      #:imported-modules `(,@%meson-build-system-modules
-                           (guix build syscalls))
       #:modules '((guix build meson-build-system)
-                  (guix build syscalls)
                   (guix build utils)
                   (ice-9 match))
       #:glib-or-gtk? #t
@@ -7928,22 +7925,22 @@ to display dialog boxes from the commandline and shell scripts.")
                             "1"))
                 (match (primitive-fork)
                   (0                    ;child process
-                   (set-child-subreaper!)
-                   ;; Use tini so that signals are properly handled and
-                   ;; doubly-forked processes get reaped; otherwise,
-                   ;; python-dbusmock would waste time polling for the dbus
-                   ;; processes it spawns to be reaped, in vain.
-                   (apply execlp "tini" "--"
-                          "dbus-run-session" "--"
+                   (apply execlp "dbus-run-session" "dbus-run-session"
                           "xvfb-run" "-a" "-s" (getenv "XVFB_SERVER_ARGS")
                           "meson" "test" "-t" "0" "--print-errorlogs"
                           test-options))
-                  (pid
-                   (match (waitpid pid)
-                     ((_ . status)
-                      (unless (zero? status)
-                        (error "`meson test' exited with status"
-                               status))))))))))))
+                  (dbus-pid
+                   (let loop ()
+                     ;; Reap child processes; otherwise, python-dbusmock would
+                     ;; waste time polling for the dbus processes it spawns to
+                     ;; be reaped, in vain.
+                     (match (waitpid WAIT_ANY)
+                       ((pid . status)
+                        (if (= pid dbus-pid)
+                            (unless (zero? status)
+                              (error "`meson test' exited with status"
+                                     status))
+                            (loop)))))))))))))
     (native-inputs
      (list desktop-file-utils           ;for update-desktop-database
            `(,glib "bin")               ;for glib-compile-schemas, etc.
@@ -7964,8 +7961,7 @@ to display dialog boxes from the commandline and shell scripts.")
            pipewire
            python
            python-dbus
-           python-dbusmock
-           tini))                       ;acting as init (zombie reaper)
+           python-dbusmock))
     (propagated-inputs
      (list gsettings-desktop-schemas-next ;required by libmutter.pc
            gtk+                           ;required by libmutter.pc