GNU bug report logs - #47593
[PATCH 0/6] *** Add Python Abjad v3.3 ***

Previous Next

Package: guix-patches;

Reported by: BonfaceKilz <me <at> bonfacemunyoki.com>

Date: Sun, 4 Apr 2021 12:17:02 UTC

Severity: normal

Tags: patch

Done: Efraim Flashner <efraim <at> flashner.co.il>

Bug is archived. No further changes may be made.

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

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

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


Report forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Sun, 04 Apr 2021 12:17:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to BonfaceKilz <me <at> bonfacemunyoki.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sun, 04 Apr 2021 12:17:02 GMT) Full text and rfc822 format available.

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

From: BonfaceKilz <me <at> bonfacemunyoki.com>
To: guix-patches <at> gnu.org
Cc: BonfaceKilz <me <at> bonfacemunyoki.com>, jgart <at> dismail.de
Subject: [PATCH 0/6] *** Add Python Abjad v3.3 ***
Date: Sun,  4 Apr 2021 15:16:23 +0300
Hi all! This patch set adds Python Abjad and it's deps to guix. Reviews are
welcome!

BonfaceKilz (6):
  gnu: python-xyz: Add python-roman.
  gnu: python-check: Add python-pytest-helpers-namespace.
  gnu: python-xyz: Add python-uqbar.
  gnu: python-xyz: Add python-setuptools-declarative-requirements.
  gnu: python-xyz: Add python-quicktions.
  gnu: python-xyz: Add python-abjad.

 gnu/packages/check.scm      |  25 ++++++
 gnu/packages/python-xyz.scm | 171 +++++++++++++++++++++++++++++++++++-
 2 files changed, 195 insertions(+), 1 deletion(-)

-- 
2.31.0





Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Sun, 04 Apr 2021 12:21:02 GMT) Full text and rfc822 format available.

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

From: BonfaceKilz <me <at> bonfacemunyoki.com>
To: 47593 <at> debbugs.gnu.org
Cc: BonfaceKilz <me <at> bonfacemunyoki.com>, jgart <at> dismail.de
Subject: [PATCH 0/6] *** Add Python Abjad v3.3 ***
Date: Sun,  4 Apr 2021 15:19:59 +0300
Hi all! This patch set adds Python Abjad and it's deps to guix. Reviews are
welcome!

BonfaceKilz (6):
  gnu: python-xyz: Add python-roman.
  gnu: python-check: Add python-pytest-helpers-namespace.
  gnu: python-xyz: Add python-uqbar.
  gnu: python-xyz: Add python-setuptools-declarative-requirements.
  gnu: python-xyz: Add python-quicktions.
  gnu: python-xyz: Add python-abjad.

 gnu/packages/check.scm      |  25 ++++++
 gnu/packages/python-xyz.scm | 171 +++++++++++++++++++++++++++++++++++-
 2 files changed, 195 insertions(+), 1 deletion(-)

-- 
2.31.0





Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Sun, 04 Apr 2021 12:21:02 GMT) Full text and rfc822 format available.

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

From: BonfaceKilz <me <at> bonfacemunyoki.com>
To: 47593 <at> debbugs.gnu.org
Cc: BonfaceKilz <me <at> bonfacemunyoki.com>, jgart <at> dismail.de
Subject: [PATCH 1/6] gnu: python-xyz: Add python-roman.
Date: Sun,  4 Apr 2021 15:20:00 +0300
* gnu/packages/python-xyz.scm (python-roman): New variable.

Co-authored-by: jgart <jgart <at> dismail.de>
---
 gnu/packages/python-xyz.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 74aee4a3c2..b69ea2e32a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -24239,3 +24239,22 @@ number of words, syllables, and sentences.")
      "This package provides a Python library that can parse OPML, FOAF, and
 iGoogle subscription lists.")
     (license license:expat)))
+
+(define-public python-roman
+  (package
+    (name "python-roman")
+    (version "3.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "roman" version))
+       (sha256
+        (base32
+         "0gyp2bmw47jgpm8j64gydzqq838bgxz5gh6cm57lxlr7p26sqiic"))))
+    (build-system python-build-system)
+    (home-page
+     "https://github.com/zopefoundation/roman")
+    (synopsis "Integer to Roman numerals converter")
+    (description
+     "Small helper library to convert arabic to roman numerals.")
+    (license license:psfl)))
-- 
2.31.0





Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Sun, 04 Apr 2021 12:21:03 GMT) Full text and rfc822 format available.

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

From: BonfaceKilz <me <at> bonfacemunyoki.com>
To: 47593 <at> debbugs.gnu.org
Cc: BonfaceKilz <me <at> bonfacemunyoki.com>, jgart <at> dismail.de
Subject: [PATCH 2/6] gnu: python-check: Add python-pytest-helpers-namespace.
Date: Sun,  4 Apr 2021 15:20:01 +0300
* gnu/packages/check.scm (python-pytest-helpers-namespace): New variable.

Co-authored-by: jgart <jgart <at> dismail.de>
---
 gnu/packages/check.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 7c95ea6950..13a57c5201 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -36,6 +36,7 @@
 ;;; Copyright © 2020 Vinicius Monego <monego <at> posteo.net>
 ;;; Copyright © 2020 Tanguy Le Carrour <tanguy <at> bioneland.org>
 ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
+;;; Copyright © 2021 Bonface Munyoki Kilyungi <me <at> bonfacemunyoki.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2878,3 +2879,27 @@ system.  The code under test requires no modification to work with pyfakefs.")
     (description "Aiounittest is a library that helps write tests using
 asynchronous code in Python (asyncio).")
     (license license:expat)))
+
+(define-public python-pytest-helpers-namespace
+  (package
+    (name "python-pytest-helpers-namespace")
+    (version "2021.3.24")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pytest-helpers-namespace" version))
+       (sha256
+        (base32
+         "0pyj2d45zagmzlajzqdnkw5yz8k49pkihbydsqkzm413qnkzb38q"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-pytest" ,python-pytest)
+       ("python-setuptools-declarative-requirements"
+        ,python-setuptools-declarative-requirements)))
+    (home-page
+     "https://github.com/saltstack/pytest-helpers-namespace")
+    (synopsis "Pytest Helpers Namespace Plugin")
+    (description "Pytest Helpers Namespace Plugin provides a helpers pytest
+namespace which can be used to register helper functions without requiring
+someone to import them in their actual tests to use them.")
+    (license license:asl2.0)))
-- 
2.31.0





Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Sun, 04 Apr 2021 12:21:03 GMT) Full text and rfc822 format available.

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

From: BonfaceKilz <me <at> bonfacemunyoki.com>
To: 47593 <at> debbugs.gnu.org
Cc: BonfaceKilz <me <at> bonfacemunyoki.com>, jgart <at> dismail.de
Subject: [PATCH 4/6] gnu: python-xyz: Add
 python-setuptools-declarative-requirements.
Date: Sun,  4 Apr 2021 15:20:03 +0300
* gnu/packages/python-xyz.scm (python-setuptools-declarative-requirements):
New variable.
---
 gnu/packages/python-xyz.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 63eecb591f..8ecf5dadc2 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -24308,3 +24308,31 @@ iGoogle subscription lists.")
     (description
      "Tools for building documentation with Sphinx, Graphviz and LaTeX")
     (license license:expat)))
+
+(define-public python-setuptools-declarative-requirements
+  (package
+    (name "python-setuptools-declarative-requirements")
+    (version "1.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri
+             "setuptools-declarative-requirements"
+             version))
+       (sha256
+        (base32
+         "1l8zmcnp9h8sp8hsw7b81djaa1a9yig0y7i4phh5pihqz1gdn7yi"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-pytest" ,python-pytest)
+       ("python-setuptools" ,python-setuptools)
+       ("python-setuptools-scm" ,python-setuptools-scm)
+       ("python-toml" ,python-toml)
+       ("python-wheel" ,python-wheel)))
+    (home-page
+     "https://github.com/s0undt3ch/setuptools-declarative-requirements")
+    (synopsis
+     "File support for setuptools declarative setup.cfg")
+    (description
+     "File support for setuptools declarative setup.cfg")
+    (license license:asl2.0)))
-- 
2.31.0





Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Sun, 04 Apr 2021 12:21:03 GMT) Full text and rfc822 format available.

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

From: BonfaceKilz <me <at> bonfacemunyoki.com>
To: 47593 <at> debbugs.gnu.org
Cc: BonfaceKilz <me <at> bonfacemunyoki.com>, jgart <at> dismail.de
Subject: [PATCH 3/6] gnu: python-xyz: Add python-uqbar.
Date: Sun,  4 Apr 2021 15:20:02 +0300
* gnu/packages/python-xyz.scm (python-uqbar): New variable.

Co-authored-by: jgart <jgart <at> dismail.de>
---
 gnu/packages/python-xyz.scm | 52 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 51 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b69ea2e32a..63eecb591f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -88,7 +88,7 @@
 ;;; Copyright © 2020 Malte Frank Gerdes <malte.f.gerdes <at> gmail.com>
 ;;; Copyright © 2020 Joseph LaFreniere <joseph <at> lafreniere.xyz>
 ;;; Copyright © 2020 Tim Gesthuizen <tim.gesthuizen <at> yahoo.de>
-;;; Copyright © 2020 Bonface Munyoki Kilyungi <bonfacemunyoki <at> gmail.com>
+;;; Copyright © 2020, 2021 Bonface Munyoki Kilyungi <me <at> bonfacemunyoki.com>
 ;;; Copyright © 2020 Ekaitz Zarraga <ekaitz <at> elenq.tech>
 ;;; Copyright © 2020 Diego N. Barbato <dnbarbato <at> posteo.de>
 ;;; Copyright © 2020 Leo Prikler <leo.prikler <at> student.tugraz.at>
