diff --git a/pkgs/applications/networking/mumble/default.nix b/pkgs/applications/networking/mumble/default.nix index 8ed7c8d64d4..43fbe952b18 100644 --- a/pkgs/applications/networking/mumble/default.nix +++ b/pkgs/applications/networking/mumble/default.nix @@ -1,9 +1,18 @@ -{ stdenv, fetchurl, qt4, boost, speechd, protobuf, libsndfile, - speex, libopus, avahi, pkgconfig, -jackSupport ? false, -jackaudio ? null }: +{ stdenv, fetchurl, qt4, boost, protobuf, libsndfile +, speex, libopus, avahi, pkgconfig +, jackSupport ? false +, jackaudio ? null +, speechdSupport ? false +, speechd ? null +}: +assert jackSupport -> jackaudio != null; +assert speechdSupport -> speechd != null; +let + optional = stdenv.lib.optional; + optionalString = stdenv.lib.optionalString; +in stdenv.mkDerivation rec { name = "mumble-" + version; version = "1.2.4"; @@ -13,35 +22,33 @@ stdenv.mkDerivation rec { sha256 = "16wwj6gwcnyjlnzh7wk0l255ldxmbwx0wi652sdp20lsv61q7kx1"; }; - patchPhase = '' - patch -p1 < ${ ./mumble-jack-support.patch } - ''; + patches = optional jackSupport ./mumble-jack-support.patch; configurePhase = '' qmake CONFIG+=no-g15 CONFIG+=no-update CONFIG+=no-server \ CONFIG+=no-embed-qt-translations CONFIG+=packaged \ CONFIG+=bundled-celt CONFIG+=no-bundled-opus \ + ${optionalString (!speechdSupport) "CONFIG+=no-speechd"} \ + ${optionalString jackSupport "CONFIG+=no-oss CONFIG+=no-alsa CONFIG+=jackaudio"} \ CONFIG+=no-bundled-speex - '' - + stdenv.lib.optionalString jackSupport '' - CONFIG+=no-oss CONFIG+=no-alsa CONFIG+=jackaudio ''; - buildInputs = [ qt4 boost speechd protobuf libsndfile speex + buildInputs = [ qt4 boost protobuf libsndfile speex libopus avahi pkgconfig ] - ++ (stdenv.lib.optional jackSupport jackaudio); + ++ (optional jackSupport jackaudio) + ++ (optional speechdSupport speechd); installPhase = '' mkdir -p $out cp -r ./release $out/bin ''; - meta = { - homepage = http://mumble.sourceforge.net/; + meta = with stdenv.lib; { + homepage = "http://mumble.sourceforge.net/"; description = "Low-latency, high quality voice chat software"; - license = "BSD"; - platforms = with stdenv.lib.platforms; linux; - maintainers = with stdenv.lib.maintainers; [viric]; + license = licenses.bsd3; + platforms = platforms.linux; + maintainers = with maintainers; [ viric ]; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 929fd87e963..b9dd8bd4b8d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8371,6 +8371,7 @@ let withLibdnssdCompat = true; }; jackSupport = config.mumble.jackSupport or false; + speechdSupport = config.mumble.speechdSupport or false; }; murmur = callPackage ../applications/networking/mumble/murmur.nix {