1{ 2 lib, 3 stdenv, 4 alabaster, 5 alsa-lib, 6 buildPythonPackage, 7 CoreAudio, 8 CoreMIDI, 9 CoreServices, 10 Foundation, 11 cython, 12 fetchPypi, 13 flake8, 14 libjack2, 15 meson-python, 16 ninja, 17 pkg-config, 18 pythonOlder, 19 tox, 20 wheel, 21}: 22 23buildPythonPackage rec { 24 pname = "python-rtmidi"; 25 version = "1.5.8"; 26 format = "pyproject"; 27 28 disabled = pythonOlder "3.8"; 29 30 src = fetchPypi { 31 pname = "python_rtmidi"; 32 inherit version; 33 hash = "sha256-f5reaLBorgkADstWKulSHaOiNDYa1USeg/xzRUTQBPo="; 34 }; 35 36 nativeBuildInputs = [ 37 cython 38 meson-python 39 ninja 40 pkg-config 41 wheel 42 ]; 43 44 buildInputs = 45 [ ] 46 ++ lib.optionals stdenv.isLinux [ 47 libjack2 48 alsa-lib 49 ] 50 ++ lib.optionals stdenv.isDarwin [ 51 CoreAudio 52 CoreMIDI 53 CoreServices 54 Foundation 55 ]; 56 57 nativeCheckInputs = [ 58 tox 59 flake8 60 alabaster 61 ]; 62 63 pythonImportsCheck = [ "rtmidi" ]; 64 65 meta = with lib; { 66 description = "A Python binding for the RtMidi C++ library implemented using Cython"; 67 homepage = "https://github.com/SpotlightKid/python-rtmidi"; 68 changelog = "https://github.com/SpotlightKid/python-rtmidi/blob/${version}/CHANGELOG.md"; 69 license = licenses.mit; 70 maintainers = with maintainers; [ ]; 71 }; 72}