all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields.
  2022-04-25  3:57 [bug#55104] [PATCH 000/232] Update IPython to latest, fix texlive-polyglossia, add more Maxim Cournoyer
@ 2022-04-25  3:55 ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 002/232] gnu: python-astroid: Propagate python-typing-extensions Maxim Cournoyer
                     ` (99 more replies)
  2022-04-25  9:53 ` [bug#55104] [PATCH 000/232] Update IPython to latest, fix texlive-polyglossia, add more Lars-Dominik Braun
  2022-04-25 11:36 ` Julien Lepiller
  2 siblings, 100 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-ipython): Move the 'arguments' field
right after the 'build-system' one,  Re-indent 'inputs' field.
[propagated-inputs]: Sort inputs.
---
 gnu/packages/python-xyz.scm | 79 +++++++++++++++++--------------------
 1 file changed, 37 insertions(+), 42 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 9a5d311680..cde86ba007 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8986,33 +8986,6 @@ (define-public python-ipython
        (sha256
         (base32 "04xgymypnbfgf2q0d5b0hanjbjsp53f055sh1p8xlq52vyzmxdaq"))))
     (build-system python-build-system)
-    (propagated-inputs
-     (list python-backcall
-           python-pyzmq
-           python-prompt-toolkit-2
-           python-terminado
-           python-matplotlib
-           python-matplotlib-inline
-           python-numpy
-           python-numpydoc
-           python-jedi
-           python-jinja2
-           python-mistune
-           python-pexpect
-           python-pickleshare
-           python-simplegeneric
-           python-jsonschema
-           python-traitlets
-           python-nbformat
-           python-pygments))
-    (inputs
-     (list readline which))
-    (native-inputs
-     (list graphviz
-           pkg-config
-           python-requests ;; for tests
-           python-testpath
-           python-nose))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
@@ -9022,20 +8995,6 @@ (define-public python-ipython
                ((".*import datetime") "")
                ((".*datetime.datetime.now\\(\\)") "")
                (("%timeit") "# %timeit"))))
-         ;; Tests can only be run after the library has been installed and not
-         ;; within the source directory.
-         (delete 'check)
-         (add-after 'install 'check
-           (lambda* (#:key inputs outputs tests? #:allow-other-keys)
-             (if tests?
-                 (begin
-                   ;; Make installed package available for running the tests
-                   (add-installed-pythonpath inputs outputs)
-                   (setenv "HOME" "/tmp/") ;; required by a test
-                   ;; We only test the core because one of the other tests
-                   ;; tries to import ipykernel.
-                   (invoke "python" "IPython/testing/iptest.py"
-                           "-v" "IPython/core/tests")))))
          (add-before 'check 'fix-tests
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "./IPython/utils/_process_posix.py"
@@ -9050,7 +9009,43 @@ (define-public python-ipython
              (delete-file "IPython/core/tests/test_interactiveshell.py")
              ;; AttributeError: module 'matplotlib_inline' has no
              ;; attribute 'backend_inline'
-             (delete-file "IPython/core/tests/test_pylabtools.py"))))))
+             (delete-file "IPython/core/tests/test_pylabtools.py")))
+         (replace 'check
+           (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+             (when tests?
+               ;; Make installed package available for running the tests
+               (add-installed-pythonpath inputs outputs)
+               (setenv "HOME" "/tmp/") ;; required by a test
+               ;; We only test the core because one of the other tests
+               ;; tries to import ipykernel.
+               (invoke "python" "IPython/testing/iptest.py"
+                       "-v" "IPython/core/tests")))))))
+    (inputs (list readline which))
+    (propagated-inputs
+     (list python-backcall
+           python-jedi
+           python-jinja2
+           python-jsonschema
+           python-matplotlib
+           python-matplotlib-inline
+           python-mistune
+           python-nbformat
+           python-numpy
+           python-numpydoc
+           python-pexpect
+           python-pickleshare
+           python-prompt-toolkit-2
+           python-pygments
+           python-pyzmq
+           python-simplegeneric
+           python-terminado
+           python-traitlets))
+    (native-inputs
+     (list graphviz
+           pkg-config
+           python-requests              ;for tests
+           python-testpath
+           python-nose))
     (home-page "https://ipython.org")
     (synopsis "IPython is a tool for interactive computing in Python")
     (description
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 002/232] gnu: python-astroid: Propagate python-typing-extensions.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 003/232] gnu: Add python-pure-eval Maxim Cournoyer
                     ` (98 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-astroid)
[native-inputs]: Move python-typing-extensions to...
[propagated-inputs]: ... here.
[synopsis]: Shorten.
[description]: Normalize indentation.
---
 gnu/packages/python-xyz.scm | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index cde86ba007..464171bee5 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19043,21 +19043,19 @@ (define-public python-astroid
         (base32 "19iiys4233cicpm48fd7lrkm31kk47qiv44wvk952rqbcn4rd2dh"))))
     (build-system python-build-system)
     (propagated-inputs
-     (list python-lazy-object-proxy python-wrapt))
+     (list python-lazy-object-proxy python-typing-extensions python-wrapt))
     (native-inputs
-     (list python-pytest python-pytest-runner python-typing-extensions))
+     (list python-pytest python-pytest-runner))
     (home-page "https://github.com/PyCQA/astroid")
-    (synopsis "Common base representation of python source code for pylint and
-     other projects")
+    (synopsis "Python source code base representation")
     (description "@code{python-astroid} provides a common base representation
-     of python source code for projects such as pychecker, pyreverse, pylint, etc.
-
-     It provides a compatible representation which comes from the _ast module.  It
-     rebuilds the tree generated by the builtin _ast module by recursively walking
-     down the AST and building an extended ast.  The new node classes have
-     additional methods and attributes for different usages.  They include some
-     support for static inference and local name scopes.  Furthermore, astroid
-     builds partial trees by inspecting living objects.")
+of Python source code for projects such as pychecker, pyreverse, pylint, etc.
+It provides a compatible representation which comes from the _ast module.  It
+rebuilds the tree generated by the builtin _ast module by recursively walking
+down the AST and building an extended ast.  The new node classes have
+additional methods and attributes for different usages.  They include some
+support for static inference and local name scopes.  Furthermore, astroid
+builds partial trees by inspecting living objects.")
     (license license:lgpl2.1+)))
 
 (define-public python-isbnlib
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 003/232] gnu: Add python-pure-eval.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 002/232] gnu: python-astroid: Propagate python-typing-extensions Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 004/232] gnu: Add python-asttokens Maxim Cournoyer
                     ` (97 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-pure-eval): New variable.
---
 gnu/packages/python-xyz.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 464171bee5..82340c0155 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8975,6 +8975,24 @@ (define-public python-backcall
 callback signature using a prototype function.")
     (license license:bsd-3)))
 
+(define-public python-pure-eval
+  (package
+    (name "python-pure-eval")
+    (version "0.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pure_eval" version))
+       (sha256
+        (base32 "1hwsm85cwqwh6d6x4vzcimla2865s6v19ms3ym81ganzyq534i9b"))))
+    (build-system python-build-system)
+    (native-inputs (list python-pytest python-setuptools-scm))
+    (home-page "https://github.com/alexmojaki/pure_eval")
+    (synopsis "Python library to evaluate abstract syntax tree nodes")
+    (description "The @code{pure_eval} Python library can safely evaluate
+abstract syntax tree (AST) nodes without side effects.")
+    (license license:expat)))
+
 (define-public python-ipython
   (package
     (name "python-ipython")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 004/232] gnu: Add python-asttokens.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 002/232] gnu: python-astroid: Propagate python-typing-extensions Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 003/232] gnu: Add python-pure-eval Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 005/232] gnu: Add python-littleutils Maxim Cournoyer
                     ` (96 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-asttokens): New variable.
---
 gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 82340c0155..d3570f45df 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8993,6 +8993,28 @@ (define-public python-pure-eval
 abstract syntax tree (AST) nodes without side effects.")
     (license license:expat)))
 
+(define-public python-asttokens
+  (package
+    (name "python-asttokens")
+    (version "2.0.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "asttokens" version))
+       (sha256
+        (base32 "1mglbkikxvnhrk3inbx0v1qzxwd38qjr6l35sn098yicy0ac2m4s"))))
+    (build-system python-build-system)
+    (propagated-inputs (list python-six))
+    (native-inputs (list python-astroid python-pytest python-setuptools-scm))
+    (home-page "https://github.com/gristlabs/asttokens")
+    (synopsis "Python library to annotate abstract syntax trees")
+    (description "The @code{asttokens} module annotates Python abstract syntax
+trees (ASTs) with the positions of tokens and text in the source code that
+generated them.  It makes it possible for tools that work with logical AST
+nodes to find the particular text that resulted in those nodes, for example
+for automated refactoring or highlighting.")
+    (license license:asl2.0)))
+
 (define-public python-ipython
   (package
     (name "python-ipython")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 005/232] gnu: Add python-littleutils.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (2 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 004/232] gnu: Add python-asttokens Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 006/232] gnu: Add python-stack-data Maxim Cournoyer
                     ` (95 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-littleutils): New variable.
---
 gnu/packages/python-xyz.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d3570f45df..eca5dc5898 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -9015,6 +9015,23 @@ (define-public python-asttokens
 for automated refactoring or highlighting.")
     (license license:asl2.0)))
 
+(define-public python-littleutils
+  (package
+    (name "python-littleutils")
+    (version "0.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "littleutils" version))
+       (sha256
+        (base32 "0vwijrylppmk0nbddqvn527r9cg3zw8d6zk6r58hslry42jf7jp6"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/alexmojaki/littleutils")
+    (synopsis "Python utility function collection")
+    (description "@code{littleutils} is a small collection of Python utility
+functions, useful in the context of writing unit tests among other uses.")
+    (license license:expat)))
+
 (define-public python-ipython
   (package
     (name "python-ipython")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 006/232] gnu: Add python-stack-data.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (3 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 005/232] gnu: Add python-littleutils Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 007/232] gnu: python-traitlets: Update to 5.1.1 Maxim Cournoyer
                     ` (94 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-stack-data): 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 eca5dc5898..6415c554ae 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -9032,6 +9032,32 @@ (define-public python-littleutils
 functions, useful in the context of writing unit tests among other uses.")
     (license license:expat)))
 
+(define-public python-stack-data
+  (package
+    (name "python-stack-data")
+    (version "0.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "stack_data" version))
+       (sha256
+        (base32 "04lfcj5qrn4qikjw89qbdzqwm0xm4bgm4m8rll1rafk3pm0jssa5"))))
+    (build-system python-build-system)
+    (propagated-inputs (list python-asttokens python-executing python-pure-eval))
+    (native-inputs
+     (list python-cython
+           python-littleutils
+           python-pygments
+           python-pytest
+           python-setuptools-scm
+           python-typeguard))
+    (home-page "https://github.com/alexmojaki/stack_data")
+    (synopsis "Python stack frame and traceback manipulation library")
+    (description "The @code{stack_data} Python library extracts data from
+stack frames and tracebacks.  Is can be used to display more useful tracebacks
+than the default.")
+    (license license:expat)))
+
 (define-public python-ipython
   (package
     (name "python-ipython")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 007/232] gnu: python-traitlets: Update to 5.1.1.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (4 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 006/232] gnu: Add python-stack-data Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 008/232] gnu: python-jinja2: Update to 3.1.1 Maxim Cournoyer
                     ` (93 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-traitlets): Update to 5.1.1.
[phases]{check}: Honor TESTS?.
[propagated-inputs]: Delete field.
---
 gnu/packages/python-xyz.scm | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6415c554ae..df3140fb1f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8722,21 +8722,21 @@ (define-public python-ipython-sql
 (define-public python-traitlets
   (package
     (name "python-traitlets")
-    (version "4.3.3")
+    (version "5.1.1")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "traitlets" version))
        (sha256
         (base32
-         "1xsrwgivpkxlbr4dfndfsi098s29yqgswgjc1qqn69yxklvfw8yh"))))
+         "1ivhxglsrnhqw4g98ihddn7i5f6976gpk31fijwq473wb9n4b7q5"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         (replace 'check (lambda _ (invoke "pytest" "-vv" "traitlets"))))))
-    (propagated-inputs
-     (list python-ipython-genutils python-decorator python-six))
+         (replace 'check (lambda* (#:key tests? #:allow-other-keys)
+                           (when tests?
+                             (invoke "pytest" "-vv" "traitlets")))))))
     (native-inputs
      (list python-pytest))
     (home-page "https://ipython.org")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 008/232] gnu: python-jinja2: Update to 3.1.1.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (5 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 007/232] gnu: python-traitlets: Update to 5.1.1 Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 009/232] gnu: python-prompt-toolkit: Update to 3.0.29 Maxim Cournoyer
                     ` (92 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-jinja2): Update to 3.1.1.
---
 gnu/packages/python-xyz.scm | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index df3140fb1f..f95d0fbcfc 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -4039,14 +4039,14 @@ (define-public python2-markupsafe
 (define-public python-jinja2
   (package
     (name "python-jinja2")
-    (version "3.0.1")
+    (version "3.1.1")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "Jinja2" version))
        (sha256
         (base32
-         "197ms1wimxql650245v63wkv04n8bicj549wfhp51bx68x5lhgvh"))))
+         "1saawzys14l1p4kafs7hkihmnvqjq8fwxjmkjiqx3jq1nm5ys2v4"))))
     (build-system python-build-system)
     (arguments
      '(#:phases (modify-phases %standard-phases
@@ -4055,11 +4055,9 @@ (define-public python-jinja2
                       (if tests?
                           (invoke "pytest" "-vv")
                           (format #t "test suite not run~%")))))))
-    (native-inputs
-     (list python-pytest))
-    (propagated-inputs
-     (list python-markupsafe))
-    (home-page "http://jinja.pocoo.org/")
+    (native-inputs (list python-pytest))
+    (propagated-inputs (list python-markupsafe))
+    (home-page "https://jinja.palletsprojects.com/")
     (synopsis "Python template engine")
     (description
      "Jinja2 is a small but fast and easy to use stand-alone template engine
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 009/232] gnu: python-prompt-toolkit: Update to 3.0.29.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (6 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 008/232] gnu: python-jinja2: Update to 3.1.1 Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 010/232] gnu: python-ipython: Update to 8.2.0 [fixes CVE-2022-21699] Maxim Cournoyer
                     ` (91 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-prompt-toolkit): Update to 3.0.29.
[phases]{post-install-check}: Move to...
{check}: ... this phase override instead, and streamline.
---
 gnu/packages/python-xyz.scm | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index f95d0fbcfc..8d46d992b0 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -17212,25 +17212,24 @@ (define-public python2-backpack
 (define-public python-prompt-toolkit
   (package
     (name "python-prompt-toolkit")
-    (version "3.0.18")
+    (version "3.0.29")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "prompt_toolkit" version))
        (sha256
-        (base32 "1g1kq1aimhm23k2dmlmnznfzc83l6ly65g0h32hqz8injcdz3d71"))))
+        (base32 "19vf5cahp3imdpwhgvk55g3dvqmc6ga175r4vkq79kffx1h0yr5x"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         (delete 'check)
-         (add-after 'install 'post-install-check
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             ;; HOME is needed for the test
-             ;; "test_pathcompleter_can_expanduser".
-             (setenv "HOME" "/tmp")
-             (add-installed-pythonpath inputs outputs)
-             (invoke "py.test"))))))
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               ;; HOME is needed for the test
+               ;; "test_pathcompleter_can_expanduser".
+               (setenv "HOME" "/tmp")
+               (invoke "pytest" "-vv")))))))
     (propagated-inputs
      (list python-wcwidth))
     (native-inputs
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 010/232] gnu: python-ipython: Update to 8.2.0 [fixes CVE-2022-21699].
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (7 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 009/232] gnu: python-prompt-toolkit: Update to 3.0.29 Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 011/232] gnu: python-nbformat: Update to 5.3.0 Maxim Cournoyer
                     ` (90 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer, Leo Famulari

* gnu/packages/python-xyz.scm (python-ipython): Update to 8.2.0.
[phases]{fix-tests}: Delete phase.
{check}: Remove extraneous add-installed-pythonpath call.  Invoke Pytest
directly.

Reported-by: Leo Famulari <leo@famulari.name>
---
 gnu/packages/python-xyz.scm | 45 ++++++++++++-------------------------
 1 file changed, 14 insertions(+), 31 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 8d46d992b0..44011944d9 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -9059,13 +9059,13 @@ (define-public python-stack-data
 (define-public python-ipython
   (package
     (name "python-ipython")
-    (version "7.27.0")
+    (version "8.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "ipython" version ".tar.gz"))
        (sha256
-        (base32 "04xgymypnbfgf2q0d5b0hanjbjsp53f055sh1p8xlq52vyzmxdaq"))))
+        (base32 "1hcxa713wh3axa57412iy02rj0494ljvv6gpnls4lndc5h9yprbh"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -9076,34 +9076,15 @@ (define-public python-ipython
                ((".*import datetime") "")
                ((".*datetime.datetime.now\\(\\)") "")
                (("%timeit") "# %timeit"))))
-         (add-before 'check 'fix-tests
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* "./IPython/utils/_process_posix.py"
-               (("/usr/bin/env', 'which") (which "which")))
-             (substitute* "./IPython/core/tests/test_inputtransformer.py"
-               (("#!/usr/bin/env python")
-                (string-append "#!" (which "python"))))
-             ;; This test introduces a circular dependency on ipykernel
-             ;; (which depends on ipython).
-             (delete-file "IPython/core/tests/test_display.py")
-             ;; AttributeError: module 'IPython.core' has no attribute 'formatters'
-             (delete-file "IPython/core/tests/test_interactiveshell.py")
-             ;; AttributeError: module 'matplotlib_inline' has no
-             ;; attribute 'backend_inline'
-             (delete-file "IPython/core/tests/test_pylabtools.py")))
          (replace 'check
            (lambda* (#:key inputs outputs tests? #:allow-other-keys)
              (when tests?
-               ;; Make installed package available for running the tests
-               (add-installed-pythonpath inputs outputs)
-               (setenv "HOME" "/tmp/") ;; required by a test
-               ;; We only test the core because one of the other tests
-               ;; tries to import ipykernel.
-               (invoke "python" "IPython/testing/iptest.py"
-                       "-v" "IPython/core/tests")))))))
+               (setenv "HOME" "/tmp/")  ;required by some tests
+               (invoke "python" "-m" "pytest" "-vv")))))))
     (inputs (list readline which))
     (propagated-inputs
      (list python-backcall
+           python-decorator
            python-jedi
            python-jinja2
            python-jsonschema
@@ -9115,18 +9096,20 @@ (define-public python-ipython
            python-numpydoc
            python-pexpect
            python-pickleshare
-           python-prompt-toolkit-2
+           python-prompt-toolkit
            python-pygments
            python-pyzmq
            python-simplegeneric
+           python-stack-data
            python-terminado
            python-traitlets))
     (native-inputs
      (list graphviz
            pkg-config
-           python-requests              ;for tests
-           python-testpath
-           python-nose))
+           ;; For tests.
+           python-pytest
+           python-requests
+           python-testpath))
     (home-page "https://ipython.org")
     (synopsis "IPython is a tool for interactive computing in Python")
     (description
@@ -9173,14 +9156,14 @@ (define-public python-ipython-documentation
                (mkdir-p info)
                ;; (copy-file "docs/build/texinfo/ipython.info"
                ;;            (string-append info "/ipython.info"))
-               (copy-file "COPYING.rst" (string-append doc "/COPYING.rst")))
-             #t)))))
+               (copy-file "COPYING.rst" (string-append doc "/COPYING.rst"))))))))
     (inputs
      (list python-ipython python-ipykernel))
     (native-inputs
      `(("python-sphinx" ,python-sphinx)
        ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)
-       ;; FIXME: It's possible that a smaller union would work just as well.
+       ;; FIXME: It's possible that a smaller updmap.cfg would work just as
+       ;; well.
        ("texlive" ,(texlive-updmap.cfg (list texlive-amsfonts
                                         texlive-capt-of
                                         texlive-fonts-ec
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 011/232] gnu: python-nbformat: Update to 5.3.0.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (8 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 010/232] gnu: python-ipython: Update to 8.2.0 [fixes CVE-2022-21699] Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 012/232] gnu: Add texlive-paralist Maxim Cournoyer
                     ` (89 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-nbformat): Update to 5.3.0.
[source]: Adjust git URL.
[native-inputs]: Move python-fastjsonschema to...
[propagated-inputs]: ... here.  Remove python-ipython-genutils.
---
 gnu/packages/python-xyz.scm | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 44011944d9..a303e31875 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -12800,16 +12800,16 @@ (define-public python-fastjsonschema
 (define-public python-nbformat
   (package
     (name "python-nbformat")
-    (version "5.1.3")
+    (version "5.3.0")
     ;; The PyPi release tarball lacks some test cases and test data.
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/jupyter/nbformat.git")
+                    (url "https://github.com/jupyter/nbformat")
                     (commit version)))
               (sha256
                (base32
-                "033v16cfmxzh3jn5phnil4p3silr49iwh9wiigzhv0crc6sanvwz"))
+                "114c5c6cvpxhxj8zrw74351gcfzyzjh1jq3py4xf8wk9rahfay9z"))
               (file-name (git-file-name name version))))
     (build-system python-build-system)
     (arguments
@@ -12820,13 +12820,10 @@ (define-public python-nbformat
              (when tests?
                (invoke "pytest" "-vv")))))))
     (propagated-inputs
-     (list python-ipython-genutils python-jsonschema python-jupyter-core
+     (list python-fastjsonschema python-jsonschema python-jupyter-core
            python-traitlets))
     (native-inputs
      (list python-pytest
-           python-fastjsonschema ; This is only active
-           ; when setting NBFORMAT_VALIDATOR="fastjsonschema", so include it for
-           ; testing only.
            python-testpath))
     (home-page "https://jupyter.org")
     (synopsis "Jupyter Notebook format")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 012/232] gnu: Add texlive-paralist.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (9 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 011/232] gnu: python-nbformat: Update to 5.3.0 Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 013/232] gnu: Add texlive-stix2-otf Maxim Cournoyer
                     ` (88 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/tex.scm (texlive-paralist): New variable.
---
 gnu/packages/tex.scm | 47 +++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 46 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 34e9aa1e06..8c31d131b6 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -14,7 +14,7 @@
 ;;; Copyright © 2018, 2020 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 ;;; Copyright © 2020, 2021 Paul Garlick <pgarlick@tourbillion-technology.com>
-;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2021 Leo Le Bouter <lle-bout@zaclys.net>
 ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
 ;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
@@ -5417,6 +5417,51 @@ (define-public texlive-latex-mdwtools
 array environments; verbatim handling; and syntax diagrams.")
     (license license:gpl3+)))
 
+(define-public texlive-paralist
+  (package
+    (inherit (simple-texlive-package
+              "texlive-paralist"
+              (list "doc/latex/paralist/README"
+                    "source/latex/paralist/paralist.dtx"
+                    "source/latex/paralist/paralist.ins")
+              (base32 "1lz8yds2i64wkb89a9amydwkzsdbc09s1kbgn7vgh2qsxqrrgwam")))
+    (outputs '("out" "doc"))
+    (arguments
+     (list
+      #:tex-directory "latex/paralist"
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'build 'chdir
+            (lambda _
+              (setenv "ROOT_DIR" (getcwd))
+              (chdir "source/latex/paralist")))
+          (add-after 'build 'build-doc
+            (lambda* (#:key outputs tex-directory #:allow-other-keys)
+              (copy-file "paralist.dtx" "build/paralist.dtx")
+              (chdir "build")
+              (invoke "pdflatex" "paralist.dtx")))
+          (replace 'install
+            (lambda* (#:key outputs tex-directory #:allow-other-keys)
+              (let ((doc (string-append (assoc-ref outputs "doc")
+                                        "/share/doc/" tex-directory))
+                    (out (string-append #$output "/share/texmf-dist/tex/"
+                                        tex-directory)))
+                (install-file "paralist.pdf" doc)
+                (install-file (car (find-files (getenv "ROOT_DIR") "README"))
+                              doc)
+                (install-file "paralist.sty" out)))))))
+    (native-inputs (list texlive-latex-base
+                         (texlive-updmap.cfg
+                          (list texlive-cm
+                                texlive-jknappen))))
+    (home-page "https://ctan.org/pkg/paralist")
+    (synopsis "Enumerate and itemize within paragraphs")
+    (description "The @code{paralist} package provides enumerate and itemize
+environments that can be used within paragraphs to format the items either as
+running text or as separate paragraphs with a preceding number or symbol.  It
+also provides compacted versions of enumerate and itemize.")
+    (license license:lppl1.0+)))
+
 (define-public texlive-latex-polyglossia
   (package
     (name "texlive-latex-polyglossia")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 013/232] gnu: Add texlive-stix2-otf.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (10 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 012/232] gnu: Add texlive-paralist Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 014/232] gnu: Add texlive-metalogo Maxim Cournoyer
                     ` (87 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/tex.scm (texlive-stix2-otf): New variable.
---
 gnu/packages/tex.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 8c31d131b6..c3129ebd60 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -6445,6 +6445,41 @@ (define-public texlive-latex-pdfpages
 use this package to insert PostScript files, in addition to PDF files.")
     (license license:lppl1.3+)))
 
