Leo Famulari <l...@famulari.name> writes: > lfam pushed a commit to branch master > in repository guix. > > commit f26d6e4e9c5efbe060697f54456cfc9144350114 > Author: Leo Famulari <l...@famulari.name> > Date: Sat Apr 8 12:45:16 2017 -0400 > > gnu: certbot: Share python-acme's arguments. > > * gnu/packages/tls.scm (certbot)[arguments]: Use > substitute-keyword-arguments to > inherit from python-acme. > --- > gnu/packages/tls.scm | 39 +++++++++++++++------------------------ > 1 file changed, 15 insertions(+), 24 deletions(-) > > diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm > index ac5e406..08cc607 100644 > --- a/gnu/packages/tls.scm > +++ b/gnu/packages/tls.scm > @@ -478,8 +478,6 @@ security, and applying best practice development > processes.") > "05cqadwzgfcianw3v0qxwja65dxnzw429f7dk8w0mnh21pib72bl")))) > (build-system python-build-system) > > - ;; TODO factorize the 'docs' phase and share arguments between > python-acme > - ;; and certbot. > (arguments > `(#:phases > (modify-phases %standard-phases > @@ -541,28 +539,21 @@ security, and applying best practice development > processes.") > (build-system python-build-system) > (arguments > `(#:python ,python-2 > - #:phases > - (modify-phases %standard-phases > - (add-after 'unpack 'patch-dependency > - ;; This module is part of the Python standard library, so we don't > - ;; need to use an external package. > - ;; https://github.com/certbot/certbot/pull/2249 > - (lambda _ > - (substitute* "setup.py" > - (("'argparse',") "")) > - #t)) > - (add-after 'build 'docs > - (lambda* (#:key outputs #:allow-other-keys) > - (let* ((out (assoc-ref outputs "out")) > - (man1 (string-append out "/share/man/man1")) > - (man7 (string-append out "/share/man/man7")) > - (info (string-append out "/info"))) > - (and > - (zero? (system* "make" "-C" "docs" "man" "info")) > - (install-file "docs/_build/texinfo/Certbot.info" info) > - (install-file "docs/_build/man/certbot.1" man1) > - (install-file "docs/_build/man/certbot.7" man7) > - #t))))))) > + ,@(substitute-keyword-arguments (package-arguments python-acme) > + ((#:phases phases) > + `(modify-phases ,phases > + (replace 'docs > + (lambda* (#:key outputs #:allow-other-keys) > + (let* ((out (assoc-ref outputs "out")) > + (man1 (string-append out "/share/man/man1")) > + (man7 (string-append out "/share/man/man7")) > + (info (string-append out "/info"))) > + (and > + (zero? (system* "make" "-C" "docs" "man" "info")) > + (install-file "docs/_build/texinfo/Certbot.info" info) > + (install-file "docs/_build/man/certbot.1" man1) > + (install-file "docs/_build/man/certbot.7" man7) > + #t)))))))))
Not to pick on this patch, since this problem was present before..but: "install-file" has an unspecified return value, so I don't think it's safe to use in an "and" block. The attached patch should be more correct. WDYT?
From e3bd8d6df932986c35a2f8088c491eb6f89ee6d5 Mon Sep 17 00:00:00 2001 From: Marius Bakke <mba...@fastmail.com> Date: Mon, 10 Apr 2017 00:26:45 +0200 Subject: [PATCH] gnu: certbot, python-acme: Build documentation in separate phase. * gnu/packages/tls.scm (python-acme)[arguments]<:phases>: Add 'build-documentation' phase. Rename 'docs' phase to 'install-documentation'. (certbot)[arguments]<:phases>: Adjust accordingly. --- gnu/packages/tls.scm | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 08cc6075b..7b7de01cb 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -489,15 +489,17 @@ security, and applying best practice development processes.") (substitute* "setup.py" (("'argparse',") "")) #t)) - (add-after 'build 'docs + (add-after 'build 'build-documentation + (lambda _ + (zero? (system* "make" "-C" "docs" "man" "info")))) + (add-after 'install 'install-documentation (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (man (string-append out "/share/man/man1")) (info (string-append out "/info"))) - (and (zero? (system* "make" "-C" "docs" "man" "info")) - (install-file "docs/_build/texinfo/acme-python.info" info) - (install-file "docs/_build/man/acme-python.1" man) - #t))))))) + (install-file "docs/_build/texinfo/acme-python.info" info) + (install-file "docs/_build/man/acme-python.1" man) + #t)))))) ;; TODO: Add optional inputs for testing. (native-inputs `(("python-mock" ,python-mock) @@ -542,18 +544,16 @@ security, and applying best practice development processes.") ,@(substitute-keyword-arguments (package-arguments python-acme) ((#:phases phases) `(modify-phases ,phases - (replace 'docs + (replace 'install-documentation (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (man1 (string-append out "/share/man/man1")) (man7 (string-append out "/share/man/man7")) (info (string-append out "/info"))) - (and - (zero? (system* "make" "-C" "docs" "man" "info")) - (install-file "docs/_build/texinfo/Certbot.info" info) - (install-file "docs/_build/man/certbot.1" man1) - (install-file "docs/_build/man/certbot.7" man7) - #t))))))))) + (install-file "docs/_build/texinfo/Certbot.info" info) + (install-file "docs/_build/man/certbot.1" man1) + (install-file "docs/_build/man/certbot.7" man7) + #t)))))))) ;; TODO: Add optional inputs for testing. (native-inputs `(("python2-nose" ,python2-nose) -- 2.12.2
signature.asc
Description: PGP signature