diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/mumble/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/networking/mumble/default.nix | 76 |
1 files changed, 22 insertions, 54 deletions
diff --git a/nixpkgs/pkgs/applications/networking/mumble/default.nix b/nixpkgs/pkgs/applications/networking/mumble/default.nix index 6439991920d9..dfb49e14133f 100644 --- a/nixpkgs/pkgs/applications/networking/mumble/default.nix +++ b/nixpkgs/pkgs/applications/networking/mumble/default.nix @@ -1,32 +1,30 @@ -{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, pkgconfig -, qt4, qmake4Hook, qt5, avahi, boost, libopus, libsndfile, protobuf3_6, speex, libcap +{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, pkgconfig, qt5 +, avahi, boost, libopus, libsndfile, protobuf, speex, libcap , alsaLib, python +, rnnoise , jackSupport ? false, libjack2 ? null , speechdSupport ? false, speechd ? null , pulseSupport ? false, libpulseaudio ? null -, iceSupport ? false, zeroc-ice ? null, zeroc-ice-36 ? null +, iceSupport ? false, zeroc-ice ? null }: assert jackSupport -> libjack2 != null; assert speechdSupport -> speechd != null; assert pulseSupport -> libpulseaudio != null; -assert iceSupport -> zeroc-ice != null && zeroc-ice-36 != null; +assert iceSupport -> zeroc-ice != null; with stdenv.lib; let - generic = overrides: source: (if source.qtVersion == 5 then qt5.mkDerivation else stdenv.mkDerivation) (source // overrides // { - name = "${overrides.type}-${source.version}"; + generic = overrides: source: qt5.mkDerivation (source // overrides // { + pname = overrides.type; + version = source.version; patches = (source.patches or []) ++ optional jackSupport ./mumble-jack-support.patch; - nativeBuildInputs = [ pkgconfig python ] - ++ { qt4 = [ qmake4Hook ]; qt5 = [ qt5.qmake ]; }."qt${toString source.qtVersion}" + nativeBuildInputs = [ pkgconfig python qt5.qmake ] ++ (overrides.nativeBuildInputs or [ ]); - # protobuf is freezed to 3.6 because of this bug: https://github.com/mumble-voip/mumble/issues/3617 - # this could be reverted to the latest version in a future release of mumble as it is already fixed in master - buildInputs = [ boost protobuf3_6 avahi ] - ++ optional (source.qtVersion == 4) qt4 + buildInputs = [ boost protobuf avahi ] ++ (overrides.buildInputs or [ ]); qmakeFlags = [ @@ -66,9 +64,9 @@ let meta = { description = "Low-latency, high quality voice chat software"; - homepage = https://mumble.info; + homepage = "https://mumble.info"; license = licenses.bsd3; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ petabyteboy ]; platforms = platforms.linux; }; }); @@ -76,9 +74,8 @@ let client = source: generic { type = "mumble"; - nativeBuildInputs = optional (source.qtVersion == 5) qt5.qttools; - buildInputs = [ libopus libsndfile speex ] - ++ optional (source.qtVersion == 5) qt5.qtsvg + nativeBuildInputs = [ qt5.qttools ]; + buildInputs = [ libopus libsndfile speex qt5.qtsvg rnnoise ] ++ optional stdenv.isLinux alsaLib ++ optional jackSupport libjack2 ++ optional speechdSupport speechd @@ -107,18 +104,18 @@ let ''; } source; - server = source: let ice = if source.qtVersion == 4 then zeroc-ice-36 else zeroc-ice; in generic { + server = source: generic { type = "murmur"; postPatch = optional iceSupport '' - grep -Rl '/usr/share/Ice' . | xargs sed -i 's,/usr/share/Ice/,${ice.dev}/share/ice/,g' + grep -Rl '/usr/share/Ice' . | xargs sed -i 's,/usr/share/Ice/,${zeroc-ice.dev}/share/ice/,g' ''; configureFlags = [ "CONFIG+=no-client" ] ++ optional (!iceSupport) "CONFIG+=no-ice"; - buildInputs = [ libcap ] ++ optional iceSupport ice; + buildInputs = [ libcap ] ++ optional iceSupport zeroc-ice; installPhase = '' # bin stuff @@ -126,48 +123,19 @@ let ''; } source; - stableSource = rec { - version = "1.2.19"; - qtVersion = 4; - - src = fetchurl { - url = "https://github.com/mumble-voip/mumble/releases/download/${version}/mumble-${version}.tar.gz"; - sha256 = "1s60vaici3v034jzzi20x23hsj6mkjlc0glipjq4hffrg9qgnizh"; - }; - - patches = [ - # Fix compile error against boost 1.66 (#33655): - (fetchpatch { - url = "https://github.com/mumble-voip/mumble/commit/" - + "ea861fe86743c8402bbad77d8d1dd9de8dce447e.patch"; - sha256 = "1r50dc8dcl6jmbj4abhnay9div7y56kpmajzqd7ql0pm853agwbh"; - }) - # Fixes hang on reconfiguring audio (often including startup) - # https://github.com/mumble-voip/mumble/pull/3418 - (fetchpatch { - url = "https://github.com/mumble-voip/mumble/commit/" - + "fbbdf2e8ab7d93ed6f7680268ad0689b7eaa71ad.patch"; - sha256 = "1yhj62mlwm6q42i4aclbia645ha97d3j4ycxhgafr46dbjs0gani"; - }) - ]; - }; - - rcSource = rec { - version = "1.3.0-rc2"; - qtVersion = 5; + source = rec { + version = "1.3.0"; # Needs submodules src = fetchFromGitHub { owner = "mumble-voip"; repo = "mumble"; rev = version; - sha256 = "00irlzz5q4drmsfbwrkyy7p7w8a5fc1ip5vyicq3g3cy58dprpqr"; + sha256 = "0g5ri84gg0x3crhpxlzawf9s9l4hdna6aqw6qbdpx1hjlf5k6g8k"; fetchSubmodules = true; }; }; in { - mumble = client stableSource; - mumble_rc = client rcSource; - murmur = server stableSource; - murmur_rc = server rcSource; + mumble = client source; + murmur = server source; } |