at 24.11-pre 1.7 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchPypi, 5 ply, 6 roman, 7 uqbar, 8 pythonOlder, 9 pytestCheckHook, 10 lilypond, 11}: 12 13buildPythonPackage rec { 14 pname = "abjad"; 15 version = "3.19"; 16 format = "setuptools"; 17 18 disabled = pythonOlder "3.10"; 19 20 src = fetchPypi { 21 inherit pname version; 22 hash = "sha256-I9t3ORUKFFlMfXJsAzXhCzl1B4a9/ZNmvSX2/R44TPs="; 23 }; 24 25 propagatedBuildInputs = [ 26 ply 27 roman 28 uqbar 29 ]; 30 31 buildInputs = [ lilypond ]; 32 33 nativeCheckInputs = [ pytestCheckHook ]; 34 35 postPatch = '' 36 substituteInPlace abjad/io.py \ 37 --replace 'lilypond_path = self.get_lilypond_path()' \ 38 'lilypond_path = "${lilypond}/bin/lilypond"' 39 # general invocations of binary for IO purposes 40 41 substituteInPlace abjad/configuration.py \ 42 --replace '["lilypond"' '["${lilypond}/bin/lilypond"' 43 # get_lilypond_version_string 44 ''; 45 46 pythonImportsCheck = [ "abjad" ]; 47 48 meta = { 49 description = "GNU LilyPond wrapper for Python"; 50 longDescription = '' 51 Abjad helps composers build up complex pieces of music notation in 52 iterative and incremental ways. Use Abjad to create a symbolic 53 representation of all the notes, rests, chords, tuplets, beams and slurs 54 in any score. Because Abjad extends the Python programming language, you 55 can use Abjad to make systematic changes to music as you work. Because 56 Abjad wraps the LilyPond music notation package, you can use Abjad to 57 control the typographic detail of symbols on the page. 58 ''; 59 license = lib.licenses.mit; 60 homepage = "https://abjad.github.io/"; 61 changelog = "https://abjad.github.io/appendices/changes.html"; 62 maintainers = [ lib.maintainers.davisrichard437 ]; 63 }; 64}