GNU bug report logs - #55104
[PATCH 000/232] Update IPython to latest, fix texlive-polyglossia, add more

Previous Next

Package: guix-patches;

Reported by: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Date: Mon, 25 Apr 2022 03:58:01 UTC

Severity: normal

Tags: patch

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 55104 in the body.
You can then email your comments to 55104 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 03:58:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Mon, 25 Apr 2022 03:58:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: guix-patches <at> gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 000/232] Update IPython to latest, fix texlive-polyglossia,
 add more
Date: Sun, 24 Apr 2022 23:57:14 -0400
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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:00:04 GMT) Full text and rfc822 format available.

Message #8 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 001/232] gnu: python-ipython: Re-order fields.
Date: Sun, 24 Apr 2022 23:55:27 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:00:07 GMT) Full text and rfc822 format available.

Message #11 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 002/232] gnu: python-astroid: Propagate
 python-typing-extensions.
Date: Sun, 24 Apr 2022 23:55:28 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:00:09 GMT) Full text and rfc822 format available.

Message #14 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 003/232] gnu: Add python-pure-eval.
Date: Sun, 24 Apr 2022 23:55:29 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:00:12 GMT) Full text and rfc822 format available.

Message #17 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 005/232] gnu: Add python-littleutils.
Date: Sun, 24 Apr 2022 23:55:31 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:00:14 GMT) Full text and rfc822 format available.

Message #20 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 004/232] gnu: Add python-asttokens.
Date: Sun, 24 Apr 2022 23:55:30 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:00:16 GMT) Full text and rfc822 format available.

Message #23 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 006/232] gnu: Add python-stack-data.
Date: Sun, 24 Apr 2022 23:55:32 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:00:17 GMT) Full text and rfc822 format available.

Message #26 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 007/232] gnu: python-traitlets: Update to 5.1.1.
Date: Sun, 24 Apr 2022 23:55:33 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:00:19 GMT) Full text and rfc822 format available.

Message #29 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 008/232] gnu: python-jinja2: Update to 3.1.1.
Date: Sun, 24 Apr 2022 23:55:34 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:00:21 GMT) Full text and rfc822 format available.

Message #32 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 009/232] gnu: python-prompt-toolkit: Update to 3.0.29.
Date: Sun, 24 Apr 2022 23:55:35 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:00:22 GMT) Full text and rfc822 format available.

Message #35 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>,
 Leo Famulari <leo <at> famulari.name>
Subject: [PATCH 010/232] gnu: python-ipython: Update to 8.2.0 [fixes
 CVE-2022-21699].
Date: Sun, 24 Apr 2022 23:55:36 -0400
* 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 <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:04 GMT) Full text and rfc822 format available.

Message #38 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 011/232] gnu: python-nbformat: Update to 5.3.0.
Date: Sun, 24 Apr 2022 23:55:37 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:05 GMT) Full text and rfc822 format available.

Message #41 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 012/232] gnu: Add texlive-paralist.
Date: Sun, 24 Apr 2022 23:55:38 -0400
* 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 <at> systemreboot.net>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll <at> gmail.com>
 ;;; Copyright © 2020, 2021 Paul Garlick <pgarlick <at> tourbillion-technology.com>
-;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
+;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;; Copyright © 2021 Leo Le Bouter <lle-bout <at> zaclys.net>
 ;;; Copyright © 2021 Xinglu Chen <public <at> yoctocell.xyz>
 ;;; Copyright © 2021 Ivan Gankevich <i.gankevich <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:06 GMT) Full text and rfc822 format available.

Message #44 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 013/232] gnu: Add texlive-stix2-otf.
Date: Sun, 24 Apr 2022 23:55:39 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:07 GMT) Full text and rfc822 format available.

Message #47 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 014/232] gnu: Add texlive-metalogo.
Date: Sun, 24 Apr 2022 23:55:40 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:08 GMT) Full text and rfc822 format available.

