1{ stdenv
2, lib
3, buildPythonPackage
4, fetchPypi
5, substituteAll
6, portmidi
7, python-rtmidi
8, pytestCheckHook
9, setuptools
10, setuptools-scm
11}:
12
13buildPythonPackage rec {
14 pname = "mido";
15 version = "1.3.0";
16 format = "pyproject";
17
18 src = fetchPypi {
19 inherit pname version;
20 sha256 = "sha256-hCguOs40vKP5hCINstvLmCRc/q+4VCYMAuAAdQ3Khqo=";
21 };
22
23 patches = [
24 (substituteAll {
25 src = ./libportmidi-cdll.patch;
26 libportmidi = "${portmidi.out}/lib/libportmidi${stdenv.hostPlatform.extensions.sharedLibrary}";
27 })
28 ];
29
30 nativeBuildInputs = [
31 setuptools
32 setuptools-scm
33 ];
34
35 propagatedBuildInputs = [
36 python-rtmidi
37 ];
38
39 nativeCheckInputs = [
40 pytestCheckHook
41 ];
42
43 pythonImportsCheck = [
44 "mido"
45 ];
46
47 meta = with lib; {
48 description = "MIDI Objects for Python";
49 homepage = "https://mido.readthedocs.io";
50 license = licenses.mit;
51 maintainers = with maintainers; [ ];
52 };
53}