* [bug#55104] [PATCH 002/232] gnu: python-astroid: Propagate python-typing-extensions.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 003/232] gnu: Add python-pure-eval Maxim Cournoyer
` (98 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-astroid)
[native-inputs]: Move python-typing-extensions to...
[propagated-inputs]: ... here.
[synopsis]: Shorten.
[description]: Normalize indentation.
---
gnu/packages/python-xyz.scm | 22 ++++++++++------------
1 file changed, 10 insertions(+), 12 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index cde86ba007..464171bee5 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19043,21 +19043,19 @@ (define-public python-astroid
(base32 "19iiys4233cicpm48fd7lrkm31kk47qiv44wvk952rqbcn4rd2dh"))))
(build-system python-build-system)
(propagated-inputs
- (list python-lazy-object-proxy python-wrapt))
+ (list python-lazy-object-proxy python-typing-extensions python-wrapt))
(native-inputs
- (list python-pytest python-pytest-runner python-typing-extensions))
+ (list python-pytest python-pytest-runner))
(home-page "https://github.com/PyCQA/astroid")
- (synopsis "Common base representation of python source code for pylint and
- other projects")
+ (synopsis "Python source code base representation")
(description "@code{python-astroid} provides a common base representation
- of python source code for projects such as pychecker, pyreverse, pylint, etc.
-
- It provides a compatible representation which comes from the _ast module. It
- rebuilds the tree generated by the builtin _ast module by recursively walking
- down the AST and building an extended ast. The new node classes have
- additional methods and attributes for different usages. They include some
- support for static inference and local name scopes. Furthermore, astroid
- builds partial trees by inspecting living objects.")
+of Python source code for projects such as pychecker, pyreverse, pylint, etc.
+It provides a compatible representation which comes from the _ast module. It
+rebuilds the tree generated by the builtin _ast module by recursively walking
+down the AST and building an extended ast. The new node classes have
+additional methods and attributes for different usages. They include some
+support for static inference and local name scopes. Furthermore, astroid
+builds partial trees by inspecting living objects.")
(license license:lgpl2.1+)))
(define-public python-isbnlib
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 003/232] gnu: Add python-pure-eval.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 002/232] gnu: python-astroid: Propagate python-typing-extensions Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 004/232] gnu: Add python-asttokens Maxim Cournoyer
` (97 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-pure-eval): New variable.
---
gnu/packages/python-xyz.scm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 464171bee5..82340c0155 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8975,6 +8975,24 @@ (define-public python-backcall
callback signature using a prototype function.")
(license license:bsd-3)))
+(define-public python-pure-eval
+ (package
+ (name "python-pure-eval")
+ (version "0.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pure_eval" version))
+ (sha256
+ (base32 "1hwsm85cwqwh6d6x4vzcimla2865s6v19ms3ym81ganzyq534i9b"))))
+ (build-system python-build-system)
+ (native-inputs (list python-pytest python-setuptools-scm))
+ (home-page "https://github.com/alexmojaki/pure_eval")
+ (synopsis "Python library to evaluate abstract syntax tree nodes")
+ (description "The @code{pure_eval} Python library can safely evaluate
+abstract syntax tree (AST) nodes without side effects.")
+ (license license:expat)))
+
(define-public python-ipython
(package
(name "python-ipython")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 004/232] gnu: Add python-asttokens.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 002/232] gnu: python-astroid: Propagate python-typing-extensions Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 003/232] gnu: Add python-pure-eval Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 005/232] gnu: Add python-littleutils Maxim Cournoyer
` (96 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-asttokens): New variable.
---
gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 82340c0155..d3570f45df 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8993,6 +8993,28 @@ (define-public python-pure-eval
abstract syntax tree (AST) nodes without side effects.")
(license license:expat)))
+(define-public python-asttokens
+ (package
+ (name "python-asttokens")
+ (version "2.0.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "asttokens" version))
+ (sha256
+ (base32 "1mglbkikxvnhrk3inbx0v1qzxwd38qjr6l35sn098yicy0ac2m4s"))))
+ (build-system python-build-system)
+ (propagated-inputs (list python-six))
+ (native-inputs (list python-astroid python-pytest python-setuptools-scm))
+ (home-page "https://github.com/gristlabs/asttokens")
+ (synopsis "Python library to annotate abstract syntax trees")
+ (description "The @code{asttokens} module annotates Python abstract syntax
+trees (ASTs) with the positions of tokens and text in the source code that
+generated them. It makes it possible for tools that work with logical AST
+nodes to find the particular text that resulted in those nodes, for example
+for automated refactoring or highlighting.")
+ (license license:asl2.0)))
+
(define-public python-ipython
(package
(name "python-ipython")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 005/232] gnu: Add python-littleutils.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (2 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 004/232] gnu: Add python-asttokens Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 006/232] gnu: Add python-stack-data Maxim Cournoyer
` (95 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-littleutils): New variable.
---
gnu/packages/python-xyz.scm | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d3570f45df..eca5dc5898 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -9015,6 +9015,23 @@ (define-public python-asttokens
for automated refactoring or highlighting.")
(license license:asl2.0)))
+(define-public python-littleutils
+ (package
+ (name "python-littleutils")
+ (version "0.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "littleutils" version))
+ (sha256
+ (base32 "0vwijrylppmk0nbddqvn527r9cg3zw8d6zk6r58hslry42jf7jp6"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/alexmojaki/littleutils")
+ (synopsis "Python utility function collection")
+ (description "@code{littleutils} is a small collection of Python utility
+functions, useful in the context of writing unit tests among other uses.")
+ (license license:expat)))
+
(define-public python-ipython
(package
(name "python-ipython")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 006/232] gnu: Add python-stack-data.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (3 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 005/232] gnu: Add python-littleutils Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 007/232] gnu: python-traitlets: Update to 5.1.1 Maxim Cournoyer
` (94 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-stack-data): New variable.
---
gnu/packages/python-xyz.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index eca5dc5898..6415c554ae 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -9032,6 +9032,32 @@ (define-public python-littleutils
functions, useful in the context of writing unit tests among other uses.")
(license license:expat)))
+(define-public python-stack-data
+ (package
+ (name "python-stack-data")
+ (version "0.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "stack_data" version))
+ (sha256
+ (base32 "04lfcj5qrn4qikjw89qbdzqwm0xm4bgm4m8rll1rafk3pm0jssa5"))))
+ (build-system python-build-system)
+ (propagated-inputs (list python-asttokens python-executing python-pure-eval))
+ (native-inputs
+ (list python-cython
+ python-littleutils
+ python-pygments
+ python-pytest
+ python-setuptools-scm
+ python-typeguard))
+ (home-page "https://github.com/alexmojaki/stack_data")
+ (synopsis "Python stack frame and traceback manipulation library")
+ (description "The @code{stack_data} Python library extracts data from
+stack frames and tracebacks. Is can be used to display more useful tracebacks
+than the default.")
+ (license license:expat)))
+
(define-public python-ipython
(package
(name "python-ipython")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 007/232] gnu: python-traitlets: Update to 5.1.1.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (4 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 006/232] gnu: Add python-stack-data Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 008/232] gnu: python-jinja2: Update to 3.1.1 Maxim Cournoyer
` (93 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-traitlets): Update to 5.1.1.
[phases]{check}: Honor TESTS?.
[propagated-inputs]: Delete field.
---
gnu/packages/python-xyz.scm | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6415c554ae..df3140fb1f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8722,21 +8722,21 @@ (define-public python-ipython-sql
(define-public python-traitlets
(package
(name "python-traitlets")
- (version "4.3.3")
+ (version "5.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "traitlets" version))
(sha256
(base32
- "1xsrwgivpkxlbr4dfndfsi098s29yqgswgjc1qqn69yxklvfw8yh"))))
+ "1ivhxglsrnhqw4g98ihddn7i5f6976gpk31fijwq473wb9n4b7q5"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
- (replace 'check (lambda _ (invoke "pytest" "-vv" "traitlets"))))))
- (propagated-inputs
- (list python-ipython-genutils python-decorator python-six))
+ (replace 'check (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv" "traitlets")))))))
(native-inputs
(list python-pytest))
(home-page "https://ipython.org")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 008/232] gnu: python-jinja2: Update to 3.1.1.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (5 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 007/232] gnu: python-traitlets: Update to 5.1.1 Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 009/232] gnu: python-prompt-toolkit: Update to 3.0.29 Maxim Cournoyer
` (92 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-jinja2): Update to 3.1.1.
---
gnu/packages/python-xyz.scm | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index df3140fb1f..f95d0fbcfc 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -4039,14 +4039,14 @@ (define-public python2-markupsafe
(define-public python-jinja2
(package
(name "python-jinja2")
- (version "3.0.1")
+ (version "3.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Jinja2" version))
(sha256
(base32
- "197ms1wimxql650245v63wkv04n8bicj549wfhp51bx68x5lhgvh"))))
+ "1saawzys14l1p4kafs7hkihmnvqjq8fwxjmkjiqx3jq1nm5ys2v4"))))
(build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
@@ -4055,11 +4055,9 @@ (define-public python-jinja2
(if tests?
(invoke "pytest" "-vv")
(format #t "test suite not run~%")))))))
- (native-inputs
- (list python-pytest))
- (propagated-inputs
- (list python-markupsafe))
- (home-page "http://jinja.pocoo.org/")
+ (native-inputs (list python-pytest))
+ (propagated-inputs (list python-markupsafe))
+ (home-page "https://jinja.palletsprojects.com/")
(synopsis "Python template engine")
(description
"Jinja2 is a small but fast and easy to use stand-alone template engine
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 009/232] gnu: python-prompt-toolkit: Update to 3.0.29.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (6 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 008/232] gnu: python-jinja2: Update to 3.1.1 Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 010/232] gnu: python-ipython: Update to 8.2.0 [fixes CVE-2022-21699] Maxim Cournoyer
` (91 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-prompt-toolkit): Update to 3.0.29.
[phases]{post-install-check}: Move to...
{check}: ... this phase override instead, and streamline.
---
gnu/packages/python-xyz.scm | 19 +++++++++----------
1 file changed, 9 insertions(+), 10 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index f95d0fbcfc..8d46d992b0 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -17212,25 +17212,24 @@ (define-public python2-backpack
(define-public python-prompt-toolkit
(package
(name "python-prompt-toolkit")
- (version "3.0.18")
+ (version "3.0.29")
(source
(origin
(method url-fetch)
(uri (pypi-uri "prompt_toolkit" version))
(sha256
- (base32 "1g1kq1aimhm23k2dmlmnznfzc83l6ly65g0h32hqz8injcdz3d71"))))
+ (base32 "19vf5cahp3imdpwhgvk55g3dvqmc6ga175r4vkq79kffx1h0yr5x"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
- (delete 'check)
- (add-after 'install 'post-install-check
- (lambda* (#:key inputs outputs #:allow-other-keys)
- ;; HOME is needed for the test
- ;; "test_pathcompleter_can_expanduser".
- (setenv "HOME" "/tmp")
- (add-installed-pythonpath inputs outputs)
- (invoke "py.test"))))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; HOME is needed for the test
+ ;; "test_pathcompleter_can_expanduser".
+ (setenv "HOME" "/tmp")
+ (invoke "pytest" "-vv")))))))
(propagated-inputs
(list python-wcwidth))
(native-inputs
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 010/232] gnu: python-ipython: Update to 8.2.0 [fixes CVE-2022-21699].
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (7 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 009/232] gnu: python-prompt-toolkit: Update to 3.0.29 Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 011/232] gnu: python-nbformat: Update to 5.3.0 Maxim Cournoyer
` (90 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer, Leo Famulari
* gnu/packages/python-xyz.scm (python-ipython): Update to 8.2.0.
[phases]{fix-tests}: Delete phase.
{check}: Remove extraneous add-installed-pythonpath call. Invoke Pytest
directly.
Reported-by: Leo Famulari <leo@famulari.name>
---
gnu/packages/python-xyz.scm | 45 ++++++++++++-------------------------
1 file changed, 14 insertions(+), 31 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 8d46d992b0..44011944d9 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -9059,13 +9059,13 @@ (define-public python-stack-data
(define-public python-ipython
(package
(name "python-ipython")
- (version "7.27.0")
+ (version "8.2.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ipython" version ".tar.gz"))
(sha256
- (base32 "04xgymypnbfgf2q0d5b0hanjbjsp53f055sh1p8xlq52vyzmxdaq"))))
+ (base32 "1hcxa713wh3axa57412iy02rj0494ljvv6gpnls4lndc5h9yprbh"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -9076,34 +9076,15 @@ (define-public python-ipython
((".*import datetime") "")
((".*datetime.datetime.now\\(\\)") "")
(("%timeit") "# %timeit"))))
- (add-before 'check 'fix-tests
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "./IPython/utils/_process_posix.py"
- (("/usr/bin/env', 'which") (which "which")))
- (substitute* "./IPython/core/tests/test_inputtransformer.py"
- (("#!/usr/bin/env python")
- (string-append "#!" (which "python"))))
- ;; This test introduces a circular dependency on ipykernel
- ;; (which depends on ipython).
- (delete-file "IPython/core/tests/test_display.py")
- ;; AttributeError: module 'IPython.core' has no attribute 'formatters'
- (delete-file "IPython/core/tests/test_interactiveshell.py")
- ;; AttributeError: module 'matplotlib_inline' has no
- ;; attribute 'backend_inline'
- (delete-file "IPython/core/tests/test_pylabtools.py")))
(replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(when tests?
- ;; Make installed package available for running the tests
- (add-installed-pythonpath inputs outputs)
- (setenv "HOME" "/tmp/") ;; required by a test
- ;; We only test the core because one of the other tests
- ;; tries to import ipykernel.
- (invoke "python" "IPython/testing/iptest.py"
- "-v" "IPython/core/tests")))))))
+ (setenv "HOME" "/tmp/") ;required by some tests
+ (invoke "python" "-m" "pytest" "-vv")))))))
(inputs (list readline which))
(propagated-inputs
(list python-backcall
+ python-decorator
python-jedi
python-jinja2
python-jsonschema
@@ -9115,18 +9096,20 @@ (define-public python-ipython
python-numpydoc
python-pexpect
python-pickleshare
- python-prompt-toolkit-2
+ python-prompt-toolkit
python-pygments
python-pyzmq
python-simplegeneric
+ python-stack-data
python-terminado
python-traitlets))
(native-inputs
(list graphviz
pkg-config
- python-requests ;for tests
- python-testpath
- python-nose))
+ ;; For tests.
+ python-pytest
+ python-requests
+ python-testpath))
(home-page "https://ipython.org")
(synopsis "IPython is a tool for interactive computing in Python")
(description
@@ -9173,14 +9156,14 @@ (define-public python-ipython-documentation
(mkdir-p info)
;; (copy-file "docs/build/texinfo/ipython.info"
;; (string-append info "/ipython.info"))
- (copy-file "COPYING.rst" (string-append doc "/COPYING.rst")))
- #t)))))
+ (copy-file "COPYING.rst" (string-append doc "/COPYING.rst"))))))))
(inputs
(list python-ipython python-ipykernel))
(native-inputs
`(("python-sphinx" ,python-sphinx)
("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)
- ;; FIXME: It's possible that a smaller union would work just as well.
+ ;; FIXME: It's possible that a smaller updmap.cfg would work just as
+ ;; well.
("texlive" ,(texlive-updmap.cfg (list texlive-amsfonts
texlive-capt-of
texlive-fonts-ec
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 011/232] gnu: python-nbformat: Update to 5.3.0.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (8 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 010/232] gnu: python-ipython: Update to 8.2.0 [fixes CVE-2022-21699] Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 012/232] gnu: Add texlive-paralist Maxim Cournoyer
` (89 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-nbformat): Update to 5.3.0.
[source]: Adjust git URL.
[native-inputs]: Move python-fastjsonschema to...
[propagated-inputs]: ... here. Remove python-ipython-genutils.
---
gnu/packages/python-xyz.scm | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 44011944d9..a303e31875 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -12800,16 +12800,16 @@ (define-public python-fastjsonschema
(define-public python-nbformat
(package
(name "python-nbformat")
- (version "5.1.3")
+ (version "5.3.0")
;; The PyPi release tarball lacks some test cases and test data.
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/jupyter/nbformat.git")
+ (url "https://github.com/jupyter/nbformat")
(commit version)))
(sha256
(base32
- "033v16cfmxzh3jn5phnil4p3silr49iwh9wiigzhv0crc6sanvwz"))
+ "114c5c6cvpxhxj8zrw74351gcfzyzjh1jq3py4xf8wk9rahfay9z"))
(file-name (git-file-name name version))))
(build-system python-build-system)
(arguments
@@ -12820,13 +12820,10 @@ (define-public python-nbformat
(when tests?
(invoke "pytest" "-vv")))))))
(propagated-inputs
- (list python-ipython-genutils python-jsonschema python-jupyter-core
+ (list python-fastjsonschema python-jsonschema python-jupyter-core
python-traitlets))
(native-inputs
(list python-pytest
- python-fastjsonschema ; This is only active
- ; when setting NBFORMAT_VALIDATOR="fastjsonschema", so include it for
- ; testing only.
python-testpath))
(home-page "https://jupyter.org")
(synopsis "Jupyter Notebook format")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 012/232] gnu: Add texlive-paralist.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (9 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 011/232] gnu: python-nbformat: Update to 5.3.0 Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 013/232] gnu: Add texlive-stix2-otf Maxim Cournoyer
` (88 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/tex.scm (texlive-paralist): New variable.
---
gnu/packages/tex.scm | 47 +++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 46 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 34e9aa1e06..8c31d131b6 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -14,7 +14,7 @@
;;; Copyright © 2018, 2020 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020, 2021 Paul Garlick <pgarlick@tourbillion-technology.com>
-;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Leo Le Bouter <lle-bout@zaclys.net>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
@@ -5417,6 +5417,51 @@ (define-public texlive-latex-mdwtools
array environments; verbatim handling; and syntax diagrams.")
(license license:gpl3+)))
+(define-public texlive-paralist
+ (package
+ (inherit (simple-texlive-package
+ "texlive-paralist"
+ (list "doc/latex/paralist/README"
+ "source/latex/paralist/paralist.dtx"
+ "source/latex/paralist/paralist.ins")
+ (base32 "1lz8yds2i64wkb89a9amydwkzsdbc09s1kbgn7vgh2qsxqrrgwam")))
+ (outputs '("out" "doc"))
+ (arguments
+ (list
+ #:tex-directory "latex/paralist"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'chdir
+ (lambda _
+ (setenv "ROOT_DIR" (getcwd))
+ (chdir "source/latex/paralist")))
+ (add-after 'build 'build-doc
+ (lambda* (#:key outputs tex-directory #:allow-other-keys)
+ (copy-file "paralist.dtx" "build/paralist.dtx")
+ (chdir "build")
+ (invoke "pdflatex" "paralist.dtx")))
+ (replace 'install
+ (lambda* (#:key outputs tex-directory #:allow-other-keys)
+ (let ((doc (string-append (assoc-ref outputs "doc")
+ "/share/doc/" tex-directory))
+ (out (string-append #$output "/share/texmf-dist/tex/"
+ tex-directory)))
+ (install-file "paralist.pdf" doc)
+ (install-file (car (find-files (getenv "ROOT_DIR") "README"))
+ doc)
+ (install-file "paralist.sty" out)))))))
+ (native-inputs (list texlive-latex-base
+ (texlive-updmap.cfg
+ (list texlive-cm
+ texlive-jknappen))))
+ (home-page "https://ctan.org/pkg/paralist")
+ (synopsis "Enumerate and itemize within paragraphs")
+ (description "The @code{paralist} package provides enumerate and itemize
+environments that can be used within paragraphs to format the items either as
+running text or as separate paragraphs with a preceding number or symbol. It
+also provides compacted versions of enumerate and itemize.")
+ (license license:lppl1.0+)))
+
(define-public texlive-latex-polyglossia
(package
(name "texlive-latex-polyglossia")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 013/232] gnu: Add texlive-stix2-otf.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (10 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 012/232] gnu: Add texlive-paralist Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 014/232] gnu: Add texlive-metalogo Maxim Cournoyer
` (87 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/tex.scm (texlive-stix2-otf): New variable.
---
gnu/packages/tex.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 8c31d131b6..c3129ebd60 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -6445,6 +6445,41 @@ (define-public texlive-latex-pdfpages
use this package to insert PostScript files, in addition to PDF files.")
(license license:lppl1.3+)))
+(define-public texlive-stix2-otf
+ (let ((base (simple-texlive-package
+ "texlive-stix2-otf"
+ (list "/doc/fonts/stix2-otf/"
+ "/fonts/opentype/public/stix2-otf/")
+ (base32 "0i7rd1wn5jgm3gbi779gy78apz63w034ck4pn73xw6s10zgjzmgl")
+ ;; Building these fonts requires FontLab, which is nonfree.
+ #:trivial? #t)))
+ (package
+ (inherit base)
+ (arguments
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (add-after 'install 'symlink-fonts-to-system-fonts-prefix
+ ;; This is so that fontconfig can locate the fonts, such as
+ ;; when using xetex or xelatex.
+ (lambda _
+ (let ((system-fonts-prefix (string-append #$output
+ "/share/fonts")))
+ (mkdir-p system-fonts-prefix)
+ (symlink (string-append
+ #$output "/share/texmf-dist/fonts/opentype"
+ "/public/stix2-otf")
+ (string-append system-fonts-prefix
+ "/stix2-otf")))))))))
+ (home-page "https://www.stixfonts.org/")
+ (synopsis "OpenType Unicode text and maths fonts")
+ (description "The Scientific and Technical Information eXchange (STIX)
+fonts are intended to satisfy the demanding needs of authors, publishers,
+printers, and others working in the scientific, medical, and technical fields.
+They combine a comprehensive Unicode-based collection of mathematical symbols
+and alphabets with a set of text faces suitable for professional publishing.")
+ (license license:silofl1.1))))
+
(define-public texlive-stmaryrd
(let ((template (simple-texlive-package
"texlive-stmaryrd"
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 014/232] gnu: Add texlive-metalogo.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (11 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 013/232] gnu: Add texlive-stix2-otf Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 015/232] gnu: Add texlive-makecmds Maxim Cournoyer
` (86 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/tex.scm (texlive-metalogo): New variable.
---
gnu/packages/tex.scm | 80 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 80 insertions(+)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index c3129ebd60..dea153643d 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -5417,6 +5417,86 @@ (define-public texlive-latex-mdwtools
array environments; verbatim handling; and syntax diagrams.")
(license license:gpl3+)))
+(define-public texlive-metalogo
+ (package
+ (inherit (simple-texlive-package
+ "texlive-metalogo"
+ (list "doc/latex/metalogo/README"
+ ;; These PDFs are apparently used as graphic files, not
+ ;; built.
+ "doc/latex/metalogo/TeXoutline.pdf"
+ "doc/latex/metalogo/eLaToutline.pdf"
+ "source/latex/metalogo/metalogo.dtx"
+ "source/latex/metalogo/metalogo.ins")
+ (base32 "0v1jwp8xhzwn0a4apiyya17s4r1kpn6q9nmv38jj1wwdvgia0jpi")))
+ (outputs '("out" "doc"))
+ (arguments
+ (list
+ #:tex-directory "latex/metalogo"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'chdir
+ (lambda _
+ (setenv "ROOT_DIR" (getcwd))
+ (chdir "source/latex/metalogo")))
+ (add-after 'chdir 'patch-metalogo.dtx
+ (lambda _
+ (substitute* "metalogo.dtx"
+ ;; Prevent embedding a build time date, for reproducibility.
+ (("^% \\\\date.*") "")
+ ;; These fonts are not free.
+ (("^\\\\setmainfont.*") "")
+ (("^\\\\DeclareSymbolFont\\{SabonMaths}.*") "")
+ (("^\\\\AtBeginDocument\\{.*") "")
+ ((".*\\\\expandafter.*\\\\symSabonMaths.*") "")
+ (("^\\\\setsansfont.*MgOpen Cosmetica.*") "")
+ (("^\\\\setmonofont.*Consolas.*") "")
+ ;; The 'stix' texlive font package has been obsoleted by
+ ;; stix2.
+ (("^\\\\newfontfamily\\\\stixgeneral\\{STIXGeneral}")
+ "\\newfontfamily\\stixgeneral{STIX Two Text}"))))
+ (add-after 'build 'build-doc
+ (lambda* (#:key outputs tex-directory #:allow-other-keys)
+ (define doc-sources (string-append (getenv "ROOT_DIR")
+ "/doc/latex/metalogo"))
+ (copy-file "metalogo.dtx" "build/metalogo.dtx")
+ (mkdir "build/graphics")
+ (copy-file (string-append doc-sources "/TeXoutline.pdf")
+ "build/graphics/TeXoutline.pdf")
+ (copy-file (string-append doc-sources "/eLaToutline.pdf")
+ "build/graphics/eLaToutline.pdf")
+ (chdir "build")
+ (invoke "xelatex" "metalogo.dtx"))) ;generate metalogo.pdf
+ (replace 'install
+ (lambda* (#:key outputs tex-directory #:allow-other-keys)
+ (let ((doc (string-append (assoc-ref outputs "doc")
+ "/share/doc/" tex-directory))
+ (out (string-append #$output "/share/texmf-dist/tex/"
+ tex-directory)))
+ (install-file "metalogo.pdf" doc)
+ (install-file (car (find-files (getenv "ROOT_DIR") "README"))
+ doc)
+ (install-file "metalogo.sty" out)))))))
+ (native-inputs (list fontconfig ;for XDG_DATA_DIRS, to locate OTF fonts
+ texlive-booktabs
+ texlive-cm
+ texlive-fontspec
+ texlive-generic-iftex
+ texlive-latex-base
+ texlive-latex-eukdate
+ texlive-latex-graphics
+ texlive-latex-multirow
+ texlive-lm ;for lmroman10-regular
+ texlive-stix2-otf))
+ (propagated-inputs (list texlive-fontspec texlive-generic-iftex
+ texlive-latex-graphics))
+ (home-page "https://ctan.org/pkg/metalogo")
+ (synopsis "Extended TeX logo macros")
+ (description "This package exposes spacing parameters for various TeX
+logos to the end user, to optimise the logos for different fonts. It is
+written especially for XeLaTeX users.")
+ (license license:lppl1.3c+)))
+
(define-public texlive-paralist
(package
(inherit (simple-texlive-package
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 015/232] gnu: Add texlive-makecmds.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (12 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 014/232] gnu: Add texlive-metalogo Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 016/232] gnu: Add texlive-csplain Maxim Cournoyer
` (85 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/tex.scm (texlive-makecmds): New variable.
---
gnu/packages/tex.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index dea153643d..40390e9970 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -5417,6 +5417,50 @@ (define-public texlive-latex-mdwtools
array environments; verbatim handling; and syntax diagrams.")
(license license:gpl3+)))
+(define-public texlive-makecmds
+ (package
+ (inherit (simple-texlive-package
+ "texlive-makecmds"
+ (list "doc/latex/makecmds/README"
+ "source/latex/makecmds/makecmds.dtx"
+ "source/latex/makecmds/makecmds.ins")
+ (base32 "0znx80x6ic7a25v9dw8yjibq7lx65wangcyii18kk5x5z4jljba9")))
+ (outputs '("out" "doc"))
+ (arguments
+ (list
+ #:tex-directory "latex/makecmds"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'chdir
+ (lambda _
+ (setenv "ROOT_DIR" (getcwd))
+ (chdir "source/latex/makecmds")))
+ (add-after 'build 'build-doc
+ (lambda _
+ (copy-file "makecmds.dtx" "build/makecmds.dtx")
+ (chdir "build")
+ (invoke "pdflatex" "makecmds.dtx"))) ;generate makecmds.pdf
+ (replace 'install
+ (lambda* (#:key outputs tex-directory #:allow-other-keys)
+ (let ((doc (string-append (assoc-ref outputs "doc")
+ "/share/doc/" tex-directory))
+ (out (string-append #$output "/share/texmf-dist/tex/"
+ tex-directory)))
+ (install-file "makecmds.pdf" doc)
+ (install-file (car (find-files (getenv "ROOT_DIR") "README"))
+ doc)
+ (install-file "makecmds.sty" out)))))))
+ (native-inputs (list (texlive-updmap.cfg
+ (list texlive-amsfonts
+ texlive-cm))))
+ (home-page "https://www.ctan.org/pkg/makecmds")
+ (synopsis "TeX macro to define or redefine a command")
+ (description "The package provides a @code{\\makecommand} command, which
+is like @code{\\newcommand} or @code{\\renewcommand} except it
+always (re)defines a command. There is also @code{\\makeenvironment} and
+@code{\\provideenvironment} for environments.")
+ (license license:lppl1.3c+)))
+
(define-public texlive-metalogo
(package
(inherit (simple-texlive-package
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 016/232] gnu: Add texlive-csplain.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (13 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 015/232] gnu: Add texlive-makecmds Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 017/232] gnu: Add texlive-cs Maxim Cournoyer
` (84 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/tex.scm (texlive-csplain): New variable.
---
gnu/packages/tex.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 40390e9970..f8fa65e386 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -4081,6 +4081,34 @@ (define-public texlive-babel/fixed
(define-deprecated-package texlive-latex-babel texlive-babel)
+;;; Note: if this package is modified, its name must be changed to comply with
+;;; its license.
+(define-public texlive-csplain
+ (package
+ (inherit (simple-texlive-package
+ "texlive-csplain"
+ (list "tex/csplain/base/")
+ (base32 "0cgrwc8lgf2x2hq6bb4kqxw597card985zdd9ipn7k98mmwrxhz3")
+ #:trivial? #t))
+ (home-page "http://petr.olsak.net/csplain-e.html")
+ (synopsis "Plain TeX multilanguage support")
+ (description "CSplain is a small extension of basic Plain TeX macros from
+which the formats @code{csplain} and @code{pdfcsplain} can be generated. It
+supports: hyphenation of words for 50+ languages, simple and powerful font
+loading system (various sizes of fonts), TeX, pdfTeX, XeTeX and LuaTeX
+engines, math fonts simply loaded with full amstex-like features, three
+internal encodings (IL2 for Czech/Slovak languages, T1 for many languages with
+latin alphabet and Unicode in new TeX engines), natural UTF-8 input in pdfTeX
+using encTeX without any active characters, Czech and Slovak special
+typesetting features. An important part of the package is OPmac, which
+implements most of LaTeX's features (sectioning, font selection, color, hyper
+reference and URLs, bibliography, index, table of contents, tables, etc.) by
+Plain TeX macros. The OPmac macros can generate a bibliography without any
+external program.")
+ ;; This custom permissive license includes as a redistribution condition
+ ;; that says the package must be renamed from 'csplain' if it is modified.
+ (license (license:non-copyleft "file:///tex/csplain/base/csplain.ini"))))
+
(define-public texlive-generic-babel-english
(package
(name "texlive-generic-babel-english")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 017/232] gnu: Add texlive-cs.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (14 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 016/232] gnu: Add texlive-csplain Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 018/232] gnu: Add texlive-zref Maxim Cournoyer
` (83 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/tex.scm (texlive-cs): New variable.
---
gnu/packages/tex.scm | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index f8fa65e386..82da10c41a 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -4081,6 +4081,37 @@ (define-public texlive-babel/fixed
(define-deprecated-package texlive-latex-babel texlive-babel)
+(define-public texlive-cs
+ (package
+ (inherit (simple-texlive-package
+ "texlive-cs"
+ (list
+ "fonts/enc/dvips/cs/"
+ "fonts/map/dvips/cs/"
+ "fonts/source/public/cs/"
+ ;; TODO: Remove these pre-built files after the manual
+ ;; build below is fixed.
+ ;; The font fails to build from the Metafont sources, with
+ ;; errors such as:
+ ;; This is METAFONT, Version 2.71828182 (TeX Live 2021/GNU Guix) [...]
+ ;; (./csaccent.mf
+ ;; >> cap_curve#-dot_size#
+ ;; ! Unknown relation will be considered false.
+ ;; <to be read again>
+ "fonts/tfm/cs/cs-a35/"
+ "fonts/tfm/cs/cs-charter/"
+ "fonts/tfm/public/cs/"
+ "fonts/type1/public/cs/"
+ "fonts/vf/cs/cs-a35/")
+ (base32 "1ww5lrqja051fh0ygmfdyy5a6bhwq9k5zv857vwiqf5syvw5djps")
+ #:trivial? #t))
+ (home-page "http://petr.olsak.net/cstex/")
+ (synopsis "Czech/Slovak-tuned Computer Modern fonts")
+ (description "This package provides Czech/Slovak-tuned Computer Modern
+fonts in the Metafont format; Type 1 format versions (csfonts-t1) are also
+available.")
+ (license license:gpl2+))) ;see fonts/source/public/cs/cscode.mf
+
;;; Note: if this package is modified, its name must be changed to comply with
;;; its license.
(define-public texlive-csplain
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 018/232] gnu: Add texlive-zref.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (15 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 017/232] gnu: Add texlive-cs Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 019/232] gnu: Add python-pcpp Maxim Cournoyer
` (82 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/tex.scm (texlive-zref): New variable.
---
gnu/packages/tex.scm | 70 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 70 insertions(+)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 82da10c41a..1ebaceb322 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -6360,6 +6360,76 @@ (define-public texlive-zapfding
;; No license version specified.
(license license:gpl3+)))
+(define-public texlive-zref
+ (package
+ (inherit (simple-texlive-package
+ "texlive-zref"
+ (list "doc/latex/zref/"
+ "source/latex/zref/")
+ (base32 "09l2wrqx0navislkx15iazv7jy0ip8bqaw3c0hjf0jy81kqrrm01")))
+ (outputs '("out" "doc"))
+ (arguments
+ (list
+ #:build-targets #~(list "zref.dtx")
+ #:tex-directory "latex/zref"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _
+ (setenv "ROOT_DIR" (getcwd))
+ (chdir "source/latex/zref")))
+ (add-after 'install 'install-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (define doc (string-append (assoc-ref outputs "doc")
+ "/share/texmf-dist/doc"))
+ (mkdir-p doc)
+ (copy-recursively (string-append (getenv "ROOT_DIR") "/doc")
+ doc))))))
+ (propagated-inputs (list texlive-generic-atbegshi
+ texlive-generic-gettitlestring
+ texlive-generic-iftex
+ texlive-latex-atveryend
+ texlive-latex-kvoptions
+ texlive-latex-pdftexcmds
+ texlive-latex-xkeyval))
+ (home-page "https://github.com/ho-tex/zref")
+ (synopsis "Reference scheme for LaTeX")
+ (description "This package offers a means to remove the limitation, of
+only two properties, that is inherent in the way LaTeX's reference system
+works. The package implements an extensible referencing system, where
+properties may be defined and used in the course of a document. It provides
+an interface for macro programmers to access the new reference scheme and some
+modules that use it. Modules available are:
+@table @code
+@item zref-user
+use zref for traditional labels and references;
+@item zref-abspage
+retrieve absolute page numbers (physical pages, as opposed to the logical page
+number that is normally typeset when a page number is requested;
+@item zref-lastpage
+provide a zref-label for the last page of the document;
+@item zref-nextpage
+provide the page number of the next page of the document;
+@item zref-totpages
+provide the total number of pages in the document;
+@item zref-pagelayout
+provide the page layout parameters of a each page (which may then be printed
+at the end of the document);
+@item zref-perpage
+make a counter reset for each new page;
+@item zref-titleref
+make section title or caption text available through the reference system;
+@item zref-savepos
+make positions on a page available;
+@item zref-dotfill
+controlled dot-filling
+@item zref-env
+record the latest environment's name and the line it started on;
+@item zref-xr
+provide the facilities of the xr and xr-hyper packages.
+@end table")
+ (license license:lppl1.3c+)))
+
(define-deprecated-package texlive-fonts-adobe-zapfding texlive-zapfding)
(define-public texlive-fonts-rsfs
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 019/232] gnu: Add python-pcpp.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (16 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 018/232] gnu: Add texlive-zref Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 020/232] gnu: Add opentype-sanitizer Maxim Cournoyer
` (81 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/c.scm (python-pcpp): New variable.
---
gnu/packages/c.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 3450037c74..dcdf5d5198 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -37,6 +37,7 @@ (define-module (gnu packages c)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (guix store)
#:use-module (gnu packages)
@@ -143,6 +144,37 @@ (define-public pcc
;; preferred. See http://pcc.ludd.ltu.se/licenses/ for more details.
(license (list license:bsd-2 license:bsd-3))))
+(define-public python-pcpp
+ (package
+ (name "python-pcpp")
+ (version "1.30")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ned14/pcpp")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1rihvlg11nzk70kfzz4i3gi5izcy46w05ismcx04p5j1hlim0brb"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'unbundle-ply
+ (lambda _
+ (rmdir "pcpp/ply")
+ (substitute* "setup.py"
+ (("'pcpp/ply/ply'") "")))))))
+ (native-inputs (list python-pytest))
+ (propagated-inputs (list python-ply))
+ (home-page "https://github.com/ned14/pcpp")
+ (synopsis "C99 preprocessor written in Python")
+ (description "This package provides a C99 preprocessor written in pure
+Python.")
+ (license license:bsd-3)))
+
(define-public libbytesize
(package
(name "libbytesize")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 020/232] gnu: Add opentype-sanitizer.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (17 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 019/232] gnu: Add python-pcpp Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 021/232] gnu: Add python-opentype-sanitizer Maxim Cournoyer
` (80 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/fontutils.scm (opentype-sanitizer): New variable.
---
gnu/packages/fontutils.scm | 25 ++++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index c8c32fd5a9..16c2391179 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -12,7 +12,7 @@
;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
-;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2022 Felipe Balbi <balbi@kernel.org>
@@ -65,6 +65,7 @@ (define-module (gnu packages fontutils)
#:use-module (gnu packages xorg)
#:use-module (gnu packages tex)
#:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix svn-download)
@@ -108,6 +109,28 @@ (define-public freetype
(license license:freetype) ; some files have other licenses
(home-page "https://www.freetype.org/")))
+(define-public opentype-sanitizer
+ (package
+ (name "opentype-sanitizer")
+ (version "8.2.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/khaledhosny/ots"
+ "/releases/download/v" version
+ "/ots-" version ".tar.xz"))
+ (sha256
+ (base32
+ "17z8cxv48rfig5k7j3xk3bmbf7rm3kxsc3bazix96l0wws58r569"))))
+ (build-system meson-build-system)
+ (native-inputs (list googletest pkg-config))
+ (inputs (list freetype lz4 woff2 zlib))
+ (home-page "https://github.com/khaledhosny/ots")
+ (synopsis "Sanitizer for OpenType fonts")
+ (description "The OpenType Sanitizer (OTS) parses and serializes OpenType
+files (OTF, TTF) and WOFF and WOFF2 font files, validating them and sanitizing
+them as it goes.")
+ (license license:bsd-3)))
+
(define-public ttfautohint
(package
(name "ttfautohint")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 021/232] gnu: Add python-opentype-sanitizer.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (18 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 020/232] gnu: Add opentype-sanitizer Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 022/232] gnu: Add python-defcon-bootstrap Maxim Cournoyer
` (79 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/fontutils.scm (python-opentype-sanitizer): New variable.
---
gnu/packages/fontutils.scm | 37 +++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 16c2391179..ec6dab37ff 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -131,6 +131,43 @@ (define-public opentype-sanitizer
them as it goes.")
(license license:bsd-3)))
+(define-public python-opentype-sanitizer
+ (package
+ (name "python-opentype-sanitizer")
+ (version "8.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "opentype-sanitizer" version))
+ (sha256
+ (base32 "1wjy6chbnj9ic5yjxal6spln5jfzr8cigqs6ab0gj7q60dndrl5k"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'unbundle-opentype-sanitizer
+ (lambda* (#:key inputs #:allow-other-keys)
+ (delete-file-recursively "src/c")
+ (substitute* "setup.py"
+ (("^cmdclass\\[\"download\"].*") "")
+ (("^cmdclass\\[\"build_ext\"].*") "")
+ (("^cmdclass\\[\"egg_info\"].*") ""))
+ (substitute* "src/python/ots/__init__.py"
+ (("^OTS_SANITIZE = .*")
+ (format #f "OTS_SANITIZE = ~s~%"
+ (search-input-file inputs "bin/ots-sanitize"))))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv")))))))
+ (native-inputs (list python-pytest python-setuptools-scm))
+ (inputs (list opentype-sanitizer))
+ (home-page "https://github.com/googlefonts/ots-python")
+ (synopsis "Python wrapper for OpenType Sanitizer")
+ (description "Python wrapper for the OpenType Sanitizer library.")
+ (license license:bsd-3)))
+
(define-public ttfautohint
(package
(name "ttfautohint")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 022/232] gnu: Add python-defcon-bootstrap.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (19 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 021/232] gnu: Add python-opentype-sanitizer Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 023/232] gnu: Add python-fontmath Maxim Cournoyer
` (78 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/fontutils.scm (python-defcon-bootstrap): New variable.
---
gnu/packages/fontutils.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index ec6dab37ff..61b39e510d 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -821,6 +821,36 @@ (define-public python2-ufolib
files. UFO is a file format that stores fonts source files.")
(license license:bsd-3)))
+;;; A variant used to break a cycle between python-fontpens and
+;;; python-fontparts.
+(define-public python-defcon-bootstrap
+ (package
+ (name "python-defcon-bootstrap")
+ (version "0.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "defcon" version ".zip"))
+ (sha256
+ (base32 "0g0bjwzdj6sskyh8snbxsxza3czdmvb807qv38mizx631cm8c2d0"))))
+ (build-system python-build-system)
+ (propagated-inputs (list python-fontpens-bootstrap python-fonttools-full))
+ (native-inputs
+ (list python-pytest
+ python-pytest-runner
+ python-setuptools-scm
+ unzip))
+ (home-page "https://github.com/robotools/defcon")
+ (synopsis "Flexible objects for representing @acronym{UFO, unified font object} data")
+ (description "Defcon is a set of @acronym{UFO, unified font object} based
+objects optimized for use in font editing applications. The objects are built
+to be lightweight, fast and flexible. The objects are very bare-bones and
+they are not meant to be end-all, be-all objects. Rather, they are meant to
+provide base functionality so that you can focus on your application’s
+behavior, not object observing or maintaining cached data. Defcon implements
+UFO3 as described by the UFO font format.")
+ (license license:expat)))
+
(define-public python2-defcon
(package
(name "python2-defcon")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 023/232] gnu: Add python-fontmath.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (20 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 022/232] gnu: Add python-defcon-bootstrap Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 024/232] gnu: Add python-unicodedata2 Maxim Cournoyer
` (77 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/fontutils.scm (python-fontmath): New variable.
---
gnu/packages/fontutils.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 61b39e510d..8870b87abb 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -57,6 +57,7 @@ (define-module (gnu packages fontutils)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages webkit)
@@ -131,6 +132,30 @@ (define-public opentype-sanitizer
them as it goes.")
(license license:bsd-3)))
+(define-public python-fontmath
+ (package
+ (name "python-fontmath")
+ (version "0.9.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "fontMath" version ".zip"))
+ (sha256
+ (base32 "001756zxn2386dm4svgqjgw5026hvyacxl09b2qlk7s06phpcphw"))))
+ (build-system python-build-system)
+ (propagated-inputs (list python-fonttools))
+ (native-inputs
+ (list python-setuptools-scm
+ python-pytest
+ python-pytest-runner
+ python-wheel
+ unzip))
+ (home-page "https://github.com/robotools/fontMath")
+ (synopsis "Fast font mathematical operations library")
+ (description "This package provides a set of objects for performing fast
+font, glyph, etc. mathematical operations on font data.")
+ (license license:expat)))
+
(define-public python-opentype-sanitizer
(package
(name "python-opentype-sanitizer")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 024/232] gnu: Add python-unicodedata2.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (21 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 023/232] gnu: Add python-fontmath Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 025/232] gnu: python-fonttools-with-test: Rename to python-fonttools-full Maxim Cournoyer
` (76 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-unicodedata2): New variable.
---
gnu/packages/python-xyz.scm | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a303e31875..c6d208f133 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -14606,6 +14606,23 @@ (define-public python-uncertainties
expression.")
(license license:bsd-3)))
+(define-public python-unicodedata2
+ (package
+ (name "python-unicodedata2")
+ (version "14.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "unicodedata2" version))
+ (sha256
+ (base32 "110nnvh02ssp92xbmswy39aa186jrmb7m41x4220wigl8c0dzxs1"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/fonttools/unicodedata2")
+ (synopsis "Python unicodedata backport")
+ (description "This package corresponds to the latest @code{unicodedata}
+standard Python module.")
+ (license license:asl2.0)))
+
(define-public python-asteval
(package
(name "python-asteval")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 025/232] gnu: python-fonttools-with-test: Rename to python-fonttools-full.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (22 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 024/232] gnu: Add python-unicodedata2 Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 026/232] gnu: Add python-mutatormath Maxim Cournoyer
` (75 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-fonttools-with-test): Rename to...
(python-fonttools-full): ... this.
[native-inputs]: Move python-brotli, python-fs, python-scipy
and python-zopfli to...
[propagated-inputs]: ... here. Add python-lxml, python-lz4 and
python-unicodedata2.
---
gnu/packages/python-xyz.scm | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c6d208f133..054567319a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -11337,7 +11337,9 @@ (define-public python-fonttools
(license license:expat)
(properties `((python2-variant . ,(delay python2-fonttools)))))))
-(define-public python-fonttools-with-tests
+;;; Rename 'python-fonttools' in next cycle, renaming the current
+;;; 'python-fonttools' to 'python-fonttools-minimal'.
+(define-public python-fonttools-full
(package/inherit python-fonttools
(arguments
(substitute-keyword-arguments (package-arguments python-fonttools)
@@ -11362,11 +11364,15 @@ (define-public python-fonttools-with-tests
" and not "))))))))))
(native-inputs
(modify-inputs (package-native-inputs python-fonttools)
- (append python-pytest ;FIXME: indentation is broken
- python-brotli
- python-fs
- python-scipy
- python-zopfli)))
+ (append python-pytest)))
+ (propagated-inputs
+ (list python-brotli
+ python-fs
+ python-lxml
+ python-lz4
+ python-scipy
+ python-unicodedata2
+ python-zopfli))
(properties (alist-delete 'hidden? (package-properties python-fonttools)))))
;; Fonttools 4.x dropped support for Python 2, so stick with 3.x here.
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 026/232] gnu: Add python-mutatormath.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (23 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 025/232] gnu: python-fonttools-with-test: Rename to python-fonttools-full Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 027/232] gnu: Add python-fontpens-bootstrap Maxim Cournoyer
` (74 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/fontutils.scm (python-mutatormath): New variable.
---
gnu/packages/fontutils.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 8870b87abb..4eec234126 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -193,6 +193,27 @@ (define-public python-opentype-sanitizer
(description "Python wrapper for the OpenType Sanitizer library.")
(license license:bsd-3)))
+(define-public python-mutatormath
+ (package
+ (name "python-mutatormath")
+ (version "3.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "MutatorMath" version ".zip"))
+ (sha256
+ (base32 "0r1qq45np49x14zz1zwkaayqrn7m8dn2jlipjldg2ihnmpzw29w1"))))
+ (build-system python-build-system)
+ (propagated-inputs (list python-defcon python-fontmath python-fonttools))
+ (native-inputs (list unzip))
+ (home-page "https://github.com/LettError/MutatorMath")
+ (synopsis "Piecewise linear interpolation Python library")
+ (description "MutatorMath is a Python library for the calculation of
+piecewise linear interpolations in n-dimensions with any number of masters. It
+was developed for interpolating data related to fonts, but if can handle any
+arithmetic object.")
+ (license license:bsd-3)))
+
(define-public ttfautohint
(package
(name "ttfautohint")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 027/232] gnu: Add python-fontpens-bootstrap.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (24 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 026/232] gnu: Add python-mutatormath Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 028/232] gnu: Add python-booleanoperations Maxim Cournoyer
` (73 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/fontutils.scm (python-fontpens-bootstrap): New variable.
---
gnu/packages/fontutils.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 4eec234126..92b8c0a726 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -156,6 +156,27 @@ (define-public python-fontmath
font, glyph, etc. mathematical operations on font data.")
(license license:expat)))
+;;; An untested variant used to break a cycle with python-booleanoperations.
+(define-public python-fontpens-bootstrap
+ (package
+ (name "python-fontpens-bootstrap")
+ (version "0.2.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "fontPens" version ".zip"))
+ (sha256
+ (base32 "1za15dzsnymq6d9x7xdfqwgw4a3003wj75fn2crhyidkfd2s3nd6"))))
+ (build-system python-build-system)
+ (arguments (list #:tests? #f))
+ (propagated-inputs (list python-fonttools))
+ (native-inputs (list unzip))
+ (home-page "https://github.com/robofab-developers/fontPens")
+ (synopsis "Python classes implementing the pen protocol")
+ (description "This package provides a collection of Python classes
+implementing the pen protocol for manipulating glyphs.")
+ (license license:bsd-3)))
+
(define-public python-opentype-sanitizer
(package
(name "python-opentype-sanitizer")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 028/232] gnu: Add python-booleanoperations.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (25 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 027/232] gnu: Add python-fontpens-bootstrap Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 029/232] gnu: Add python-fontparts-bootstrap Maxim Cournoyer
` (72 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/graphics.scm (python-booleanoperations): New variable.
---
gnu/packages/graphics.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 2cc75d57cf..50f562abc1 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -98,6 +98,7 @@ (define-module (gnu packages graphics)
#:use-module (gnu packages pth)
#:use-module (gnu packages pulseaudio) ; libsndfile, libsamplerate
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
@@ -806,6 +807,31 @@ (define-public lib2geom
;; https://gitlab.com/inkscape/inkscape/issues/784).
(license license:gpl3+)))
+(define-public python-booleanoperations
+ (package
+ (name "python-booleanoperations")
+ (version "0.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "booleanOperations" version ".zip"))
+ (sha256
+ (base32 "1f41lb19m8azchl1aqz6j5ycbspb8jsf1cnn42hlydxd68f85ylc"))))
+ (build-system python-build-system)
+ (propagated-inputs (list python-fonttools python-pyclipper))
+ (native-inputs
+ (list python-defcon-bootstrap
+ python-fontpens-bootstrap
+ python-pytest
+ python-wheel
+ unzip))
+ (home-page "https://github.com/typemytype/booleanOperations")
+ (synopsis "Boolean operations on paths")
+ (description "Boolean operations on paths which uses a super fast
+@url{http://www.angusj.com/delphi/clipper.php, polygon clipper library by
+Angus Johnson}.")
+ (license license:expat)))
+
(define-public pstoedit
(package
(name "pstoedit")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 029/232] gnu: Add python-fontparts-bootstrap.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (26 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 028/232] gnu: Add python-booleanoperations Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 030/232] gnu: Add python-fontpens Maxim Cournoyer
` (71 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/fontutils.scm (python-fontparts-bootstrap): New variable.
---
gnu/packages/fontutils.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 92b8c0a726..26c35e26c9 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -50,6 +50,7 @@ (define-module (gnu packages fontutils)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gperf)
+ #:use-module (gnu packages graphics)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
@@ -177,6 +178,32 @@ (define-public python-fontpens-bootstrap
implementing the pen protocol for manipulating glyphs.")
(license license:bsd-3)))
+;;; A variant used to break a cycle with python-fontpens.
+(define-public python-fontparts-bootstrap
+ (hidden-package
+ (package
+ (name "python-fontparts-bootstrap")
+ (version "0.10.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "fontParts" version ".zip"))
+ (sha256
+ (base32 "1ic453q86s5hsw8mxnclk1vr4qp69fd67gywhv23zqwz9a7kb7lh"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ (list python-booleanoperations
+ python-defcon-bootstrap
+ python-fontmath
+ python-fonttools))
+ (native-inputs (list unzip))
+ (home-page "https://github.com/robotools/fontParts")
+ (synopsis "Library for interacting with font parts")
+ (description "FontParts is an @acronym{API, Application Programming
+Interface} for interacting with the parts of fonts during the font development
+process. FontParts is the successor of RoboFab.")
+ (license license:expat))))
+
(define-public python-opentype-sanitizer
(package
(name "python-opentype-sanitizer")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 030/232] gnu: Add python-fontpens.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (27 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 029/232] gnu: Add python-fontparts-bootstrap Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 031/232] gnu: Add python-defcon Maxim Cournoyer
` (70 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/fontutils.scm (python-fontpens): New variable.
---
gnu/packages/fontutils.scm | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 26c35e26c9..e8839fdca7 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -178,6 +178,21 @@ (define-public python-fontpens-bootstrap
implementing the pen protocol for manipulating glyphs.")
(license license:bsd-3)))
+(define-public python-fontpens
+ (hidden-package
+ (package/inherit python-fontpens-bootstrap
+ (name "python-fontpens")
+ (arguments
+ (substitute-keyword-arguments (package-arguments python-fontpens-bootstrap)
+ ((#:tests? _ #f)
+ #t)))
+ (native-inputs
+ (modify-inputs (package-native-inputs python-fontpens-bootstrap)
+ (append python-fontparts-bootstrap
+ python-fontpens-bootstrap
+ python-pytest
+ python-pytest-runner))))))
+
;;; A variant used to break a cycle with python-fontpens.
(define-public python-fontparts-bootstrap
(hidden-package
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 031/232] gnu: Add python-defcon.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (28 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 030/232] gnu: Add python-fontpens Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 032/232] gnu: Add python-fontparts Maxim Cournoyer
` (69 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/fontutils.scm (python-defcon): New variable.
(python2-defcon): Adjust to inherit from it.
---
gnu/packages/fontutils.scm | 36 ++++++++++++++++--------------------
1 file changed, 16 insertions(+), 20 deletions(-)
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index e8839fdca7..503ff7afa3 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -960,35 +960,31 @@ (define-public python-defcon-bootstrap
UFO3 as described by the UFO font format.")
(license license:expat)))
+(define-public python-defcon
+ (hidden-package
+ (package/inherit python-defcon-bootstrap
+ (name "python-defcon")
+ (propagated-inputs
+ (modify-inputs (package-propagated-inputs python-defcon-bootstrap)
+ (replace "python-fontpens-bootstrap" python-fontpens))))))
+
(define-public python2-defcon
(package
+ (inherit python-defcon)
(name "python2-defcon")
(version "0.3.5")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "defcon" version ".zip"))
- (sha256
- (base32
- "03jlm2gy9lvbwj68kfdm43yaddwd634jwkdg4wf0jxx2s8mwbg22"))))
- (build-system python-build-system)
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "defcon" version ".zip"))
+ (sha256
+ (base32
+ "03jlm2gy9lvbwj68kfdm43yaddwd634jwkdg4wf0jxx2s8mwbg22"))))
(arguments
`(#:python ,python-2))
(native-inputs
(list unzip python2-pytest python2-pytest-runner))
(propagated-inputs
- (list python2-fonttools python2-ufolib))
- (home-page "https://pypi.org/project/defcon/")
- (synopsis "Flexible objects for representing @acronym{UFO, unified font object} data")
- (description
- "Defcon is a set of @acronym{UFO, unified font object} based objects
-optimized for use in font editing applications. The objects are built to
-be lightweight, fast and flexible. The objects are very bare-bones and
-they are not meant to be end-all, be-all objects. Rather, they are meant
-to provide base functionality so that you can focus on your application’s
-behavior, not object observing or maintaining cached data. Defcon
-implements UFO3 as described by the UFO font format.")
- (license license:expat)))
+ (list python2-fonttools python2-ufolib))))
(define-public nototools
(package
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 032/232] gnu: Add python-fontparts.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (29 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 031/232] gnu: Add python-defcon Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 033/232] gnu: Add python-cu2qu Maxim Cournoyer
` (68 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/fontutils.scm (python-fontparts): New variable.
---
gnu/packages/fontutils.scm | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 503ff7afa3..59b4f8075b 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -219,6 +219,16 @@ (define-public python-fontparts-bootstrap
process. FontParts is the successor of RoboFab.")
(license license:expat))))
+(define-public python-fontparts
+ (package/inherit python-fontparts-bootstrap
+ (name "python-fontparts")
+ (propagated-inputs
+ (modify-inputs (package-propagated-inputs python-fontparts-bootstrap)
+ (replace "python-defcon-bootstrap" python-defcon)))
+ (properties
+ (alist-delete 'hidden?
+ (package-properties python-fontparts-bootstrap)))))
+
(define-public python-opentype-sanitizer
(package
(name "python-opentype-sanitizer")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 033/232] gnu: Add python-cu2qu.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (30 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 032/232] gnu: Add python-fontparts Maxim Cournoyer
@ 2022-04-25 3:55 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 034/232] gnu: Add python-ufoprocessor Maxim Cournoyer
` (67 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:55 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/fontutils.scm (python-cu2qu): New variable.
---
gnu/packages/fontutils.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 59b4f8075b..20a03463e6 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -133,6 +133,33 @@ (define-public opentype-sanitizer
them as it goes.")
(license license:bsd-3)))
+(define-public python-cu2qu
+ (package
+ (name "python-cu2qu")
+ (version "1.6.7.post1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cu2qu" version ".zip"))
+ (sha256
+ (base32 "1x762r7bf39g6aivfvrmq00h6f07abvs9x1xm0fz8l81vq8jz64c"))))
+ (build-system python-build-system)
+ (propagated-inputs (list python-fonttools-full))
+ (native-inputs
+ (list python-cython
+ python-defcon
+ python-pytest
+ python-pytest-runner
+ python-setuptools-scm
+ unzip))
+ (home-page "https://github.com/googlefonts/cu2qu")
+ (synopsis "Cubic-to-quadratic bezier curve conversion")
+ (description "This library provides functions which take in @acronym{UFO,
+Unified Font Object} objects (such as Defcon Fonts or Robofab RFonts) and
+converts any cubic curves to quadratic. The most useful function is probably
+@code{fonts_to_quadratic}.")
+ (license license:asl2.0)))
+
(define-public python-fontmath
(package
(name "python-fontmath")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 034/232] gnu: Add python-ufoprocessor.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (31 preceding siblings ...)
2022-04-25 3:55 ` [bug#55104] [PATCH 033/232] gnu: Add python-cu2qu Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 035/232] gnu: Add python-ufonormalizer Maxim Cournoyer
` (66 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/fontutils.scm (python-ufoprocessor): New variable.
---
gnu/packages/fontutils.scm | 43 ++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 20a03463e6..062b8fbd62 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -314,6 +314,49 @@ (define-public python-mutatormath
arithmetic object.")
(license license:bsd-3)))
+(define-public python-ufoprocessor
+ (package
+ (name "python-ufoprocessor")
+ (version "1.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ufoProcessor" version ".zip"))
+ (sha256
+ (base32 "0ns11aamgavgsfj8qf5kq7dvzmgl0mhr1cbych2f075ipfdvva5s"))))
+ (build-system python-build-system)
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; Most of the tests appear to be a work in
+ ;; progress; run only a subset.
+ (invoke "python" "Tests/tests.py")))))))
+ (propagated-inputs
+ (list python-defcon
+ python-fontmath
+ python-fontparts
+ python-fonttools
+ python-mutatormath))
+ (native-inputs (list unzip))
+ (home-page "https://github.com/LettError/ufoProcessor")
+ (synopsis "Process and generate @acronym{UFO, Unified Font Object} files")
+ (description "This Python package processes and generates instances for
+@acronym{UFO, Unified Font Object} files, glyphs and other data. It can,
+among other things:
+@itemize
+@item Collect source materials.
+@item Provide mutators for specific glyphs, font info, kerning so that other
+tools can generate partial instances.
+@item Support designspace format 4 with layers.
+@item Apply avar-like designspace bending.
+@item Apply rules.
+@item Generate actual UFO instances in formats 2 and 3.
+@item Round geometry as requested.
+@end itemize")
+ (license license:expat)))
+
(define-public ttfautohint
(package
(name "ttfautohint")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 035/232] gnu: Add python-ufonormalizer.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (32 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 034/232] gnu: Add python-ufoprocessor Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 036/232] gnu: Add python-types-toml Maxim Cournoyer
` (65 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/fontutils.scm (python-ufonormalizer): New variable.
---
gnu/packages/fontutils.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 062b8fbd62..a2e71f1ad0 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -357,6 +357,32 @@ (define-public python-ufoprocessor
@end itemize")
(license license:expat)))
+(define-public python-ufonormalizer
+ (package
+ (name "python-ufonormalizer")
+ (version "0.6.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ufonormalizer" version ".zip"))
+ (sha256
+ (base32 "0v5awian2alap7nvxfz38aahyqbqnma16nrqcpr8602hbbki04g6"))))
+ (build-system python-build-system)
+ (native-inputs (list python-setuptools-scm unzip))
+ (home-page "https://github.com/unified-font-object/ufoNormalizer")
+ (synopsis "Script to normalize @acronym{UFO, Unified Font Object} data")
+ (description "The purpose of the @command{ufonormalizer} command is to
+provide a standard formatting so that updates to @acronym{UFO, Unified Font
+Object} data can be usefully versioned. Examples of formatting applied by
+ufoNormalizer include:
+@itemize
+@item Changing floating-point numbers to integers where it doesn't alter the
+value (e.g. @samp{x=\"95.0\"} becomes @samp{x=\"95\"})
+@item Rounding floating-point numbers to 10 digits
+@item Formatting XML with tabs rather than spaces.
+@end itemize")
+ (license license:bsd-3)))
+
(define-public ttfautohint
(package
(name "ttfautohint")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 036/232] gnu: Add python-types-toml.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (33 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 035/232] gnu: Add python-ufonormalizer Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 037/232] gnu: Add python-pytest-mypy Maxim Cournoyer
` (64 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-types-toml): New variable.
---
gnu/packages/python-xyz.scm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 054567319a..4089b950df 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -29414,6 +29414,24 @@ (define-public python-ansicolors
"This package adds ANSI colors and decorations to your strings.")
(license license:isc)))
+(define-public python-types-toml
+ (package
+ (name "python-types-toml")
+ (version "0.10.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "types-toml" version))
+ (sha256
+ (base32 "10400bd3yv6rjfnq8galskkbpqz1sfx9sfgr5qwvw04270x4cjgr"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/python/typeshed")
+ (synopsis "Typing stubs for TOML")
+ (description "This package contains typing stubs for TOML, a very small
+subset the Python stubs contained in the complete @code{typeshed}
+collection.")
+ (license license:asl2.0)))
+
(define-public python-types-ujson
(package
(name "python-types-ujson")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 037/232] gnu: Add python-pytest-mypy.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (34 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 036/232] gnu: Add python-types-toml Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 038/232] gnu: Add python-jaraco-context-bootstrap Maxim Cournoyer
` (63 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/check.scm (python-pytest-mypy): New variable.
---
gnu/packages/check.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 335ab7ab11..75b42b945a 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -2200,6 +2200,27 @@ (define-public python-lit
failures.")
(license license:ncsa)))
+(define-public python-pytest-mypy
+ (package
+ (name "python-pytest-mypy")
+ (version "0.9.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytest-mypy" version))
+ (sha256
+ (base32 "0p5bd4r4gbwk1h7mpx1jkhdwkckapfz24bp9x5mmqb610ps3pylz"))))
+ (build-system python-build-system)
+ (native-inputs (list python-setuptools-scm))
+ (propagated-inputs
+ (list python-attrs python-filelock python-mypy python-pytest))
+ (home-page "https://github.com/dbader/pytest-mypy")
+ (synopsis "Mypy static type checker plugin for Pytest")
+ (description "@code{pytest-mypi} is a static type checker plugin for
+Pytest that runs the mypy static type checker on your source files as part of
+a Pytest test execution.")
+ (license license:expat)))
+
(define-public python-pytest-pep8
(package
(name "python-pytest-pep8")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 038/232] gnu: Add python-jaraco-context-bootstrap.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (35 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 037/232] gnu: Add python-pytest-mypy Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 039/232] gnu: Add python-jaraco-functools-bootstrap Maxim Cournoyer
` (62 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-jaraco-context-bootstrap): New variable.
---
gnu/packages/python-xyz.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 4089b950df..914137bc85 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8453,6 +8453,27 @@ (define-public python-inotify-simple
"@code{inotify-simple} is a simple wrapper around inotify library.")
(license license:bsd-3)))
+;;; Variant used to break a cycle with python-pytest-enabler.
+(define-public python-jaraco-context-bootstrap
+ (hidden-package
+ (package
+ (name "python-jaraco-context-bootstrap")
+ (version "4.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "jaraco.context" version))
+ (sha256
+ (base32 "0hbjm1rpxf4pzmbdp9rh3ali4zqnlcr8m97bhh1nizxvzcpxim7h"))))
+ (build-system python-build-system)
+ (arguments (list #:tests? #f))
+ (native-inputs (list python-setuptools-scm))
+ (home-page "https://github.com/jaraco/jaraco.context")
+ (synopsis "Context managers Python library")
+ (description "This Python library provides context managers-related
+procedures.")
+ (license license:expat))))
+
(define-public python-jaraco-packaging
(package
(name "python-jaraco-packaging")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 039/232] gnu: Add python-jaraco-functools-bootstrap.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (36 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 038/232] gnu: Add python-jaraco-context-bootstrap Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 040/232] gnu: Add python-autocommand Maxim Cournoyer
` (61 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-jaraco-functools-bootstrap): New variable.
---
gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 914137bc85..b5dd58a512 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8474,6 +8474,28 @@ (define-public python-jaraco-context-bootstrap
procedures.")
(license license:expat))))
+;;; Variant used to break a cycle with python-pytest-enabler.
+(define-public python-jaraco-functools-bootstrap
+ (hidden-package
+ (package
+ (name "python-jaraco-functools-bootstrap")
+ (version "3.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "jaraco.functools" version))
+ (sha256
+ (base32 "186xqzs3bqhjwajnprxy3sc3h0w5vdld8spc1dxjnn9720yykq1i"))))
+ (build-system python-build-system)
+ (arguments (list #:tests? #f))
+ (native-inputs (list python-setuptools-scm))
+ (propagated-inputs (list python-more-itertools))
+ (home-page "https://github.com/jaraco/jaraco.functools")
+ (synopsis "Python library extending Python's @code{functools}")
+ (description "This library extends the standard @code{functools} Python
+module with a few extra procedures.")
+ (license license:expat))))
+
(define-public python-jaraco-packaging
(package
(name "python-jaraco-packaging")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 040/232] gnu: Add python-autocommand.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (37 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 039/232] gnu: Add python-jaraco-functools-bootstrap Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 041/232] gnu: Add python-types-freezegun Maxim Cournoyer
` (60 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-autocommand): New variable.
---
gnu/packages/python-xyz.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b5dd58a512..944518e67b 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7055,6 +7055,36 @@ (define-public python-orderedmultidict
multivalue dictionary that retains the order of insertions and deletions.")
(license license:unlicense)))
+(define-public python-autocommand
+ (package
+ (name "python-autocommand")
+ (version "2.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "autocommand" version))
+ (sha256
+ (base32 "03qp9xx4dq81ljhf56r21gp5j0lpqs1vaw99g0d84i97s3lj1m7y"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; This test fails with an invalid syntax error on 'task1 =
+ ;; asyncio.async(coro_1())' (see:
+ ;; https://github.com/Lucretiel/autocommand/issues/20).
+ (delete-file "test/test_autoasync.py")
+ (invoke "pytest" "-vv")))))))
+ (native-inputs (list python-pytest python-pytest-asyncio))
+ (home-page "https://github.com/Lucretiel/autocommand")
+ (synopsis "Python library to build a command-line from a function")
+ (description "@code{autocommand} is library to automatically generate and
+run simple @code{argparse} parsers from function signatures.")
+ (license license:lgpl3+)))
+
(define-public python-autopep8
(package
(name "python-autopep8")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 041/232] gnu: Add python-types-freezegun.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (38 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 040/232] gnu: Add python-autocommand Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 042/232] gnu: Add python-types-pytz Maxim Cournoyer
` (59 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-types-freezegun): New variable.
---
gnu/packages/python-xyz.scm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 944518e67b..189134c083 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -29487,6 +29487,24 @@ (define-public python-ansicolors
"This package adds ANSI colors and decorations to your strings.")
(license license:isc)))
+(define-public python-types-freezegun
+ (package
+ (name "python-types-freezegun")
+ (version "1.1.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "types-freezegun" version))
+ (sha256
+ (base32 "08g926s8343zwq140zcfwly3qfgmahm7lp0vgb3ics549b2hifzl"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/python/typeshed")
+ (synopsis "Typing stubs for @code{freezegun}")
+ (description "This package contains typing stubs for for @code{freezegun}, a
+very small subset the Python stubs contained in the complete @code{typeshed}
+collection.")
+ (license license:asl2.0)))
+
(define-public python-types-toml
(package
(name "python-types-toml")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 042/232] gnu: Add python-types-pytz.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (39 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 041/232] gnu: Add python-types-freezegun Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 043/232] gnu: Add python-pytest-freezegun Maxim Cournoyer
` (58 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-types-pytz): New variable.
---
gnu/packages/python-xyz.scm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 189134c083..3d481c419a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -29505,6 +29505,24 @@ (define-public python-types-freezegun
collection.")
(license license:asl2.0)))
+(define-public python-types-pytz
+ (package
+ (name "python-types-pytz")
+ (version "2021.3.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "types-pytz" version))
+ (sha256
+ (base32 "14yr5hg2ww8s4a0mz2bkd549fv8qgm538fnzxvqv92ld1pcpym3l"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/python/typeshed")
+ (synopsis "Typing stubs for pytz")
+ (description "This package contains typing stubs for @code{pytz}, a very
+small subset the Python stubs contained in the complete @code{typeshed}
+collection.")
+ (license license:asl2.0)))
+
(define-public python-types-toml
(package
(name "python-types-toml")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 043/232] gnu: Add python-pytest-freezegun.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (40 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 042/232] gnu: Add python-types-pytz Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 044/232] gnu: Add python-pytest-enabler-bootstrap Maxim Cournoyer
` (57 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/check.scm (python-pytest-freezegun): New variable.
---
gnu/packages/check.scm | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 75b42b945a..1db4457dde 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -2200,6 +2200,38 @@ (define-public python-lit
failures.")
(license license:ncsa)))
+(define-public python-pytest-freezegun
+ (package
+ (name "python-pytest-freezegun")
+ (version "0.4.2")
+ (source (origin
+ ;; The test suite is not included in the PyPI archive.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ktosiek/pytest-freezegun")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "10c4pbh03b4s1q8cjd75lr0fvyf9id0zmdk29566qqsmaz28npas"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv")))))))
+ (propagated-inputs (list python-freezegun python-pytest))
+ (native-inputs (list unzip))
+ (home-page "https://github.com/ktosiek/pytest-freezegun")
+ (synopsis "Pytest plugin to freeze time in test fixtures")
+ (description "The @code{pytest-freezegun} plugin wraps tests and fixtures
+with @code{freeze_time}, which allows to control (i.e., freeze) the time seen
+by the test.")
+ (license license:expat)))
+
(define-public python-pytest-mypy
(package
(name "python-pytest-mypy")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 044/232] gnu: Add python-pytest-enabler-bootstrap.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (41 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 043/232] gnu: Add python-pytest-freezegun Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 045/232] gnu: Add python-path-bootstrap Maxim Cournoyer
` (56 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/check.scm (python-pytest-enabler-bootstrap): New variable.
---
gnu/packages/check.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 1db4457dde..135fd671a2 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -2200,6 +2200,31 @@ (define-public python-lit
failures.")
(license license:ncsa)))
+;;; This is marked as a bootstrap package because it propagates bootstrapped
+;;; versions of jaraco-context and jaraco-functools.
+(define-public python-pytest-enabler-bootstrap
+ (hidden-package
+ (package
+ (name "python-pytest-enabler-bootstrap")
+ (version "1.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytest-enabler" version))
+ (sha256
+ (base32 "023ymm0r2gpn5q7aikvx567s507j0zk46w41w6gxb69c688zgs73"))))
+ (build-system python-build-system)
+ (arguments (list #:tests? #f))
+ (propagated-inputs
+ (list python-jaraco-context-bootstrap
+ python-jaraco-functools-bootstrap
+ python-toml))
+ (native-inputs (list python-setuptools-scm))
+ (home-page "https://github.com/jaraco/pytest-enabler")
+ (synopsis "Enable installed pytest plugins")
+ (description "Enable installed pytest plugins")
+ (license license:expat))))
+
(define-public python-pytest-freezegun
(package
(name "python-pytest-freezegun")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 045/232] gnu: Add python-path-bootstrap.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (42 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 044/232] gnu: Add python-pytest-enabler-bootstrap Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 046/232] gnu: Add python-pip-run-bootstrap Maxim Cournoyer
` (55 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-path-bootstrap): New variable.
---
gnu/packages/python-xyz.scm | 38 +++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 3d481c419a..13c9694d9c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -12556,6 +12556,44 @@ (define-public python-idna-ssl
domains support.")
(license license:expat)))
+;;; Variant used to break a cycle with python-pip-run-bootstrap.
+(define-public python-path-bootstrap
+ (hidden-package
+ (package
+ (name "python-path-bootstrap")
+ (version "16.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "path" version))
+ (sha256
+ (base32 "0lig13gxnfv98v790db1smvsbd3mnj7y8rwyiwhfi6xiqibygwms"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; XXX: PEP 517 manual build/install procedures copied from
+ ;; python-isort.
+ (replace 'build
+ (lambda _
+ ;; ZIP does not support timestamps before 1980.
+ (setenv "SOURCE_DATE_EPOCH" "315532800")
+ (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((whl (car (find-files "dist" "\\.whl$"))))
+ (invoke "pip" "--no-cache-dir" "--no-input"
+ "install" "--no-deps" "--prefix" #$output whl)))))))
+ (native-inputs (list python-pypa-build python-setuptools-scm))
+ (home-page "https://github.com/jaraco/path")
+ (synopsis "Object-oriented file system path manipulation library")
+ (description "@code{path} (formerly @code{path.py}) implements path
+objects as first-class entities, allowing common operations on files to be
+invoked on those path objects directly.")
+ (license license:expat))))
+
(define-public python-pretend
(package
(name "python-pretend")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 046/232] gnu: Add python-pip-run-bootstrap.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (43 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 045/232] gnu: Add python-path-bootstrap Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 047/232] gnu: python-importlib-metadata: Update to 4.11.3 Maxim Cournoyer
` (54 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-pip-run-bootstrap): New variable.
---
gnu/packages/python-xyz.scm | 43 +++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 13c9694d9c..0c0d46eb5a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -12642,6 +12642,49 @@ (define-public python-pip
(define-public python2-pip
(package-with-python2 python-pip))
+;;; Variant used to break a dependency cycle with
+;;; python-pytest-perf-bootstrap.
+(define-public python-pip-run-bootstrap
+ (hidden-package
+ (package
+ (name "python-pip-run-bootstrap")
+ (version "8.8.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jaraco/pip-run")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0ycrjj3jgqcr9c2k7y8vprq65iblg0q0hvwz8zwi13gmb0ffds0c"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'pretend-version
+ ;; The version string is usually derived via setuptools-scm, but
+ ;; without the git metadata available this fails.
+ (lambda _
+ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))))))
+ (native-inputs (list python-setuptools-scm))
+ (propagated-inputs (list python-autocommand python-path-bootstrap
+ python-packaging))
+ (home-page "https://github.com/jaraco/pip-run")
+ (synopsis "Dynamic dependency loader for Python")
+ (description "The @command{pip-run} command provides on-demand temporary
+package installation for a single interpreter run. It replaces this series of
+commands:
+@example
+$ virtualenv --python pythonX.X --system-site-packages /tmp/env
+$ /tmp/env/bin/pip install pkg1 pkg2 -r reqs.txt
+$ /tmp/env/bin/python ...
+$ rm -rf /tmp/env
+@end example")
+ (license license:expat))))
+
(define-public python-tlsh
(package
(name "python-tlsh")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 047/232] gnu: python-importlib-metadata: Update to 4.11.3.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (44 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 046/232] gnu: Add python-pip-run-bootstrap Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 048/232] gnu: python-pytest-black: Update to 0.3.12 Maxim Cournoyer
` (53 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-importlib-metadata): Update to 4.11.3.
[phases]{build, install, check}: Override phases.
[native-inputs]: Remove python-packaging. Add python-pypa-build and
python-pytest.
(python2-importlib-metadata): Adjust to keep unchanged.
---
gnu/packages/python-xyz.scm | 68 +++++++++++++++++++++++++++----------
1 file changed, 50 insertions(+), 18 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 0c0d46eb5a..844724afb5 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8376,19 +8376,41 @@ (define-public python2-importlib-resources-bootstrap
(define-public python-importlib-metadata
(package
(name "python-importlib-metadata")
- (version "1.5.0")
+ (version "4.11.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "importlib_metadata" version))
(sha256
(base32
- "00ikdj4gjhankdljnz7g5ggak4k9lql2926x0x117ir9j2lv7x86"))))
+ "0f951zynlh39yicqnhrs3p1qa5p3g6ajjfcggf12y51ppxz5jk7a"))))
(build-system python-build-system)
- (propagated-inputs
- (list python-zipp))
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; XXX: PEP 517 manual build/install procedures copied from
+ ;; python-isort.
+ (replace 'build
+ (lambda _
+ ;; ZIP does not support timestamps before 1980.
+ (setenv "SOURCE_DATE_EPOCH" "315532800")
+ (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((whl (car (find-files "dist" "\\.whl$"))))
+ (invoke "pip" "--no-cache-dir" "--no-input"
+ "install" "--no-deps" "--prefix" #$output whl))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv" "tests")))))))
+ (propagated-inputs (list python-zipp))
(native-inputs
- (list python-setuptools-scm python-pyfakefs python-packaging))
+ (list python-pypa-build
+ python-pyfakefs
+ python-pytest
+ python-setuptools-scm))
(home-page "https://importlib-metadata.readthedocs.io/")
(synopsis "Read metadata from Python packages")
(description
@@ -8404,19 +8426,29 @@ (define-public python-importlib-metadata
(define-public python2-importlib-metadata
(let ((base (package-with-python2 (strip-python2-variant
python-importlib-metadata))))
- (package/inherit
- base
- (name "python2-importlib-metadata")
- (native-inputs
- `(("python-setuptools-scm" ,python2-setuptools-scm)
- ("python-pyfakefs" ,python2-pyfakefs-bootstrap)
- ("python-packaging" ,python2-packaging-bootstrap)))
- (propagated-inputs
- `(("python-configparser" ,python2-configparser)
- ("python-contextlib2" ,python2-contextlib2)
- ("python-importlib-resources" ,python2-importlib-resources)
- ("python-pathlib2" ,python2-pathlib2)
- ,@(package-propagated-inputs base))))))
+ (package/inherit base
+ (name "python2-importlib-metadata")
+ (version "1.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "importlib_metadata" version))
+ (sha256
+ (base32
+ "00ikdj4gjhankdljnz7g5ggak4k9lql2926x0x117ir9j2lv7x86"))))
+ (arguments (substitute-keyword-arguments (package-arguments base)
+ ((#:phases phases) ;reset standard phases
+ #~%standard-phases)))
+ (native-inputs
+ `(("python-setuptools-scm" ,python2-setuptools-scm)
+ ("python-pyfakefs" ,python2-pyfakefs-bootstrap)
+ ("python-packaging" ,python2-packaging-bootstrap)))
+ (propagated-inputs
+ `(("python-configparser" ,python2-configparser)
+ ("python-contextlib2" ,python2-contextlib2)
+ ("python-importlib-resources" ,python2-importlib-resources)
+ ("python-pathlib2" ,python2-pathlib2)
+ ,@(package-propagated-inputs base))))))
;; This package is used by python2-pytest, and thus must not depend on it.
(define-public python2-importlib-metadata-bootstrap
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 048/232] gnu: python-pytest-black: Update to 0.3.12.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (45 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 047/232] gnu: python-importlib-metadata: Update to 4.11.3 Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 049/232] gnu: python-mypy: Update to 0.942 and fix search path Maxim Cournoyer
` (52 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-pytest-black): Update to 0.3.12.
---
gnu/packages/python-xyz.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 844724afb5..c1ca9ba69d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -12127,14 +12127,14 @@ (define-public python-sniffio
(define-public python-pytest-black
(package
(name "python-pytest-black")
- (version "0.3.8")
+ (version "0.3.12")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-black" version))
(sha256
(base32
- "04lppqydxm0f3f3x0l8hj7v0j6d8syj34jc37yzqwqcyqsnaga81"))))
+ "19bmbcnaq02md8nnj6pywri3vps8sxnhysbfy386qkbn9w09ncqx"))))
(build-system python-build-system)
(propagated-inputs
(list python-pytest python-black python-toml))
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 049/232] gnu: python-mypy: Update to 0.942 and fix search path.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (46 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 048/232] gnu: python-pytest-black: Update to 0.3.12 Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 050/232] gnu: Add python-types-docutils Maxim Cournoyer
` (51 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/patches/python-mypy-use-sys-path.patch: New patch.
* gnu/local.mk: Register it.
* gnu/packages/python-check.scm (python-mypy): Update to 0.942.
[source]: Apply patch.
---
gnu/local.mk | 1 +
.../patches/python-mypy-use-sys-path.patch | 130 ++++++++++++++++++
gnu/packages/python-check.scm | 15 +-
3 files changed, 139 insertions(+), 7 deletions(-)
create mode 100644 gnu/packages/patches/python-mypy-use-sys-path.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 9bad87710c..702c430623 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1720,6 +1720,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-waitress-fix-tests.patch \
%D%/packages/patches/python-werkzeug-tests.patch \
%D%/packages/patches/python-mypy-12332.patch \
+ %D%/packages/patches/python-mypy-use-sys-path.patch \
%D%/packages/patches/qemu-build-info-manual.patch \
%D%/packages/patches/qemu-glibc-2.27.patch \
%D%/packages/patches/qemu-glibc-2.30.patch \
diff --git a/gnu/packages/patches/python-mypy-use-sys-path.patch b/gnu/packages/patches/python-mypy-use-sys-path.patch
new file mode 100644
index 0000000000..1b12526456
--- /dev/null
+++ b/gnu/packages/patches/python-mypy-use-sys-path.patch
@@ -0,0 +1,130 @@
+This patch fixes the annotation files search of mypy on non-FHS distributions.
+
+Submitted upstream: https://github.com/python/mypy/pull/12530
+
+diff --git a/mypy/main.py b/mypy/main.py
+index 3d9836587..f9b0cbd39 100644
+--- a/mypy/main.py
++++ b/mypy/main.py
+@@ -1033,10 +1033,10 @@ def process_options(args: List[str],
+ # Set target.
+ if special_opts.modules + special_opts.packages:
+ options.build_type = BuildType.MODULE
+- egg_dirs, site_packages = get_site_packages_dirs(options.python_executable)
++ site_packages = get_site_packages_dirs(options.python_executable)
+ search_paths = SearchPaths((os.getcwd(),),
+ tuple(mypy_path() + options.mypy_path),
+- tuple(egg_dirs + site_packages),
++ tuple(site_packages),
+ ())
+ targets = []
+ # TODO: use the same cache that the BuildManager will
+diff --git a/mypy/modulefinder.py b/mypy/modulefinder.py
+index 94d2dd34c..337a2d59b 100644
+--- a/mypy/modulefinder.py
++++ b/mypy/modulefinder.py
+@@ -629,7 +629,7 @@ def get_prefixes(python_executable: Optional[str]) -> Tuple[str, str]:
+
+
+ @functools.lru_cache(maxsize=None)
+-def get_site_packages_dirs(python_executable: Optional[str]) -> Tuple[List[str], List[str]]:
++def get_site_packages_dirs(python_executable: Optional[str]) -> List[str]:
+ """Find package directories for given python.
+
+ This runs a subprocess call, which generates a list of the egg directories, and the site
+@@ -648,51 +648,7 @@ def get_site_packages_dirs(python_executable: Optional[str]) -> Tuple[List[str],
+ site_packages = ast.literal_eval(
+ subprocess.check_output([python_executable, pyinfo.__file__, 'getsitepackages'],
+ stderr=subprocess.PIPE).decode())
+- return expand_site_packages(site_packages)
+-
+-
+-def expand_site_packages(site_packages: List[str]) -> Tuple[List[str], List[str]]:
+- """Expands .pth imports in site-packages directories"""
+- egg_dirs: List[str] = []
+- for dir in site_packages:
+- if not os.path.isdir(dir):
+- continue
+- pth_filenames = sorted(name for name in os.listdir(dir) if name.endswith(".pth"))
+- for pth_filename in pth_filenames:
+- egg_dirs.extend(_parse_pth_file(dir, pth_filename))
+-
+- return egg_dirs, site_packages
+-
+-
+-def _parse_pth_file(dir: str, pth_filename: str) -> Iterator[str]:
+- """
+- Mimics a subset of .pth import hook from Lib/site.py
+- See https://github.com/python/cpython/blob/3.5/Lib/site.py#L146-L185
+- """
+-
+- pth_file = os.path.join(dir, pth_filename)
+- try:
+- f = open(pth_file, "r")
+- except OSError:
+- return
+- with f:
+- for line in f.readlines():
+- if line.startswith("#"):
+- # Skip comment lines
+- continue
+- if line.startswith(("import ", "import\t")):
+- # import statements in .pth files are not supported
+- continue
+-
+- yield _make_abspath(line.rstrip(), dir)
+-
+-
+-def _make_abspath(path: str, root: str) -> str:
+- """Take a path and make it absolute relative to root if not already absolute."""
+- if os.path.isabs(path):
+- return os.path.normpath(path)
+- else:
+- return os.path.join(root, os.path.normpath(path))
++ return site_packages
+
+
+ def add_py2_mypypath_entries(mypypath: List[str]) -> List[str]:
+@@ -781,7 +737,7 @@ def compute_search_paths(sources: List[BuildSource],
+ if options.python_version[0] == 2:
+ mypypath = add_py2_mypypath_entries(mypypath)
+
+- egg_dirs, site_packages = get_site_packages_dirs(options.python_executable)
++ site_packages = get_site_packages_dirs(options.python_executable)
+ base_prefix, prefix = get_prefixes(options.python_executable)
+ is_venv = base_prefix != prefix
+ for site_dir in site_packages:
+@@ -801,7 +757,7 @@ def compute_search_paths(sources: List[BuildSource],
+
+ return SearchPaths(python_path=tuple(reversed(python_path)),
+ mypy_path=tuple(mypypath),
+- package_path=tuple(egg_dirs + site_packages),
++ package_path=tuple(site_packages),
+ typeshed_path=tuple(lib_path))
+
+
+diff --git a/mypy/pyinfo.py b/mypy/pyinfo.py
+index ab2d3286b..9fb0501a1 100644
+--- a/mypy/pyinfo.py
++++ b/mypy/pyinfo.py
+@@ -24,16 +24,11 @@ def getprefixes():
+
+ def getsitepackages():
+ # type: () -> List[str]
+- res = []
+- if hasattr(site, 'getsitepackages'):
+- res.extend(site.getsitepackages())
+
+- if hasattr(site, 'getusersitepackages') and site.ENABLE_USER_SITE:
+- res.insert(0, site.getusersitepackages())
+- else:
+- from distutils.sysconfig import get_python_lib
+- res = [get_python_lib()]
+- return res
++ # Simply return sys.path, which has already been expanded
++ # correctly via Python's site.py module, which takes care of .pth,
++ # sitecustomize.py files, etc.
++ return sys.path
+
+
+ if __name__ == '__main__':
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 2d35eb720e..03895a44c7 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2019, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2019, 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019, 2021 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
@@ -1672,7 +1672,7 @@ (define-public python-mypy-extensions
(define-public python-mypy
(package
(name "python-mypy")
- (version "0.931")
+ (version "0.942")
(source
(origin
;; Because of https://github.com/python/mypy/issues/9584, the
@@ -1689,9 +1689,10 @@ (define-public python-mypy
(file-name (git-file-name name version))
(sha256
(base32
- "1v83flrdxh8grcp40qw04q4hzjflih9xwib64078vsxv2w36f817"))
+ "0hxnrqhvskiclwfj2s4gyfclzjas1dvpfxhyng8v7mq38rqps1j5"))
(patches
- (search-patches "python-mypy-12332.patch"))))
+ (search-patches "python-mypy-12332.patch"
+ "python-mypy-use-sys-path.patch"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -1713,10 +1714,10 @@ (define-public python-mypy
(home-page "http://www.mypy-lang.org/")
(synopsis "Static type checker for Python")
(description "Mypy is an optional static type checker for Python that aims
-to combine the benefits of dynamic (or 'duck') typing and static typing. Mypy combines
+to combine the benefits of dynamic typing and static typing. Mypy combines
the expressive power and convenience of Python with a powerful type system and
-compile-time type checking. Mypy type checks standard Python programs; run them using
-any Python VM with basically no runtime overhead.")
+compile-time type checking. Mypy type checks standard Python programs; run
+them using any Python VM with basically no runtime overhead.")
;; Most of the code is under MIT license; Some files are under Python Software
;; Foundation License version 2: stdlib-samples/*, mypyc/lib-rt/pythonsupport.h and
;; mypyc/lib-rt/getargs.c
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 050/232] gnu: Add python-types-docutils.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (47 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 049/232] gnu: python-mypy: Update to 0.942 and fix search path Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 051/232] gnu: python-pytest-checkdocs: Update to 2.7.1 Maxim Cournoyer
` (50 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-types-docutils): New variable.
---
gnu/packages/python-xyz.scm | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c1ca9ba69d..c9a6172ae2 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -29523,6 +29523,23 @@ (define-public python-types-dataclasses
static types.")
(license license:asl2.0)))
+(define-public python-types-docutils
+ (package
+ (name "python-types-docutils")
+ (version "0.18.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "types-docutils" version))
+ (sha256
+ (base32 "14ypv0x6fk1pjw0bvvr1lkb2g6dvq2pwvbd5b5pzjl6182fhmaim"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/python/typeshed")
+ (synopsis "Typing stubs for docutils")
+ (description "This package provides a collection of library stubs for
+Python, with static types.")
+ (license license:asl2.0)))
+
(define-public python-psycopg2-binary
(package
(name "python-psycopg2-binary")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 051/232] gnu: python-pytest-checkdocs: Update to 2.7.1.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (48 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 050/232] gnu: Add python-types-docutils Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 052/232] gnu: Add python-jaraco-classes Maxim Cournoyer
` (49 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-check.scm (python-pytest-checkdocs): Update to 2.7.1.
---
gnu/packages/python-check.scm | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 03895a44c7..564d41c323 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -920,18 +920,21 @@ (define-public python-pytest-doctest-custom
(define-public python-pytest-checkdocs
(package
(name "python-pytest-checkdocs")
- (version "1.2.5")
+ (version "2.7.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-checkdocs" version))
(sha256
- (base32 "0m4kn7141i6k8qr8ak3lbmk9vim11xsrlnrggcfwczfrglc6jmia"))))
+ (base32 "1bn1wr3yz8avkwacffyh26za7mg20f9pajpakfk4cn7yvmgbhcrb"))))
(build-system python-build-system)
+ (arguments (list #:tests? #f)) ;no tests in pypi archive
(propagated-inputs
- (list python-docutils python-importlib-metadata python-more-itertools))
- (native-inputs
- (list python-setuptools-scm python-pytest))
+ (list python-docutils
+ python-importlib-metadata
+ python-pep517
+ python-pytest))
+ (native-inputs (list python-setuptools-scm))
(home-page "https://github.com/jaraco/pytest-checkdocs")
(synopsis "Check the README when running tests")
(description
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 052/232] gnu: Add python-jaraco-classes.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (49 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 051/232] gnu: python-pytest-checkdocs: Update to 2.7.1 Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 053/232] gnu: Add python-jaraco-context Maxim Cournoyer
` (48 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-jaraco-classes): New variable.
---
gnu/packages/python-xyz.scm | 38 +++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c9a6172ae2..d04a7e7334 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8515,6 +8515,44 @@ (define-public python-inotify-simple
"@code{inotify-simple} is a simple wrapper around inotify library.")
(license license:bsd-3)))
+(define-public python-jaraco-classes
+ (package
+ (name "python-jaraco-classes")
+ (version "3.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "jaraco.classes" version))
+ (sha256
+ (base32 "0d6g7qvfv1jlzbzh6asprqdblqd59grvlvr3nwbdqdqrmwlbfm7d"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; Do not test the myproject.toml build as it tries to pull
+ ;; dependencies from the Internet.
+ (invoke "pytest" "-vv" "-k" "not project")))))))
+ (native-inputs
+ (list python-pytest
+ python-pytest-black
+ python-pytest-checkdocs
+ python-pytest-cov
+ python-pytest-enabler-bootstrap ;OK since not propagated
+ python-pytest-flake8
+ python-pytest-mypy
+ python-setuptools-scm
+ python-wheel))
+ (propagated-inputs (list python-more-itertools))
+ (home-page "https://github.com/jaraco/jaraco.classes")
+ (synopsis "Utility functions for Python class constructs")
+ (description "This Python library contains utility functions for Python
+class constructs.")
+ (license license:expat)))
+
;;; Variant used to break a cycle with python-pytest-enabler.
(define-public python-jaraco-context-bootstrap
(hidden-package
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 053/232] gnu: Add python-jaraco-context.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (50 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 052/232] gnu: Add python-jaraco-classes Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 054/232] gnu: Add python-jaraco-functools Maxim Cournoyer
` (47 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-jaraco-context): New variable.
---
gnu/packages/python-xyz.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d04a7e7334..67d6f5f934 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8574,6 +8574,35 @@ (define-public python-jaraco-context-bootstrap
procedures.")
(license license:expat))))
+(define-public python-jaraco-context
+ (package/inherit python-jaraco-context-bootstrap
+ (name "python-jaraco-context")
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments python-jaraco-context-bootstrap)
+ ((#:tests? _ #f)
+ #t)
+ ((#:phases phases #~%standard-phases)
+ #~(modify-phases #$phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; Do not test the myproject.toml build as it tries to pull
+ ;; dependencies from the Internet.
+ (invoke "pytest" "-vv" "-k" "not project"))))))))
+ (native-inputs
+ (modify-inputs
+ (package-native-inputs python-jaraco-context-bootstrap)
+ (append python-pytest
+ python-pytest-black
+ python-pytest-checkdocs
+ python-pytest-cov
+ python-pytest-enabler-bootstrap ;OK since not propagated
+ python-pytest-flake8
+ python-pytest-mypy)))
+ (properties (alist-delete 'hidden? (package-properties
+ python-jaraco-context-bootstrap)))))
+
;;; Variant used to break a cycle with python-pytest-enabler.
(define-public python-jaraco-functools-bootstrap
(hidden-package
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 054/232] gnu: Add python-jaraco-functools.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (51 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 053/232] gnu: Add python-jaraco-context Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 055/232] gnu: Add python-pytest-enabler Maxim Cournoyer
` (46 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-jaraco-functools): New variable.
---
gnu/packages/python-xyz.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 67d6f5f934..842d26d206 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8625,6 +8625,36 @@ (define-public python-jaraco-functools-bootstrap
module with a few extra procedures.")
(license license:expat))))
+(define-public python-jaraco-functools
+ (package/inherit python-jaraco-functools-bootstrap
+ (name "python-jaraco-functools")
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments python-jaraco-functools-bootstrap)
+ ((#:tests? _ #f)
+ #t)
+ ((#:phases phases #~%standard-phases)
+ #~(modify-phases #$phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; Do not test the myproject.toml build as it tries to pull
+ ;; dependencies from the Internet.
+ (invoke "pytest" "-vv" "-k" "not project"))))))))
+ (native-inputs
+ (modify-inputs
+ (package-native-inputs python-jaraco-functools-bootstrap)
+ (append python-jaraco-classes
+ python-pytest
+ python-pytest-black
+ python-pytest-checkdocs
+ python-pytest-cov
+ python-pytest-enabler-bootstrap ;OK since not propagated
+ python-pytest-flake8
+ python-pytest-mypy)))
+ (properties (alist-delete 'hidden? (package-properties
+ python-jaraco-functools-bootstrap)))))
+
(define-public python-jaraco-packaging
(package
(name "python-jaraco-packaging")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 055/232] gnu: Add python-pytest-enabler.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (52 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 054/232] gnu: Add python-jaraco-functools Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 056/232] gnu: Add python-path Maxim Cournoyer
` (45 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/check.scm (python-pytest-enabler): New variable.
---
gnu/packages/check.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 135fd671a2..8ed53f7e27 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -2225,6 +2225,36 @@ (define-public python-pytest-enabler-bootstrap
(description "Enable installed pytest plugins")
(license license:expat))))
+(define-public python-pytest-enabler
+ (package/inherit python-pytest-enabler-bootstrap
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments python-pytest-enabler-bootstrap)
+ ((#:tests? _ #f)
+ #t)
+ ((#:phases phases #~%standard-phases)
+ #~(modify-phases #$phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python" "-m" "pytest" "-vv" "tests"))))))))
+ (propagated-inputs
+ (modify-inputs (package-propagated-inputs python-pytest-enabler-bootstrap)
+ (replace "python-jaraco-context-bootstrap" python-jaraco-context)
+ (replace "python-jaraco-functools-bootstrap" python-jaraco-functools)))
+ (native-inputs
+ (modify-inputs (package-native-inputs python-pytest-enabler-bootstrap)
+ (append python-pytest
+ python-pytest-black
+ python-pytest-checkdocs
+ python-pytest-cov
+ python-pytest-flake8
+ python-pytest-mypy
+ python-types-toml)))
+ (properties (alist-delete 'hidden?
+ (package-properties
+ python-pytest-enabler-bootstrap)))))
+
(define-public python-pytest-freezegun
(package
(name "python-pytest-freezegun")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 056/232] gnu: Add python-path.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (53 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 055/232] gnu: Add python-pytest-enabler Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 057/232] gnu: Add python-pip-run Maxim Cournoyer
` (44 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-path): New variable.
---
gnu/packages/python-xyz.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 842d26d206..dc410da132 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -12723,6 +12723,42 @@ (define-public python-path-bootstrap
invoked on those path objects directly.")
(license license:expat))))
+(define-public python-path
+ (package/inherit python-path-bootstrap
+ (name "python-path")
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments python-path-bootstrap)
+ ((#:tests? _ #f)
+ #t)
+ ((#:phases phases #~%standard-phases)
+ #~(modify-phases #$phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; Do not test the myproject.toml build as it tries to pull
+ ;; dependencies from the Internet.
+ (invoke "pytest" "-vv" "-k"
+ (string-append
+ "not project "
+ ;; This tests assumes a root user exists.
+ "and not test_get_owner")))))))))
+ (native-inputs
+ (modify-inputs (package-native-inputs python-path-bootstrap)
+ (append python-appdirs
+ python-packaging
+ python-pygments
+ python-pytest
+ python-pytest-black
+ python-pytest-checkdocs
+ python-pytest-cov
+ python-pytest-enabler
+ python-pytest-flake8
+ python-pytest-mypy)))
+ (properties (alist-delete 'hidden?
+ (package-properties
+ python-path-bootstrap)))))
+
(define-public python-pretend
(package
(name "python-pretend")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 057/232] gnu: Add python-pip-run.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (54 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 056/232] gnu: Add python-path Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 058/232] gnu: Add python-tempora Maxim Cournoyer
` (43 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-pip-run): New variable.
---
gnu/packages/python-xyz.scm | 38 +++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index dc410da132..0f6731efe7 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -12850,6 +12850,44 @@ (define-public python-pip-run-bootstrap
@end example")
(license license:expat))))
+(define-public python-pip-run
+ (package/inherit python-pip-run-bootstrap
+ (name "python-pip-run")
+ (arguments
+ (substitute-keyword-arguments (package-arguments python-pip-run-bootstrap)
+ ((#:tests? _ #f)
+ #t)
+ ((#:phases phases #~%standard-phases)
+ #~(modify-phases #$phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-k"
+ (string-append
+ ;; Do not test the myproject.toml build as it tries
+ ;; to pull dependencies from the internet.
+ "not project "
+ ;; These tests attempt to install dependencies from
+ ;; the network and fail.
+ "and not test_pkg_imported "
+ "and not test_pkg_loaded_from_alternate_index ")))))))))
+ (propagated-inputs
+ (modify-inputs (package-propagated-inputs python-pip-run-bootstrap)
+ (replace "python-path-bootstrap" python-path)))
+ (native-inputs
+ (modify-inputs (package-native-inputs python-pip-run-bootstrap)
+ (append python-nbformat
+ python-pygments
+ python-pytest
+ python-pytest-black
+ python-pytest-checkdocs
+ python-pytest-cov
+ python-pytest-enabler
+ python-pytest-flake8
+ python-pytest-mypy)))
+ (properties (alist-delete 'hidden? (package-properties
+ python-pip-run-bootstrap)))))
+
(define-public python-tlsh
(package
(name "python-tlsh")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 058/232] gnu: Add python-tempora.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (55 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 057/232] gnu: Add python-pip-run Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 059/232] gnu: Add python-pytest-perf Maxim Cournoyer
` (42 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-tempora): New variable.
---
gnu/packages/python-xyz.scm | 54 +++++++++++++++++++++++++++++++++++++
1 file changed, 54 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 0f6731efe7..179f5a6c1e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -21445,6 +21445,60 @@ (define-public python-tempdir
(define-public python2-tempdir
(package-with-python2 python-tempdir))
+(define-public python-tempora
+ (package
+ (name "python-tempora")
+ (version "5.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "tempora" version))
+ (sha256
+ (base32 "09wirlk5vmxlhl9rnxp7g5qz2nsd6b0gnzk5fczbz0s8lsbz386b"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; XXX: PEP 517 manual build copied from python-isort.
+ (replace 'build
+ (lambda _
+ (setenv "SOURCE_DATE_EPOCH" "315532800")
+ (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+ (replace 'install
+ (lambda _
+ (let ((whl (car (find-files "dist" "\\.whl$"))))
+ (invoke "pip" "--no-cache-dir" "--no-input"
+ "install" "--no-deps" "--prefix" #$output whl))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; Do not test the myproject.toml build as it tries to pull
+ ;; dependencies from the Internet.
+ (invoke "pytest" "-k" "not project")))))))
+ (native-inputs
+ (list python-pypa-build
+ python-freezegun
+ python-pytest
+ python-pytest-black
+ python-pytest-checkdocs
+ python-pytest-cov
+ python-pytest-enabler
+ python-pytest-flake8
+ python-pytest-freezegun
+ python-pytest-mypy
+ python-setuptools-scm
+ python-types-freezegun
+ python-types-pytz))
+ (propagated-inputs (list python-jaraco-functools python-pytz))
+ (home-page "https://github.com/jaraco/tempora")
+ (synopsis "Python date and time objects and routines")
+ (description "The @code{tempora} Python library contains miscellaneous
+date and time related utilities and constants, routines for measuring,
+profiling, and getting datetime-aware @acronym{UTC, Coordinated Universal
+Time} values as well as an event scheduler.")
+ (license license:expat)))
+
(define-public python-activepapers
(package
(name "python-activepapers")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 059/232] gnu: Add python-pytest-perf.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (56 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 058/232] gnu: Add python-tempora Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 060/232] gnu: python-factory-boy: Update to 3.2.1 Maxim Cournoyer
` (41 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/check.scm (python-pytest-perf): New variable.
---
gnu/packages/check.scm | 58 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 58 insertions(+)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 8ed53f7e27..e3523d77dc 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -2344,6 +2344,64 @@ (define-public python-pytest-pep8
(define-public python2-pytest-pep8
(package-with-python2 python-pytest-pep8))
+(define-public python-pytest-perf
+ (package
+ (name "python-pytest-perf")
+ (version "0.12.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jaraco/pytest-perf")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "05mgknvrmyz1kmkgw8jzvisavc68wz1g2wxv69i6xvzgqxf17m9f"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-k"
+ (string-append
+ ;; Do not test the myproject.toml build as it tries to pull
+ ;; dependencies from the internet.
+ "not project "
+ ;; The benchmark test attempts to install the
+ ;; package, failing to pull its dependencies from the
+ ;; network.
+ "and not BenchmarkRunner "
+ ;; The upstream_url test requires networking.
+ "and not upstream_url"))))))))
+ (native-inputs
+ (list python-pytest
+ python-pytest-black
+ python-pytest-checkdocs
+ python-pytest-cov
+ python-pytest-enabler
+ python-pytest-flake8
+ python-pytest-mypy))
+ (propagated-inputs
+ (list python-jaraco-context
+ python-jaraco-functools
+ python-more-itertools
+ python-packaging
+ python-pip-run
+ python-tempora))
+ (home-page "https://github.com/jaraco/pytest-perf")
+ (synopsis "Pytest plugin for performance testing")
+ (description "@code{pytest-perf} makes it easy to compare works by
+creating two installs, the control and the experiment, and measuring the
+performance of some Python code against each. Under the hood, it uses the
+@command{pip-run} command to install from the upstream main
+branch (e.g. https://github.com/jaraco/pytest-perf) for the control and from
+@file{.} for the experiment. It then runs each of the experiments against
+each of the environments.")
+ (license license:expat)))
+
(define-public python-pytest-flakes
(package
(name "python-pytest-flakes")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 060/232] gnu: python-factory-boy: Update to 3.2.1.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (57 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 059/232] gnu: Add python-pytest-perf Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 061/232] gnu: python-faker: Update to 13.3.4 and honor TESTS? Maxim Cournoyer
` (40 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-factory-boy): Update to 3.2.1.
[propagated-inputs]: Use new style.
[description]: Fix indentation and remove blank lines.
---
gnu/packages/python-xyz.scm | 22 +++++++++-------------
1 file changed, 9 insertions(+), 13 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 179f5a6c1e..31dcf40933 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19941,30 +19941,26 @@ (define-public python2-stemming
(define-public python-factory-boy
(package
(name "python-factory-boy")
- (version "2.8.1")
+ (version "3.2.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "factory_boy" version))
(sha256
- (base32 "1fvin6san5xsjh2c4y18caj2lnmwxlylyqm8mh1yc6rp38wlwr56"))))
+ (base32 "0pm5lbvnwm0kg5i6z611rg907yw1gy551f2advmpaz041ixjg3d9"))))
(build-system python-build-system)
(arguments
;; Tests are not included in the tarball.
`(#:tests? #f))
- (propagated-inputs
- `(("faker" ,python-faker)))
+ (propagated-inputs (list python-faker))
(home-page "https://github.com/benhoyt/scandir")
(synopsis "Versatile test fixtures replacement")
- (description
- "Factory_boy is a fixtures replacement based on thoughtbot’s factory_girl.
-
- As a fixtures replacement tool, it aims to replace static, hard to maintain
- fixtures with easy-to-use factories for complex object.
-
- Instead of building an exhaustive test setup with every possible combination
- of corner cases, factory_boy allows you to use objects customized for the
- current test, while only declaring the test-specific fields")
+ (description "Factory_boy is a fixtures replacement based on thoughtbot’s
+factory_girl. As a fixtures replacement tool, it aims to replace static, hard
+to maintain fixtures with easy-to-use factories for complex object. Instead
+of building an exhaustive test setup with every possible combination of corner
+cases, factory_boy allows you to use objects customized for the current test,
+while only declaring the test-specific fields.")
(license license:expat)))
(define-public python-translate-toolkit
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 061/232] gnu: python-faker: Update to 13.3.4 and honor TESTS?.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (58 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 060/232] gnu: python-factory-boy: Update to 3.2.1 Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 062/232] gnu: Add python-pytest-randomly Maxim Cournoyer
` (39 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-faker): Update to 13.3.4.
[phases]{check}: Honor TESTS?.
[native-inputs]: Replace python-pytest-6 by python-pytest. Remove comment.
[propagated-inputs]: Remove python-text-unidecode.
---
gnu/packages/python-xyz.scm | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 31dcf40933..e71c1e4248 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -17490,28 +17490,28 @@ (define-public python2-ukpostcodeparser
(define-public python-faker
(package
(name "python-faker")
- (version "9.3.1")
+ (version "13.3.4")
(source (origin
(method url-fetch)
(uri (pypi-uri "Faker" version))
(sha256
(base32
- "0lpfdc4ndvk7chgqrfd2b1my4n54pccq9b645vp9cp5s5ypyknfd"))))
+ "04855dqvvi2mr739l5x3qf82rxq0a7spc8gl76k8xixmbw36328q"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(replace 'check
- (lambda _ (invoke "python" "-m" "pytest" "-v"))))))
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python" "-m" "pytest" "-v")))))))
(native-inputs
- (list ;; For testing
- python-freezegun
- python-pytest-6
+ (list python-freezegun
+ python-pytest
python-random2
python-ukpostcodeparser
python-validators))
- (propagated-inputs
- (list python-dateutil python-text-unidecode))
+ (propagated-inputs (list python-dateutil))
(home-page "https://github.com/joke2k/faker")
(synopsis "Python package that generates fake data")
(description
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 062/232] gnu: Add python-pytest-randomly.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (59 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 061/232] gnu: python-faker: Update to 13.3.4 and honor TESTS? Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 063/232] gnu: Add psautohint-font-data Maxim Cournoyer
` (38 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/check.scm (python-pytest-randomly): New variable.
---
gnu/packages/check.scm | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index e3523d77dc..c67a6f2675 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -1242,6 +1242,47 @@ (define-public python-pytest-random-order
reported in a previous test run.")
(license license:expat)))
+(define-public python-pytest-randomly
+ (package
+ (name "python-pytest-randomly")
+ (version "3.11.0")
+ (source (origin
+ (method git-fetch) ;no tests in pypi archive
+ (uri (git-reference
+ (url "https://github.com/pytest-dev/pytest-randomly")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1sjgq49g8f8973vhmzrim79b6wz29a765n99azjk1maimqh7mmik"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; The tests validating ordering fail, as well as as two
+ ;; others, for unknown reasons (see:
+ ;; https://github.com/pytest-dev/pytest-randomly/issues/454).
+ (invoke "pytest" "-vv" "-k"
+ (string-append
+ "not reordered "
+ "and not test_it_runs_before_stepwise "
+ "and not test_entrypoint_injection"))))))))
+ (native-inputs (list python-coverage
+ python-factory-boy
+ python-faker
+ python-numpy
+ python-pytest-xdist))
+ (propagated-inputs (list python-importlib-metadata python-pytest))
+ (home-page "https://github.com/pytest-dev/pytest-randomly")
+ (synopsis "Pytest plugin to randomly order tests")
+ (description "This is a Pytest plugin to randomly order tests and control
+Python's @code{random.seed}.")
+ (license license:expat)))
+
(define-public python-pytest-runner
(package
(name "python-pytest-runner")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 063/232] gnu: Add psautohint-font-data.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (60 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 062/232] gnu: Add python-pytest-randomly Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 064/232] gnu: Add psautohint Maxim Cournoyer
` (37 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/fontutils.scm (psautohint-font-data): New variable.
---
gnu/packages/fontutils.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index a2e71f1ad0..9cb9caf159 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -72,6 +72,7 @@ (define-module (gnu packages fontutils)
#:use-module (guix download)
#:use-module (guix svn-download)
#:use-module (guix git-download)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
@@ -314,6 +315,33 @@ (define-public python-mutatormath
arithmetic object.")
(license license:bsd-3)))
+(define-public psautohint-font-data
+ ;; There is no release tag, so use the latest commit.
+ (let ((revision "0")
+ (commit "1e4c5061d328105c4dcfcb6fdbc27ec49b3e9d23"))
+ (hidden-package
+ (package
+ (name "psautohint-font-data")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/adobe-type-tools/psautohint-testdata")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0p7g8mnndzp8zpbj9h6lkvfdpvd74fy10q8wmkagbg2ahbdi1zva"))))
+ (build-system copy-build-system)
+ (home-page "https://github.com/adobe-type-tools/psautohint-testdata")
+ (synopsis "Test font data psautohint")
+ (description "This package contains the font data used by the test
+suite of the @code{psautohint} package.")
+ ;; The bundle contains font data from the Cantarell, Libertinus, Source
+ ;; Code Pro, Source Serif Pro, all available under the same license.
+ (license license:silofl1.1)))))
+
(define-public python-ufoprocessor
(package
(name "python-ufoprocessor")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 064/232] gnu: Add psautohint.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (61 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 063/232] gnu: Add psautohint-font-data Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 065/232] gnu: Add python-ordered-set Maxim Cournoyer
` (36 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/fontutils.scm (psautohint): New variable.
---
gnu/packages/fontutils.scm | 43 ++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 9cb9caf159..e128ed1003 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -342,6 +342,49 @@ (define-public psautohint-font-data
;; Code Pro, Source Serif Pro, all available under the same license.
(license license:silofl1.1)))))
+(define-public psautohint
+ (package
+ (name "psautohint")
+ (version "2.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "psautohint" version))
+ (sha256
+ (base32 "0zzz7hy1kkkjfrrm9ly2di3xv2x1ywdqhbyqy21k670jysldw3nm"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'copy-font-data
+ ;; The data is copied as it needs to be writable for the tests.
+ (lambda _
+ (copy-recursively
+ #$(this-package-native-input "psautohint-font-data")
+ "tests/integration/data")
+ (for-each make-file-writable
+ (find-files "tests/integration/data"))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv")))))))
+ (propagated-inputs (list python-fonttools))
+ (native-inputs
+ (list psautohint-font-data
+ python-fs
+ python-pytest
+ python-pytest-cov
+ python-pytest-randomly
+ python-pytest-xdist
+ python-setuptools-scm
+ python-wheel))
+ (home-page "https://github.com/adobe-type-tools/psautohint")
+ (synopsis "Adobe's PostScript autohinter")
+ (description "This package provides the @command{autohinter} command that
+can be used to hint PostScript fonts. A Python wrapper is also included.")
+ (license license:asl2.0)))
+
(define-public python-ufoprocessor
(package
(name "python-ufoprocessor")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 065/232] gnu: Add python-ordered-set.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (62 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 064/232] gnu: Add psautohint Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 066/232] gnu: Add python-xdoctest Maxim Cournoyer
` (35 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-ordered-set): New variable.
---
gnu/packages/python-xyz.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e71c1e4248..326123dfc6 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -29327,6 +29327,32 @@ (define-public python-ijson
interfaces.")
(license license:bsd-3)))
+(define-public python-ordered-set
+ (package
+ (name "python-ordered-set")
+ (version "4.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ordered-set" version))
+ (sha256
+ (base32 "1a34fg3r3480nfm6652kyqql3lwixf8jirzdja9camvnr128wjk9"))))
+ (build-system python-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv")))))))
+ (native-inputs (list python-cython python-pytest))
+ (home-page "https://github.com/simonpercivall/orderedset")
+ (synopsis "Ordered Set implementation in Cython")
+ (description "This library provides an @code{OrderedSet} data type that
+works like a regular set, but remembers insertion order. It supports the full
+Python @code{set} interface.")
+ (license license:asl2.0)))
+
(define-public python-orgparse
(package
(name "python-orgparse")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 066/232] gnu: Add python-xdoctest.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (63 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 065/232] gnu: Add python-ordered-set Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 067/232] gnu: Add python-ubelt Maxim Cournoyer
` (34 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-xdoctest): New variable.
---
gnu/packages/python-xyz.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 326123dfc6..59e7d5112f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -15188,6 +15188,36 @@ (define-public python-xdo
(define-public python2-xdo
(package-with-python2 python-xdo))
+(define-public python-xdoctest
+ (package
+ (name "python-xdoctest")
+ (version "1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "xdoctest" version))
+ (sha256
+ (base32 "0bgbmb9nqv95f9gfxqifqff1qaz5fnanjqy4hv7ygrjp2kksgfvy"))))
+ (build-system python-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; A writable HOME is needed by the
+ ;; 'import_module_from_path' test.
+ (setenv "HOME" "/tmp")
+ (invoke "pytest" "-vv")))))))
+ (propagated-inputs (list python-six))
+ (native-inputs (list python-pytest which))
+ (home-page "https://github.com/Erotemic/xdoctest")
+ (synopsis "Rewrite of the Python builtin doctest module")
+ (description "This package provides a rewrite of the builtin doctest
+module which leverages the Python @acronym{AST, Abstract Syntax Tree} instead
+of @acronym{REGEXPs, regular expressions}.")
+ (license license:asl2.0)))
+
(define-public python-mako
(package
(name "python-mako")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 067/232] gnu: Add python-ubelt.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (64 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 066/232] gnu: Add python-xdoctest Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 068/232] gnu: python-setuptools: Update to 62.0.0 Maxim Cournoyer
` (33 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-ubelt): New variable.
---
gnu/packages/python-xyz.scm | 44 +++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 59e7d5112f..e589bbdd3a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -362,6 +362,50 @@ (define-public python-logbook
applications in mind and the idea to make logging fun.")
(license license:bsd-3)))
+(define-public python-ubelt
+ (package
+ (name "python-ubelt")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Erotemic/ubelt")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0hac9nqqvqfbca2s4g0mp1fnj0ah60bg9fb8234ibna3jww8qs33"))))
+ (build-system python-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "HOME" "/tmp") ;else the test suite hangs
+ (invoke "pytest" "-vv" "-k"
+ (string-append
+ ;; The builder user home doesn't match HOME,
+ ;; which causes this test to fail.
+ "not userhome "
+ ;; This one pointlessly tries
+ ;; locating various binaries on
+ ;; the path.
+ "and not find_exe"))))))))
+ (propagated-inputs (list python-ordered-set))
+ (native-inputs
+ (list python-pytest
+ python-requests
+ python-xdoctest))
+ (home-page "https://github.com/Erotemic/ubelt")
+ (synopsis "Python library for hashing, caching, timing and more")
+ (description "Ubelt is a small library of simple functions that extend the
+Python standard library. It includes an @acronym{API, Application Programming
+Interface} to simplify common problems such as caching, timing, computing
+progress, among other things.")
+ (license license:asl2.0)))
+
(define-public python-ueberzug
(package
(name "python-ueberzug")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 068/232] gnu: python-setuptools: Update to 62.0.0.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (65 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 067/232] gnu: Add python-ubelt Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 069/232] gnu: python-pathpy: Deprecate by python-path Maxim Cournoyer
` (32 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-setuptools): Update to 62.0.0.
[source]: Simplify snippet and strip trailing #t.
[arguments]: Re-indent.
[synopsis]: Likewise.
[description]: Use @itemize.
[license]: Strip leading spaces from in-line comments.
---
gnu/packages/python-xyz.scm | 57 ++++++++++++++++++-------------------
1 file changed, 27 insertions(+), 30 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e589bbdd3a..011c57e087 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -1840,44 +1840,41 @@ (define-public python2-serpent
(define-public python-setuptools
(package
(name "python-setuptools")
- (version "52.0.0")
+ (version "62.0.0")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "setuptools" version))
- (sha256
- (base32
- "15ibjdjhkwgj6qbmpsxikkqdfsb1550z46fly7dm15ah4bk1wfpv"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Remove included binaries which are used to build self-extracting
- ;; installers for Windows.
- ;; TODO: Find some way to build them ourself so we can include them.
- (for-each delete-file (find-files "setuptools" "^(cli|gui).*\\.exe$"))
- #t))))
+ (method url-fetch)
+ (uri (pypi-uri "setuptools" version))
+ (sha256
+ (base32
+ "0sm8n6y6q640cpac9wjyggidbgi4n9la7vs7pwriyvhvgzccp6br"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Remove included binaries which are used to build self-extracting
+ ;; installers for Windows.
+ ;; TODO: Find some way to build them ourself so we can include them.
+ '(for-each delete-file (find-files "setuptools"
+ "^(cli|gui).*\\.exe$")))))
(build-system python-build-system)
;; FIXME: Tests require pytest, which itself relies on setuptools.
;; One could bootstrap with an internal untested setuptools.
- (arguments
- `(#:tests? #f))
+ (arguments (list #:tests? #f))
(home-page "https://pypi.org/project/setuptools/")
- (synopsis
- "Library designed to facilitate packaging Python projects")
- (description
- "Setuptools is a fully-featured, stable library designed to facilitate
-packaging Python projects, where packaging includes:
-Python package and module definitions,
-distribution package metadata,
-test hooks,
-project installation,
-platform-specific details,
-Python 3 support.")
+ (synopsis "Library designed to facilitate packaging Python projects")
+ (description "Setuptools is a fully-featured, stable library designed to
+facilitate packaging Python projects, where packaging includes:
+@itemize
+@item Python package and module definitions
+@item distribution package metadata
+@item test hooks
+@item project installation
+@item platform-specific details.
+@end itemize")
;; TODO: setuptools now bundles the following libraries:
;; packaging, pyparsing, six and appdirs. How to unbundle?
- (license (list license:psfl ; setuptools itself
- license:expat ; six, appdirs, pyparsing
- license:asl2.0 ; packaging is dual ASL2/BSD-2
+ (license (list license:psfl ;setuptools itself
+ license:expat ;six, appdirs, pyparsing
+ license:asl2.0 ;packaging is dual ASL2/BSD-2
license:bsd-2))
(properties `((python2-variant . ,(delay python2-setuptools))))))
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 069/232] gnu: python-pathpy: Deprecate by python-path.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (66 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 068/232] gnu: python-setuptools: Update to 62.0.0 Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 070/232] gnu: python-pytest-shutil: Adjust to use python-path Maxim Cournoyer
` (31 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-pathpy): Mark as deprecated by
python-path.
---
gnu/packages/python-xyz.scm | 54 +++----------------------------------
1 file changed, 3 insertions(+), 51 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 011c57e087..dc508df4a3 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8724,57 +8724,6 @@ (define-public python-jaraco-packaging
releases.")
(license license:expat)))
-(define-public python-pathpy
- (package
- (name "python-pathpy")
- (version "11.5.1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "path.py" version))
- (sha256
- (base32 "0ir9j1haq2jbi7aip6k2fa9l7q1l03k4hp1awxhjhcwzsnwp3ll8"))))
- (outputs '("out" "doc"))
- (build-system python-build-system)
- (propagated-inputs
- (list python-appdirs python-importlib-metadata))
- (native-inputs
- (list python-setuptools-scm
- python-sphinx
- python-rst.linker
- python-pytest
- python-pytest-runner
- python-jaraco-packaging))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'build 'build-doc
- (lambda _
- (setenv "LANG" "en_US.UTF-8")
- (invoke "python" "setup.py" "build_sphinx")))
- (add-after 'install 'install-doc
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((data (string-append (assoc-ref outputs "doc") "/share"))
- (doc (string-append data "/doc/" ,name "-" ,version))
- (html (string-append doc "/html")))
- (mkdir-p html)
- (for-each (lambda (file)
- (copy-file file (string-append doc "/" file)))
- '("README.rst" "CHANGES.rst"))
- (copy-recursively "build/sphinx/html" html)
- #t)))
- (replace 'check
- (lambda _
- ;; The import time test aborts if an import takes longer than
- ;; 100ms. It may very well take a little longer than that.
- (invoke "pytest" "-v" "-k" "not test_import_time"))))))
- (home-page "https://github.com/jaraco/path.py")
- (synopsis "Python module wrapper for built-in os.path")
- (description
- "@code{path.py} implements path objects as first-class entities, allowing
-common operations on files to be invoked on those path objects directly.")
- (license license:expat)))
-
(define-public python-simplegeneric
(package
(name "python-simplegeneric")
@@ -12800,6 +12749,9 @@ (define-public python-path
(package-properties
python-path-bootstrap)))))
+(define-public python-pathpy
+ (deprecated-package "python-pathpy" python-path))
+
(define-public python-pretend
(package
(name "python-pretend")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 070/232] gnu: python-pytest-shutil: Adjust to use python-path.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (67 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 069/232] gnu: python-pathpy: Deprecate by python-path Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 071/232] gnu: python-pytest-cov: Update to 3.0.0 Maxim Cournoyer
` (30 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-check.scm (python-pytest-shutil)
[phases]{use-path-instead-of-path.py}: New phase.
[propagated-inputs]: Replace python-path.py with python-path.
---
gnu/packages/python-check.scm | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 564d41c323..6966d96c64 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -1079,6 +1079,12 @@ (define-public python-pytest-shutil
(arguments
`(#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'use-path-instead-of-path.py
+ ;; path.py is obsolete.
+ (lambda _
+ (substitute* "setup.py"
+ (("'path.py'")
+ "'path'"))))
(add-after 'unpack 'patch-tests
(lambda _
(mkdir "/tmp/bin")
@@ -1086,11 +1092,9 @@ (define-public python-pytest-shutil
(("dirname = '/bin'")
"dirname = '/tmp/bin'")
(("bindir = os.path.realpath\\('/bin'\\)")
- "bindir = os.path.realpath('/tmp/bin')"))
- #t)))))
+ "bindir = os.path.realpath('/tmp/bin')")))))))
(propagated-inputs
- (list python-contextlib2 python-execnet python-pathpy
- python-termcolor))
+ (list python-contextlib2 python-execnet python-path python-termcolor))
(native-inputs
(list python-mock python-pytest python-setuptools-git))
(home-page "https://github.com/manahl/pytest-plugins")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 071/232] gnu: python-pytest-cov: Update to 3.0.0.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (68 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 070/232] gnu: python-pytest-shutil: Adjust to use python-path Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 072/232] gnu: Add python-scikit-build Maxim Cournoyer
` (29 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
This restores the package compatibility with python-pytest-xdist.
* gnu/packages/check.scm (python-pytest-cov): Update to 3.0.0.
(python2-pytest-cov): Delete package.
---
gnu/packages/check.scm | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index c67a6f2675..b7a5a9bd46 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -1150,13 +1150,13 @@ (define-public python-pytest-assume
(define-public python-pytest-cov
(package
(name "python-pytest-cov")
- (version "2.8.1")
+ (version "3.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-cov" version))
(sha256
- (base32 "0avzlk9p4nc44k7lpx9109dybq71xqnggxb9f4hp0l64pbc44ryc"))))
+ (base32 "0w6lfv8gc1lxmnvsz7mq5z9shxac5zz6s9mwrai108kxc6qzbw77"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -1178,9 +1178,6 @@ (define-public python-pytest-cov
supports coverage of subprocesses.")
(license license:expat)))
-(define-public python2-pytest-cov
- (package-with-python2 python-pytest-cov))
-
(define-public python-pytest-httpserver
(package
(name "python-pytest-httpserver")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 072/232] gnu: Add python-scikit-build.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (69 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 071/232] gnu: python-pytest-cov: Update to 3.0.0 Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 073/232] gnu: python-jupyter-packaging: Update to 0.12.0, run test suite Maxim Cournoyer
` (28 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-scikit-build): New variable.
---
gnu/packages/python-xyz.scm | 87 +++++++++++++++++++++++++++++++++++++
1 file changed, 87 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index dc508df4a3..e1ab0ab048 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -187,6 +187,7 @@ (define-module (gnu packages python-xyz)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages networking)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages ninja)
#:use-module (gnu packages openstack)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pdf)
@@ -28227,6 +28228,92 @@ (define-public python-sane
;; Yet another variant of the X/MIT license.
"https://github.com/python-pillow/Sane/blob/master/COPYING"))))
+(define-public python-scikit-build
+ (package
+ (name "python-scikit-build")
+ (version "0.14.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "scikit-build" version))
+ (sha256
+ (base32 "1wx1m9vnxnnz59lyaisgyxldp313kciyd4af8lf112vb8vbjy9yk"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-cmake-executable
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "skbuild/constants.py"
+ (("^(CMAKE_DEFAULT_EXECUTABLE = ).*" _ head)
+ (format #f "~a ~s~%" head
+ (search-input-file inputs "bin/cmake"))))))
+ ;; XXX: PEP 517 manual build copied from python-isort.
+ (replace 'build
+ (lambda _
+ (setenv "SOURCE_DATE_EPOCH" "315532800")
+ (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; These tests attempt to pull dependencies from the Internet.
+ (delete-file "tests/test_distribution.py")
+ (delete-file "tests/test_pep518.py")
+ (invoke "pytest" "-vv"
+ "-n" (number->string (parallel-job-count))
+ "-k" (string-append
+ ;; These tests attempt to write to read-only
+ ;; Python install directory.
+ "not test_install_command "
+ "and not test_test_command "
+ "and not test_hello_develop "
+ ;; These sdist-related tests fail for unknown
+ ;; reasons (see:
+ ;; https://github.com/scikit-build/scikit-build/issues/689).
+ "and not test_hello_sdist_with_base "
+ "and not test_manifest_in_sdist "
+ "and not test_hello_sdist "
+ "and not test_sdist_with_symlinks "
+ ;; The reason for the failure of this one is
+ ;; also unknown.
+ "and not test_generator_cleanup")))))
+ (replace 'install
+ (lambda _
+ (let ((whl (car (find-files "dist" "\\.whl$"))))
+ (invoke "pip" "--no-cache-dir" "--no-input"
+ "install" "--no-deps" "--prefix" #$output whl)))))))
+ (native-inputs
+ (list cmake-minimal
+ gfortran
+ git-minimal
+ ninja
+ python-coverage
+ python-cython
+ python-mock
+ python-packaging
+ python-path
+ python-pypa-build
+ python-pytest
+ python-pytest-cov
+ python-pytest-mock
+ python-pytest-virtualenv
+ python-pytest-xdist
+ python-requests
+ python-setuptools-scm
+ python-wheel))
+ (propagated-inputs
+ (list python-distro python-packaging python-wheel))
+ (home-page "https://github.com/scikit-build/scikit-build")
+ (synopsis "Build system generator for Python C/C++/Fortran/Cython extensions")
+ (description "Scikit-build is an improved build system generator for
+CPython C/C++/Fortran/Cython extensions. It has support for additional
+compilers, build systems, cross compilation, and locating dependencies and
+determining their build requirements. The scikit-build package is
+fundamentally just glue between the @code{setuptools} Python module and
+CMake.")
+ (license license:expat)))
+
(define-public python-screenkey
(package
(name "python-screenkey")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 073/232] gnu: python-jupyter-packaging: Update to 0.12.0, run test suite.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (70 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 072/232] gnu: Add python-scikit-build Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 074/232] gnu: python-scipy: Move input fields below arguments field Maxim Cournoyer
` (27 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/jupyter.scm (python-jupyter-packaging): Update to 0.12.0.
[arguments]: New field.
---
gnu/packages/jupyter.scm | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/jupyter.scm b/gnu/packages/jupyter.scm
index dd5d2a5a55..ce3f1b1384 100644
--- a/gnu/packages/jupyter.scm
+++ b/gnu/packages/jupyter.scm
@@ -21,6 +21,7 @@
(define-module (gnu packages jupyter)
#:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
@@ -214,15 +215,29 @@ (define-public python-jupyterlab-pygments
(define-public python-jupyter-packaging
(package
(name "python-jupyter-packaging")
- (version "0.9.1")
+ (version "0.12.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "jupyter_packaging" version))
(sha256
(base32
- "0r015c0m713d19asmpimsw6bk2sqv2lpd2nccgjzjdj5h1crg0bg"))))
+ "1b7ssc627vgrdl21c09w9sxk5fc1ps3g7f70laxag4yw1bb5ax5j"))))
(build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; Disable isolation so that the package environment can be
+ ;; setup without connectivity.
+ (setenv "SOURCE_DATE_EPOCH" "315532800")
+ (substitute* "tests/test_build_api.py"
+ (("\"-m\", \"build\"" all)
+ (string-append all ", \"--no-isolation\"")))
+ (invoke "python" "-m" "pytest" "-vv")))))))
(propagated-inputs
(list python-deprecation python-packaging python-setuptools
python-tomlkit python-wheel))
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 074/232] gnu: python-scipy: Move input fields below arguments field.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (71 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 073/232] gnu: python-jupyter-packaging: Update to 0.12.0, run test suite Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 075/232] gnu: python-scipy: Update to 1.8.0 and enable parallel build Maxim Cournoyer
` (26 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-science.scm (python-scipy): Move inputs fields below the
arguments field.
[phases]: Use gexp.
{configure-openblas}: Use this-package-input.
{check}: Remove extraneous 'add-installed-pythonpath' call.
{install-doc}: Adjust accordingly.
---
gnu/packages/python-science.scm | 155 ++++++++++++++++----------------
1 file changed, 77 insertions(+), 78 deletions(-)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 07d713e013..dfe6a66e61 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2016, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016-2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2019, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2019, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
@@ -79,49 +79,36 @@ (define-public python-scipy
(uri (pypi-uri "scipy" version))
(sha256
(base32 "1gxsnw6viz2j3sm8ak2a8l7fcn4b2zm3kzfm8w57xxyyrzx7an5b"))))
- (build-system python-build-system)
- (propagated-inputs
- (list python-numpy python-matplotlib python-pyparsing))
- (inputs
- (list openblas pybind11))
- (native-inputs
- (list python-cython
- python-pydata-sphinx-theme
- python-pytest
- python-sphinx
- python-sphinx-panels
- python-numpydoc
- gfortran
- perl
- which))
(outputs '("out" "doc"))
+ (build-system python-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'disable-pythran
- (lambda _
- (setenv "SCIPY_USE_PYTHRAN" "0")))
- (add-before 'build 'change-home-dir
- (lambda _
- ;; Change from /homeless-shelter to /tmp for write permission.
- (setenv "HOME" "/tmp")))
- (add-after 'unpack 'disable-broken-tests
- (lambda _
- (substitute* "scipy/sparse/linalg/dsolve/tests/test_linsolve.py"
- (("^( +)def test_threads_parallel\\(self\\):" m indent)
- (string-append indent
- "@pytest.mark.skip(reason=\"Disabled by Guix\")\n"
- m)))
- (substitute* "scipy/sparse/linalg/eigen/arpack/tests/test_arpack.py"
- (("^def test_parallel_threads\\(\\):" m)
- (string-append "@pytest.mark.skip(reason=\"Disabled by Guix\")\n"
- m)))))
- (add-before 'build 'configure-openblas
- (lambda* (#:key inputs #:allow-other-keys)
- (call-with-output-file "site.cfg"
- (lambda (port)
- (format port
- "[blas]
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'disable-pythran
+ (lambda _
+ (setenv "SCIPY_USE_PYTHRAN" "0")))
+ (add-before 'build 'change-home-dir
+ (lambda _
+ ;; Change from /homeless-shelter to /tmp for write permission.
+ (setenv "HOME" "/tmp")))
+ (add-after 'unpack 'disable-broken-tests
+ (lambda _
+ (substitute* "scipy/sparse/linalg/dsolve/tests/test_linsolve.py"
+ (("^( +)def test_threads_parallel\\(self\\):" m indent)
+ (string-append indent
+ "@pytest.mark.skip(reason=\"Disabled by Guix\")\n"
+ m)))
+ (substitute* "scipy/sparse/linalg/eigen/arpack/tests/test_arpack.py"
+ (("^def test_parallel_threads\\(\\):" m)
+ (string-append "@pytest.mark.skip(reason=\"Disabled by Guix\")\n"
+ m)))))
+ (add-before 'build 'configure-openblas
+ (lambda _
+ (call-with-output-file "site.cfg"
+ (lambda (port)
+ (format port
+ "[blas]
libraries = openblas
library_dirs = ~a/lib
include_dirs = ~a/include
@@ -131,42 +118,54 @@ (define-public python-scipy
library_dirs = ~a/lib
atlas_libs = openblas
"
- (assoc-ref inputs "openblas")
- (assoc-ref inputs "openblas")
- (assoc-ref inputs "openblas"))))))
- (add-after 'install 'install-doc
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((data (string-append (assoc-ref outputs "doc") "/share"))
- (doc (string-append data "/doc/" ,name "-" ,version))
- (html (string-append doc "/html"))
- (pyver ,(string-append "PYVER=" (version-major+minor
- (package-version python))))
- ;; By default it tries to run sphinx-build through the Python
- ;; interpreter which won't work with our shell wrapper.
- (sphinxbuild "SPHINXBUILD=LANG=C sphinx-build"))
- ;; Make installed package available for building the
- ;; documentation
- (add-installed-pythonpath inputs outputs)
- (with-directory-excursion "doc"
- ;; Fix generation of images for mathematical expressions.
- (substitute* (find-files "source" "conf\\.py")
- (("pngmath_use_preview = True")
- "pngmath_use_preview = False"))
- (mkdir-p html)
- (invoke "make" "html" pyver sphinxbuild)
- (with-directory-excursion "build/html"
- (for-each (lambda (file)
- (let* ((dir (dirname file))
- (tgt-dir (string-append html "/" dir)))
- (install-file file html)))
- (find-files ".")))))))
- (replace 'check
- (lambda* (#:key tests? inputs outputs #:allow-other-keys)
- (when tests?
- (add-installed-pythonpath inputs outputs)
- (with-directory-excursion "/tmp"
- (invoke "python" "-c"
- "import scipy; scipy.test(verbose=2)"))))))))
+ #$(this-package-input "openblas")
+ #$(this-package-input "openblas")
+ #$(this-package-input "openblas"))))))
+ (add-after 'install 'install-doc
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((data (string-append (assoc-ref outputs "doc") "/share"))
+ (doc (string-append data "/doc/" #$name "-" #$version))
+ (html (string-append doc "/html"))
+ (pyver (string-append "PYVER="
+ #$(version-major+minor
+ (package-version python))))
+ ;; By default it tries to run sphinx-build through the Python
+ ;; interpreter which won't work with our shell wrapper.
+ (sphinxbuild "SPHINXBUILD=LANG=C sphinx-build"))
+ ;; Make installed package available for building the
+ ;; documentation
+ (add-installed-pythonpath inputs outputs)
+ (with-directory-excursion "doc"
+ ;; Fix generation of images for mathematical expressions.
+ (substitute* (find-files "source" "conf\\.py")
+ (("pngmath_use_preview = True")
+ "pngmath_use_preview = False"))
+ (mkdir-p html)
+ (invoke "make" "html" pyver sphinxbuild)
+ (with-directory-excursion "build/html"
+ (for-each (lambda (file)
+ (let* ((dir (dirname file))
+ (tgt-dir (string-append html "/" dir)))
+ (install-file file html)))
+ (find-files ".")))))))
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion "/tmp"
+ (invoke "python" "-c"
+ "import scipy; scipy.test(verbose=2)"))))))))
+ (propagated-inputs (list python-numpy python-matplotlib python-pyparsing))
+ (inputs (list openblas pybind11))
+ (native-inputs
+ (list python-cython
+ python-pydata-sphinx-theme
+ python-pytest
+ python-sphinx
+ python-sphinx-panels
+ python-numpydoc
+ gfortran
+ perl
+ which))
(home-page "https://www.scipy.org/")
(synopsis "The Scipy library provides efficient numerical routines")
(description "The SciPy library is one of the core packages that make up
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 075/232] gnu: python-scipy: Update to 1.8.0 and enable parallel build.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (72 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 074/232] gnu: python-scipy: Move input fields below arguments field Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 076/232] gnu: Add java-antlr4-runtime-cpp Maxim Cournoyer
` (25 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-science.scm (python-scipy): Update to 1.8.0.
[modules]: New argument.
[phases]{disable-broken-tests}: Delete phase.
{configure-openblas}: Streamline configuration template.
{parallelize-build}: New phase.
{install-doc}: Move before 'check phase. Remove now extraneous
'add-installed-pythonpath' call. Remove the SPHINXBUILD and PYVER Make
variables, as well as conf.py patching. Provide SPHINXOPTS to build doc in
parallel. Simply recursively copy the 'html' output directory to install the
doc.
{check}: Remove extraneous INPUTS and OUTPUTS arguments. Start tests with the
'runtests.py' launcher, which accepts a '-j' argument to run the tests in
parallel.
[native-inputs]: Sort inputs. Add python-pytest-xdist and
python-threadpoolctl.
[home-page]: Update.
---
gnu/packages/python-science.scm | 91 +++++++++++++--------------------
1 file changed, 36 insertions(+), 55 deletions(-)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index dfe6a66e61..1852a16047 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -72,17 +72,20 @@ (define-module (gnu packages python-science)
(define-public python-scipy
(package
(name "python-scipy")
- (version "1.7.3")
+ (version "1.8.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "scipy" version))
(sha256
- (base32 "1gxsnw6viz2j3sm8ak2a8l7fcn4b2zm3kzfm8w57xxyyrzx7an5b"))))
+ (base32 "1gghkwn93niyasm36333xbqrnn3yiadq9d97wnc9mg14nzbg5m1i"))))
(outputs '("out" "doc"))
(build-system python-build-system)
(arguments
(list
+ #:modules '((guix build utils)
+ (guix build python-build-system)
+ (ice-9 format))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-pythran
@@ -92,81 +95,59 @@ (define-public python-scipy
(lambda _
;; Change from /homeless-shelter to /tmp for write permission.
(setenv "HOME" "/tmp")))
- (add-after 'unpack 'disable-broken-tests
- (lambda _
- (substitute* "scipy/sparse/linalg/dsolve/tests/test_linsolve.py"
- (("^( +)def test_threads_parallel\\(self\\):" m indent)
- (string-append indent
- "@pytest.mark.skip(reason=\"Disabled by Guix\")\n"
- m)))
- (substitute* "scipy/sparse/linalg/eigen/arpack/tests/test_arpack.py"
- (("^def test_parallel_threads\\(\\):" m)
- (string-append "@pytest.mark.skip(reason=\"Disabled by Guix\")\n"
- m)))))
(add-before 'build 'configure-openblas
(lambda _
(call-with-output-file "site.cfg"
(lambda (port)
(format port
- "[blas]
+ "\
+[blas]
libraries = openblas
library_dirs = ~a/lib
-include_dirs = ~a/include
+include_dirs = ~:*~a/include
-# backslash-n to make emacs happy
-\n[atlas]
-library_dirs = ~a/lib
-atlas_libs = openblas
-"
- #$(this-package-input "openblas")
- #$(this-package-input "openblas")
- #$(this-package-input "openblas"))))))
- (add-after 'install 'install-doc
- (lambda* (#:key inputs outputs #:allow-other-keys)
+[atlas]
+library_dirs = ~:*~a/lib
+atlas_libs = openblas~%" #$(this-package-input "openblas"))))))
+ (add-before 'build 'parallelize-build
+ (lambda _
+ (setenv "NPY_NUM_BUILD_JOBS"
+ (number->string (parallel-job-count)))))
+ (add-before 'check 'install-doc
+ (lambda* (#:key outputs #:allow-other-keys)
(let* ((data (string-append (assoc-ref outputs "doc") "/share"))
(doc (string-append data "/doc/" #$name "-" #$version))
- (html (string-append doc "/html"))
- (pyver (string-append "PYVER="
- #$(version-major+minor
- (package-version python))))
- ;; By default it tries to run sphinx-build through the Python
- ;; interpreter which won't work with our shell wrapper.
- (sphinxbuild "SPHINXBUILD=LANG=C sphinx-build"))
- ;; Make installed package available for building the
- ;; documentation
- (add-installed-pythonpath inputs outputs)
+ (html (string-append doc "/html")))
(with-directory-excursion "doc"
- ;; Fix generation of images for mathematical expressions.
- (substitute* (find-files "source" "conf\\.py")
- (("pngmath_use_preview = True")
- "pngmath_use_preview = False"))
+ ;; Build doc.
+ (invoke "make" "html"
+ ;; Building the documentation takes a very long time.
+ ;; Parallelize it.
+ (string-append "SPHINXOPTS=-j"
+ (number->string (parallel-job-count))))
+ ;; Install doc.
(mkdir-p html)
- (invoke "make" "html" pyver sphinxbuild)
- (with-directory-excursion "build/html"
- (for-each (lambda (file)
- (let* ((dir (dirname file))
- (tgt-dir (string-append html "/" dir)))
- (install-file file html)))
- (find-files ".")))))))
+ (copy-recursively "build/html" html)))))
(replace 'check
- (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (lambda* (#:key tests? #:allow-other-keys)
(when tests?
- (with-directory-excursion "/tmp"
- (invoke "python" "-c"
- "import scipy; scipy.test(verbose=2)"))))))))
+ (invoke "./runtests.py" "-vv" "--no-build" "--mode=fast"
+ "-j" (number->string (parallel-job-count)))))))))
(propagated-inputs (list python-numpy python-matplotlib python-pyparsing))
(inputs (list openblas pybind11))
(native-inputs
- (list python-cython
+ (list gfortran
+ perl
+ python-cython
+ python-numpydoc
python-pydata-sphinx-theme
python-pytest
+ python-pytest-xdist
python-sphinx
python-sphinx-panels
- python-numpydoc
- gfortran
- perl
+ python-threadpoolctl
which))
- (home-page "https://www.scipy.org/")
+ (home-page "https://scipy.org/")
(synopsis "The Scipy library provides efficient numerical routines")
(description "The SciPy library is one of the core packages that make up
the SciPy stack. It provides many user-friendly and efficient numerical
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 076/232] gnu: Add java-antlr4-runtime-cpp.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (73 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 075/232] gnu: python-scipy: Update to 1.8.0 and enable parallel build Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 077/232] gnu: Add python-fonttools-next Maxim Cournoyer
` (24 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/java.scm (java-antlr4-runtime-cpp): New variable.
---
gnu/packages/java.scm | 35 ++++++++++++++++++++++++++++++++++-
1 file changed, 34 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 43422f383f..539a6e6f6a 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -13,7 +13,7 @@
;;; Copyright © 2019, 2020, 2021 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
-;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Mike Gerwitz <mtg@gnu.org>
;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com>
@@ -45,6 +45,7 @@ (define-module (gnu packages java)
#:use-module (guix utils)
#:use-module (guix gexp)
#:use-module (guix build-system ant)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system maven)
#:use-module (guix build-system trivial)
@@ -8619,6 +8620,38 @@ (define-public java-antlr4-runtime
sources by ANTLR.")
(license license:bsd-3)))
+(define-public java-antlr4-runtime-cpp
+ (package
+ (inherit java-antlr4-runtime)
+ (name "java-antlr4-runtime-cpp")
+ (outputs '("out" "static"))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ ;; TODO: try to run the tests under
+ ;; runtime-testsuite/test/org/antlr/v4/test/runtime/cpp with antlr4.
+ #:tests? #f ;no CMake test target
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _
+ (chdir "runtime/Cpp")))
+ (add-after 'install 'move-static-library
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((static (assoc-ref outputs "static"))
+ (libantlr4-runtime.a (search-input-file
+ outputs "lib/libantlr4-runtime.a")))
+ (mkdir-p (string-append static "/lib"))
+ (rename-file
+ libantlr4-runtime.a
+ (string-append static "/lib/"
+ (basename libantlr4-runtime.a)))))))))
+ (native-inputs (list pkg-config))
+ (inputs (list `(,util-linux "lib"))) ;libuuid
+ (synopsis "ANTL C++ runtime library")
+ (description "This package contains the C++ runtime library used with C++
+generated sources by ANTLR.")))
+
(define-public antlr4
(package
(inherit java-antlr4-runtime)
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 077/232] gnu: Add python-fonttools-next.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (74 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 076/232] gnu: Add java-antlr4-runtime-cpp Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 078/232] gnu: Add python-afdko Maxim Cournoyer
` (23 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-fonttools-next): New variable.
---
gnu/packages/python-xyz.scm | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e1ab0ab048..a7f9d6e4be 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -11581,6 +11581,18 @@ (define-public python2-fonttools
(base32
"0v6399g755f2hn1ry62i5b6gdinf2fpx2966v3bxh6bjw1accb5p")))))))
+(define-public python-fonttools-next
+ (package
+ (inherit python-fonttools-full)
+ (version "4.32.0")
+ (source (origin
+ (inherit (package-source python-fonttools-full))
+ (method url-fetch)
+ (uri (pypi-uri "fonttools" version ".zip"))
+ (sha256
+ (base32
+ "14nk43z0dmznypm3zp4sdc04x1y608jawlnmwdkk32a947khvaar"))))))
+
(define-public python-ly
(package
(name "python-ly")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 078/232] gnu: Add python-afdko.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (75 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 077/232] gnu: Add python-fonttools-next Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 079/232] gnu: Add python-cffsubr Maxim Cournoyer
` (22 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/fontutils.scm (python-afdko): New variable.
---
gnu/packages/fontutils.scm | 139 +++++++++++++++++++++++++++++++++++++
1 file changed, 139 insertions(+)
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index e128ed1003..0c479cd5de 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -53,8 +53,10 @@ (define-module (gnu packages fontutils)
#:use-module (gnu packages graphics)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
+ #:use-module (gnu packages java)
#:use-module (gnu packages linux)
#:use-module (gnu packages man)
+ #:use-module (gnu packages ninja)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@@ -134,6 +136,143 @@ (define-public opentype-sanitizer
them as it goes.")
(license license:bsd-3)))
+(define-public python-afdko
+ (package
+ (name "python-afdko")
+ (version "3.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "afdko" version))
+ (sha256
+ (base32 "171r9f7n8fgz37dkcgpzj508lxfafcyzzx43ps12j1z2nk1sk905"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-problematic-requirements
+ (lambda _
+ (substitute* "requirements.txt"
+ ;; Remove lxml because the version requested here is different
+ ;; than the one propagated by the python-fonttools package.
+ (("^lxml==.*") ""))))
+ (add-after 'unpack 'patch-setup.py
+ (lambda _
+ ;; There is no use for Python-provided CMake nor Ninja binaries.
+ (substitute* '("pyproject.toml" "setup.py")
+ ((".*cmake.*") "")
+ ((".*ninja.*") ""))))
+ (add-after 'unpack 'unbundle-antlr4-cpp
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "CMakeLists.txt"
+ (("^include\\(ExternalAntlr4Cpp).*")
+ (format #f "include_directories(SYSTEM ~a)"
+ (search-input-directory inputs
+ "include/antlr4-runtime"))))
+ (substitute* "c/makeotf/lib/hotconv/CMakeLists.txt"
+ (("antlr4_static")
+ "antlr4-runtime"))))
+ ;; The test suite expects the commands to be Python rather than
+ ;; shell scripts, so move the wrap phase after the tests.
+ (delete 'wrap)
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "HOME" "/tmp")
+ (invoke "pytest" "-vv"))))
+ (add-after 'check 'wrap
+ (assoc-ref %standard-phases 'wrap))
+ (add-before 'wrap 'wrap-PATH
+ (lambda _
+ ;; The commands execute other commands from this package from
+ ;; PATH; by wrapping them with bindir, they can be found even
+ ;; when the command is run from its store location.
+ (let* ((bindir (string-append #$output "/bin"))
+ (commands (find-files bindir)))
+ (for-each (lambda (c)
+ (wrap-program c
+ `("PATH" prefix (,bindir))))
+ commands)))))))
+ (native-inputs
+ (list ninja python-pytest python-scikit-build python-wheel))
+ (inputs (list java-antlr4-runtime-cpp `(,util-linux "lib")))
+ (propagated-inputs
+ (list psautohint
+ python-booleanoperations
+ python-defcon
+ python-fontmath
+ python-fonttools-next
+ python-lxml
+ python-tqdm
+ python-ufonormalizer
+ python-ufoprocessor))
+ (home-page "https://github.com/adobe-type-tools/afdko")
+ (synopsis "Adobe Font Development Kit for OpenType")
+ (description "The Adobe Font Development Kit for OpenType (AFDKO) is a set
+of tools for building OpenType font (OTF) files from PostScript and TrueType
+font data. It includes the following commands:
+@table @command
+@item buildcff2vf
+Assemble a CFF2 variable font from a .designspace file.
+@item buildmasterotfs
+Build master source OpenType/CFF fonts from a @file{.designspace} file
+and UFO master source fonts.
+@item charplot
+@itemx digiplot
+@itemx fontplot
+@itemx fontsetplot
+@itemx hintplot
+@itemx waterfallplot
+Aliases for the corresponding options of the @command{proofpdf} command.
+@item checkoutlinesufo
+Perform outline quality checks. It can also remove path overlaps.
+@item comparefamily
+Look in a specific directory, examine and report on all the OpenType fonts found.
+@item type1
+@itemx detype1
+Compile and decompile, respectively, a Type 1 font to and from a plain-text
+representation.
+@item makeinstancesufo
+Generate UFO font instances from a set of master UFO fonts.
+@item makeotfexe
+Read all the font data and build the final OpenType font.
+@item makeotf
+This command can be used to prepare the input files needed by
+@command{makeotfexe}.
+@item mergefonts
+Merge one or more fonts into a parent font.
+@item otc2otf
+Extract all OpenType fonts from the parent OpenType Collection font.
+@item otf2otc
+Build an OpenType Collection font file from two or more OpenType font
+files.
+@item otf2ttf
+Converts OpenType-CFF fonts to TrueType.
+@item rotatefont
+Apply a Postscript transform matrix to the source font files.
+@item sfntdiff
+Low-level comparison of two OpenType font files.
+@item sfntedit
+Support table-editing, listing, and checksumming options on
+sfnt-formatted files such as OpenType Format (OTF) or TrueType.
+@item spot
+Dump sfnt data from plain files or Macintosh resource files.
+@item ttfcomponentizer
+Take in a TrueType font and look for a UFO font stored in the same directory.
+Use the UFO's components data to compose matching TrueType glyphs.
+@item ttfdecomponentizer
+Take in a TrueType font and decompose any composite glyphs into simple glyphs.
+@item ttxn
+Make a normalized dump of the font, or of selected tables.
+@item tx
+The @command{tx} (Type eXchange) is a test harness for the CoreType libraries
+but also provides many useful font conversion and analysis facilities.
+@end table")
+ (license license:asl2.0)))
+
+ (license license:asl2.0)))
+
(define-public python-cu2qu
(package
(name "python-cu2qu")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 079/232] gnu: Add python-cffsubr.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (76 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 078/232] gnu: Add python-afdko Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 080/232] gnu: Add skia Maxim Cournoyer
` (21 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/fontutils.scm (python-cffsubr): New variable.
---
gnu/packages/fontutils.scm | 49 ++++++++++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 0c479cd5de..9d170da953 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -271,6 +271,55 @@ (define-public python-afdko
@end table")
(license license:asl2.0)))
+(define-public python-cffsubr
+ (package
+ (name "python-cffsubr")
+ (version "0.2.9.post1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cffsubr" version))
+ (modules '((guix build utils)))
+ (snippet '(delete-file-recursively "external")) ;unbundle ADFKO
+ (sha256
+ (base32 "0p7wyagkmwf4agr6ysgswrpmpifx5rz8dnjbcs2gmj29rwnl2cbb"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-setup.py
+ (lambda _
+ (substitute* '("pyproject.toml"
+ "setup.py")
+ ;; This is not needed when building the package.
+ (("setuptools-git-ls-files") "")
+ ;; Do not attempt to build the unbundled ADFKO.
+ (("cmdclass\\[\"build_ext\"] = ExecutableBuildExt.*")
+ ""))))
+ (add-after 'unpack 'patch-tx-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (define tx (search-input-file inputs "bin/tx"))
+ (substitute* "src/cffsubr/__init__.py"
+ (("TX_EXE = \"tx\"")
+ (format #f "TX_EXE = ~s" tx))
+ ;; Use the full 'tx' file name directly.
+ (("with path\\(__name__, TX_EXE) as tx_cli:")
+ "")
+ ((" (return subprocess.run\\(\\[)str\\(tx_cli)(].*)" _ h t)
+ (format #f "~a~s~a" h tx t)))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv")))))))
+ (native-inputs (list python-pytest python-setuptools-scm python-wheel))
+ (inputs (list python-afdko))
+ (propagated-inputs (list python-fonttools))
+ (home-page "https://github.com/adobe-type-tools/cffsubr")
+ (synopsis "Compact Font Format (CFF) subroutinizer")
+ (description "This package provides the @command{cffsubr} command, a
+Compact Font Format (CFF) subroutinizer based on the Adobe Font Development
+Kit for OpenType (AFDKO) @command{tx} tool.")
(license license:asl2.0)))
(define-public python-cu2qu
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 080/232] gnu: Add skia.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (77 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 079/232] gnu: Add python-cffsubr Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 081/232] gnu: Add python-skia-pathops Maxim Cournoyer
` (20 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/graphics.scm (skia): New variable.
---
gnu/packages/graphics.scm | 109 ++++++++++++++++++++++++++++++++++++++
1 file changed, 109 insertions(+)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 50f562abc1..16e182b827 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -55,6 +55,7 @@ (define-module (gnu packages graphics)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages build-tools)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
@@ -88,6 +89,7 @@ (define-module (gnu packages graphics)
#:use-module (gnu packages maths)
#:use-module (gnu packages mp3)
#:use-module (gnu packages multiprecision)
+ #:use-module (gnu packages ninja)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
@@ -1864,6 +1866,113 @@ (define-public coin3D-4
and engineering community.")
(license license:bsd-3)))
+(define-public skia
+ ;; Releases follow those of Chromium, about every 6 weeks. The release
+ ;; version can be found on this page:
+ ;; https://skia.org/docs/user/release/release_notes/. The commit used
+ ;; should be the last commit, as recommended at
+ ;; https://skia.org/docs/user/release/.
+ (let ((version "98")
+ (revision "0")
+ (commit "55c56abac381e1ae3f0116c410bed81b05e0a38a"))
+ (package
+ (name "skia")
+ (version (git-version version revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://skia.googlesource.com/skia.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ldns2j1g2wj2phlxr9zqkdgs5g64pisxhwxcrq9ijn8a3jhafr2"))))
+ (build-system gnu-build-system) ;actually GN + Ninja
+ (arguments
+ (list
+ ;; Running the test suite would require 'dm'; unfortunately the tool
+ ;; can only be built for debug builds, which require fetching third
+ ;; party sources.
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "BUILD.gn"
+ ;; Workaround a bug in the zlib third_party definition, that
+ ;; fails the build even when zlib is found from the system.
+ (("deps = \\[ \"//third_party/zlib\" ]")
+ "deps = []"))
+ (invoke "gn" "gen" "build"
+ (string-append
+ ;;
+ "--args="
+ "cc=\"gcc\" " ;defaults to 'cc'
+ "is_official_build=true " ;to use system libraries
+ "is_component_build=true " ;build as a shared library
+ ;; Specify where locate the harfbuzz and freetype
+ ;; includes.
+ (format #f "extra_cflags=[\"-I~a\",\"-I~a\"] "
+ (search-input-directory inputs
+ "include/harfbuzz")
+ (search-input-directory inputs
+ "include/freetype2"))
+ ;; Otherwise the validate-runpath phase fails.
+ "extra_ldflags=[\"-Wl,-rpath=" #$output "/lib\"] "
+ ;; Disabled, otherwise the build system attempts to
+ ;; download the SDK at build time.
+ "skia_use_dng_sdk=false "))))
+ (replace 'build
+ (lambda* (#:key parallel-build? #:allow-other-keys)
+ (let ((job-count (if parallel-build?
+ (number->string (parallel-job-count))
+ "1")))
+ (invoke "ninja" "-j" job-count "-C" "build"))))
+ (replace 'install
+ (lambda _
+ ;; Install headers.
+ (for-each (lambda (h)
+ (install-file h (string-append
+ #$output "/include/skia/"
+ (dirname h))))
+ (find-files "." "\\.h$"))
+ ;; Install libraries.
+ (for-each (lambda (lib)
+ (install-file lib (string-append #$output "/lib")))
+ (find-files "build" "^lib.*\\.(a|so)"))
+ ;; This pkgconfig file is useful at least to the
+ ;; python-skia-pathops package.
+ (define skia.pc (string-append #$output
+ "/lib/pkgconfig/skia.pc"))
+ (mkdir-p (dirname skia.pc))
+ (call-with-output-file skia.pc
+ (lambda (port)
+ (format port "\
+prefix=~a
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include/skia
+
+Name: skia
+Description: 2D graphic library for drawing text, geometries and images.
+URL: https://skia.org/
+Version: ~a
+Libs: -L${libdir} -lskia
+Cflags: -I${includedir}~%" #$output #$version))))))))
+ (native-inputs (list gn libjpeg-turbo ninja pkg-config python-wrapper))
+ (inputs (list expat fontconfig freetype harfbuzz mesa libwebp zlib))
+ (home-page "https://skia.org/")
+ (synopsis "2D graphics library")
+ (description "Skia is an open source 2D graphics library. It can be
+used for drawing text, geometries, and images and has support for:
+@itemize
+@item 3x3 matrices with perspective
+@item antialiasing, transparency, filters
+@item shaders, xfermodes, maskfilters, patheffects
+@item subpixel text
+@end itemize")
+ (license license:bsd-3))))
+
(define-public superfamiconv
(package
(name "superfamiconv")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 081/232] gnu: Add python-skia-pathops.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (78 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 080/232] gnu: Add skia Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 082/232] gnu: Add python-ufolib2 Maxim Cournoyer
` (19 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/fontutils.scm (python-skia-pathops): New variable.
---
gnu/packages/fontutils.scm | 44 ++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 9d170da953..f2a76b9492 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -573,6 +573,50 @@ (define-public psautohint
can be used to hint PostScript fonts. A Python wrapper is also included.")
(license license:asl2.0)))
+(define-public python-skia-pathops
+ (package
+ (name "python-skia-pathops")
+ (version "0.7.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "skia-pathops" version ".zip"))
+ (modules '((guix build utils)))
+ (snippet '(delete-file-recursively "src/cpp")) ;140+ MiB of stuff
+ (sha256
+ (base32 "1456rclfn6a01c2cchlgyn166zppcjcqij0k5gwmm8gvzsd5rn0r"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'configure-env
+ (lambda _
+ (setenv "BUILD_SKIA_FROM_SOURCE" "0")))
+ (add-after 'unpack 'adjust-c++-language
+ (lambda _
+ ;; Our version of Skia requires c++17.
+ (substitute* "setup.py"
+ (("-std=c\\+\\+14")
+ "-std=c++17"))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv")))))))
+ (native-inputs
+ (list pkg-config
+ python-cython
+ python-pytest
+ python-setuptools-scm
+ unzip))
+ (inputs (list skia))
+ (home-page "https://github.com/fonttools/skia-pathops")
+ (synopsis "Python bindings for the Skia library's Path Ops module")
+ (description "This package provides Python bindings for the Path Ops
+module of the Skia library, performing boolean operations on
+paths (intersection, union, difference, xor).")
+ (license license:bsd-3)))
+
(define-public python-ufoprocessor
(package
(name "python-ufoprocessor")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 082/232] gnu: Add python-ufolib2.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (79 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 081/232] gnu: Add python-skia-pathops Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 083/232] gnu: Add python-compreffor Maxim Cournoyer
` (18 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/fontutils.scm (python-ufolib2): New variable.
---
gnu/packages/fontutils.scm | 46 ++++++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index f2a76b9492..3d8447703f 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -1315,6 +1315,52 @@ (define-public fontforge-20190801
`(("python" ,python-2)
,@(alist-delete "python" (package-inputs fontforge))))))
+(define-public python-ufolib2
+ (package
+ (name "python-ufolib2")
+ (version "0.13.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ufoLib2" version))
+ (sha256
+ (base32 "0yx4i8q5rfyqhr2fj70a7z1bp1jv7bdlr64ww9z4nv9ycbda4x9j"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; XXX: PEP 517 manual build copied from python-isort.
+ (replace 'build
+ (lambda _
+ ;; ZIP does not support timestamps before 1980.
+ (setenv "SOURCE_DATE_EPOCH" "315532800")
+ (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv"))))
+ (replace 'install
+ (lambda _
+ (let ((whl (car (find-files "dist" "\\.whl$"))))
+ (invoke "pip" "--no-cache-dir" "--no-input"
+ "install" "--no-deps" "--prefix" #$output whl)))))))
+ (native-inputs
+ (list python-pypa-build
+ python-pytest
+ python-setuptools-scm
+ python-wheel))
+ (propagated-inputs (list python-attrs python-fonttools-full))
+ (home-page "https://github.com/fonttools/ufoLib2")
+ (synopsis "Unified Font Object (UFO) font processing library")
+ (description "The ufoLib2 Python library is meant to be a thin
+representation of the Unified Font Object (UFO) version 3 data model, intended
+for programmatic manipulation and fast batch processing of UFOs. It resembles
+the defcon library, but does without notifications, the layout engine and
+other support classes. Where useful and possible, ufoLib2 tries to be
+API-compatible with defcon.")
+ (license license:asl2.0)))
+
(define-public python2-ufolib
(package
(name "python2-ufolib")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 083/232] gnu: Add python-compreffor.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (80 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 082/232] gnu: Add python-ufolib2 Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 084/232] gnu: Add python-ufo2ft Maxim Cournoyer
` (17 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/fontutils.scm (python-compreffor): New variable.
---
gnu/packages/fontutils.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 3d8447703f..8ba435aa61 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -322,6 +322,35 @@ (define tx (search-input-file inputs "bin/tx"))
Kit for OpenType (AFDKO) @command{tx} tool.")
(license license:asl2.0)))
+(define-public python-compreffor
+ (package
+ (name "python-compreffor")
+ (version "0.5.1.post1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "compreffor" version))
+ (sha256
+ (base32 "1r3wqd67qnz8p6irv68mvadqv1nklgzw53376iarw3pq4gxrma36"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-setup.py
+ (lambda _
+ (substitute* "setup.py"
+ ;; Not actually needed.
+ ((", \"setuptools_git_ls_files\"") "")))))))
+ (native-inputs (list python-pytest python-pytest-runner
+ python-setuptools-scm))
+ (propagated-inputs (list python-fonttools))
+ (home-page "https://github.com/googlefonts/compreffor")
+ (synopsis "Compact Font Format (CFF) subroutinizer for fontTools")
+ (description "This package provides a Compact Font Format (CFF)
+subroutinizer for fontTools.")
+ (license license:asl2.0)))
+
(define-public python-cu2qu
(package
(name "python-cu2qu")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 084/232] gnu: Add python-ufo2ft.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (81 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 083/232] gnu: Add python-compreffor Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 085/232] gnu: Add python-sfdlib Maxim Cournoyer
` (16 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/fontutils.scm (python-ufo2ft): New variable.
---
gnu/packages/fontutils.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 8ba435aa61..74b10232b8 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -378,6 +378,36 @@ (define-public python-cu2qu
@code{fonts_to_quadratic}.")
(license license:asl2.0)))
+(define-public python-ufo2ft
+ (package
+ (name "python-ufo2ft")
+ (version "2.26.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ufo2ft" version))
+ (sha256
+ (base32 "0a6iq5g6qdxj7nvip8nnf0mf8y5wmpd3wwq0dv7d4nm9bjrh0r6m"))))
+ (build-system python-build-system)
+ (native-inputs (list python-pytest python-pytest-runner))
+ (propagated-inputs
+ (list python-booleanoperations
+ python-cffsubr
+ python-compreffor
+ python-cu2qu
+ python-defcon
+ python-fonttools
+ python-skia-pathops
+ python-ufolib2))
+ (home-page "https://github.com/googlefonts/ufo2ft")
+ (synopsis "Generate OpenType fonts from Unified Font Objects (UFOs)")
+ (description "@code{ufo2ft} (UFO to FontTools) is a fork of @code{ufo2fdk}
+intended to leverage FontTools (a Python library) rather than the Adobe Font
+Development Kit for OpenType (AFDKO), a set of C libraries/utilities so that
+it can be more easily extended. Like @code{ufo2fdk}, its primary purpose is
+to generate OpenType font binaries from Unified Font Objects (UFOs).")
+ (license license:expat)))
+
(define-public python-fontmath
(package
(name "python-fontmath")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 085/232] gnu: Add python-sfdlib.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (82 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 084/232] gnu: Add python-ufo2ft Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 086/232] gnu: Add font-amiri Maxim Cournoyer
` (15 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/fontutils.scm (python-sfdlib): New variable.
---
gnu/packages/fontutils.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 74b10232b8..444d1635cb 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -632,6 +632,28 @@ (define-public psautohint
can be used to hint PostScript fonts. A Python wrapper is also included.")
(license license:asl2.0)))
+(define-public python-sfdlib
+ (package
+ (name "python-sfdlib")
+ (version "1.2.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/aliftype/sfdLib")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1q61km32i1h3cmn8nazcgsbzpm8q2nxp3kq3glqgfgvlxr1s3brm"))))
+ (build-system python-build-system)
+ (propagated-inputs (list python-ufolib2))
+ (home-page "https://github.com/aliftype/sfdLib")
+ (synopsis "Simple SFD to UFO converter")
+ (description "This package provides the @command{sfd2ufo} command, a
+converter from FontForge’s @acronym{SFD, Spline Font Database} fonts to
+@acronym{UFO, Unified Font Object} fonts.")
+ (license license:bsd-3)))
+
(define-public python-skia-pathops
(package
(name "python-skia-pathops")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 086/232] gnu: Add font-amiri.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (83 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 085/232] gnu: Add python-sfdlib Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 087/232] gnu: Add font-sil-ezra Maxim Cournoyer
` (14 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/fonts.scm (font-amiri): New variable.
---
gnu/packages/fonts.scm | 46 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index c37303892b..065153e6cf 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -47,6 +47,7 @@
;;; Copyright © 2022 Kitzman <kitzman@disroot.org>
;;; Copyright © 2021 Wamm K. D. <jaft.r@outlook.com>
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
+;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -69,11 +70,13 @@ (define-module (gnu packages fonts)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix build-system font)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system trivial)
+ #:use-module (gnu packages c)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression)
@@ -695,6 +698,49 @@ (define-public font-tex-gyre
Heros, Pagella, Schola, Termes.")
(license license:gfl1.0)))
+(define-public font-amiri
+ (package
+ (name "font-amiri")
+ (version "0.114")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/aliftype/amiri")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "01d54i68pmy37fhvxv8kld3iqlc1m0vr871zd66y5y4c7kn2v7as"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:imported-modules `(,@%gnu-build-system-modules
+ (guix build font-build-system))
+ #:modules `(,@%gnu-build-system-modules
+ ((guix build font-build-system) #:prefix font:))
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (assoc-ref font:%standard-phases 'install)))))
+ (native-inputs
+ (list python-fonttools
+ python-pcpp
+ python-opentype-sanitizer
+ python-sfdlib
+ python-ufolib2
+ python-ufo2ft
+ python-wrapper))
+ (home-page "https://www.amirifont.org/")
+ (synopsis "Body text Naskh typeface")
+ (description "Amiri (أميري) is a classical Arabic typeface in Naskh style
+for typesetting books and other running text. Amiri is a revival of the
+typeface pioneered in early 20th century by Bulaq Press in Cairo, also known
+as Amiria Press, after which the font is named. The uniqueness of this
+typeface comes from its balance between the beauty of Naskh calligraphy on one
+hand and the constraints and requirements of elegant typography on the
+other.")
+ (license license:silofl1.1)))
+
(define-public font-anonymous-pro
(package
(name "font-anonymous-pro")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 087/232] gnu: Add font-sil-ezra.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (84 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 086/232] gnu: Add font-amiri Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 088/232] gnu: Add texlive-bidi Maxim Cournoyer
` (13 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/fonts.scm (font-sil-ezra): New variable.
---
gnu/packages/fonts.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 065153e6cf..f201e3eab4 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -2041,6 +2041,28 @@ (define-public font-dseg
This package provides the TrueType fonts.")
(license license:silofl1.1)))
+(define-public font-sil-ezra
+ (package
+ (name "font-sil-ezra")
+ (version "2.51")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://software.sil.org/downloads/r/ezra/EzraSIL-"
+ version ".zip"))
+ (sha256
+ (base32
+ "1h8cfrvjdwxk963bw359jdg86bycwyyhvviqy6lwcfj7qhzcnszi"))))
+ (build-system font-build-system)
+ (home-page "https://software.sil.org/ezra/")
+ (synopsis "Biblia Hebraica Stuttgartensia (BHS) typography inspired typeface")
+ (description "Ezra SIL is a typeface fashioned after the square letter
+forms of the typography of the Biblia Hebraica Stuttgartensia (BHS), a
+beautiful Old Testament volume familiar to Biblical Hebrew scholars. This
+font package provides @code{Ezra SIL} as well as @code{Ezra SIL SR}, which has
+a different style of marking.")
+ (license license:expat)))
+
(define-public font-jetbrains-mono
(package
(name "font-jetbrains-mono")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 088/232] gnu: Add texlive-bidi.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (85 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 087/232] gnu: Add font-sil-ezra Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 089/232] gnu: Add font-gfs-ambrosia Maxim Cournoyer
` (12 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/tex.scm (texlive-bidi): New variable.
---
gnu/packages/tex.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 1ebaceb322..6fc1d4fdbf 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -561,6 +561,52 @@ (define (substitute-commands scripts)
(license (license:fsf-free "https://www.tug.org/texlive/copying.html"))
(home-page "https://www.tug.org/texlive/")))
+(define-public texlive-bidi
+ (package
+ (name "texlive-bidi")
+ ;; Take the version from texlive-2022.0 as the one from texlive 2021.0 is
+ ;; buggy.
+ (version "36.4")
+ (source (origin
+ (method svn-multi-fetch)
+ (uri (svn-multi-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ "texlive-2022.0/Master/texmf-dist"))
+ (locations (list "doc/xelatex/bidi/"
+ "source/xelatex/bidi/"))
+ (revision 62885)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "09nfvsjfnms3pclyd2rcivyb5qvzw48b934i3bcl83hv69ix2ks7"))))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (arguments
+ (list
+ #:tex-directory "xelatex/bidi"
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _
+ (chdir "source/xelatex/bidi")))
+ (add-after 'install 'install-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((doc (string-append (assoc-ref outputs "doc")
+ "/share/texmf-dist/doc")))
+ (mkdir-p doc)
+ (copy-recursively (string-append #$source "/doc")
+ doc)))))))
+ (propagated-inputs (list texlive-generic-iftex
+ texlive-generic-ltxcmds
+ texlive-hyperref
+ texlive-latex-xkeyval
+ texlive-zref))
+ (home-page "https://ctan.org/pkg/bidi")
+ (synopsis "Bidirectional typesetting in plain TeX and LaTeX using XeTeX")
+ (description "The @code{bidi} package provides a convenient interface for
+typesetting bidirectional texts with plain TeX and LaTeX. The package
+includes adaptations for use with many other commonly-used packages.")
+ (license license:lppl1.3+)))
+
(define-public texlive-libkpathsea
(package/inherit texlive-bin
(name "texlive-libkpathsea")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 089/232] gnu: Add font-gfs-ambrosia.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (86 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 088/232] gnu: Add texlive-bidi Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 090/232] gnu: python-click: Update to 8.1.2 and honor TESTS? Maxim Cournoyer
` (11 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/fonts.scm (font-gfs-ambrosia): New variable.
---
gnu/packages/fonts.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index f201e3eab4..46d9872df1 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -269,6 +269,29 @@ (define-public font-lato
50 Cyrillic-based languages as well as Greek and IPA phonetics.")
(license license:silofl1.1)))
+(define-public font-gfs-ambrosia
+ ;; Based on
+ ;; https://src.fedoraproject.org/rpms/gfs-ambrosia-fonts
+ ;; /blob/rawhide/f/gfs-ambrosia-fonts.spec.
+ (package
+ (name "font-gfs-ambrosia")
+ (version "20080624")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.greekfontsociety-gfs.gr/"
+ "_assets/fonts/GFS_Ambrosia.zip"))
+ (sha256
+ (base32
+ "0vnnsal61slgj9r4q35wiznd4mbcv49dl18n91s3nvv6jzd4r8b4"))))
+ (build-system font-build-system)
+ (home-page "https://www.greekfontsociety-gfs.gr/")
+ (synopsis "GFS Ambrosia, a Greek majuscule font family")
+ (description "GFS Ambrosia is a Greek typeface that has the main
+characteristics of the majuscule forms of the early Christian tradition. The
+font is provided in the OpenType font (OTF) format.")
+ (license license:silofl1.1)))
+
(define-public font-gnu-freefont
(package
(name "font-gnu-freefont")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 090/232] gnu: python-click: Update to 8.1.2 and honor TESTS?.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (87 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 089/232] gnu: Add font-gfs-ambrosia Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 091/232] gnu: python-flask: Update to 2.1.1 Maxim Cournoyer
` (10 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-click): Update to 8.1.2.
[phases]{fix-paths}: Remove obsolete phase.
{check}: Invoke pytest directly and honor TESTS?.
(python2-click): Delete variable.
---
gnu/packages/python-xyz.scm | 22 ++++++----------------
1 file changed, 6 insertions(+), 16 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a7f9d6e4be..a6e9f64ff3 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -3503,30 +3503,23 @@ (define-public python-cli-helpers
(define-public python-click
(package
(name "python-click")
- (version "7.1.2")
+ (version "8.1.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "click" version))
(sha256
(base32
- "06kbzd6sjfkqan3miwj9wqyddfxc2b6hi7p5s4dvqjb3gif2bdfj"))))
+ "0whs38a2i0561kwbgigs6vic9r0a1887m2v1aw3rmv6r2kz0g5s7"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'fix-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((glibc (assoc-ref inputs ,(if (%current-target-system)
- "cross-libc" "libc"))))
- (substitute* "src/click/_unicodefun.py"
- (("'locale'")
- (string-append "'" glibc "/bin/locale'"))))))
(replace 'check
- (lambda _
- (invoke "python" "-m" "pytest"))))))
- (native-inputs
- (list python-pytest))
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv")))))))
+ (native-inputs (list python-pytest))
(home-page "https://palletsprojects.com/p/click/")
(synopsis "Command line library for Python")
(description
@@ -3536,9 +3529,6 @@ (define-public python-click
with sensible defaults out of the box.")
(license license:bsd-3)))
-(define-public python2-click
- (package-with-python2 python-click))
-
(define-public python-click-5
(package (inherit python-click)
(name "python-click")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 091/232] gnu: python-flask: Update to 2.1.1.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (88 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 090/232] gnu: python-click: Update to 8.1.2 and honor TESTS? Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 092/232] gnu: Add python-untangle Maxim Cournoyer
` (9 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-web.scm (python-flask): Update to 2.1.1.
[propagated-inputs]: Add python-asgiref and python-importlib-metadata.
[home-page]: Update.
---
gnu/packages/python-web.scm | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 7e333916b6..161b50b1b6 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -2991,13 +2991,13 @@ (define-public python-webtest
(define-public python-flask
(package
(name "python-flask")
- (version "2.0.2")
+ (version "2.1.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "Flask" version))
(sha256
(base32
- "1qilnrdakhbw5k951kczdy8ia0wczh0dpp1vi4qhgmfx6klvhbvv"))))
+ "1j0rjly2yhbm566lq2s8543fs7fz86f77abps539djcfalzbvjd8"))))
(build-system python-build-system)
(arguments
'(#:phases
@@ -3009,8 +3009,13 @@ (define-public python-flask
(native-inputs
(list python-pytest))
(propagated-inputs
- (list python-itsdangerous python-jinja2 python-click python-werkzeug))
- (home-page "https://www.palletsprojects.com/p/flask/")
+ (list python-asgiref ;async extra
+ python-click
+ python-importlib-metadata
+ python-itsdangerous
+ python-jinja2
+ python-werkzeug))
+ (home-page "https://palletsprojects.com/p/flask/")
(synopsis "Microframework based on Werkzeug, Jinja2 and good intentions")
(description "Flask is a micro web framework based on the Werkzeug toolkit
and Jinja2 template engine. It is called a micro framework because it does not
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 092/232] gnu: Add python-untangle.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (89 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 091/232] gnu: python-flask: Update to 2.1.1 Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 093/232] gnu: python-black: Update to 22.3.0 Maxim Cournoyer
` (8 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/xml.scm (python-untangle): New variable.
---
gnu/packages/xml.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index db004c11b6..a0d8d20102 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -72,6 +72,7 @@ (define-module (gnu packages xml)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
#:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
@@ -2544,6 +2545,35 @@ (define-public python-lxml-4.7
(define-public python2-lxml
(package-with-python2 python-lxml))
+(define-public python-untangle
+ ;; The latest tagged release is from 2014; use the latest commit.
+ (let ((revision "1")
+ (commit "fb916a9621175d000a3b0ca9322d3b3ebf8570c0"))
+ (package
+ (name "python-untangle")
+ ;; PyPI currently offers some untagged 1.1.1 version.
+ (version (git-version "1.1.1" revision commit))
+ (source
+ (origin
+ (method git-fetch) ;no tests in pypi archive
+ (uri (git-reference
+ (url "https://github.com/stchris/untangle")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0dn2jz9ajncbqx3pdlgqaxmngl6pdiaz03nj8mkddasckdq9lbrh"))))
+ (build-system python-build-system)
+ (arguments (list #:phases #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python" "tests/tests.py")))))))
+ (home-page "http://0chris.com/untangle")
+ (synopsis "XML to Python objects conversion library")
+ (description "@code{untangle} is a tiny Python library which converts an
+XML document to a Python object.")
+ (license license:expat))))
+
(define-public python-xmlschema
(package
(name "python-xmlschema")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 093/232] gnu: python-black: Update to 22.3.0.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (90 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 092/232] gnu: Add python-untangle Maxim Cournoyer
@ 2022-04-25 3:56 ` Maxim Cournoyer
2022-04-25 3:57 ` [bug#55104] [PATCH 094/232] gnu: pylint: Run tests in parallel Maxim Cournoyer
` (7 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:56 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-black): Update to 22.3.0.
[phases]{relax-version-requirements}: Delete phase.
{use-absolute-file-names}: Streamline phase.
{disable-broken-tests, remove-entrypoint}: Delete phases.
---
gnu/packages/python-xyz.scm | 39 ++++---------------------------------
1 file changed, 4 insertions(+), 35 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a6e9f64ff3..96a04009bc 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5415,58 +5415,27 @@ (define-public python-pathspec
(define-public python-black
(package
(name "python-black")
- (version "21.12b0")
+ (version "22.3.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "black" version))
(sha256
(base32
- "1czjwr1bx9ax5l64xfi54sxb1ycdy4s9ciaqg592x7jn79lhzf3p"))))
+ "0yfahlqc7dsdp1js0cbv706apldnfnlbal9b53cww8n0hs40n0im"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
- ;; XXX Remove this when updating this package:
- ;; https://github.com/psf/black/issues/2703#issuecomment-1004752142
- (add-after 'unpack 'relax-version-requirements
- (lambda _
- (substitute* "setup.py"
- (("tomli[^\"]*\",")
- "tomli\","))))
(add-after 'patch-source-shebangs 'use-absolute-file-names
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(let* ((inpts (or native-inputs inputs))
- (python3 (search-input-file inpts "/bin/python3"))
- (/bin/false (search-input-file inpts "/bin/false"))
- (/bin/sleep (search-input-file inpts "/bin/sleep")))
+ (python3 (search-input-file inpts "/bin/python3")))
(substitute* (find-files "tests" "\\.py$")
(("#!/usr/bin/env python3(\\.[0-9]+)?" _ minor-version)
(string-append "#!" python3 (if (string? minor-version)
minor-version
- ""))))
- (substitute* "tests/test_primer.py"
- (("/bin/false") /bin/false)
- (("/bin/sleep") /bin/sleep)))))
- (add-after 'unpack 'disable-broken-tests
- (lambda* (#:key outputs inputs #:allow-other-keys)
- ;; Make installed package available for running the tests
- (setenv "PATH" (string-append (assoc-ref outputs "out") "/bin"
- ":" (getenv "PATH")))
-
- ;; The source formatting test fails because we patch various
- ;; files; just disable it.
- (substitute* "tests/test_format.py"
- (("def test_source_is_formatted" all)
- (format #f "@pytest.mark.skip(\"Disabled by Guix.\")\n~a"
- all)))))
- ;; Remove blackd, because it depends on python-aiohttp and
- ;; python-aiohttp-cors.
- (add-after 'unpack 'remove-entrypoint
- (lambda _
- (substitute* "setup.py"
- (("\\s*\"blackd=blackd:patched_main \\[d\\]\",\n") "")
- (("\"blackd\", ") ""))))
+ "")))))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests? (invoke "pytest" "-vv")))))))
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 094/232] gnu: pylint: Run tests in parallel.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (91 preceding siblings ...)
2022-04-25 3:56 ` [bug#55104] [PATCH 093/232] gnu: python-black: Update to 22.3.0 Maxim Cournoyer
@ 2022-04-25 3:57 ` Maxim Cournoyer
2022-04-25 3:57 ` [bug#55104] [PATCH 095/232] gnu: python-trio: Update to 0.20.0 Maxim Cournoyer
` (6 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:57 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/check.scm (python-pylint)
[phases]{check}: Add the '-n' option to use xdist with pytest.
[native-inputs]: Add python-pytest-xdist.
---
gnu/packages/check.scm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index b7a5a9bd46..005a3bde7c 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -2532,9 +2532,10 @@ (define-public python-pylint
(delete-file "tests/primer/test_primer_external.py")
(delete-file "tests/testutils/test_package_to_lint.py")
(setenv "HOME" "/tmp")
- (invoke "pytest" "-k" "test_functional")))))))
+ (invoke "pytest" "-k" "test_functional"
+ "-n" (number->string (parallel-job-count)))))))))
(native-inputs
- (list python-pytest))
+ (list python-pytest python-pytest-xdist))
(propagated-inputs
(list python-astroid
python-isort
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 095/232] gnu: python-trio: Update to 0.20.0.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (92 preceding siblings ...)
2022-04-25 3:57 ` [bug#55104] [PATCH 094/232] gnu: pylint: Run tests in parallel Maxim Cournoyer
@ 2022-04-25 3:57 ` Maxim Cournoyer
2022-04-25 3:57 ` [bug#55104] [PATCH 096/232] gnu: Add python-pydevd Maxim Cournoyer
` (5 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:57 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-trio): Update to 0.20.0.
[phases]{patch-sleep}: New phase.
[change-home]: Delete trailing #t.
{check}: Run tests in parallel. Disable the
test_cancel_scope_exit_doesnt_create_cyclic_garbage, test_ipython_exc_handler,
test_for_leaking_fds and test_static_tool_sees_all_symbols tests.
[native-inputs]: Add python-pytest-xdist.
---
gnu/packages/python-xyz.scm | 24 ++++++++++++++++++------
1 file changed, 18 insertions(+), 6 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 96a04009bc..d987c9cbcd 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -24380,26 +24380,32 @@ (define-public python-outcome
(define-public python-trio
(package
(name "python-trio")
- (version "0.19.0")
+ (version "0.20.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "trio" version))
(sha256
- (base32 "1qgg4zhca81dxc1nlmcr5pl1bclmvdp3niqbyslwxs65bs732pl9"))))
+ (base32 "0w30cwmdwfa8zq2agqv3h62jzwwsk7ms8f683ag8f3jx279m42k7"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'patch-sleep
+ (lambda _
+ (substitute* "trio/tests/test_subprocess.py"
+ (("/bin/sleep")
+ (which "sleep")))))
(add-before 'check 'change-home
(lambda _
;; Tests require a writable home.
- (setenv "HOME" "/tmp")
- #t))
+ (setenv "HOME" "/tmp")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
- (invoke "pytest" "-vv" "-k"
+ (invoke "pytest" "-vv"
+ "-n" (number->string (parallel-job-count))
+ "-k"
(string-append
;; This test times out.
"not test_ki_protection_works"
@@ -24408,7 +24414,10 @@ (define-public python-trio
" and not test_run_in_trio_thread_ki"
" and not test_simple_cancel_scope_usage_doesnt_create_cyclic_garbage"
" and not test_nursery_cancel_doesnt_create_cyclic_garbage"
+ " and not test_cancel_scope_exit_doesnt_create_cyclic_garbage"
" and not test_locals_destroyed_promptly_on_cancel"
+ " and not test_ipython_exc_handler"
+ " and not test_for_leaking_fds"
;; These try to raise KeyboardInterrupt which does not work
;; in the build environment.
" and not test_ki_self"
@@ -24417,7 +24426,9 @@ (define-public python-trio
" and not test_getnameinfo"
" and not test_SocketType_resolve"
;; OSError: protocol not found.
- " and not test_getprotobyname"))))))))
+ " and not test_getprotobyname"
+ ;; EOFError: Ran out of input.
+ " and not test_static_tool_sees_all_symbols"))))))))
(native-inputs
(list python-astor
python-ipython
@@ -24425,6 +24436,7 @@ (define-public python-trio
python-pylint
python-pyopenssl
python-pytest
+ python-pytest-xdist
python-pytest-cov
python-trustme))
(propagated-inputs
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 096/232] gnu: Add python-pydevd.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (93 preceding siblings ...)
2022-04-25 3:57 ` [bug#55104] [PATCH 095/232] gnu: python-trio: Update to 0.20.0 Maxim Cournoyer
@ 2022-04-25 3:57 ` Maxim Cournoyer
2022-04-25 3:57 ` [bug#55104] [PATCH 097/232] gnu: Add python-debugpy Maxim Cournoyer
` (4 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:57 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-pydevd): New variable.
---
gnu/packages/python-xyz.scm | 102 ++++++++++++++++++++++++++++++++++++
1 file changed, 102 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d987c9cbcd..83c2d472c9 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -157,6 +157,7 @@ (define-module (gnu packages python-xyz)
#:use-module (gnu packages file)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages gdb)
#:use-module (gnu packages gcc)
#:use-module (gnu packages geo)
#:use-module (gnu packages ghostscript)
@@ -13016,6 +13017,107 @@ (define-public python-file
(define-public python2-file
(package-with-python2 python-file))
+(define-public python-pydevd
+ ;; Use the latest commit, which includes cleanups that removes Python 2
+ ;; syntax that would fail to build.
+ (let ((revision "0")
+ (commit "47e298499ef19563bb2ef5941a57046a35ae6868"))
+ (package
+ (name "python-pydevd")
+ (version (git-version "2.8.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fabioz/PyDev.Debugger")
+ (commit commit)))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ ;; Delete pre-built binaries.
+ (for-each delete-file (find-files "." "\\.(so|dylib|dll)"))
+ ;; This source is generated via Cython.
+ (delete-file "_pydevd_bundle/pydevd_cython.c")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1yd017dh6xgxrqcyf8kk8jrr0a3zw895yfjih0z5jghyf0rck38q"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-tests
+ (lambda _
+ (substitute* "tests_python/test_convert_utilities.py"
+ ;; Add missing trailing '/'.
+ (("'\\\\\\\\usr\\\\\\\\bin\\\\\\\\') == '/usr/bin" all)
+ (string-append all "/")))))
+ (add-after 'unpack 'patch-command-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "_pydevd_bundle/pydevd_api.py"
+ (("'kill'")
+ (format #f "~s" (search-input-file inputs "bin/kill")))
+ (("'pgrep'")
+ (format #f "~s" (search-input-file inputs "bin/pgrep"))))))
+ (add-after 'unpack 'generate-sources
+ (lambda _
+ (setenv "PYTHONPATH" (getcwd))
+ (invoke "python" "build_tools/build.py")))
+ (add-after 'unpack 'adjust-attach-binary-name
+ (lambda _
+ (substitute*
+ '("pydevd_tracing.py"
+ "pydevd_attach_to_process/add_code_to_python_process.py")
+ (("def get_(target|python_helper_lib)_filename.*" all)
+ (format #f "~a return ~s~%" all
+ (string-append #$output "/lib/attach.so"))))))
+ (add-after 'unpack 'patch-gdb
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute*
+ "pydevd_attach_to_process/add_code_to_python_process.py"
+ (("'gdb',")
+ (format #f "~s," (search-input-file inputs "bin/gdb"))))))
+ (add-after 'build 'build-attach-linux-binary
+ (lambda _
+ (invoke #+(cxx-for-target) "-shared" "-o" "attach.so"
+ "-fPIC" "-nostartfiles"
+ "pydevd_attach_to_process/linux_and_mac/attach.cpp")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "PYDEVD_USE_CYTHON" "YES")
+ (invoke "pytest" "-vv"
+ "-n" (number->string (parallel-job-count))
+ "-k"
+ (string-append
+ ;; the GUI event loop requires an X server.
+ "not test_gui_event_loop_custom "
+ ;; This test validates that 'pydevd' is not in the
+ ;; exception message, but it is due to being part
+ ;; of the build file name present in the message.
+ "and not test_evaluate_exception_trace")))))
+ (add-after 'install 'install-attach-binary
+ (lambda _
+ (install-file "attach.so"
+ (string-append #$output "/lib"))))
+ ;; Some modules aren't designed to be loadable by themselves, such
+ ;; as 'pydev_app_engine_debug_startup' and fail.
+ (delete 'sanity-check))))
+ (native-inputs
+ (list python-cython
+ python-numpy
+ python-psutil
+ python-pytest
+ python-pytest-xdist
+ python-trio
+ python-untangle))
+ (inputs (list coreutils gdb procps))
+ (home-page "https://github.com/fabioz/PyDev.Debugger/")
+ (synopsis "Python debugger")
+ (description "PyDev.Debugger is a capable Python debugger used in PyDev
+and other @acronym{IDEs, Integrated Development Environments}.")
+ (license license:epl1.0))))
+
(define-public python-debian
(package
(name "python-debian")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 097/232] gnu: Add python-debugpy.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (94 preceding siblings ...)
2022-04-25 3:57 ` [bug#55104] [PATCH 096/232] gnu: Add python-pydevd Maxim Cournoyer
@ 2022-04-25 3:57 ` Maxim Cournoyer
2022-04-25 3:57 ` [bug#55104] [PATCH 098/232] gnu: python-greenlet: Update to 1.1.2 Maxim Cournoyer
` (3 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:57 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-debugpy): New variable.
* gnu/packages/patches/python-debugpy-unbundle-pydevd.patch: New file.
* gnu/local.mk: Register it.
---
gnu/local.mk | 1 +
.../python-debugpy-unbundle-pydevd.patch | 254 ++++++++++++++++++
gnu/packages/python-xyz.scm | 72 +++++
3 files changed, 327 insertions(+)
create mode 100644 gnu/packages/patches/python-debugpy-unbundle-pydevd.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 702c430623..0cad8fc7fa 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1679,6 +1679,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-argcomplete-1.11.1-fish31.patch \
%D%/packages/patches/python-cross-compile.patch \
%D%/packages/patches/python-configobj-setuptools.patch \
+ %D%/packages/patches/python-debugpy-unbundle-pydevd.patch \
%D%/packages/patches/python-docopt-pytest6-compat.patch \
%D%/packages/patches/python-execnet-read-only-fix.patch \
%D%/packages/patches/python-fixtures-remove-monkeypatch-test.patch \
diff --git a/gnu/packages/patches/python-debugpy-unbundle-pydevd.patch b/gnu/packages/patches/python-debugpy-unbundle-pydevd.patch
new file mode 100644
index 0000000000..7a6ad54489
--- /dev/null
+++ b/gnu/packages/patches/python-debugpy-unbundle-pydevd.patch
@@ -0,0 +1,254 @@
+Allow using pydevd as a regular dependency.
+Submitted upstream at: https://github.com/microsoft/debugpy/pull/902
+
+diff --git a/setup.py b/setup.py
+index 5fc40070..3a530a29 100644
+--- a/setup.py
++++ b/setup.py
+@@ -11,6 +11,9 @@ import subprocess
+ import sys
+
+
++DEBUGPY_BUNDLING_DISABLED = bool(os.getenv('DEBUGPY_BUNDLING_DISABLED'))
++
++
+ sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
+ import versioneer # noqa
+
+@@ -18,12 +21,15 @@ del sys.path[0]
+
+ sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), "src"))
+ import debugpy
+-import debugpy._vendored
++
++if not DEBUGPY_BUNDLING_DISABLED:
++ import debugpy._vendored
+
+ del sys.path[0]
+
+
+-PYDEVD_ROOT = debugpy._vendored.project_root("pydevd")
++PYDEVD_ROOT = (None if DEBUGPY_BUNDLING_DISABLED else
++ debugpy._vendored.project_root("pydevd"))
+ DEBUGBY_ROOT = os.path.dirname(os.path.abspath(debugpy.__file__))
+
+
+@@ -67,7 +73,7 @@ def iter_vendored_files():
+ # relevant setuptools versions.
+ class ExtModules(list):
+ def __bool__(self):
+- return True
++ return not DEBUGPY_BUNDLING_DISABLED
+
+
+ def override_build(cmds):
+@@ -133,9 +139,24 @@ with open("DESCRIPTION.md", "r") as fh:
+
+
+ if __name__ == "__main__":
+- if not os.getenv("SKIP_CYTHON_BUILD"):
++ if not (os.getenv("SKIP_CYTHON_BUILD") or DEBUGPY_BUNDLING_DISABLED):
+ cython_build()
+
++ # Etch bundling status in the source.
++ if debugpy.__bundling_disabled__ != DEBUGPY_BUNDLING_DISABLED:
++
++ with open(os.path.join(DEBUGBY_ROOT, '__init__.py'), 'r') as f:
++ lines = f.readlines()
++ with open(os.path.join(DEBUGBY_ROOT, '__init__.py'), 'w') as f:
++ edited = []
++ for line in lines:
++ if line.startswith('__bundling_disabled__'):
++ edited.append(
++ f'__bundling_disabled__ = {DEBUGPY_BUNDLING_DISABLED}\n')
++ else:
++ edited.append(line)
++ f.writelines(edited)
++
+ extras = {}
+ platforms = get_buildplatform()
+ if platforms is not None:
+@@ -145,6 +166,18 @@ if __name__ == "__main__":
+ override_build(cmds)
+ override_build_py(cmds)
+
++ data = {"debugpy": ["ThirdPartyNotices.txt"]}
++ packages = [
++ "debugpy",
++ "debugpy.adapter",
++ "debugpy.common",
++ "debugpy.launcher",
++ "debugpy.server",
++ ]
++ if not DEBUGPY_BUNDLING_DISABLED:
++ data.update({"debugpy._vendored": list(iter_vendored_files())})
++ packages.append("debugpy._vendored")
++
+ setuptools.setup(
+ name="debugpy",
+ version=versioneer.get_version(),
+@@ -173,20 +206,10 @@ if __name__ == "__main__":
+ "License :: OSI Approved :: MIT License",
+ ],
+ package_dir={"": "src"},
+- packages=[
+- "debugpy",
+- "debugpy.adapter",
+- "debugpy.common",
+- "debugpy.launcher",
+- "debugpy.server",
+- "debugpy._vendored",
+- ],
+- package_data={
+- "debugpy": ["ThirdPartyNotices.txt"],
+- "debugpy._vendored": list(iter_vendored_files()),
+- },
++ packages=packages,
++ package_data=data,
+ ext_modules=ExtModules(),
+- has_ext_modules=lambda: True,
++ has_ext_modules=lambda: not DEBUGPY_BUNDLING_DISABLED,
+ cmdclass=cmds,
+ **extras
+ )
+diff --git a/src/debugpy/__init__.py b/src/debugpy/__init__.py
+index baa5a7c5..7b7a29aa 100644
+--- a/src/debugpy/__init__.py
++++ b/src/debugpy/__init__.py
+@@ -206,6 +206,8 @@ def trace_this_thread(should_trace):
+
+ __version__ = _version.get_versions()["version"]
+
++__bundling_disabled__ = False
++
+ # Force absolute path on Python 2.
+ __file__ = os.path.abspath(__file__)
+
+diff --git a/src/debugpy/server/__init__.py b/src/debugpy/server/__init__.py
+index e6a1ad66..5f29a87a 100644
+--- a/src/debugpy/server/__init__.py
++++ b/src/debugpy/server/__init__.py
+@@ -4,6 +4,50 @@
+
+ from __future__ import absolute_import, division, print_function, unicode_literals
+
++from importlib import import_module
++import os
++
+ # "force_pydevd" must be imported first to ensure (via side effects)
+ # that the debugpy-vendored copy of pydevd gets used.
+-import debugpy._vendored.force_pydevd # noqa
++import debugpy
++if debugpy.__bundling_disabled__:
++ # Do what force_pydevd.py does, but using the system-provided
++ # pydevd.
++
++ # XXX: This is copied here so that the whole '_vendored' directory
++ # can be deleted when DEBUGPY_BUNDLING_DISABLED is set.
++
++ # If debugpy logging is enabled, enable it for pydevd as well
++ if "DEBUGPY_LOG_DIR" in os.environ:
++ os.environ[str("PYDEVD_DEBUG")] = str("True")
++ os.environ[str("PYDEVD_DEBUG_FILE")] = \
++ os.environ["DEBUGPY_LOG_DIR"] + str("/debugpy.pydevd.log")
++
++ # Work around https://github.com/microsoft/debugpy/issues/346.
++ # Disable pydevd frame-eval optimizations only if unset, to allow opt-in.
++ if "PYDEVD_USE_FRAME_EVAL" not in os.environ:
++ os.environ[str("PYDEVD_USE_FRAME_EVAL")] = str("NO")
++
++ # Constants must be set before importing any other pydevd module
++ # due to heavy use of "from" in them.
++ pydevd_constants = import_module('_pydevd_bundle.pydevd_constants')
++ # The default pydevd value is 1000.
++ pydevd_constants.MAXIMUM_VARIABLE_REPRESENTATION_SIZE = 2 ** 32
++
++ # When pydevd is imported it sets the breakpoint behavior, but it needs to be
++ # overridden because by default pydevd will connect to the remote debugger using
++ # its own custom protocol rather than DAP.
++ import pydevd # noqa
++ import debugpy # noqa
++
++ def debugpy_breakpointhook():
++ debugpy.breakpoint()
++
++ pydevd.install_breakpointhook(debugpy_breakpointhook)
++
++ # Ensure that pydevd uses JSON protocol
++ from _pydevd_bundle import pydevd_constants
++ from _pydevd_bundle import pydevd_defaults
++ pydevd_defaults.PydevdCustomization.DEFAULT_PROTOCOL = pydevd_constants.HTTP_JSON_PROTOCOL
++else:
++ import debugpy._vendored.force_pydevd # noqa
+diff --git a/src/debugpy/server/attach_pid_injected.py b/src/debugpy/server/attach_pid_injected.py
+index e6345996..87cfdd53 100644
+--- a/src/debugpy/server/attach_pid_injected.py
++++ b/src/debugpy/server/attach_pid_injected.py
+@@ -8,6 +8,7 @@ from __future__ import absolute_import, division, print_function, unicode_litera
+
+ import os
+
++import debugpy
+
+ __file__ = os.path.abspath(__file__)
+ _debugpy_dir = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
+@@ -30,25 +31,29 @@ def attach(setup):
+ def on_critical(msg):
+ print(msg, file=sys.stderr)
+
+- pydevd_attach_to_process_path = os.path.join(
+- _debugpy_dir,
+- "debugpy",
+- "_vendored",
+- "pydevd",
+- "pydevd_attach_to_process",
+- )
+- assert os.path.exists(pydevd_attach_to_process_path)
+- sys.path.insert(0, pydevd_attach_to_process_path)
+-
+- # NOTE: that it's not a part of the pydevd PYTHONPATH
+- import attach_script
++ if debugpy.__bundling_disabled__:
++ from pydevd_attach_to_process import attach_script
++ else:
++ pydevd_attach_to_process_path = os.path.join(
++ _debugpy_dir,
++ "debugpy",
++ "_vendored",
++ "pydevd",
++ "pydevd_attach_to_process",
++ )
++ assert os.path.exists(pydevd_attach_to_process_path)
++ sys.path.insert(0, pydevd_attach_to_process_path)
++
++ # NOTE: that it's not a part of the pydevd PYTHONPATH
++ import attach_script
+
+ attach_script.fix_main_thread_id(
+ on_warn=on_warn, on_exception=on_exception, on_critical=on_critical
+ )
+
+- # NOTE: At this point it should be safe to remove this.
+- sys.path.remove(pydevd_attach_to_process_path)
++ if not debugpy.__bundling_disabled__:
++ # NOTE: At this point it should be safe to remove this.
++ sys.path.remove(pydevd_attach_to_process_path)
+ except:
+ import traceback
+
+diff --git a/tests/tests/test_vendoring.py b/tests/tests/test_vendoring.py
+index dd6c4269..28c03702 100644
+--- a/tests/tests/test_vendoring.py
++++ b/tests/tests/test_vendoring.py
+@@ -1,3 +1,8 @@
++import pytest
++
++import debugpy
++
++@pytest.mark.skipif(debugpy.__bundling_disabled__, reason='Bundling disabled')
+ def test_vendoring(pyfile):
+ @pyfile
+ def import_debugpy():
+--
+2.34.0
+
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 83c2d472c9..d7a9603e02 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -13118,6 +13118,78 @@ (define-public python-pydevd
and other @acronym{IDEs, Integrated Development Environments}.")
(license license:epl1.0))))
+(define-public python-debugpy
+ (package
+ (name "python-debugpy")
+ (version "1.6.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference ;no tests in PyPI archive
+ (url "https://github.com/microsoft/debugpy")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (modules '((guix build utils)))
+ ;; Remove the bundled PyDev-Debugger copy, including its pre-built
+ ;; attach binary.
+ (snippet '(delete-file-recursively "src/debugpy/_vendored"))
+ (patches (search-patches "python-debugpy-unbundle-pydevd.patch"))
+ (sha256
+ (base32
+ "1dpfzs3p51648i7f3fz8dw5d0vrj39iwn1jhn0226idc02ybyqih"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-sh-in-tests
+ (lambda _
+ (substitute* "tests/debugpy/test_run.py"
+ (("#!/bin/sh")
+ (string-append "#!" (which "sh"))))))
+ (add-after 'unpack 'fix-version
+ ;; Versioneer is useless when there is no git metadata.
+ (lambda _
+ (substitute* "setup.py"
+ (("version=versioneer.get_version\\(),")
+ (format #f "version=~s," #$version)))))
+ (add-before 'build 'configure
+ (lambda _
+ ;; This adjusts the behavior of debugpy to load pydevd from
+ ;; Python site packages.
+ (setenv "DEBUGPY_BUNDLING_DISABLED" "1")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (invoke "pytest" "-vv"
+ "-n" (number->string (parallel-job-count))
+ "-k"
+ (string-append
+ ;; These tests cannot be run in parallel because their
+ ;; test data would not be copied by xdist and lead to
+ ;; import errors. (see:
+ ;; https://github.com/microsoft/debugpy/issues/342 and
+ ;; https://github.com/microsoft/debugpy/issues/880).
+ "not test_custom_python_args "
+ "and not test_autokill ")))))))
+ (native-inputs
+ ;; See: https://raw.githubusercontent.com/microsoft/debugpy/
+ ;; main/tests/requirements.txt.
+ (list python-django
+ python-gevent
+ python-flask
+ python-psutil
+ python-pytest
+ python-pytest-cov
+ python-pytest-timeout
+ python-pytest-xdist
+ python-requests))
+ (propagated-inputs (list python-pydevd))
+ (home-page "https://aka.ms/debugpy")
+ (synopsis "Debug Adapter Protocol Python implementation")
+ (description "An implementation of the Debug Adapter Protocol for
+Python.")
+ (license license:expat)))
+
(define-public python-debian
(package
(name "python-debian")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 098/232] gnu: python-greenlet: Update to 1.1.2.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (95 preceding siblings ...)
2022-04-25 3:57 ` [bug#55104] [PATCH 097/232] gnu: Add python-debugpy Maxim Cournoyer
@ 2022-04-25 3:57 ` Maxim Cournoyer
2022-04-25 3:57 ` [bug#55104] [PATCH 099/232] gnu: Add python-pytest-forked-next Maxim Cournoyer
` (2 subsequent siblings)
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:57 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-greenlet): Update to 1.1.2.
---
gnu/packages/python-xyz.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index d7a9603e02..ce0172e59f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -16692,13 +16692,13 @@ (define-public python-tftpy
(define-public python-greenlet
(package
(name "python-greenlet")
- (version "1.1.1")
+ (version "1.1.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "greenlet" version))
(sha256
(base32
- "10gllbrcbazxck84nr7dw3js3gq0rxrsr4kkvy5hg542rms2gwn0"))))
+ "0jkln5bf6rq7dbvpv7ypin3pp9jqd2jr91yyxlnfcii3msj5w3z3"))))
(build-system python-build-system)
(home-page "https://greenlet.readthedocs.io/")
(synopsis "Lightweight in-process concurrent programming")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 099/232] gnu: Add python-pytest-forked-next.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (96 preceding siblings ...)
2022-04-25 3:57 ` [bug#55104] [PATCH 098/232] gnu: python-greenlet: Update to 1.1.2 Maxim Cournoyer
@ 2022-04-25 3:57 ` Maxim Cournoyer
2022-04-25 3:57 ` [bug#55104] [PATCH 100/232] gnu: python-pytest-xdist-next: Update to 2.5.0 Maxim Cournoyer
2022-04-25 3:57 ` [bug#55104] [PATCH 101/232] gnu: Add python-ipyparallel-bootstrap Maxim Cournoyer
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:57 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/check.scm (python-pytest-forked-next): New variable.
---
gnu/packages/check.scm | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 005a3bde7c..5e0b653983 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -1570,6 +1570,23 @@ (define-public python-pytest-forked
side-effects (such as setting environment variables).")
(license license:expat)))
+(define-public python-pytest-forked-next
+ (package
+ (inherit python-pytest-forked)
+ (name "python-pytest-forked")
+ (version "1.4.0")
+ (source
+ (origin
+ (method git-fetch) ;for tests
+ (uri (git-reference
+ (url "https://github.com/pytest-dev/pytest-forked")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0j9bbjny7h3b4fig6l26f26c697r67mm62fzdd9m9rqyy2bmnqjs"))))
+ (native-inputs (list python-pytest-bootstrap python-setuptools-scm))))
+
(define-public python-scripttest
(package
(name "python-scripttest")
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 100/232] gnu: python-pytest-xdist-next: Update to 2.5.0.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (97 preceding siblings ...)
2022-04-25 3:57 ` [bug#55104] [PATCH 099/232] gnu: Add python-pytest-forked-next Maxim Cournoyer
@ 2022-04-25 3:57 ` Maxim Cournoyer
2022-04-25 3:57 ` [bug#55104] [PATCH 101/232] gnu: Add python-ipyparallel-bootstrap Maxim Cournoyer
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:57 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/check.scm (python-pytest-xdist-next): Update to 2.5.0.
[propagated-inputs]: replace python-pytest-forked with
python-pytest-forked-next.
---
gnu/packages/check.scm | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 5e0b653983..957d7a4262 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -1483,18 +1483,16 @@ (define-public python2-pytest-xdist
(define-public python-pytest-xdist-next
(package/inherit python-pytest-xdist
(name "python-pytest-xdist")
- (version "2.3.0")
+ (version "2.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-xdist" version))
(sha256
(base32
- "19cy57jrf3pwi7x6fnbxryjvqagsl0yv736jnynvr3yqhlpxxv78"))))
- (propagated-inputs
- `(("python-execnet" ,python-execnet)
- ("python-pytest" ,python-pytest-6)
- ("python-pytest-forked" ,python-pytest-forked)))))
+ "1psf5dqxvc38qzxvc305mkg5xpdmdkbkkfiyqlmdnkgh7z5dx025"))))
+ (propagated-inputs (list python-execnet python-pytest
+ python-pytest-forked-next))))
(define-public python-pytest-timeout
(package
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread
* [bug#55104] [PATCH 101/232] gnu: Add python-ipyparallel-bootstrap.
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
` (98 preceding siblings ...)
2022-04-25 3:57 ` [bug#55104] [PATCH 100/232] gnu: python-pytest-xdist-next: Update to 2.5.0 Maxim Cournoyer
@ 2022-04-25 3:57 ` Maxim Cournoyer
99 siblings, 0 replies; 111+ messages in thread
From: Maxim Cournoyer @ 2022-04-25 3:57 UTC (permalink / raw)
To: 55104; +Cc: Maxim Cournoyer
* gnu/packages/python-xyz.scm (python-ipyparallel): Morph into...
(python-ipyparallel-bootstrap): ... this, moving native inputs to a new
definition of...
(python-ipyparallel): ... this.
---
gnu/packages/python-xyz.scm | 97 ++++++++++++++++++++++---------------
1 file changed, 58 insertions(+), 39 deletions(-)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ce0172e59f..6a8eb11f64 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8740,47 +8740,41 @@ (define-public python-ipython-genutils
(define-public python2-ipython-genutils
(package-with-python2 python-ipython-genutils))
-(define-public python-ipyparallel
- (package
- (name "python-ipyparallel")
- (version "6.2.4")
- (source
+;;; Variant used to break a cycle with python-ipykernel.
+(define-public python-ipyparallel-bootstrap
+ (hidden-package
+ (package
+ (name "python-ipyparallel-bootstrap")
+ (version "6.2.4")
+ (source
(origin
(method url-fetch)
(uri (pypi-uri "ipyparallel" version))
(sha256
(base32
"0rf0dbpxf5z82bw8lsjj45r3wdd4wc74anz4wiiaf2rbjqlb1ivn"))))
- (build-system python-build-system)
- (arguments
- `(#:tests? #f ; RuntimeError: IO Loop failed to start
- #:phases
- (modify-phases %standard-phases
- (add-before 'check 'prepare-for-tests
- (lambda _
- (setenv "HOME" (getcwd))
- #t)))))
- (propagated-inputs
- (list python-dateutil
- python-decorator
- python-ipykernel
- python-ipython
- python-ipython-genutils
- python-jupyter-client
- python-pyzmq
- python-tornado
- python-traitlets))
- (native-inputs
- (list python-ipython
- python-mock
- python-nose
- python-pytest
- python-pytest-cov
- python-testpath))
- (home-page "https://ipython.org/")
- (synopsis "Interactive Parallel Computing with IPython")
- (description
- "@code{ipyparallel} is a Python package and collection of CLI scripts for
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:phases #~(modify-phases %standard-phases
+ ;; The python-ipykernel is normally propagated but is
+ ;; removed from this package to break the cycle.
+ (delete 'sanity-check))))
+ (propagated-inputs
+ (list python-dateutil
+ python-decorator
+ ;; python-ipykernel is omitted here to avoid a cycle.
+ python-ipython
+ python-ipython-genutils
+ python-jupyter-client-bootstrap
+ python-pyzmq
+ python-tornado
+ python-traitlets))
+ (home-page "https://ipython.org/")
+ (synopsis "Interactive Parallel Computing with IPython")
+ (description
+ "@code{ipyparallel} is a Python package and collection of CLI scripts for
controlling clusters for Jupyter. @code{ipyparallel} contains the following
CLI scripts:
@enumerate
@@ -8788,7 +8782,26 @@ (define-public python-ipyparallel
@item ipcontroller - start a scheduler
@item ipengine - start an engine
@end enumerate")
- (license license:bsd-3)))
+ (license license:bsd-3))))
+
+(define-public python-ipyparallel
+ (package
+ (inherit python-ipyparallel-bootstrap)
+ (name "python-ipyparallel")
+ (arguments (list #:tests? #t))
+ (native-inputs
+ (list python-ipython
+ python-mock
+ python-nose
+ python-pytest
+ python-pytest-cov
+ python-testpath))
+ (propagated-inputs
+ (modify-inputs (package-propagated-inputs python-ipyparallel-bootstrap)
+ (replace "python-jupyter-client-bootstrap" python-jupyter-client)
+ (append python-ipykernel)))
+ (properties (alist-delete 'hidden? (package-properties
+ python-ipyparallel-bootstrap)))))
(define-public python-ipython-cluster-helper
(package
@@ -9077,10 +9090,16 @@ (define-public python-ipykernel-bootstrap
(package
(inherit parent)
(name "python-ipykernel-bootstrap")
+ (arguments (list #:tests? #f
+ ;; The package should normally propagate ipykernel,
+ ;; left out here to break the cycle.
+ #:phases #~(modify-phases %standard-phases
+ (delete 'sanity-check))))
+ (native-inputs '())
(propagated-inputs
- `(("python-jupyter-client" ,python-jupyter-client-bootstrap)
- ,@(fold alist-delete (package-propagated-inputs parent)
- '("python-jupyter-client"))))))))
+ (modify-inputs (package-propagated-inputs parent)
+ (replace "python-jupyter-client" python-jupyter-client-bootstrap)
+ (append python-ipyparallel-bootstrap)))))))
(define-public python-pari-jupyter
(package
--
2.34.0
^ permalink raw reply related [flat|nested] 111+ messages in thread