Message #50 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 019/232] gnu: Add python-pcpp.
Date: Sun, 24 Apr 2022 23:55:45 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:09 GMT) Full text and rfc822 format available.

Message #53 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 021/232] gnu: Add python-opentype-sanitizer.
Date: Sun, 24 Apr 2022 23:55:47 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:10 GMT) Full text and rfc822 format available.

Message #56 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 015/232] gnu: Add texlive-makecmds.
Date: Sun, 24 Apr 2022 23:55:41 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:10 GMT) Full text and rfc822 format available.

Message #59 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 024/232] gnu: Add python-unicodedata2.
Date: Sun, 24 Apr 2022 23:55:50 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:11 GMT) Full text and rfc822 format available.

Message #62 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 022/232] gnu: Add python-defcon-bootstrap.
Date: Sun, 24 Apr 2022 23:55:48 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:12 GMT) Full text and rfc822 format available.

Message #65 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 016/232] gnu: Add texlive-csplain.
Date: Sun, 24 Apr 2022 23:55:42 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:13 GMT) Full text and rfc822 format available.

Message #68 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 017/232] gnu: Add texlive-cs.
Date: Sun, 24 Apr 2022 23:55:43 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:14 GMT) Full text and rfc822 format available.

Message #71 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 018/232] gnu: Add texlive-zref.
Date: Sun, 24 Apr 2022 23:55:44 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:15 GMT) Full text and rfc822 format available.

Message #74 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 025/232] gnu: python-fonttools-with-test: Rename to
 python-fonttools-full.
Date: Sun, 24 Apr 2022 23:55:51 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:16 GMT) Full text and rfc822 format available.

Message #77 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 023/232] gnu: Add python-fontmath.
Date: Sun, 24 Apr 2022 23:55:49 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:17 GMT) Full text and rfc822 format available.

Message #80 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 027/232] gnu: Add python-fontpens-bootstrap.
Date: Sun, 24 Apr 2022 23:55:53 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:18 GMT) Full text and rfc822 format available.

Message #83 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 020/232] gnu: Add opentype-sanitizer.
Date: Sun, 24 Apr 2022 23:55:46 -0400
* 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 <at> fastmail.com>
 ;;; Copyright © 2020 Roel Janssen <roel <at> gnu.org>
 ;;; Copyright © 2020, 2021 Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
-;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
+;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;; Copyright © 2020, 2021 Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
 ;;; Copyright © 2021 Sarah Morgensen <iskarian <at> mgsn.dev>
 ;;; Copyright © 2022 Felipe Balbi <balbi <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:19 GMT) Full text and rfc822 format available.

Message #86 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 028/232] gnu: Add python-booleanoperations.
Date: Sun, 24 Apr 2022 23:55:54 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:19 GMT) Full text and rfc822 format available.

Message #89 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 029/232] gnu: Add python-fontparts-bootstrap.
Date: Sun, 24 Apr 2022 23:55:55 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:20 GMT) Full text and rfc822 format available.

Message #92 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 030/232] gnu: Add python-fontpens.
Date: Sun, 24 Apr 2022 23:55:56 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:20 GMT) Full text and rfc822 format available.

Message #95 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 031/232] gnu: Add python-defcon.
Date: Sun, 24 Apr 2022 23:55:57 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:21 GMT) Full text and rfc822 format available.

Message #98 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 032/232] gnu: Add python-fontparts.
Date: Sun, 24 Apr 2022 23:55:58 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:21 GMT) Full text and rfc822 format available.

Message #101 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 033/232] gnu: Add python-cu2qu.
Date: Sun, 24 Apr 2022 23:55:59 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:22 GMT) Full text and rfc822 format available.

Message #104 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 026/232] gnu: Add python-mutatormath.
Date: Sun, 24 Apr 2022 23:55:52 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:22 GMT) Full text and rfc822 format available.

Message #107 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 034/232] gnu: Add python-ufoprocessor.
Date: Sun, 24 Apr 2022 23:56:00 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:23 GMT) Full text and rfc822 format available.

