guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 5/5] gnu: python-acme: Generate and install documentation.


From: Ricardo Wurmus
Subject: Re: [PATCH 5/5] gnu: python-acme: Generate and install documentation.
Date: Thu, 18 Feb 2016 13:51:40 +0100

Leo Famulari <address@hidden> writes:

> * gnu/packages/tls.scm (acme)[arguments]: Add 'docs' phase.
> [native-inputs]: Add python-sphinx, python-sphinxcontrib-programoutput,
> python-sphinx-rtd-theme, python-setuptools, texinfo.
> ---
>  gnu/packages/tls.scm | 19 ++++++++++++++++---
>  1 file changed, 16 insertions(+), 3 deletions(-)
>
> diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
> index 00d4805..dc6f9b4 100644
> --- a/gnu/packages/tls.scm
> +++ b/gnu/packages/tls.scm
> @@ -340,11 +340,24 @@ security, and applying best practice development 
> processes.")
>                 (display "\n[easy_install]\nzip_ok = 0\n"
>                          port)
>                 (close-port port)
> -               #t))))))
> -    ;; TODO: Add optional inputs for testing and building documentation.
> +               #t)))
> +         (add-after 'install 'docs
> +           (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))))))))

“install-file” calls “copy-file” last and according to the Guile manual
the return value of “copy-file” is unspecified.  In practise this is not
#f, of course, so all the three arguments to “(and ...)” will be
evaluated as long as “make” does not fail.

However, “and” just returns the return value of its last argument
(unless one of the arguments evaluates to “#f”), which is unspecified,
not “#t”.  As we want successful phases to return “#t” you could
explicitly add “#t” as a fourth argument to “(and ...)”.

Not sure if that’s really necessary, but you did ask for comments about
your use of “and”... :)

~~ Ricardo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]