Subject: Re: [bug#51675] [PATCH 5/5] gnu: Add python-wokkel.

From: Vinicius Monego <[email-masked]>
Date: Fri, 12 Nov 2021 18:14:54 +0000

Em dom, 2021-11-07 às 21:45 -0500, Stephen Paul Weber escreveu:
> * gnu/packages/python-xyz.scm (python-wokkel): New variable.
> ---
>  gnu/packages/python-xyz.scm | 40
> +++++++++++++++++++++++++++++++++++++
>  1 file changed, 40 insertions(+)
> 
> diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-
> xyz.scm
> index 4305e06030..0f1cd97e2f 100644
> --- a/gnu/packages/python-xyz.scm
> +++ b/gnu/packages/python-xyz.scm
> @@ -27757,3 +27757,43 @@ project. Rather than reading the Git history
> as some newer tools to produce it,
>  or having one single file which developers all write to, towncrier
> reads
>  \"news fragments\" which contain information useful to end users.")
>      (license license:expat)))
> +
> +(define-public python-wokkel
> +  (package
> +    (name "python-wokkel")
> +    (version "18.0.0")
> +    (source
> +      (origin
> +        (method url-fetch)
> +        (uri (pypi-uri "wokkel" version))
> +        (sha256
> +          (base32
> "1spq44gg8gsviqx1dvlmjpgfc0wk0jpyx4ap01y2pad1ai9cw016"))))
> +    (build-system python-build-system)
> +    (arguments
> +     '(#:phases (modify-phases %standard-phases
> +                  (add-after 'unpack 'patch-tests
> +                    (lambda _
> +                      (substitute* "wokkel/test/test_client.py"
> +                        (("'example.org', connector.domain")
> +                         "b'example.org', connector.domain"))
> +                      (substitute* "wokkel/test/test_xmppim.py"
> +                        (("def test_onRosterRemove.*:")
> +                         "def test_onRosterRemove(self):\n       
> return")
> +                        (("def test_onRosterSet.*:")
> +                         "def test_onRosterSet(self):\n       
> return")))))))

Is this to skip tests? In unittest they can be skipped in a simpler way
by prefixing the test name with _:

> def test_onRosterRemove

becomes

> def _test_onRosterRemove

.

> +    (propagated-inputs
> +      `(("python-dateutil" ,python-dateutil)
> +        ("python-incremental" ,python-incremental)
> +        ("python-twisted" ,python-twisted)))
> +    (native-inputs
> +      `(("python-coverage" ,python-coverage)
> +        ("python-pydoctor" ,python-pydoctor)
> +        ("python-pyflakes" ,python-pyflakes)
> +        ("python-sphinx" ,python-sphinx)

Sphinx should be an input only if documentation is being built. If the
package fails to build when sphinx is not found, then it should remain.

> +        ("python-towncrier" ,python-towncrier)))
> +    (home-page "https://wokkel.ik.nu/")
> +    (synopsis "Twisted support library for Jabber/XMPP")
> +    (description "A collection of enhancements on top of the
> ​Twisted networking
> +framework. It provides enhancements to the Jabber/XMPP protocol
> implementation
> +as found in Twisted Words.")

Same comment about description from patch 4.

> +    (license license:expat)))