diff mbox series

[bug#66525,v2,07/10] gnu: public-inbox: Remove dependency on (guix build syscalls).

Message ID 5e7e25542f40bc869303339e54a98705d7dc0331.1697982040.git.ludo@gnu.org
State New
Headers show
Series Remove dependency of polkit, python-dbusmock, etc. on (guix build syscalls) | expand

Commit Message

Ludovic Courtès Oct. 22, 2023, 1:43 p.m. UTC
* gnu/packages/mail.scm (public-inbox)[arguments]: Remove #:imported-modules.
Remove (guix build syscalls) from #:modules.  Rewrite ‘check’ phase to
reap processes from the build process.
[native-inputs]: Remove TINI.
---
 gnu/packages/mail.scm | 33 ++++++++++++++++-----------------
 1 file changed, 16 insertions(+), 17 deletions(-)
diff mbox series

Patch

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index be458a2d92..fc5cde38ce 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1,5 +1,5 @@ 
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013-2021, 2023 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014, 2015, 2017, 2020 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
 ;;; Copyright © 2014 Sou Bunnbu <iyzsong@gmail.com>
@@ -4242,10 +4242,7 @@  (define-public public-inbox
              (file-name (git-file-name name version))))
     (build-system perl-build-system)
     (arguments
-     `(#:imported-modules (,@%perl-build-system-modules
-                           (guix build syscalls))
-       #:modules ((guix build perl-build-system)
-                  (guix build syscalls)
+     `(#:modules ((guix build perl-build-system)
                   (guix build utils)
                   (ice-9 match))
        #:phases
@@ -4282,18 +4279,20 @@  (define-public public-inbox
                     (setenv "TMP" "/tmp")
                     (setenv "TMPDIR" "/tmp")
 
-                    ;; Use tini so that signals are properly handled and
-                    ;; doubly-forked processes get reaped; otherwise,
-                    ;; lei-daemon is kept as a zombie and the testsuite
-                    ;; fails thinking that it didn't quit as it should.
-                    (set-child-subreaper!)
-                    (apply execlp "tini" "--"
+                    (apply execlp "make"
                            "make" "check" test-flags))
-                   (pid
-                    (match (waitpid pid)
-                      ((_ . status)
-                       (unless (zero? status)
-                         (error "`make check' exited with status" status))))))
+                   (make-pid
+                    ;; Reap child processes; otherwise, lei-daemon is kept as
+                    ;; a zombie and the testsuite fails thinking that it
+                    ;; didn't quit as it should.
+                    (let loop ()
+                      (match (waitpid WAIT_ANY)
+                        ((pid . status)
+                         (if (= pid make-pid)
+                             (unless (zero? status)
+                               (error "`make check' exited with status"
+                                      status))
+                             (loop)))))))
                  (format #t "test suite not run~%"))))
          (add-after 'install 'wrap-programs
            (lambda* (#:key inputs outputs #:allow-other-keys)
@@ -4313,7 +4312,7 @@  (define-public public-inbox
                 (find-files (string-append out "/bin")))))))))
     (native-inputs
      (list ;; For testing.
-           lsof openssl tini))
+           lsof openssl))
     (inputs
      (append
       (if (not (target-64bit?))