From 04aefc111b03f711c65dbb1f97d10a8c31aeaae7 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 25 Apr 2015 20:14:56 -0700 Subject: jack1: Refactor --- pkgs/misc/jackaudio/jack1.nix | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) (limited to 'pkgs') diff --git a/pkgs/misc/jackaudio/jack1.nix b/pkgs/misc/jackaudio/jack1.nix index d424452ecd58..1c5c78548f5b 100644 --- a/pkgs/misc/jackaudio/jack1.nix +++ b/pkgs/misc/jackaudio/jack1.nix @@ -1,8 +1,18 @@ -{ stdenv, fetchurl, pkgconfig, alsaLib, db, libuuid -, firewireSupport ? false, ffado ? null }: +{ stdenv, fetchurl, pkgconfig -assert firewireSupport -> ffado != null; +# Optional Dependencies +, alsaLib ? null, db ? null, libuuid ? null, libffado ? null, celt ? null +}: +let + shouldUsePkg = pkg: if pkg != null && stdenv.lib.any (x: x == stdenv.system) pkg.meta.platforms then pkg else null; + + optAlsaLib = shouldUsePkg alsaLib; + optDb = shouldUsePkg db; + optLibuuid = shouldUsePkg libuuid; + optLibffado = shouldUsePkg libffado; + optCelt = shouldUsePkg celt; +in stdenv.mkDerivation rec { name = "jack1-${version}"; version = "0.124.1"; @@ -12,19 +22,18 @@ stdenv.mkDerivation rec { sha256 = "1mk1wnx33anp6haxfjjkfhwbaknfblsvj35nxvz0hvspcmhdyhpb"; }; - preBuild = "echo ok"; - configureFlags = '' - ${if firewireSupport then "--enable-firewire" else ""} + ${if (optLibffado != null) then "--enable-firewire" else ""} ''; - buildInputs = - [ pkgconfig alsaLib db libuuid - ] ++ (stdenv.lib.optional firewireSupport ffado); + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ optAlsaLib optDb optLibuuid optLibffado optCelt ]; - meta = { + meta = with stdenv.lib; { description = "JACK audio connection kit"; homepage = "http://jackaudio.org"; license = "GPL"; + platforms = platforms.unix; + maintainers = with maintainers; [ wkennington ]; }; } -- cgit 1.4.1