Message #110 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 035/232] gnu: Add python-ufonormalizer.
Date: Sun, 24 Apr 2022 23:56:01 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:23 GMT) Full text and rfc822 format available.

Message #113 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 036/232] gnu: Add python-types-toml.
Date: Sun, 24 Apr 2022 23:56:02 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:24 GMT) Full text and rfc822 format available.

Message #116 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 037/232] gnu: Add python-pytest-mypy.
Date: Sun, 24 Apr 2022 23:56:03 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:24 GMT) Full text and rfc822 format available.

Message #119 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 038/232] gnu: Add python-jaraco-context-bootstrap.
Date: Sun, 24 Apr 2022 23:56:04 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:25 GMT) Full text and rfc822 format available.

Message #122 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 039/232] gnu: Add python-jaraco-functools-bootstrap.
Date: Sun, 24 Apr 2022 23:56:05 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:25 GMT) Full text and rfc822 format available.

Message #125 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 042/232] gnu: Add python-types-pytz.
Date: Sun, 24 Apr 2022 23:56:08 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:26 GMT) Full text and rfc822 format available.

Message #128 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 044/232] gnu: Add python-pytest-enabler-bootstrap.
Date: Sun, 24 Apr 2022 23:56:10 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:26 GMT) Full text and rfc822 format available.

Message #131 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 045/232] gnu: Add python-path-bootstrap.
Date: Sun, 24 Apr 2022 23:56:11 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:27 GMT) Full text and rfc822 format available.

Message #134 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 046/232] gnu: Add python-pip-run-bootstrap.
Date: Sun, 24 Apr 2022 23:56:12 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:27 GMT) Full text and rfc822 format available.

Message #137 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 047/232] gnu: python-importlib-metadata: Update to 4.11.3.
Date: Sun, 24 Apr 2022 23:56:13 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:01:28 GMT) Full text and rfc822 format available.

Message #140 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 048/232] gnu: python-pytest-black: Update to 0.3.12.
Date: Sun, 24 Apr 2022 23:56:14 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:02 GMT) Full text and rfc822 format available.

Message #143 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 041/232] gnu: Add python-types-freezegun.
Date: Sun, 24 Apr 2022 23:56:07 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:02 GMT) Full text and rfc822 format available.

Message #146 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 054/232] gnu: Add python-jaraco-functools.
Date: Sun, 24 Apr 2022 23:56:20 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:03 GMT) Full text and rfc822 format available.

Message #149 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 040/232] gnu: Add python-autocommand.
Date: Sun, 24 Apr 2022 23:56:06 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:03 GMT) Full text and rfc822 format available.

Message #152 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 055/232] gnu: Add python-pytest-enabler.
Date: Sun, 24 Apr 2022 23:56:21 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:04 GMT) Full text and rfc822 format available.

Message #155 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 056/232] gnu: Add python-path.
Date: Sun, 24 Apr 2022 23:56:22 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:04 GMT) Full text and rfc822 format available.

Message #158 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 058/232] gnu: Add python-tempora.
Date: Sun, 24 Apr 2022 23:56:24 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:05 GMT) Full text and rfc822 format available.

Message #161 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 057/232] gnu: Add python-pip-run.
Date: Sun, 24 Apr 2022 23:56:23 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:05 GMT) Full text and rfc822 format available.

Message #164 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 059/232] gnu: Add python-pytest-perf.
Date: Sun, 24 Apr 2022 23:56:25 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:06 GMT) Full text and rfc822 format available.

Message #167 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 049/232] gnu: python-mypy: Update to 0.942 and fix search path.
Date: Sun, 24 Apr 2022 23:56:15 -0400
* 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 <at> elephly.net>
 ;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me <at> tobias.gr>
 ;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim <at> flashner.co.il>
