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

Attachment: signature.asc
Description: PGP signature

Reply via email to