@@ -24258,3 +24258,53 @@ iGoogle subscription lists.")
     (description
      "Small helper library to convert arabic to roman numerals.")
     (license license:psfl)))
+
+(define-public python-uqbar
+  (package
+    (name "python-uqbar")
+    (version "0.5.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append
+         "https://github.com/josiah-wolf-oberholtzer/"
+         "uqbar/archive/refs/tags/v" version ".tar.gz"))
+       (sha256
+        (base32
+         "02kfvwh94ca0y3hsfrc071ga3g3vqflhyv4w4hif34dyj2skvpa8"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch
+           (lambda _
+             (substitute* "setup.py"
+               ;; Latest versions of sphink-rtd-theme require npm to build.
+               (("sphinx-rtd-theme >= 0.4.0") "sphinx-rtd-theme >= 0.2.4")
+               (("black == 19.10b0") "black >= 19.10b0"))
+             #t))
+         (replace 'check
+           (lambda _
+             (invoke "python" "-m" "pytest" "tests")
+             #t)))))
+    (propagated-inputs
+     `(("graphviz" ,graphviz)
+       ("python-black" ,python-black)
+       ("python-sphinx" ,python-sphinx)
+       ("python-sphinx-rtd-theme"
+        ,python-sphinx-rtd-theme)
+       ("python-unidecode" ,python-unidecode)))
+    (native-inputs
+     `(("python-flake8" ,python-flake8)
+       ("python-isort" ,python-isort)
+       ("python-mypy" ,python-mypy)
+       ("python-pytest" ,python-pytest)
+       ("python-pytest-cov" ,python-pytest-cov)))
+    (home-page
+     "https://github.com/josiah-wolf-oberholtzer/uqbar")
+    (synopsis
+     "Tools for building documentation with Sphinx, Graphviz and LaTeX")
+    (description
+     "Tools for building documentation with Sphinx, Graphviz and LaTeX")
+    (license license:expat)))
-- 
2.31.0





Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Sun, 04 Apr 2021 12:21:04 GMT) Full text and rfc822 format available.

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

From: BonfaceKilz <me <at> bonfacemunyoki.com>
To: 47593 <at> debbugs.gnu.org
Cc: BonfaceKilz <me <at> bonfacemunyoki.com>, jgart <at> dismail.de
Subject: [PATCH 5/6] gnu: python-xyz: Add python-quicktions.
Date: Sun,  4 Apr 2021 15:20:04 +0300
* gnu/packages/python-xyz.scm (python-quicktions): New variable.

Co-authored-by: jgart <jgart <at> dismail.de>
---
 gnu/packages/python-xyz.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 8ecf5dadc2..e87ba6b6b6 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -24336,3 +24336,23 @@ iGoogle subscription lists.")
     (description
      "File support for setuptools declarative setup.cfg")
     (license license:asl2.0)))
+
+(define-public python-quicktions
+  (package
+    (name "python-quicktions")
+    (version "1.11")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "quicktions" version))
+       (sha256
+        (base32
+         "1px21a6x527i1bsr2p6bbf3jziqpvd1vjkvvzh13gsy4iip0yvzn"))))
+    (build-system python-build-system)
+    (home-page
+     "https://github.com/scoder/quicktions")
+    (synopsis
+     "Fast fractions data type for rational numbers. Cythonized version of 'fractions.Fraction'.")
+    (description
+     "Fast fractions data type for rational numbers. Cythonized version of 'fractions.Fraction'.")
+    (license license:psfl)))
-- 
2.31.0





Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Sun, 04 Apr 2021 12:21:04 GMT) Full text and rfc822 format available.

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

From: BonfaceKilz <me <at> bonfacemunyoki.com>
To: 47593 <at> debbugs.gnu.org
Cc: BonfaceKilz <me <at> bonfacemunyoki.com>, jgart <at> dismail.de
Subject: [PATCH 6/6] gnu: python-xyz: Add python-abjad.
Date: Sun,  4 Apr 2021 15:20:05 +0300
* gnu/packages/python-xyz.scm (python-abjad): New variable.

Co-authored-by: jgart <jgart <at> dismail.de>
---
 gnu/packages/python-xyz.scm | 52 +++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e87ba6b6b6..baa8534d7a 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -162,6 +162,7 @@
   #:use-module (gnu packages maths)
   #:use-module (gnu packages monitoring)
   #:use-module (gnu packages multiprecision)
+  #:use-module (gnu packages music)
   #:use-module (gnu packages networking)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages openstack)
@@ -24356,3 +24357,54 @@ iGoogle subscription lists.")
     (description
      "Fast fractions data type for rational numbers. Cythonized version of 'fractions.Fraction'.")
     (license license:psfl)))
