From c017acec3421d10ceceffbd68312083645562ce5 Mon Sep 17 00:00:00 2001 From: Thiago Jung Bauermann Date: Sun, 15 May 2022 19:02:28 -0300 Subject: [PATCH] gnu: public-inbox: Some packaging fixes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The file ‘script/public-inbox-compact’ doesn't call ‘xapian-compact’ directly anymore, so the substitution in the ‘qualify-paths’ phase doesn't do anything. Now there's a reference to ‘xapian-compact’ in ‘lib/PublicInbox/Xapcmd.pm’, so substitute the path there. And move xapian from native-inputs to inputs and use its input path in the substitution, since ‘xapian-compact’ is called during normal execution of public-inbox. Also add ‘bash-minimal’ to the package's inputs, since it uses ‘wrap-program’. Finally, take the opportunity to change build phases to not return #t unconditionally, since that isn't necessary anymore. * gnu/packages/mail.scm (public-inbox)[arguments]<#:phases>: Don't return #t from each phase. {qualify-paths}: Substitute ‘xapian-compact’ path in the correct file. Use ‘search-input-file’ rather than ‘which’ to find it. [native-inputs]: Move ‘xapian’ from here ... [inputs]: ... to here. Add ‘bash-minimal’. Signed-off-by: Ludovic Courtès --- gnu/packages/mail.scm | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index f1af69faab..8312aca2e0 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -46,6 +46,7 @@ ;;; Copyright © 2021 Philip McGrath ;;; Copyright © 2022 Andrew Tropin ;;; Copyright © 2022 Justin Veilleux +;;; Copyright © 2022 Thiago Jung Bauermann ;;; ;;; This file is part of GNU Guix. ;;; @@ -4084,12 +4085,12 @@ (define-public public-inbox '(#:phases (modify-phases %standard-phases (add-before 'configure 'qualify-paths - (lambda _ + (lambda* (#:key inputs #:allow-other-keys) ;; Use absolute paths for 'xapian-compact'. - (let ((xapian-compact (which "xapian-compact"))) - (substitute* "script/public-inbox-compact" - (("xapian-compact") xapian-compact))) - #t)) + (substitute* "lib/PublicInbox/Xapcmd.pm" + (("'xapian-compact'") + (format #f "'~a'" (search-input-file inputs + "/bin/xapian-compact")))))) (add-before 'check 'pre-check (lambda _ (substitute* "t/spawn.t" @@ -4100,8 +4101,7 @@ (define-public public-inbox ;; XXX: This test fails due to zombie process is not reaped by ;; the builder. (substitute* "t/httpd-unix.t" - (("^SKIP: \\{") "SKIP: { skip('Guix');")) - #t)) + (("^SKIP: \\{") "SKIP: { skip('Guix');")))) (add-after 'install 'wrap-programs (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -4116,14 +4116,13 @@ (define-public public-inbox ;; perl module. `("PATH" ":" prefix (,(dirname (search-input-file inputs "/bin/git")))))) - (find-files (string-append out "/bin")))) - #t))))) + (find-files (string-append out "/bin"))))))))) (native-inputs - (list xapian - ;; For testing. + (list ;; For testing. lsof openssl)) (inputs - (list git + (list bash-minimal + git perl-dbd-sqlite perl-dbi perl-email-address-xs @@ -4145,7 +4144,8 @@ (define-public public-inbox ;; ("highlight" ,highlight) ;; For testing. perl-ipc-run - perl-xml-feed)) + perl-xml-feed + xapian)) (home-page "https://public-inbox.org/README.html") (synopsis "Archive mailing lists in Git repositories") (description