Subject: Re: [bug#47593] [PATCH 3/6] gnu: python-xyz: Add python-uqbar.

From: Efraim Flashner <[email-masked]>
Date: Tue, 13 Apr 2021 16:14:28 +0300

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 <[email-masked]>
> ---
>  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 <[email-masked]>
>  ;;; Copyright © 2020 Joseph LaFreniere <[email-masked]>
>  ;;; Copyright © 2020 Tim Gesthuizen <[email-masked]>
> -;;; Copyright © 2020 Bonface Munyoki Kilyungi <[email-masked]>
> +;;; Copyright © 2020, 2021 Bonface Munyoki Kilyungi <[email-masked]>
>  ;;; Copyright © 2020 Ekaitz Zarraga <[email-masked]>
>  ;;; Copyright © 2020 Diego N. Barbato <[email-masked]>
>  ;;; Copyright © 2020 Leo Prikler <[email-masked]>
> @@ -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   <[email-masked]>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted