Add python-wokkel, Jabber/XMPP module for Twisted

OpenSubmitted by Stephen Paul Weber.
Details
2 participants
  • Vinicius Monego
  • Stephen Paul Weber
Owner
unassigned
Severity
normal
S
S
Stephen Paul Weber wrote on 8 Nov 2021 03:42
(address . guix-patches@gnu.org)
YYiOgriWPOi+DH09@singpolyma-beefy.lan
This patch series adds python-wokkel, a Jabber/XMPP module for Twisted that is
used by libervia client (which I am packaging).
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEWeaCw+rzmiEMpzU00RwpEc5RnN4FAmGIjoIACgkQ0RwpEc5R
nN55GQ//RB/spERz07vhzY/Jk/AewxY6tLuAFUruovNmqLGyZQgxNYwHcfCJ6Rqk
bnlWIa1svxLE4x3ASpZT4JlEQBk/72fdJNdiZzJkL0O9R7yVi0Gt0VU26RqfoD+3
FdliIs3072suyL6VRaR8OLu5FCLqlPOeaHpTaqocnsMqiLup2UnunwZFFkl2oXfl
onBnDHiXRRFsiGT2+LYyG2m+bmacRuAPsPMK8bijWnsL+xSVTMAoYRVYrOI5SxEV
rLzw1UnD2lU+UpXddxOR1zyeyl6T4z8qgyvOTMNnIMZuzGzVcuuWDkwm/4RmLMpm
+QpF8jYeF4lCzxurNvONJ4CU7oB+SH2p8U62oMHcKW+tZgdt5/v0FjUmg88r1JvG
nsyBE/32tOrWnvg+nGzMEvM/tIgdRqSHuaDpdeW6/rS145DrTNijtUEErBzLga8J
Zh7RiJbQlQhTYLDDdNaf35iphkaA2IShDqr455ss1nfcTW6N6/M/O1drV3ZH4qdt
fKdDR4ahEMq29IJ8S74zVHsDVTBdk0IFw5/HkwCf5fRHNgE6Igx5YGEjyC5gJ314
pTLVhynauZGcCLPIkeo9evtUiFaKEJ6vgPxQdVXiZVyE5iP3XzmatypZajYSrIM7
rPGN1uCLo6J8tbqNheAucG6CI+iM2/v9yryttbJ6dog11r2bhSI=
=xpOs
-----END PGP SIGNATURE-----


S
S
Stephen Paul Weber wrote on 8 Nov 2021 03:45
[PATCH 1/5] gnu: python-incremental: Update to 21.3.0
(address . 51675@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20211108024520.49594-1-singpolyma@singpolyma.net
* gnu/packages/python-xyz.scm (python-incremental): Update to 21.3.0.
---
gnu/packages/python-xyz.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 8ba72170c0..639945c278 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -17681,14 +17681,14 @@ parse many formal languages.")
 (define-public python-incremental
   (package
     (name "python-incremental")
-    (version "17.5.0")
+    (version "21.3.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "incremental" version))
        (sha256
         (base32
-         "1cylxdz1cnkm5g3pklna3h2n0i0rks95ir1pnpxfnvpkmab1cxbv"))))
+         "0mvgbmsnv1c8ziydw41jjkivc0zcqyzli7frcpvbkxj8zxddxx82"))))
     (build-system python-build-system)
     (home-page "https://github.com/hawkowl/incremental")
     (synopsis "Library for versioning Python projects")
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 8 Nov 2021 03:45
[PATCH 3/5] gnu: Add python-pydoctor.
(address . 51675@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20211108024520.49594-3-singpolyma@singpolyma.net
* gnu/packages/python-xyz.scm (python-pydoctor): New variable.
---
gnu/packages/python-xyz.scm | 38 +++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)

Toggle diff (48 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 96718c7c18..f439ffd91e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -27693,3 +27693,41 @@ simple mock/record and a complete capture/replay framework.")
      "Ijson is an iterative JSON parser with standard Python iterator
 interfaces.")
     (license license:bsd-3)))