+
+(define-public python-abjad
+  (package
+    (name "python-abjad")
+    (version "3.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append
+         "https://github.com/Abjad/abjad/archive/refs/tags/v"
+         version ".tar.gz"))
+       (sha256
+        (base32
+         "0dvj40g8kq1jdp09gb2chxxb7959vxv5h4m8ywg4qigsw3f11xnx"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-source
+           (lambda _
+             (substitute* "setup.py"
+               (("uqbar>=0.4.4, <0.5.0") "uqbar>=0.4.4, <=0.5.1")
+               (("pytest>=5.4.3") "pytest>=5.3"))
+             #t))
+         (replace 'check
+           (lambda _
+             ;; See: https://stackoverflow.com/a/34140498
+             (invoke "python" "-m" "pytest" "tests")
+             #t)))))
+    (propagated-inputs
+     `(("lilypond" ,lilypond) ;; Required for tests to pass!
+       ("python-black" ,python-black)
+       ("python-flake8" ,python-flake8)
+       ("python-isort" ,python-isort)
+       ("python-mypy" ,python-mypy)
+       ("python-ply" ,python-ply)
+       ("python-pytest" ,python-pytest)
+       ("python-pytest-cov" ,python-pytest-cov)
+       ("python-quicktions" ,python-quicktions)
+       ("python-roman" ,python-roman)
+       ("python-six" ,python-six)
+       ("python-sphinx-autodoc-typehints"
+        ,python-sphinx-autodoc-typehints)
+       ("python-uqbar" ,python-uqbar)))
+    (home-page "https://abjad.github.io")
+    (synopsis
+     "Abjad is a Python API for building LilyPond files.")
+    (description
+     "Abjad is a Python API for building LilyPond files.")
+    (license license:expat)))
-- 
2.31.0





Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Tue, 13 Apr 2021 13:15:01 GMT) Full text and rfc822 format available.

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

From: Efraim Flashner <efraim <at> flashner.co.il>
To: BonfaceKilz <me <at> bonfacemunyoki.com>
Cc: 47593 <at> debbugs.gnu.org, jgart <at> dismail.de
Subject: Re: [bug#47593] [PATCH 1/6] gnu: python-xyz: Add python-roman.
Date: Tue, 13 Apr 2021 16:14:04 +0300
[Message part 1 (text/plain, inline)]
As noted elsewhere, it would be better if this weren't added to the
bottom of the module. It increases the chances of merge conflicts.

On Sun, Apr 04, 2021 at 03:20:00PM +0300, BonfaceKilz wrote:
> * gnu/packages/python-xyz.scm (python-roman): New variable.
> 
> Co-authored-by: jgart <jgart <at> dismail.de>
> ---
>  gnu/packages/python-xyz.scm | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
> 
> diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
> index 74aee4a3c2..b69ea2e32a 100644
> --- a/gnu/packages/python-xyz.scm
> +++ b/gnu/packages/python-xyz.scm
> @@ -24239,3 +24239,22 @@ number of words, syllables, and sentences.")
>       "This package provides a Python library that can parse OPML, FOAF, and
>  iGoogle subscription lists.")
>      (license license:expat)))
> +
> +(define-public python-roman
> +  (package
> +    (name "python-roman")
> +    (version "3.3")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "roman" version))
> +       (sha256
> +        (base32
> +         "0gyp2bmw47jgpm8j64gydzqq838bgxz5gh6cm57lxlr7p26sqiic"))))
> +    (build-system python-build-system)
> +    (home-page
> +     "https://github.com/zopefoundation/roman")
> +    (synopsis "Integer to Roman numerals converter")
> +    (description
> +     "Small helper library to convert arabic to roman numerals.")

This package provides a small helper library to convert Arabic Numbers
to Roman Numerals.

> +    (license license:psfl)))
> -- 
> 2.31.0
> 
> 
> 
> 

-- 
Efraim Flashner   <efraim <at> flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Tue, 13 Apr 2021 13:16:03 GMT) Full text and rfc822 format available.

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

From: Efraim Flashner <efraim <at> flashner.co.il>
To: BonfaceKilz <me <at> bonfacemunyoki.com>
Cc: 47593 <at> debbugs.gnu.org, jgart <at> dismail.de
Subject: Re: [bug#47593] [PATCH 3/6] gnu: python-xyz: Add python-uqbar.
Date: Tue, 13 Apr 2021 16:14:28 +0300
[Message part 1 (text/plain, inline)]
I haven't tried building this package yet. The sphinx packages are in
sphinx.scm and the graphviz packages are in graphviz.scm. I think I
would put it in graphviz.

On Sun, Apr 04, 2021 at 03:20:02PM +0300, BonfaceKilz wrote:
> * gnu/packages/python-xyz.scm (python-uqbar): New variable.
> 
> Co-authored-by: jgart <jgart <at> dismail.de>
> ---
>  gnu/packages/python-xyz.scm | 52 ++++++++++++++++++++++++++++++++++++-
>  1 file changed, 51 insertions(+), 1 deletion(-)
> 
> diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
> index b69ea2e32a..63eecb591f 100644
> --- a/gnu/packages/python-xyz.scm
> +++ b/gnu/packages/python-xyz.scm
> @@ -88,7 +88,7 @@
>  ;;; Copyright © 2020 Malte Frank Gerdes <malte.f.gerdes <at> gmail.com>
>  ;;; Copyright © 2020 Joseph LaFreniere <joseph <at> lafreniere.xyz>
>  ;;; Copyright © 2020 Tim Gesthuizen <tim.gesthuizen <at> yahoo.de>
> -;;; Copyright © 2020 Bonface Munyoki Kilyungi <bonfacemunyoki <at> gmail.com>
> +;;; Copyright © 2020, 2021 Bonface Munyoki Kilyungi <me <at> bonfacemunyoki.com>
>  ;;; Copyright © 2020 Ekaitz Zarraga <ekaitz <at> elenq.tech>
>  ;;; Copyright © 2020 Diego N. Barbato <dnbarbato <at> posteo.de>
>  ;;; Copyright © 2020 Leo Prikler <leo.prikler <at> student.tugraz.at>
> @@ -24258,3 +24258,53 @@ iGoogle subscription lists.")
>      (description
>       "Small helper library to convert arabic to roman numerals.")
>      (license license:psfl)))
> +
> +(define-public python-uqbar
> +  (package
> +    (name "python-uqbar")
> +    (version "0.5.1")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri
> +        (string-append
> +         "https://github.com/josiah-wolf-oberholtzer/"
> +         "uqbar/archive/refs/tags/v" version ".tar.gz"))

guix lint should've caught this. If the pypi version from 'guix import
ppyi uqbar' doesn't work for building then you should use git-fetch to
download the source. The github archive URLs tend to get regenerated
from time to time.

> +       (sha256
> +        (base32
> +         "02kfvwh94ca0y3hsfrc071ga3g3vqflhyv4w4hif34dyj2skvpa8"))))
> +    (build-system python-build-system)
> +    (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'patch
> +           (lambda _
> +             (substitute* "setup.py"
> +               ;; Latest versions of sphink-rtd-theme require npm to build.
> +               (("sphinx-rtd-theme >= 0.4.0") "sphinx-rtd-theme >= 0.2.4")
> +               (("black == 19.10b0") "black >= 19.10b0"))
> +             #t))
> +         (replace 'check
> +           (lambda _
> +             (invoke "python" "-m" "pytest" "tests")

We want the ability to skip the tests, so this should be
(lambda* (#:key tests? #:allow-other-keys)
  (when tests?
    (invoke ...

> +             #t)))))
> +    (propagated-inputs
> +     `(("graphviz" ,graphviz)

Is it possible to substitute the actual calls to the graphviz binaries
in the package? We don't want to have to propagate non-python packages.

> +       ("python-black" ,python-black)
> +       ("python-sphinx" ,python-sphinx)
> +       ("python-sphinx-rtd-theme"
> +        ,python-sphinx-rtd-theme)
> +       ("python-unidecode" ,python-unidecode)))
> +    (native-inputs
> +     `(("python-flake8" ,python-flake8)
> +       ("python-isort" ,python-isort)
> +       ("python-mypy" ,python-mypy)
> +       ("python-pytest" ,python-pytest)
> +       ("python-pytest-cov" ,python-pytest-cov)))
> +    (home-page
> +     "https://github.com/josiah-wolf-oberholtzer/uqbar")
> +    (synopsis
> +     "Tools for building documentation with Sphinx, Graphviz and LaTeX")
> +    (description
> +     "Tools for building documentation with Sphinx, Graphviz and LaTeX")

This should be a full sentence.

> +    (license license:expat)))
> -- 
> 2.31.0
> 
> 
> 
> 

-- 
Efraim Flashner   <efraim <at> flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Tue, 13 Apr 2021 13:17:02 GMT) Full text and rfc822 format available.

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

From: Efraim Flashner <efraim <at> flashner.co.il>
To: BonfaceKilz <me <at> bonfacemunyoki.com>
Cc: 47593 <at> debbugs.gnu.org, jgart <at> dismail.de
Subject: Re: [bug#47593] [PATCH 4/6] gnu: python-xyz: Add
 python-setuptools-declarative-requirements.
Date: Tue, 13 Apr 2021 16:14:35 +0300
[Message part 1 (text/plain, inline)]
It would be best to put this package definition near the other
python-setuptools-* package definitions.

On Sun, Apr 04, 2021 at 03:20:03PM +0300, BonfaceKilz wrote:
> * gnu/packages/python-xyz.scm (python-setuptools-declarative-requirements):
> New variable.
> ---
>  gnu/packages/python-xyz.scm | 28 ++++++++++++++++++++++++++++
>  1 file changed, 28 insertions(+)
> 
> diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
> index 63eecb591f..8ecf5dadc2 100644
> --- a/gnu/packages/python-xyz.scm
> +++ b/gnu/packages/python-xyz.scm
> @@ -24308,3 +24308,31 @@ iGoogle subscription lists.")
>      (description
>       "Tools for building documentation with Sphinx, Graphviz and LaTeX")
>      (license license:expat)))
> +
> +(define-public python-setuptools-declarative-requirements
> +  (package
> +    (name "python-setuptools-declarative-requirements")
> +    (version "1.2.0")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri
> +             "setuptools-declarative-requirements"
> +             version))
> +       (sha256
> +        (base32
> +         "1l8zmcnp9h8sp8hsw7b81djaa1a9yig0y7i4phh5pihqz1gdn7yi"))))
> +    (build-system python-build-system)
> +    (propagated-inputs
> +     `(("python-pytest" ,python-pytest)
> +       ("python-setuptools" ,python-setuptools)
> +       ("python-setuptools-scm" ,python-setuptools-scm)
> +       ("python-toml" ,python-toml)
> +       ("python-wheel" ,python-wheel)))
> +    (home-page
> +     "https://github.com/s0undt3ch/setuptools-declarative-requirements")
> +    (synopsis
> +     "File support for setuptools declarative setup.cfg")
> +    (description
> +     "File support for setuptools declarative setup.cfg")

This should be a full sentence.

> +    (license license:asl2.0)))
> -- 
> 2.31.0
> 
> 
> 
> 

-- 
Efraim Flashner   <efraim <at> flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Tue, 13 Apr 2021 13:17:02 GMT) Full text and rfc822 format available.

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

From: Efraim Flashner <efraim <at> flashner.co.il>
To: BonfaceKilz <me <at> bonfacemunyoki.com>
Cc: 47593 <at> debbugs.gnu.org, jgart <at> dismail.de
Subject: Re: [bug#47593] [PATCH 6/6] gnu: python-xyz: Add python-abjad.
Date: Tue, 13 Apr 2021 16:14:48 +0300
[Message part 1 (text/plain, inline)]
I would put this in music.scm near lilypond.

On Sun, Apr 04, 2021 at 03:20:05PM +0300, BonfaceKilz wrote:
> * gnu/packages/python-xyz.scm (python-abjad): New variable.
> 
> Co-authored-by: jgart <jgart <at> dismail.de>
> ---
>  gnu/packages/python-xyz.scm | 52 +++++++++++++++++++++++++++++++++++++
>  1 file changed, 52 insertions(+)
> 
> diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
> index e87ba6b6b6..baa8534d7a 100644
> --- a/gnu/packages/python-xyz.scm
> +++ b/gnu/packages/python-xyz.scm
> @@ -162,6 +162,7 @@
>    #:use-module (gnu packages maths)
>    #:use-module (gnu packages monitoring)
>    #:use-module (gnu packages multiprecision)
> +  #:use-module (gnu packages music)
>    #:use-module (gnu packages networking)
>    #:use-module (gnu packages ncurses)
>    #:use-module (gnu packages openstack)
> @@ -24356,3 +24357,54 @@ iGoogle subscription lists.")
>      (description
>       "Fast fractions data type for rational numbers. Cythonized version of 'fractions.Fraction'.")
>      (license license:psfl)))
> +

If this is a package that would be installed then you can change the
name to abjad, no need to keep the python prefix.

> +(define-public python-abjad
> +  (package
> +    (name "python-abjad")
> +    (version "3.3")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri
> +        (string-append
> +         "https://github.com/Abjad/abjad/archive/refs/tags/v"
> +         version ".tar.gz"))

This should be a pypi URI or be downloaded using git-fetch

> +       (sha256
> +        (base32
> +         "0dvj40g8kq1jdp09gb2chxxb7959vxv5h4m8ywg4qigsw3f11xnx"))))
> +    (build-system python-build-system)
> +    (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'patch-source
> +           (lambda _
> +             (substitute* "setup.py"
> +               (("uqbar>=0.4.4, <0.5.0") "uqbar>=0.4.4, <=0.5.1")

I would just take off the <0.5.0 and not try to make it just high enough
to include the version packaged.

> +               (("pytest>=5.4.3") "pytest>=5.3"))

We also have pytest-6. Of course this is also fine.

> +             #t))
> +         (replace 'check
> +           (lambda _

(lambda* (#:key tests? #:allow-other-keys)
  (when tests?

> +             ;; See: https://stackoverflow.com/a/34140498
> +             (invoke "python" "-m" "pytest" "tests")
> +             #t)))))

I'm sure that not all of these need to be propagated. The source should
be patched to refer to lilypond and I'm guessing most of the rest can
either be inputs (they'll get wrapped with the python wrapper) or
native-inputs if they're only needed for tests.

> +    (propagated-inputs
> +     `(("lilypond" ,lilypond) ;; Required for tests to pass!
> +       ("python-black" ,python-black)
> +       ("python-flake8" ,python-flake8)
> +       ("python-isort" ,python-isort)
> +       ("python-mypy" ,python-mypy)
> +       ("python-ply" ,python-ply)
> +       ("python-pytest" ,python-pytest)
> +       ("python-pytest-cov" ,python-pytest-cov)
> +       ("python-quicktions" ,python-quicktions)
> +       ("python-roman" ,python-roman)
> +       ("python-six" ,python-six)
> +       ("python-sphinx-autodoc-typehints"
> +        ,python-sphinx-autodoc-typehints)
> +       ("python-uqbar" ,python-uqbar)))
> +    (home-page "https://abjad.github.io")
> +    (synopsis
> +     "Abjad is a Python API for building LilyPond files.")

I'd shorten this to "Python API for building LilyPind files"

> +    (description
> +     "Abjad is a Python API for building LilyPond files.")
> +    (license license:expat)))
> -- 
> 2.31.0
> 
> 
> 
> 

-- 
Efraim Flashner   <efraim <at> flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Tue, 13 Apr 2021 13:18:02 GMT) Full text and rfc822 format available.

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

From: Efraim Flashner <efraim <at> flashner.co.il>
To: BonfaceKilz <me <at> bonfacemunyoki.com>
Cc: 47593 <at> debbugs.gnu.org, jgart <at> dismail.de
Subject: Re: [bug#47593] [PATCH 5/6] gnu: python-xyz: Add python-quicktions.
Date: Tue, 13 Apr 2021 16:14:41 +0300
[Message part 1 (text/plain, inline)]
On Sun, Apr 04, 2021 at 03:20:04PM +0300, BonfaceKilz wrote:
> * gnu/packages/python-xyz.scm (python-quicktions): New variable.
> 
> Co-authored-by: jgart <jgart <at> dismail.de>
> ---
>  gnu/packages/python-xyz.scm | 20 ++++++++++++++++++++
>  1 file changed, 20 insertions(+)
> 
> diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
> index 8ecf5dadc2..e87ba6b6b6 100644
> --- a/gnu/packages/python-xyz.scm
> +++ b/gnu/packages/python-xyz.scm
> @@ -24336,3 +24336,23 @@ iGoogle subscription lists.")
>      (description
>       "File support for setuptools declarative setup.cfg")
>      (license license:asl2.0)))
> +
> +(define-public python-quicktions
> +  (package
> +    (name "python-quicktions")
> +    (version "1.11")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "quicktions" version))
> +       (sha256
> +        (base32
> +         "1px21a6x527i1bsr2p6bbf3jziqpvd1vjkvvzh13gsy4iip0yvzn"))))
> +    (build-system python-build-system)
> +    (home-page
> +     "https://github.com/scoder/quicktions")
> +    (synopsis
> +     "Fast fractions data type for rational numbers. Cythonized version of 'fractions.Fraction'.")

I'd trim this to 'Fast fractions data type for rational numbers'

> +    (description
> +     "Fast fractions data type for rational numbers. Cythonized version of 'fractions.Fraction'.")

And this I'd change to 'This package provides fast fractions data type
for rational numbers.  It is the cythonized version of
@quote{fractions.Fraction}.'

> +    (license license:psfl)))
> -- 
> 2.31.0
> 

Speaking of cython, you should add a snippet to the source to remove any
cythionized source and make sure those files get rebuilt during the
build phase. Looking at setup.py it looks like you should remove
src/quictions.c and I think it tries to cythonize automatically.

-- 
Efraim Flashner   <efraim <at> flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Tue, 13 Apr 2021 20:13:01 GMT) Full text and rfc822 format available.

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

From: Bonface Munyoki K. <me <at> bonfacemunyoki.com>
To: Efraim Flashner <efraim <at> flashner.co.il>
Cc: 47593 <at> debbugs.gnu.org, jgart <at> dismail.de
Subject: Re: [bug#47593] [PATCH 1/6] gnu: python-xyz: Add python-roman.
Date: Tue, 13 Apr 2021 23:12:34 +0300
[Message part 1 (text/plain, inline)]
Efraim Flashner <efraim <at> flashner.co.il> writes:

> As noted elsewhere, it would be better if this weren't added to the
> bottom of the module. It increases the chances of merge conflicts.
>
Sure!
> On Sun, Apr 04, 2021 at 03:20:00PM +0300, BonfaceKilz wrote:
>> * gnu/packages/python-xyz.scm (python-roman): New variable.
>> 
>> Co-authored-by: jgart <jgart <at> dismail.de>
>> ---
>>  gnu/packages/python-xyz.scm | 19 +++++++++++++++++++
>>  1 file changed, 19 insertions(+)
>> 
>> diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
>> index 74aee4a3c2..b69ea2e32a 100644
>> --- a/gnu/packages/python-xyz.scm
>> +++ b/gnu/packages/python-xyz.scm
>> @@ -24239,3 +24239,22 @@ number of words, syllables, and sentences.")
>>       "This package provides a Python library that can parse OPML, FOAF, and
>>  iGoogle subscription lists.")
>>      (license license:expat)))
>> +
>> +(define-public python-roman
>> +  (package
>> +    (name "python-roman")
>> +    (version "3.3")
>> +    (source
>> +     (origin
>> +       (method url-fetch)
>> +       (uri (pypi-uri "roman" version))
>> +       (sha256
>> +        (base32
>> +         "0gyp2bmw47jgpm8j64gydzqq838bgxz5gh6cm57lxlr7p26sqiic"))))
>> +    (build-system python-build-system)
>> +    (home-page
>> +     "https://github.com/zopefoundation/roman")
>> +    (synopsis "Integer to Roman numerals converter")
>> +    (description
>> +     "Small helper library to convert arabic to roman numerals.")
>
> This package provides a small helper library to convert Arabic Numbers
> to Roman Numerals.
>
This makes sense...
>> +    (license license:psfl)))
>> -- 
>> 2.31.0
>> 
>> 
>> 
>> 

-- 
Bonface M. K. D4F09EB110177E03C28E2FE1F5BBAE1E0392253F
Humble GNU Emacs User / Bearer of scheme-y parens
Curator: <https://upbookclub.com> / Twitter: @BonfaceKilz
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Tue, 13 Apr 2021 20:53:01 GMT) Full text and rfc822 format available.

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

From: Bonface Munyoki K. <me <at> bonfacemunyoki.com>
To: Efraim Flashner <efraim <at> flashner.co.il>
Cc: 47593 <at> debbugs.gnu.org, jgart <at> dismail.de
Subject: Re: [bug#47593] [PATCH 3/6] gnu: python-xyz: Add python-uqbar.
Date: Tue, 13 Apr 2021 23:52:15 +0300
[Message part 1 (text/plain, inline)]
Efraim Flashner <efraim <at> flashner.co.il> writes:

> I haven't tried building this package yet. The sphinx packages are in
> sphinx.scm and the graphviz packages are in graphviz.scm. I think I
> would put it in graphviz.
>

Now that you've pointed it out, I see it! That
makes sense.

[...]

> guix lint should've caught this.

I seem to have skipped doing this. I need to find
a way to integrating "guix lint" to my Emacs
workflow since I seem to always somehow forget to
do this.

> If the pypi version from 'guix import
> ppyi uqbar' doesn't work for building then you should use git-fetch to
> download the source. The github archive URLs tend to get regenerated
> from time to time.

I went with the GitHub version since the pypi version
doesn't have tests. So in such cases, is it still
preferable to use the pypi version?

>> +       (sha256
>> +        (base32
>> +         "02kfvwh94ca0y3hsfrc071ga3g3vqflhyv4w4hif34dyj2skvpa8"))))
>> +    (build-system python-build-system)
>> +    (arguments
>> +     `(#:phases
>> +       (modify-phases %standard-phases
>> +         (add-after 'unpack 'patch
>> +           (lambda _
>> +             (substitute* "setup.py"
>> +               ;; Latest versions of sphink-rtd-theme require npm to build.
>> +               (("sphinx-rtd-theme >= 0.4.0") "sphinx-rtd-theme >= 0.2.4")
>> +               (("black == 19.10b0") "black >= 19.10b0"))
>> +             #t))
>> +         (replace 'check
>> +           (lambda _
>> +             (invoke "python" "-m" "pytest" "tests")
>
> We want the ability to skip the tests, so this should be
> (lambda* (#:key tests? #:allow-other-keys)
>   (when tests?
>     (invoke ...
>

Never knew this! Learnt something new. Thanks!

>> +             #t)))))
>> +    (propagated-inputs
>> +     `(("graphviz" ,graphviz)
>
> Is it possible to substitute the actual calls to the graphviz binaries
> in the package?

Not really. However...

> We don't want to have to propagate non-python packages.
>

... We could add the graphviz to native
inputs since it's only required at build-time when
running one of the tests.

>> +       ("python-black" ,python-black)
>> +       ("python-sphinx" ,python-sphinx)
>> +       ("python-sphinx-rtd-theme"
>> +        ,python-sphinx-rtd-theme)
>> +       ("python-unidecode" ,python-unidecode)))
>> +    (native-inputs
>> +     `(("python-flake8" ,python-flake8)
>> +       ("python-isort" ,python-isort)
>> +       ("python-mypy" ,python-mypy)
>> +       ("python-pytest" ,python-pytest)
>> +       ("python-pytest-cov" ,python-pytest-cov)))
>> +    (home-page
>> +     "https://github.com/josiah-wolf-oberholtzer/uqbar")
>> +    (synopsis
>> +     "Tools for building documentation with Sphinx, Graphviz and LaTeX")
>> +    (description
>> +     "Tools for building documentation with Sphinx, Graphviz and LaTeX")
>
> This should be a full sentence.
>

Noted :)
>> +    (license license:expat)))
>> -- 
>> 2.31.0
>> 
>> 
>> 
>> 

-- 
Bonface M. K. D4F09EB110177E03C28E2FE1F5BBAE1E0392253F
Humble GNU Emacs User / Bearer of scheme-y parens
Curator: <https://upbookclub.com> / Twitter: @BonfaceKilz
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Tue, 13 Apr 2021 20:55:02 GMT) Full text and rfc822 format available.

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

From: Bonface Munyoki K. <me <at> bonfacemunyoki.com>
To: Efraim Flashner <efraim <at> flashner.co.il>
Cc: 47593 <at> debbugs.gnu.org, jgart <at> dismail.de
Subject: Re: [bug#47593] [PATCH 4/6] gnu: python-xyz: Add
 python-setuptools-declarative-requirements.
Date: Tue, 13 Apr 2021 23:53:49 +0300
[Message part 1 (text/plain, inline)]
Efraim Flashner <efraim <at> flashner.co.il> writes:

> It would be best to put this package definition near the other
> python-setuptools-* package definitions.
>
Noted!

[...]

>> +    (home-page
>> +     "https://github.com/s0undt3ch/setuptools-declarative-requirements")
>> +    (synopsis
>> +     "File support for setuptools declarative setup.cfg")
>> +    (description
>> +     "File support for setuptools declarative setup.cfg")
>
> This should be a full sentence.

Sure!

-- 
Bonface M. K. D4F09EB110177E03C28E2FE1F5BBAE1E0392253F
Humble GNU Emacs User / Bearer of scheme-y parens
Curator: <https://upbookclub.com> / Twitter: @BonfaceKilz
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Tue, 13 Apr 2021 21:02:02 GMT) Full text and rfc822 format available.

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

From: Bonface Munyoki K. <me <at> bonfacemunyoki.com>
To: Efraim Flashner <efraim <at> flashner.co.il>
Cc: 47593 <at> debbugs.gnu.org, jgart <at> dismail.de
Subject: Re: [bug#47593] [PATCH 6/6] gnu: python-xyz: Add python-abjad.
Date: Wed, 14 Apr 2021 00:00:47 +0300
[Message part 1 (text/plain, inline)]
Efraim Flashner <efraim <at> flashner.co.il> writes:

> I would put this in music.scm near lilypond.
>

Makes sense.

[...]
>
> If this is a package that would be installed then you can change the
> name to abjad, no need to keep the python prefix.
>

I don't quite get this. Do you mean a package that
would be installed and run as some executable as
opposed to a library?

>> +(define-public python-abjad
>> +  (package
>> +    (name "python-abjad")
>> +    (version "3.3")
>> +    (source
>> +     (origin
>> +       (method url-fetch)
>> +       (uri
>> +        (string-append
>> +         "https://github.com/Abjad/abjad/archive/refs/tags/v"
>> +         version ".tar.gz"))
>
> This should be a pypi URI or be downloaded using git-fetch
>
Noted.

>> +       (sha256
>> +        (base32
>> +         "0dvj40g8kq1jdp09gb2chxxb7959vxv5h4m8ywg4qigsw3f11xnx"))))
>> +    (build-system python-build-system)
>> +    (arguments
>> +     `(#:phases
>> +       (modify-phases %standard-phases
>> +         (add-after 'unpack 'patch-source
>> +           (lambda _
>> +             (substitute* "setup.py"
>> +               (("uqbar>=0.4.4, <0.5.0") "uqbar>=0.4.4, <=0.5.1")
>
> I would just take off the <0.5.0 and not try to make it just high enough
> to include the version packaged.
>
Makes sense!
>> +               (("pytest>=5.4.3") "pytest>=5.3"))
>
> We also have pytest-6. Of course this is also fine.
>
Sure!
>> +             #t))
>> +         (replace 'check
>> +           (lambda _
>
> (lambda* (#:key tests? #:allow-other-keys)
>   (when tests?
>
Noted.
>> +             ;; See: https://stackoverflow.com/a/34140498
>> +             (invoke "python" "-m" "pytest" "tests")
>> +             #t)))))
>
> I'm sure that not all of these need to be propagated. The source should
> be patched to refer to lilypond and I'm guessing most of the rest can
> either be inputs (they'll get wrapped with the python wrapper) or
> native-inputs if they're only needed for tests.
>

Makes a lot of sense!

>> +    (propagated-inputs
>> +     `(("lilypond" ,lilypond) ;; Required for tests to pass!
>> +       ("python-black" ,python-black)
>> +       ("python-flake8" ,python-flake8)
>> +       ("python-isort" ,python-isort)
>> +       ("python-mypy" ,python-mypy)
>> +       ("python-ply" ,python-ply)
>> +       ("python-pytest" ,python-pytest)
>> +       ("python-pytest-cov" ,python-pytest-cov)
>> +       ("python-quicktions" ,python-quicktions)
>> +       ("python-roman" ,python-roman)
>> +       ("python-six" ,python-six)
>> +       ("python-sphinx-autodoc-typehints"
>> +        ,python-sphinx-autodoc-typehints)
>> +       ("python-uqbar" ,python-uqbar)))
>> +    (home-page "https://abjad.github.io")
>> +    (synopsis
>> +     "Abjad is a Python API for building LilyPond files.")
>
> I'd shorten this to "Python API for building LilyPind files"
>

Thanks for the suggestions!

>> +    (description
>> +     "Abjad is a Python API for building LilyPond files.")
>> +    (license license:expat)))
>> -- 
>> 2.31.0
>> 
>> 
>> 
>> 

-- 
Bonface M. K. D4F09EB110177E03C28E2FE1F5BBAE1E0392253F
Humble GNU Emacs User / Bearer of scheme-y parens
Curator: <https://upbookclub.com> / Twitter: @BonfaceKilz
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Tue, 13 Apr 2021 21:11:01 GMT) Full text and rfc822 format available.

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

From: Bonface Munyoki K. <me <at> bonfacemunyoki.com>
To: Efraim Flashner <efraim <at> flashner.co.il>
Cc: 47593 <at> debbugs.gnu.org, jgart <at> dismail.de
Subject: Re: [bug#47593] [PATCH 5/6] gnu: python-xyz: Add python-quicktions.
Date: Wed, 14 Apr 2021 00:10:31 +0300
[Message part 1 (text/plain, inline)]
Efraim Flashner <efraim <at> flashner.co.il> writes:

> On Sun, Apr 04, 2021 at 03:20:04PM +0300, BonfaceKilz wrote:
>> * gnu/packages/python-xyz.scm (python-quicktions): New variable.
>> 
>> Co-authored-by: jgart <jgart <at> dismail.de>
>> ---
[..]
>> +    (synopsis
>> +     "Fast fractions data type for rational numbers. Cythonized version of 'fractions.Fraction'.")
>
> I'd trim this to 'Fast fractions data type for rational numbers'
>

Noted.

>> +    (description
>> + "Fast fractions data type for rational
>> numbers. Cythonized version of
>> 'fractions.Fraction'.")
>
> And this I'd change to 'This package provides fast fractions data type
> for rational numbers.  It is the cythonized version of
> @quote{fractions.Fraction}.'
>

Makes sense. What's the "@quote{}" syntax. Where
would I get more of the documentation of the
syntax to put in the description?

>> +    (license license:psfl)))
>> -- 
>> 2.31.0
>> 
>
> Speaking of cython, you should add a snippet to the source to remove any
> cythionized source and make sure those files get rebuilt during the
> build phase. Looking at setup.py it looks like you should remove
> src/quictions.c and I think it tries to cythonize automatically.

For anyone reading this(in future), the cythonized
.pyx files can stop matching CPython APIs across
Python versions. An example of that here:
https://github.com/slaypni/fastdtw/pull/40

-- 
Bonface M. K. D4F09EB110177E03C28E2FE1F5BBAE1E0392253F
Humble GNU Emacs User / Bearer of scheme-y parens
Curator: <https://upbookclub.com> / Twitter: @BonfaceKilz
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Wed, 14 Apr 2021 15:16:02 GMT) Full text and rfc822 format available.

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

From: Efraim Flashner <efraim <at> flashner.co.il>
To: "Bonface Munyoki K." <me <at> bonfacemunyoki.com>
Cc: 47593 <at> debbugs.gnu.org, jgart <at> dismail.de
Subject: Re: [bug#47593] [PATCH 3/6] gnu: python-xyz: Add python-uqbar.
Date: Wed, 14 Apr 2021 18:14:56 +0300
[Message part 1 (text/plain, inline)]
On Tue, Apr 13, 2021 at 11:52:15PM +0300, Bonface Munyoki K. wrote:
> Efraim Flashner <efraim <at> flashner.co.il> writes:
> 
> > I haven't tried building this package yet. The sphinx packages are in
> > sphinx.scm and the graphviz packages are in graphviz.scm. I think I
> > would put it in graphviz.
> >
> 
> Now that you've pointed it out, I see it! That
> makes sense.
> 
> [...]
> 
> > guix lint should've caught this.
> 
> I seem to have skipped doing this. I need to find
> a way to integrating "guix lint" to my Emacs
> workflow since I seem to always somehow forget to
> do this.
> 
> > If the pypi version from 'guix import
> > ppyi uqbar' doesn't work for building then you should use git-fetch to
> > download the source. The github archive URLs tend to get regenerated
> > from time to time.
> 
> I went with the GitHub version since the pypi version
> doesn't have tests. So in such cases, is it still
> preferable to use the pypi version?

In that case the git version is normally preferable so we can actually
run the tests, but it should use git-fetch to download the sources.

> >> +       (sha256
> >> +        (base32
> >> +         "02kfvwh94ca0y3hsfrc071ga3g3vqflhyv4w4hif34dyj2skvpa8"))))
> >> +    (build-system python-build-system)
> >> +    (arguments
> >> +     `(#:phases
> >> +       (modify-phases %standard-phases
> >> +         (add-after 'unpack 'patch
> >> +           (lambda _
> >> +             (substitute* "setup.py"
> >> +               ;; Latest versions of sphink-rtd-theme require npm to build.
> >> +               (("sphinx-rtd-theme >= 0.4.0") "sphinx-rtd-theme >= 0.2.4")
> >> +               (("black == 19.10b0") "black >= 19.10b0"))
> >> +             #t))
> >> +         (replace 'check
> >> +           (lambda _
> >> +             (invoke "python" "-m" "pytest" "tests")
> >
> > We want the ability to skip the tests, so this should be
> > (lambda* (#:key tests? #:allow-other-keys)
> >   (when tests?
> >     (invoke ...
> >
> 
> Never knew this! Learnt something new. Thanks!
> 
> >> +             #t)))))
> >> +    (propagated-inputs
> >> +     `(("graphviz" ,graphviz)
> >
> > Is it possible to substitute the actual calls to the graphviz binaries
> > in the package?
> 
> Not really. However...
> 
> > We don't want to have to propagate non-python packages.
> >
> 
> ... We could add the graphviz to native
> inputs since it's only required at build-time when
> running one of the tests.
> 
> >> +       ("python-black" ,python-black)
> >> +       ("python-sphinx" ,python-sphinx)
> >> +       ("python-sphinx-rtd-theme"
> >> +        ,python-sphinx-rtd-theme)
> >> +       ("python-unidecode" ,python-unidecode)))
> >> +    (native-inputs
> >> +     `(("python-flake8" ,python-flake8)
> >> +       ("python-isort" ,python-isort)
> >> +       ("python-mypy" ,python-mypy)
> >> +       ("python-pytest" ,python-pytest)
> >> +       ("python-pytest-cov" ,python-pytest-cov)))
> >> +    (home-page
> >> +     "https://github.com/josiah-wolf-oberholtzer/uqbar")
> >> +    (synopsis
> >> +     "Tools for building documentation with Sphinx, Graphviz and LaTeX")
> >> +    (description
> >> +     "Tools for building documentation with Sphinx, Graphviz and LaTeX")
> >
> > This should be a full sentence.
> >
> 
> Noted :)
> >> +    (license license:expat)))
> >> -- 
> >> 2.31.0
> >> 
> >> 
> >> 
> >> 
> 
> -- 
> Bonface M. K. D4F09EB110177E03C28E2FE1F5BBAE1E0392253F
> Humble GNU Emacs User / Bearer of scheme-y parens
> Curator: <https://upbookclub.com> / Twitter: @BonfaceKilz



-- 
Efraim Flashner   <efraim <at> flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Wed, 14 Apr 2021 15:19:02 GMT) Full text and rfc822 format available.

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

From: Efraim Flashner <efraim <at> flashner.co.il>
To: "Bonface Munyoki K." <me <at> bonfacemunyoki.com>
Cc: 47593 <at> debbugs.gnu.org, jgart <at> dismail.de
Subject: Re: [bug#47593] [PATCH 5/6] gnu: python-xyz: Add python-quicktions.
Date: Wed, 14 Apr 2021 18:17:20 +0300
[Message part 1 (text/plain, inline)]
On Wed, Apr 14, 2021 at 12:10:31AM +0300, Bonface Munyoki K. wrote:
> Efraim Flashner <efraim <at> flashner.co.il> writes:
> 
> > On Sun, Apr 04, 2021 at 03:20:04PM +0300, BonfaceKilz wrote:
> >> * gnu/packages/python-xyz.scm (python-quicktions): New variable.
> >> 
> >> Co-authored-by: jgart <jgart <at> dismail.de>
> >> ---
> [..]
> >> +    (synopsis
> >> +     "Fast fractions data type for rational numbers. Cythonized version of 'fractions.Fraction'.")
> >
> > I'd trim this to 'Fast fractions data type for rational numbers'
> >
> 
> Noted.
> 
> >> +    (description
> >> + "Fast fractions data type for rational
> >> numbers. Cythonized version of
> >> 'fractions.Fraction'.")
> >
> > And this I'd change to 'This package provides fast fractions data type
> > for rational numbers.  It is the cythonized version of
> > @quote{fractions.Fraction}.'
> >
> 
> Makes sense. What's the "@quote{}" syntax. Where
> would I get more of the documentation of the
> syntax to put in the description?
> 

Looks like @quote isn't actually one that we're using. I must've been
thinking of @code.

I know it's from texinfo but beyond that I'm not really sure. I normally
just copy what's available from other packages.

> >> +    (license license:psfl)))
> >> -- 
> >> 2.31.0
> >> 
> >
> > Speaking of cython, you should add a snippet to the source to remove any
> > cythionized source and make sure those files get rebuilt during the
> > build phase. Looking at setup.py it looks like you should remove
> > src/quictions.c and I think it tries to cythonize automatically.
> 
> For anyone reading this(in future), the cythonized
> .pyx files can stop matching CPython APIs across
> Python versions. An example of that here:
> https://github.com/slaypni/fastdtw/pull/40
> 
> -- 
> Bonface M. K. D4F09EB110177E03C28E2FE1F5BBAE1E0392253F
> Humble GNU Emacs User / Bearer of scheme-y parens
> Curator: <https://upbookclub.com> / Twitter: @BonfaceKilz



-- 
Efraim Flashner   <efraim <at> flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Wed, 14 Apr 2021 15:21:02 GMT) Full text and rfc822 format available.

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

From: Efraim Flashner <efraim <at> flashner.co.il>
To: "Bonface Munyoki K." <me <at> bonfacemunyoki.com>
Cc: 47593 <at> debbugs.gnu.org, jgart <at> dismail.de
Subject: Re: [bug#47593] [PATCH 6/6] gnu: python-xyz: Add python-abjad.
Date: Wed, 14 Apr 2021 18:19:16 +0300
[Message part 1 (text/plain, inline)]
On Wed, Apr 14, 2021 at 12:00:47AM +0300, Bonface Munyoki K. wrote:
> Efraim Flashner <efraim <at> flashner.co.il> writes:
> 
> > I would put this in music.scm near lilypond.
> >
> 
> Makes sense.
> 
> [...]
> >
> > If this is a package that would be installed then you can change the
> > name to abjad, no need to keep the python prefix.
> >
> 
> I don't quite get this. Do you mean a package that
> would be installed and run as some executable as
> opposed to a library?

The first package I can think of is offlineimap. 'guix import pypi
offlineimap' tries to name it python-offlineimap, but it's more likely
to be used as an actual executable rather than as a library for another
package, so we rename it back to offlineimap and put the python packages
which would have normally been in propagated-inputs in inputs instead.

> >> +(define-public python-abjad
> >> +  (package
> >> +    (name "python-abjad")
> >> +    (version "3.3")
> >> +    (source
> >> +     (origin
> >> +       (method url-fetch)
> >> +       (uri
> >> +        (string-append
> >> +         "https://github.com/Abjad/abjad/archive/refs/tags/v"
> >> +         version ".tar.gz"))
> >
> > This should be a pypi URI or be downloaded using git-fetch
> >
> Noted.
> 
> >> +       (sha256
> >> +        (base32
> >> +         "0dvj40g8kq1jdp09gb2chxxb7959vxv5h4m8ywg4qigsw3f11xnx"))))
> >> +    (build-system python-build-system)
> >> +    (arguments
> >> +     `(#:phases
> >> +       (modify-phases %standard-phases
> >> +         (add-after 'unpack 'patch-source
> >> +           (lambda _
> >> +             (substitute* "setup.py"
> >> +               (("uqbar>=0.4.4, <0.5.0") "uqbar>=0.4.4, <=0.5.1")
> >
> > I would just take off the <0.5.0 and not try to make it just high enough
> > to include the version packaged.
> >
> Makes sense!
> >> +               (("pytest>=5.4.3") "pytest>=5.3"))
> >
> > We also have pytest-6. Of course this is also fine.
> >
> Sure!
> >> +             #t))
> >> +         (replace 'check
> >> +           (lambda _
> >
> > (lambda* (#:key tests? #:allow-other-keys)
> >   (when tests?
> >
> Noted.
> >> +             ;; See: https://stackoverflow.com/a/34140498
> >> +             (invoke "python" "-m" "pytest" "tests")
> >> +             #t)))))
> >
> > I'm sure that not all of these need to be propagated. The source should
> > be patched to refer to lilypond and I'm guessing most of the rest can
> > either be inputs (they'll get wrapped with the python wrapper) or
> > native-inputs if they're only needed for tests.
> >
> 
> Makes a lot of sense!
> 
> >> +    (propagated-inputs
> >> +     `(("lilypond" ,lilypond) ;; Required for tests to pass!
> >> +       ("python-black" ,python-black)
> >> +       ("python-flake8" ,python-flake8)
> >> +       ("python-isort" ,python-isort)
> >> +       ("python-mypy" ,python-mypy)
> >> +       ("python-ply" ,python-ply)
> >> +       ("python-pytest" ,python-pytest)
> >> +       ("python-pytest-cov" ,python-pytest-cov)
> >> +       ("python-quicktions" ,python-quicktions)
> >> +       ("python-roman" ,python-roman)
> >> +       ("python-six" ,python-six)
> >> +       ("python-sphinx-autodoc-typehints"
> >> +        ,python-sphinx-autodoc-typehints)
> >> +       ("python-uqbar" ,python-uqbar)))
> >> +    (home-page "https://abjad.github.io")
> >> +    (synopsis
> >> +     "Abjad is a Python API for building LilyPond files.")
> >
> > I'd shorten this to "Python API for building LilyPind files"
> >
> 
> Thanks for the suggestions!
> 
> >> +    (description
> >> +     "Abjad is a Python API for building LilyPond files.")
> >> +    (license license:expat)))
> >> -- 
> >> 2.31.0
> >> 
> >> 
> >> 
> >> 
> 
> -- 
> Bonface M. K. D4F09EB110177E03C28E2FE1F5BBAE1E0392253F
> Humble GNU Emacs User / Bearer of scheme-y parens
> Curator: <https://upbookclub.com> / Twitter: @BonfaceKilz



-- 
Efraim Flashner   <efraim <at> flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Wed, 14 Apr 2021 20:56:02 GMT) Full text and rfc822 format available.

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

From: BonfaceKilz <me <at> bonfacemunyoki.com>
To: 47593 <at> debbugs.gnu.org
Cc: BonfaceKilz <me <at> bonfacemunyoki.com>, jgart <at> dismail.de,
 efraim <at> flashner.co.il
Subject: [PATCH v2 0/6] gnu: python-xyz: Add python-abjad.
Date: Wed, 14 Apr 2021 23:54:56 +0300
Find the revised patchset for the python-abjad package.

BonfaceKilz (6):
  gnu: Add python-roman.
  gnu: Add python-setuptools-declarative-requirements.
  gnu: Add python-pytest-helpers-namespace.
  gnu: Add python-uqbar.
  gnu: Add python-quicktions.
  gnu: Add abjad.

 gnu/packages/graphviz.scm     | 55 +++++++++++++++++++++++
 gnu/packages/music.scm        | 56 +++++++++++++++++++++++
 gnu/packages/python-check.scm | 35 +++++++++++++++
 gnu/packages/python-xyz.scm   | 83 +++++++++++++++++++++++++++++++++++
 4 files changed, 229 insertions(+)

-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Wed, 14 Apr 2021 20:56:02 GMT) Full text and rfc822 format available.

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

From: BonfaceKilz <me <at> bonfacemunyoki.com>
To: 47593 <at> debbugs.gnu.org
Cc: BonfaceKilz <me <at> bonfacemunyoki.com>, jgart <at> dismail.de,
 efraim <at> flashner.co.il
Subject: [PATCH v2 1/6] gnu: Add python-roman.
Date: Wed, 14 Apr 2021 23:54:57 +0300
* gnu/packages/python-xyz.scm (python-roman): New variable.

Co-authored-by: jgart <jgart <at> dismail.de>
---
 gnu/packages/python-xyz.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c01993ecd7..63d4bd77e1 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -3029,6 +3029,26 @@ cutting and pasting that code over and over.")
 (define-public python2-kitchen
   (package-with-python2 python-kitchen))
 
+(define-public python-roman
+  (package
+    (name "python-roman")
+    (version "3.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "roman" version))
+       (sha256
+        (base32
+         "0gyp2bmw47jgpm8j64gydzqq838bgxz5gh6cm57lxlr7p26sqiic"))))
+    (build-system python-build-system)
+    (home-page
+     "https://github.com/zopefoundation/roman")
+    (synopsis "Integer to Roman numerals converter")
+    (description
+     "This package provides a small helper library to convert Arabic Numbers
+to Roman Numerals.")
+    (license license:psfl)))
+
 (define-public python-unidecode
   (package
     (name "python-unidecode")
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Wed, 14 Apr 2021 20:56:03 GMT) Full text and rfc822 format available.

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

From: BonfaceKilz <me <at> bonfacemunyoki.com>
To: 47593 <at> debbugs.gnu.org
Cc: BonfaceKilz <me <at> bonfacemunyoki.com>, jgart <at> dismail.de,
 efraim <at> flashner.co.il
Subject: [PATCH v2 2/6] gnu: Add python-setuptools-declarative-requirements.
Date: Wed, 14 Apr 2021 23:54:58 +0300
* gnu/packages/python-xyz.scm (python-setuptools-declarative-requirements):
New variable.

Co-authored-by: jgart <jgart <at> dismail.de>
---
 gnu/packages/python-xyz.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 63d4bd77e1..1f89d92ebe 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -1275,6 +1275,34 @@ Python 3 support.")
                    license:asl2.0       ; packaging is dual ASL2/BSD-2
                    license:bsd-2))))
 
+(define-public python-setuptools-declarative-requirements
+  (package
+    (name "python-setuptools-declarative-requirements")
+    (version "1.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri
+             "setuptools-declarative-requirements"
+             version))
+       (sha256
+        (base32
+         "1l8zmcnp9h8sp8hsw7b81djaa1a9yig0y7i4phh5pihqz1gdn7yi"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-pytest" ,python-pytest)
+       ("python-setuptools-scm" ,python-setuptools-scm)))
+    (propagated-inputs
+     `(("python-toml" ,python-toml)
+       ("python-wheel" ,python-wheel)))
+    (home-page
+     "https://github.com/s0undt3ch/setuptools-declarative-requirements")
+    (synopsis
+     "File support for setuptools declarative setup.cfg")
+    (description
+     "This package provides file support for setuptools declarative setup.cfg")
+    (license license:asl2.0)))
+
 ;; The setuptools provided by Python 3.7.4 is too new for Tensorflow.
 (define-public python-setuptools-for-tensorflow
   (hidden-package
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Wed, 14 Apr 2021 20:56:03 GMT) Full text and rfc822 format available.

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

From: BonfaceKilz <me <at> bonfacemunyoki.com>
To: 47593 <at> debbugs.gnu.org
Cc: BonfaceKilz <me <at> bonfacemunyoki.com>, jgart <at> dismail.de,
 efraim <at> flashner.co.il
Subject: [PATCH v2 3/6] gnu: Add python-pytest-helpers-namespace.
Date: Wed, 14 Apr 2021 23:54:59 +0300
* gnu/packages/python-check.scm (python-pytest-helpers-namespace): New
variable.

Co-authored-by: jgart <jgart <at> dismail.de>
---
 gnu/packages/python-check.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index bde836a931..92887ef625 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus <at> gmail.com>
 ;;; Copyright © 2021 Brendan Tildesley <mail <at> brendan.scot>
 ;;; Copyright © 2021 Guillaume Le Vaillant <glv <at> posteo.net>
+;;; Copyright © 2021 Bonface Munyoki Kilyungi <me <at> bonfacemunyoki.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -374,6 +375,40 @@ provides a shortcut to testing all code and documentation for a given
 sub-package.")
     (license license:bsd-3)))
 
+(define-public python-pytest-helpers-namespace
+  (package
+    (name "python-pytest-helpers-namespace")
+    (version "2021.3.24")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pytest-helpers-namespace" version))
+       (sha256
+        (base32
+         "0pyj2d45zagmzlajzqdnkw5yz8k49pkihbydsqkzm413qnkzb38q"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             ;; Make the installed plugin discoverable by Pytest.
+             (add-installed-pythonpath inputs outputs)
+             (invoke "pytest" "-vv"))))))
+    (native-inputs
+     `(("python-pytest" ,python-pytest-6)
+       ("python-setuptools" ,python-setuptools)
+       ("python-setuptools-scm" ,python-setuptools-scm)
+       ("python-setuptools-declarative-requirements"
+        ,python-setuptools-declarative-requirements)))
+    (home-page
+     "https://github.com/saltstack/pytest-helpers-namespace")
+    (synopsis "Pytest Helpers Namespace Plugin")
+    (description "Pytest Helpers Namespace Plugin provides a helpers pytest
+namespace which can be used to register helper functions without requiring
+someone to import them in their actual tests to use them.")
+    (license license:asl2.0)))
+
 (define-public python-pytest-openfiles
   (package
     (name "python-pytest-openfiles")
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Wed, 14 Apr 2021 20:56:03 GMT) Full text and rfc822 format available.

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

From: BonfaceKilz <me <at> bonfacemunyoki.com>
To: 47593 <at> debbugs.gnu.org
Cc: BonfaceKilz <me <at> bonfacemunyoki.com>, jgart <at> dismail.de,
 efraim <at> flashner.co.il
Subject: [PATCH v2 6/6] gnu: Add abjad.
Date: Wed, 14 Apr 2021 23:55:02 +0300
* gnu/packages/music.scm (abjad): New variable.

Co-authored-by: jgart <jgart <at> dismail.de>
---
 gnu/packages/music.scm | 56 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 2b5f43cb14..b79c6d6a44 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -36,6 +36,7 @@
 ;;; Copyright © 2021 Leo Prikler <leo.prikler <at> student.tugraz.at>
 ;;; Copyright © 2021 Vinicius Monego <monego <at> posteo.net>
 ;;; Copyright © 2021 Brendan Tildesley <mail <at> brendan.scot>
+;;; Copyright © 2021 Bonface Munyoki Kilyungi <me <at> bonfacemunyoki.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -136,6 +137,7 @@
   #:use-module (gnu packages protobuf)
   #:use-module (gnu packages pulseaudio) ;libsndfile
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-check)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
@@ -143,6 +145,7 @@
   #:use-module (gnu packages readline)
   #:use-module (gnu packages rsync)
   #:use-module (gnu packages sdl)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages stb)
   #:use-module (gnu packages tcl)
@@ -1499,6 +1502,59 @@ Guile.")
     ;; more than an hour of silence, so double the max silent time.
     (properties `((max-silent-time . 7200)))))
 
+(define-public abjad
+  (package
+    (name "abjad")
+    (version "3.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+         (url "https://github.com/Abjad/abjad")
+         (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1dzf5v7pawbzkb4qxp4s5z4r3gibkk705pag83yvgzkx6fd6jf2g"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-source
+           (lambda _
+             (substitute* "setup.py"
+               (("uqbar>=0.5.1, <0.5.0") "uqbar>=0.5.0"))
+             #t))
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               ;; See: https://stackoverflow.com/a/34140498
+               (invoke "python" "-m" "pytest" "tests")
+               #t))))))
+    (native-inputs
+     `(("lilypond" ,lilypond)
+       ("python-black" ,python-black)
+       ("python-flake8" ,python-flake8)
+       ("python-iniconfig" ,python-iniconfig)
+       ("python-isort" ,python-isort)
+       ("python-mypy" ,python-mypy)
+       ("python-ply" ,python-ply)
+       ("python-pytest" ,python-pytest-6)
+       ("python-pytest-cov" ,python-pytest-cov)
+       ("python-sphinx-autodoc-typehints"
+        ,python-sphinx-autodoc-typehints)))
+    (propagated-inputs
+     `(("python-quicktions" ,python-quicktions)
+       ("python-roman" ,python-roman)
+       ("python-six" ,python-six)
+       ("python-uqbar" ,python-uqbar)))
+    (home-page "https://abjad.github.io")
+    (synopsis
+     "Python API for building LilyPond files")
+    (description
+     "This package provides a Python API for building LilyPond files.")
+    (license license:expat)))
+
 (define-public non-sequencer
   ;; The latest tagged release is three years old and uses a custom build
   ;; system, so we take the last commit.
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Wed, 14 Apr 2021 20:56:04 GMT) Full text and rfc822 format available.

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

From: BonfaceKilz <me <at> bonfacemunyoki.com>
To: 47593 <at> debbugs.gnu.org
Cc: BonfaceKilz <me <at> bonfacemunyoki.com>, jgart <at> dismail.de,
 efraim <at> flashner.co.il
Subject: [PATCH v2 5/6] gnu: Add python-quicktions.
Date: Wed, 14 Apr 2021 23:55:01 +0300
* gnu/packages/python-xyz.scm (python-quicktions): New variable.

Co-authored-by: jgart <jgart <at> dismail.de>
---
 gnu/packages/python-xyz.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 1f89d92ebe..1e7b9caa47 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -24687,6 +24687,41 @@ Django template systems, the filters can be used in any environment.")
 runs on, such as a reliable machine-readable ID, or version information.")
     (license license:asl2.0)))
 
+(define-public python-quicktions
+  (package
+    (name "python-quicktions")
+    (version "1.11")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "quicktions" version))
+       (sha256
+        (base32
+         "1px21a6x527i1bsr2p6bbf3jziqpvd1vjkvvzh13gsy4iip0yvzn"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           ;; This file is generated by Cython.
+           (delete-file "src/quicktions.c") #t))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'cythonize-sources
+           (lambda _
+             (with-directory-excursion "src"
+               (invoke "cython" "quicktions.pyx")))))))
+    (native-inputs
+     `(("python-cython" ,python-cython)))
+    (home-page
+     "https://github.com/scoder/quicktions")
+    (synopsis
+     "Fast fractions data type for rational numbers")
+    (description
+     "This package provides fast fractions data type for rational numbers.  It
+is the cythonized version of @code{fractions.Fraction}.")
+    (license license:psfl)))
+
 (define-public python-pathvalidate
   (package
     (name "python-pathvalidate")
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Wed, 14 Apr 2021 20:56:04 GMT) Full text and rfc822 format available.

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

From: BonfaceKilz <me <at> bonfacemunyoki.com>
To: 47593 <at> debbugs.gnu.org
Cc: BonfaceKilz <me <at> bonfacemunyoki.com>, jgart <at> dismail.de,
 efraim <at> flashner.co.il
Subject: [PATCH v2 4/6] gnu: Add python-uqbar.
Date: Wed, 14 Apr 2021 23:55:00 +0300
* gnu/packages/graphviz.scm (python-uqbar): New variable.

Co-authored-by: jgart <jgart <at> dismail.de>
---
 gnu/packages/graphviz.scm | 55 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)

diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm
index b5c4774d5c..29e151590e 100644
--- a/gnu/packages/graphviz.scm
+++ b/gnu/packages/graphviz.scm
@@ -9,6 +9,7 @@
 ;;; Copyright © 2020 Marius Bakke <mbakke <at> fastmail.com>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll <at> gmail.com>
 ;;; Copyright © 2020 Pjotr Prins <pjotr.guix <at> thebird.nl>
+;;; Copyright © 2021 Bonface Munyoki Kilyungi <me <at> bonfacemunyoki.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -48,7 +49,9 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-check)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages tex)
@@ -242,6 +245,58 @@ structure and layout algorithms.")
 (define-public python2-pygraphviz
   (package-with-python2 python-pygraphviz))
 
+(define-public python-uqbar
+  (package
+    (name "python-uqbar")
+    (version "0.5.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/josiah-wolf-oberholtzer/uqbar")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0413nyhd8z8v3lvsgaghhafnyxg90fi1q80j1kbl21gpmpnc9a7n"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch
+           (lambda _
+             (substitute* "setup.py"
+               ;; Latest versions of sphink-rtd-theme require npm to build.
+               (("sphinx-rtd-theme >= 0.4.0") "sphinx-rtd-theme >= 0.2.4")
+               (("black == 19.10b0") "black >= 19.10b0"))
+             #t))
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "python" "-m" "pytest" "tests"))
+             #t)))))
+    (native-inputs
+     `(("graphviz" ,graphviz)
+       ("python-black" ,python-black)
+       ("python-flake8" ,python-flake8)
+       ("python-isort" ,python-isort)
+       ("python-mypy" ,python-mypy)
+       ("python-sphinx" ,python-sphinx)
+       ("python-pytest" ,python-pytest)
+       ("python-pytest-cov" ,python-pytest-cov)))
+    (propagated-inputs
+     `(("python-sphinx-rtd-theme"
+        ,python-sphinx-rtd-theme)
+       ("python-unidecode" ,python-unidecode)))
+    (home-page
+     "https://github.com/josiah-wolf-oberholtzer/uqbar")
+    (synopsis
+     "Tools for building documentation with Sphinx, Graphviz and LaTeX")
+    (description
+     "This package contains tools for building documentation with Sphinx,
+Graphviz and LaTeX")
+    (license license:expat)))
+
 (define-public gts
   (package
     (name "gts")
-- 
2.31.1





Reply sent to Efraim Flashner <efraim <at> flashner.co.il>:
You have taken responsibility. (Thu, 15 Apr 2021 13:15:02 GMT) Full text and rfc822 format available.

Notification sent to BonfaceKilz <me <at> bonfacemunyoki.com>:
bug acknowledged by developer. (Thu, 15 Apr 2021 13:15:02 GMT) Full text and rfc822 format available.

Message #91 received at 47593-done <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: BonfaceKilz <me <at> bonfacemunyoki.com>
Cc: jgart <at> dismail.de, 47593-done <at> debbugs.gnu.org
Subject: Re: [PATCH v2 0/6] gnu: python-xyz: Add python-abjad.
Date: Thu, 15 Apr 2021 14:35:21 +0300
[Message part 1 (text/plain, inline)]
Looks good! Patches pushed.


On Wed, Apr 14, 2021 at 11:54:56PM +0300, BonfaceKilz wrote:
> Find the revised patchset for the python-abjad package.
> 
> BonfaceKilz (6):
>   gnu: Add python-roman.
>   gnu: Add python-setuptools-declarative-requirements.
>   gnu: Add python-pytest-helpers-namespace.
>   gnu: Add python-uqbar.
>   gnu: Add python-quicktions.
>   gnu: Add abjad.
> 
>  gnu/packages/graphviz.scm     | 55 +++++++++++++++++++++++
>  gnu/packages/music.scm        | 56 +++++++++++++++++++++++
>  gnu/packages/python-check.scm | 35 +++++++++++++++
>  gnu/packages/python-xyz.scm   | 83 +++++++++++++++++++++++++++++++++++
>  4 files changed, 229 insertions(+)
> 
> -- 
> 2.31.1
> 

-- 
Efraim Flashner   <efraim <at> flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#47593; Package guix-patches. (Thu, 15 Apr 2021 13:33:02 GMT) Full text and rfc822 format available.

Message #94 received at 47593-done <at> debbugs.gnu.org (full text, mbox):

From: Bonface Munyoki K. <me <at> bonfacemunyoki.com>
To: Efraim Flashner <efraim <at> flashner.co.il>
Cc: jgart <at> dismail.de, 47593-done <at> debbugs.gnu.org
Subject: Re: [PATCH v2 0/6] gnu: python-xyz: Add python-abjad.
Date: Thu, 15 Apr 2021 16:32:24 +0300
[Message part 1 (text/plain, inline)]
Efraim Flashner <efraim <at> flashner.co.il> writes:

> Looks good! Patches pushed.
>
Thanks!
>
> On Wed, Apr 14, 2021 at 11:54:56PM +0300, BonfaceKilz wrote:
>> Find the revised patchset for the python-abjad package.
>> 
>> BonfaceKilz (6):
>>   gnu: Add python-roman.
>>   gnu: Add python-setuptools-declarative-requirements.
>>   gnu: Add python-pytest-helpers-namespace.
>>   gnu: Add python-uqbar.
>>   gnu: Add python-quicktions.
>>   gnu: Add abjad.
>> 
>>  gnu/packages/graphviz.scm     | 55 +++++++++++++++++++++++
>>  gnu/packages/music.scm        | 56 +++++++++++++++++++++++
>>  gnu/packages/python-check.scm | 35 +++++++++++++++
>>  gnu/packages/python-xyz.scm   | 83 +++++++++++++++++++++++++++++++++++
>>  4 files changed, 229 insertions(+)
>> 
>> -- 
>> 2.31.1
>> 

-- 
Bonface M. K. D4F09EB110177E03C28E2FE1F5BBAE1E0392253F
Humble GNU Emacs User / Bearer of scheme-y parens
Curator: <https://upbookclub.com> / Twitter: @BonfaceKilz
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 14 May 2021 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 319 days ago.

Previous Next


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