1{ alsa-lib
2, cmake
3, CoreAudio
4, CoreFoundation
5, CoreMIDI
6, CoreServices
7, fetchFromGitHub
8, lib
9, stdenv
10}:
11
12stdenv.mkDerivation {
13 pname = "libremidi";
14 version = "unstable-2023-05-05";
15
16 src = fetchFromGitHub {
17 owner = "jcelerier";
18 repo = "libremidi";
19 rev = "cd2e52d59c8ecc97d751619072c4f4271fa82455";
20 hash = "sha256-CydoCprxqDl5FXjtgT+AckaRTqQAlCDwwrnPDK17A6o=";
21 };
22
23 nativeBuildInputs = [ cmake ];
24
25 buildInputs = lib.optional stdenv.isLinux alsa-lib
26 ++ lib.optionals stdenv.isDarwin [
27 CoreAudio
28 CoreFoundation
29 CoreMIDI
30 CoreServices
31 ];
32
33 postInstall = ''
34 cp -r $src/include $out
35 '';
36
37 meta = {
38 description = "A modern C++ MIDI real-time & file I/O library";
39 homepage = "https://github.com/jcelerier/libremidi";
40 maintainers = [ lib.maintainers.paveloom ];
41 license = lib.licenses.bsd2;
42 platforms = lib.platforms.all;
43 };
44}