Subject: Re: [bug#34515] [PATCH 13/13] gnu: Add Magic-Wormhole.

From: Ricardo Wurmus <[email-masked]>
Date: Tue, 19 Feb 2019 08:52:08 +0100

Leo Famulari <[email-masked]> writes:

> On Mon, Feb 18, 2019 at 09:51:11AM +0100, Ricardo Wurmus wrote:
>> Leo Famulari <[email-masked]> writes:
>> > * gnu/packages/magic-wormhole.scm (magic-wormhole): New variable.
>> […]
>> > +         ;; XXX I can't figure out how to build the docs properly.
>> > +         (add-after 'install 'install-docs
>> > +           (lambda* (#:key outputs #:allow-other-keys)
>> > +             (let* ((out (assoc-ref outputs "out"))
>> > +                    (man (string-append out "/share/man/man1")))
>> > +               (install-file "docs/wormhole.1" man))
>> > +             #t)))))
>> 
>> What does it mean to build them properly?  Should anything besides the
>> man pages be built?
>
> In short, it fails like this:
>
> ------
> make: Entering directory '/tmp/guix-build-magic-wormhole-0.11.2.drv-0/magic-wormhole-0.11.2/docs'
> Running Sphinx v1.7.7
> setup.py:20: DeprecationWarning: 'U' mode is deprecated
>   long_description=open('README.md', 'rU').read(),
> /gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib/python3.7/distutils/dist.py:274: UserWarning: Unknown distribution option: 'long_description_content_type'
>   warnings.warn(msg)
>
> Configuration error:
> There is a programable error in your configuration file:
>
> Traceback (most recent call last):
>   File "/gnu/store/q6qyrgr41lqzbray6944l1rs7i6b83kp-python-sphinx-1.7.7/lib/python3.7/site-packages/sphinx/config.py", line 161, in __init__
>     execfile_(filename, config)
>   File "/gnu/store/q6qyrgr41lqzbray6944l1rs7i6b83kp-python-sphinx-1.7.7/lib/python3.7/site-packages/sphinx/util/pycompat.py", line 150, in execfile_
>     exec_(code, _globals)
>   File "conf.py", line 70, in <module>
>     version, release = _get_versions()
>   File "conf.py", line 67, in _get_versions
>     short = ".".join(v.split(".")[:2])
> TypeError: a bytes-like object is required, not 'str'
>
> make: *** [Makefile:20: man] Error 2
> make: Leaving directory '/tmp/guix-build-magic-wormhole-0.11.2.drv-0/magic-wormhole-0.11.2/docs'
> ------
>
> Using the patch under discussion, only a pre-built manual page is
> installed.

Ah, I see.

My guess is that this is due to the use of Python 3.7.0.  I wonder if
this class of problems disappears with 3.7.1.

It’s fine to install the pre-built man pages for now.

>> > +    (native-inputs
>> > +     `(("python-mock" ,python-mock)
>> > +       ;; XXX These are required for the test suite but end up being referenced
>> > +       ;; by the built package.
>> > +       ("magic-wormhole-mailbox-server" ,magic-wormhole-mailbox-server)
>> > +       ("magic-wormhole-transit-relay" ,magic-wormhole-transit-relay)))
>> 
>> Are they not supposed to be referenced by the built package?
>> If they are supposed to be used by the built package is it enough to
>> have them as inputs and not as propagated inputs?
>
> In this case they are actually native-inputs, not propagated-inputs. But
> they still end up on the PYTHONPATHs in the built package, so they are
> referenced.
>
> I don't believe they are used by the magic-wormhole program except in
> client-server way over the network. They shouldn't need to be part of
> the closure of magic-wormhole.

I think that’s this bug:

    https://issues.guix.info/issue/25235

Feel free to push your patches.  Thanks!

-- 
Ricardo