~ruther/guix-local

64e678bdbc4dd139955c34dcdd8432e17c5f08b2 — Ludovic Courtès 2 years ago 25043e0
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.
1 files changed, 14 insertions(+), 18 deletions(-)

M gnu/packages/gnome.scm
M gnu/packages/gnome.scm => gnu/packages/gnome.scm +14 -18
@@ 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