summary refs log tree commit diff
path: root/pkgs/applications/networking/mumble/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/networking/mumble/default.nix')
-rw-r--r--pkgs/applications/networking/mumble/default.nix57
1 files changed, 36 insertions, 21 deletions
diff --git a/pkgs/applications/networking/mumble/default.nix b/pkgs/applications/networking/mumble/default.nix
index 7b9396ff5ff..358a0bb1228 100644
--- a/pkgs/applications/networking/mumble/default.nix
+++ b/pkgs/applications/networking/mumble/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchurl, qt4, boost, protobuf, libsndfile
-, speex, libopus, avahi, pkgconfig
-, jackSupport ? false
-, jack2 ? null
-, speechdSupport ? false
-, speechd ? null
+{ stdenv, fetchurl, pkgconfig
+, avahi, boost, libopus, libsndfile, protobuf, qt4, speex
+, jackSupport ? false, jack2 ? null
+, speechdSupport ? false, speechd ? null
+, pulseSupport ? false, pulseaudio ? null
 }:
 
 assert jackSupport -> jack2 != null;
 assert speechdSupport -> speechd != null;
+assert pulseSupport -> pulseaudio != null;
 
 let
   optional = stdenv.lib.optional;
@@ -15,40 +15,55 @@ let
 in
 stdenv.mkDerivation rec {
   name = "mumble-" + version;
-  version = "1.2.7";
+  version = "1.2.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/mumble/${name}.tar.gz";
-    sha256 = "0zjqkkdkcvgmqic6np87hj6b6f851lkzyd6y3cqj6zzacjvps31d";
+    sha256 = "0ng1xd7i0951kqnd9visf84y2dcwia79a1brjwfvr1wnykgw6bsc";
   };
 
   patches = optional jackSupport ./mumble-jack-support.patch;
 
+  configureFlags = [
+    "CONFIG+=shared"
+    "CONFIG+=no-g15"
+    "CONFIG+=packaged"
+    "CONFIG+=no-update"
+    "CONFIG+=no-server"
+    "CONFIG+=no-embed-qt-translations"
+    "CONFIG+=bundled-celt"
+    "CONFIG+=no-bundled-opus"
+    "CONFIG+=no-bundled-speex"
+  ] ++ optional (!speechdSupport) "CONFIG+=no-speechd"
+    ++ optional jackSupport "CONFIG+=no-oss CONFIG+=no-alsa CONFIG+=jackaudio";
+
   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
+    qmake $configureFlags
   '';
 
+  nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ qt4 boost protobuf libsndfile speex
-    libopus avahi pkgconfig ]
-    ++ (optional jackSupport jack2)
-    ++ (optional speechdSupport speechd);
+  buildInputs = [ avahi boost libopus libsndfile protobuf qt4 speex ]
+    ++ optional jackSupport jack2
+    ++ optional speechdSupport speechd
+    ++ optional pulseSupport pulseaudio;
 
   installPhase = ''
     mkdir -p $out
     cp -r ./release $out/bin
+
+    mkdir -p $out/share/applications
+    cp scripts/mumble.desktop $out/share/applications
+
+    mkdir -p $out/share/icons
+    cp icons/mumble.svg $out/share/icons
   '';
 
-  meta = with stdenv.lib; { 
-    homepage = "http://mumble.sourceforge.net/";
+  meta = with stdenv.lib; {
     description = "Low-latency, high quality voice chat software";
+    homepage = "http://mumble.sourceforge.net/";
     license = licenses.bsd3;
-    platforms = platforms.linux;
     maintainers = with maintainers; [ viric ];
+    platforms = platforms.linux;
   };
 }