summary refs log tree commit diff
path: root/pkgs/applications/networking/mumble/default.nix
blob: b2b2e37fd663a7c3f83f81b77f1a468d13660a73 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
{ 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.6";

  src = fetchurl {
    url = "mirror://sourceforge/mumble/${name}.tar.gz";
    sha256 = "1zxnbwbd81p7lvscghlpkad8kynh9gbf1nhc092sp64pp37xwv47";
  };

  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
  '';


  buildInputs = [ qt4 boost protobuf libsndfile speex
    libopus avahi pkgconfig ]
    ++ (optional jackSupport jackaudio)
    ++ (optional speechdSupport speechd);

  installPhase = ''
    mkdir -p $out
    cp -r ./release $out/bin
  '';

  meta = with stdenv.lib; { 
    homepage = "http://mumble.sourceforge.net/";
    description = "Low-latency, high quality voice chat software";
    license = licenses.bsd3;
    platforms = platforms.linux;
    maintainers = with maintainers; [ viric ];
  };
}