+
+(define-public python-pydoctor
+  (package
+    (name "python-pydoctor")
+    (version "21.9.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "pydoctor" version))
+        (sha256
+          (base32 "0nknh3k4zv505031ga8ira0d4slvwwm5g5bzjacjidmi2mmjj311"))))
+    (build-system python-build-system)
+    (arguments
+     ; Some tests use network and cache storage
+     '(#:tests? #f))
+    (propagated-inputs
+      `(("python-appdirs" ,python-appdirs)
+        ("python-astor" ,python-astor)
+        ("python-attrs" ,python-attrs)
+        ("python-cachecontrol" ,python-cachecontrol)
+        ("python-docutils" ,python-docutils)
+        ("python-importlib-metadata" ,python-importlib-metadata)
+        ("python-importlib-resources" ,python-importlib-resources)
+        ("python-requests" ,python-requests)
+        ("python-twisted" ,python-twisted)))
+    (native-inputs
+      `(("python-beautifulsoup4" ,python-beautifulsoup4)
+        ("python-hypothesis" ,python-hypothesis)
+        ("python-pytest" ,python-pytest)
+        ("python-sphinx" ,python-sphinx)))
+    (home-page "https://github.com/twisted/pydoctor")
+    (synopsis "Python API documentation generator")
+    (description "A documentation generator that works by static analysis.
+It puts a fair bit of effort into resolving imports and computing inheritance
+hierarchies and, as it aims at documenting Twisted, knows about zope.interface's
+declaration API and can present information about which classes implement which
+interface, and vice versa.")
+    (license license:expat)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 8 Nov 2021 03:45
[PATCH 4/5] gnu: Add python-towncrier.
(address . 51675@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20211108024520.49594-4-singpolyma@singpolyma.net
* gnu/packages/python-xyz.scm (python-towncrier): New variable.
---
gnu/packages/python-xyz.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index f439ffd91e..4305e06030 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -27731,3 +27731,29 @@ hierarchies and, as it aims at documenting Twisted, knows about zope.interface's
 declaration API and can present information about which classes implement which
 interface, and vice versa.")
     (license license:expat)))
+
+(define-public python-towncrier
+  (package
+    (name "python-towncrier")
+    (version "21.3.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "towncrier" version))
+        (sha256
+          (base32 "1znxavwsiy6czirjn0qi1p5yarnm7gg692nb0309hb6p4k4hpvbf"))))
+    (build-system python-build-system)
+    (propagated-inputs
+      `(("python-click" ,python-click)
+        ("python-click-default-group" ,python-click-default-group)
+        ("python-incremental" ,python-incremental)
+        ("python-jinja2" ,python-jinja2)
+        ("python-toml" ,python-toml)))
+    (native-inputs `(("python-packaging" ,python-packaging)))
+    (home-page "https://github.com/hawkowl/towncrier")
+    (synopsis "Tool to build newsfiles for your Python project")
+    (description "A utility to produce useful, summarised news files for your
+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)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 8 Nov 2021 03:45
[PATCH 5/5] gnu: Add python-wokkel.
(address . 51675@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20211108024520.49594-5-singpolyma@singpolyma.net
* gnu/packages/python-xyz.scm (python-wokkel): New variable.
---
gnu/packages/python-xyz.scm | 40 +++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)

Toggle diff (50 lines)
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")))))))
+    (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)
+        ("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.")
+    (license license:expat)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 8 Nov 2021 03:45
[PATCH 2/5] gnu: python-twisted: Update to 21.7.0
(address . 51675@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20211108024520.49594-2-singpolyma@singpolyma.net
* gnu/packages/python-xyz.scm (python-twisted): Update to 21.7.0.
[propagated-inputs]: Add python-typing-extensions, python-attrs, and python-service-identity.
---
gnu/packages/python-xyz.scm | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)

Toggle diff (42 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 639945c278..96718c7c18 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -15105,22 +15105,31 @@ format.")
 (define-public python-twisted
   (package
     (name "python-twisted")
-    (version "19.7.0")
+    (version "21.7.0")
     (source (origin
               (method url-fetch)
-              (uri (pypi-uri "Twisted" version ".tar.bz2"))
+              (uri (pypi-uri "Twisted" version))
               (sha256
                (base32
-                "17d3hnxv9qndagzz63mdpyk99xj63p9gq586vjn0rxk8cl197nym"))))
+                "01lh225d7lfnmfx4f4kxwl3963gjc9yg8jfkn1w769v34ia55mic"))))
     (build-system python-build-system)
     (arguments
-     '(#:tests? #f))                    ; FIXME: some tests fail
+     '(#:tests? #f ; FIXME: some tests fail
+       #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'add-py3-var
+                    (lambda _
+                      (substitute* "src/twisted/python/compat.py"
+                        (("_PY37PLUS = True")
+                         "_PY37PLUS = True\n    _PY3 = True")))))))
     (propagated-inputs
      `(("python-zope-interface" ,python-zope-interface)
        ("python-pyhamcrest" ,python-pyhamcrest)
        ("python-incremental" ,python-incremental)
        ("python-hyperlink" ,python-hyperlink)
        ("python-constantly" ,python-constantly)
+       ("python-typing-extensions" ,python-typing-extensions)
+       ("python-attrs" ,python-attrs)
+       ("python-service-identity" ,python-service-identity)
        ("python-automat" ,python-automat)))
     (home-page "https://twistedmatrix.com/")
     (synopsis "Asynchronous networking framework written in Python")
-- 
2.30.2
V
V
Vinicius Monego wrote on 12 Nov 2021 18:53
69058da8cb8ffd6004857e7c5eff89a3a50aa00e.camel@posteo.net
Hi,

Em dom, 2021-11-07 às 21:45 -0500, Stephen Paul Weber escreveu:
Toggle quote (5 lines)
> * gnu/packages/python-xyz.scm (python-twisted): Update to 21.7.0.
> [propagated-inputs]: Add python-typing-extensions, python-attrs, and
> python-service-identity.
> ---

I did not try to build the series, I will comment based on some
impressions first.

Toggle quote (19 lines)
>  gnu/packages/python-xyz.scm | 17 +++++++++++++----
>  1 file changed, 13 insertions(+), 4 deletions(-)
>
> diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-
> xyz.scm
> index 639945c278..96718c7c18 100644
> --- a/gnu/packages/python-xyz.scm
> +++ b/gnu/packages/python-xyz.scm
> @@ -15105,22 +15105,31 @@ format.")
>  (define-public python-twisted
>    (package
>      (name "python-twisted")
> -    (version "19.7.0")
> +    (version "21.7.0")
>      (source (origin
>                (method url-fetch)
> -              (uri (pypi-uri "Twisted" version ".tar.bz2"))
> +              (uri (pypi-uri "Twisted" version))

This change should be described in the commit message.

Toggle quote (17 lines)
>                (sha256
>                 (base32
> -               
> "17d3hnxv9qndagzz63mdpyk99xj63p9gq586vjn0rxk8cl197nym"))))
> +               
> "01lh225d7lfnmfx4f4kxwl3963gjc9yg8jfkn1w769v34ia55mic"))))
>      (build-system python-build-system)
>      (arguments
> -     '(#:tests? #f))                    ; FIXME: some tests fail
> +     '(#:tests? #f ; FIXME: some tests fail
> +       #:phases (modify-phases %standard-phases
> +                  (add-after 'unpack 'add-py3-var
> +                    (lambda _
> +                      (substitute* "src/twisted/python/compat.py"
> +                        (("_PY37PLUS = True")
> +                         "_PY37PLUS = True\n    _PY3 = True")))))))

This new phase should be described in the commit message.

Toggle quote (11 lines)
>      (propagated-inputs
>       `(("python-zope-interface" ,python-zope-interface)
>         ("python-pyhamcrest" ,python-pyhamcrest)
>         ("python-incremental" ,python-incremental)
>         ("python-hyperlink" ,python-hyperlink)
>         ("python-constantly" ,python-constantly)
> +       ("python-typing-extensions" ,python-typing-extensions)
> +       ("python-attrs" ,python-attrs)
> +       ("python-service-identity" ,python-service-identity)
>         ("python-automat" ,python-automat)))

