From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([209.51.188.92]:35927) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gvxRt-0006fm-3x for guix-patches@gnu.org; Mon, 18 Feb 2019 23:56:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gvxRr-0001gB-O6 for guix-patches@gnu.org; Mon, 18 Feb 2019 23:56:05 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:54420) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gvxRr-0001ei-DR for guix-patches@gnu.org; Mon, 18 Feb 2019 23:56:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gvxRq-0001RX-BK for guix-patches@gnu.org; Mon, 18 Feb 2019 23:56:03 -0500 Subject: [bug#34515] [PATCH 13/13] gnu: Add Magic-Wormhole. Resent-Message-ID: Date: Mon, 18 Feb 2019 23:55:26 -0500 From: Leo Famulari Message-ID: <20190219045526.GF2718@jasmine.lan> References: <10c8f51b53835850b458bef15e2a11ab0dc0d70a.1550437064.git.leo@famulari.name> <87sgwlwkcg.fsf@elephly.net> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="GUPx2O/K0ibUojHx" Content-Disposition: inline In-Reply-To: <87sgwlwkcg.fsf@elephly.net> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Ricardo Wurmus Cc: 34515@debbugs.gnu.org --GUPx2O/K0ibUojHx Content-Type: multipart/mixed; boundary="GLp9dJVi+aaipsRk" Content-Disposition: inline --GLp9dJVi+aaipsRk Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Feb 18, 2019 at 09:51:11AM +0100, Ricardo Wurmus wrote: > Leo Famulari writes: > > * gnu/packages/magic-wormhole.scm (magic-wormhole): New variable. > [=E2=80=A6] > > + ;; 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))))) >=20 > 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=3Dopen('README.md', 'rU').read(), /gnu/store/b7fqhszxl02g6pfm3vw6b3cjz472qrly-python-3.7.0/lib/python3.7/dist= utils/dist.py:274: UserWarning: Unknown distribution option: 'long_descript= ion_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 version, release =3D _get_versions() File "conf.py", line 67, in _get_versions short =3D ".".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. There is apparently a build script that uses Sphinx to build a more full set of manual pages, from markdown source files. This documentation would discuss the design and implementation of Magic-Wormhole, and it would be nice to have. With the attached patch, the problem can be reproduced, and I've reported it upstream here: https://github.com/warner/magic-wormhole/issues/321 > > + (native-inputs > > + `(("python-mock" ,python-mock) > > + ;; XXX These are required for the test suite but end up being r= eferenced > > + ;; by the built package. > > + ("magic-wormhole-mailbox-server" ,magic-wormhole-mailbox-server) > > + ("magic-wormhole-transit-relay" ,magic-wormhole-transit-relay))) >=20 > 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. --GLp9dJVi+aaipsRk Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="doc-build.patch" diff --git a/gnu/packages/magic-wormhole.scm b/gnu/packages/magic-wormhole.scm index 4f8fabd1c5..80e707a3e2 100644 --- a/gnu/packages/magic-wormhole.scm +++ b/gnu/packages/magic-wormhole.scm @@ -117,17 +117,20 @@ together, allowing them to pretend they have a direct connection.") "01fr4bi6kc6fz9n3c4qq892inrc3nf6p2djy65yvm7xkvdxncydf")))) (build-system python-build-system) (arguments - '(#:phases + '(#:tests? #f ; to speed up debugging the documentation build failure + #:phases (modify-phases %standard-phases ;; 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))))) + (invoke "make" "-C" "docs" "man") + #t)))))) (native-inputs `(("python-mock" ,python-mock) + ("python-sphinx" ,python-sphinx) + ("python-recommonmark" ,python-recommonmark) ;; 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) @@ -156,3 +159,68 @@ wordlist. The receiving side offers tab-completion on the codewords, so usually only a few characters must be typed. Wormhole codes are single-use and do not need to be memorized.") (license expat))) + +(define-public python-commonmark + (package + (name "python-commonmark") + (version "0.8.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "commonmark" version)) + (sha256 + (base32 + "1130029ykz4jny5sr65zb03lm2xp062k4pmfaapxxrgaw1acijxb")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; have to delete and recreate check? + (delete 'check) + (add-after 'install 'check + ;; inputs and outputs? + (lambda* (#:key inputs outputs #:allow-other-keys) + (add-installed-pythonpath inputs outputs) + (invoke "python" "setup.py" "test")))) + ) + ) + (propagated-inputs + `( + ("python-flake8" ,python-flake8) + ("python-future" ,python-future) + ("python-hypothesis" ,python-hypothesis) + )) + (home-page + "https://github.com/rtfd/CommonMark-py") + (synopsis + "Python parser for the CommonMark Markdown spec") + (description + "Python parser for the CommonMark Markdown spec") + (license bsd-3))) + +(define-public python-recommonmark + (package + (name "python-recommonmark") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "recommonmark" version)) + (sha256 + (base32 + "0j5vylbhdddjhc6kj4y9pm8pyf7yy9965kr77bi1m9bia39bh855")))) + (build-system python-build-system) + (arguments + '(#:tests? #f)) ; fail mysteriously... + (propagated-inputs + `(("python-commonmark" ,python-commonmark) + ("python-docutils" ,python-docutils) + ("python-sphinx" ,python-sphinx))) + (home-page + "https://github.com/rtfd/recommonmark") + (synopsis + "A docutils-compatibility bridge to CommonMark, enabling you to write CommonMark inside of Docutils & Sphinx projects.") + (description + "A docutils-compatibility bridge to CommonMark, enabling you to write CommonMark inside of Docutils & Sphinx projects.") + (license expat))) + --GLp9dJVi+aaipsRk-- --GUPx2O/K0ibUojHx Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAlxrjD0ACgkQJkb6MLrK fwiYChAAoniyY6+z76FqIMG/4u9GRzQM/laBF8hK94giy6ATNtafYtaK26dtuPVm ojKk4nzWT5Bzk9l2bgBhZo2RHpZXa348YFdVGnQXgyFjsLLBSwq1Ga0BqdOhPO14 v43wkQ/eGTG6x/QvvPyh38w8gL6rr6/L5FmVGaGI/v7evsBeK8maiB9H/LskCftw /677T46bqxuqbicz/Vhti/m2W9/HXqkW1yO02jT6bxa89YZ4S+5/STqlHp0txuGx l3vjuga1wn9SbMpbk0gb3HJTr/Vzj/a7ozyizUwhT6nFiGwZfbI+crSJ/Hvy4tAq rX8LpHvMMRF0X+kqbJsg4cfo4WjkOaWqSBi2Iz76mmqK5J/7JYxx3m4YOLmFz03Q iekUycenuZP5mKi/j/DLOLRuf6o6Y5I7ktUU2zQdE278ns4ukQJbsyKyA6z2IKmj WqLSmDwq2XqBNkduO8o70pbB7R5Sjg1egWdcRXd0beLsNZW+N58MZLf0fAqrhCDH Ldt8Pir0apgG09UVF5/TEER8pL5DOuaVsj4DL6mg1W81cN7vbWdNIAD0Vcgv2FMq yPuK0+rwp/dWbtCIWF3hCPROefqJxISWCeAfrvKkEXGCcUoL+yFEphaYrbfwXTX2 0OJigkmCVnvmeLP96VScTwKCVnyND/P0vqhgmK9K38xj5IE36MY= =8Nwp -----END PGP SIGNATURE----- --GUPx2O/K0ibUojHx--