From b4d6a43173561c9bb01ef376b1b6ed6ece4de5d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 13 Oct 2023 17:26:16 +0200 Subject: [PATCH] gnu: public-inbox: Remove dependency on (guix build syscalls). MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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 --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 709674bf59..9f410047e2 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 +;;; Copyright © 2013-2021, 2023 Ludovic Courtès ;;; Copyright © 2014, 2015, 2017, 2020 Mark H Weaver ;;; Copyright © 2014 Ian Denhardt ;;; Copyright © 2014 Sou Bunnbu @@ -4243,10 +4243,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 @@ -4283,18 +4280,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) @@ -4314,7 +4313,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?))