Could you also sort these inputs alphabetically?

Toggle quote (2 lines)
>      (home-page "https://twistedmatrix.com/")
>      (synopsis "Asynchronous networking framework written in Python")
V
V
Vinicius Monego wrote on 12 Nov 2021 19:02
Re: [bug#51675] [PATCH 3/5] gnu: Add python-pydoctor.
4a21a9d7262cbd062fa22555bbadaeeb34c6a79e.camel@posteo.net
Em dom, 2021-11-07 às 21:45 -0500, Stephen Paul Weber escreveu:
Toggle quote (34 lines)
> * gnu/packages/python-xyz.scm (python-pydoctor): New variable.
> ---
>  gnu/packages/python-xyz.scm | 38
> +++++++++++++++++++++++++++++++++++++
>  1 file changed, 38 insertions(+)
>
> diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-
> xyz.scm
> index 96718c7c18..f439ffd91e 100644
> --- a/gnu/packages/python-xyz.scm
> +++ b/gnu/packages/python-xyz.scm
> @@ -27693,3 +27693,41 @@ simple mock/record and a complete
> capture/replay framework.")
>       "Ijson is an iterative JSON parser with standard Python
> iterator
>  interfaces.")
>      (license license:bsd-3)))
> +
> +(define-public python-pydoctor
> +  (package
> +    (name "python-pydoctor")
> +    (version "21.9.2")
> +    (source
> +      (origin
> +        (method url-fetch)
> +        (uri (pypi-uri "pydoctor" version))
> +        (sha256
> +          (base32
> "0nknh3k4zv505031ga8ira0d4slvwwm5g5bzjacjidmi2mmjj311"))))
> +    (build-system python-build-system)
> +    (arguments
> +     ; Some tests use network and cache storage
> +     '(#:tests? #f))

Can these tests be skipped somehow? If Pytest is used there may be a
pytest mark, or if they are in specific files these files can be
deleted in a phase. If they are few they can be skipped manually too.

Toggle quote (11 lines)
> +    (propagated-inputs
> +      `(("python-appdirs" ,python-appdirs)
> +        ("python-astor" ,python-astor)
> +        ("python-attrs" ,python-attrs)
> +        ("python-cachecontrol" ,python-cachecontrol)
> +        ("python-docutils" ,python-docutils)
> +        ("python-importlib-metadata" ,python-importlib-metadata)
> +        ("python-importlib-resources" ,python-importlib-resources)
> +        ("python-requests" ,python-requests)
> +        ("python-twisted" ,python-twisted)))

Does this package only provides an executable? Inputs can be normal
inputs in that case, the libraries will be wrapped to the executable in
the 'wrap phase.

Toggle quote (6 lines)
> +    (native-inputs
> +      `(("python-beautifulsoup4" ,python-beautifulsoup4)
> +        ("python-hypothesis" ,python-hypothesis)
> +        ("python-pytest" ,python-pytest)
> +        ("python-sphinx" ,python-sphinx)))

If the tests still can't run these inputs can be removed or commented
out.

Toggle quote (12 lines)
> +    (synopsis "Python API documentation generator")
> +    (description "A documentation generator that works by static
> analysis.
> +It puts a fair bit of effort into resolving imports and computing
> inheritance
> +hierarchies and, as it aims at documenting Twisted, knows about
> zope.interface's
> +declaration API and can present information about which classes
> implement which
> +interface, and vice versa.")

Description should have full sentences. A rule of thumb is to use the
package name, e.g. "Pydoctor is a [...]" or "This package provides
[...]".

Toggle quote (1 lines)
> +    (license license:expat)))
V
V
Vinicius Monego wrote on 12 Nov 2021 19:06
Re: [bug#51675] [PATCH 4/5] gnu: Add python-towncrier.
c0d2c19fe660fbf23b51fdb90e2b9e9cbe5bdc8c.camel@posteo.net
Em dom, 2021-11-07 às 21:45 -0500, Stephen Paul Weber escreveu:
Toggle quote (46 lines)
> * gnu/packages/python-xyz.scm (python-towncrier): New variable.
> ---
>  gnu/packages/python-xyz.scm | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
>
> diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-
> xyz.scm
> index f439ffd91e..4305e06030 100644
> --- a/gnu/packages/python-xyz.scm
> +++ b/gnu/packages/python-xyz.scm
> @@ -27731,3 +27731,29 @@ hierarchies and, as it aims at documenting
> Twisted, knows about zope.interface's
>  declaration API and can present information about which classes
> implement which
>  interface, and vice versa.")
>      (license license:expat)))
> +
> +(define-public python-towncrier
> +  (package
> +    (name "python-towncrier")
> +    (version "21.3.0")
> +    (source
> +      (origin
> +        (method url-fetch)
> +        (uri (pypi-uri "towncrier" version))
> +        (sha256
> +          (base32
> "1znxavwsiy6czirjn0qi1p5yarnm7gg692nb0309hb6p4k4hpvbf"))))
> +    (build-system python-build-system)
> +    (propagated-inputs
> +      `(("python-click" ,python-click)
> +        ("python-click-default-group" ,python-click-default-group)
> +        ("python-incremental" ,python-incremental)
> +        ("python-jinja2" ,python-jinja2)
> +        ("python-toml" ,python-toml)))
> +    (native-inputs `(("python-packaging" ,python-packaging)))
> +    (home-page "https://github.com/hawkowl/towncrier")
> +    (synopsis "Tool to build newsfiles for your Python project")
> +    (description "A utility to produce useful, summarised news files
> for your
> +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.")

Full sentence in description. New sentences have to be started with
double spaces. You can check for linting issues with the `guix lint`
tool.

Toggle quote (1 lines)
> +    (license license:expat)))
V
V
Vinicius Monego wrote on 12 Nov 2021 19:14
Re: [bug#51675] [PATCH 5/5] gnu: Add python-wokkel.
3d03776d57f9330f48b7f0250ec01841662ec1b2.camel@posteo.net
Em dom, 2021-11-07 às 21:45 -0500, Stephen Paul Weber escreveu:
Toggle quote (45 lines)
> * 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 _:

Toggle quote (2 lines)
> def test_onRosterRemove

becomes

Toggle quote (2 lines)
> def _test_onRosterRemove

.

Toggle quote (10 lines)
> +    (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.

Toggle quote (9 lines)
> +        ("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.

Toggle quote (1 lines)
> +    (license license:expat)))
V
V
Vinicius Monego wrote on 12 Nov 2021 19:21
Re: [bug#51675] [PATCH 1/5] gnu: python-incremental: Update to 21.3.0
3a01215529d3a8ed920407282b5e4696bce4f5d1.camel@posteo.net
Em dom, 2021-11-07 às 21:45 -0500, Stephen Paul Weber escreveu:
Toggle quote (11 lines)
> * gnu/packages/python-xyz.scm (python-incremental): Update to 21.3.0.
> ---
>  gnu/packages/python-xyz.scm | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-
> xyz.scm
> index 8ba72170c0..639945c278 100644
> --- a/gnu/packages/python-xyz.scm
> +++ b/gnu/packages/python-xyz.scm

I skipped this one because it was a simple change, but please add your
copyright to this file.

Could you send a v2 with the requested changes?

Toggle quote (17 lines)
> @@ -17681,14 +17681,14 @@ parse many formal languages.")
>  (define-public python-incremental
>    (package
>      (name "python-incremental")
> -    (version "17.5.0")
> +    (version "21.3.0")
>      (source
>       (origin
>         (method url-fetch)
>         (uri (pypi-uri "incremental" version))
>         (sha256
>          (base32
> -         "1cylxdz1cnkm5g3pklna3h2n0i0rks95ir1pnpxfnvpkmab1cxbv"))))
> +         "0mvgbmsnv1c8ziydw41jjkivc0zcqyzli7frcpvbkxj8zxddxx82"))))
>      (build-system python-build-system)
>      (home-page "https://github.com/hawkowl/incremental")
>      (synopsis "Library for versioning Python projects")
S
S
Stephen Paul Weber wrote on 14 Nov 2021 02:50
[PATCH v2 4/5] gnu: Add python-towncrier.
(address . 51675@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20211114015031.11010-4-singpolyma@singpolyma.net
* gnu/packages/python-xyz.scm (python-towncrier): New variable.
---
gnu/packages/python-xyz.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 1383406885..7e13a296ab 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -27728,3 +27728,29 @@ hierarchies and, as it aims at documenting Twisted, knows about zope.interface's
 declaration API and can present information about which classes implement which
 interface, and vice versa.")
     (license license:expat)))
+
+(define-public python-towncrier
+  (package
+    (name "python-towncrier")
+    (version "21.3.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "towncrier" version))
+        (sha256
+          (base32 "1znxavwsiy6czirjn0qi1p5yarnm7gg692nb0309hb6p4k4hpvbf"))))
+    (build-system python-build-system)
+    (inputs
+      `(("python-click" ,python-click)
+        ("python-click-default-group" ,python-click-default-group)
+        ("python-incremental" ,python-incremental)
+        ("python-jinja2" ,python-jinja2)
+        ("python-toml" ,python-toml)))
+    (native-inputs `(("python-packaging" ,python-packaging)))
+    (home-page "https://github.com/twisted/towncrier")
+    (synopsis "Tool to build newsfiles for your Python project")
+    (description "Towncrier is a utility to produce useful, summarised news
+files for your 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)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 14 Nov 2021 02:50
[PATCH v2 1/5] gnu: python-incremental: Update to 21.3.0
(address . 51675@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20211114015031.11010-1-singpolyma@singpolyma.net
* gnu/packages/python-xyz.scm (python-incremental): Update to 21.3.0.
---
gnu/packages/python-xyz.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 8ba72170c0..639945c278 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -17681,14 +17681,14 @@ parse many formal languages.")
 (define-public python-incremental
   (package
     (name "python-incremental")
-    (version "17.5.0")
+    (version "21.3.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "incremental" version))
        (sha256
         (base32
-         "1cylxdz1cnkm5g3pklna3h2n0i0rks95ir1pnpxfnvpkmab1cxbv"))))
+         "0mvgbmsnv1c8ziydw41jjkivc0zcqyzli7frcpvbkxj8zxddxx82"))))
     (build-system python-build-system)
     (home-page "https://github.com/hawkowl/incremental")
     (synopsis "Library for versioning Python projects")
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 14 Nov 2021 02:50
[PATCH v2 5/5] gnu: Add python-wokkel.
(address . 51675@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20211114015031.11010-5-singpolyma@singpolyma.net
* gnu/packages/python-xyz.scm (python-wokkel): New variable.
---
gnu/packages/python-xyz.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 7e13a296ab..4b493a3a14 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -27754,3 +27754,38 @@ files for your 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")
+                        (("def test_onRosterSet") "def _test_onRosterSet")))))))
+    (propagated-inputs
+      `(("python-dateutil" ,python-dateutil)
+        ("python-incremental" ,python-incremental)
+        ("python-twisted" ,python-twisted)))
+    (native-inputs
+      `(("python-coverage" ,python-coverage)
+        ("python-pyflakes" ,python-pyflakes)))
+    (home-page "https://wokkel.ik.nu/")
+    (synopsis "Twisted support library for Jabber/XMPP")
+    (description "Wokkel is 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.")
+    (license license:expat)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 14 Nov 2021 02:50
[PATCH v2 2/5] gnu: python-twisted: Update to 21.7.0
(address . 51675@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20211114015031.11010-2-singpolyma@singpolyma.net
* gnu/packages/python-xyz.scm (python-twisted): Update to 21.7.0.
[propagated-inputs]: Add python-typing-extensions, python-attrs, and
python-service-identity.
[source]: No longer need to manually specify ".tar.bz2".
[arguments]: New build phase to add back the _PY3 compat variable, used by some
libraries even though it is a private symbol.
---
gnu/packages/python-xyz.scm | 27 ++++++++++++++++++---------
1 file changed, 18 insertions(+), 9 deletions(-)

Toggle diff (48 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 639945c278..68d397d012 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -15105,23 +15105,32 @@ format.")
 (define-public python-twisted
   (package
     (name "python-twisted")
-    (version "19.7.0")
+    (version "21.7.0")
     (source (origin
               (method url-fetch)
-              (uri (pypi-uri "Twisted" version ".tar.bz2"))
+              (uri (pypi-uri "Twisted" version))
               (sha256
                (base32
-                "17d3hnxv9qndagzz63mdpyk99xj63p9gq586vjn0rxk8cl197nym"))))
+                "01lh225d7lfnmfx4f4kxwl3963gjc9yg8jfkn1w769v34ia55mic"))))
     (build-system python-build-system)
     (arguments
-     '(#:tests? #f))                    ; FIXME: some tests fail
+     '(#:tests? #f ; FIXME: some tests fail
+       #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'add-py3-var
+                    (lambda _
+                      (substitute* "src/twisted/python/compat.py"
+                        (("_PY37PLUS = True")
+                         "_PY37PLUS = True\n    _PY3 = True")))))))
     (propagated-inputs
-     `(("python-zope-interface" ,python-zope-interface)
-       ("python-pyhamcrest" ,python-pyhamcrest)
-       ("python-incremental" ,python-incremental)
-       ("python-hyperlink" ,python-hyperlink)
+     `(("python-attrs" ,python-attrs)
+       ("python-automat" ,python-automat)
        ("python-constantly" ,python-constantly)
-       ("python-automat" ,python-automat)))
+       ("python-hyperlink" ,python-hyperlink)
+       ("python-incremental" ,python-incremental)
+       ("python-pyhamcrest" ,python-pyhamcrest)
+       ("python-service-identity" ,python-service-identity)
+       ("python-typing-extensions" ,python-typing-extensions)
+       ("python-zope-interface" ,python-zope-interface)))
     (home-page "https://twistedmatrix.com/")
     (synopsis "Asynchronous networking framework written in Python")
     (description
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 14 Nov 2021 02:50
[PATCH v2 3/5] gnu: Add python-pydoctor.
(address . 51675@debbugs.gnu.org)(name . Stephen Paul Weber)(address . singpolyma@singpolyma.net)
20211114015031.11010-3-singpolyma@singpolyma.net
* gnu/packages/python-xyz.scm (python-pydoctor): New variable.
---
gnu/packages/python-xyz.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 68d397d012..1383406885 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -27693,3 +27693,38 @@ simple mock/record and a complete capture/replay framework.")
      "Ijson is an iterative JSON parser with standard Python iterator
 interfaces.")
     (license license:bsd-3)))
