diff options
author | Andrew Kelley <superjoe30@gmail.com> | 2015-09-11 16:59:28 -0700 |
---|---|---|
committer | Andrew Kelley <superjoe30@gmail.com> | 2015-09-11 16:59:28 -0700 |
commit | 3f47c2fb2c0cae48a715126d51703aea2ead0d27 (patch) | |
tree | 5012bb0e15639b686532afac96f93c9e5df7815c /pkgs/misc | |
parent | 0c87405315292a641c618f65655711ad1df2bc3d (diff) |
add libjack2-git
closes #9467
Diffstat (limited to 'pkgs/misc')
-rw-r--r-- | pkgs/misc/jackaudio/git.nix | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/pkgs/misc/jackaudio/git.nix b/pkgs/misc/jackaudio/git.nix new file mode 100644 index 0000000000000..fb47128595e21 --- /dev/null +++ b/pkgs/misc/jackaudio/git.nix @@ -0,0 +1,78 @@ +{ stdenv, fetchFromGitHub, pkgconfig, python, makeWrapper +, bash, libsamplerate, libsndfile, readline + +# Optional Dependencies +, dbus ? null, pythonDBus ? null, libffado ? null, alsaLib ? null +, libopus ? null + +# Extra options +, prefix ? "" +}: + +with stdenv.lib; +let + shouldUsePkg = pkg: if pkg != null && stdenv.lib.any (x: x == stdenv.system) pkg.meta.platforms then pkg else null; + + libOnly = prefix == "lib"; + + optDbus = shouldUsePkg dbus; + optPythonDBus = if libOnly then null else shouldUsePkg pythonDBus; + optLibffado = if libOnly then null else shouldUsePkg libffado; + optAlsaLib = if libOnly then null else shouldUsePkg alsaLib; + optLibopus = shouldUsePkg libopus; +in +stdenv.mkDerivation rec { + name = "${prefix}jack2-${version}"; + version = "2015-09-03"; + + src = fetchFromGitHub { + owner = "jackaudio"; + repo = "jack2"; + rev = "2e8c5502c692a25f1c0213f3f7eeba1f4434da3c"; + sha256 = "0r1xdshm251yqb748r5l5f6xpznhwlqyyxkky7vgx5m2q51qb0a1"; + }; + + nativeBuildInputs = [ pkgconfig python makeWrapper ]; + buildInputs = [ + python + + libsamplerate libsndfile readline + + optDbus optPythonDBus optLibffado optAlsaLib optLibopus + ]; + + patchPhase = '' + substituteInPlace svnversion_regenerate.sh --replace /bin/bash ${bash}/bin/bash + ''; + + configurePhase = '' + python waf configure --prefix=$out \ + ${optionalString (optDbus != null) "--dbus"} \ + --classic \ + --profile \ + ${optionalString (optLibffado != null) "--firewire"} \ + ${optionalString (optAlsaLib != null) "--alsa"} \ + --autostart=${if (optDbus != null) then "dbus" else "classic"} \ + ''; + + buildPhase = '' + python waf build + ''; + + installPhase = '' + python waf install + '' + (if libOnly then '' + rm -rf $out/{bin,share} + rm -rf $out/lib/{jack,libjacknet*,libjackserver*} + '' else '' + wrapProgram $out/bin/jack_control --set PYTHONPATH $PYTHONPATH + ''); + + meta = { + description = "JACK audio connection kit, version 2 with jackdbus"; + homepage = "http://jackaudio.org"; + license = licenses.gpl2Plus; + platforms = platforms.unix; + maintainers = with maintainers; [ goibhniu wkennington ]; + }; +} |