+(define-public texlive-stix2-otf
+  (let ((base (simple-texlive-package
+               "texlive-stix2-otf"
+               (list "/doc/fonts/stix2-otf/"
+                     "/fonts/opentype/public/stix2-otf/")
+               (base32 "0i7rd1wn5jgm3gbi779gy78apz63w034ck4pn73xw6s10zgjzmgl")
+               ;; Building these fonts requires FontLab, which is nonfree.
+               #:trivial? #t)))
+    (package
+      (inherit base)
+      (arguments
+       (substitute-keyword-arguments (package-arguments base)
+         ((#:phases phases)
+          #~(modify-phases #$phases
+              (add-after 'install 'symlink-fonts-to-system-fonts-prefix
+                ;; This is so that fontconfig can locate the fonts, such as
+                ;; when using xetex or xelatex.
+                (lambda _
+                  (let ((system-fonts-prefix (string-append #$output
+                                                            "/share/fonts")))
+                    (mkdir-p system-fonts-prefix)
+                    (symlink (string-append
+                              #$output "/share/texmf-dist/fonts/opentype"
+                              "/public/stix2-otf")
+                             (string-append system-fonts-prefix
+                                            "/stix2-otf")))))))))
+      (home-page "https://www.stixfonts.org/")
+      (synopsis "OpenType Unicode text and maths fonts")
+      (description "The Scientific and Technical Information eXchange (STIX)
+fonts are intended to satisfy the demanding needs of authors, publishers,
+printers, and others working in the scientific, medical, and technical fields.
+They combine a comprehensive Unicode-based collection of mathematical symbols
+and alphabets with a set of text faces suitable for professional publishing.")
+      (license license:silofl1.1))))
+
 (define-public texlive-stmaryrd
   (let ((template (simple-texlive-package
                    "texlive-stmaryrd"
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 014/232] gnu: Add texlive-metalogo.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (11 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 013/232] gnu: Add texlive-stix2-otf Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 015/232] gnu: Add texlive-makecmds Maxim Cournoyer
                     ` (86 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/tex.scm (texlive-metalogo): New variable.
---
 gnu/packages/tex.scm | 80 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 80 insertions(+)

diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index c3129ebd60..dea153643d 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -5417,6 +5417,86 @@ (define-public texlive-latex-mdwtools
 array environments; verbatim handling; and syntax diagrams.")
     (license license:gpl3+)))
 
+(define-public texlive-metalogo
+  (package
+    (inherit (simple-texlive-package
+              "texlive-metalogo"
+              (list "doc/latex/metalogo/README"
+                    ;; These PDFs are apparently used as graphic files, not
+                    ;; built.
+                    "doc/latex/metalogo/TeXoutline.pdf"
+                    "doc/latex/metalogo/eLaToutline.pdf"
+                    "source/latex/metalogo/metalogo.dtx"
+                    "source/latex/metalogo/metalogo.ins")
+              (base32 "0v1jwp8xhzwn0a4apiyya17s4r1kpn6q9nmv38jj1wwdvgia0jpi")))
+    (outputs '("out" "doc"))
+    (arguments
+     (list
+      #:tex-directory "latex/metalogo"
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'build 'chdir
+            (lambda _
+              (setenv "ROOT_DIR" (getcwd))
+              (chdir "source/latex/metalogo")))
+          (add-after 'chdir 'patch-metalogo.dtx
+            (lambda _
+              (substitute* "metalogo.dtx"
+                ;; Prevent embedding a build time date, for reproducibility.
+                (("^% \\\\date.*") "")
+                ;; These fonts are not free.
+                (("^\\\\setmainfont.*") "")
+                (("^\\\\DeclareSymbolFont\\{SabonMaths}.*") "")
+                (("^\\\\AtBeginDocument\\{.*") "")
+                ((".*\\\\expandafter.*\\\\symSabonMaths.*") "")
+                (("^\\\\setsansfont.*MgOpen Cosmetica.*") "")
+                (("^\\\\setmonofont.*Consolas.*") "")
+                ;; The 'stix' texlive font package has been obsoleted by
+                ;; stix2.
+                (("^\\\\newfontfamily\\\\stixgeneral\\{STIXGeneral}")
+                 "\\newfontfamily\\stixgeneral{STIX Two Text}"))))
+          (add-after 'build 'build-doc
+            (lambda* (#:key outputs tex-directory #:allow-other-keys)
+              (define doc-sources (string-append (getenv "ROOT_DIR")
+                                                 "/doc/latex/metalogo"))
+              (copy-file "metalogo.dtx" "build/metalogo.dtx")
+              (mkdir "build/graphics")
+              (copy-file (string-append doc-sources "/TeXoutline.pdf")
+                         "build/graphics/TeXoutline.pdf")
+              (copy-file (string-append doc-sources "/eLaToutline.pdf")
+                         "build/graphics/eLaToutline.pdf")
+              (chdir "build")
+              (invoke "xelatex" "metalogo.dtx"))) ;generate metalogo.pdf
+          (replace 'install
+            (lambda* (#:key outputs tex-directory #:allow-other-keys)
+              (let ((doc (string-append (assoc-ref outputs "doc")
+                                        "/share/doc/" tex-directory))
+                    (out (string-append #$output "/share/texmf-dist/tex/"
+                                        tex-directory)))
+                (install-file "metalogo.pdf" doc)
+                (install-file (car (find-files (getenv "ROOT_DIR") "README"))
+                              doc)
+                (install-file "metalogo.sty" out)))))))
+    (native-inputs (list fontconfig     ;for XDG_DATA_DIRS, to locate OTF fonts
+                         texlive-booktabs
+                         texlive-cm
+                         texlive-fontspec
+                         texlive-generic-iftex
+                         texlive-latex-base
+                         texlive-latex-eukdate
+                         texlive-latex-graphics
+                         texlive-latex-multirow
+                         texlive-lm     ;for lmroman10-regular
+                         texlive-stix2-otf))
+    (propagated-inputs (list texlive-fontspec texlive-generic-iftex
+                             texlive-latex-graphics))
+    (home-page "https://ctan.org/pkg/metalogo")
+    (synopsis "Extended TeX logo macros")
+    (description "This package exposes spacing parameters for various TeX
+logos to the end user, to optimise the logos for different fonts.  It is
+written especially for XeLaTeX users.")
+    (license license:lppl1.3c+)))
+
 (define-public texlive-paralist
   (package
     (inherit (simple-texlive-package
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 015/232] gnu: Add texlive-makecmds.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (12 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 014/232] gnu: Add texlive-metalogo Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 016/232] gnu: Add texlive-csplain Maxim Cournoyer
                     ` (85 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/tex.scm (texlive-makecmds): New variable.
---
 gnu/packages/tex.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index dea153643d..40390e9970 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -5417,6 +5417,50 @@ (define-public texlive-latex-mdwtools
 array environments; verbatim handling; and syntax diagrams.")
     (license license:gpl3+)))
 
+(define-public texlive-makecmds
+  (package
+    (inherit (simple-texlive-package
+              "texlive-makecmds"
+              (list "doc/latex/makecmds/README"
+                    "source/latex/makecmds/makecmds.dtx"
+                    "source/latex/makecmds/makecmds.ins")
+              (base32 "0znx80x6ic7a25v9dw8yjibq7lx65wangcyii18kk5x5z4jljba9")))
+    (outputs '("out" "doc"))
+    (arguments
+     (list
+      #:tex-directory "latex/makecmds"
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'build 'chdir
+            (lambda _
+              (setenv "ROOT_DIR" (getcwd))
+              (chdir "source/latex/makecmds")))
+          (add-after 'build 'build-doc
+            (lambda _
+              (copy-file "makecmds.dtx" "build/makecmds.dtx")
+              (chdir "build")
+              (invoke "pdflatex" "makecmds.dtx"))) ;generate makecmds.pdf
+          (replace 'install
+            (lambda* (#:key outputs tex-directory #:allow-other-keys)
+              (let ((doc (string-append (assoc-ref outputs "doc")
+                                        "/share/doc/" tex-directory))
+                    (out (string-append #$output "/share/texmf-dist/tex/"
+                                        tex-directory)))
+                (install-file "makecmds.pdf" doc)
+                (install-file (car (find-files (getenv "ROOT_DIR") "README"))
+                              doc)
+                (install-file "makecmds.sty" out)))))))
+    (native-inputs (list (texlive-updmap.cfg
+                          (list texlive-amsfonts
+                                texlive-cm))))
+    (home-page "https://www.ctan.org/pkg/makecmds")
+    (synopsis "TeX macro to define or redefine a command")
+    (description "The package provides a @code{\\makecommand} command, which
+is like @code{\\newcommand} or @code{\\renewcommand} except it
+always (re)defines a command.  There is also @code{\\makeenvironment} and
+@code{\\provideenvironment} for environments.")
+    (license license:lppl1.3c+)))
+
 (define-public texlive-metalogo
   (package
     (inherit (simple-texlive-package
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 016/232] gnu: Add texlive-csplain.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (13 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 015/232] gnu: Add texlive-makecmds Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 017/232] gnu: Add texlive-cs Maxim Cournoyer
                     ` (84 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/tex.scm (texlive-csplain): New variable.
---
 gnu/packages/tex.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 40390e9970..f8fa65e386 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -4081,6 +4081,34 @@ (define-public texlive-babel/fixed
 
 (define-deprecated-package texlive-latex-babel texlive-babel)
 
+;;; Note: if this package is modified, its name must be changed to comply with
+;;; its license.
+(define-public texlive-csplain
+  (package
+    (inherit (simple-texlive-package
+              "texlive-csplain"
+              (list "tex/csplain/base/")
+              (base32 "0cgrwc8lgf2x2hq6bb4kqxw597card985zdd9ipn7k98mmwrxhz3")
+              #:trivial? #t))
+    (home-page "http://petr.olsak.net/csplain-e.html")
+    (synopsis "Plain TeX multilanguage support")
+    (description "CSplain is a small extension of basic Plain TeX macros from
+which the formats @code{csplain} and @code{pdfcsplain} can be generated.  It
+supports: hyphenation of words for 50+ languages, simple and powerful font
+loading system (various sizes of fonts), TeX, pdfTeX, XeTeX and LuaTeX
+engines, math fonts simply loaded with full amstex-like features, three
+internal encodings (IL2 for Czech/Slovak languages, T1 for many languages with
+latin alphabet and Unicode in new TeX engines), natural UTF-8 input in pdfTeX
+using encTeX without any active characters, Czech and Slovak special
+typesetting features.  An important part of the package is OPmac, which
+implements most of LaTeX's features (sectioning, font selection, color, hyper
+reference and URLs, bibliography, index, table of contents, tables, etc.) by
+Plain TeX macros.  The OPmac macros can generate a bibliography without any
+external program.")
+    ;; This custom permissive license includes as a redistribution condition
+    ;; that says the package must be renamed from 'csplain' if it is modified.
+    (license (license:non-copyleft "file:///tex/csplain/base/csplain.ini"))))
+
 (define-public texlive-generic-babel-english
   (package
     (name "texlive-generic-babel-english")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 017/232] gnu: Add texlive-cs.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (14 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 016/232] gnu: Add texlive-csplain Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 018/232] gnu: Add texlive-zref Maxim Cournoyer
                     ` (83 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/tex.scm (texlive-cs): New variable.
---
 gnu/packages/tex.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index f8fa65e386..82da10c41a 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -4081,6 +4081,37 @@ (define-public texlive-babel/fixed
 
 (define-deprecated-package texlive-latex-babel texlive-babel)
 
+(define-public texlive-cs
+  (package
+    (inherit (simple-texlive-package
+              "texlive-cs"
+              (list
+               "fonts/enc/dvips/cs/"
+               "fonts/map/dvips/cs/"
+               "fonts/source/public/cs/"
+               ;; TODO: Remove these pre-built files after the manual
+               ;; build below is fixed.
+               ;; The font fails to build from the Metafont sources, with
+               ;; errors such as:
+               ;; This is METAFONT, Version 2.71828182 (TeX Live 2021/GNU Guix) [...]
+               ;; (./csaccent.mf
+               ;; >> cap_curve#-dot_size#
+               ;; ! Unknown relation will be considered false.
+               ;; <to be read again>
+               "fonts/tfm/cs/cs-a35/"
+               "fonts/tfm/cs/cs-charter/"
+               "fonts/tfm/public/cs/"
+               "fonts/type1/public/cs/"
+               "fonts/vf/cs/cs-a35/")
+              (base32 "1ww5lrqja051fh0ygmfdyy5a6bhwq9k5zv857vwiqf5syvw5djps")
+              #:trivial? #t))
+    (home-page "http://petr.olsak.net/cstex/")
+    (synopsis "Czech/Slovak-tuned Computer Modern fonts")
+    (description "This package provides Czech/Slovak-tuned Computer Modern
+fonts in the Metafont format; Type 1 format versions (csfonts-t1) are also
+available.")
+    (license license:gpl2+)))           ;see fonts/source/public/cs/cscode.mf
+
 ;;; Note: if this package is modified, its name must be changed to comply with
 ;;; its license.
 (define-public texlive-csplain
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 018/232] gnu: Add texlive-zref.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (15 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 017/232] gnu: Add texlive-cs Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 019/232] gnu: Add python-pcpp Maxim Cournoyer
                     ` (82 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/tex.scm (texlive-zref): New variable.
---
 gnu/packages/tex.scm | 70 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 70 insertions(+)

diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 82da10c41a..1ebaceb322 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -6360,6 +6360,76 @@ (define-public texlive-zapfding
     ;; No license version specified.
     (license license:gpl3+)))
 
+(define-public texlive-zref
+  (package
+    (inherit (simple-texlive-package
+              "texlive-zref"
+              (list "doc/latex/zref/"
+                    "source/latex/zref/")
+              (base32 "09l2wrqx0navislkx15iazv7jy0ip8bqaw3c0hjf0jy81kqrrm01")))
+    (outputs '("out" "doc"))
+    (arguments
+     (list
+      #:build-targets #~(list "zref.dtx")
+      #:tex-directory "latex/zref"
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'chdir
+            (lambda _
+              (setenv "ROOT_DIR" (getcwd))
+              (chdir "source/latex/zref")))
+          (add-after 'install 'install-doc
+            (lambda* (#:key outputs #:allow-other-keys)
+              (define doc (string-append (assoc-ref outputs "doc")
+                                         "/share/texmf-dist/doc"))
+              (mkdir-p doc)
+              (copy-recursively (string-append (getenv "ROOT_DIR") "/doc")
+                                doc))))))
+    (propagated-inputs (list texlive-generic-atbegshi
+                             texlive-generic-gettitlestring
+                             texlive-generic-iftex
+                             texlive-latex-atveryend
+                             texlive-latex-kvoptions
+                             texlive-latex-pdftexcmds
+                             texlive-latex-xkeyval))
+    (home-page "https://github.com/ho-tex/zref")
+    (synopsis "Reference scheme for LaTeX")
+    (description "This package offers a means to remove the limitation, of
+only two properties, that is inherent in the way LaTeX's reference system
+works.  The package implements an extensible referencing system, where
+properties may be defined and used in the course of a document.  It provides
+an interface for macro programmers to access the new reference scheme and some
+modules that use it.  Modules available are:
+@table @code
+@item zref-user
+use zref for traditional labels and references;
+@item zref-abspage
+retrieve absolute page numbers (physical pages, as opposed to the logical page
+number that is normally typeset when a page number is requested;
+@item zref-lastpage
+provide a zref-label for the last page of the document;
+@item zref-nextpage
+provide the page number of the next page of the document;
+@item zref-totpages
+provide the total number of pages in the document;
+@item zref-pagelayout
+provide the page layout parameters of a each page (which may then be printed
+at the end of the document);
+@item zref-perpage
+make a counter reset for each new page;
+@item zref-titleref
+make section title or caption text available through the reference system;
+@item zref-savepos
+make positions on a page available;
+@item zref-dotfill
+controlled dot-filling
+@item zref-env
+record the latest environment's name and the line it started on;
+@item zref-xr
+provide the facilities of the xr and xr-hyper packages.
+@end table")
+    (license license:lppl1.3c+)))
+
 (define-deprecated-package texlive-fonts-adobe-zapfding texlive-zapfding)
 
 (define-public texlive-fonts-rsfs
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 019/232] gnu: Add python-pcpp.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (16 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 018/232] gnu: Add texlive-zref Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 020/232] gnu: Add opentype-sanitizer Maxim Cournoyer
                     ` (81 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/c.scm (python-pcpp): New variable.
---
 gnu/packages/c.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 3450037c74..dcdf5d5198 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -37,6 +37,7 @@ (define-module (gnu packages c)
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system python)
   #:use-module (guix build-system trivial)
   #:use-module (guix store)
   #:use-module (gnu packages)
@@ -143,6 +144,37 @@ (define-public pcc
     ;; preferred.  See http://pcc.ludd.ltu.se/licenses/ for more details.
     (license (list license:bsd-2 license:bsd-3))))
 
+(define-public python-pcpp
+  (package
+    (name "python-pcpp")
+    (version "1.30")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ned14/pcpp")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1rihvlg11nzk70kfzz4i3gi5izcy46w05ismcx04p5j1hlim0brb"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases #~(modify-phases %standard-phases
+                   (add-after 'unpack 'unbundle-ply
+                     (lambda _
+                       (rmdir "pcpp/ply")
+                       (substitute* "setup.py"
+                         (("'pcpp/ply/ply'") "")))))))
+    (native-inputs (list python-pytest))
+    (propagated-inputs (list python-ply))
+    (home-page "https://github.com/ned14/pcpp")
+    (synopsis "C99 preprocessor written in Python")
+    (description "This package provides a C99 preprocessor written in pure
+Python.")
+    (license license:bsd-3)))
+
 (define-public libbytesize
   (package
     (name "libbytesize")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 020/232] gnu: Add opentype-sanitizer.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (17 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 019/232] gnu: Add python-pcpp Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 021/232] gnu: Add python-opentype-sanitizer Maxim Cournoyer
                     ` (80 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/fontutils.scm (opentype-sanitizer): New variable.
---
 gnu/packages/fontutils.scm | 25 ++++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index c8c32fd5a9..16c2391179 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -12,7 +12,7 @@
 ;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
 ;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
-;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
 ;;; Copyright © 2022 Felipe Balbi <balbi@kernel.org>
@@ -65,6 +65,7 @@ (define-module (gnu packages fontutils)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages tex)
   #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix gexp)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix svn-download)
@@ -108,6 +109,28 @@ (define-public freetype
    (license license:freetype)           ; some files have other licenses
    (home-page "https://www.freetype.org/")))
 
+(define-public opentype-sanitizer
+  (package
+    (name "opentype-sanitizer")
+    (version "8.2.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/khaledhosny/ots"
+                                  "/releases/download/v" version
+                                  "/ots-" version ".tar.xz"))
+              (sha256
+               (base32
+                "17z8cxv48rfig5k7j3xk3bmbf7rm3kxsc3bazix96l0wws58r569"))))
+    (build-system meson-build-system)
+    (native-inputs (list googletest pkg-config))
+    (inputs (list freetype lz4 woff2 zlib))
+    (home-page "https://github.com/khaledhosny/ots")
+    (synopsis "Sanitizer for OpenType fonts")
+    (description "The OpenType Sanitizer (OTS) parses and serializes OpenType
+files (OTF, TTF) and WOFF and WOFF2 font files, validating them and sanitizing
+them as it goes.")
+    (license license:bsd-3)))
+
 (define-public ttfautohint
   (package
     (name "ttfautohint")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 021/232] gnu: Add python-opentype-sanitizer.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (18 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 020/232] gnu: Add opentype-sanitizer Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 022/232] gnu: Add python-defcon-bootstrap Maxim Cournoyer
                     ` (79 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/fontutils.scm (python-opentype-sanitizer): New variable.
---
 gnu/packages/fontutils.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 16c2391179..ec6dab37ff 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -131,6 +131,43 @@ (define-public opentype-sanitizer
 them as it goes.")
     (license license:bsd-3)))
 
+(define-public python-opentype-sanitizer
+  (package
+    (name "python-opentype-sanitizer")
+    (version "8.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "opentype-sanitizer" version))
+       (sha256
+        (base32 "1wjy6chbnj9ic5yjxal6spln5jfzr8cigqs6ab0gj7q60dndrl5k"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'unbundle-opentype-sanitizer
+            (lambda* (#:key inputs #:allow-other-keys)
+              (delete-file-recursively "src/c")
+              (substitute* "setup.py"
+                (("^cmdclass\\[\"download\"].*") "")
+                (("^cmdclass\\[\"build_ext\"].*") "")
+                (("^cmdclass\\[\"egg_info\"].*") ""))
+              (substitute* "src/python/ots/__init__.py"
+                (("^OTS_SANITIZE = .*")
+                 (format #f "OTS_SANITIZE = ~s~%"
+                         (search-input-file inputs "bin/ots-sanitize"))))))
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (invoke "pytest" "-vv")))))))
+    (native-inputs (list python-pytest python-setuptools-scm))
+    (inputs (list opentype-sanitizer))
+    (home-page "https://github.com/googlefonts/ots-python")
+    (synopsis "Python wrapper for OpenType Sanitizer")
+    (description "Python wrapper for the OpenType Sanitizer library.")
+    (license license:bsd-3)))
+
 (define-public ttfautohint
   (package
     (name "ttfautohint")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 022/232] gnu: Add python-defcon-bootstrap.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (19 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 021/232] gnu: Add python-opentype-sanitizer Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 023/232] gnu: Add python-fontmath Maxim Cournoyer
                     ` (78 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/fontutils.scm (python-defcon-bootstrap): New variable.
---
 gnu/packages/fontutils.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index ec6dab37ff..61b39e510d 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -821,6 +821,36 @@ (define-public python2-ufolib
 files.  UFO is a file format that stores fonts source files.")
     (license license:bsd-3)))
 
+;;; A variant used to break a cycle between python-fontpens and
+;;; python-fontparts.
+(define-public python-defcon-bootstrap
+  (package
+    (name "python-defcon-bootstrap")
+    (version "0.10.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "defcon" version ".zip"))
+       (sha256
+        (base32 "0g0bjwzdj6sskyh8snbxsxza3czdmvb807qv38mizx631cm8c2d0"))))
+    (build-system python-build-system)
+    (propagated-inputs (list python-fontpens-bootstrap python-fonttools-full))
+    (native-inputs
+     (list python-pytest
+           python-pytest-runner
+           python-setuptools-scm
+           unzip))
+    (home-page "https://github.com/robotools/defcon")
+    (synopsis "Flexible objects for representing @acronym{UFO, unified font object} data")
+    (description "Defcon is a set of @acronym{UFO, unified font object} based
+objects optimized for use in font editing applications.  The objects are built
+to be lightweight, fast and flexible.  The objects are very bare-bones and
+they are not meant to be end-all, be-all objects.  Rather, they are meant to
+provide base functionality so that you can focus on your application’s
+behavior, not object observing or maintaining cached data.  Defcon implements
+UFO3 as described by the UFO font format.")
+    (license license:expat)))
+
 (define-public python2-defcon
   (package
     (name "python2-defcon")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 023/232] gnu: Add python-fontmath.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (20 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 022/232] gnu: Add python-defcon-bootstrap Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 024/232] gnu: Add python-unicodedata2 Maxim Cournoyer
                     ` (77 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/fontutils.scm (python-fontmath): New variable.
---
 gnu/packages/fontutils.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 61b39e510d..8870b87abb 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -57,6 +57,7 @@ (define-module (gnu packages fontutils)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-build)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages webkit)
@@ -131,6 +132,30 @@ (define-public opentype-sanitizer
 them as it goes.")
     (license license:bsd-3)))
 
+(define-public python-fontmath
+  (package
+    (name "python-fontmath")
+    (version "0.9.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "fontMath" version ".zip"))
+       (sha256
+        (base32 "001756zxn2386dm4svgqjgw5026hvyacxl09b2qlk7s06phpcphw"))))
+    (build-system python-build-system)
+    (propagated-inputs (list python-fonttools))
+    (native-inputs
+     (list python-setuptools-scm
+           python-pytest
+           python-pytest-runner
+           python-wheel
+           unzip))
+    (home-page "https://github.com/robotools/fontMath")
+    (synopsis "Fast font mathematical operations library")
+    (description "This package provides a set of objects for performing fast
+font, glyph, etc. mathematical operations on font data.")
+    (license license:expat)))
+
 (define-public python-opentype-sanitizer
   (package
     (name "python-opentype-sanitizer")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 024/232] gnu: Add python-unicodedata2.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (21 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 023/232] gnu: Add python-fontmath Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 025/232] gnu: python-fonttools-with-test: Rename to python-fonttools-full Maxim Cournoyer
                     ` (76 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-unicodedata2): New variable.
---
 gnu/packages/python-xyz.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a303e31875..c6d208f133 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -14606,6 +14606,23 @@ (define-public python-uncertainties
 expression.")
     (license license:bsd-3)))
 
+(define-public python-unicodedata2
+  (package
+    (name "python-unicodedata2")
+    (version "14.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "unicodedata2" version))
+       (sha256
+        (base32 "110nnvh02ssp92xbmswy39aa186jrmb7m41x4220wigl8c0dzxs1"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/fonttools/unicodedata2")
+    (synopsis "Python unicodedata backport")
+    (description "This package corresponds to the latest @code{unicodedata}
+standard Python module.")
+    (license license:asl2.0)))
+
 (define-public python-asteval
   (package
     (name "python-asteval")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 025/232] gnu: python-fonttools-with-test: Rename to python-fonttools-full.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (22 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 024/232] gnu: Add python-unicodedata2 Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 026/232] gnu: Add python-mutatormath Maxim Cournoyer
                     ` (75 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-fonttools-with-test): Rename to...
(python-fonttools-full): ... this.
[native-inputs]: Move python-brotli, python-fs, python-scipy
and python-zopfli to...
[propagated-inputs]: ... here.  Add python-lxml, python-lz4 and
python-unicodedata2.
---
 gnu/packages/python-xyz.scm | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c6d208f133..054567319a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -11337,7 +11337,9 @@ (define-public python-fonttools
      (license license:expat)
      (properties `((python2-variant . ,(delay python2-fonttools)))))))
 
-(define-public python-fonttools-with-tests
+;;; Rename 'python-fonttools' in next cycle, renaming the current
+;;; 'python-fonttools' to 'python-fonttools-minimal'.
+(define-public python-fonttools-full
   (package/inherit python-fonttools
     (arguments
      (substitute-keyword-arguments (package-arguments python-fonttools)
@@ -11362,11 +11364,15 @@ (define-public python-fonttools-with-tests
                                   " and not "))))))))))
     (native-inputs
      (modify-inputs (package-native-inputs python-fonttools)
-       (append python-pytest            ;FIXME: indentation is broken
-           python-brotli
-         python-fs
-         python-scipy
-         python-zopfli)))
+       (append python-pytest)))
+    (propagated-inputs
+     (list python-brotli
+           python-fs
+           python-lxml
+           python-lz4
+           python-scipy
+           python-unicodedata2
+           python-zopfli))
     (properties (alist-delete 'hidden? (package-properties python-fonttools)))))
 
 ;; Fonttools 4.x dropped support for Python 2, so stick with 3.x here.
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 026/232] gnu: Add python-mutatormath.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (23 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 025/232] gnu: python-fonttools-with-test: Rename to python-fonttools-full Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 027/232] gnu: Add python-fontpens-bootstrap Maxim Cournoyer
                     ` (74 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/fontutils.scm (python-mutatormath): New variable.
---
 gnu/packages/fontutils.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 8870b87abb..4eec234126 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -193,6 +193,27 @@ (define-public python-opentype-sanitizer
     (description "Python wrapper for the OpenType Sanitizer library.")
     (license license:bsd-3)))
 
+(define-public python-mutatormath
+  (package
+    (name "python-mutatormath")
+    (version "3.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "MutatorMath" version ".zip"))
+       (sha256
+        (base32 "0r1qq45np49x14zz1zwkaayqrn7m8dn2jlipjldg2ihnmpzw29w1"))))
+    (build-system python-build-system)
+    (propagated-inputs (list python-defcon python-fontmath python-fonttools))
+    (native-inputs (list unzip))
+    (home-page "https://github.com/LettError/MutatorMath")
+    (synopsis "Piecewise linear interpolation Python library")
+    (description "MutatorMath is a Python library for the calculation of
+piecewise linear interpolations in n-dimensions with any number of masters. It
+was developed for interpolating data related to fonts, but if can handle any
+arithmetic object.")
+    (license license:bsd-3)))
+
 (define-public ttfautohint
   (package
     (name "ttfautohint")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 027/232] gnu: Add python-fontpens-bootstrap.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (24 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 026/232] gnu: Add python-mutatormath Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 028/232] gnu: Add python-booleanoperations Maxim Cournoyer
                     ` (73 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/fontutils.scm (python-fontpens-bootstrap): New variable.
---
 gnu/packages/fontutils.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 4eec234126..92b8c0a726 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -156,6 +156,27 @@ (define-public python-fontmath
 font, glyph, etc. mathematical operations on font data.")
     (license license:expat)))
 
+;;; An untested variant used to break a cycle with python-booleanoperations.
+(define-public python-fontpens-bootstrap
+  (package
+    (name "python-fontpens-bootstrap")
+    (version "0.2.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "fontPens" version ".zip"))
+       (sha256
+        (base32 "1za15dzsnymq6d9x7xdfqwgw4a3003wj75fn2crhyidkfd2s3nd6"))))
+    (build-system python-build-system)
+    (arguments (list #:tests? #f))
+    (propagated-inputs (list python-fonttools))
+    (native-inputs (list unzip))
+    (home-page "https://github.com/robofab-developers/fontPens")
+    (synopsis "Python classes implementing the pen protocol")
+    (description "This package provides a collection of Python classes
+implementing the pen protocol for manipulating glyphs.")
+    (license license:bsd-3)))
+
 (define-public python-opentype-sanitizer
   (package
     (name "python-opentype-sanitizer")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 028/232] gnu: Add python-booleanoperations.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (25 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 027/232] gnu: Add python-fontpens-bootstrap Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 029/232] gnu: Add python-fontparts-bootstrap Maxim Cournoyer
                     ` (72 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/graphics.scm (python-booleanoperations): New variable.
---
 gnu/packages/graphics.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 2cc75d57cf..50f562abc1 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -98,6 +98,7 @@ (define-module (gnu packages graphics)
   #:use-module (gnu packages pth)
   #:use-module (gnu packages pulseaudio)  ; libsndfile, libsamplerate
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-build)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages readline)
@@ -806,6 +807,31 @@ (define-public lib2geom
     ;; https://gitlab.com/inkscape/inkscape/issues/784).
     (license license:gpl3+)))
 
+(define-public python-booleanoperations
+  (package
+    (name "python-booleanoperations")
+    (version "0.9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "booleanOperations" version ".zip"))
+       (sha256
+        (base32 "1f41lb19m8azchl1aqz6j5ycbspb8jsf1cnn42hlydxd68f85ylc"))))
+    (build-system python-build-system)
+    (propagated-inputs (list python-fonttools python-pyclipper))
+    (native-inputs
+     (list python-defcon-bootstrap
+           python-fontpens-bootstrap
+           python-pytest
+           python-wheel
+           unzip))
+    (home-page "https://github.com/typemytype/booleanOperations")
+    (synopsis "Boolean operations on paths")
+    (description "Boolean operations on paths which uses a super fast
+@url{http://www.angusj.com/delphi/clipper.php, polygon clipper library by
+Angus Johnson}.")
+    (license license:expat)))
+
 (define-public pstoedit
   (package
     (name "pstoedit")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 029/232] gnu: Add python-fontparts-bootstrap.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (26 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 028/232] gnu: Add python-booleanoperations Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 030/232] gnu: Add python-fontpens Maxim Cournoyer
                     ` (71 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/fontutils.scm (python-fontparts-bootstrap): New variable.
---
 gnu/packages/fontutils.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 92b8c0a726..26c35e26c9 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -50,6 +50,7 @@ (define-module (gnu packages fontutils)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gperf)
+  #:use-module (gnu packages graphics)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
   #:use-module (gnu packages linux)
@@ -177,6 +178,32 @@ (define-public python-fontpens-bootstrap
 implementing the pen protocol for manipulating glyphs.")
     (license license:bsd-3)))
 
+;;; A variant used to break a cycle with python-fontpens.
+(define-public python-fontparts-bootstrap
+  (hidden-package
+   (package
+     (name "python-fontparts-bootstrap")
+     (version "0.10.4")
+     (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "fontParts" version ".zip"))
+        (sha256
+         (base32 "1ic453q86s5hsw8mxnclk1vr4qp69fd67gywhv23zqwz9a7kb7lh"))))
+     (build-system python-build-system)
+     (propagated-inputs
+      (list python-booleanoperations
+            python-defcon-bootstrap
+            python-fontmath
+            python-fonttools))
+     (native-inputs (list unzip))
+     (home-page "https://github.com/robotools/fontParts")
+     (synopsis "Library for interacting with font parts")
+     (description "FontParts is an @acronym{API, Application Programming
+Interface} for interacting with the parts of fonts during the font development
+process.  FontParts is the successor of RoboFab.")
+     (license license:expat))))
+
 (define-public python-opentype-sanitizer
   (package
     (name "python-opentype-sanitizer")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 030/232] gnu: Add python-fontpens.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (27 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 029/232] gnu: Add python-fontparts-bootstrap Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 031/232] gnu: Add python-defcon Maxim Cournoyer
                     ` (70 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/fontutils.scm (python-fontpens): New variable.
---
 gnu/packages/fontutils.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 26c35e26c9..e8839fdca7 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -178,6 +178,21 @@ (define-public python-fontpens-bootstrap
 implementing the pen protocol for manipulating glyphs.")
     (license license:bsd-3)))
 
+(define-public python-fontpens
+  (hidden-package
+   (package/inherit python-fontpens-bootstrap
+     (name "python-fontpens")
+     (arguments
+      (substitute-keyword-arguments (package-arguments python-fontpens-bootstrap)
+        ((#:tests? _ #f)
+         #t)))
+     (native-inputs
+      (modify-inputs (package-native-inputs python-fontpens-bootstrap)
+        (append python-fontparts-bootstrap
+                python-fontpens-bootstrap
+                python-pytest
+                python-pytest-runner))))))
+
 ;;; A variant used to break a cycle with python-fontpens.
 (define-public python-fontparts-bootstrap
   (hidden-package
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 031/232] gnu: Add python-defcon.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (28 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 030/232] gnu: Add python-fontpens Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 032/232] gnu: Add python-fontparts Maxim Cournoyer
                     ` (69 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/fontutils.scm (python-defcon): New variable.
(python2-defcon): Adjust to inherit from it.
---
 gnu/packages/fontutils.scm | 36 ++++++++++++++++--------------------
 1 file changed, 16 insertions(+), 20 deletions(-)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index e8839fdca7..503ff7afa3 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -960,35 +960,31 @@ (define-public python-defcon-bootstrap
 UFO3 as described by the UFO font format.")
     (license license:expat)))
 
+(define-public python-defcon
+  (hidden-package
+   (package/inherit python-defcon-bootstrap
+     (name "python-defcon")
+     (propagated-inputs
+      (modify-inputs (package-propagated-inputs python-defcon-bootstrap)
+        (replace "python-fontpens-bootstrap" python-fontpens))))))
+
 (define-public python2-defcon
   (package
+    (inherit python-defcon)
     (name "python2-defcon")
     (version "0.3.5")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (pypi-uri "defcon" version ".zip"))
-       (sha256
-        (base32
-         "03jlm2gy9lvbwj68kfdm43yaddwd634jwkdg4wf0jxx2s8mwbg22"))))
-    (build-system python-build-system)
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "defcon" version ".zip"))
+              (sha256
+               (base32
+                "03jlm2gy9lvbwj68kfdm43yaddwd634jwkdg4wf0jxx2s8mwbg22"))))
     (arguments
      `(#:python ,python-2))
     (native-inputs
      (list unzip python2-pytest python2-pytest-runner))
     (propagated-inputs
-     (list python2-fonttools python2-ufolib))
-    (home-page "https://pypi.org/project/defcon/")
-    (synopsis "Flexible objects for representing @acronym{UFO, unified font object} data")
-    (description
-     "Defcon is a set of @acronym{UFO, unified font object} based objects
-optimized for use in font editing applications.  The objects are built to
-be lightweight, fast and flexible.  The objects are very bare-bones and
-they are not meant to be end-all, be-all objects.  Rather, they are meant
-to provide base functionality so that you can focus on your application’s
-behavior, not object observing or maintaining cached data.  Defcon
-implements UFO3 as described by the UFO font format.")
-    (license license:expat)))
+     (list python2-fonttools python2-ufolib))))
 
 (define-public nototools
   (package
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 032/232] gnu: Add python-fontparts.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (29 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 031/232] gnu: Add python-defcon Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:55   ` [bug#55104] [PATCH 033/232] gnu: Add python-cu2qu Maxim Cournoyer
                     ` (68 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/fontutils.scm (python-fontparts): New variable.
---
 gnu/packages/fontutils.scm | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 503ff7afa3..59b4f8075b 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -219,6 +219,16 @@ (define-public python-fontparts-bootstrap
 process.  FontParts is the successor of RoboFab.")
      (license license:expat))))
 
+(define-public python-fontparts
+  (package/inherit python-fontparts-bootstrap
+    (name "python-fontparts")
+    (propagated-inputs
+     (modify-inputs (package-propagated-inputs python-fontparts-bootstrap)
+       (replace "python-defcon-bootstrap" python-defcon)))
+    (properties
+     (alist-delete 'hidden?
+                   (package-properties python-fontparts-bootstrap)))))
+
 (define-public python-opentype-sanitizer
   (package
     (name "python-opentype-sanitizer")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 033/232] gnu: Add python-cu2qu.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (30 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 032/232] gnu: Add python-fontparts Maxim Cournoyer
@ 2022-04-25  3:55   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 034/232] gnu: Add python-ufoprocessor Maxim Cournoyer
                     ` (67 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:55 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/fontutils.scm (python-cu2qu): New variable.
---
 gnu/packages/fontutils.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 59b4f8075b..20a03463e6 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -133,6 +133,33 @@ (define-public opentype-sanitizer
 them as it goes.")
     (license license:bsd-3)))
 
+(define-public python-cu2qu
+  (package
+    (name "python-cu2qu")
+    (version "1.6.7.post1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "cu2qu" version ".zip"))
+       (sha256
+        (base32 "1x762r7bf39g6aivfvrmq00h6f07abvs9x1xm0fz8l81vq8jz64c"))))
+    (build-system python-build-system)
+    (propagated-inputs (list python-fonttools-full))
+    (native-inputs
+     (list python-cython
+           python-defcon
+           python-pytest
+           python-pytest-runner
+           python-setuptools-scm
+           unzip))
+    (home-page "https://github.com/googlefonts/cu2qu")
+    (synopsis "Cubic-to-quadratic bezier curve conversion")
+    (description "This library provides functions which take in @acronym{UFO,
+Unified Font Object} objects (such as Defcon Fonts or Robofab RFonts) and
+converts any cubic curves to quadratic.  The most useful function is probably
+@code{fonts_to_quadratic}.")
+    (license license:asl2.0)))
+
 (define-public python-fontmath
   (package
     (name "python-fontmath")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 034/232] gnu: Add python-ufoprocessor.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (31 preceding siblings ...)
  2022-04-25  3:55   ` [bug#55104] [PATCH 033/232] gnu: Add python-cu2qu Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 035/232] gnu: Add python-ufonormalizer Maxim Cournoyer
                     ` (66 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/fontutils.scm (python-ufoprocessor): New variable.
---
 gnu/packages/fontutils.scm | 43 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 20a03463e6..062b8fbd62 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -314,6 +314,49 @@ (define-public python-mutatormath
 arithmetic object.")
     (license license:bsd-3)))
 
+(define-public python-ufoprocessor
+  (package
+    (name "python-ufoprocessor")
+    (version "1.9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "ufoProcessor" version ".zip"))
+       (sha256
+        (base32 "0ns11aamgavgsfj8qf5kq7dvzmgl0mhr1cbych2f075ipfdvva5s"))))
+    (build-system python-build-system)
+    (arguments
+     (list #:phases #~(modify-phases %standard-phases
+                        (replace 'check
+                          (lambda* (#:key tests? #:allow-other-keys)
+                            (when tests?
+                              ;; Most of the tests appear to be a work in
+                              ;; progress; run only a subset.
+                              (invoke "python" "Tests/tests.py")))))))
+    (propagated-inputs
+     (list python-defcon
+           python-fontmath
+           python-fontparts
+           python-fonttools
+           python-mutatormath))
+    (native-inputs (list unzip))
+    (home-page "https://github.com/LettError/ufoProcessor")
+    (synopsis "Process and generate @acronym{UFO, Unified Font Object} files")
+    (description "This Python package processes and generates instances for
+@acronym{UFO, Unified Font Object} files, glyphs and other data.  It can,
+among other things:
+@itemize
+@item Collect source materials.
+@item Provide mutators for specific glyphs, font info, kerning so that other
+tools can generate partial instances.
+@item Support designspace format 4 with layers.
+@item Apply avar-like designspace bending.
+@item Apply rules.
+@item Generate actual UFO instances in formats 2 and 3.
+@item Round geometry as requested.
+@end itemize")
+    (license license:expat)))
+
 (define-public ttfautohint
   (package
     (name "ttfautohint")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 035/232] gnu: Add python-ufonormalizer.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (32 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 034/232] gnu: Add python-ufoprocessor Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 036/232] gnu: Add python-types-toml Maxim Cournoyer
                     ` (65 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/fontutils.scm (python-ufonormalizer): New variable.
---
 gnu/packages/fontutils.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 062b8fbd62..a2e71f1ad0 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -357,6 +357,32 @@ (define-public python-ufoprocessor
 @end itemize")
     (license license:expat)))
 
+(define-public python-ufonormalizer
+  (package
+    (name "python-ufonormalizer")
+    (version "0.6.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "ufonormalizer" version ".zip"))
+       (sha256
+        (base32 "0v5awian2alap7nvxfz38aahyqbqnma16nrqcpr8602hbbki04g6"))))
+    (build-system python-build-system)
+    (native-inputs (list python-setuptools-scm unzip))
+    (home-page "https://github.com/unified-font-object/ufoNormalizer")
+    (synopsis "Script to normalize @acronym{UFO, Unified Font Object} data")
+    (description "The purpose of the @command{ufonormalizer} command is to
+provide a standard formatting so that updates to @acronym{UFO, Unified Font
+Object} data can be usefully versioned.  Examples of formatting applied by
+ufoNormalizer include:
+@itemize
+@item Changing floating-point numbers to integers where it doesn't alter the
+value (e.g. @samp{x=\"95.0\"} becomes @samp{x=\"95\"})
+@item Rounding floating-point numbers to 10 digits
+@item Formatting XML with tabs rather than spaces.
+@end itemize")
+    (license license:bsd-3)))
+
 (define-public ttfautohint
   (package
     (name "ttfautohint")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 036/232] gnu: Add python-types-toml.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (33 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 035/232] gnu: Add python-ufonormalizer Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 037/232] gnu: Add python-pytest-mypy Maxim Cournoyer
                     ` (64 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-types-toml): New variable.
---
 gnu/packages/python-xyz.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 054567319a..4089b950df 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -29414,6 +29414,24 @@ (define-public python-ansicolors
      "This package adds ANSI colors and decorations to your strings.")
     (license license:isc)))
 
+(define-public python-types-toml
+  (package
+    (name "python-types-toml")
+    (version "0.10.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "types-toml" version))
+       (sha256
+        (base32 "10400bd3yv6rjfnq8galskkbpqz1sfx9sfgr5qwvw04270x4cjgr"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/python/typeshed")
+    (synopsis "Typing stubs for TOML")
+    (description "This package contains typing stubs for TOML, a very small
+subset the Python stubs contained in the complete @code{typeshed}
+collection.")
+    (license license:asl2.0)))
+
 (define-public python-types-ujson
   (package
     (name "python-types-ujson")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 037/232] gnu: Add python-pytest-mypy.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (34 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 036/232] gnu: Add python-types-toml Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 038/232] gnu: Add python-jaraco-context-bootstrap Maxim Cournoyer
                     ` (63 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/check.scm (python-pytest-mypy): New variable.
---
 gnu/packages/check.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 335ab7ab11..75b42b945a 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -2200,6 +2200,27 @@ (define-public python-lit
 failures.")
     (license license:ncsa)))
 
+(define-public python-pytest-mypy
+  (package
+    (name "python-pytest-mypy")
+    (version "0.9.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pytest-mypy" version))
+       (sha256
+        (base32 "0p5bd4r4gbwk1h7mpx1jkhdwkckapfz24bp9x5mmqb610ps3pylz"))))
+    (build-system python-build-system)
+    (native-inputs (list python-setuptools-scm))
+    (propagated-inputs
+     (list python-attrs python-filelock python-mypy python-pytest))
+    (home-page "https://github.com/dbader/pytest-mypy")
+    (synopsis "Mypy static type checker plugin for Pytest")
+    (description "@code{pytest-mypi} is a static type checker plugin for
+Pytest that runs the mypy static type checker on your source files as part of
+a Pytest test execution.")
+    (license license:expat)))
+
 (define-public python-pytest-pep8
   (package
     (name "python-pytest-pep8")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 038/232] gnu: Add python-jaraco-context-bootstrap.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (35 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 037/232] gnu: Add python-pytest-mypy Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 039/232] gnu: Add python-jaraco-functools-bootstrap Maxim Cournoyer
                     ` (62 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-jaraco-context-bootstrap): New variable.
---
 gnu/packages/python-xyz.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 4089b950df..914137bc85 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8453,6 +8453,27 @@ (define-public python-inotify-simple
      "@code{inotify-simple} is a simple wrapper around inotify library.")
     (license license:bsd-3)))
 
+;;; Variant used to break a cycle with python-pytest-enabler.
+(define-public python-jaraco-context-bootstrap
+  (hidden-package
+   (package
+     (name "python-jaraco-context-bootstrap")
+     (version "4.1.1")
+     (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "jaraco.context" version))
+        (sha256
+         (base32 "0hbjm1rpxf4pzmbdp9rh3ali4zqnlcr8m97bhh1nizxvzcpxim7h"))))
+     (build-system python-build-system)
+     (arguments (list #:tests? #f))
+     (native-inputs (list python-setuptools-scm))
+     (home-page "https://github.com/jaraco/jaraco.context")
+     (synopsis "Context managers Python library")
+     (description "This Python library provides context managers-related
+procedures.")
+     (license license:expat))))
+
 (define-public python-jaraco-packaging
   (package
     (name "python-jaraco-packaging")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 039/232] gnu: Add python-jaraco-functools-bootstrap.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (36 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 038/232] gnu: Add python-jaraco-context-bootstrap Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 040/232] gnu: Add python-autocommand Maxim Cournoyer
                     ` (61 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-jaraco-functools-bootstrap): New variable.
---
 gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 914137bc85..b5dd58a512 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8474,6 +8474,28 @@ (define-public python-jaraco-context-bootstrap
 procedures.")
      (license license:expat))))
 
+;;; Variant used to break a cycle with python-pytest-enabler.
+(define-public python-jaraco-functools-bootstrap
+  (hidden-package
+   (package
+     (name "python-jaraco-functools-bootstrap")
+     (version "3.5.0")
+     (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "jaraco.functools" version))
+        (sha256
+         (base32 "186xqzs3bqhjwajnprxy3sc3h0w5vdld8spc1dxjnn9720yykq1i"))))
+     (build-system python-build-system)
+     (arguments (list #:tests? #f))
+     (native-inputs (list python-setuptools-scm))
+     (propagated-inputs (list python-more-itertools))
+     (home-page "https://github.com/jaraco/jaraco.functools")
+     (synopsis "Python library extending Python's @code{functools}")
+     (description "This library extends the standard @code{functools} Python
+module with a few extra procedures.")
+     (license license:expat))))
+
 (define-public python-jaraco-packaging
   (package
     (name "python-jaraco-packaging")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 040/232] gnu: Add python-autocommand.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (37 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 039/232] gnu: Add python-jaraco-functools-bootstrap Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 041/232] gnu: Add python-types-freezegun Maxim Cournoyer
                     ` (60 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-autocommand): New variable.
---
 gnu/packages/python-xyz.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b5dd58a512..944518e67b 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7055,6 +7055,36 @@ (define-public python-orderedmultidict
 multivalue dictionary that retains the order of insertions and deletions.")
     (license license:unlicense)))
 
+(define-public python-autocommand
+  (package
+    (name "python-autocommand")
+    (version "2.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "autocommand" version))
+       (sha256
+        (base32 "03qp9xx4dq81ljhf56r21gp5j0lpqs1vaw99g0d84i97s3lj1m7y"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                ;; This test fails with an invalid syntax error on 'task1 =
+                ;; asyncio.async(coro_1())' (see:
+                ;; https://github.com/Lucretiel/autocommand/issues/20).
+                (delete-file "test/test_autoasync.py")
+                (invoke "pytest" "-vv")))))))
+    (native-inputs (list python-pytest python-pytest-asyncio))
+    (home-page "https://github.com/Lucretiel/autocommand")
+    (synopsis "Python library to build a command-line from a function")
+    (description "@code{autocommand} is library to automatically generate and
+run simple @code{argparse} parsers from function signatures.")
+    (license license:lgpl3+)))
+
 (define-public python-autopep8
   (package
     (name "python-autopep8")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 041/232] gnu: Add python-types-freezegun.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (38 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 040/232] gnu: Add python-autocommand Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 042/232] gnu: Add python-types-pytz Maxim Cournoyer
                     ` (59 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-types-freezegun): New variable.
---
 gnu/packages/python-xyz.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 944518e67b..189134c083 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -29487,6 +29487,24 @@ (define-public python-ansicolors
      "This package adds ANSI colors and decorations to your strings.")
     (license license:isc)))
 
+(define-public python-types-freezegun
+  (package
+    (name "python-types-freezegun")
+    (version "1.1.8")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "types-freezegun" version))
+       (sha256
+        (base32 "08g926s8343zwq140zcfwly3qfgmahm7lp0vgb3ics549b2hifzl"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/python/typeshed")
+    (synopsis "Typing stubs for @code{freezegun}")
+    (description "This package contains typing stubs for for @code{freezegun}, a
+very small subset the Python stubs contained in the complete @code{typeshed}
+collection.")
+    (license license:asl2.0)))
+
 (define-public python-types-toml
   (package
     (name "python-types-toml")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 042/232] gnu: Add python-types-pytz.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (39 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 041/232] gnu: Add python-types-freezegun Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 043/232] gnu: Add python-pytest-freezegun Maxim Cournoyer
                     ` (58 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-types-pytz): New variable.
---
 gnu/packages/python-xyz.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 189134c083..3d481c419a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -29505,6 +29505,24 @@ (define-public python-types-freezegun
 collection.")
     (license license:asl2.0)))
 
+(define-public python-types-pytz
+  (package
+    (name "python-types-pytz")
+    (version "2021.3.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "types-pytz" version))
+       (sha256
+        (base32 "14yr5hg2ww8s4a0mz2bkd549fv8qgm538fnzxvqv92ld1pcpym3l"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/python/typeshed")
+    (synopsis "Typing stubs for pytz")
+    (description "This package contains typing stubs for @code{pytz}, a very
+small subset the Python stubs contained in the complete @code{typeshed}
+collection.")
+    (license license:asl2.0)))
+
 (define-public python-types-toml
   (package
     (name "python-types-toml")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 043/232] gnu: Add python-pytest-freezegun.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (40 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 042/232] gnu: Add python-types-pytz Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 044/232] gnu: Add python-pytest-enabler-bootstrap Maxim Cournoyer
                     ` (57 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/check.scm (python-pytest-freezegun): New variable.
---
 gnu/packages/check.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 75b42b945a..1db4457dde 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -2200,6 +2200,38 @@ (define-public python-lit
 failures.")
     (license license:ncsa)))
 
+(define-public python-pytest-freezegun
+  (package
+    (name "python-pytest-freezegun")
+    (version "0.4.2")
+    (source (origin
+              ;; The test suite is not included in the PyPI archive.
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/ktosiek/pytest-freezegun")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "10c4pbh03b4s1q8cjd75lr0fvyf9id0zmdk29566qqsmaz28npas"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (invoke "pytest" "-vv")))))))
+    (propagated-inputs (list python-freezegun python-pytest))
+    (native-inputs (list unzip))
+    (home-page "https://github.com/ktosiek/pytest-freezegun")
+    (synopsis "Pytest plugin to freeze time in test fixtures")
+    (description "The @code{pytest-freezegun} plugin wraps tests and fixtures
+with @code{freeze_time}, which allows to control (i.e., freeze) the time seen
+by the test.")
+    (license license:expat)))
+
 (define-public python-pytest-mypy
   (package
     (name "python-pytest-mypy")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 044/232] gnu: Add python-pytest-enabler-bootstrap.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (41 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 043/232] gnu: Add python-pytest-freezegun Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 045/232] gnu: Add python-path-bootstrap Maxim Cournoyer
                     ` (56 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/check.scm (python-pytest-enabler-bootstrap): New variable.
---
 gnu/packages/check.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 1db4457dde..135fd671a2 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -2200,6 +2200,31 @@ (define-public python-lit
 failures.")
     (license license:ncsa)))
 
+;;; This is marked as a bootstrap package because it propagates bootstrapped
+;;; versions of jaraco-context and jaraco-functools.
+(define-public python-pytest-enabler-bootstrap
+  (hidden-package
+   (package
+     (name "python-pytest-enabler-bootstrap")
+     (version "1.2.1")
+     (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "pytest-enabler" version))
+        (sha256
+         (base32 "023ymm0r2gpn5q7aikvx567s507j0zk46w41w6gxb69c688zgs73"))))
+     (build-system python-build-system)
+     (arguments (list #:tests? #f))
+     (propagated-inputs
+      (list python-jaraco-context-bootstrap
+            python-jaraco-functools-bootstrap
+            python-toml))
+     (native-inputs (list python-setuptools-scm))
+     (home-page "https://github.com/jaraco/pytest-enabler")
+     (synopsis "Enable installed pytest plugins")
+     (description "Enable installed pytest plugins")
+     (license license:expat))))
+
 (define-public python-pytest-freezegun
   (package
     (name "python-pytest-freezegun")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 045/232] gnu: Add python-path-bootstrap.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (42 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 044/232] gnu: Add python-pytest-enabler-bootstrap Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 046/232] gnu: Add python-pip-run-bootstrap Maxim Cournoyer
                     ` (55 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-path-bootstrap): 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 3d481c419a..13c9694d9c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -12556,6 +12556,44 @@ (define-public python-idna-ssl
 domains support.")
     (license license:expat)))
 
+;;; Variant used to break a cycle with python-pip-run-bootstrap.
+(define-public python-path-bootstrap
+  (hidden-package
+   (package
+     (name "python-path-bootstrap")
+     (version "16.4.0")
+     (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "path" version))
+        (sha256
+         (base32 "0lig13gxnfv98v790db1smvsbd3mnj7y8rwyiwhfi6xiqibygwms"))))
+     (build-system python-build-system)
+     (arguments
+      (list
+       #:tests? #f
+       #:phases
+       #~(modify-phases %standard-phases
+           ;; XXX: PEP 517 manual build/install procedures copied from
+           ;; python-isort.
+           (replace 'build
+             (lambda _
+               ;; ZIP does not support timestamps before 1980.
+               (setenv "SOURCE_DATE_EPOCH" "315532800")
+               (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let ((whl (car (find-files "dist" "\\.whl$"))))
+                 (invoke "pip" "--no-cache-dir" "--no-input"
+                         "install" "--no-deps" "--prefix" #$output whl)))))))
+     (native-inputs (list python-pypa-build python-setuptools-scm))
+     (home-page "https://github.com/jaraco/path")
+     (synopsis "Object-oriented file system path manipulation library")
+     (description "@code{path} (formerly @code{path.py}) implements path
+objects as first-class entities, allowing common operations on files to be
+invoked on those path objects directly.")
+     (license license:expat))))
+
 (define-public python-pretend
   (package
     (name "python-pretend")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 046/232] gnu: Add python-pip-run-bootstrap.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (43 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 045/232] gnu: Add python-path-bootstrap Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 047/232] gnu: python-importlib-metadata: Update to 4.11.3 Maxim Cournoyer
                     ` (54 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-pip-run-bootstrap): New variable.
---
 gnu/packages/python-xyz.scm | 43 +++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 13c9694d9c..0c0d46eb5a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -12642,6 +12642,49 @@ (define-public python-pip
 (define-public python2-pip
   (package-with-python2 python-pip))
 
+;;; Variant used to break a dependency cycle with
+;;; python-pytest-perf-bootstrap.
+(define-public python-pip-run-bootstrap
+  (hidden-package
+   (package
+     (name "python-pip-run-bootstrap")
+     (version "8.8.0")
+     (source (origin
+               (method git-fetch)
+               (uri (git-reference
+                     (url "https://github.com/jaraco/pip-run")
+                     (commit (string-append "v" version))))
+               (file-name (git-file-name name version))
+               (sha256
+                (base32
+                 "0ycrjj3jgqcr9c2k7y8vprq65iblg0q0hvwz8zwi13gmb0ffds0c"))))
+     (build-system python-build-system)
+     (arguments
+      (list
+       #:tests? #f
+       #:phases
+       #~(modify-phases %standard-phases
+           (add-before 'build 'pretend-version
+             ;; The version string is usually derived via setuptools-scm, but
+             ;; without the git metadata available this fails.
+             (lambda _
+               (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))))))
+     (native-inputs (list python-setuptools-scm))
+     (propagated-inputs (list python-autocommand python-path-bootstrap
+                              python-packaging))
+     (home-page "https://github.com/jaraco/pip-run")
+     (synopsis "Dynamic dependency loader for Python")
+     (description "The @command{pip-run} command provides on-demand temporary
+package installation for a single interpreter run.  It replaces this series of
+commands:
+@example
+$ virtualenv --python pythonX.X --system-site-packages /tmp/env
+$ /tmp/env/bin/pip install pkg1 pkg2 -r reqs.txt
+$ /tmp/env/bin/python ...
+$ rm -rf /tmp/env
+@end example")
+     (license license:expat))))
+
 (define-public python-tlsh
   (package
     (name "python-tlsh")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 047/232] gnu: python-importlib-metadata: Update to 4.11.3.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (44 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 046/232] gnu: Add python-pip-run-bootstrap Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 048/232] gnu: python-pytest-black: Update to 0.3.12 Maxim Cournoyer
                     ` (53 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-importlib-metadata): Update to 4.11.3.
[phases]{build, install, check}: Override phases.
[native-inputs]: Remove python-packaging.  Add python-pypa-build and
python-pytest.
(python2-importlib-metadata): Adjust to keep unchanged.
---
 gnu/packages/python-xyz.scm | 68 +++++++++++++++++++++++++++----------
 1 file changed, 50 insertions(+), 18 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 0c0d46eb5a..844724afb5 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8376,19 +8376,41 @@ (define-public python2-importlib-resources-bootstrap
 (define-public python-importlib-metadata
   (package
     (name "python-importlib-metadata")
-    (version "1.5.0")
+    (version "4.11.3")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "importlib_metadata" version))
        (sha256
         (base32
-         "00ikdj4gjhankdljnz7g5ggak4k9lql2926x0x117ir9j2lv7x86"))))
+         "0f951zynlh39yicqnhrs3p1qa5p3g6ajjfcggf12y51ppxz5jk7a"))))
     (build-system python-build-system)
-    (propagated-inputs
-     (list python-zipp))
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          ;; XXX: PEP 517 manual build/install procedures copied from
+          ;; python-isort.
+          (replace 'build
+            (lambda _
+              ;; ZIP does not support timestamps before 1980.
+              (setenv "SOURCE_DATE_EPOCH" "315532800")
+              (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+          (replace 'install
+            (lambda* (#:key outputs #:allow-other-keys)
+              (let ((whl (car (find-files "dist" "\\.whl$"))))
+                (invoke "pip" "--no-cache-dir" "--no-input"
+                        "install" "--no-deps" "--prefix" #$output whl))))
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (invoke "pytest" "-vv" "tests")))))))
+    (propagated-inputs (list python-zipp))
     (native-inputs
-     (list python-setuptools-scm python-pyfakefs python-packaging))
+     (list python-pypa-build
+           python-pyfakefs
+           python-pytest
+           python-setuptools-scm))
     (home-page "https://importlib-metadata.readthedocs.io/")
     (synopsis "Read metadata from Python packages")
     (description
@@ -8404,19 +8426,29 @@ (define-public python-importlib-metadata
 (define-public python2-importlib-metadata
   (let ((base (package-with-python2 (strip-python2-variant
                                      python-importlib-metadata))))
-    (package/inherit
-     base
-     (name "python2-importlib-metadata")
-     (native-inputs
-      `(("python-setuptools-scm" ,python2-setuptools-scm)
-        ("python-pyfakefs" ,python2-pyfakefs-bootstrap)
-        ("python-packaging" ,python2-packaging-bootstrap)))
-     (propagated-inputs
-      `(("python-configparser" ,python2-configparser)
-        ("python-contextlib2" ,python2-contextlib2)
-        ("python-importlib-resources" ,python2-importlib-resources)
-        ("python-pathlib2" ,python2-pathlib2)
-        ,@(package-propagated-inputs base))))))
+    (package/inherit base
+      (name "python2-importlib-metadata")
+      (version "1.5.0")
+      (source
+       (origin
+         (method url-fetch)
+         (uri (pypi-uri "importlib_metadata" version))
+         (sha256
+          (base32
+           "00ikdj4gjhankdljnz7g5ggak4k9lql2926x0x117ir9j2lv7x86"))))
+      (arguments (substitute-keyword-arguments (package-arguments base)
+                   ((#:phases phases)   ;reset standard phases
+                    #~%standard-phases)))
+      (native-inputs
+       `(("python-setuptools-scm" ,python2-setuptools-scm)
+         ("python-pyfakefs" ,python2-pyfakefs-bootstrap)
+         ("python-packaging" ,python2-packaging-bootstrap)))
+      (propagated-inputs
+       `(("python-configparser" ,python2-configparser)
+         ("python-contextlib2" ,python2-contextlib2)
+         ("python-importlib-resources" ,python2-importlib-resources)
+         ("python-pathlib2" ,python2-pathlib2)
+         ,@(package-propagated-inputs base))))))
 
 ;; This package is used by python2-pytest, and thus must not depend on it.
 (define-public python2-importlib-metadata-bootstrap
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 048/232] gnu: python-pytest-black: Update to 0.3.12.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (45 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 047/232] gnu: python-importlib-metadata: Update to 4.11.3 Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 049/232] gnu: python-mypy: Update to 0.942 and fix search path Maxim Cournoyer
                     ` (52 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-pytest-black): Update to 0.3.12.
---
 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 844724afb5..c1ca9ba69d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -12127,14 +12127,14 @@ (define-public python-sniffio
 (define-public python-pytest-black
   (package
     (name "python-pytest-black")
-    (version "0.3.8")
+    (version "0.3.12")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "pytest-black" version))
        (sha256
         (base32
-         "04lppqydxm0f3f3x0l8hj7v0j6d8syj34jc37yzqwqcyqsnaga81"))))
+         "19bmbcnaq02md8nnj6pywri3vps8sxnhysbfy386qkbn9w09ncqx"))))
     (build-system python-build-system)
     (propagated-inputs
      (list python-pytest python-black python-toml))
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 049/232] gnu: python-mypy: Update to 0.942 and fix search path.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (46 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 048/232] gnu: python-pytest-black: Update to 0.3.12 Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 050/232] gnu: Add python-types-docutils Maxim Cournoyer
                     ` (51 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/patches/python-mypy-use-sys-path.patch: New patch.
* gnu/local.mk: Register it.
* gnu/packages/python-check.scm (python-mypy): Update to 0.942.
[source]: Apply patch.
---
 gnu/local.mk                                  |   1 +
 .../patches/python-mypy-use-sys-path.patch    | 130 ++++++++++++++++++
 gnu/packages/python-check.scm                 |  15 +-
 3 files changed, 139 insertions(+), 7 deletions(-)
 create mode 100644 gnu/packages/patches/python-mypy-use-sys-path.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 9bad87710c..702c430623 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1720,6 +1720,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/python-waitress-fix-tests.patch		\
   %D%/packages/patches/python-werkzeug-tests.patch		\
   %D%/packages/patches/python-mypy-12332.patch			\
+  %D%/packages/patches/python-mypy-use-sys-path.patch		\
   %D%/packages/patches/qemu-build-info-manual.patch		\
   %D%/packages/patches/qemu-glibc-2.27.patch 			\
   %D%/packages/patches/qemu-glibc-2.30.patch 			\
diff --git a/gnu/packages/patches/python-mypy-use-sys-path.patch b/gnu/packages/patches/python-mypy-use-sys-path.patch
new file mode 100644
index 0000000000..1b12526456
--- /dev/null
+++ b/gnu/packages/patches/python-mypy-use-sys-path.patch
@@ -0,0 +1,130 @@
+This patch fixes the annotation files search of mypy on non-FHS distributions.
+
+Submitted upstream: https://github.com/python/mypy/pull/12530
+
+diff --git a/mypy/main.py b/mypy/main.py
+index 3d9836587..f9b0cbd39 100644
+--- a/mypy/main.py
++++ b/mypy/main.py
+@@ -1033,10 +1033,10 @@ def process_options(args: List[str],
+     # Set target.
+     if special_opts.modules + special_opts.packages:
+         options.build_type = BuildType.MODULE
+-        egg_dirs, site_packages = get_site_packages_dirs(options.python_executable)
++        site_packages = get_site_packages_dirs(options.python_executable)
+         search_paths = SearchPaths((os.getcwd(),),
+                                    tuple(mypy_path() + options.mypy_path),
+-                                   tuple(egg_dirs + site_packages),
++                                   tuple(site_packages),
+                                    ())
+         targets = []
+         # TODO: use the same cache that the BuildManager will
+diff --git a/mypy/modulefinder.py b/mypy/modulefinder.py
+index 94d2dd34c..337a2d59b 100644
+--- a/mypy/modulefinder.py
++++ b/mypy/modulefinder.py
+@@ -629,7 +629,7 @@ def get_prefixes(python_executable: Optional[str]) -> Tuple[str, str]:
+ 
+ 
+ @functools.lru_cache(maxsize=None)
+-def get_site_packages_dirs(python_executable: Optional[str]) -> Tuple[List[str], List[str]]:
++def get_site_packages_dirs(python_executable: Optional[str]) -> List[str]:
+     """Find package directories for given python.
+ 
+     This runs a subprocess call, which generates a list of the egg directories, and the site
+@@ -648,51 +648,7 @@ def get_site_packages_dirs(python_executable: Optional[str]) -> Tuple[List[str],
+         site_packages = ast.literal_eval(
+             subprocess.check_output([python_executable, pyinfo.__file__, 'getsitepackages'],
+             stderr=subprocess.PIPE).decode())
+-    return expand_site_packages(site_packages)
+-
+-
+-def expand_site_packages(site_packages: List[str]) -> Tuple[List[str], List[str]]:
+-    """Expands .pth imports in site-packages directories"""
+-    egg_dirs: List[str] = []
+-    for dir in site_packages:
+-        if not os.path.isdir(dir):
+-            continue
+-        pth_filenames = sorted(name for name in os.listdir(dir) if name.endswith(".pth"))
+-        for pth_filename in pth_filenames:
+-            egg_dirs.extend(_parse_pth_file(dir, pth_filename))
+-
+-    return egg_dirs, site_packages
+-
+-
+-def _parse_pth_file(dir: str, pth_filename: str) -> Iterator[str]:
+-    """
+-    Mimics a subset of .pth import hook from Lib/site.py
+-    See https://github.com/python/cpython/blob/3.5/Lib/site.py#L146-L185
+-    """
+-
+-    pth_file = os.path.join(dir, pth_filename)
+-    try:
+-        f = open(pth_file, "r")
+-    except OSError:
+-        return
+-    with f:
+-        for line in f.readlines():
+-            if line.startswith("#"):
+-                # Skip comment lines
+-                continue
+-            if line.startswith(("import ", "import\t")):
+-                # import statements in .pth files are not supported
+-                continue
+-
+-            yield _make_abspath(line.rstrip(), dir)
+-
+-
+-def _make_abspath(path: str, root: str) -> str:
+-    """Take a path and make it absolute relative to root if not already absolute."""
+-    if os.path.isabs(path):
+-        return os.path.normpath(path)
+-    else:
+-        return os.path.join(root, os.path.normpath(path))
++    return site_packages
+ 
+ 
+ def add_py2_mypypath_entries(mypypath: List[str]) -> List[str]:
+@@ -781,7 +737,7 @@ def compute_search_paths(sources: List[BuildSource],
+     if options.python_version[0] == 2:
+         mypypath = add_py2_mypypath_entries(mypypath)
+ 
+-    egg_dirs, site_packages = get_site_packages_dirs(options.python_executable)
++    site_packages = get_site_packages_dirs(options.python_executable)
+     base_prefix, prefix = get_prefixes(options.python_executable)
+     is_venv = base_prefix != prefix
+     for site_dir in site_packages:
+@@ -801,7 +757,7 @@ def compute_search_paths(sources: List[BuildSource],
+ 
+     return SearchPaths(python_path=tuple(reversed(python_path)),
+                        mypy_path=tuple(mypypath),
+-                       package_path=tuple(egg_dirs + site_packages),
++                       package_path=tuple(site_packages),
+                        typeshed_path=tuple(lib_path))
+ 
+ 
+diff --git a/mypy/pyinfo.py b/mypy/pyinfo.py
+index ab2d3286b..9fb0501a1 100644
+--- a/mypy/pyinfo.py
++++ b/mypy/pyinfo.py
+@@ -24,16 +24,11 @@ def getprefixes():
+ 
+ def getsitepackages():
+     # type: () -> List[str]
+-    res = []
+-    if hasattr(site, 'getsitepackages'):
+-        res.extend(site.getsitepackages())
+ 
+-        if hasattr(site, 'getusersitepackages') and site.ENABLE_USER_SITE:
+-            res.insert(0, site.getusersitepackages())
+-    else:
+-        from distutils.sysconfig import get_python_lib
+-        res = [get_python_lib()]
+-    return res
++    # Simply return sys.path, which has already been expanded
++    # correctly via Python's site.py module, which takes care of .pth,
++    # sitecustomize.py files, etc.
++    return sys.path
+ 
+ 
+ if __name__ == '__main__':
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 2d35eb720e..03895a44c7 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2019, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2019, 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2019, 2021 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
 ;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
@@ -1672,7 +1672,7 @@ (define-public python-mypy-extensions
 (define-public python-mypy
   (package
     (name "python-mypy")
-    (version "0.931")
+    (version "0.942")
     (source
      (origin
        ;; Because of https://github.com/python/mypy/issues/9584, the
@@ -1689,9 +1689,10 @@ (define-public python-mypy
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1v83flrdxh8grcp40qw04q4hzjflih9xwib64078vsxv2w36f817"))
+         "0hxnrqhvskiclwfj2s4gyfclzjas1dvpfxhyng8v7mq38rqps1j5"))
        (patches
-        (search-patches "python-mypy-12332.patch"))))
+        (search-patches "python-mypy-12332.patch"
+                        "python-mypy-use-sys-path.patch"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -1713,10 +1714,10 @@ (define-public python-mypy
     (home-page "http://www.mypy-lang.org/")
     (synopsis "Static type checker for Python")
     (description "Mypy is an optional static type checker for Python that aims
-to combine the benefits of dynamic (or 'duck') typing and static typing.  Mypy combines
+to combine the benefits of dynamic typing and static typing.  Mypy combines
 the expressive power and convenience of Python with a powerful type system and
-compile-time type checking.  Mypy type checks standard Python programs; run them using
-any Python VM with basically no runtime overhead.")
+compile-time type checking.  Mypy type checks standard Python programs; run
+them using any Python VM with basically no runtime overhead.")
     ;; Most of the code is under MIT license; Some files are under Python Software
     ;; Foundation License version 2: stdlib-samples/*, mypyc/lib-rt/pythonsupport.h and
     ;; mypyc/lib-rt/getargs.c
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 050/232] gnu: Add python-types-docutils.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (47 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 049/232] gnu: python-mypy: Update to 0.942 and fix search path Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 051/232] gnu: python-pytest-checkdocs: Update to 2.7.1 Maxim Cournoyer
                     ` (50 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-types-docutils): New variable.
---
 gnu/packages/python-xyz.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c1ca9ba69d..c9a6172ae2 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -29523,6 +29523,23 @@ (define-public python-types-dataclasses
 static types.")
     (license license:asl2.0)))
 
+(define-public python-types-docutils
+  (package
+    (name "python-types-docutils")
+    (version "0.18.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "types-docutils" version))
+       (sha256
+        (base32 "14ypv0x6fk1pjw0bvvr1lkb2g6dvq2pwvbd5b5pzjl6182fhmaim"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/python/typeshed")
+    (synopsis "Typing stubs for docutils")
+    (description "This package provides a collection of library stubs for
+Python, with static types.")
+    (license license:asl2.0)))
+
 (define-public python-psycopg2-binary
   (package
     (name "python-psycopg2-binary")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 051/232] gnu: python-pytest-checkdocs: Update to 2.7.1.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (48 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 050/232] gnu: Add python-types-docutils Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 052/232] gnu: Add python-jaraco-classes Maxim Cournoyer
                     ` (49 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-check.scm (python-pytest-checkdocs): Update to 2.7.1.
---
 gnu/packages/python-check.scm | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 03895a44c7..564d41c323 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -920,18 +920,21 @@ (define-public python-pytest-doctest-custom
 (define-public python-pytest-checkdocs
   (package
     (name "python-pytest-checkdocs")
-    (version "1.2.5")
+    (version "2.7.1")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "pytest-checkdocs" version))
        (sha256
-        (base32 "0m4kn7141i6k8qr8ak3lbmk9vim11xsrlnrggcfwczfrglc6jmia"))))
+        (base32 "1bn1wr3yz8avkwacffyh26za7mg20f9pajpakfk4cn7yvmgbhcrb"))))
     (build-system python-build-system)
+    (arguments (list #:tests? #f))      ;no tests in pypi archive
     (propagated-inputs
-     (list python-docutils python-importlib-metadata python-more-itertools))
-    (native-inputs
-     (list python-setuptools-scm python-pytest))
+     (list python-docutils
+           python-importlib-metadata
+           python-pep517
+           python-pytest))
+    (native-inputs (list python-setuptools-scm))
     (home-page "https://github.com/jaraco/pytest-checkdocs")
     (synopsis "Check the README when running tests")
     (description
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 052/232] gnu: Add python-jaraco-classes.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (49 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 051/232] gnu: python-pytest-checkdocs: Update to 2.7.1 Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 053/232] gnu: Add python-jaraco-context Maxim Cournoyer
                     ` (48 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-jaraco-classes): 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 c9a6172ae2..d04a7e7334 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8515,6 +8515,44 @@ (define-public python-inotify-simple
      "@code{inotify-simple} is a simple wrapper around inotify library.")
     (license license:bsd-3)))
 
+(define-public python-jaraco-classes
+  (package
+    (name "python-jaraco-classes")
+    (version "3.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "jaraco.classes" version))
+       (sha256
+        (base32 "0d6g7qvfv1jlzbzh6asprqdblqd59grvlvr3nwbdqdqrmwlbfm7d"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                ;; Do not test the myproject.toml build as it tries to pull
+                ;; dependencies from the Internet.
+                (invoke "pytest" "-vv" "-k" "not project")))))))
+    (native-inputs
+     (list python-pytest
+           python-pytest-black
+           python-pytest-checkdocs
+           python-pytest-cov
+           python-pytest-enabler-bootstrap ;OK since not propagated
+           python-pytest-flake8
+           python-pytest-mypy
+           python-setuptools-scm
+           python-wheel))
+    (propagated-inputs (list python-more-itertools))
+    (home-page "https://github.com/jaraco/jaraco.classes")
+    (synopsis "Utility functions for Python class constructs")
+    (description "This Python library contains utility functions for Python
+class constructs.")
+    (license license:expat)))
+
 ;;; Variant used to break a cycle with python-pytest-enabler.
 (define-public python-jaraco-context-bootstrap
   (hidden-package
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 053/232] gnu: Add python-jaraco-context.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (50 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 052/232] gnu: Add python-jaraco-classes Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 054/232] gnu: Add python-jaraco-functools Maxim Cournoyer
                     ` (47 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-jaraco-context): New variable.
---
 gnu/packages/python-xyz.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d04a7e7334..67d6f5f934 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8574,6 +8574,35 @@ (define-public python-jaraco-context-bootstrap
 procedures.")
      (license license:expat))))
 
+(define-public python-jaraco-context
+  (package/inherit python-jaraco-context-bootstrap
+    (name "python-jaraco-context")
+    (arguments
+     (substitute-keyword-arguments
+         (package-arguments python-jaraco-context-bootstrap)
+       ((#:tests? _ #f)
+        #t)
+       ((#:phases phases #~%standard-phases)
+        #~(modify-phases #$phases
+            (replace 'check
+              (lambda* (#:key tests? #:allow-other-keys)
+                (when tests?
+                  ;; Do not test the myproject.toml build as it tries to pull
+                  ;; dependencies from the Internet.
+                  (invoke "pytest" "-vv" "-k" "not project"))))))))
+    (native-inputs
+     (modify-inputs
+         (package-native-inputs python-jaraco-context-bootstrap)
+       (append python-pytest
+               python-pytest-black
+               python-pytest-checkdocs
+               python-pytest-cov
+               python-pytest-enabler-bootstrap ;OK since not propagated
+               python-pytest-flake8
+               python-pytest-mypy)))
+    (properties (alist-delete 'hidden? (package-properties
+                                        python-jaraco-context-bootstrap)))))
+
 ;;; Variant used to break a cycle with python-pytest-enabler.
 (define-public python-jaraco-functools-bootstrap
   (hidden-package
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 054/232] gnu: Add python-jaraco-functools.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (51 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 053/232] gnu: Add python-jaraco-context Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 055/232] gnu: Add python-pytest-enabler Maxim Cournoyer
                     ` (46 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-jaraco-functools): New variable.
---
 gnu/packages/python-xyz.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 67d6f5f934..842d26d206 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8625,6 +8625,36 @@ (define-public python-jaraco-functools-bootstrap
 module with a few extra procedures.")
      (license license:expat))))
 
+(define-public python-jaraco-functools
+  (package/inherit python-jaraco-functools-bootstrap
+    (name "python-jaraco-functools")
+    (arguments
+     (substitute-keyword-arguments
+         (package-arguments python-jaraco-functools-bootstrap)
+       ((#:tests? _ #f)
+        #t)
+       ((#:phases phases #~%standard-phases)
+        #~(modify-phases #$phases
+            (replace 'check
+              (lambda* (#:key tests? #:allow-other-keys)
+                (when tests?
+                  ;; Do not test the myproject.toml build as it tries to pull
+                  ;; dependencies from the Internet.
+                  (invoke "pytest" "-vv" "-k" "not project"))))))))
+    (native-inputs
+     (modify-inputs
+         (package-native-inputs python-jaraco-functools-bootstrap)
+       (append python-jaraco-classes
+               python-pytest
+               python-pytest-black
+               python-pytest-checkdocs
+               python-pytest-cov
+               python-pytest-enabler-bootstrap ;OK since not propagated
+               python-pytest-flake8
+               python-pytest-mypy)))
+    (properties (alist-delete 'hidden? (package-properties
+                                        python-jaraco-functools-bootstrap)))))
+
 (define-public python-jaraco-packaging
   (package
     (name "python-jaraco-packaging")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 055/232] gnu: Add python-pytest-enabler.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (52 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 054/232] gnu: Add python-jaraco-functools Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 056/232] gnu: Add python-path Maxim Cournoyer
                     ` (45 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/check.scm (python-pytest-enabler): New variable.
---
 gnu/packages/check.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 135fd671a2..8ed53f7e27 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -2225,6 +2225,36 @@ (define-public python-pytest-enabler-bootstrap
      (description "Enable installed pytest plugins")
      (license license:expat))))
 
+(define-public python-pytest-enabler
+  (package/inherit python-pytest-enabler-bootstrap
+    (arguments
+     (substitute-keyword-arguments
+         (package-arguments python-pytest-enabler-bootstrap)
+       ((#:tests? _ #f)
+        #t)
+       ((#:phases phases #~%standard-phases)
+        #~(modify-phases #$phases
+            (replace 'check
+              (lambda* (#:key tests? #:allow-other-keys)
+                (when tests?
+                  (invoke "python" "-m" "pytest" "-vv" "tests"))))))))
+    (propagated-inputs
+     (modify-inputs (package-propagated-inputs python-pytest-enabler-bootstrap)
+       (replace "python-jaraco-context-bootstrap" python-jaraco-context)
+       (replace "python-jaraco-functools-bootstrap" python-jaraco-functools)))
+    (native-inputs
+     (modify-inputs (package-native-inputs python-pytest-enabler-bootstrap)
+       (append python-pytest
+               python-pytest-black
+               python-pytest-checkdocs
+               python-pytest-cov
+               python-pytest-flake8
+               python-pytest-mypy
+               python-types-toml)))
+    (properties (alist-delete 'hidden?
+                              (package-properties
+                               python-pytest-enabler-bootstrap)))))
+
 (define-public python-pytest-freezegun
   (package
     (name "python-pytest-freezegun")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 056/232] gnu: Add python-path.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (53 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 055/232] gnu: Add python-pytest-enabler Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 057/232] gnu: Add python-pip-run Maxim Cournoyer
                     ` (44 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-path): New variable.
---
 gnu/packages/python-xyz.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 842d26d206..dc410da132 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -12723,6 +12723,42 @@ (define-public python-path-bootstrap
 invoked on those path objects directly.")
      (license license:expat))))
 
+(define-public python-path
+  (package/inherit python-path-bootstrap
+    (name "python-path")
+    (arguments
+     (substitute-keyword-arguments
+         (package-arguments python-path-bootstrap)
+       ((#:tests? _ #f)
+        #t)
+       ((#:phases phases #~%standard-phases)
+        #~(modify-phases #$phases
+            (replace 'check
+              (lambda* (#:key tests? #:allow-other-keys)
+                (when tests?
+                  ;; Do not test the myproject.toml build as it tries to pull
+                  ;; dependencies from the Internet.
+                  (invoke "pytest" "-vv" "-k"
+                          (string-append
+                           "not project "
+                           ;; This tests assumes a root user exists.
+                           "and not test_get_owner")))))))))
+    (native-inputs
+     (modify-inputs (package-native-inputs python-path-bootstrap)
+       (append python-appdirs
+               python-packaging
+               python-pygments
+               python-pytest
+               python-pytest-black
+               python-pytest-checkdocs
+               python-pytest-cov
+               python-pytest-enabler
+               python-pytest-flake8
+               python-pytest-mypy)))
+    (properties (alist-delete 'hidden?
+                              (package-properties
+                               python-path-bootstrap)))))
+
 (define-public python-pretend
   (package
     (name "python-pretend")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 057/232] gnu: Add python-pip-run.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (54 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 056/232] gnu: Add python-path Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 058/232] gnu: Add python-tempora Maxim Cournoyer
                     ` (43 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-pip-run): 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 dc410da132..0f6731efe7 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -12850,6 +12850,44 @@ (define-public python-pip-run-bootstrap
 @end example")
      (license license:expat))))
 
+(define-public python-pip-run
+  (package/inherit python-pip-run-bootstrap
+    (name "python-pip-run")
+    (arguments
+     (substitute-keyword-arguments (package-arguments python-pip-run-bootstrap)
+       ((#:tests? _ #f)
+        #t)
+       ((#:phases phases #~%standard-phases)
+        #~(modify-phases #$phases
+            (replace 'check
+              (lambda* (#:key tests? #:allow-other-keys)
+                (when tests?
+                  (invoke "pytest" "-k"
+                          (string-append
+                           ;; Do not test the myproject.toml build as it tries
+                           ;; to pull dependencies from the internet.
+                           "not project "
+                           ;; These tests attempt to install dependencies from
+                           ;; the network and fail.
+                           "and not test_pkg_imported "
+                           "and not test_pkg_loaded_from_alternate_index ")))))))))
+    (propagated-inputs
+     (modify-inputs (package-propagated-inputs python-pip-run-bootstrap)
+       (replace "python-path-bootstrap" python-path)))
+    (native-inputs
+     (modify-inputs (package-native-inputs python-pip-run-bootstrap)
+       (append python-nbformat
+               python-pygments
+               python-pytest
+               python-pytest-black
+               python-pytest-checkdocs
+               python-pytest-cov
+               python-pytest-enabler
+               python-pytest-flake8
+               python-pytest-mypy)))
+    (properties (alist-delete 'hidden? (package-properties
+                                        python-pip-run-bootstrap)))))
+
 (define-public python-tlsh
   (package
     (name "python-tlsh")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 058/232] gnu: Add python-tempora.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (55 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 057/232] gnu: Add python-pip-run Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 059/232] gnu: Add python-pytest-perf Maxim Cournoyer
                     ` (42 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-tempora): New variable.
---
 gnu/packages/python-xyz.scm | 54 +++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 0f6731efe7..179f5a6c1e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -21445,6 +21445,60 @@ (define-public python-tempdir
 (define-public python2-tempdir
   (package-with-python2 python-tempdir))
 
+(define-public python-tempora
+  (package
+    (name "python-tempora")
+    (version "5.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "tempora" version))
+       (sha256
+        (base32 "09wirlk5vmxlhl9rnxp7g5qz2nsd6b0gnzk5fczbz0s8lsbz386b"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          ;; XXX: PEP 517 manual build copied from python-isort.
+          (replace 'build
+            (lambda _
+              (setenv "SOURCE_DATE_EPOCH" "315532800")
+              (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+          (replace 'install
+            (lambda _
+              (let ((whl (car (find-files "dist" "\\.whl$"))))
+                (invoke "pip" "--no-cache-dir" "--no-input"
+                        "install" "--no-deps" "--prefix" #$output whl))))
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                ;; Do not test the myproject.toml build as it tries to pull
+                ;; dependencies from the Internet.
+                (invoke "pytest" "-k" "not project")))))))
+    (native-inputs
+     (list python-pypa-build
+           python-freezegun
+           python-pytest
+           python-pytest-black
+           python-pytest-checkdocs
+           python-pytest-cov
+           python-pytest-enabler
+           python-pytest-flake8
+           python-pytest-freezegun
+           python-pytest-mypy
+           python-setuptools-scm
+           python-types-freezegun
+           python-types-pytz))
+    (propagated-inputs (list python-jaraco-functools python-pytz))
+    (home-page "https://github.com/jaraco/tempora")
+    (synopsis "Python date and time objects and routines")
+    (description "The @code{tempora} Python library contains miscellaneous
+date and time related utilities and constants, routines for measuring,
+profiling, and getting datetime-aware @acronym{UTC, Coordinated Universal
+Time} values as well as an event scheduler.")
+    (license license:expat)))
+
 (define-public python-activepapers
   (package
     (name "python-activepapers")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 059/232] gnu: Add python-pytest-perf.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (56 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 058/232] gnu: Add python-tempora Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 060/232] gnu: python-factory-boy: Update to 3.2.1 Maxim Cournoyer
                     ` (41 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/check.scm (python-pytest-perf): New variable.
---
 gnu/packages/check.scm | 58 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 8ed53f7e27..e3523d77dc 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -2344,6 +2344,64 @@ (define-public python-pytest-pep8
 (define-public python2-pytest-pep8
   (package-with-python2 python-pytest-pep8))
 
+(define-public python-pytest-perf
+  (package
+    (name "python-pytest-perf")
+    (version "0.12.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/jaraco/pytest-perf")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "05mgknvrmyz1kmkgw8jzvisavc68wz1g2wxv69i6xvzgqxf17m9f"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (invoke "pytest" "-k"
+                        (string-append
+                         ;; Do not test the myproject.toml build as it tries to pull
+                         ;; dependencies from the internet.
+                         "not project "
+                         ;; The benchmark test attempts to install the
+                         ;; package, failing to pull its dependencies from the
+                         ;; network.
+                         "and not BenchmarkRunner "
+                         ;; The upstream_url test requires networking.
+                         "and not upstream_url"))))))))
+    (native-inputs
+     (list python-pytest
+           python-pytest-black
+           python-pytest-checkdocs
+           python-pytest-cov
+           python-pytest-enabler
+           python-pytest-flake8
+           python-pytest-mypy))
+    (propagated-inputs
+     (list python-jaraco-context
+           python-jaraco-functools
+           python-more-itertools
+           python-packaging
+           python-pip-run
+           python-tempora))
+    (home-page "https://github.com/jaraco/pytest-perf")
+    (synopsis "Pytest plugin for performance testing")
+    (description "@code{pytest-perf} makes it easy to compare works by
+creating two installs, the control and the experiment, and measuring the
+performance of some Python code against each.  Under the hood, it uses the
+@command{pip-run} command to install from the upstream main
+branch (e.g. https://github.com/jaraco/pytest-perf) for the control and from
+@file{.} for the experiment.  It then runs each of the experiments against
+each of the environments.")
+    (license license:expat)))
+
 (define-public python-pytest-flakes
   (package
     (name "python-pytest-flakes")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 060/232] gnu: python-factory-boy: Update to 3.2.1.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (57 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 059/232] gnu: Add python-pytest-perf Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 061/232] gnu: python-faker: Update to 13.3.4 and honor TESTS? Maxim Cournoyer
                     ` (40 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-factory-boy): Update to 3.2.1.
[propagated-inputs]: Use new style.
[description]: Fix indentation and remove blank lines.
---
 gnu/packages/python-xyz.scm | 22 +++++++++-------------
 1 file changed, 9 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 179f5a6c1e..31dcf40933 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19941,30 +19941,26 @@ (define-public python2-stemming
 (define-public python-factory-boy
   (package
     (name "python-factory-boy")
-    (version "2.8.1")
+    (version "3.2.1")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "factory_boy" version))
        (sha256
-        (base32 "1fvin6san5xsjh2c4y18caj2lnmwxlylyqm8mh1yc6rp38wlwr56"))))
+        (base32 "0pm5lbvnwm0kg5i6z611rg907yw1gy551f2advmpaz041ixjg3d9"))))
     (build-system python-build-system)
     (arguments
      ;; Tests are not included in the tarball.
      `(#:tests? #f))
-    (propagated-inputs
-     `(("faker" ,python-faker)))
+    (propagated-inputs (list python-faker))
     (home-page "https://github.com/benhoyt/scandir")
     (synopsis "Versatile test fixtures replacement")
-    (description
-     "Factory_boy is a fixtures replacement based on thoughtbot’s factory_girl.
-
-     As a fixtures replacement tool, it aims to replace static, hard to maintain
-     fixtures with easy-to-use factories for complex object.
-
-     Instead of building an exhaustive test setup with every possible combination
-     of corner cases, factory_boy allows you to use objects customized for the
-     current test, while only declaring the test-specific fields")
+    (description "Factory_boy is a fixtures replacement based on thoughtbot’s
+factory_girl.  As a fixtures replacement tool, it aims to replace static, hard
+to maintain fixtures with easy-to-use factories for complex object.  Instead
+of building an exhaustive test setup with every possible combination of corner
+cases, factory_boy allows you to use objects customized for the current test,
+while only declaring the test-specific fields.")
     (license license:expat)))
 
 (define-public python-translate-toolkit
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 061/232] gnu: python-faker: Update to 13.3.4 and honor TESTS?.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (58 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 060/232] gnu: python-factory-boy: Update to 3.2.1 Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 062/232] gnu: Add python-pytest-randomly Maxim Cournoyer
                     ` (39 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-faker): Update to 13.3.4.
[phases]{check}: Honor TESTS?.
[native-inputs]: Replace python-pytest-6 by python-pytest.  Remove comment.
[propagated-inputs]: Remove python-text-unidecode.
---
 gnu/packages/python-xyz.scm | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 31dcf40933..e71c1e4248 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -17490,28 +17490,28 @@ (define-public python2-ukpostcodeparser
 (define-public python-faker
   (package
     (name "python-faker")
-    (version "9.3.1")
+    (version "13.3.4")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "Faker" version))
               (sha256
                (base32
-                "0lpfdc4ndvk7chgqrfd2b1my4n54pccq9b645vp9cp5s5ypyknfd"))))
+                "04855dqvvi2mr739l5x3qf82rxq0a7spc8gl76k8xixmbw36328q"))))
     (build-system python-build-system)
     (arguments
      '(#:phases
        (modify-phases %standard-phases
          (replace 'check
-           (lambda _ (invoke "python" "-m" "pytest" "-v"))))))
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "python" "-m" "pytest" "-v")))))))
     (native-inputs
-     (list ;; For testing
-           python-freezegun
-           python-pytest-6
+     (list python-freezegun
+           python-pytest
            python-random2
            python-ukpostcodeparser
            python-validators))
-    (propagated-inputs
-     (list python-dateutil python-text-unidecode))
+    (propagated-inputs (list python-dateutil))
     (home-page "https://github.com/joke2k/faker")
     (synopsis "Python package that generates fake data")
     (description
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 062/232] gnu: Add python-pytest-randomly.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (59 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 061/232] gnu: python-faker: Update to 13.3.4 and honor TESTS? Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 063/232] gnu: Add psautohint-font-data Maxim Cournoyer
                     ` (38 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/check.scm (python-pytest-randomly): New variable.
---
 gnu/packages/check.scm | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index e3523d77dc..c67a6f2675 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -1242,6 +1242,47 @@ (define-public python-pytest-random-order
 reported in a previous test run.")
     (license license:expat)))
 
+(define-public python-pytest-randomly
+  (package
+    (name "python-pytest-randomly")
+    (version "3.11.0")
+    (source (origin
+              (method git-fetch)        ;no tests in pypi archive
+              (uri (git-reference
+                    (url "https://github.com/pytest-dev/pytest-randomly")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1sjgq49g8f8973vhmzrim79b6wz29a765n99azjk1maimqh7mmik"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                ;; The tests validating ordering fail, as well as as two
+                ;; others, for unknown reasons (see:
+                ;; https://github.com/pytest-dev/pytest-randomly/issues/454).
+                (invoke "pytest" "-vv" "-k"
+                        (string-append
+                         "not reordered "
+                         "and not test_it_runs_before_stepwise "
+                         "and not test_entrypoint_injection"))))))))
+    (native-inputs (list python-coverage
+                         python-factory-boy
+                         python-faker
+                         python-numpy
+                         python-pytest-xdist))
+    (propagated-inputs (list python-importlib-metadata python-pytest))
+    (home-page "https://github.com/pytest-dev/pytest-randomly")
+    (synopsis "Pytest plugin to randomly order tests")
+    (description "This is a Pytest plugin to randomly order tests and control
+Python's @code{random.seed}.")
+    (license license:expat)))
+
 (define-public python-pytest-runner
   (package
     (name "python-pytest-runner")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 063/232] gnu: Add psautohint-font-data.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (60 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 062/232] gnu: Add python-pytest-randomly Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 064/232] gnu: Add psautohint Maxim Cournoyer
                     ` (37 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/fontutils.scm (psautohint-font-data): New variable.
---
 gnu/packages/fontutils.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index a2e71f1ad0..9cb9caf159 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -72,6 +72,7 @@ (define-module (gnu packages fontutils)
   #:use-module (guix download)
   #:use-module (guix svn-download)
   #:use-module (guix git-download)
+  #:use-module (guix build-system copy)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
@@ -314,6 +315,33 @@ (define-public python-mutatormath
 arithmetic object.")
     (license license:bsd-3)))
 
+(define-public psautohint-font-data
+  ;; There is no release tag, so use the latest commit.
+  (let ((revision "0")
+        (commit "1e4c5061d328105c4dcfcb6fdbc27ec49b3e9d23"))
+    (hidden-package
+     (package
+       (name "psautohint-font-data")
+       (version (git-version "0.0.0" revision commit))
+       (source
+        (origin
+          (method git-fetch)
+          (uri (git-reference
+                (url "https://github.com/adobe-type-tools/psautohint-testdata")
+                (commit commit)))
+          (file-name (git-file-name name version))
+          (sha256
+           (base32
+            "0p7g8mnndzp8zpbj9h6lkvfdpvd74fy10q8wmkagbg2ahbdi1zva"))))
+       (build-system copy-build-system)
+       (home-page "https://github.com/adobe-type-tools/psautohint-testdata")
+       (synopsis "Test font data psautohint")
+       (description "This package contains the font data used by the test
+suite of the @code{psautohint} package.")
+       ;; The bundle contains font data from the Cantarell, Libertinus, Source
+       ;; Code Pro, Source Serif Pro, all available under the same license.
+       (license license:silofl1.1)))))
+
 (define-public python-ufoprocessor
   (package
     (name "python-ufoprocessor")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 064/232] gnu: Add psautohint.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (61 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 063/232] gnu: Add psautohint-font-data Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 065/232] gnu: Add python-ordered-set Maxim Cournoyer
                     ` (36 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/fontutils.scm (psautohint): New variable.
---
 gnu/packages/fontutils.scm | 43 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 9cb9caf159..e128ed1003 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -342,6 +342,49 @@ (define-public psautohint-font-data
        ;; Code Pro, Source Serif Pro, all available under the same license.
        (license license:silofl1.1)))))
 
+(define-public psautohint
+  (package
+    (name "psautohint")
+    (version "2.4.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "psautohint" version))
+       (sha256
+        (base32 "0zzz7hy1kkkjfrrm9ly2di3xv2x1ywdqhbyqy21k670jysldw3nm"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'copy-font-data
+            ;; The data is copied as it needs to be writable for the tests.
+            (lambda _
+              (copy-recursively
+               #$(this-package-native-input "psautohint-font-data")
+               "tests/integration/data")
+              (for-each make-file-writable
+                        (find-files "tests/integration/data"))))
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (invoke "pytest" "-vv")))))))
+    (propagated-inputs (list python-fonttools))
+    (native-inputs
+     (list psautohint-font-data
+           python-fs
+           python-pytest
+           python-pytest-cov
+           python-pytest-randomly
+           python-pytest-xdist
+           python-setuptools-scm
+           python-wheel))
+    (home-page "https://github.com/adobe-type-tools/psautohint")
+    (synopsis "Adobe's PostScript autohinter")
+    (description "This package provides the @command{autohinter} command that
+can be used to hint PostScript fonts.  A Python wrapper is also included.")
+    (license license:asl2.0)))
+
 (define-public python-ufoprocessor
   (package
     (name "python-ufoprocessor")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 065/232] gnu: Add python-ordered-set.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (62 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 064/232] gnu: Add psautohint Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 066/232] gnu: Add python-xdoctest Maxim Cournoyer
                     ` (35 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-ordered-set): 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 e71c1e4248..326123dfc6 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -29327,6 +29327,32 @@ (define-public python-ijson
 interfaces.")
     (license license:bsd-3)))
 
+(define-public python-ordered-set
+  (package
+    (name "python-ordered-set")
+    (version "4.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "ordered-set" version))
+       (sha256
+        (base32 "1a34fg3r3480nfm6652kyqql3lwixf8jirzdja9camvnr128wjk9"))))
+    (build-system python-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (replace 'check
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     (invoke "pytest" "-vv")))))))
+    (native-inputs (list python-cython python-pytest))
+    (home-page "https://github.com/simonpercivall/orderedset")
+    (synopsis "Ordered Set implementation in Cython")
+    (description "This library provides an @code{OrderedSet} data type that
+works like a regular set, but remembers insertion order.  It supports the full
+Python @code{set} interface.")
+    (license license:asl2.0)))
+
 (define-public python-orgparse
   (package
     (name "python-orgparse")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 066/232] gnu: Add python-xdoctest.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (63 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 065/232] gnu: Add python-ordered-set Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 067/232] gnu: Add python-ubelt Maxim Cournoyer
                     ` (34 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-xdoctest): New variable.
---
 gnu/packages/python-xyz.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 326123dfc6..59e7d5112f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -15188,6 +15188,36 @@ (define-public python-xdo
 (define-public python2-xdo
   (package-with-python2 python-xdo))
 
+(define-public python-xdoctest
+  (package
+    (name "python-xdoctest")
+    (version "1.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "xdoctest" version))
+       (sha256
+        (base32 "0bgbmb9nqv95f9gfxqifqff1qaz5fnanjqy4hv7ygrjp2kksgfvy"))))
+    (build-system python-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (replace 'check
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     ;; A writable HOME is needed by the
+                     ;; 'import_module_from_path' test.
+                     (setenv "HOME" "/tmp")
+                     (invoke "pytest" "-vv")))))))
+    (propagated-inputs (list python-six))
+    (native-inputs (list python-pytest which))
+    (home-page "https://github.com/Erotemic/xdoctest")
+    (synopsis "Rewrite of the Python builtin doctest module")
+    (description "This package provides a rewrite of the builtin doctest
+module which leverages the Python @acronym{AST, Abstract Syntax Tree} instead
+of @acronym{REGEXPs, regular expressions}.")
+    (license license:asl2.0)))
+
 (define-public python-mako
   (package
     (name "python-mako")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 067/232] gnu: Add python-ubelt.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (64 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 066/232] gnu: Add python-xdoctest Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 068/232] gnu: python-setuptools: Update to 62.0.0 Maxim Cournoyer
                     ` (33 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-ubelt): New variable.
---
 gnu/packages/python-xyz.scm | 44 +++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 59e7d5112f..e589bbdd3a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -362,6 +362,50 @@ (define-public python-logbook
 applications in mind and the idea to make logging fun.")
     (license license:bsd-3)))
 
+(define-public python-ubelt
+  (package
+    (name "python-ubelt")
+    (version "1.0.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/Erotemic/ubelt")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0hac9nqqvqfbca2s4g0mp1fnj0ah60bg9fb8234ibna3jww8qs33"))))
+    (build-system python-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (replace 'check
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     (setenv "HOME" "/tmp") ;else the test suite hangs
+                     (invoke "pytest" "-vv" "-k"
+                             (string-append
+                              ;; The builder user home doesn't match HOME,
+                              ;; which causes this test to fail.
+                              "not userhome "
+                              ;; This one pointlessly tries
+                              ;; locating various binaries on
+                              ;; the path.
+                              "and not find_exe"))))))))
+    (propagated-inputs (list python-ordered-set))
+    (native-inputs
+     (list python-pytest
+           python-requests
+           python-xdoctest))
+    (home-page "https://github.com/Erotemic/ubelt")
+    (synopsis "Python library for hashing, caching, timing and more")
+    (description "Ubelt is a small library of simple functions that extend the
+Python standard library.  It includes an @acronym{API, Application Programming
+Interface} to simplify common problems such as caching, timing, computing
+progress, among other things.")
+    (license license:asl2.0)))
+
 (define-public python-ueberzug
   (package
     (name "python-ueberzug")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 068/232] gnu: python-setuptools: Update to 62.0.0.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (65 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 067/232] gnu: Add python-ubelt Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 069/232] gnu: python-pathpy: Deprecate by python-path Maxim Cournoyer
                     ` (32 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-setuptools): Update to 62.0.0.
[source]: Simplify snippet and strip trailing #t.
[arguments]: Re-indent.
[synopsis]: Likewise.
[description]: Use @itemize.
[license]: Strip leading spaces from in-line comments.
---
 gnu/packages/python-xyz.scm | 57 ++++++++++++++++++-------------------
 1 file changed, 27 insertions(+), 30 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e589bbdd3a..011c57e087 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -1840,44 +1840,41 @@ (define-public python2-serpent
 (define-public python-setuptools
   (package
     (name "python-setuptools")
-    (version "52.0.0")
+    (version "62.0.0")
     (source
      (origin
-      (method url-fetch)
-      (uri (pypi-uri "setuptools" version))
-      (sha256
-       (base32
-        "15ibjdjhkwgj6qbmpsxikkqdfsb1550z46fly7dm15ah4bk1wfpv"))
-      (modules '((guix build utils)))
-      (snippet
-       '(begin
-          ;; Remove included binaries which are used to build self-extracting
-          ;; installers for Windows.
-          ;; TODO: Find some way to build them ourself so we can include them.
-          (for-each delete-file (find-files "setuptools" "^(cli|gui).*\\.exe$"))
-          #t))))
+       (method url-fetch)
+       (uri (pypi-uri "setuptools" version))
+       (sha256
+        (base32
+         "0sm8n6y6q640cpac9wjyggidbgi4n9la7vs7pwriyvhvgzccp6br"))
+       (modules '((guix build utils)))
+       (snippet
+        ;; Remove included binaries which are used to build self-extracting
+        ;; installers for Windows.
+        ;; TODO: Find some way to build them ourself so we can include them.
+        '(for-each delete-file (find-files "setuptools"
+                                           "^(cli|gui).*\\.exe$")))))
     (build-system python-build-system)
     ;; FIXME: Tests require pytest, which itself relies on setuptools.
     ;; One could bootstrap with an internal untested setuptools.
-    (arguments
-     `(#:tests? #f))
+    (arguments (list #:tests? #f))
     (home-page "https://pypi.org/project/setuptools/")
-    (synopsis
-     "Library designed to facilitate packaging Python projects")
-    (description
-     "Setuptools is a fully-featured, stable library designed to facilitate
-packaging Python projects, where packaging includes:
-Python package and module definitions,
-distribution package metadata,
-test hooks,
-project installation,
-platform-specific details,
-Python 3 support.")
+    (synopsis "Library designed to facilitate packaging Python projects")
+    (description "Setuptools is a fully-featured, stable library designed to
+facilitate packaging Python projects, where packaging includes:
+@itemize
+@item Python package and module definitions
+@item distribution package metadata
+@item test hooks
+@item project installation
+@item platform-specific details.
+@end itemize")
     ;; TODO: setuptools now bundles the following libraries:
     ;; packaging, pyparsing, six and appdirs. How to unbundle?
-    (license (list license:psfl        ; setuptools itself
-                   license:expat       ; six, appdirs, pyparsing
-                   license:asl2.0      ; packaging is dual ASL2/BSD-2
+    (license (list license:psfl         ;setuptools itself
+                   license:expat        ;six, appdirs, pyparsing
+                   license:asl2.0       ;packaging is dual ASL2/BSD-2
                    license:bsd-2))
     (properties `((python2-variant . ,(delay python2-setuptools))))))
 
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 069/232] gnu: python-pathpy: Deprecate by python-path.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (66 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 068/232] gnu: python-setuptools: Update to 62.0.0 Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 070/232] gnu: python-pytest-shutil: Adjust to use python-path Maxim Cournoyer
                     ` (31 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-pathpy): Mark as deprecated by
python-path.
---
 gnu/packages/python-xyz.scm | 54 +++----------------------------------
 1 file changed, 3 insertions(+), 51 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 011c57e087..dc508df4a3 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8724,57 +8724,6 @@ (define-public python-jaraco-packaging
 releases.")
     (license license:expat)))
 
-(define-public python-pathpy
-  (package
-    (name "python-pathpy")
-    (version "11.5.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (pypi-uri "path.py" version))
-       (sha256
-        (base32 "0ir9j1haq2jbi7aip6k2fa9l7q1l03k4hp1awxhjhcwzsnwp3ll8"))))
-    (outputs '("out" "doc"))
-    (build-system python-build-system)
-    (propagated-inputs
-     (list python-appdirs python-importlib-metadata))
-    (native-inputs
-     (list python-setuptools-scm
-           python-sphinx
-           python-rst.linker
-           python-pytest
-           python-pytest-runner
-           python-jaraco-packaging))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'build 'build-doc
-           (lambda _
-             (setenv "LANG" "en_US.UTF-8")
-             (invoke "python" "setup.py" "build_sphinx")))
-         (add-after 'install 'install-doc
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((data (string-append (assoc-ref outputs "doc") "/share"))
-                    (doc (string-append data "/doc/" ,name "-" ,version))
-                    (html (string-append doc "/html")))
-               (mkdir-p html)
-               (for-each (lambda (file)
-                           (copy-file file (string-append doc "/" file)))
-                         '("README.rst" "CHANGES.rst"))
-               (copy-recursively "build/sphinx/html" html)
-               #t)))
-         (replace 'check
-           (lambda _
-             ;; The import time test aborts if an import takes longer than
-             ;; 100ms.  It may very well take a little longer than that.
-             (invoke "pytest" "-v" "-k" "not test_import_time"))))))
-    (home-page "https://github.com/jaraco/path.py")
-    (synopsis "Python module wrapper for built-in os.path")
-    (description
-     "@code{path.py} implements path objects as first-class entities, allowing
-common operations on files to be invoked on those path objects directly.")
-    (license license:expat)))
-
 (define-public python-simplegeneric
   (package
     (name "python-simplegeneric")
@@ -12800,6 +12749,9 @@ (define-public python-path
                               (package-properties
                                python-path-bootstrap)))))
 
+(define-public python-pathpy
+  (deprecated-package "python-pathpy" python-path))
+
 (define-public python-pretend
   (package
     (name "python-pretend")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 070/232] gnu: python-pytest-shutil: Adjust to use python-path.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (67 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 069/232] gnu: python-pathpy: Deprecate by python-path Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 071/232] gnu: python-pytest-cov: Update to 3.0.0 Maxim Cournoyer
                     ` (30 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-check.scm (python-pytest-shutil)
[phases]{use-path-instead-of-path.py}: New phase.
[propagated-inputs]: Replace python-path.py with python-path.
---
 gnu/packages/python-check.scm | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 564d41c323..6966d96c64 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -1079,6 +1079,12 @@ (define-public python-pytest-shutil
     (arguments
      `(#:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'use-path-instead-of-path.py
+           ;; path.py is obsolete.
+           (lambda _
+             (substitute* "setup.py"
+               (("'path.py'")
+                "'path'"))))
          (add-after 'unpack 'patch-tests
            (lambda _
              (mkdir "/tmp/bin")
@@ -1086,11 +1092,9 @@ (define-public python-pytest-shutil
                (("dirname = '/bin'")
                 "dirname = '/tmp/bin'")
                (("bindir = os.path.realpath\\('/bin'\\)")
-                "bindir = os.path.realpath('/tmp/bin')"))
-             #t)))))
+                "bindir = os.path.realpath('/tmp/bin')")))))))
     (propagated-inputs
-     (list python-contextlib2 python-execnet python-pathpy
-           python-termcolor))
+     (list python-contextlib2 python-execnet python-path python-termcolor))
     (native-inputs
      (list python-mock python-pytest python-setuptools-git))
     (home-page "https://github.com/manahl/pytest-plugins")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 071/232] gnu: python-pytest-cov: Update to 3.0.0.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (68 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 070/232] gnu: python-pytest-shutil: Adjust to use python-path Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 072/232] gnu: Add python-scikit-build Maxim Cournoyer
                     ` (29 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

This restores the package compatibility with python-pytest-xdist.

* gnu/packages/check.scm (python-pytest-cov): Update to 3.0.0.
(python2-pytest-cov): Delete package.
---
 gnu/packages/check.scm | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index c67a6f2675..b7a5a9bd46 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -1150,13 +1150,13 @@ (define-public python-pytest-assume
 (define-public python-pytest-cov
   (package
     (name "python-pytest-cov")
-    (version "2.8.1")
+    (version "3.0.0")
     (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "pytest-cov" version))
         (sha256
-         (base32 "0avzlk9p4nc44k7lpx9109dybq71xqnggxb9f4hp0l64pbc44ryc"))))
+         (base32 "0w6lfv8gc1lxmnvsz7mq5z9shxac5zz6s9mwrai108kxc6qzbw77"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -1178,9 +1178,6 @@ (define-public python-pytest-cov
 supports coverage of subprocesses.")
   (license license:expat)))
 
-(define-public python2-pytest-cov
-  (package-with-python2 python-pytest-cov))
-
 (define-public python-pytest-httpserver
   (package
     (name "python-pytest-httpserver")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 072/232] gnu: Add python-scikit-build.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (69 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 071/232] gnu: python-pytest-cov: Update to 3.0.0 Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 073/232] gnu: python-jupyter-packaging: Update to 0.12.0, run test suite Maxim Cournoyer
                     ` (28 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-scikit-build): New variable.
---
 gnu/packages/python-xyz.scm | 87 +++++++++++++++++++++++++++++++++++++
 1 file changed, 87 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index dc508df4a3..e1ab0ab048 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -187,6 +187,7 @@ (define-module (gnu packages python-xyz)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages networking)
   #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages ninja)
   #:use-module (gnu packages openstack)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages pdf)
@@ -28227,6 +28228,92 @@ (define-public python-sane
                ;; Yet another variant of the X/MIT license.
                "https://github.com/python-pillow/Sane/blob/master/COPYING"))))
 
+(define-public python-scikit-build
+  (package
+    (name "python-scikit-build")
+    (version "0.14.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "scikit-build" version))
+       (sha256
+        (base32 "1wx1m9vnxnnz59lyaisgyxldp313kciyd4af8lf112vb8vbjy9yk"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-cmake-executable
+            (lambda* (#:key inputs #:allow-other-keys)
+              (substitute* "skbuild/constants.py"
+                (("^(CMAKE_DEFAULT_EXECUTABLE = ).*" _ head)
+                 (format #f "~a ~s~%" head
+                         (search-input-file inputs "bin/cmake"))))))
+          ;; XXX: PEP 517 manual build copied from python-isort.
+          (replace 'build
+            (lambda _
+              (setenv "SOURCE_DATE_EPOCH" "315532800")
+              (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                ;; These tests attempt to pull dependencies from the Internet.
+                (delete-file "tests/test_distribution.py")
+                (delete-file "tests/test_pep518.py")
+                (invoke "pytest" "-vv"
+                        "-n" (number->string (parallel-job-count))
+                        "-k" (string-append
+                              ;; These tests attempt to write to read-only
+                              ;; Python install directory.
+                              "not test_install_command "
+                              "and not test_test_command "
+                              "and not test_hello_develop "
+                              ;; These sdist-related tests fail for unknown
+                              ;; reasons (see:
+                              ;; https://github.com/scikit-build/scikit-build/issues/689).
+                              "and not test_hello_sdist_with_base "
+                              "and not test_manifest_in_sdist "
+                              "and not test_hello_sdist "
+                              "and not test_sdist_with_symlinks "
+                              ;; The reason for the failure of this one is
+                              ;; also unknown.
+                              "and not test_generator_cleanup")))))
+          (replace 'install
+            (lambda _
+              (let ((whl (car (find-files "dist" "\\.whl$"))))
+                (invoke "pip" "--no-cache-dir" "--no-input"
+                        "install" "--no-deps" "--prefix" #$output whl)))))))
+    (native-inputs
+     (list cmake-minimal
+           gfortran
+           git-minimal
+           ninja
+           python-coverage
+           python-cython
+           python-mock
+           python-packaging
+           python-path
+           python-pypa-build
+           python-pytest
+           python-pytest-cov
+           python-pytest-mock
+           python-pytest-virtualenv
+           python-pytest-xdist
+           python-requests
+           python-setuptools-scm
+           python-wheel))
+    (propagated-inputs
+     (list python-distro python-packaging python-wheel))
+    (home-page "https://github.com/scikit-build/scikit-build")
+    (synopsis "Build system generator for Python C/C++/Fortran/Cython extensions")
+    (description "Scikit-build is an improved build system generator for
+CPython C/C++/Fortran/Cython extensions.  It has support for additional
+compilers, build systems, cross compilation, and locating dependencies and
+determining their build requirements.  The scikit-build package is
+fundamentally just glue between the @code{setuptools} Python module and
+CMake.")
+    (license license:expat)))
+
 (define-public python-screenkey
   (package
     (name "python-screenkey")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 073/232] gnu: python-jupyter-packaging: Update to 0.12.0, run test suite.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (70 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 072/232] gnu: Add python-scikit-build Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 074/232] gnu: python-scipy: Move input fields below arguments field Maxim Cournoyer
                     ` (27 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/jupyter.scm (python-jupyter-packaging): Update to 0.12.0.
[arguments]: New field.
---
 gnu/packages/jupyter.scm | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/jupyter.scm b/gnu/packages/jupyter.scm
index dd5d2a5a55..ce3f1b1384 100644
--- a/gnu/packages/jupyter.scm
+++ b/gnu/packages/jupyter.scm
@@ -21,6 +21,7 @@
 
 (define-module (gnu packages jupyter)
   #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix gexp)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
@@ -214,15 +215,29 @@ (define-public python-jupyterlab-pygments
 (define-public python-jupyter-packaging
   (package
     (name "python-jupyter-packaging")
-    (version "0.9.1")
+    (version "0.12.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "jupyter_packaging" version))
        (sha256
         (base32
-         "0r015c0m713d19asmpimsw6bk2sqv2lpd2nccgjzjdj5h1crg0bg"))))
+         "1b7ssc627vgrdl21c09w9sxk5fc1ps3g7f70laxag4yw1bb5ax5j"))))
     (build-system python-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                ;; Disable isolation so that the package environment can be
+                ;; setup without connectivity.
+                (setenv "SOURCE_DATE_EPOCH" "315532800")
+                (substitute* "tests/test_build_api.py"
+                  (("\"-m\", \"build\"" all)
+                   (string-append all ", \"--no-isolation\"")))
+                (invoke "python" "-m" "pytest" "-vv")))))))
     (propagated-inputs
      (list python-deprecation python-packaging python-setuptools
            python-tomlkit python-wheel))
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 074/232] gnu: python-scipy: Move input fields below arguments field.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (71 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 073/232] gnu: python-jupyter-packaging: Update to 0.12.0, run test suite Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 075/232] gnu: python-scipy: Update to 1.8.0 and enable parallel build Maxim Cournoyer
                     ` (26 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-science.scm (python-scipy): Move inputs fields below the
arguments field.
[phases]: Use gexp.
{configure-openblas}: Use this-package-input.
{check}: Remove extraneous 'add-installed-pythonpath' call.
{install-doc}: Adjust accordingly.
---
 gnu/packages/python-science.scm | 155 ++++++++++++++++----------------
 1 file changed, 77 insertions(+), 78 deletions(-)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 07d713e013..dfe6a66e61 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -6,7 +6,7 @@
 ;;; Copyright © 2016, 2022 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016-2020, 2022 Marius Bakke <marius@gnu.org>
 ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2019, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2019, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
@@ -79,49 +79,36 @@ (define-public python-scipy
        (uri (pypi-uri "scipy" version))
        (sha256
         (base32 "1gxsnw6viz2j3sm8ak2a8l7fcn4b2zm3kzfm8w57xxyyrzx7an5b"))))
-    (build-system python-build-system)
-    (propagated-inputs
-     (list python-numpy python-matplotlib python-pyparsing))
-    (inputs
-     (list openblas pybind11))
-    (native-inputs
-     (list python-cython
-           python-pydata-sphinx-theme
-           python-pytest
-           python-sphinx
-           python-sphinx-panels
-           python-numpydoc
-           gfortran
-           perl
-           which))
     (outputs '("out" "doc"))
+    (build-system python-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'disable-pythran
-           (lambda _
-             (setenv "SCIPY_USE_PYTHRAN" "0")))
-         (add-before 'build 'change-home-dir
-           (lambda _
-             ;; Change from /homeless-shelter to /tmp for write permission.
-             (setenv "HOME" "/tmp")))
-         (add-after 'unpack 'disable-broken-tests
-           (lambda _
-             (substitute* "scipy/sparse/linalg/dsolve/tests/test_linsolve.py"
-               (("^( +)def test_threads_parallel\\(self\\):" m indent)
-                (string-append indent
-                               "@pytest.mark.skip(reason=\"Disabled by Guix\")\n"
-                               m)))
-             (substitute* "scipy/sparse/linalg/eigen/arpack/tests/test_arpack.py"
-               (("^def test_parallel_threads\\(\\):" m)
-                (string-append "@pytest.mark.skip(reason=\"Disabled by Guix\")\n"
-                               m)))))
-         (add-before 'build 'configure-openblas
-           (lambda* (#:key inputs #:allow-other-keys)
-             (call-with-output-file "site.cfg"
-               (lambda (port)
-                 (format port
-                         "[blas]
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'disable-pythran
+            (lambda _
+              (setenv "SCIPY_USE_PYTHRAN" "0")))
+          (add-before 'build 'change-home-dir
+            (lambda _
+              ;; Change from /homeless-shelter to /tmp for write permission.
+              (setenv "HOME" "/tmp")))
+          (add-after 'unpack 'disable-broken-tests
+            (lambda _
+              (substitute* "scipy/sparse/linalg/dsolve/tests/test_linsolve.py"
+                (("^( +)def test_threads_parallel\\(self\\):" m indent)
+                 (string-append indent
+                                "@pytest.mark.skip(reason=\"Disabled by Guix\")\n"
+                                m)))
+              (substitute* "scipy/sparse/linalg/eigen/arpack/tests/test_arpack.py"
+                (("^def test_parallel_threads\\(\\):" m)
+                 (string-append "@pytest.mark.skip(reason=\"Disabled by Guix\")\n"
+                                m)))))
+          (add-before 'build 'configure-openblas
+            (lambda _
+              (call-with-output-file "site.cfg"
+                (lambda (port)
+                  (format port
+                          "[blas]
 libraries = openblas
 library_dirs = ~a/lib
 include_dirs = ~a/include
@@ -131,42 +118,54 @@ (define-public python-scipy
 library_dirs = ~a/lib
 atlas_libs = openblas
 "
-                         (assoc-ref inputs "openblas")
-                         (assoc-ref inputs "openblas")
-                         (assoc-ref inputs "openblas"))))))
-         (add-after 'install 'install-doc
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((data (string-append (assoc-ref outputs "doc") "/share"))
-                    (doc (string-append data "/doc/" ,name "-" ,version))
-                    (html (string-append doc "/html"))
-                    (pyver ,(string-append "PYVER=" (version-major+minor
-                                                     (package-version python))))
-                    ;; By default it tries to run sphinx-build through the Python
-                    ;; interpreter which won't work with our shell wrapper.
-                    (sphinxbuild "SPHINXBUILD=LANG=C sphinx-build"))
-               ;; Make installed package available for building the
-               ;; documentation
-               (add-installed-pythonpath inputs outputs)
-               (with-directory-excursion "doc"
-                 ;; Fix generation of images for mathematical expressions.
-                 (substitute* (find-files "source" "conf\\.py")
-                   (("pngmath_use_preview = True")
-                    "pngmath_use_preview = False"))
-                 (mkdir-p html)
-                 (invoke "make" "html" pyver sphinxbuild)
-                 (with-directory-excursion "build/html"
-                   (for-each (lambda (file)
-                               (let* ((dir (dirname file))
-                                      (tgt-dir (string-append html "/" dir)))
-                                 (install-file file html)))
-                             (find-files ".")))))))
-         (replace 'check
-           (lambda* (#:key tests? inputs outputs #:allow-other-keys)
-             (when tests?
-               (add-installed-pythonpath inputs outputs)
-               (with-directory-excursion "/tmp"
-                 (invoke "python" "-c"
-                         "import scipy; scipy.test(verbose=2)"))))))))
+                          #$(this-package-input "openblas")
+                          #$(this-package-input "openblas")
+                          #$(this-package-input "openblas"))))))
+          (add-after 'install 'install-doc
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (let* ((data (string-append (assoc-ref outputs "doc") "/share"))
+                     (doc (string-append data "/doc/" #$name "-" #$version))
+                     (html (string-append doc "/html"))
+                     (pyver (string-append "PYVER="
+                                           #$(version-major+minor
+                                              (package-version python))))
+                     ;; By default it tries to run sphinx-build through the Python
+                     ;; interpreter which won't work with our shell wrapper.
+                     (sphinxbuild "SPHINXBUILD=LANG=C sphinx-build"))
+                ;; Make installed package available for building the
+                ;; documentation
+                (add-installed-pythonpath inputs outputs)
+                (with-directory-excursion "doc"
+                  ;; Fix generation of images for mathematical expressions.
+                  (substitute* (find-files "source" "conf\\.py")
+                    (("pngmath_use_preview = True")
+                     "pngmath_use_preview = False"))
+                  (mkdir-p html)
+                  (invoke "make" "html" pyver sphinxbuild)
+                  (with-directory-excursion "build/html"
+                    (for-each (lambda (file)
+                                (let* ((dir (dirname file))
+                                       (tgt-dir (string-append html "/" dir)))
+                                  (install-file file html)))
+                              (find-files ".")))))))
+          (replace 'check
+            (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+              (when tests?
+                (with-directory-excursion "/tmp"
+                  (invoke "python" "-c"
+                          "import scipy; scipy.test(verbose=2)"))))))))
+    (propagated-inputs (list python-numpy python-matplotlib python-pyparsing))
+    (inputs (list openblas pybind11))
+    (native-inputs
+     (list python-cython
+           python-pydata-sphinx-theme
+           python-pytest
+           python-sphinx
+           python-sphinx-panels
+           python-numpydoc
+           gfortran
+           perl
+           which))
     (home-page "https://www.scipy.org/")
     (synopsis "The Scipy library provides efficient numerical routines")
     (description "The SciPy library is one of the core packages that make up
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 075/232] gnu: python-scipy: Update to 1.8.0 and enable parallel build.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (72 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 074/232] gnu: python-scipy: Move input fields below arguments field Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 076/232] gnu: Add java-antlr4-runtime-cpp Maxim Cournoyer
                     ` (25 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-science.scm (python-scipy): Update to 1.8.0.
[modules]: New argument.
[phases]{disable-broken-tests}: Delete phase.
{configure-openblas}: Streamline configuration template.
{parallelize-build}: New phase.
{install-doc}: Move before 'check phase.  Remove now extraneous
'add-installed-pythonpath' call.  Remove the SPHINXBUILD and PYVER Make
variables, as well as conf.py patching.  Provide SPHINXOPTS to build doc in
parallel.  Simply recursively copy the 'html' output directory to install the
doc.
{check}: Remove extraneous INPUTS and OUTPUTS arguments.  Start tests with the
'runtests.py' launcher, which accepts a '-j' argument to run the tests in
parallel.
[native-inputs]: Sort inputs.  Add python-pytest-xdist and
python-threadpoolctl.
[home-page]: Update.
---
 gnu/packages/python-science.scm | 91 +++++++++++++--------------------
 1 file changed, 36 insertions(+), 55 deletions(-)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index dfe6a66e61..1852a16047 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -72,17 +72,20 @@ (define-module (gnu packages python-science)
 (define-public python-scipy
   (package
     (name "python-scipy")
-    (version "1.7.3")
+    (version "1.8.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "scipy" version))
        (sha256
-        (base32 "1gxsnw6viz2j3sm8ak2a8l7fcn4b2zm3kzfm8w57xxyyrzx7an5b"))))
+        (base32 "1gghkwn93niyasm36333xbqrnn3yiadq9d97wnc9mg14nzbg5m1i"))))
     (outputs '("out" "doc"))
     (build-system python-build-system)
     (arguments
      (list
+      #:modules '((guix build utils)
+                  (guix build python-build-system)
+                  (ice-9 format))
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'disable-pythran
@@ -92,81 +95,59 @@ (define-public python-scipy
             (lambda _
               ;; Change from /homeless-shelter to /tmp for write permission.
               (setenv "HOME" "/tmp")))
-          (add-after 'unpack 'disable-broken-tests
-            (lambda _
-              (substitute* "scipy/sparse/linalg/dsolve/tests/test_linsolve.py"
-                (("^( +)def test_threads_parallel\\(self\\):" m indent)
-                 (string-append indent
-                                "@pytest.mark.skip(reason=\"Disabled by Guix\")\n"
-                                m)))
-              (substitute* "scipy/sparse/linalg/eigen/arpack/tests/test_arpack.py"
-                (("^def test_parallel_threads\\(\\):" m)
-                 (string-append "@pytest.mark.skip(reason=\"Disabled by Guix\")\n"
-                                m)))))
           (add-before 'build 'configure-openblas
             (lambda _
               (call-with-output-file "site.cfg"
                 (lambda (port)
                   (format port
-                          "[blas]
+                          "\
+[blas]
 libraries = openblas
 library_dirs = ~a/lib
-include_dirs = ~a/include
+include_dirs = ~:*~a/include
 
-# backslash-n to make emacs happy
-\n[atlas]
-library_dirs = ~a/lib
-atlas_libs = openblas
-"
-                          #$(this-package-input "openblas")
-                          #$(this-package-input "openblas")
-                          #$(this-package-input "openblas"))))))
-          (add-after 'install 'install-doc
-            (lambda* (#:key inputs outputs #:allow-other-keys)
+[atlas]
+library_dirs = ~:*~a/lib
+atlas_libs = openblas~%"  #$(this-package-input "openblas"))))))
+          (add-before 'build 'parallelize-build
+            (lambda _
+              (setenv "NPY_NUM_BUILD_JOBS"
+                      (number->string (parallel-job-count)))))
+          (add-before 'check 'install-doc
+            (lambda* (#:key outputs #:allow-other-keys)
               (let* ((data (string-append (assoc-ref outputs "doc") "/share"))
                      (doc (string-append data "/doc/" #$name "-" #$version))
-                     (html (string-append doc "/html"))
-                     (pyver (string-append "PYVER="
-                                           #$(version-major+minor
-                                              (package-version python))))
-                     ;; By default it tries to run sphinx-build through the Python
-                     ;; interpreter which won't work with our shell wrapper.
-                     (sphinxbuild "SPHINXBUILD=LANG=C sphinx-build"))
-                ;; Make installed package available for building the
-                ;; documentation
-                (add-installed-pythonpath inputs outputs)
+                     (html (string-append doc "/html")))
                 (with-directory-excursion "doc"
-                  ;; Fix generation of images for mathematical expressions.
-                  (substitute* (find-files "source" "conf\\.py")
-                    (("pngmath_use_preview = True")
-                     "pngmath_use_preview = False"))
+                  ;; Build doc.
+                  (invoke "make" "html"
+                          ;; Building the documentation takes a very long time.
+                          ;; Parallelize it.
+                          (string-append "SPHINXOPTS=-j"
+                                         (number->string (parallel-job-count))))
+                  ;; Install doc.
                   (mkdir-p html)
-                  (invoke "make" "html" pyver sphinxbuild)
-                  (with-directory-excursion "build/html"
-                    (for-each (lambda (file)
-                                (let* ((dir (dirname file))
-                                       (tgt-dir (string-append html "/" dir)))
-                                  (install-file file html)))
-                              (find-files ".")))))))
+                  (copy-recursively "build/html" html)))))
           (replace 'check
-            (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+            (lambda* (#:key tests? #:allow-other-keys)
               (when tests?
-                (with-directory-excursion "/tmp"
-                  (invoke "python" "-c"
-                          "import scipy; scipy.test(verbose=2)"))))))))
+                (invoke "./runtests.py" "-vv" "--no-build" "--mode=fast"
+                        "-j" (number->string (parallel-job-count)))))))))
     (propagated-inputs (list python-numpy python-matplotlib python-pyparsing))
     (inputs (list openblas pybind11))
     (native-inputs
-     (list python-cython
+     (list gfortran
+           perl
+           python-cython
+           python-numpydoc
            python-pydata-sphinx-theme
            python-pytest
+           python-pytest-xdist
            python-sphinx
            python-sphinx-panels
-           python-numpydoc
-           gfortran
-           perl
+           python-threadpoolctl
            which))
-    (home-page "https://www.scipy.org/")
+    (home-page "https://scipy.org/")
     (synopsis "The Scipy library provides efficient numerical routines")
     (description "The SciPy library is one of the core packages that make up
 the SciPy stack.  It provides many user-friendly and efficient numerical
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 076/232] gnu: Add java-antlr4-runtime-cpp.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (73 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 075/232] gnu: python-scipy: Update to 1.8.0 and enable parallel build Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 077/232] gnu: Add python-fonttools-next Maxim Cournoyer
                     ` (24 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/java.scm (java-antlr4-runtime-cpp): New variable.
---
 gnu/packages/java.scm | 35 ++++++++++++++++++++++++++++++++++-
 1 file changed, 34 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 43422f383f..539a6e6f6a 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -13,7 +13,7 @@
 ;;; Copyright © 2019, 2020, 2021 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
 ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
-;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com>
 ;;; Copyright © 2021 Mike Gerwitz <mtg@gnu.org>
 ;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com>
@@ -45,6 +45,7 @@ (define-module (gnu packages java)
   #:use-module (guix utils)
   #:use-module (guix gexp)
   #:use-module (guix build-system ant)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system maven)
   #:use-module (guix build-system trivial)
@@ -8619,6 +8620,38 @@ (define-public java-antlr4-runtime
 sources by ANTLR.")
     (license license:bsd-3)))
 
+(define-public java-antlr4-runtime-cpp
+  (package
+    (inherit java-antlr4-runtime)
+    (name "java-antlr4-runtime-cpp")
+    (outputs '("out" "static"))
+    (build-system cmake-build-system)
+    (arguments
+     (list
+      ;; TODO: try to run the tests under
+      ;; runtime-testsuite/test/org/antlr/v4/test/runtime/cpp with antlr4.
+      #:tests? #f                       ;no CMake test target
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'chdir
+            (lambda _
+              (chdir "runtime/Cpp")))
+          (add-after 'install 'move-static-library
+            (lambda* (#:key outputs #:allow-other-keys)
+              (let ((static (assoc-ref outputs "static"))
+                    (libantlr4-runtime.a (search-input-file
+                                          outputs "lib/libantlr4-runtime.a")))
+                (mkdir-p (string-append static "/lib"))
+                (rename-file
+                 libantlr4-runtime.a
+                 (string-append static "/lib/"
+                                (basename libantlr4-runtime.a)))))))))
+    (native-inputs (list pkg-config))
+    (inputs (list `(,util-linux "lib"))) ;libuuid
+    (synopsis "ANTL C++ runtime library")
+    (description "This package contains the C++ runtime library used with C++
+generated sources by ANTLR.")))
+
 (define-public antlr4
   (package
     (inherit java-antlr4-runtime)
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 077/232] gnu: Add python-fonttools-next.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (74 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 076/232] gnu: Add java-antlr4-runtime-cpp Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 078/232] gnu: Add python-afdko Maxim Cournoyer
                     ` (23 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-fonttools-next): New variable.
---
 gnu/packages/python-xyz.scm | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e1ab0ab048..a7f9d6e4be 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -11581,6 +11581,18 @@ (define-public python2-fonttools
                 (base32
                  "0v6399g755f2hn1ry62i5b6gdinf2fpx2966v3bxh6bjw1accb5p")))))))
 
+(define-public python-fonttools-next
+  (package
+    (inherit python-fonttools-full)
+    (version "4.32.0")
+    (source (origin
+              (inherit (package-source python-fonttools-full))
+              (method url-fetch)
+              (uri (pypi-uri "fonttools" version ".zip"))
+              (sha256
+               (base32
+                "14nk43z0dmznypm3zp4sdc04x1y608jawlnmwdkk32a947khvaar"))))))
+
 (define-public python-ly
   (package
     (name "python-ly")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 078/232] gnu: Add python-afdko.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (75 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 077/232] gnu: Add python-fonttools-next Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 079/232] gnu: Add python-cffsubr Maxim Cournoyer
                     ` (22 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/fontutils.scm (python-afdko): New variable.
---
 gnu/packages/fontutils.scm | 139 +++++++++++++++++++++++++++++++++++++
 1 file changed, 139 insertions(+)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index e128ed1003..0c479cd5de 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -53,8 +53,10 @@ (define-module (gnu packages fontutils)
   #:use-module (gnu packages graphics)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages man)
+  #:use-module (gnu packages ninja)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
@@ -134,6 +136,143 @@ (define-public opentype-sanitizer
 them as it goes.")
     (license license:bsd-3)))
 
+(define-public python-afdko
+  (package
+    (name "python-afdko")
+    (version "3.8.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "afdko" version))
+       (sha256
+        (base32 "171r9f7n8fgz37dkcgpzj508lxfafcyzzx43ps12j1z2nk1sk905"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-problematic-requirements
+            (lambda _
+              (substitute* "requirements.txt"
+                ;; Remove lxml because the version requested here is different
+                ;; than the one propagated by the python-fonttools package.
+                (("^lxml==.*") ""))))
+          (add-after 'unpack 'patch-setup.py
+            (lambda _
+              ;; There is no use for Python-provided CMake nor Ninja binaries.
+              (substitute* '("pyproject.toml" "setup.py")
+                ((".*cmake.*") "")
+                ((".*ninja.*") ""))))
+          (add-after 'unpack 'unbundle-antlr4-cpp
+            (lambda* (#:key inputs #:allow-other-keys)
+              (substitute* "CMakeLists.txt"
+                (("^include\\(ExternalAntlr4Cpp).*")
+                 (format #f "include_directories(SYSTEM ~a)"
+                         (search-input-directory inputs
+                                                 "include/antlr4-runtime"))))
+              (substitute* "c/makeotf/lib/hotconv/CMakeLists.txt"
+                (("antlr4_static")
+                 "antlr4-runtime"))))
+          ;; The test suite expects the commands to be Python rather than
+          ;; shell scripts, so move the wrap phase after the tests.
+          (delete 'wrap)
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (setenv "HOME" "/tmp")
+                (invoke "pytest" "-vv"))))
+          (add-after 'check 'wrap
+            (assoc-ref %standard-phases 'wrap))
+          (add-before 'wrap 'wrap-PATH
+            (lambda _
+              ;; The commands execute other commands from this package from
+              ;; PATH; by wrapping them with bindir, they can be found even
+              ;; when the command is run from its store location.
+              (let* ((bindir (string-append #$output "/bin"))
+                     (commands (find-files bindir)))
+                (for-each (lambda (c)
+                            (wrap-program c
+                              `("PATH" prefix (,bindir))))
+                          commands)))))))
+    (native-inputs
+     (list ninja python-pytest python-scikit-build python-wheel))
+    (inputs (list java-antlr4-runtime-cpp `(,util-linux "lib")))
+    (propagated-inputs
+     (list psautohint
+           python-booleanoperations
+           python-defcon
+           python-fontmath
+           python-fonttools-next
+           python-lxml
+           python-tqdm
+           python-ufonormalizer
+           python-ufoprocessor))
+    (home-page "https://github.com/adobe-type-tools/afdko")
+    (synopsis "Adobe Font Development Kit for OpenType")
+    (description "The Adobe Font Development Kit for OpenType (AFDKO) is a set
+of tools for building OpenType font (OTF) files from PostScript and TrueType
+font data.  It includes the following commands:
+@table @command
+@item buildcff2vf
+Assemble a CFF2 variable font from a .designspace file.
+@item buildmasterotfs
+Build master source OpenType/CFF fonts from a @file{.designspace} file
+and UFO master source fonts.
+@item charplot
+@itemx digiplot
+@itemx fontplot
+@itemx fontsetplot
+@itemx hintplot
+@itemx waterfallplot
+Aliases for the corresponding options of the @command{proofpdf} command.
+@item checkoutlinesufo
+Perform outline quality checks.  It can also remove path overlaps.
+@item comparefamily
+Look in a specific directory, examine and report on all the OpenType fonts found.
+@item type1
+@itemx detype1
+Compile and decompile, respectively, a Type 1 font to and from a plain-text
+representation.
+@item makeinstancesufo
+Generate UFO font instances from a set of master UFO fonts.
+@item makeotfexe
+Read all the font data and build the final OpenType font.
+@item makeotf
+This command can be used to prepare the input files needed by
+@command{makeotfexe}.
+@item mergefonts
+Merge one or more fonts into a parent font.
+@item otc2otf
+Extract all OpenType fonts from the parent OpenType Collection font.
+@item otf2otc
+Build an OpenType Collection font file from two or more OpenType font
+files.
+@item otf2ttf
+Converts OpenType-CFF fonts to TrueType.
+@item rotatefont
+Apply a Postscript transform matrix to the source font files.
+@item sfntdiff
+Low-level comparison of two OpenType font files.
+@item sfntedit
+Support table-editing, listing, and checksumming options on
+sfnt-formatted files such as OpenType Format (OTF) or TrueType.
+@item spot
+Dump sfnt data from plain files or Macintosh resource files.
+@item ttfcomponentizer
+Take in a TrueType font and look for a UFO font stored in the same directory.
+Use the UFO's components data to compose matching TrueType glyphs.
+@item ttfdecomponentizer
+Take in a TrueType font and decompose any composite glyphs into simple glyphs.
+@item ttxn
+Make a normalized dump of the font, or of selected tables.
+@item tx
+The @command{tx} (Type eXchange) is a test harness for the CoreType libraries
+but also provides many useful font conversion and analysis facilities.
+@end table")
+    (license license:asl2.0)))
+
+    (license license:asl2.0)))
+
 (define-public python-cu2qu
   (package
     (name "python-cu2qu")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 079/232] gnu: Add python-cffsubr.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (76 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 078/232] gnu: Add python-afdko Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 080/232] gnu: Add skia Maxim Cournoyer
                     ` (21 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/fontutils.scm (python-cffsubr): New variable.
---
 gnu/packages/fontutils.scm | 49 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 0c479cd5de..9d170da953 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -271,6 +271,55 @@ (define-public python-afdko
 @end table")
     (license license:asl2.0)))
 
+(define-public python-cffsubr
+  (package
+    (name "python-cffsubr")
+    (version "0.2.9.post1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "cffsubr" version))
+       (modules '((guix build utils)))
+       (snippet '(delete-file-recursively "external")) ;unbundle ADFKO
+       (sha256
+        (base32 "0p7wyagkmwf4agr6ysgswrpmpifx5rz8dnjbcs2gmj29rwnl2cbb"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-setup.py
+            (lambda _
+              (substitute* '("pyproject.toml"
+                             "setup.py")
+                ;; This is not needed when building the package.
+                (("setuptools-git-ls-files") "")
+                ;; Do not attempt to build the unbundled ADFKO.
+                (("cmdclass\\[\"build_ext\"] = ExecutableBuildExt.*")
+                 ""))))
+          (add-after 'unpack 'patch-tx-path
+            (lambda* (#:key inputs #:allow-other-keys)
+              (define tx (search-input-file inputs "bin/tx"))
+              (substitute* "src/cffsubr/__init__.py"
+                (("TX_EXE = \"tx\"")
+                 (format #f "TX_EXE = ~s" tx))
+                ;; Use the full 'tx' file name directly.
+                (("with path\\(__name__, TX_EXE) as tx_cli:")
+                 "")
+                (("    (return subprocess.run\\(\\[)str\\(tx_cli)(].*)" _ h t)
+                 (format #f "~a~s~a" h tx t)))))
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (invoke "pytest" "-vv")))))))
+    (native-inputs (list python-pytest python-setuptools-scm python-wheel))
+    (inputs (list python-afdko))
+    (propagated-inputs (list python-fonttools))
+    (home-page "https://github.com/adobe-type-tools/cffsubr")
+    (synopsis "Compact Font Format (CFF) subroutinizer")
+    (description "This package provides the @command{cffsubr} command, a
+Compact Font Format (CFF) subroutinizer based on the Adobe Font Development
+Kit for OpenType (AFDKO) @command{tx} tool.")
     (license license:asl2.0)))
 
 (define-public python-cu2qu
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 080/232] gnu: Add skia.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (77 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 079/232] gnu: Add python-cffsubr Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 081/232] gnu: Add python-skia-pathops Maxim Cournoyer
                     ` (20 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/graphics.scm (skia): New variable.
---
 gnu/packages/graphics.scm | 109 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 109 insertions(+)

diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 50f562abc1..16e182b827 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -55,6 +55,7 @@ (define-module (gnu packages graphics)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages boost)
+  #:use-module (gnu packages build-tools)
   #:use-module (gnu packages cdrom)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
@@ -88,6 +89,7 @@ (define-module (gnu packages graphics)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages mp3)
   #:use-module (gnu packages multiprecision)
+  #:use-module (gnu packages ninja)
   #:use-module (gnu packages pciutils)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
@@ -1864,6 +1866,113 @@ (define-public coin3D-4
 and engineering community.")
       (license license:bsd-3)))
 
+(define-public skia
+  ;; Releases follow those of Chromium, about every 6 weeks.  The release
+  ;; version can be found on this page:
+  ;; https://skia.org/docs/user/release/release_notes/.  The commit used
+  ;; should be the last commit, as recommended at
+  ;; https://skia.org/docs/user/release/.
+  (let ((version "98")
+        (revision "0")
+        (commit "55c56abac381e1ae3f0116c410bed81b05e0a38a"))
+    (package
+      (name "skia")
+      (version (git-version version revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://skia.googlesource.com/skia.git")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1ldns2j1g2wj2phlxr9zqkdgs5g64pisxhwxcrq9ijn8a3jhafr2"))))
+      (build-system gnu-build-system)   ;actually GN + Ninja
+      (arguments
+       (list
+        ;; Running the test suite would require 'dm'; unfortunately the tool
+        ;; can only be built for debug builds, which require fetching third
+        ;; party sources.
+        #:tests? #f
+        #:phases
+        #~(modify-phases %standard-phases
+            (replace 'configure
+              (lambda* (#:key inputs #:allow-other-keys)
+                (substitute* "BUILD.gn"
+                  ;; Workaround a bug in the zlib third_party definition, that
+                  ;; fails the build even when zlib is found from the system.
+                  (("deps = \\[ \"//third_party/zlib\" ]")
+                   "deps = []"))
+                (invoke "gn" "gen" "build"
+                        (string-append
+                         ;;
+                         "--args="
+                         "cc=\"gcc\" "              ;defaults to 'cc'
+                         "is_official_build=true "  ;to use system libraries
+                         "is_component_build=true " ;build as a shared library
+                         ;; Specify where locate the harfbuzz and freetype
+                         ;; includes.
+                         (format #f "extra_cflags=[\"-I~a\",\"-I~a\"] "
+                                 (search-input-directory inputs
+                                                         "include/harfbuzz")
+                                 (search-input-directory inputs
+                                                         "include/freetype2"))
+                         ;; Otherwise the validate-runpath phase fails.
+                         "extra_ldflags=[\"-Wl,-rpath=" #$output "/lib\"] "
+                         ;; Disabled, otherwise the build system attempts to
+                         ;; download the SDK at build time.
+                         "skia_use_dng_sdk=false "))))
+            (replace 'build
+              (lambda* (#:key parallel-build? #:allow-other-keys)
+                (let ((job-count (if parallel-build?
+                                     (number->string (parallel-job-count))
+                                     "1")))
+                  (invoke "ninja" "-j" job-count "-C" "build"))))
+            (replace 'install
+              (lambda _
+                ;; Install headers.
+                (for-each (lambda (h)
+                            (install-file h (string-append
+                                             #$output "/include/skia/"
+                                             (dirname h))))
+                          (find-files "." "\\.h$"))
+                ;; Install libraries.
+                (for-each (lambda (lib)
+                            (install-file lib (string-append #$output "/lib")))
+                          (find-files "build" "^lib.*\\.(a|so)"))
+                ;; This pkgconfig file is useful at least to the
+                ;; python-skia-pathops package.
+                (define skia.pc (string-append #$output
+                                               "/lib/pkgconfig/skia.pc"))
+                (mkdir-p (dirname skia.pc))
+                (call-with-output-file skia.pc
+                  (lambda (port)
+                    (format port "\
+prefix=~a
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include/skia
+
+Name: skia
+Description: 2D graphic library for drawing text, geometries and images.
+URL: https://skia.org/
+Version: ~a
+Libs: -L${libdir} -lskia
+Cflags: -I${includedir}~%" #$output #$version))))))))
+      (native-inputs (list gn libjpeg-turbo ninja pkg-config python-wrapper))
+      (inputs (list expat fontconfig freetype harfbuzz mesa libwebp zlib))
+      (home-page "https://skia.org/")
+      (synopsis "2D graphics library")
+      (description "Skia is an open source 2D graphics library.  It can be
+used for drawing text, geometries, and images and has support for:
+@itemize
+@item 3x3 matrices with perspective
+@item antialiasing, transparency, filters
+@item shaders, xfermodes, maskfilters, patheffects
+@item subpixel text
+@end itemize")
+      (license license:bsd-3))))
+
 (define-public superfamiconv
   (package
     (name "superfamiconv")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 081/232] gnu: Add python-skia-pathops.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (78 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 080/232] gnu: Add skia Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 082/232] gnu: Add python-ufolib2 Maxim Cournoyer
                     ` (19 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/fontutils.scm (python-skia-pathops): New variable.
---
 gnu/packages/fontutils.scm | 44 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 9d170da953..f2a76b9492 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -573,6 +573,50 @@ (define-public psautohint
 can be used to hint PostScript fonts.  A Python wrapper is also included.")
     (license license:asl2.0)))
 
+(define-public python-skia-pathops
+  (package
+    (name "python-skia-pathops")
+    (version "0.7.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "skia-pathops" version ".zip"))
+       (modules '((guix build utils)))
+       (snippet '(delete-file-recursively "src/cpp")) ;140+ MiB of stuff
+       (sha256
+        (base32 "1456rclfn6a01c2cchlgyn166zppcjcqij0k5gwmm8gvzsd5rn0r"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'configure-env
+            (lambda _
+              (setenv "BUILD_SKIA_FROM_SOURCE" "0")))
+          (add-after 'unpack 'adjust-c++-language
+            (lambda _
+              ;; Our version of Skia requires c++17.
+              (substitute* "setup.py"
+                (("-std=c\\+\\+14")
+                 "-std=c++17"))))
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (invoke "pytest" "-vv")))))))
+    (native-inputs
+     (list pkg-config
+           python-cython
+           python-pytest
+           python-setuptools-scm
+           unzip))
+    (inputs (list skia))
+    (home-page "https://github.com/fonttools/skia-pathops")
+    (synopsis "Python bindings for the Skia library's Path Ops module")
+    (description "This package provides Python bindings for the Path Ops
+module of the Skia library, performing boolean operations on
+paths (intersection, union, difference, xor).")
+    (license license:bsd-3)))
+
 (define-public python-ufoprocessor
   (package
     (name "python-ufoprocessor")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 082/232] gnu: Add python-ufolib2.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (79 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 081/232] gnu: Add python-skia-pathops Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 083/232] gnu: Add python-compreffor Maxim Cournoyer
                     ` (18 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/fontutils.scm (python-ufolib2): New variable.
---
 gnu/packages/fontutils.scm | 46 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index f2a76b9492..3d8447703f 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -1315,6 +1315,52 @@ (define-public fontforge-20190801
      `(("python" ,python-2)
        ,@(alist-delete "python" (package-inputs fontforge))))))
 
+(define-public python-ufolib2
+  (package
+    (name "python-ufolib2")
+    (version "0.13.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "ufoLib2" version))
+       (sha256
+        (base32 "0yx4i8q5rfyqhr2fj70a7z1bp1jv7bdlr64ww9z4nv9ycbda4x9j"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          ;; XXX: PEP 517 manual build copied from python-isort.
+          (replace 'build
+            (lambda _
+              ;; ZIP does not support timestamps before 1980.
+              (setenv "SOURCE_DATE_EPOCH" "315532800")
+              (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (invoke "pytest" "-vv"))))
+          (replace 'install
+            (lambda _
+              (let ((whl (car (find-files "dist" "\\.whl$"))))
+                (invoke "pip" "--no-cache-dir" "--no-input"
+                        "install" "--no-deps" "--prefix" #$output whl)))))))
+    (native-inputs
+     (list python-pypa-build
+           python-pytest
+           python-setuptools-scm
+           python-wheel))
+    (propagated-inputs (list python-attrs python-fonttools-full))
+    (home-page "https://github.com/fonttools/ufoLib2")
+    (synopsis "Unified Font Object (UFO) font processing library")
+    (description "The ufoLib2 Python library is meant to be a thin
+representation of the Unified Font Object (UFO) version 3 data model, intended
+for programmatic manipulation and fast batch processing of UFOs.  It resembles
+the defcon library, but does without notifications, the layout engine and
+other support classes.  Where useful and possible, ufoLib2 tries to be
+API-compatible with defcon.")
+    (license license:asl2.0)))
+
 (define-public python2-ufolib
   (package
     (name "python2-ufolib")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 083/232] gnu: Add python-compreffor.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (80 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 082/232] gnu: Add python-ufolib2 Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 084/232] gnu: Add python-ufo2ft Maxim Cournoyer
                     ` (17 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/fontutils.scm (python-compreffor): New variable.
---
 gnu/packages/fontutils.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 3d8447703f..8ba435aa61 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -322,6 +322,35 @@ (define tx (search-input-file inputs "bin/tx"))
 Kit for OpenType (AFDKO) @command{tx} tool.")
     (license license:asl2.0)))
 
+(define-public python-compreffor
+  (package
+    (name "python-compreffor")
+    (version "0.5.1.post1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "compreffor" version))
+       (sha256
+        (base32 "1r3wqd67qnz8p6irv68mvadqv1nklgzw53376iarw3pq4gxrma36"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-setup.py
+            (lambda _
+              (substitute* "setup.py"
+                ;; Not actually needed.
+                ((", \"setuptools_git_ls_files\"") "")))))))
+    (native-inputs (list python-pytest python-pytest-runner
+                         python-setuptools-scm))
+    (propagated-inputs (list python-fonttools))
+    (home-page "https://github.com/googlefonts/compreffor")
+    (synopsis "Compact Font Format (CFF) subroutinizer for fontTools")
+    (description "This package provides a Compact Font Format (CFF)
+subroutinizer for fontTools.")
+    (license license:asl2.0)))
+
 (define-public python-cu2qu
   (package
     (name "python-cu2qu")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 084/232] gnu: Add python-ufo2ft.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (81 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 083/232] gnu: Add python-compreffor Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 085/232] gnu: Add python-sfdlib Maxim Cournoyer
                     ` (16 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/fontutils.scm (python-ufo2ft): New variable.
---
 gnu/packages/fontutils.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 8ba435aa61..74b10232b8 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -378,6 +378,36 @@ (define-public python-cu2qu
 @code{fonts_to_quadratic}.")
     (license license:asl2.0)))
 
+(define-public python-ufo2ft
+  (package
+    (name "python-ufo2ft")
+    (version "2.26.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "ufo2ft" version))
+       (sha256
+        (base32 "0a6iq5g6qdxj7nvip8nnf0mf8y5wmpd3wwq0dv7d4nm9bjrh0r6m"))))
+    (build-system python-build-system)
+    (native-inputs (list python-pytest python-pytest-runner))
+    (propagated-inputs
+     (list python-booleanoperations
+           python-cffsubr
+           python-compreffor
+           python-cu2qu
+           python-defcon
+           python-fonttools
+           python-skia-pathops
+           python-ufolib2))
+    (home-page "https://github.com/googlefonts/ufo2ft")
+    (synopsis "Generate OpenType fonts from Unified Font Objects (UFOs)")
+    (description "@code{ufo2ft} (UFO to FontTools) is a fork of @code{ufo2fdk}
+intended to leverage FontTools (a Python library) rather than the Adobe Font
+Development Kit for OpenType (AFDKO), a set of C libraries/utilities so that
+it can be more easily extended.  Like @code{ufo2fdk}, its primary purpose is
+to generate OpenType font binaries from Unified Font Objects (UFOs).")
+    (license license:expat)))
+
 (define-public python-fontmath
   (package
     (name "python-fontmath")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 085/232] gnu: Add python-sfdlib.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (82 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 084/232] gnu: Add python-ufo2ft Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 086/232] gnu: Add font-amiri Maxim Cournoyer
                     ` (15 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/fontutils.scm (python-sfdlib): New variable.
---
 gnu/packages/fontutils.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 74b10232b8..444d1635cb 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -632,6 +632,28 @@ (define-public psautohint
 can be used to hint PostScript fonts.  A Python wrapper is also included.")
     (license license:asl2.0)))
 
+(define-public python-sfdlib
+  (package
+    (name "python-sfdlib")
+    (version "1.2.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/aliftype/sfdLib")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1q61km32i1h3cmn8nazcgsbzpm8q2nxp3kq3glqgfgvlxr1s3brm"))))
+    (build-system python-build-system)
+    (propagated-inputs (list python-ufolib2))
+    (home-page "https://github.com/aliftype/sfdLib")
+    (synopsis "Simple SFD to UFO converter")
+    (description "This package provides the @command{sfd2ufo} command, a
+converter from FontForge’s @acronym{SFD, Spline Font Database} fonts to
+@acronym{UFO, Unified Font Object} fonts.")
+    (license license:bsd-3)))
+
 (define-public python-skia-pathops
   (package
     (name "python-skia-pathops")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 086/232] gnu: Add font-amiri.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (83 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 085/232] gnu: Add python-sfdlib Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 087/232] gnu: Add font-sil-ezra Maxim Cournoyer
                     ` (14 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/fonts.scm (font-amiri): New variable.
---
 gnu/packages/fonts.scm | 46 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index c37303892b..065153e6cf 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -47,6 +47,7 @@
 ;;; Copyright © 2022 Kitzman <kitzman@disroot.org>
 ;;; Copyright © 2021 Wamm K. D. <jaft.r@outlook.com>
 ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
+;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -69,11 +70,13 @@ (define-module (gnu packages fonts)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module (guix build-system font)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system meson)
   #:use-module (guix build-system trivial)
+  #:use-module (gnu packages c)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages compression)
@@ -695,6 +698,49 @@ (define-public font-tex-gyre
 Heros, Pagella, Schola, Termes.")
     (license license:gfl1.0)))
 
+(define-public font-amiri
+  (package
+    (name "font-amiri")
+    (version "0.114")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/aliftype/amiri")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "01d54i68pmy37fhvxv8kld3iqlc1m0vr871zd66y5y4c7kn2v7as"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #:imported-modules `(,@%gnu-build-system-modules
+                           (guix build font-build-system))
+      #:modules `(,@%gnu-build-system-modules
+                  ((guix build font-build-system) #:prefix font:))
+      #:phases #~(modify-phases %standard-phases
+                   (delete 'configure)
+                   (replace 'install
+                     (assoc-ref font:%standard-phases 'install)))))
+    (native-inputs
+     (list python-fonttools
+           python-pcpp
+           python-opentype-sanitizer
+           python-sfdlib
+           python-ufolib2
+           python-ufo2ft
+           python-wrapper))
+    (home-page "https://www.amirifont.org/")
+    (synopsis "Body text Naskh typeface")
+    (description "Amiri (أميري) is a classical Arabic typeface in Naskh style
+for typesetting books and other running text.  Amiri is a revival of the
+typeface pioneered in early 20th century by Bulaq Press in Cairo, also known
+as Amiria Press, after which the font is named.  The uniqueness of this
+typeface comes from its balance between the beauty of Naskh calligraphy on one
+hand and the constraints and requirements of elegant typography on the
+other.")
+    (license license:silofl1.1)))
+
 (define-public font-anonymous-pro
   (package
     (name "font-anonymous-pro")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 087/232] gnu: Add font-sil-ezra.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (84 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 086/232] gnu: Add font-amiri Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 088/232] gnu: Add texlive-bidi Maxim Cournoyer
                     ` (13 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/fonts.scm (font-sil-ezra): New variable.
---
 gnu/packages/fonts.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 065153e6cf..f201e3eab4 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -2041,6 +2041,28 @@ (define-public font-dseg
 This package provides the TrueType fonts.")
     (license license:silofl1.1)))
 
+(define-public font-sil-ezra
+  (package
+    (name "font-sil-ezra")
+    (version "2.51")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://software.sil.org/downloads/r/ezra/EzraSIL-"
+                           version ".zip"))
+       (sha256
+        (base32
+         "1h8cfrvjdwxk963bw359jdg86bycwyyhvviqy6lwcfj7qhzcnszi"))))
+    (build-system font-build-system)
+    (home-page "https://software.sil.org/ezra/")
+    (synopsis "Biblia Hebraica Stuttgartensia (BHS) typography inspired typeface")
+    (description "Ezra SIL is a typeface fashioned after the square letter
+forms of the typography of the Biblia Hebraica Stuttgartensia (BHS), a
+beautiful Old Testament volume familiar to Biblical Hebrew scholars.  This
+font package provides @code{Ezra SIL} as well as @code{Ezra SIL SR}, which has
+a different style of marking.")
+    (license license:expat)))
+
 (define-public font-jetbrains-mono
   (package
     (name "font-jetbrains-mono")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 088/232] gnu: Add texlive-bidi.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (85 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 087/232] gnu: Add font-sil-ezra Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 089/232] gnu: Add font-gfs-ambrosia Maxim Cournoyer
                     ` (12 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/tex.scm (texlive-bidi): New variable.
---
 gnu/packages/tex.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 1ebaceb322..6fc1d4fdbf 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -561,6 +561,52 @@ (define (substitute-commands scripts)
     (license (license:fsf-free "https://www.tug.org/texlive/copying.html"))
     (home-page "https://www.tug.org/texlive/")))
 
+(define-public texlive-bidi
+  (package
+    (name "texlive-bidi")
+    ;; Take the version from texlive-2022.0 as the one from texlive 2021.0 is
+    ;; buggy.
+    (version "36.4")
+    (source (origin
+              (method svn-multi-fetch)
+              (uri (svn-multi-reference
+                    (url (string-append "svn://www.tug.org/texlive/tags/"
+                                        "texlive-2022.0/Master/texmf-dist"))
+                    (locations (list "doc/xelatex/bidi/"
+                                     "source/xelatex/bidi/"))
+                    (revision 62885)))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32
+                "09nfvsjfnms3pclyd2rcivyb5qvzw48b934i3bcl83hv69ix2ks7"))))
+    (outputs '("out" "doc"))
+    (build-system texlive-build-system)
+    (arguments
+     (list
+      #:tex-directory "xelatex/bidi"
+      #:phases #~(modify-phases %standard-phases
+                   (add-after 'unpack 'chdir
+                     (lambda _
+                       (chdir "source/xelatex/bidi")))
+                   (add-after 'install 'install-doc
+                     (lambda* (#:key outputs #:allow-other-keys)
+                       (let ((doc (string-append (assoc-ref outputs "doc")
+                                                 "/share/texmf-dist/doc")))
+                         (mkdir-p doc)
+                         (copy-recursively (string-append #$source "/doc")
+                                           doc)))))))
+    (propagated-inputs (list texlive-generic-iftex
+                             texlive-generic-ltxcmds
+                             texlive-hyperref
+                             texlive-latex-xkeyval
+                             texlive-zref))
+    (home-page "https://ctan.org/pkg/bidi")
+    (synopsis "Bidirectional typesetting in plain TeX and LaTeX using XeTeX")
+    (description "The @code{bidi} package provides a convenient interface for
+typesetting bidirectional texts with plain TeX and LaTeX.  The package
+includes adaptations for use with many other commonly-used packages.")
+    (license license:lppl1.3+)))
+
 (define-public texlive-libkpathsea
   (package/inherit texlive-bin
     (name "texlive-libkpathsea")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 089/232] gnu: Add font-gfs-ambrosia.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (86 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 088/232] gnu: Add texlive-bidi Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 090/232] gnu: python-click: Update to 8.1.2 and honor TESTS? Maxim Cournoyer
                     ` (11 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/fonts.scm (font-gfs-ambrosia): New variable.
---
 gnu/packages/fonts.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index f201e3eab4..46d9872df1 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -269,6 +269,29 @@ (define-public font-lato
 50 Cyrillic-based languages as well as Greek and IPA phonetics.")
     (license license:silofl1.1)))
 
+(define-public font-gfs-ambrosia
+  ;; Based on
+  ;; https://src.fedoraproject.org/rpms/gfs-ambrosia-fonts
+  ;; /blob/rawhide/f/gfs-ambrosia-fonts.spec.
+  (package
+    (name "font-gfs-ambrosia")
+    (version "20080624")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://www.greekfontsociety-gfs.gr/"
+                           "_assets/fonts/GFS_Ambrosia.zip"))
+       (sha256
+        (base32
+         "0vnnsal61slgj9r4q35wiznd4mbcv49dl18n91s3nvv6jzd4r8b4"))))
+    (build-system font-build-system)
+    (home-page "https://www.greekfontsociety-gfs.gr/")
+    (synopsis "GFS Ambrosia, a Greek majuscule font family")
+    (description "GFS Ambrosia is a Greek typeface that has the main
+characteristics of the majuscule forms of the early Christian tradition.  The
+font is provided in the OpenType font (OTF) format.")
+    (license license:silofl1.1)))
+
 (define-public font-gnu-freefont
   (package
     (name "font-gnu-freefont")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 090/232] gnu: python-click: Update to 8.1.2 and honor TESTS?.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (87 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 089/232] gnu: Add font-gfs-ambrosia Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 091/232] gnu: python-flask: Update to 2.1.1 Maxim Cournoyer
                     ` (10 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-click): Update to 8.1.2.
[phases]{fix-paths}: Remove obsolete phase.
{check}: Invoke pytest directly and honor TESTS?.
(python2-click): Delete variable.
---
 gnu/packages/python-xyz.scm | 22 ++++++----------------
 1 file changed, 6 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a7f9d6e4be..a6e9f64ff3 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -3503,30 +3503,23 @@ (define-public python-cli-helpers
 (define-public python-click
   (package
     (name "python-click")
-    (version "7.1.2")
+    (version "8.1.2")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "click" version))
        (sha256
         (base32
-         "06kbzd6sjfkqan3miwj9wqyddfxc2b6hi7p5s4dvqjb3gif2bdfj"))))
+         "0whs38a2i0561kwbgigs6vic9r0a1887m2v1aw3rmv6r2kz0g5s7"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'fix-paths
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((glibc (assoc-ref inputs ,(if (%current-target-system)
-                                                 "cross-libc" "libc"))))
-               (substitute* "src/click/_unicodefun.py"
-                 (("'locale'")
-                  (string-append "'" glibc "/bin/locale'"))))))
          (replace 'check
-           (lambda _
-             (invoke "python" "-m" "pytest"))))))
-    (native-inputs
-     (list python-pytest))
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "pytest" "-vv")))))))
+    (native-inputs (list python-pytest))
     (home-page "https://palletsprojects.com/p/click/")
     (synopsis "Command line library for Python")
     (description
@@ -3536,9 +3529,6 @@ (define-public python-click
 with sensible defaults out of the box.")
     (license license:bsd-3)))
 
-(define-public python2-click
-  (package-with-python2 python-click))
-
 (define-public python-click-5
   (package (inherit python-click)
     (name "python-click")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 091/232] gnu: python-flask: Update to 2.1.1.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (88 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 090/232] gnu: python-click: Update to 8.1.2 and honor TESTS? Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 092/232] gnu: Add python-untangle Maxim Cournoyer
                     ` (9 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-web.scm (python-flask): Update to 2.1.1.
[propagated-inputs]: Add python-asgiref and python-importlib-metadata.
[home-page]: Update.
---
 gnu/packages/python-web.scm | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 7e333916b6..161b50b1b6 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -2991,13 +2991,13 @@ (define-public python-webtest
 (define-public python-flask
   (package
     (name "python-flask")
-    (version "2.0.2")
+    (version "2.1.1")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "Flask" version))
               (sha256
                (base32
-                "1qilnrdakhbw5k951kczdy8ia0wczh0dpp1vi4qhgmfx6klvhbvv"))))
+                "1j0rjly2yhbm566lq2s8543fs7fz86f77abps539djcfalzbvjd8"))))
     (build-system python-build-system)
     (arguments
      '(#:phases
@@ -3009,8 +3009,13 @@ (define-public python-flask
     (native-inputs
      (list python-pytest))
     (propagated-inputs
-     (list python-itsdangerous python-jinja2 python-click python-werkzeug))
-    (home-page "https://www.palletsprojects.com/p/flask/")
+     (list python-asgiref               ;async extra
+           python-click
+           python-importlib-metadata
+           python-itsdangerous
+           python-jinja2
+           python-werkzeug))
+    (home-page "https://palletsprojects.com/p/flask/")
     (synopsis "Microframework based on Werkzeug, Jinja2 and good intentions")
     (description "Flask is a micro web framework based on the Werkzeug toolkit
 and Jinja2 template engine.  It is called a micro framework because it does not
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 092/232] gnu: Add python-untangle.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (89 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 091/232] gnu: python-flask: Update to 2.1.1 Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:56   ` [bug#55104] [PATCH 093/232] gnu: python-black: Update to 22.3.0 Maxim Cournoyer
                     ` (8 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/xml.scm (python-untangle): New variable.
---
 gnu/packages/xml.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index db004c11b6..a0d8d20102 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -72,6 +72,7 @@ (define-module (gnu packages xml)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web)
   #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix gexp)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
@@ -2544,6 +2545,35 @@ (define-public python-lxml-4.7
 (define-public python2-lxml
   (package-with-python2 python-lxml))
 
+(define-public python-untangle
+  ;; The latest tagged release is from 2014; use the latest commit.
+  (let ((revision "1")
+        (commit "fb916a9621175d000a3b0ca9322d3b3ebf8570c0"))
+    (package
+      (name "python-untangle")
+      ;; PyPI currently offers some untagged 1.1.1 version.
+      (version (git-version "1.1.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)             ;no tests in pypi archive
+         (uri (git-reference
+               (url "https://github.com/stchris/untangle")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0dn2jz9ajncbqx3pdlgqaxmngl6pdiaz03nj8mkddasckdq9lbrh"))))
+      (build-system python-build-system)
+      (arguments (list #:phases #~(modify-phases %standard-phases
+                                    (replace 'check
+                                      (lambda* (#:key tests? #:allow-other-keys)
+                                        (when tests?
+                                          (invoke "python" "tests/tests.py")))))))
+      (home-page "http://0chris.com/untangle")
+      (synopsis "XML to Python objects conversion library")
+      (description "@code{untangle} is a tiny Python library which converts an
+XML document to a Python object.")
+      (license license:expat))))
+
 (define-public python-xmlschema
   (package
     (name "python-xmlschema")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 093/232] gnu: python-black: Update to 22.3.0.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (90 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 092/232] gnu: Add python-untangle Maxim Cournoyer
@ 2022-04-25  3:56   ` Maxim Cournoyer
  2022-04-25  3:57   ` [bug#55104] [PATCH 094/232] gnu: pylint: Run tests in parallel Maxim Cournoyer
                     ` (7 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:56 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-black): Update to 22.3.0.
[phases]{relax-version-requirements}: Delete phase.
{use-absolute-file-names}: Streamline phase.
{disable-broken-tests, remove-entrypoint}: Delete phases.
---
 gnu/packages/python-xyz.scm | 39 ++++---------------------------------
 1 file changed, 4 insertions(+), 35 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a6e9f64ff3..96a04009bc 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5415,58 +5415,27 @@ (define-public python-pathspec
 (define-public python-black
   (package
     (name "python-black")
-    (version "21.12b0")
+    (version "22.3.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "black" version))
        (sha256
         (base32
-         "1czjwr1bx9ax5l64xfi54sxb1ycdy4s9ciaqg592x7jn79lhzf3p"))))
+         "0yfahlqc7dsdp1js0cbv706apldnfnlbal9b53cww8n0hs40n0im"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         ;; XXX Remove this when updating this package:
-         ;; https://github.com/psf/black/issues/2703#issuecomment-1004752142
-         (add-after 'unpack 'relax-version-requirements
-           (lambda _
-             (substitute* "setup.py"
-               (("tomli[^\"]*\",")
-                "tomli\","))))
          (add-after 'patch-source-shebangs 'use-absolute-file-names
            (lambda* (#:key native-inputs inputs #:allow-other-keys)
              (let* ((inpts (or native-inputs inputs))
-                    (python3 (search-input-file inpts "/bin/python3"))
-                    (/bin/false (search-input-file inpts "/bin/false"))
-                    (/bin/sleep (search-input-file inpts "/bin/sleep")))
+                    (python3 (search-input-file inpts "/bin/python3")))
                (substitute* (find-files "tests" "\\.py$")
                  (("#!/usr/bin/env python3(\\.[0-9]+)?" _ minor-version)
                   (string-append "#!" python3 (if (string? minor-version)
                                                   minor-version
-                                                  ""))))
-               (substitute* "tests/test_primer.py"
-                 (("/bin/false") /bin/false)
-                 (("/bin/sleep") /bin/sleep)))))
-         (add-after 'unpack 'disable-broken-tests
-           (lambda* (#:key outputs inputs #:allow-other-keys)
-             ;; Make installed package available for running the tests
-             (setenv "PATH" (string-append (assoc-ref outputs "out") "/bin"
-                                           ":" (getenv "PATH")))
-
-             ;; The source formatting test fails because we patch various
-             ;; files; just disable it.
-             (substitute* "tests/test_format.py"
-               (("def test_source_is_formatted" all)
-                (format #f "@pytest.mark.skip(\"Disabled by Guix.\")\n~a"
-                        all)))))
-         ;; Remove blackd, because it depends on python-aiohttp and
-         ;; python-aiohttp-cors.
-         (add-after 'unpack 'remove-entrypoint
-           (lambda _
-             (substitute* "setup.py"
-               (("\\s*\"blackd=blackd:patched_main \\[d\\]\",\n") "")
-               (("\"blackd\", ") ""))))
+                                                  "")))))))
          (replace 'check
            (lambda* (#:key tests? #:allow-other-keys)
              (when tests? (invoke "pytest" "-vv")))))))
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 094/232] gnu: pylint: Run tests in parallel.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (91 preceding siblings ...)
  2022-04-25  3:56   ` [bug#55104] [PATCH 093/232] gnu: python-black: Update to 22.3.0 Maxim Cournoyer
@ 2022-04-25  3:57   ` Maxim Cournoyer
  2022-04-25  3:57   ` [bug#55104] [PATCH 095/232] gnu: python-trio: Update to 0.20.0 Maxim Cournoyer
                     ` (6 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:57 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/check.scm (python-pylint)
[phases]{check}: Add the '-n' option to use xdist with pytest.
[native-inputs]: Add python-pytest-xdist.
---
 gnu/packages/check.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index b7a5a9bd46..005a3bde7c 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -2532,9 +2532,10 @@ (define-public python-pylint
                (delete-file "tests/primer/test_primer_external.py")
                (delete-file "tests/testutils/test_package_to_lint.py")
                (setenv "HOME" "/tmp")
-               (invoke "pytest" "-k" "test_functional")))))))
+               (invoke "pytest" "-k" "test_functional"
+                       "-n" (number->string (parallel-job-count)))))))))
     (native-inputs
-     (list python-pytest))
+     (list python-pytest python-pytest-xdist))
     (propagated-inputs
      (list python-astroid
            python-isort
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 095/232] gnu: python-trio: Update to 0.20.0.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (92 preceding siblings ...)
  2022-04-25  3:57   ` [bug#55104] [PATCH 094/232] gnu: pylint: Run tests in parallel Maxim Cournoyer
@ 2022-04-25  3:57   ` Maxim Cournoyer
  2022-04-25  3:57   ` [bug#55104] [PATCH 096/232] gnu: Add python-pydevd Maxim Cournoyer
                     ` (5 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:57 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-trio): Update to 0.20.0.
[phases]{patch-sleep}: New phase.
[change-home]: Delete trailing #t.
{check}: Run tests in parallel.  Disable the
test_cancel_scope_exit_doesnt_create_cyclic_garbage, test_ipython_exc_handler,
test_for_leaking_fds and test_static_tool_sees_all_symbols tests.
[native-inputs]: Add python-pytest-xdist.
---
 gnu/packages/python-xyz.scm | 24 ++++++++++++++++++------
 1 file changed, 18 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 96a04009bc..d987c9cbcd 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -24380,26 +24380,32 @@ (define-public python-outcome
 (define-public python-trio
   (package
     (name "python-trio")
-    (version "0.19.0")
+    (version "0.20.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "trio" version))
        (sha256
-        (base32 "1qgg4zhca81dxc1nlmcr5pl1bclmvdp3niqbyslwxs65bs732pl9"))))
+        (base32 "0w30cwmdwfa8zq2agqv3h62jzwwsk7ms8f683ag8f3jx279m42k7"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'patch-sleep
+           (lambda _
+             (substitute* "trio/tests/test_subprocess.py"
+               (("/bin/sleep")
+                (which "sleep")))))
          (add-before 'check 'change-home
            (lambda _
              ;; Tests require a writable home.
-             (setenv "HOME" "/tmp")
-             #t))
+             (setenv "HOME" "/tmp")))
          (replace 'check
            (lambda* (#:key tests? #:allow-other-keys)
              (when tests?
-               (invoke "pytest" "-vv" "-k"
+               (invoke "pytest" "-vv"
+                       "-n" (number->string (parallel-job-count))
+                       "-k"
                        (string-append
                          ;; This test times out.
                          "not test_ki_protection_works"
@@ -24408,7 +24414,10 @@ (define-public python-trio
                          " and not test_run_in_trio_thread_ki"
                          " and not test_simple_cancel_scope_usage_doesnt_create_cyclic_garbage"
                          " and not test_nursery_cancel_doesnt_create_cyclic_garbage"
+                         " and not test_cancel_scope_exit_doesnt_create_cyclic_garbage"
                          " and not test_locals_destroyed_promptly_on_cancel"
+                         " and not test_ipython_exc_handler"
+                         " and not test_for_leaking_fds"
                          ;; These try to raise KeyboardInterrupt which does not work
                          ;; in the build environment.
                          " and not test_ki_self"
@@ -24417,7 +24426,9 @@ (define-public python-trio
                          " and not test_getnameinfo"
                          " and not test_SocketType_resolve"
                          ;; OSError: protocol not found.
-                         " and not test_getprotobyname"))))))))
+                         " and not test_getprotobyname"
+                         ;; EOFError: Ran out of input.
+                         " and not test_static_tool_sees_all_symbols"))))))))
     (native-inputs
      (list python-astor
            python-ipython
@@ -24425,6 +24436,7 @@ (define-public python-trio
            python-pylint
            python-pyopenssl
            python-pytest
+           python-pytest-xdist
            python-pytest-cov
            python-trustme))
     (propagated-inputs
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 096/232] gnu: Add python-pydevd.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (93 preceding siblings ...)
  2022-04-25  3:57   ` [bug#55104] [PATCH 095/232] gnu: python-trio: Update to 0.20.0 Maxim Cournoyer
@ 2022-04-25  3:57   ` Maxim Cournoyer
  2022-04-25  3:57   ` [bug#55104] [PATCH 097/232] gnu: Add python-debugpy Maxim Cournoyer
                     ` (4 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:57 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-pydevd): New variable.
---
 gnu/packages/python-xyz.scm | 102 ++++++++++++++++++++++++++++++++++++
 1 file changed, 102 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d987c9cbcd..83c2d472c9 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -157,6 +157,7 @@ (define-module (gnu packages python-xyz)
   #:use-module (gnu packages file)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages gdb)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages geo)
   #:use-module (gnu packages ghostscript)
@@ -13016,6 +13017,107 @@ (define-public python-file
 (define-public python2-file
   (package-with-python2 python-file))
 
+(define-public python-pydevd
+  ;; Use the latest commit, which includes cleanups that removes Python 2
+  ;; syntax that would fail to build.
+  (let ((revision "0")
+        (commit "47e298499ef19563bb2ef5941a57046a35ae6868"))
+    (package
+      (name "python-pydevd")
+      (version (git-version "2.8.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/fabioz/PyDev.Debugger")
+               (commit commit)))
+         (modules '((guix build utils)))
+         (snippet '(begin
+                     ;; Delete pre-built binaries.
+                     (for-each delete-file (find-files "." "\\.(so|dylib|dll)"))
+                     ;; This source is generated via Cython.
+                     (delete-file "_pydevd_bundle/pydevd_cython.c")))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1yd017dh6xgxrqcyf8kk8jrr0a3zw895yfjih0z5jghyf0rck38q"))))
+      (build-system python-build-system)
+      (arguments
+       (list
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'unpack 'fix-tests
+              (lambda _
+                (substitute* "tests_python/test_convert_utilities.py"
+                  ;; Add missing trailing '/'.
+                  (("'\\\\\\\\usr\\\\\\\\bin\\\\\\\\') == '/usr/bin" all)
+                   (string-append all "/")))))
+            (add-after 'unpack 'patch-command-paths
+              (lambda* (#:key inputs #:allow-other-keys)
+                (substitute* "_pydevd_bundle/pydevd_api.py"
+                  (("'kill'")
+                   (format #f "~s" (search-input-file inputs "bin/kill")))
+                  (("'pgrep'")
+                   (format #f "~s" (search-input-file inputs "bin/pgrep"))))))
+            (add-after 'unpack 'generate-sources
+              (lambda _
+                (setenv "PYTHONPATH" (getcwd))
+                (invoke "python" "build_tools/build.py")))
+            (add-after 'unpack 'adjust-attach-binary-name
+              (lambda _
+                (substitute*
+                    '("pydevd_tracing.py"
+                      "pydevd_attach_to_process/add_code_to_python_process.py")
+                  (("def get_(target|python_helper_lib)_filename.*" all)
+                   (format #f "~a    return ~s~%" all
+                           (string-append #$output "/lib/attach.so"))))))
+            (add-after 'unpack 'patch-gdb
+              (lambda* (#:key inputs #:allow-other-keys)
+                (substitute*
+                    "pydevd_attach_to_process/add_code_to_python_process.py"
+                  (("'gdb',")
+                   (format #f "~s," (search-input-file inputs "bin/gdb"))))))
+            (add-after 'build 'build-attach-linux-binary
+              (lambda _
+                (invoke #+(cxx-for-target) "-shared" "-o" "attach.so"
+                        "-fPIC" "-nostartfiles"
+                        "pydevd_attach_to_process/linux_and_mac/attach.cpp")))
+            (replace 'check
+              (lambda* (#:key tests? #:allow-other-keys)
+                (when tests?
+                  (setenv "PYDEVD_USE_CYTHON" "YES")
+                  (invoke "pytest" "-vv"
+                          "-n" (number->string (parallel-job-count))
+                          "-k"
+                          (string-append
+                           ;; the GUI event loop requires an X server.
+                           "not test_gui_event_loop_custom "
+                           ;; This test validates that 'pydevd' is not in the
+                           ;; exception message, but it is due to being part
+                           ;; of the build file name present in the message.
+                           "and not test_evaluate_exception_trace")))))
+            (add-after 'install 'install-attach-binary
+              (lambda _
+                (install-file "attach.so"
+                              (string-append #$output "/lib"))))
+            ;; Some modules aren't designed to be loadable by themselves, such
+            ;; as 'pydev_app_engine_debug_startup' and fail.
+            (delete 'sanity-check))))
+      (native-inputs
+       (list python-cython
+             python-numpy
+             python-psutil
+             python-pytest
+             python-pytest-xdist
+             python-trio
+             python-untangle))
+      (inputs (list coreutils gdb procps))
+      (home-page "https://github.com/fabioz/PyDev.Debugger/")
+      (synopsis "Python debugger")
+      (description "PyDev.Debugger is a capable Python debugger used in PyDev
+and other @acronym{IDEs, Integrated Development Environments}.")
+      (license license:epl1.0))))
+
 (define-public python-debian
   (package
     (name "python-debian")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 097/232] gnu: Add python-debugpy.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (94 preceding siblings ...)
  2022-04-25  3:57   ` [bug#55104] [PATCH 096/232] gnu: Add python-pydevd Maxim Cournoyer
@ 2022-04-25  3:57   ` Maxim Cournoyer
  2022-04-25  3:57   ` [bug#55104] [PATCH 098/232] gnu: python-greenlet: Update to 1.1.2 Maxim Cournoyer
                     ` (3 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:57 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-debugpy): New variable.
* gnu/packages/patches/python-debugpy-unbundle-pydevd.patch: New file.
* gnu/local.mk: Register it.
---
 gnu/local.mk                                  |   1 +
 .../python-debugpy-unbundle-pydevd.patch      | 254 ++++++++++++++++++
 gnu/packages/python-xyz.scm                   |  72 +++++
 3 files changed, 327 insertions(+)
 create mode 100644 gnu/packages/patches/python-debugpy-unbundle-pydevd.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 702c430623..0cad8fc7fa 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1679,6 +1679,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/python-argcomplete-1.11.1-fish31.patch	\
   %D%/packages/patches/python-cross-compile.patch		\
   %D%/packages/patches/python-configobj-setuptools.patch	\
+  %D%/packages/patches/python-debugpy-unbundle-pydevd.patch	\
   %D%/packages/patches/python-docopt-pytest6-compat.patch	\
   %D%/packages/patches/python-execnet-read-only-fix.patch	\
   %D%/packages/patches/python-fixtures-remove-monkeypatch-test.patch	\
diff --git a/gnu/packages/patches/python-debugpy-unbundle-pydevd.patch b/gnu/packages/patches/python-debugpy-unbundle-pydevd.patch
new file mode 100644
index 0000000000..7a6ad54489
--- /dev/null
+++ b/gnu/packages/patches/python-debugpy-unbundle-pydevd.patch
@@ -0,0 +1,254 @@
+Allow using pydevd as a regular dependency.
+Submitted upstream at: https://github.com/microsoft/debugpy/pull/902
+
+diff --git a/setup.py b/setup.py
+index 5fc40070..3a530a29 100644
+--- a/setup.py
++++ b/setup.py
+@@ -11,6 +11,9 @@ import subprocess
+ import sys
+ 
+ 
++DEBUGPY_BUNDLING_DISABLED = bool(os.getenv('DEBUGPY_BUNDLING_DISABLED'))
++
++
+ sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
+ import versioneer  # noqa
+ 
+@@ -18,12 +21,15 @@ del sys.path[0]
+ 
+ sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), "src"))
+ import debugpy
+-import debugpy._vendored
++
++if not DEBUGPY_BUNDLING_DISABLED:
++    import debugpy._vendored
+ 
+ del sys.path[0]
+ 
+ 
+-PYDEVD_ROOT = debugpy._vendored.project_root("pydevd")
++PYDEVD_ROOT = (None if DEBUGPY_BUNDLING_DISABLED else
++               debugpy._vendored.project_root("pydevd"))
+ DEBUGBY_ROOT = os.path.dirname(os.path.abspath(debugpy.__file__))
+ 
+ 
+@@ -67,7 +73,7 @@ def iter_vendored_files():
+ # relevant setuptools versions.
+ class ExtModules(list):
+     def __bool__(self):
+-        return True
++        return not DEBUGPY_BUNDLING_DISABLED
+ 
+ 
+ def override_build(cmds):
+@@ -133,9 +139,24 @@ with open("DESCRIPTION.md", "r") as fh:
+ 
+ 
+ if __name__ == "__main__":
+-    if not os.getenv("SKIP_CYTHON_BUILD"):
++    if not (os.getenv("SKIP_CYTHON_BUILD") or DEBUGPY_BUNDLING_DISABLED):
+         cython_build()
+ 
++    # Etch bundling status in the source.
++    if debugpy.__bundling_disabled__ != DEBUGPY_BUNDLING_DISABLED:
++
++        with open(os.path.join(DEBUGBY_ROOT, '__init__.py'), 'r') as f:
++            lines = f.readlines()
++        with open(os.path.join(DEBUGBY_ROOT, '__init__.py'), 'w') as f:
++            edited = []
++            for line in lines:
++                if line.startswith('__bundling_disabled__'):
++                    edited.append(
++                        f'__bundling_disabled__ = {DEBUGPY_BUNDLING_DISABLED}\n')
++                else:
++                    edited.append(line)
++            f.writelines(edited)
++
+     extras = {}
+     platforms = get_buildplatform()
+     if platforms is not None:
+@@ -145,6 +166,18 @@ if __name__ == "__main__":
+     override_build(cmds)
+     override_build_py(cmds)
+ 
++    data = {"debugpy": ["ThirdPartyNotices.txt"]}
++    packages = [
++            "debugpy",
++            "debugpy.adapter",
++            "debugpy.common",
++            "debugpy.launcher",
++            "debugpy.server",
++        ]
++    if not DEBUGPY_BUNDLING_DISABLED:
++        data.update({"debugpy._vendored": list(iter_vendored_files())})
++        packages.append("debugpy._vendored")
++
+     setuptools.setup(
+         name="debugpy",
+         version=versioneer.get_version(),
+@@ -173,20 +206,10 @@ if __name__ == "__main__":
+             "License :: OSI Approved :: MIT License",
+         ],
+         package_dir={"": "src"},
+-        packages=[
+-            "debugpy",
+-            "debugpy.adapter",
+-            "debugpy.common",
+-            "debugpy.launcher",
+-            "debugpy.server",
+-            "debugpy._vendored",
+-        ],
+-        package_data={
+-            "debugpy": ["ThirdPartyNotices.txt"],
+-            "debugpy._vendored": list(iter_vendored_files()),
+-        },
++        packages=packages,
++        package_data=data,
+         ext_modules=ExtModules(),
+-        has_ext_modules=lambda: True,
++        has_ext_modules=lambda: not DEBUGPY_BUNDLING_DISABLED,
+         cmdclass=cmds,
+         **extras
+     )
+diff --git a/src/debugpy/__init__.py b/src/debugpy/__init__.py
+index baa5a7c5..7b7a29aa 100644
+--- a/src/debugpy/__init__.py
++++ b/src/debugpy/__init__.py
+@@ -206,6 +206,8 @@ def trace_this_thread(should_trace):
+ 
+ __version__ = _version.get_versions()["version"]
+ 
++__bundling_disabled__ = False
++
+ # Force absolute path on Python 2.
+ __file__ = os.path.abspath(__file__)
+ 
+diff --git a/src/debugpy/server/__init__.py b/src/debugpy/server/__init__.py
+index e6a1ad66..5f29a87a 100644
+--- a/src/debugpy/server/__init__.py
++++ b/src/debugpy/server/__init__.py
+@@ -4,6 +4,50 @@
+ 
+ from __future__ import absolute_import, division, print_function, unicode_literals
+ 
++from importlib import import_module
++import os
++
+ # "force_pydevd" must be imported first to ensure (via side effects)
+ # that the debugpy-vendored copy of pydevd gets used.
+-import debugpy._vendored.force_pydevd  # noqa
++import debugpy
++if debugpy.__bundling_disabled__:
++    # Do what force_pydevd.py does, but using the system-provided
++    # pydevd.
++
++    # XXX: This is copied here so that the whole '_vendored' directory
++    # can be deleted when DEBUGPY_BUNDLING_DISABLED is set.
++
++    # If debugpy logging is enabled, enable it for pydevd as well
++    if "DEBUGPY_LOG_DIR" in os.environ:
++        os.environ[str("PYDEVD_DEBUG")] = str("True")
++        os.environ[str("PYDEVD_DEBUG_FILE")] = \
++            os.environ["DEBUGPY_LOG_DIR"] + str("/debugpy.pydevd.log")
++
++    # Work around https://github.com/microsoft/debugpy/issues/346.
++    # Disable pydevd frame-eval optimizations only if unset, to allow opt-in.
++    if "PYDEVD_USE_FRAME_EVAL" not in os.environ:
++        os.environ[str("PYDEVD_USE_FRAME_EVAL")] = str("NO")
++
++    # Constants must be set before importing any other pydevd module
++    # due to heavy use of "from" in them.
++    pydevd_constants = import_module('_pydevd_bundle.pydevd_constants')
++    # The default pydevd value is 1000.
++    pydevd_constants.MAXIMUM_VARIABLE_REPRESENTATION_SIZE = 2 ** 32
++
++    # When pydevd is imported it sets the breakpoint behavior, but it needs to be
++    # overridden because by default pydevd will connect to the remote debugger using
++    # its own custom protocol rather than DAP.
++    import pydevd   # noqa
++    import debugpy  # noqa
++
++    def debugpy_breakpointhook():
++        debugpy.breakpoint()
++
++    pydevd.install_breakpointhook(debugpy_breakpointhook)
++
++    # Ensure that pydevd uses JSON protocol
++    from _pydevd_bundle import pydevd_constants
++    from _pydevd_bundle import pydevd_defaults
++    pydevd_defaults.PydevdCustomization.DEFAULT_PROTOCOL = pydevd_constants.HTTP_JSON_PROTOCOL
++else:
++    import debugpy._vendored.force_pydevd  # noqa
+diff --git a/src/debugpy/server/attach_pid_injected.py b/src/debugpy/server/attach_pid_injected.py
+index e6345996..87cfdd53 100644
+--- a/src/debugpy/server/attach_pid_injected.py
++++ b/src/debugpy/server/attach_pid_injected.py
+@@ -8,6 +8,7 @@ from __future__ import absolute_import, division, print_function, unicode_litera
+ 
+ import os
+ 
++import debugpy
+ 
+ __file__ = os.path.abspath(__file__)
+ _debugpy_dir = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
+@@ -30,25 +31,29 @@ def attach(setup):
+                 def on_critical(msg):
+                     print(msg, file=sys.stderr)
+ 
+-                pydevd_attach_to_process_path = os.path.join(
+-                    _debugpy_dir,
+-                    "debugpy",
+-                    "_vendored",
+-                    "pydevd",
+-                    "pydevd_attach_to_process",
+-                )
+-                assert os.path.exists(pydevd_attach_to_process_path)
+-                sys.path.insert(0, pydevd_attach_to_process_path)
+-
+-                # NOTE: that it's not a part of the pydevd PYTHONPATH
+-                import attach_script
++                if debugpy.__bundling_disabled__:
++                    from pydevd_attach_to_process import attach_script
++                else:
++                    pydevd_attach_to_process_path = os.path.join(
++                        _debugpy_dir,
++                        "debugpy",
++                        "_vendored",
++                        "pydevd",
++                        "pydevd_attach_to_process",
++                    )
++                    assert os.path.exists(pydevd_attach_to_process_path)
++                    sys.path.insert(0, pydevd_attach_to_process_path)
++
++                    # NOTE: that it's not a part of the pydevd PYTHONPATH
++                    import attach_script
+ 
+                 attach_script.fix_main_thread_id(
+                     on_warn=on_warn, on_exception=on_exception, on_critical=on_critical
+                 )
+ 
+-                # NOTE: At this point it should be safe to remove this.
+-                sys.path.remove(pydevd_attach_to_process_path)
++                if not debugpy.__bundling_disabled__:
++                    # NOTE: At this point it should be safe to remove this.
++                    sys.path.remove(pydevd_attach_to_process_path)
+             except:
+                 import traceback
+ 
+diff --git a/tests/tests/test_vendoring.py b/tests/tests/test_vendoring.py
+index dd6c4269..28c03702 100644
+--- a/tests/tests/test_vendoring.py
++++ b/tests/tests/test_vendoring.py
+@@ -1,3 +1,8 @@
++import pytest
++
++import debugpy
++
++@pytest.mark.skipif(debugpy.__bundling_disabled__, reason='Bundling disabled')
+ def test_vendoring(pyfile):
+     @pyfile
+     def import_debugpy():
+-- 
+2.34.0
+
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 83c2d472c9..d7a9603e02 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -13118,6 +13118,78 @@ (define-public python-pydevd
 and other @acronym{IDEs, Integrated Development Environments}.")
       (license license:epl1.0))))
 
+(define-public python-debugpy
+  (package
+    (name "python-debugpy")
+    (version "1.6.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference              ;no tests in PyPI archive
+             (url "https://github.com/microsoft/debugpy")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (modules '((guix build utils)))
+       ;; Remove the bundled PyDev-Debugger copy, including its pre-built
+       ;; attach binary.
+       (snippet '(delete-file-recursively "src/debugpy/_vendored"))
+       (patches (search-patches "python-debugpy-unbundle-pydevd.patch"))
+       (sha256
+        (base32
+         "1dpfzs3p51648i7f3fz8dw5d0vrj39iwn1jhn0226idc02ybyqih"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-sh-in-tests
+            (lambda _
+              (substitute* "tests/debugpy/test_run.py"
+                (("#!/bin/sh")
+                 (string-append "#!" (which "sh"))))))
+          (add-after 'unpack 'fix-version
+            ;; Versioneer is useless when there is no git metadata.
+            (lambda _
+              (substitute* "setup.py"
+                (("version=versioneer.get_version\\(),")
+                 (format #f "version=~s," #$version)))))
+          (add-before 'build 'configure
+            (lambda _
+              ;; This adjusts the behavior of debugpy to load pydevd from
+              ;; Python site packages.
+              (setenv "DEBUGPY_BUNDLING_DISABLED" "1")))
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (invoke "pytest" "-vv"
+                      "-n" (number->string (parallel-job-count))
+                      "-k"
+                      (string-append
+                       ;; These tests cannot be run in parallel because their
+                       ;; test data would not be copied by xdist and lead to
+                       ;; import errors. (see:
+                       ;; https://github.com/microsoft/debugpy/issues/342 and
+                       ;; https://github.com/microsoft/debugpy/issues/880).
+                       "not test_custom_python_args "
+                       "and not test_autokill ")))))))
+    (native-inputs
+     ;; See: https://raw.githubusercontent.com/microsoft/debugpy/
+     ;;      main/tests/requirements.txt.
+     (list python-django
+           python-gevent
+           python-flask
+           python-psutil
+           python-pytest
+           python-pytest-cov
+           python-pytest-timeout
+           python-pytest-xdist
+           python-requests))
+    (propagated-inputs (list python-pydevd))
+    (home-page "https://aka.ms/debugpy")
+    (synopsis "Debug Adapter Protocol Python implementation")
+    (description "An implementation of the Debug Adapter Protocol for
+Python.")
+    (license license:expat)))
+
 (define-public python-debian
   (package
     (name "python-debian")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 098/232] gnu: python-greenlet: Update to 1.1.2.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (95 preceding siblings ...)
  2022-04-25  3:57   ` [bug#55104] [PATCH 097/232] gnu: Add python-debugpy Maxim Cournoyer
@ 2022-04-25  3:57   ` Maxim Cournoyer
  2022-04-25  3:57   ` [bug#55104] [PATCH 099/232] gnu: Add python-pytest-forked-next Maxim Cournoyer
                     ` (2 subsequent siblings)
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:57 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-greenlet): Update to 1.1.2.
---
 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 d7a9603e02..ce0172e59f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -16692,13 +16692,13 @@ (define-public python-tftpy
 (define-public python-greenlet
   (package
     (name "python-greenlet")
-    (version "1.1.1")
+    (version "1.1.2")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "greenlet" version))
               (sha256
                (base32
-                "10gllbrcbazxck84nr7dw3js3gq0rxrsr4kkvy5hg542rms2gwn0"))))
+                "0jkln5bf6rq7dbvpv7ypin3pp9jqd2jr91yyxlnfcii3msj5w3z3"))))
     (build-system python-build-system)
     (home-page "https://greenlet.readthedocs.io/")
     (synopsis "Lightweight in-process concurrent programming")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 099/232] gnu: Add python-pytest-forked-next.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (96 preceding siblings ...)
  2022-04-25  3:57   ` [bug#55104] [PATCH 098/232] gnu: python-greenlet: Update to 1.1.2 Maxim Cournoyer
@ 2022-04-25  3:57   ` Maxim Cournoyer
  2022-04-25  3:57   ` [bug#55104] [PATCH 100/232] gnu: python-pytest-xdist-next: Update to 2.5.0 Maxim Cournoyer
  2022-04-25  3:57   ` [bug#55104] [PATCH 101/232] gnu: Add python-ipyparallel-bootstrap Maxim Cournoyer
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:57 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/check.scm (python-pytest-forked-next): New variable.
---
 gnu/packages/check.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 005a3bde7c..5e0b653983 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -1570,6 +1570,23 @@ (define-public python-pytest-forked
 side-effects (such as setting environment variables).")
     (license license:expat)))
 
+(define-public python-pytest-forked-next
+  (package
+    (inherit python-pytest-forked)
+    (name "python-pytest-forked")
+    (version "1.4.0")
+    (source
+     (origin
+       (method git-fetch)               ;for tests
+       (uri (git-reference
+             (url "https://github.com/pytest-dev/pytest-forked")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0j9bbjny7h3b4fig6l26f26c697r67mm62fzdd9m9rqyy2bmnqjs"))))
+    (native-inputs (list python-pytest-bootstrap python-setuptools-scm))))
+
 (define-public python-scripttest
   (package
     (name "python-scripttest")
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 100/232] gnu: python-pytest-xdist-next: Update to 2.5.0.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (97 preceding siblings ...)
  2022-04-25  3:57   ` [bug#55104] [PATCH 099/232] gnu: Add python-pytest-forked-next Maxim Cournoyer
@ 2022-04-25  3:57   ` Maxim Cournoyer
  2022-04-25  3:57   ` [bug#55104] [PATCH 101/232] gnu: Add python-ipyparallel-bootstrap Maxim Cournoyer
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:57 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/check.scm (python-pytest-xdist-next): Update to 2.5.0.
[propagated-inputs]: replace python-pytest-forked with
python-pytest-forked-next.
---
 gnu/packages/check.scm | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 5e0b653983..957d7a4262 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -1483,18 +1483,16 @@ (define-public python2-pytest-xdist
 (define-public python-pytest-xdist-next
   (package/inherit python-pytest-xdist
     (name "python-pytest-xdist")
-    (version "2.3.0")
+    (version "2.5.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "pytest-xdist" version))
        (sha256
         (base32
-         "19cy57jrf3pwi7x6fnbxryjvqagsl0yv736jnynvr3yqhlpxxv78"))))
-    (propagated-inputs
-     `(("python-execnet" ,python-execnet)
-       ("python-pytest" ,python-pytest-6)
-       ("python-pytest-forked" ,python-pytest-forked)))))
+         "1psf5dqxvc38qzxvc305mkg5xpdmdkbkkfiyqlmdnkgh7z5dx025"))))
+    (propagated-inputs (list python-execnet python-pytest
+                             python-pytest-forked-next))))
 
 (define-public python-pytest-timeout
   (package
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 101/232] gnu: Add python-ipyparallel-bootstrap.
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                     ` (98 preceding siblings ...)
  2022-04-25  3:57   ` [bug#55104] [PATCH 100/232] gnu: python-pytest-xdist-next: Update to 2.5.0 Maxim Cournoyer
@ 2022-04-25  3:57   ` Maxim Cournoyer
  99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:57 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

* gnu/packages/python-xyz.scm (python-ipyparallel): Morph into...
(python-ipyparallel-bootstrap): ... this, moving native inputs to a new
definition of...
(python-ipyparallel): ... this.
---
 gnu/packages/python-xyz.scm | 97 ++++++++++++++++++++++---------------
 1 file changed, 58 insertions(+), 39 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ce0172e59f..6a8eb11f64 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8740,47 +8740,41 @@ (define-public python-ipython-genutils
 (define-public python2-ipython-genutils
   (package-with-python2 python-ipython-genutils))
 
-(define-public python-ipyparallel
-  (package
-    (name "python-ipyparallel")
-    (version "6.2.4")
-    (source
+;;; Variant used to break a cycle with python-ipykernel.
+(define-public python-ipyparallel-bootstrap
+  (hidden-package
+   (package
+     (name "python-ipyparallel-bootstrap")
+     (version "6.2.4")
+     (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "ipyparallel" version))
         (sha256
          (base32
           "0rf0dbpxf5z82bw8lsjj45r3wdd4wc74anz4wiiaf2rbjqlb1ivn"))))
-    (build-system python-build-system)
-    (arguments
-     `(#:tests? #f ; RuntimeError: IO Loop failed to start
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'prepare-for-tests
-           (lambda _
-             (setenv "HOME" (getcwd))
-             #t)))))
-    (propagated-inputs
-     (list python-dateutil
-           python-decorator
-           python-ipykernel
-           python-ipython
-           python-ipython-genutils
-           python-jupyter-client
-           python-pyzmq
-           python-tornado
-           python-traitlets))
-    (native-inputs
-     (list python-ipython
-           python-mock
-           python-nose
-           python-pytest
-           python-pytest-cov
-           python-testpath))
-    (home-page "https://ipython.org/")
-    (synopsis "Interactive Parallel Computing with IPython")
-    (description
-     "@code{ipyparallel} is a Python package and collection of CLI scripts for
+     (build-system python-build-system)
+     (arguments
+      (list
+       #:tests? #f
+       #:phases #~(modify-phases %standard-phases
+                    ;; The python-ipykernel is normally propagated but is
+                    ;; removed from this package to break the cycle.
+                    (delete 'sanity-check))))
+     (propagated-inputs
+      (list python-dateutil
+            python-decorator
+            ;; python-ipykernel is omitted here to avoid a cycle.
+            python-ipython
+            python-ipython-genutils
+            python-jupyter-client-bootstrap
+            python-pyzmq
+            python-tornado
+            python-traitlets))
+     (home-page "https://ipython.org/")
+     (synopsis "Interactive Parallel Computing with IPython")
+     (description
+      "@code{ipyparallel} is a Python package and collection of CLI scripts for
 controlling clusters for Jupyter.  @code{ipyparallel} contains the following
 CLI scripts:
 @enumerate
@@ -8788,7 +8782,26 @@ (define-public python-ipyparallel
 @item ipcontroller - start a scheduler
 @item ipengine - start an engine
 @end enumerate")
-    (license license:bsd-3)))
+     (license license:bsd-3))))
+
+(define-public python-ipyparallel
+  (package
+    (inherit python-ipyparallel-bootstrap)
+    (name "python-ipyparallel")
+    (arguments (list #:tests? #t))
+    (native-inputs
+     (list python-ipython
+           python-mock
+           python-nose
+           python-pytest
+           python-pytest-cov
+           python-testpath))
+    (propagated-inputs
+     (modify-inputs (package-propagated-inputs python-ipyparallel-bootstrap)
+       (replace "python-jupyter-client-bootstrap" python-jupyter-client)
+       (append python-ipykernel)))
+    (properties (alist-delete 'hidden? (package-properties
+                                        python-ipyparallel-bootstrap)))))
 
 (define-public python-ipython-cluster-helper
   (package
@@ -9077,10 +9090,16 @@ (define-public python-ipykernel-bootstrap
       (package
         (inherit parent)
         (name "python-ipykernel-bootstrap")
+        (arguments (list #:tests? #f
+                         ;; The package should normally propagate ipykernel,
+                         ;; left out here to break the cycle.
+                         #:phases #~(modify-phases %standard-phases
+                                      (delete 'sanity-check))))
+        (native-inputs '())
         (propagated-inputs
-          `(("python-jupyter-client" ,python-jupyter-client-bootstrap)
-            ,@(fold alist-delete (package-propagated-inputs parent)
-                    '("python-jupyter-client"))))))))
+         (modify-inputs (package-propagated-inputs parent)
+           (replace "python-jupyter-client" python-jupyter-client-bootstrap)
+           (append python-ipyparallel-bootstrap)))))))
 
 (define-public python-pari-jupyter
   (package
-- 
2.34.0





^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 000/232] Update IPython to latest, fix texlive-polyglossia, add more
@ 2022-04-25  3:57 Maxim Cournoyer
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
                   ` (2 more replies)
  0 siblings, 3 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25  3:57 UTC (permalink / raw)
  To: 55104; +Cc: Maxim Cournoyer

Hello Guix!

This is the result of a quest to update IPython (to fix a reported CVE) and
wanting to fix its Texinfo/PDF doc generation.  The later ended up being a
rather deep rabbit hole, hence the following slurry of commits.  The end
result is that we now have an up-to-date IPython and better support to build
Sphinx-based documentation, a working texlive-polyglossia package (at least
for XeLaTeX) and many new font tools that should allow us to build more fonts
from source.

The branch wip-ipython-polyglossia has been used to bulid the branch, so
should you be interested in trying it, the new packages should have
substitutes.

Thanks, and happy 10th Guix anniversary!

Maxim Cournoyer (232):
  gnu: python-ipython: Re-order fields.
  gnu: python-astroid: Propagate python-typing-extensions.
  gnu: Add python-pure-eval.
  gnu: Add python-asttokens.
  gnu: Add python-littleutils.
  gnu: Add python-stack-data.
  gnu: python-traitlets: Update to 5.1.1.
  gnu: python-jinja2: Update to 3.1.1.
  gnu: python-prompt-toolkit: Update to 3.0.29.
  gnu: python-ipython: Update to 8.2.0 [fixes CVE-2022-21699].
  gnu: python-nbformat: Update to 5.3.0.
  gnu: Add texlive-paralist.
  gnu: Add texlive-stix2-otf.
  gnu: Add texlive-metalogo.
  gnu: Add texlive-makecmds.
  gnu: Add texlive-csplain.
  gnu: Add texlive-cs.
  gnu: Add texlive-zref.
  gnu: Add python-pcpp.
  gnu: Add opentype-sanitizer.
  gnu: Add python-opentype-sanitizer.
  gnu: Add python-defcon-bootstrap.
  gnu: Add python-fontmath.
  gnu: Add python-unicodedata2.
  gnu: python-fonttools-with-test: Rename to python-fonttools-full.
  gnu: Add python-mutatormath.
  gnu: Add python-fontpens-bootstrap.
  gnu: Add python-booleanoperations.
  gnu: Add python-fontparts-bootstrap.
  gnu: Add python-fontpens.
  gnu: Add python-defcon.
  gnu: Add python-fontparts.
  gnu: Add python-cu2qu.
  gnu: Add python-ufoprocessor.
  gnu: Add python-ufonormalizer.
  gnu: Add python-types-toml.
  gnu: Add python-pytest-mypy.
  gnu: Add python-jaraco-context-bootstrap.
  gnu: Add python-jaraco-functools-bootstrap.
  gnu: Add python-autocommand.
  gnu: Add python-types-freezegun.
  gnu: Add python-types-pytz.
  gnu: Add python-pytest-freezegun.
  gnu: Add python-pytest-enabler-bootstrap.
  gnu: Add python-path-bootstrap.
  gnu: Add python-pip-run-bootstrap.
  gnu: python-importlib-metadata: Update to 4.11.3.
  gnu: python-pytest-black: Update to 0.3.12.
  gnu: python-mypy: Update to 0.942 and fix search path.
  gnu: Add python-types-docutils.
  gnu: python-pytest-checkdocs: Update to 2.7.1.
  gnu: Add python-jaraco-classes.
  gnu: Add python-jaraco-context.
  gnu: Add python-jaraco-functools.
  gnu: Add python-pytest-enabler.
  gnu: Add python-path.
  gnu: Add python-pip-run.
  gnu: Add python-tempora.
  gnu: Add python-pytest-perf.
  gnu: python-factory-boy: Update to 3.2.1.
  gnu: python-faker: Update to 13.3.4 and honor TESTS?.
  gnu: Add python-pytest-randomly.
  gnu: Add psautohint-font-data.
  gnu: Add psautohint.
  gnu: Add python-ordered-set.
  gnu: Add python-xdoctest.
  gnu: Add python-ubelt.
  gnu: python-setuptools: Update to 62.0.0.
  gnu: python-pathpy: Deprecate by python-path.
  gnu: python-pytest-shutil: Adjust to use python-path.
  gnu: python-pytest-cov: Update to 3.0.0.
  gnu: Add python-scikit-build.
  gnu: python-jupyter-packaging: Update to 0.12.0, run test suite.
  gnu: python-scipy: Move input fields below arguments field.
  gnu: python-scipy: Update to 1.8.0 and enable parallel build.
  gnu: Add java-antlr4-runtime-cpp.
  gnu: Add python-fonttools-next.
  gnu: Add python-afdko.
  gnu: Add python-cffsubr.
  gnu: Add skia.
  gnu: Add python-skia-pathops.
  gnu: Add python-ufolib2.
  gnu: Add python-compreffor.
  gnu: Add python-ufo2ft.
  gnu: Add python-sfdlib.
  gnu: Add font-amiri.
  gnu: Add font-sil-ezra.
  gnu: Add texlive-bidi.
  gnu: Add font-gfs-ambrosia.
  gnu: python-click: Update to 8.1.2 and honor TESTS?.
  gnu: python-flask: Update to 2.1.1.
  gnu: Add python-untangle.
  gnu: python-black: Update to 22.3.0.
  gnu: pylint: Run tests in parallel.
  gnu: python-trio: Update to 0.20.0.
  gnu: Add python-pydevd.
  gnu: Add python-debugpy.
  gnu: python-greenlet: Update to 1.1.2.
  gnu: Add python-pytest-forked-next.
  gnu: python-pytest-xdist-next: Update to 2.5.0.
  gnu: Add python-ipyparallel-bootstrap.
  gnu: python-nest-asyncio: Update to 1.5.5.
  gnu: python-jupyter-core: Update to 4.10.0.
  gnu: python-jupyter-client: Update to 7.2.2.
  gnu: python-ipykernel: Update to 6.13.0.
  gnu: Add python-pytest-tornado.
  gnu: python-ipyparallel: Update to 8.2.1.
  gnu: python-anyio: Update to 3.5.0.
  gnu: python-nbclient: Update to 0.6.0.
  gnu: python-bleach: Update to 5.0.0.
  gnu: Add texlive-unicode-math.
  gnu: Add texlive-lm-math.
  gnu: python-nbconvert: Update to 6.5.0.
  gnu: Add python-jupyter-server-mathjax.
  gnu: python-nbval: Fix build.
  gnu: python-send2trash: Update to 1.8.0 and update home page.
  gnu: python-notebook: Update to 6.4.10.
  gnu: Add python-nbdime.
  gnu: Add python-docrepr.
  gnu: python-sphinx: Propagate TexLive dependencies.
  gnu: Add python-pep621.
  gnu: Add python-sphinx-theme-builder.
  gnu: Add python-sphinx-sitemap.
  gnu: texlive-fontspec: Add missing propagated inputs.
  gnu: texlive-polyglossia: Rename and fix package.
  gnu: Add texlive-cbfonts-fd.
  gnu: Add texlive-cbfonts.
  download: Add a mirror for CTAN.
  gnu: texlive-latex-geometry: Propagate texlive-latex-graphics.
  gnu: Add texlive-cm-lgc.
  gnu: Add texlive-xindy.
  gnu: python-ipython-documentation: Also build info and pdf targets.
  gnu: python-websockets: Update to 10.3 and enable tests.
  gnu: Add python-strict-rfc3339.
  gnu: Add python-rfc3339-validator.
  gnu: Add python-openapi-schema-validator.
  gnu: Add python-openapi-spec-validator.
  gnu: Add python-cbor2.
  gnu: python-httpcore: Update to 0.14.7 and enable tests.
  gnu: Add python-httpcore-bootstrap.
  gnu: Add python-httpx-bootstrap.
  gnu: python-httpx: Update to 0.22.0.
  gnu: python-uvicorn: Update to 0.17.6.
  gnu: Add python-socksio.
  gnu: python-sqlalchemy: Run tests in parallel via xdist.
  gnu: python-sqlalchemy: Update to 1.4.35.
  gnu: Add python-pecan.
  gnu: Add python-aioredis.
  gnu: python-fakeredis: Update to 1.7.1.
  gnu: python-falcon: Update to 3.1.0.
  gnu: Add python-dictpath.
  gnu: Add python-openapi-core.
  gnu: Add python-jupyterlab-server.
  gnu: python-hypothesis-6.23: Update to 6.43.3.
  gnu: python-numpy: Update to 1.21.6 and parallelize build/tests.
  gnu: python-llvmlite: Update to 0.38.0.
  gnu: python-numba: Update to 0.55.1.
  gnu: python-pandas: Build and run tests in parallel.
  gnu: python-pandas: Update to 1.4.2.
  gnu: python-scikit-learn: Parallelize build and test suite.
  gnu: python-pynndescent: Update to 0.5.6.
  gnu: python-umap-learn: Update to 0.5.3.
  gnu: python-jupyter-server: Update to 1.16.0.
  gnu: python-voila: Update to 0.3.5.
  gnu: python-sparqlwrapper: Update to 2.0.0.
  gnu: python-sparqlkernel: Use gexps and fix inputs.
  gnu: python-jupyter-protocol: Update to 0.2.0.
  gnu: python-jupyter-kernel-mgmt: Update to 0.5.1 and disable tests.
  gnu: xeus: Update to 2.4.1.
  gnu: python-types-dataclasses: Fix typo.
  gnu: python-cmarkgfm: Update to 0.8.0.
  gnu: python-readme-renderer: Update to 34.0.
  gnu: mbed-tools: Update to 7.53.0 and relax click version requirement.
  gnu: conan: Update to 1.47.0 and relax PyYAML requirement.
  gnu: python-parse-type: Update to 0.6.0, fixing build.
  gnu: Add python-bson.
  gnu: python-can: Update to 4.0.0.
  gnu: python-amqp: Update to 5.1.1 and enable tests.
  gnu: python-kombu: Update to 5.2.4.
  gnu: python-celery: Update to 5.2.6 and enable tests.
  gnu: Add python-argparse-addons.
  gnu: python-bitstruct: Update to 8.14.0.
  gnu: Add python-toolrack.
  gnu: sshoot: Update to 1.5.1.
  gnu: python-multipart: Fix build with PyYAML 6.
  gnu: Add python-mergedeep.
  gnu: Add python-pyyaml-env-tag.
  gnu: python-ghp-import: Update to 2.0.2.
  gnu: Add python-mdx-gh-links.
  gnu: python-mkdocs: Update to 1.3.0.
  gnu: Add python-crccheck.
  gnu: python-cantools: Update to 37.0.7.
  gnu: python-locust: Update to 2.8.6.
  gnu: Remove python2-jmespath.
  gnu: python-croniter: Update to 1.3.4.
  gnu: python-miio: Update to 0.5.11.
  gnu: Remove python-orator due to being broken and unmaintained.
  gnu: Add python-pydyf.
  gnu: weasyprint: Update to 54.3.
  gnu: seed: Use webkitgtk-with-libsoup2.
  gnu: markets: Add python-wrapper to fix build.
  gnu: libgrss: Use libsoup-minimal-2 to fix build.
  gnu: setzer: Add python-wrapper to fix build.
  gnu: emacsy: Use webkitgtk-with-libsoup2.
  gnu: python-keyring: Fix test suite.
  gnu: Remove python2-keyring.
  gnu: python-pingouin: Update to 0.5.1.
  gnu: python-flask-wtf: Update to 1.0.1.
  gnu: python-flask-login: Update to 0.6.0.
  snippets: Add a 'remove' snippet.
  gnu: python2-sqlalchemy: Skip a failing test.
  gnu: dynaconf: Fix build following python-click upgrade.
  gnu: python-numpydoc: Update to 1.2.1.
  gnu: python-sphinx: Update to 4.5.0.
  gnu: python-pydata-sphinx-theme: Update to 0.7.2.
  gnu: python-sphinx-copybutton: Update to 0.5.0.
  gnu: python-sphinx-click: Update to 4.0.3 and enable tests.
  gnu: python-sphinxcontrib-websupport: Update to 1.2.4.
  gnu: python-sphinxcontrib-programoutput: Update to 0.17 and enable
    tests.
  gnu: python-sphinx-argparse: Update to 0.3.1.
  gnu: python-sphinx-cloud-sptheme: Update to 1.10.1 [still broken].
  gnu: Add python-beartype.
  gnu: Add python-nptyping.
  gnu: python-sphinx-autodoc-typehints: Update to 1.18.1.
  gnu: python-sphinxext-opengraph: Update to 0.6.3.
  gnu: python-sphinx-rtd-theme: Update to 1.0.0.
  gnu: python-numpy-documentation: Overhaul package definition.
  gnu: Add python-ipdb.
  gnu: python-pudb: Update to 2022.1.1 and rename from pudb.
  gnu: Add python-mpl-sphinx-theme.
  gnu: Add texlive-underscore.
  gnu: python-matplotlib-documentation: Fix build.

 .../guix-commit-message-remove-package        |   13 +
 gnu/local.mk                                  |    4 +
 gnu/packages/android.scm                      |   22 +-
 gnu/packages/benchmark.scm                    |   24 +-
 gnu/packages/c.scm                            |   32 +
 gnu/packages/check.scm                        |  258 +-
 gnu/packages/databases.scm                    |  124 +-
 gnu/packages/documentation.scm                |   57 +
 gnu/packages/embedded.scm                     |   10 +-
 gnu/packages/fonts.scm                        |   91 +
 gnu/packages/fontutils.scm                    |  767 +++-
 gnu/packages/gnome-xyz.scm                    |    2 +
 gnu/packages/gnome.scm                        |    7 +-
 gnu/packages/graphics.scm                     |  135 +
 gnu/packages/guile-xyz.scm                    |   10 +-
 gnu/packages/java.scm                         |   35 +-
 gnu/packages/jupyter.scm                      |  330 +-
 gnu/packages/llvm.scm                         |    6 +-
 gnu/packages/machine-learning.scm             |   77 +-
 gnu/packages/markup.scm                       |    4 +-
 gnu/packages/matrix.scm                       |    2 +-
 gnu/packages/package-management.scm           |   12 +-
 .../python-debugpy-unbundle-pydevd.patch      |  254 ++
 .../python-ipython-documentation-chars.patch  |   18 +
 .../python-ipython-documentation-repro.patch  |   25 +
 .../patches/python-mypy-use-sys-path.patch    |  130 +
 gnu/packages/pdf.scm                          |  130 +-
 gnu/packages/python-check.scm                 |  160 +-
 gnu/packages/python-crypto.scm                |   30 +-
 gnu/packages/python-science.scm               |  172 +-
 gnu/packages/python-web.scm                   |  498 ++-
 gnu/packages/python-xyz.scm                   | 3388 +++++++++++------
 gnu/packages/rdf.scm                          |   13 +-
 gnu/packages/sphinx.scm                       |  302 +-
 gnu/packages/tex.scm                          |  744 +++-
 gnu/packages/version-control.scm              |   11 +-
 gnu/packages/vpn.scm                          |   20 +-
 gnu/packages/xml.scm                          |   30 +
 guix/download.scm                             |    5 +
 39 files changed, 6249 insertions(+), 1703 deletions(-)
 create mode 100644 etc/snippets/text-mode/guix-commit-message-remove-package
 create mode 100644 gnu/packages/patches/python-debugpy-unbundle-pydevd.patch
 create mode 100644 gnu/packages/patches/python-ipython-documentation-chars.patch
 create mode 100644 gnu/packages/patches/python-ipython-documentation-repro.patch
 create mode 100644 gnu/packages/patches/python-mypy-use-sys-path.patch

-- 
2.34.0





^ permalink raw reply	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 000/232] Update IPython to latest, fix texlive-polyglossia, add more
  2022-04-25  3:57 [bug#55104] [PATCH 000/232] Update IPython to latest, fix texlive-polyglossia, add more Maxim Cournoyer
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
@ 2022-04-25  9:53 ` Lars-Dominik Braun
  2022-04-25 13:15   ` Maxim Cournoyer
  2022-04-25 11:36 ` Julien Lepiller
  2 siblings, 1 reply; 111+ messages in thread
From: Lars-Dominik Braun @ 2022-04-25  9:53 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: 55104

[-- Attachment #1: Type: text/plain, Size: 743 bytes --]

Hi Maxim,

> This is the result of a quest to update IPython (to fix a reported CVE) and
> wanting to fix its Texinfo/PDF doc generation.  The later ended up being a
> rather deep rabbit hole, hence the following slurry of commits.  The end
> result is that we now have an up-to-date IPython and better support to build
> Sphinx-based documentation, a working texlive-polyglossia package (at least
> for XeLaTeX) and many new font tools that should allow us to build more fonts
> from source.
thank you very much for that update! I noticed python-qtconsole was
broken by the upgrade, see attached patches for fixes. There are alot
more failures on the CI, but it’s hard to tell whether they were caused
by this update or not.

Cheers,
Lars


[-- Attachment #2: 0001-gnu-python-qtpy-Update-to-2.0.1.patch --]
[-- Type: text/plain, Size: 1278 bytes --]

From 9c905febfa1753e3468450e27150a187c30831d9 Mon Sep 17 00:00:00 2001
From: Lars-Dominik Braun <lars@6xq.net>
Date: Mon, 25 Apr 2022 11:36:20 +0200
Subject: [PATCH 1/2] gnu: python-qtpy: Update to 2.0.1.

* gnu/packages/qt.scm (python-qtpy): Update to 2.0.1.
[propagated-inputs]: Remove python-pyside-2, add python-packaging.
---
 gnu/packages/qt.scm | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 0163d02bc0..bf2a3e88c2 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -2269,17 +2269,16 @@ (define-public python-pyqt-builder
 (define-public python-qtpy
   (package
     (name "python-qtpy")
-    (version "1.9.0")
+    (version "2.0.1")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "QtPy" version))
        (sha256
           (base32
-           "13cw8l7zrhbdi03k1wl1pg9xdl4ahdfa7yz8gd0f23sxnm22rdrd"))))
+           "13zbhnl2rm30xafwrzfwdb4mjp7gk4s9h2xagbf83pnjzczhgzdd"))))
     (build-system python-build-system)
-    (propagated-inputs
-     `(("python-pyside2" ,python-pyside-2)))
+    (propagated-inputs (list python-packaging))
     (arguments
      `(;; Not all supported bindings are packaged. Especially PyQt4.
        #:tests? #f))
-- 
2.35.1


[-- Attachment #3: 0002-gnu-python-qtconsole-Update-to-5.3.0.patch --]
[-- Type: text/plain, Size: 1569 bytes --]

From eb0b1061c7cbd7c64ba839877f9bca49fccd53b5 Mon Sep 17 00:00:00 2001
From: Lars-Dominik Braun <lars@6xq.net>
Date: Mon, 25 Apr 2022 11:38:04 +0200
Subject: [PATCH 2/2] gnu: python-qtconsole: Update to 5.3.0.

* gnu/packages/python-xyz.scm (python-qtconsole): Update to 5.3.0.
[native-inputs]: Add python-pytest-qt.
---
 gnu/packages/python-xyz.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6d0a732dcd..2898b0da6e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -13983,13 +13983,13 @@ (define python-jupyter-console-minimal
 (define-public python-qtconsole
   (package
     (name "python-qtconsole")
-    (version "4.7.7")
+    (version "5.3.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "qtconsole" version))
        (sha256
-        (base32 "013qgpsm8jzcz3prhq7sxs36l8f7fgagmn3xa010gfhxf7cfldpj"))))
+        (base32 "09anp8g7vqi8z8wyi2lv21a2frd2dyhyrzvcrk2anijyqzyj0dcf"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -14006,7 +14006,7 @@ (define-public python-qtconsole
            python-jupyter-core python-pygments python-pyqt python-pyzmq
            python-qtpy python-traitlets))
     (native-inputs
-     (list python-flaky python-pytest))
+     (list python-flaky python-pytest python-pytest-qt))
     (home-page "https://jupyter.org")
     (synopsis "Jupyter Qt console")
     (description "This package provides a Qt-based console for Jupyter with
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 000/232] Update IPython to latest, fix texlive-polyglossia, add more
  2022-04-25  3:57 [bug#55104] [PATCH 000/232] Update IPython to latest, fix texlive-polyglossia, add more Maxim Cournoyer
  2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
  2022-04-25  9:53 ` [bug#55104] [PATCH 000/232] Update IPython to latest, fix texlive-polyglossia, add more Lars-Dominik Braun
@ 2022-04-25 11:36 ` Julien Lepiller
  2022-04-25 13:23   ` Maxim Cournoyer
  2 siblings, 1 reply; 111+ messages in thread
From: Julien Lepiller @ 2022-04-25 11:36 UTC (permalink / raw)
  To: Maxim Cournoyer, 55104

[-- Attachment #1: Type: text/plain, Size: 13549 bytes --]

(quick question unrelated to the patches)

Which command do you use to send the whole series without creating multiple tickets in the tracker? Which options do you use?

On April 25, 2022 5:57:14 AM GMT+02:00, Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote:
>Hello Guix!
>
>This is the result of a quest to update IPython (to fix a reported CVE) and
>wanting to fix its Texinfo/PDF doc generation.  The later ended up being a
>rather deep rabbit hole, hence the following slurry of commits.  The end
>result is that we now have an up-to-date IPython and better support to build
>Sphinx-based documentation, a working texlive-polyglossia package (at least
>for XeLaTeX) and many new font tools that should allow us to build more fonts
>from source.
>
>The branch wip-ipython-polyglossia has been used to bulid the branch, so
>should you be interested in trying it, the new packages should have
>substitutes.
>
>Thanks, and happy 10th Guix anniversary!
>
>Maxim Cournoyer (232):
>  gnu: python-ipython: Re-order fields.
>  gnu: python-astroid: Propagate python-typing-extensions.
>  gnu: Add python-pure-eval.
>  gnu: Add python-asttokens.
>  gnu: Add python-littleutils.
>  gnu: Add python-stack-data.
>  gnu: python-traitlets: Update to 5.1.1.
>  gnu: python-jinja2: Update to 3.1.1.
>  gnu: python-prompt-toolkit: Update to 3.0.29.
>  gnu: python-ipython: Update to 8.2.0 [fixes CVE-2022-21699].
>  gnu: python-nbformat: Update to 5.3.0.
>  gnu: Add texlive-paralist.
>  gnu: Add texlive-stix2-otf.
>  gnu: Add texlive-metalogo.
>  gnu: Add texlive-makecmds.
>  gnu: Add texlive-csplain.
>  gnu: Add texlive-cs.
>  gnu: Add texlive-zref.
>  gnu: Add python-pcpp.
>  gnu: Add opentype-sanitizer.
>  gnu: Add python-opentype-sanitizer.
>  gnu: Add python-defcon-bootstrap.
>  gnu: Add python-fontmath.
>  gnu: Add python-unicodedata2.
>  gnu: python-fonttools-with-test: Rename to python-fonttools-full.
>  gnu: Add python-mutatormath.
>  gnu: Add python-fontpens-bootstrap.
>  gnu: Add python-booleanoperations.
>  gnu: Add python-fontparts-bootstrap.
>  gnu: Add python-fontpens.
>  gnu: Add python-defcon.
>  gnu: Add python-fontparts.
>  gnu: Add python-cu2qu.
>  gnu: Add python-ufoprocessor.
>  gnu: Add python-ufonormalizer.
>  gnu: Add python-types-toml.
>  gnu: Add python-pytest-mypy.
>  gnu: Add python-jaraco-context-bootstrap.
>  gnu: Add python-jaraco-functools-bootstrap.
>  gnu: Add python-autocommand.
>  gnu: Add python-types-freezegun.
>  gnu: Add python-types-pytz.
>  gnu: Add python-pytest-freezegun.
>  gnu: Add python-pytest-enabler-bootstrap.
>  gnu: Add python-path-bootstrap.
>  gnu: Add python-pip-run-bootstrap.
>  gnu: python-importlib-metadata: Update to 4.11.3.
>  gnu: python-pytest-black: Update to 0.3.12.
>  gnu: python-mypy: Update to 0.942 and fix search path.
>  gnu: Add python-types-docutils.
>  gnu: python-pytest-checkdocs: Update to 2.7.1.
>  gnu: Add python-jaraco-classes.
>  gnu: Add python-jaraco-context.
>  gnu: Add python-jaraco-functools.
>  gnu: Add python-pytest-enabler.
>  gnu: Add python-path.
>  gnu: Add python-pip-run.
>  gnu: Add python-tempora.
>  gnu: Add python-pytest-perf.
>  gnu: python-factory-boy: Update to 3.2.1.
>  gnu: python-faker: Update to 13.3.4 and honor TESTS?.
>  gnu: Add python-pytest-randomly.
>  gnu: Add psautohint-font-data.
>  gnu: Add psautohint.
>  gnu: Add python-ordered-set.
>  gnu: Add python-xdoctest.
>  gnu: Add python-ubelt.
>  gnu: python-setuptools: Update to 62.0.0.
>  gnu: python-pathpy: Deprecate by python-path.
>  gnu: python-pytest-shutil: Adjust to use python-path.
>  gnu: python-pytest-cov: Update to 3.0.0.
>  gnu: Add python-scikit-build.
>  gnu: python-jupyter-packaging: Update to 0.12.0, run test suite.
>  gnu: python-scipy: Move input fields below arguments field.
>  gnu: python-scipy: Update to 1.8.0 and enable parallel build.
>  gnu: Add java-antlr4-runtime-cpp.
>  gnu: Add python-fonttools-next.
>  gnu: Add python-afdko.
>  gnu: Add python-cffsubr.
>  gnu: Add skia.
>  gnu: Add python-skia-pathops.
>  gnu: Add python-ufolib2.
>  gnu: Add python-compreffor.
>  gnu: Add python-ufo2ft.
>  gnu: Add python-sfdlib.
>  gnu: Add font-amiri.
>  gnu: Add font-sil-ezra.
>  gnu: Add texlive-bidi.
>  gnu: Add font-gfs-ambrosia.
>  gnu: python-click: Update to 8.1.2 and honor TESTS?.
>  gnu: python-flask: Update to 2.1.1.
>  gnu: Add python-untangle.
>  gnu: python-black: Update to 22.3.0.
>  gnu: pylint: Run tests in parallel.
>  gnu: python-trio: Update to 0.20.0.
>  gnu: Add python-pydevd.
>  gnu: Add python-debugpy.
>  gnu: python-greenlet: Update to 1.1.2.
>  gnu: Add python-pytest-forked-next.
>  gnu: python-pytest-xdist-next: Update to 2.5.0.
>  gnu: Add python-ipyparallel-bootstrap.
>  gnu: python-nest-asyncio: Update to 1.5.5.
>  gnu: python-jupyter-core: Update to 4.10.0.
>  gnu: python-jupyter-client: Update to 7.2.2.
>  gnu: python-ipykernel: Update to 6.13.0.
>  gnu: Add python-pytest-tornado.
>  gnu: python-ipyparallel: Update to 8.2.1.
>  gnu: python-anyio: Update to 3.5.0.
>  gnu: python-nbclient: Update to 0.6.0.
>  gnu: python-bleach: Update to 5.0.0.
>  gnu: Add texlive-unicode-math.
>  gnu: Add texlive-lm-math.
>  gnu: python-nbconvert: Update to 6.5.0.
>  gnu: Add python-jupyter-server-mathjax.
>  gnu: python-nbval: Fix build.
>  gnu: python-send2trash: Update to 1.8.0 and update home page.
>  gnu: python-notebook: Update to 6.4.10.
>  gnu: Add python-nbdime.
>  gnu: Add python-docrepr.
>  gnu: python-sphinx: Propagate TexLive dependencies.
>  gnu: Add python-pep621.
>  gnu: Add python-sphinx-theme-builder.
>  gnu: Add python-sphinx-sitemap.
>  gnu: texlive-fontspec: Add missing propagated inputs.
>  gnu: texlive-polyglossia: Rename and fix package.
>  gnu: Add texlive-cbfonts-fd.
>  gnu: Add texlive-cbfonts.
>  download: Add a mirror for CTAN.
>  gnu: texlive-latex-geometry: Propagate texlive-latex-graphics.
>  gnu: Add texlive-cm-lgc.
>  gnu: Add texlive-xindy.
>  gnu: python-ipython-documentation: Also build info and pdf targets.
>  gnu: python-websockets: Update to 10.3 and enable tests.
>  gnu: Add python-strict-rfc3339.
>  gnu: Add python-rfc3339-validator.
>  gnu: Add python-openapi-schema-validator.
>  gnu: Add python-openapi-spec-validator.
>  gnu: Add python-cbor2.
>  gnu: python-httpcore: Update to 0.14.7 and enable tests.
>  gnu: Add python-httpcore-bootstrap.
>  gnu: Add python-httpx-bootstrap.
>  gnu: python-httpx: Update to 0.22.0.
>  gnu: python-uvicorn: Update to 0.17.6.
>  gnu: Add python-socksio.
>  gnu: python-sqlalchemy: Run tests in parallel via xdist.
>  gnu: python-sqlalchemy: Update to 1.4.35.
>  gnu: Add python-pecan.
>  gnu: Add python-aioredis.
>  gnu: python-fakeredis: Update to 1.7.1.
>  gnu: python-falcon: Update to 3.1.0.
>  gnu: Add python-dictpath.
>  gnu: Add python-openapi-core.
>  gnu: Add python-jupyterlab-server.
>  gnu: python-hypothesis-6.23: Update to 6.43.3.
>  gnu: python-numpy: Update to 1.21.6 and parallelize build/tests.
>  gnu: python-llvmlite: Update to 0.38.0.
>  gnu: python-numba: Update to 0.55.1.
>  gnu: python-pandas: Build and run tests in parallel.
>  gnu: python-pandas: Update to 1.4.2.
>  gnu: python-scikit-learn: Parallelize build and test suite.
>  gnu: python-pynndescent: Update to 0.5.6.
>  gnu: python-umap-learn: Update to 0.5.3.
>  gnu: python-jupyter-server: Update to 1.16.0.
>  gnu: python-voila: Update to 0.3.5.
>  gnu: python-sparqlwrapper: Update to 2.0.0.
>  gnu: python-sparqlkernel: Use gexps and fix inputs.
>  gnu: python-jupyter-protocol: Update to 0.2.0.
>  gnu: python-jupyter-kernel-mgmt: Update to 0.5.1 and disable tests.
>  gnu: xeus: Update to 2.4.1.
>  gnu: python-types-dataclasses: Fix typo.
>  gnu: python-cmarkgfm: Update to 0.8.0.
>  gnu: python-readme-renderer: Update to 34.0.
>  gnu: mbed-tools: Update to 7.53.0 and relax click version requirement.
>  gnu: conan: Update to 1.47.0 and relax PyYAML requirement.
>  gnu: python-parse-type: Update to 0.6.0, fixing build.
>  gnu: Add python-bson.
>  gnu: python-can: Update to 4.0.0.
>  gnu: python-amqp: Update to 5.1.1 and enable tests.
>  gnu: python-kombu: Update to 5.2.4.
>  gnu: python-celery: Update to 5.2.6 and enable tests.
>  gnu: Add python-argparse-addons.
>  gnu: python-bitstruct: Update to 8.14.0.
>  gnu: Add python-toolrack.
>  gnu: sshoot: Update to 1.5.1.
>  gnu: python-multipart: Fix build with PyYAML 6.
>  gnu: Add python-mergedeep.
>  gnu: Add python-pyyaml-env-tag.
>  gnu: python-ghp-import: Update to 2.0.2.
>  gnu: Add python-mdx-gh-links.
>  gnu: python-mkdocs: Update to 1.3.0.
>  gnu: Add python-crccheck.
>  gnu: python-cantools: Update to 37.0.7.
>  gnu: python-locust: Update to 2.8.6.
>  gnu: Remove python2-jmespath.
>  gnu: python-croniter: Update to 1.3.4.
>  gnu: python-miio: Update to 0.5.11.
>  gnu: Remove python-orator due to being broken and unmaintained.
>  gnu: Add python-pydyf.
>  gnu: weasyprint: Update to 54.3.
>  gnu: seed: Use webkitgtk-with-libsoup2.
>  gnu: markets: Add python-wrapper to fix build.
>  gnu: libgrss: Use libsoup-minimal-2 to fix build.
>  gnu: setzer: Add python-wrapper to fix build.
>  gnu: emacsy: Use webkitgtk-with-libsoup2.
>  gnu: python-keyring: Fix test suite.
>  gnu: Remove python2-keyring.
>  gnu: python-pingouin: Update to 0.5.1.
>  gnu: python-flask-wtf: Update to 1.0.1.
>  gnu: python-flask-login: Update to 0.6.0.
>  snippets: Add a 'remove' snippet.
>  gnu: python2-sqlalchemy: Skip a failing test.
>  gnu: dynaconf: Fix build following python-click upgrade.
>  gnu: python-numpydoc: Update to 1.2.1.
>  gnu: python-sphinx: Update to 4.5.0.
>  gnu: python-pydata-sphinx-theme: Update to 0.7.2.
>  gnu: python-sphinx-copybutton: Update to 0.5.0.
>  gnu: python-sphinx-click: Update to 4.0.3 and enable tests.
>  gnu: python-sphinxcontrib-websupport: Update to 1.2.4.
>  gnu: python-sphinxcontrib-programoutput: Update to 0.17 and enable
>    tests.
>  gnu: python-sphinx-argparse: Update to 0.3.1.
>  gnu: python-sphinx-cloud-sptheme: Update to 1.10.1 [still broken].
>  gnu: Add python-beartype.
>  gnu: Add python-nptyping.
>  gnu: python-sphinx-autodoc-typehints: Update to 1.18.1.
>  gnu: python-sphinxext-opengraph: Update to 0.6.3.
>  gnu: python-sphinx-rtd-theme: Update to 1.0.0.
>  gnu: python-numpy-documentation: Overhaul package definition.
>  gnu: Add python-ipdb.
>  gnu: python-pudb: Update to 2022.1.1 and rename from pudb.
>  gnu: Add python-mpl-sphinx-theme.
>  gnu: Add texlive-underscore.
>  gnu: python-matplotlib-documentation: Fix build.
>
> .../guix-commit-message-remove-package        |   13 +
> gnu/local.mk                                  |    4 +
> gnu/packages/android.scm                      |   22 +-
> gnu/packages/benchmark.scm                    |   24 +-
> gnu/packages/c.scm                            |   32 +
> gnu/packages/check.scm                        |  258 +-
> gnu/packages/databases.scm                    |  124 +-
> gnu/packages/documentation.scm                |   57 +
> gnu/packages/embedded.scm                     |   10 +-
> gnu/packages/fonts.scm                        |   91 +
> gnu/packages/fontutils.scm                    |  767 +++-
> gnu/packages/gnome-xyz.scm                    |    2 +
> gnu/packages/gnome.scm                        |    7 +-
> gnu/packages/graphics.scm                     |  135 +
> gnu/packages/guile-xyz.scm                    |   10 +-
> gnu/packages/java.scm                         |   35 +-
> gnu/packages/jupyter.scm                      |  330 +-
> gnu/packages/llvm.scm                         |    6 +-
> gnu/packages/machine-learning.scm             |   77 +-
> gnu/packages/markup.scm                       |    4 +-
> gnu/packages/matrix.scm                       |    2 +-
> gnu/packages/package-management.scm           |   12 +-
> .../python-debugpy-unbundle-pydevd.patch      |  254 ++
> .../python-ipython-documentation-chars.patch  |   18 +
> .../python-ipython-documentation-repro.patch  |   25 +
> .../patches/python-mypy-use-sys-path.patch    |  130 +
> gnu/packages/pdf.scm                          |  130 +-
> gnu/packages/python-check.scm                 |  160 +-
> gnu/packages/python-crypto.scm                |   30 +-
> gnu/packages/python-science.scm               |  172 +-
> gnu/packages/python-web.scm                   |  498 ++-
> gnu/packages/python-xyz.scm                   | 3388 +++++++++++------
> gnu/packages/rdf.scm                          |   13 +-
> gnu/packages/sphinx.scm                       |  302 +-
> gnu/packages/tex.scm                          |  744 +++-
> gnu/packages/version-control.scm              |   11 +-
> gnu/packages/vpn.scm                          |   20 +-
> gnu/packages/xml.scm                          |   30 +
> guix/download.scm                             |    5 +
> 39 files changed, 6249 insertions(+), 1703 deletions(-)
> create mode 100644 etc/snippets/text-mode/guix-commit-message-remove-package
> create mode 100644 gnu/packages/patches/python-debugpy-unbundle-pydevd.patch
> create mode 100644 gnu/packages/patches/python-ipython-documentation-chars.patch
> create mode 100644 gnu/packages/patches/python-ipython-documentation-repro.patch
> create mode 100644 gnu/packages/patches/python-mypy-use-sys-path.patch
>
>-- 
>2.34.0
>
>
>
>

[-- Attachment #2: Type: text/html, Size: 14151 bytes --]

^ permalink raw reply	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 000/232] Update IPython to latest, fix texlive-polyglossia, add more
  2022-04-25  9:53 ` [bug#55104] [PATCH 000/232] Update IPython to latest, fix texlive-polyglossia, add more Lars-Dominik Braun
@ 2022-04-25 13:15   ` Maxim Cournoyer
  2022-04-26  7:36     ` Lars-Dominik Braun
  2022-04-26 11:21     ` zimoun
  0 siblings, 2 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 13:15 UTC (permalink / raw)
  To: Lars-Dominik Braun; +Cc: 55104

Hi Lars,

Lars-Dominik Braun <lars@6xq.net> writes:

> Hi Maxim,
>
>> This is the result of a quest to update IPython (to fix a reported CVE) and
>> wanting to fix its Texinfo/PDF doc generation.  The later ended up being a
>> rather deep rabbit hole, hence the following slurry of commits.  The end
>> result is that we now have an up-to-date IPython and better support to build
>> Sphinx-based documentation, a working texlive-polyglossia package (at least
>> for XeLaTeX) and many new font tools that should allow us to build more fonts
>> from source.
> thank you very much for that update! I noticed python-qtconsole was
> broken by the upgrade, see attached patches for fixes. There are alot
> more failures on the CI, but it’s hard to tell whether they were caused
> by this update or not.

One quick visual way to screen for big new groups of failed packages is
to compare the dashboards, e.g.:

https://ci.guix.gnu.org/eval/262363/dashboard vs https://ci.guix.gnu.org/eval/262877/dashboard

(this is for x86_64-linux).  You can see in this case they look pretty
identical to the eye.

It seems to be that most failures were already there on master (some
caused by the recent PyYAML update).  I've fixed some on my branch,
which may explain why the total succeeded builds is higher than master
(76% vs 67%, as seen in the "Jobs" column at https://ci.guix.gnu.org/).

I've applied these two patches and pushed to the branch; thank you!

Maxim




^ permalink raw reply	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 000/232] Update IPython to latest, fix texlive-polyglossia, add more
  2022-04-25 11:36 ` Julien Lepiller
@ 2022-04-25 13:23   ` Maxim Cournoyer
  0 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 13:23 UTC (permalink / raw)
  To: Julien Lepiller; +Cc: 55104

Hi Julien!

Julien Lepiller <julien@lepiller.eu> writes:

> (quick question unrelated to the patches)
>
> Which command do you use to send the whole series without creating
> multiple tickets in the tracker? Which options do you use?

You actually have to break it down into 3 commands:

0. Make sure there are no stale patches in your tree; 'rm *.patch'.

1. 'git format-patch --cover-letter origin/master' to produce the whole
series + cover letter.

2. Edit text of the cover letter (0000-cover-letter.patch), and send it with 'git
send-email --to=guix-patches@gnu.org 0000-cover-letter.patch'.

3. rm 0000-cover-letter.patch

4. Send the rest of the series to the newly created GNU Debbugs issue #:
'git send-email --to=NNNNN@debbugs.gnu.org *.patch

I hope that helps!

Maxim




^ permalink raw reply	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 000/232] Update IPython to latest, fix texlive-polyglossia, add more
  2022-04-25 13:15   ` Maxim Cournoyer
@ 2022-04-26  7:36     ` Lars-Dominik Braun
  2022-04-27  3:09       ` Maxim Cournoyer
  2022-04-26 11:21     ` zimoun
  1 sibling, 1 reply; 111+ messages in thread
From: Lars-Dominik Braun @ 2022-04-26  7:36 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: 55104

Hi Maxim,

> One quick visual way to screen for big new groups of failed packages is
> to compare the dashboards, e.g.:
I’m not sure “eyeballing” these kind of changes is a good idea. On
the other hand I don’t have a better tool available right now either,
so yeah… :(

python-sanic (which we use) is also failing to build. Maybe we have to
upgrade that as well. I will try to fix it and send patches.

Cheers,
Lars





^ permalink raw reply	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 000/232] Update IPython to latest, fix texlive-polyglossia, add more
  2022-04-25 13:15   ` Maxim Cournoyer
  2022-04-26  7:36     ` Lars-Dominik Braun
@ 2022-04-26 11:21     ` zimoun
  1 sibling, 0 replies; 111+ messages in thread
From: zimoun @ 2022-04-26 11:21 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: 55104, Lars-Dominik Braun

Hi Maxim,

Thanks for this big update. :-)

On Mon, 25 Apr 2022 at 15:16, Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote:

> It seems to be that most failures were already there on master (some
> caused by the recent PyYAML update).  I've fixed some on my branch,
> which may explain why the total succeeded builds is higher than master
> (76% vs 67%, as seen in the "Jobs" column at https://ci.guix.gnu.org/).

About PyYAML, please give a look at:

    https://issues.guix.gnu.org/54934


Cheers,
simon




^ permalink raw reply	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 000/232] Update IPython to latest, fix texlive-polyglossia, add more
  2022-04-26  7:36     ` Lars-Dominik Braun
@ 2022-04-27  3:09       ` Maxim Cournoyer
  2022-04-27 11:50         ` Lars-Dominik Braun
  0 siblings, 1 reply; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-27  3:09 UTC (permalink / raw)
  To: Lars-Dominik Braun; +Cc: 55104

Hi Lars-Dominik,

Lars-Dominik Braun <lars@6xq.net> writes:

> Hi Maxim,
>
>> One quick visual way to screen for big new groups of failed packages is
>> to compare the dashboards, e.g.:
> I’m not sure “eyeballing” these kind of changes is a good idea. On
> the other hand I don’t have a better tool available right now either,
> so yeah… :(

I did also browse one by one the failures, but only carefully for
x86_64, and summarily for other arches.  This allowed me to catch some
failing tests in numpy for i686-linux, for example.

> python-sanic (which we use) is also failing to build. Maybe we have to
> upgrade that as well. I will try to fix it and send patches.

OK, thanks!

Maxim




^ permalink raw reply	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 000/232] Update IPython to latest, fix texlive-polyglossia, add more
  2022-04-27  3:09       ` Maxim Cournoyer
@ 2022-04-27 11:50         ` Lars-Dominik Braun
  2022-05-12  1:31           ` Maxim Cournoyer
  0 siblings, 1 reply; 111+ messages in thread
From: Lars-Dominik Braun @ 2022-04-27 11:50 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: 55104

[-- Attachment #1: Type: text/plain, Size: 62 bytes --]

Hi Maxim,

> OK, thanks!
see patches attached.

Cheers,
Lars


[-- Attachment #2: 0001-gnu-python-pytest-sanic-Update-to-1.9.1.patch --]
[-- Type: text/plain, Size: 1165 bytes --]

From 7f4cef6d4446284af90965515bd5a89fa2829c25 Mon Sep 17 00:00:00 2001
From: Lars-Dominik Braun <lars@6xq.net>
Date: Wed, 27 Apr 2022 09:44:34 +0200
Subject: [PATCH 1/6] gnu: python-pytest-sanic: Update to 1.9.1.

* gnu/packages/python-check.scm (python-pytest-sanic): Update to 1.9.1.
---
 gnu/packages/python-check.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 5fec85b1ba..ef70d9c3d8 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -1984,13 +1984,13 @@ (define-public python-stestr
 (define-public python-pytest-sanic
   (package
     (name "python-pytest-sanic")
-    (version "1.7.0")
+    (version "1.9.1")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "pytest-sanic" version))
               (sha256
                 (base32
-                  "0hm7im77dgqfk8k34qbbfhimg8hifl4zwpa2s3mgbknrjvyw5qpx"))))
+                  "0shq1bqnydj0l3ipb73j1qh5kqcjvzkps30zk8grq3dwmh3wmnkr"))))
     (build-system python-build-system)
     (arguments
      ;; Tests depend on python-sanic.
-- 
2.35.1


[-- Attachment #3: 0006-gnu-python-sanic-Update-to-21.12.1.patch --]
[-- Type: text/plain, Size: 4448 bytes --]

From eefa6b2658122bf320de610b911fcbdfa6bf835d Mon Sep 17 00:00:00 2001
From: Lars-Dominik Braun <lars@6xq.net>
Date: Wed, 27 Apr 2022 09:51:09 +0200
Subject: [PATCH 6/6] gnu: python-sanic: Update to 21.12.1.

* gnu/packages/python-web.scm (python-sanic): Update to 21.12.1.
[arguments]<#:phases>: Remove 'use-recent-pytest, update skipped tests in
'check.
[propagated-inputs]: Remove python-httpx, replace python-multidict with
python-multidict-5, add python-sanic-routing.
[native-inputs]: Add python-bandit, python-chardet, python-isort and
python-sanic-testing. Remove python-hstspreload, python-httpcore,
python-pytest-cov and python-urllib3.
---
 gnu/packages/python-web.scm | 53 ++++++++++++++++++++-----------------
 1 file changed, 28 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index b2769306be..0d6118ed0d 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -86,6 +86,7 @@ (define-module (gnu packages python-web)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages node)
+  #:use-module (gnu packages openstack)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
@@ -6386,53 +6387,55 @@ (define-public python-sanic-testing
 (define-public python-sanic
   (package
     (name "python-sanic")
-    (version "20.12.4")
+    ;; We provide the latest LTS version of python-sanic.
+    (version "21.12.1")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "sanic" version))
        (sha256
         (base32
-         "0axfc151s7nrykzypzciyvkxxrs5ayx8kxv4r620hjb9w3jjhfnp"))))
+         "0b8mcd1q9qkwcv2qz8nlyaacs0bp7a1l31sdq2m8hhkxykzfq5bg"))))
     (build-system python-build-system)
     (arguments
-     '(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'use-recent-pytest
-           ;; Allow using recent dependencies.
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* "setup.py"
-               (("pytest==5.2.1") "pytest")
-               (("multidict>=5.0,<6.0") "multidict")
-               (("httpx==0\\.15\\.4") "httpx"))
-             #t))
-         (replace 'check
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (add-installed-pythonpath inputs outputs)
-             (invoke "pytest" "-vv" "./tests" "-k"
-                     (string-append "not test_zero_downtime "
-                                    "and not test_gunicorn_worker "
-                                    "and not test_logo_")))))))
+      (list
+       #:phases
+         #~(modify-phases %standard-phases
+           (replace 'check
+             (lambda* (#:key tests? #:allow-other-keys)
+               (when tests?
+                 (invoke "pytest" "-vv" "./tests" "-k"
+                         (string-append
+                           ;; PyPi sources lack examples module.
+                           "not test_gunicorn_"
+                           ;; Does not expect brotli and reordered headers.
+                           " and not test_raw_headers"
+                           ;; These look like buggy testcases.
+                           " and not test_zero_downtime"
+                           " and not test_non_default_uvloop_config_raises_warning"
+                           " and not test_listeners_triggered"
+                           " and not test_keep_alive_connection_context"
+                           " and not test_keep_alive_client_timeout"))))))))
     (propagated-inputs
      (list python-aiofiles
            python-httptools
-           python-httpx
-           python-multidict
+           python-multidict-5
+           python-sanic-routing
            python-ujson
            python-uvloop
            python-websockets))
     (native-inputs
      (list gunicorn
+           python-bandit
            python-beautifulsoup4
-           python-hstspreload
-           python-httpcore
+           python-chardet
+           python-isort
            python-pytest
-           python-pytest-cov
            python-pytest-benchmark
            python-pytest-sanic
            python-pytest-sugar
            python-pytest-asyncio
-           python-urllib3
+           python-sanic-testing
            python-uvicorn))
     (home-page
      "https://github.com/sanic-org/sanic/")
-- 
2.35.1


[-- Attachment #4: 0005-gnu-Add-python-sanic-testing.patch --]
[-- Type: text/plain, Size: 1595 bytes --]

From b8373146955fca9fb6925af10bd2541f5745f795 Mon Sep 17 00:00:00 2001
From: Lars-Dominik Braun <lars@6xq.net>
Date: Wed, 27 Apr 2022 09:50:22 +0200
Subject: [PATCH 5/6] gnu: Add python-sanic-testing.

* gnu/packages/python-web.scm (python-sanic-testing): New variable.
---
 gnu/packages/python-web.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 83be0176f4..b2769306be 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -6361,6 +6361,28 @@ (define-public python-sanic-routing
 the @code{BasicRouter}.")
     (license license:expat)))
 
+(define-public python-sanic-testing
+  (package
+    (name "python-sanic-testing")
+    (version "22.3.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "sanic-testing" version))
+        (sha256
+          (base32 "1vkgi9d3xyik507j4jy9s74mkl81hgx3c2d5y3aa1av9h6wjjivp"))))
+    (build-system python-build-system)
+    (arguments
+      ;; PyPi sources does not contain tests, recursive dependency on python-sanic.
+      (list #:tests? #f))
+    (propagated-inputs (list python-httpx python-sanic-bootstrap python-websockets))
+    (home-page "https://github.com/sanic-org/sanic-testing/")
+    (synopsis "Test clients for Sanic")
+    (description "Internal package for @code{python-sanic}, which is
+meant to be the core testing utility and clients for testing Sanic
+applications.")
+    (license license:expat)))
+
 (define-public python-sanic
   (package
     (name "python-sanic")
-- 
2.35.1


[-- Attachment #5: 0003-gnu-Add-python-sanic-routing.patch --]
[-- Type: text/plain, Size: 1454 bytes --]

From 47997c9f641e8ab85a39167e91810243106dab30 Mon Sep 17 00:00:00 2001
From: Lars-Dominik Braun <lars@6xq.net>
Date: Wed, 27 Apr 2022 09:48:24 +0200
Subject: [PATCH 3/6] gnu: Add python-sanic-routing.

* gnu/packages/python-web.scm (python-sanic-routing): New variable.
---
 gnu/packages/python-web.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index bf31b9dc74..6ffec0d91b 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -6341,6 +6341,26 @@ (define-public python-hstspreload
 as a Python package.")
     (license license:bsd-3)))
 
+(define-public python-sanic-routing
+  (package
+    (name "python-sanic-routing")
+    (version "0.7.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "sanic-routing" version))
+        (sha256
+          (base32 "0k9paln0jd4sc2bklp977c82n29pk12wiv726siplkh57y5yi70k"))))
+    (build-system python-build-system)
+    (arguments
+      ;; PyPi sources does not contain tests, recursive dependency on python-sanic.
+      (list #:tests? #f))
+    (home-page "https://github.com/sanic-org/sanic-routing/")
+    (synopsis "Routing component for Sanic")
+    (description "Internal package for @code{python-sanic}, which provides
+the @code{BasicRouter}.")
+    (license license:expat)))
+
 (define-public python-sanic
   (package
     (name "python-sanic")
-- 
2.35.1


[-- Attachment #6: 0002-gnu-Add-python-multidict-5.patch --]
[-- Type: text/plain, Size: 1119 bytes --]

From 0d8a6d6405217af07a7ca28e8a7c8aea1e3d08dc Mon Sep 17 00:00:00 2001
From: Lars-Dominik Braun <lars@6xq.net>
Date: Wed, 27 Apr 2022 09:45:48 +0200
Subject: [PATCH 2/6] gnu: Add python-multidict-5.

Incompatible with version 4.

* gnu/packages/python-xyz.scm (python-multidict-5): New variable.
---
 gnu/packages/python-xyz.scm | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 2898b0da6e..a79cc7ea1d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7068,6 +7068,18 @@ (define-public python-multidict
 where key might be occurred more than once in the container.")
     (license license:asl2.0)))
 
+(define-public python-multidict-5
+  (package
+    (inherit python-multidict)
+    (version "5.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "multidict" version))
+       (sha256
+        (base32
+         "1kjrxav572j45xvr1iy60zb2g8zqvrinzdkl4ax36js4vczckl8d"))))))
+
 (define-public python-orderedmultidict
   (package
     (name "python-orderedmultidict")
-- 
2.35.1


[-- Attachment #7: 0004-gnu-Add-python-sanic-bootstrap.patch --]
[-- Type: text/plain, Size: 921 bytes --]

From 51b618907c0ed986dfcd396c52c949b0b6f89d20 Mon Sep 17 00:00:00 2001
From: Lars-Dominik Braun <lars@6xq.net>
Date: Wed, 27 Apr 2022 09:49:13 +0200
Subject: [PATCH 4/6] gnu: Add python-sanic-bootstrap.

* gnu/packages/python-web.scm (python-sanic-bootstrap): New variable.
---
 gnu/packages/python-web.scm | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 6ffec0d91b..83be0176f4 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -6423,6 +6423,13 @@ (define-public python-sanic
 your code non-blocking and speedy.")
     (license license:expat)))
 
+(define-public python-sanic-bootstrap
+  (package
+     (inherit python-sanic)
+     (name "python-sanic-bootstrap")
+     (arguments (list #:tests? #f))
+     (native-inputs '())))
+
 (define-public python-socketio
   (package
     (name "python-socketio")
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 111+ messages in thread

* [bug#55104] [PATCH 000/232] Update IPython to latest, fix texlive-polyglossia, add more
  2022-04-27 11:50         ` Lars-Dominik Braun
@ 2022-05-12  1:31           ` Maxim Cournoyer
  0 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-05-12  1:31 UTC (permalink / raw)
  To: Lars-Dominik Braun; +Cc: 55104

Hi,

Lars-Dominik Braun <lars@6xq.net> writes:

> Hi Maxim,
>
>> OK, thanks!
> see patches attached.
>
> Cheers,
> Lars

I've pushed the patches to the wip-ipython-polyglossia branch with minor
changes (indentation fixes and wrapping lines at 80 columns).  I've
opted to update python-multidict to latest instead of adding a variant
for it, since there were not many dependents and they seem happy with
it.

Unfortunately Cuirass doesn't seem in a good state, but hopefully I can
merge the branch real soon!

Thank you,

Maxim




^ permalink raw reply	[flat|nested] 111+ messages in thread

end of thread, other threads:[~2022-05-12  1:33 UTC | newest]

Thread overview: 111+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-04-25  3:57 [bug#55104] [PATCH 000/232] Update IPython to latest, fix texlive-polyglossia, add more Maxim Cournoyer
2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 002/232] gnu: python-astroid: Propagate python-typing-extensions Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 003/232] gnu: Add python-pure-eval Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 004/232] gnu: Add python-asttokens Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 005/232] gnu: Add python-littleutils Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 006/232] gnu: Add python-stack-data Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 007/232] gnu: python-traitlets: Update to 5.1.1 Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 008/232] gnu: python-jinja2: Update to 3.1.1 Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 009/232] gnu: python-prompt-toolkit: Update to 3.0.29 Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 010/232] gnu: python-ipython: Update to 8.2.0 [fixes CVE-2022-21699] Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 011/232] gnu: python-nbformat: Update to 5.3.0 Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 012/232] gnu: Add texlive-paralist Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 013/232] gnu: Add texlive-stix2-otf Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 014/232] gnu: Add texlive-metalogo Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 015/232] gnu: Add texlive-makecmds Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 016/232] gnu: Add texlive-csplain Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 017/232] gnu: Add texlive-cs Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 018/232] gnu: Add texlive-zref Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 019/232] gnu: Add python-pcpp Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 020/232] gnu: Add opentype-sanitizer Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 021/232] gnu: Add python-opentype-sanitizer Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 022/232] gnu: Add python-defcon-bootstrap Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 023/232] gnu: Add python-fontmath Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 024/232] gnu: Add python-unicodedata2 Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 025/232] gnu: python-fonttools-with-test: Rename to python-fonttools-full Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 026/232] gnu: Add python-mutatormath Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 027/232] gnu: Add python-fontpens-bootstrap Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 028/232] gnu: Add python-booleanoperations Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 029/232] gnu: Add python-fontparts-bootstrap Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 030/232] gnu: Add python-fontpens Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 031/232] gnu: Add python-defcon Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 032/232] gnu: Add python-fontparts Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 033/232] gnu: Add python-cu2qu Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 034/232] gnu: Add python-ufoprocessor Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 035/232] gnu: Add python-ufonormalizer Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 036/232] gnu: Add python-types-toml Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 037/232] gnu: Add python-pytest-mypy Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 038/232] gnu: Add python-jaraco-context-bootstrap Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 039/232] gnu: Add python-jaraco-functools-bootstrap Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 040/232] gnu: Add python-autocommand Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 041/232] gnu: Add python-types-freezegun Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 042/232] gnu: Add python-types-pytz Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 043/232] gnu: Add python-pytest-freezegun Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 044/232] gnu: Add python-pytest-enabler-bootstrap Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 045/232] gnu: Add python-path-bootstrap Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 046/232] gnu: Add python-pip-run-bootstrap Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 047/232] gnu: python-importlib-metadata: Update to 4.11.3 Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 048/232] gnu: python-pytest-black: Update to 0.3.12 Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 049/232] gnu: python-mypy: Update to 0.942 and fix search path Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 050/232] gnu: Add python-types-docutils Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 051/232] gnu: python-pytest-checkdocs: Update to 2.7.1 Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 052/232] gnu: Add python-jaraco-classes Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 053/232] gnu: Add python-jaraco-context Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 054/232] gnu: Add python-jaraco-functools Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 055/232] gnu: Add python-pytest-enabler Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 056/232] gnu: Add python-path Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 057/232] gnu: Add python-pip-run Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 058/232] gnu: Add python-tempora Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 059/232] gnu: Add python-pytest-perf Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 060/232] gnu: python-factory-boy: Update to 3.2.1 Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 061/232] gnu: python-faker: Update to 13.3.4 and honor TESTS? Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 062/232] gnu: Add python-pytest-randomly Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 063/232] gnu: Add psautohint-font-data Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 064/232] gnu: Add psautohint Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 065/232] gnu: Add python-ordered-set Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 066/232] gnu: Add python-xdoctest Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 067/232] gnu: Add python-ubelt Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 068/232] gnu: python-setuptools: Update to 62.0.0 Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 069/232] gnu: python-pathpy: Deprecate by python-path Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 070/232] gnu: python-pytest-shutil: Adjust to use python-path Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 071/232] gnu: python-pytest-cov: Update to 3.0.0 Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 072/232] gnu: Add python-scikit-build Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 073/232] gnu: python-jupyter-packaging: Update to 0.12.0, run test suite Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 074/232] gnu: python-scipy: Move input fields below arguments field Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 075/232] gnu: python-scipy: Update to 1.8.0 and enable parallel build Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 076/232] gnu: Add java-antlr4-runtime-cpp Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 077/232] gnu: Add python-fonttools-next Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 078/232] gnu: Add python-afdko Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 079/232] gnu: Add python-cffsubr Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 080/232] gnu: Add skia Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 081/232] gnu: Add python-skia-pathops Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 082/232] gnu: Add python-ufolib2 Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 083/232] gnu: Add python-compreffor Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 084/232] gnu: Add python-ufo2ft Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 085/232] gnu: Add python-sfdlib Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 086/232] gnu: Add font-amiri Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 087/232] gnu: Add font-sil-ezra Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 088/232] gnu: Add texlive-bidi Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 089/232] gnu: Add font-gfs-ambrosia Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 090/232] gnu: python-click: Update to 8.1.2 and honor TESTS? Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 091/232] gnu: python-flask: Update to 2.1.1 Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 092/232] gnu: Add python-untangle Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 093/232] gnu: python-black: Update to 22.3.0 Maxim Cournoyer
2022-04-25  3:57   ` [bug#55104] [PATCH 094/232] gnu: pylint: Run tests in parallel Maxim Cournoyer
2022-04-25  3:57   ` [bug#55104] [PATCH 095/232] gnu: python-trio: Update to 0.20.0 Maxim Cournoyer
2022-04-25  3:57   ` [bug#55104] [PATCH 096/232] gnu: Add python-pydevd Maxim Cournoyer
2022-04-25  3:57   ` [bug#55104] [PATCH 097/232] gnu: Add python-debugpy Maxim Cournoyer
2022-04-25  3:57   ` [bug#55104] [PATCH 098/232] gnu: python-greenlet: Update to 1.1.2 Maxim Cournoyer
2022-04-25  3:57   ` [bug#55104] [PATCH 099/232] gnu: Add python-pytest-forked-next Maxim Cournoyer
2022-04-25  3:57   ` [bug#55104] [PATCH 100/232] gnu: python-pytest-xdist-next: Update to 2.5.0 Maxim Cournoyer
2022-04-25  3:57   ` [bug#55104] [PATCH 101/232] gnu: Add python-ipyparallel-bootstrap Maxim Cournoyer
2022-04-25  9:53 ` [bug#55104] [PATCH 000/232] Update IPython to latest, fix texlive-polyglossia, add more Lars-Dominik Braun
2022-04-25 13:15   ` Maxim Cournoyer
2022-04-26  7:36     ` Lars-Dominik Braun
2022-04-27  3:09       ` Maxim Cournoyer
2022-04-27 11:50         ` Lars-Dominik Braun
2022-05-12  1:31           ` Maxim Cournoyer
2022-04-26 11:21     ` zimoun
2022-04-25 11:36 ` Julien Lepiller
2022-04-25 13:23   ` Maxim Cournoyer

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.