Archived
1
0
Fork 0

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.
This commit is contained in:
Ludovic Courtès 2023-10-13 16:50:28 +02:00
parent 25043e01b6
commit 64e678bdbc
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -7831,10 +7831,7 @@ to display dialog boxes from the commandline and shell scripts.")
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
(list (list
#:imported-modules `(,@%meson-build-system-modules
(guix build syscalls))
#:modules '((guix build meson-build-system) #:modules '((guix build meson-build-system)
(guix build syscalls)
(guix build utils) (guix build utils)
(ice-9 match)) (ice-9 match))
#:glib-or-gtk? #t #:glib-or-gtk? #t
@ -7928,22 +7925,22 @@ to display dialog boxes from the commandline and shell scripts.")
"1")) "1"))
(match (primitive-fork) (match (primitive-fork)
(0 ;child process (0 ;child process
(set-child-subreaper!) (apply execlp "dbus-run-session" "dbus-run-session"
;; 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" "--"
"xvfb-run" "-a" "-s" (getenv "XVFB_SERVER_ARGS") "xvfb-run" "-a" "-s" (getenv "XVFB_SERVER_ARGS")
"meson" "test" "-t" "0" "--print-errorlogs" "meson" "test" "-t" "0" "--print-errorlogs"
test-options)) test-options))
(pid (dbus-pid
(match (waitpid pid) (let loop ()
((_ . status) ;; Reap child processes; otherwise, python-dbusmock would
(unless (zero? status) ;; waste time polling for the dbus processes it spawns to
(error "`meson test' exited with status" ;; be reaped, in vain.
status)))))))))))) (match (waitpid WAIT_ANY)
((pid . status)
(if (= pid dbus-pid)
(unless (zero? status)
(error "`meson test' exited with status"
status))
(loop)))))))))))))
(native-inputs (native-inputs
(list desktop-file-utils ;for update-desktop-database (list desktop-file-utils ;for update-desktop-database
`(,glib "bin") ;for glib-compile-schemas, etc. `(,glib "bin") ;for glib-compile-schemas, etc.
@ -7964,8 +7961,7 @@ to display dialog boxes from the commandline and shell scripts.")
pipewire pipewire
python python
python-dbus python-dbus
python-dbusmock python-dbusmock))
tini)) ;acting as init (zombie reaper)
(propagated-inputs (propagated-inputs
(list gsettings-desktop-schemas-next ;required by libmutter.pc (list gsettings-desktop-schemas-next ;required by libmutter.pc
gtk+ ;required by libmutter.pc gtk+ ;required by libmutter.pc