+
+(define-public python-pydoctor
+  (package
+    (name "python-pydoctor")
+    (version "21.9.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "pydoctor" version))
+        (sha256
+          (base32 "0nknh3k4zv505031ga8ira0d4slvwwm5g5bzjacjidmi2mmjj311"))))
+    (build-system python-build-system)
+    (inputs
+      `(("python-appdirs" ,python-appdirs)
+        ("python-astor" ,python-astor)
+        ("python-attrs" ,python-attrs)
+        ("python-cachecontrol" ,python-cachecontrol)
+        ("python-docutils" ,python-docutils)
+        ("python-importlib-metadata" ,python-importlib-metadata)
+        ("python-importlib-resources" ,python-importlib-resources)
+        ("python-requests" ,python-requests)
+        ("python-twisted" ,python-twisted)))
+    (native-inputs
+      `(("python-beautifulsoup4" ,python-beautifulsoup4)
+        ("python-hypothesis" ,python-hypothesis)
+        ("python-pytest" ,python-pytest)
+        ("python-sphinx" ,python-sphinx)))
+    (home-page "https://github.com/twisted/pydoctor")
+    (synopsis "Python API documentation generator")
+    (description "Pydoctor is a documentation generator that works by static analysis.
+It puts a fair bit of effort into resolving imports and computing inheritance
+hierarchies and, as it aims at documenting Twisted, knows about zope.interface's
+declaration API and can present information about which classes implement which
+interface, and vice versa.")
+    (license license:expat)))
-- 
2.30.2
S
S
Stephen Paul Weber wrote on 14 Jan 01:48 +0100
Re: Add python-wokkel, Jabber/XMPP module for Twisted
(address . 51675@debbugs.gnu.org)
YeDIc91QHL5nFCDJ@singpolyma-beefy.lan
Hi, just wondering if someone has time to review the v2 here. I know everyone
is busy, just don't want to get lost either :)

