aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2023-10-13 17:05:27 +0200
committerLudovic Courtès <ludo@gnu.org>2023-10-23 11:56:53 +0200
commit8e3d710f4c31886ebcbfedfcea315388ea7202ee (patch)
treef8b2766b1839a9c77e3a8a5050e9fd46b6340660 /gnu/packages
parent4eda89248dfab7e7708bc76860e6616ba7a9b081 (diff)
downloadguix-8e3d710f4c31886ebcbfedfcea315388ea7202ee.tar.gz
guix-8e3d710f4c31886ebcbfedfcea315388ea7202ee.zip
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.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/polkit.scm35
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