On Wed, Apr 14, 2021 at 12:00:47AM +0300, Bonface Munyoki K. wrote: > Efraim Flashner 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: / Twitter: @BonfaceKilz -- Efraim Flashner אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted