Files
nixpkgs/pkgs/development/python-modules/python-rtmidi/default.nix
T
Zhong Jianxin 0ee24e0b6e python3.pkgs.python-rtmidi: Fix build on darwin
When libjack2 enabled on darwin, build fails with error:

```
  ../../src/rtmidi/RtMidi.cpp:3580:5: error: use of undeclared identifier 'sem_timedwait'
      sem_timedwait( &data->sem_cleanup, &ts );
      ^
```
2023-09-08 16:13:31 +02:00

72 lines
1.2 KiB
Nix

{ lib
, stdenv
, alabaster
, alsa-lib
, buildPythonPackage
, CoreAudio
, CoreMIDI
, CoreServices
, Foundation
, cython_3
, fetchPypi
, flake8
, libjack2
, meson-python
, ninja
, pkg-config
, pythonOlder
, tox
, wheel
}:
buildPythonPackage rec {
pname = "python-rtmidi";
version = "1.5.5";
format = "pyproject";
disabled = pythonOlder "3.8";
src = fetchPypi {
pname = "python_rtmidi";
inherit version;
hash = "sha256-Pz6bD6SX6BPMC91zsorgeXfJGAPk1VULx8ejShUBy94=";
};
nativeBuildInputs = [
cython_3
meson-python
ninja
pkg-config
wheel
];
buildInputs = [
] ++ lib.optionals stdenv.isLinux [
libjack2
alsa-lib
] ++ lib.optionals stdenv.isDarwin [
CoreAudio
CoreMIDI
CoreServices
Foundation
];
nativeCheckInputs = [
tox
flake8
alabaster
];
pythonImportsCheck = [
"rtmidi"
];
meta = with lib; {
description = "A Python binding for the RtMidi C++ library implemented using Cython";
homepage = "https://github.com/SpotlightKid/python-rtmidi";
changelog = "https://github.com/SpotlightKid/python-rtmidi/blob/${version}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ hexa ];
};
}