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? >> +(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