-;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
+;;; Copyright © 2019, 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;; Copyright © 2019, 2021 Hartmut Goebel <h.goebel <at> crazy-compilers.com>
 ;;; Copyright © 2020 Julien Lepiller <julien <at> lepiller.eu>
 ;;; Copyright © 2020, 2022 Marius Bakke <marius <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:07 GMT) Full text and rfc822 format available.

Message #170 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 061/232] gnu: python-faker: Update to 13.3.4 and honor TESTS?.
Date: Sun, 24 Apr 2022 23:56:27 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:08 GMT) Full text and rfc822 format available.

Message #173 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 060/232] gnu: python-factory-boy: Update to 3.2.1.
Date: Sun, 24 Apr 2022 23:56:26 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:08 GMT) Full text and rfc822 format available.

Message #176 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 053/232] gnu: Add python-jaraco-context.
Date: Sun, 24 Apr 2022 23:56:19 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:09 GMT) Full text and rfc822 format available.

Message #179 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 062/232] gnu: Add python-pytest-randomly.
Date: Sun, 24 Apr 2022 23:56:28 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:10 GMT) Full text and rfc822 format available.

Message #182 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 063/232] gnu: Add psautohint-font-data.
Date: Sun, 24 Apr 2022 23:56:29 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:11 GMT) Full text and rfc822 format available.

Message #185 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 064/232] gnu: Add psautohint.
Date: Sun, 24 Apr 2022 23:56:30 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:12 GMT) Full text and rfc822 format available.

Message #188 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 065/232] gnu: Add python-ordered-set.
Date: Sun, 24 Apr 2022 23:56:31 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:13 GMT) Full text and rfc822 format available.

Message #191 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 066/232] gnu: Add python-xdoctest.
Date: Sun, 24 Apr 2022 23:56:32 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:13 GMT) Full text and rfc822 format available.

Message #194 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 067/232] gnu: Add python-ubelt.
Date: Sun, 24 Apr 2022 23:56:33 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:14 GMT) Full text and rfc822 format available.

Message #197 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 068/232] gnu: python-setuptools: Update to 62.0.0.
Date: Sun, 24 Apr 2022 23:56:34 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:14 GMT) Full text and rfc822 format available.

Message #200 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 043/232] gnu: Add python-pytest-freezegun.
Date: Sun, 24 Apr 2022 23:56:09 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:15 GMT) Full text and rfc822 format available.

Message #203 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 050/232] gnu: Add python-types-docutils.
Date: Sun, 24 Apr 2022 23:56:16 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:15 GMT) Full text and rfc822 format available.

Message #206 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 051/232] gnu: python-pytest-checkdocs: Update to 2.7.1.
Date: Sun, 24 Apr 2022 23:56:17 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:16 GMT) Full text and rfc822 format available.

Message #209 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 052/232] gnu: Add python-jaraco-classes.
Date: Sun, 24 Apr 2022 23:56:18 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:16 GMT) Full text and rfc822 format available.

Message #212 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 069/232] gnu: python-pathpy: Deprecate by python-path.
Date: Sun, 24 Apr 2022 23:56:35 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:17 GMT) Full text and rfc822 format available.

Message #215 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 070/232] gnu: python-pytest-shutil: Adjust to use python-path.
Date: Sun, 24 Apr 2022 23:56:36 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:17 GMT) Full text and rfc822 format available.

Message #218 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 071/232] gnu: python-pytest-cov: Update to 3.0.0.
Date: Sun, 24 Apr 2022 23:56:37 -0400
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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:18 GMT) Full text and rfc822 format available.

Message #221 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 073/232] gnu: python-jupyter-packaging: Update to 0.12.0,
 run test suite.
Date: Sun, 24 Apr 2022 23:56:39 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:18 GMT) Full text and rfc822 format available.

Message #224 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 072/232] gnu: Add python-scikit-build.
Date: Sun, 24 Apr 2022 23:56:38 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:18 GMT) Full text and rfc822 format available.

Message #227 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 077/232] gnu: Add python-fonttools-next.
Date: Sun, 24 Apr 2022 23:56:43 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:19 GMT) Full text and rfc822 format available.

Message #230 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 074/232] gnu: python-scipy: Move input fields below arguments
 field.
Date: Sun, 24 Apr 2022 23:56:40 -0400
* 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 <at> flashner.co.il>
 ;;; Copyright © 2016-2020, 2022 Marius Bakke <marius <at> gnu.org>
 ;;; Copyright © 2019 Tobias Geerinckx-Rice <me <at> tobias.gr>
-;;; Copyright © 2019, 2021 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
+;;; Copyright © 2019, 2021, 2022 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul <at> autistici.org>
 ;;; Copyright © 2020 Pierre Langlois <pierre.langlois <at> gmx.com>
 ;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:19 GMT) Full text and rfc822 format available.

Message #233 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 078/232] gnu: Add python-afdko.
Date: Sun, 24 Apr 2022 23:56:44 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:20 GMT) Full text and rfc822 format available.

Message #236 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 079/232] gnu: Add python-cffsubr.
Date: Sun, 24 Apr 2022 23:56:45 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:20 GMT) Full text and rfc822 format available.

Message #239 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 076/232] gnu: Add java-antlr4-runtime-cpp.
Date: Sun, 24 Apr 2022 23:56:42 -0400
* 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 <at> bjoernhoefling.de>
 ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke <at> gnu.org>
 ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan <at> disroot.org>
-;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
+;;; Copyright © 2020, 2022 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;; Copyright © 2021 Vincent Legoll <vincent.legoll <at> gmail.com>
 ;;; Copyright © 2021 Mike Gerwitz <mtg <at> gnu.org>
 ;;; Copyright © 2021 Pierre Langlois <pierre.langlois <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:20 GMT) Full text and rfc822 format available.

Message #242 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 081/232] gnu: Add python-skia-pathops.
Date: Sun, 24 Apr 2022 23:56:47 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:21 GMT) Full text and rfc822 format available.

Message #245 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 080/232] gnu: Add skia.
Date: Sun, 24 Apr 2022 23:56:46 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:21 GMT) Full text and rfc822 format available.

Message #248 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 075/232] gnu: python-scipy: Update to 1.8.0 and enable
 parallel build.
Date: Sun, 24 Apr 2022 23:56:41 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:22 GMT) Full text and rfc822 format available.

Message #251 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 082/232] gnu: Add python-ufolib2.
Date: Sun, 24 Apr 2022 23:56:48 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:22 GMT) Full text and rfc822 format available.

Message #254 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 083/232] gnu: Add python-compreffor.
Date: Sun, 24 Apr 2022 23:56:49 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:23 GMT) Full text and rfc822 format available.

Message #257 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 084/232] gnu: Add python-ufo2ft.
Date: Sun, 24 Apr 2022 23:56:50 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:23 GMT) Full text and rfc822 format available.

Message #260 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 085/232] gnu: Add python-sfdlib.
Date: Sun, 24 Apr 2022 23:56:51 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:24 GMT) Full text and rfc822 format available.

Message #263 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 086/232] gnu: Add font-amiri.
Date: Sun, 24 Apr 2022 23:56:52 -0400
* 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 <at> disroot.org>
 ;;; Copyright © 2021 Wamm K. D. <jaft.r <at> outlook.com>
 ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan <at> gmail.com>
+;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:25 GMT) Full text and rfc822 format available.

Message #266 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 087/232] gnu: Add font-sil-ezra.
Date: Sun, 24 Apr 2022 23:56:53 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:26 GMT) Full text and rfc822 format available.

Message #269 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 088/232] gnu: Add texlive-bidi.
Date: Sun, 24 Apr 2022 23:56:54 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:26 GMT) Full text and rfc822 format available.

Message #272 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 089/232] gnu: Add font-gfs-ambrosia.
Date: Sun, 24 Apr 2022 23:56:55 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:27 GMT) Full text and rfc822 format available.

Message #275 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 090/232] gnu: python-click: Update to 8.1.2 and honor TESTS?.
Date: Sun, 24 Apr 2022 23:56:56 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:27 GMT) Full text and rfc822 format available.

Message #278 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 091/232] gnu: python-flask: Update to 2.1.1.
Date: Sun, 24 Apr 2022 23:56:57 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:27 GMT) Full text and rfc822 format available.

Message #281 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 092/232] gnu: Add python-untangle.
Date: Sun, 24 Apr 2022 23:56:58 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:28 GMT) Full text and rfc822 format available.

Message #284 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 093/232] gnu: python-black: Update to 22.3.0.
Date: Sun, 24 Apr 2022 23:56:59 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:28 GMT) Full text and rfc822 format available.

Message #287 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 095/232] gnu: python-trio: Update to 0.20.0.
Date: Sun, 24 Apr 2022 23:57:01 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:29 GMT) Full text and rfc822 format available.

Message #290 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 096/232] gnu: Add python-pydevd.
Date: Sun, 24 Apr 2022 23:57:02 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:02:29 GMT) Full text and rfc822 format available.

Message #293 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 094/232] gnu: pylint: Run tests in parallel.
Date: Sun, 24 Apr 2022 23:57:00 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:03:02 GMT) Full text and rfc822 format available.

Message #296 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 098/232] gnu: python-greenlet: Update to 1.1.2.
Date: Sun, 24 Apr 2022 23:57:04 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:03:02 GMT) Full text and rfc822 format available.

Message #299 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 099/232] gnu: Add python-pytest-forked-next.
Date: Sun, 24 Apr 2022 23:57:05 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:03:03 GMT) Full text and rfc822 format available.

Message #302 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 100/232] gnu: python-pytest-xdist-next: Update to 2.5.0.
Date: Sun, 24 Apr 2022 23:57:06 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:03:03 GMT) Full text and rfc822 format available.

Message #305 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 101/232] gnu: Add python-ipyparallel-bootstrap.
Date: Sun, 24 Apr 2022 23:57:07 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 04:03:03 GMT) Full text and rfc822 format available.

Message #308 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 55104 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 097/232] gnu: Add python-debugpy.
Date: Sun, 24 Apr 2022 23:57:03 -0400
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 09:55:02 GMT) Full text and rfc822 format available.

