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

From: Efraim Flashner <[email-masked]>
Date: Wed, 14 Apr 2021 18:14:56 +0300

On Tue, Apr 13, 2021 at 11:52:15PM +0300, Bonface Munyoki K. wrote:
> Efraim Flashner <[email-masked]> 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   <[email-masked]>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted