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