Message #311 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Lars-Dominik Braun <lars <at> 6xq.net>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 55104 <at> debbugs.gnu.org
Subject: Re: [bug#55104] [PATCH 000/232] Update IPython to latest, fix
 texlive-polyglossia, add more
Date: Mon, 25 Apr 2022 11:53:57 +0200
[Message part 1 (text/plain, inline)]
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

[0001-gnu-python-qtpy-Update-to-2.0.1.patch (text/plain, attachment)]
[0002-gnu-python-qtconsole-Update-to-5.3.0.patch (text/plain, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 11:37:02 GMT) Full text and rfc822 format available.

Message #314 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>, 55104 <at> debbugs.gnu.org
Subject: Re: [bug#55104] [PATCH 000/232] Update IPython to latest, fix texlive-polyglossia, add more
Date: Mon, 25 Apr 2022 13:36:07 +0200
[Message part 1 (text/plain, inline)]
(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 <at> 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
>
>
>
>
[Message part 2 (text/html, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 13:16:01 GMT) Full text and rfc822 format available.

Message #317 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Lars-Dominik Braun <lars <at> 6xq.net>
Cc: 55104 <at> debbugs.gnu.org
Subject: Re: [bug#55104] [PATCH 000/232] Update IPython to latest, fix
 texlive-polyglossia, add more
Date: Mon, 25 Apr 2022 09:15:18 -0400
Hi Lars,

Lars-Dominik Braun <lars <at> 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




Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Mon, 25 Apr 2022 13:24:01 GMT) Full text and rfc822 format available.

Message #320 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Julien Lepiller <julien <at> lepiller.eu>
Cc: 55104 <at> debbugs.gnu.org
Subject: Re: [bug#55104] [PATCH 000/232] Update IPython to latest, fix
 texlive-polyglossia, add more
Date: Mon, 25 Apr 2022 09:23:44 -0400
Hi Julien!

Julien Lepiller <julien <at> 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 <at> 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 <at> debbugs.gnu.org *.patch

I hope that helps!

Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Tue, 26 Apr 2022 07:38:02 GMT) Full text and rfc822 format available.

Message #323 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Lars-Dominik Braun <lars <at> 6xq.net>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 55104 <at> debbugs.gnu.org
Subject: Re: [bug#55104] [PATCH 000/232] Update IPython to latest, fix
 texlive-polyglossia, add more
Date: Tue, 26 Apr 2022 09:36:59 +0200
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





Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Tue, 26 Apr 2022 11:22:02 GMT) Full text and rfc822 format available.

Message #326 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: zimoun <zimon.toutoune <at> gmail.com>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 55104 <at> debbugs.gnu.org, Lars-Dominik Braun <lars <at> 6xq.net>
Subject: Re: [bug#55104] [PATCH 000/232] Update IPython to latest, fix
 texlive-polyglossia, add more
Date: Tue, 26 Apr 2022 13:21:00 +0200
Hi Maxim,

Thanks for this big update. :-)

On Mon, 25 Apr 2022 at 15:16, Maxim Cournoyer <maxim.cournoyer <at> 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




Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Wed, 27 Apr 2022 03:10:02 GMT) Full text and rfc822 format available.

Message #329 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Lars-Dominik Braun <lars <at> 6xq.net>
Cc: 55104 <at> debbugs.gnu.org
Subject: Re: [bug#55104] [PATCH 000/232] Update IPython to latest, fix
 texlive-polyglossia, add more
Date: Tue, 26 Apr 2022 23:09:41 -0400
Hi Lars-Dominik,

Lars-Dominik Braun <lars <at> 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




Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Wed, 27 Apr 2022 11:51:01 GMT) Full text and rfc822 format available.

Message #332 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Lars-Dominik Braun <lars <at> 6xq.net>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 55104 <at> debbugs.gnu.org
Subject: Re: [bug#55104] [PATCH 000/232] Update IPython to latest, fix
 texlive-polyglossia, add more
Date: Wed, 27 Apr 2022 13:50:41 +0200
[Message part 1 (text/plain, inline)]
Hi Maxim,

> OK, thanks!
see patches attached.

Cheers,
Lars

[0001-gnu-python-pytest-sanic-Update-to-1.9.1.patch (text/plain, attachment)]
[0006-gnu-python-sanic-Update-to-21.12.1.patch (text/plain, attachment)]
[0005-gnu-Add-python-sanic-testing.patch (text/plain, attachment)]
[0003-gnu-Add-python-sanic-routing.patch (text/plain, attachment)]
[0002-gnu-Add-python-multidict-5.patch (text/plain, attachment)]
[0004-gnu-Add-python-sanic-bootstrap.patch (text/plain, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#55104; Package guix-patches. (Thu, 12 May 2022 01:32:02 GMT) Full text and rfc822 format available.

Message #335 received at 55104 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Lars-Dominik Braun <lars <at> 6xq.net>
Cc: 55104 <at> debbugs.gnu.org
Subject: Re: [bug#55104] [PATCH 000/232] Update IPython to latest, fix
 texlive-polyglossia, add more
Date: Wed, 11 May 2022 21:31:45 -0400
Hi,

Lars-Dominik Braun <lars <at> 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




bug closed, send any further explanations to 55104 <at> debbugs.gnu.org and Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Request was from Maxim Cournoyer <maxim.cournoyer <at> gmail.com> to control <at> debbugs.gnu.org. (Wed, 18 May 2022 04:48:01 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 15 Jun 2022 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 287 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.