nixpkgs/pkgs/misc/jackaudio/default.nix

49 lines
1.7 KiB
Nix
Raw Normal View History

# Perhaps we can get some ideas from here ? http://gentoo-wiki.com/HOWTO_Jack
# still much to test but it compiles now
{ composableDerivation, fetchurl, pkgconfig, alsaLib }:
let inherit (composableDerivation) edf; in
composableDerivation.composableDerivation {} {
name = "jack-0.120.1";
src = fetchurl {
url = "mirror://sourceforge/jackit/jack-audio-connection-kit-0.120.1.tar.gz";
sha256 = "02h8536c67059gq2vsl323kvy9jak9dp0syi1h58awlkbgzlg80d";
};
buildInputs = [ pkgconfig ];
flags =
# FIXME: tidy up
edf { name = "posix-shm"; } #use POSIX shm API
// edf { name = "timestamps"; } # allow clients to use the JACK timestamp API
// edf { name = "capabilities"; } #use libcap to gain realtime scheduling priviledges
// edf { name = "oldtrans"; } #remove old transport interfaces
// edf { name = "stripped-jackd"; } #strip jack before computing its md5 sum
// edf { name = "portaudio"; } #ignore PortAudio driver
// edf { name = "coreaudio"; } #ignore CoreAudio driver
// edf { name = "oss"; } #ignore OSS driver
// edf { name = "freebob"; } #ignore FreeBob driver
// edf { name = "alsa"; enable = { buildInputs = [ alsaLib ]; }; };
cfg = {
posix_shmSupport = true;
timestampsSupport = true;
alsaSupport = true;
};
# make sure the jackaudio is found by symlinking lib64 to lib
postInstall = ''
ensureDir $out/lib
ln -s $out/lib{64,}/pkgconfig
'';
meta = {
description = "JACK audio connection kit";
homepage = "http://jackaudio.org";
license = "GPL";
};
}