From: Leo Famulari <leo@famulari.name>
To: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH 5/5] gnu: python-acme: Generate and install documentation.
Date: Thu, 18 Feb 2016 12:46:50 -0500 [thread overview]
Message-ID: <20160218174650.GC29070@jasmine> (raw)
In-Reply-To: <idj8u2i5ggz.fsf@bimsb-sys02.mdc-berlin.net>
On Thu, Feb 18, 2016 at 01:51:40PM +0100, Ricardo Wurmus wrote:
>
> Leo Famulari <leo@famulari.name> 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”... :)
Thanks for taking the time to write this!
I didn't realize that copy-file's return value is unspecified. I've
found that it does tend to make the whole build fail when the source
file doesn't exist, so it must be returning #f in that case, right?
In any case, I can't rely on it if it's unspecified.
I wouldn't be surprised if "make" fails the next time this is updated —
the process seems rather complicated *and* untested. Since I don't want
to proceed if make fails I guess that I should use (and ...), and
explicity return #t from the function. What do you think?
next prev parent reply other threads:[~2016-02-18 17:46 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-18 3:53 [PATCH 0/5] Install docs for Let's Encrypt Leo Famulari
2016-02-18 3:53 ` [PATCH 1/5] gnu: Add python-sphinxcontrib-programoutput Leo Famulari
2016-02-18 3:53 ` [PATCH 2/5] licenses: Add repoze license Leo Famulari
2016-02-18 3:53 ` [PATCH 3/5] gnu: Add python-sphinx-repoze-autointerface Leo Famulari
2016-02-18 8:28 ` Alex Kost
2016-02-18 17:40 ` Leo Famulari
2016-02-18 3:53 ` [PATCH 4/5] gnu: letsencrypt: Generate and install documentation Leo Famulari
2016-02-18 3:53 ` [PATCH 5/5] gnu: python-acme: " Leo Famulari
2016-02-18 12:51 ` Ricardo Wurmus
2016-02-18 17:46 ` Leo Famulari [this message]
2016-02-18 19:36 ` Andreas Enge
2016-02-20 7:48 ` [PATCH 0/5] Install docs for Let's Encrypt Leo Famulari
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160218174650.GC29070@jasmine \
--to=leo@famulari.name \
--cc=guix-devel@gnu.org \
--cc=ricardo.wurmus@mdc-berlin.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).