Thanks.
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEWeaCw+rzmiEMpzU00RwpEc5RnN4FAmHgyG4ACgkQ0RwpEc5R
nN7pRxAAnZqmT8WUpEvj2mpOkfZ4GjIHTEu7wK38TZutfpyo2hU+vl61Md3sWxc2
8BvEBfmULzUNvcMCuSQFcT4lIOaFVhqw2T8s6ULGxgF3/zeP5pY5dU3oM/DlhWg0
FdkJ8/XpVt3X5dZ2DaYkwMbX6ky61t8s6fZNrl7yqprOQH9P6yTE6azsAcwTqViw
/xQnbevPouOpG8XcNiBOdhqxXR1r0mHUCxL8rfuoHG5KL1bIJhweJdh2CWxDUh+F
Ll8H/OiFZyPSlZaq6SuoGIgy/vTPJbE8INv6skk2FXufD9Cc/uODcu3vd4T6SV6R
6WdR9B/s3wfG+l8VoJiBYKUByNDGXb2nLeEnOxubIAga2ZKc4u+ziSkcbZWF0H+L
vwAWXf/92feYJpLH9qQGmqlXg4d+gKGumZODii6/Nfl3QRhlIw9MGEXdSqu9GJ+3
2DfZdIlxo33cmCdRnWbA4h1D37m2OJf6+Nnzeolqs2Ppon7NUMQ9mh7tCaW7FQJL
3DpMM8SZkR0g8nIRekm+vFuEhnR3Gx+8V6CsZcs5sP8P7H3CHMm+r+PmWHn/kVKh
Hg+jBZGgKibhAq1Gfpr1h4q5KPU95Rqcp+Tx0YUa2o3fKhkBYzXe2o5deJi1jPOl
A4n/a4iu05FfXfnM11TWCEmLKr9ju+UfC2+cvT9zcUe/tfjPl0k=
=j6Zq
-----END PGP SIGNATURE-----


V
V
Vinicius Monego wrote on 25 Apr 03:45 +0200
543bdd05f5c3892be5b39a23788680eba6f96ac0.camel@posteo.net
Em qui, 2022-01-13 às 19:48 -0500, Stephen Paul Weber escreveu:
Toggle quote (6 lines)
> Hi, just wondering if someone has time to review the v2 here.  I know
> everyone
> is busy, just don't want to get lost either :)
>
> Thanks.

Hi,

Sorry for the long wait. I can push this v2, but could you rebase it to
master?

A few more suggested changes:

- Add a copyright line to the files you edited and don't have a line
already.
- Update packages to latest version.
- Remove package labels.

Twisted has 258 dependent packages, I hope the latest version doesn't
break compatibility with the current one.

Vinicius
?