{ stdenv, lib, fetchFromGitHub, pkg-config, meson, ninja, jack, alsa-lib, libopus, libsamplerate, libsndfile, readline, zita-alsa-pcmi, zita-resampler, enableAlsa ? stdenv.hostPlatform.isLinux, }: stdenv.mkDerivation (final: { pname = "jack-example-tools"; version = "4"; src = fetchFromGitHub { owner = "jackaudio"; repo = "jack-example-tools"; rev = "tags/${final.version}"; hash = "sha256-5jmynNxwNVLxEZ1MaqQUG6kRwipDkjhrdDCbZHtmAHk="; }; postPatch = '' patchShebangs scripts ''; nativeBuildInputs = [ pkg-config meson ninja ]; buildInputs = [ jack libopus libsamplerate libsndfile readline ] ++ lib.optionals enableAlsa [ alsa-lib zita-alsa-pcmi zita-resampler ]; mesonFlags = [ (lib.mesonEnable "alsa_in_out" enableAlsa) (lib.mesonEnable "zalsa" enableAlsa) ]; # no tests defined, but prepare for some in the future. doCheck = true; meta = with lib; { description = "Official examples and tools from the JACK project"; homepage = "https://jackaudio.org"; license = licenses.gpl2Plus; platforms = platforms.unix; maintainers = [ ]; }; })