diff options
author | Ludovic Courtès <ludo@gnu.org> | 2023-10-13 17:05:27 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2023-10-23 11:56:53 +0200 |
commit | 8e3d710f4c31886ebcbfedfcea315388ea7202ee (patch) | |
tree | f8b2766b1839a9c77e3a8a5050e9fd46b6340660 | |
parent | 4eda89248dfab7e7708bc76860e6616ba7a9b081 (diff) |
gnu: polkit: Remove dependency on (guix build syscalls).
Having a dependency on (guix build syscalls) this deep in the stack
would make it much harder to change syscalls.scm.
* gnu/packages/polkit.scm (polkit)[arguments]: Remove #:imported-modules.
Remove (guix build syscalls) from #:modules.
Rewrite ‘check’ phase to reap processes from the build process.
[native-inputs]: Remove TINI.
-rw-r--r-- | gnu/packages/polkit.scm | 35 |
1 files changed, 15 insertions, 20 deletions
diff --git a/gnu/packages/polkit.scm b/gnu/packages/polkit.scm index 6fe7824a57..2f733dd703 100644 --- a/gnu/packages/polkit.scm +++ b/gnu/packages/polkit.scm @@ -95,10 +95,7 @@ (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)) #:configure-flags @@ -130,24 +127,23 @@ (replace 'check (lambda* (#:key tests? test-options #:allow-other-keys) (when tests? - ;; Run the test suite through tini to ensure signals are - ;; properly handled and zombie processes reaped. (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" "--" - "meson" "--" "test" "-t" "0" "--print-errorlogs" + (apply execlp "meson" "meson" + "test" "-t" "0" "--print-errorlogs" test-options)) - (pid - (match (waitpid pid) - ((_ . status) - (unless (zero? status) - (error "`meson test' exited with status" - status)))))))))))) + (meson-pid + ;; Reap child processes; otherwise, python-dbusmock would + ;; waste time polling for the dbus processes it spawns to + ;; be reaped, in vain. + (let loop () + (match (waitpid WAIT_ANY) + ((pid . status) + (if (= pid meson-pid) + (unless (zero? status) + (error "`meson test' exited with status" + status)) + (loop))))))))))))) (inputs (list duktape expat elogind linux-pam nspr)) (propagated-inputs @@ -162,8 +158,7 @@ perl pkg-config python - python-dbusmock - tini)) + python-dbusmock)) (home-page "https://www.freedesktop.org/wiki/Software/polkit/") (synopsis "Authorization API for privilege management") (description "Polkit is an application-level toolkit for defining and |