diff --git a/pkgs/development/libraries/libremidi/default.nix b/pkgs/development/libraries/libremidi/default.nix new file mode 100644 index 00000000000..63a7f0ce528 --- /dev/null +++ b/pkgs/development/libraries/libremidi/default.nix @@ -0,0 +1,44 @@ +{ alsa-lib +, cmake +, CoreAudio +, CoreFoundation +, CoreMIDI +, CoreServices +, fetchFromGitHub +, lib +, stdenv +}: + +stdenv.mkDerivation { + pname = "libremidi"; + version = "unstable-2023-05-05"; + + src = fetchFromGitHub { + owner = "jcelerier"; + repo = "libremidi"; + rev = "cd2e52d59c8ecc97d751619072c4f4271fa82455"; + hash = "sha256-CydoCprxqDl5FXjtgT+AckaRTqQAlCDwwrnPDK17A6o="; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = lib.optional stdenv.isLinux alsa-lib + ++ lib.optionals stdenv.isDarwin [ + CoreAudio + CoreFoundation + CoreMIDI + CoreServices + ]; + + postInstall = '' + cp -r $src/include $out + ''; + + meta = { + description = "A modern C++ MIDI real-time & file I/O library"; + homepage = "https://github.com/jcelerier/libremidi"; + maintainers = [ lib.maintainers.paveloom ]; + license = lib.licenses.bsd2; + platforms = lib.platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 68bed0c6864..35d4f2d0beb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22000,6 +22000,14 @@ with pkgs; librem = callPackage ../development/libraries/librem { }; + libremidi = callPackage ../development/libraries/libremidi { + inherit (darwin.apple_sdk.frameworks) + CoreAudio + CoreFoundation + CoreMIDI + CoreServices; + }; + librelp = callPackage ../development/libraries/librelp { }; librepo = callPackage ../tools/package-management/librepo {