From 2ba834e0287b9ff0b4a316f59236d72b8cd7f7b9 Mon Sep 17 00:00:00 2001 From: Malte Brandy Date: Mon, 21 Jun 2021 00:58:26 +0200 Subject: [PATCH] Update to stereo mumble --- .../mumble/0001-mumble-1.3.4-1.4.0pre.patch | 145 ++++++++++++++++++ overlays/mumble/default.nix | 3 + 2 files changed, 148 insertions(+) create mode 100644 overlays/mumble/0001-mumble-1.3.4-1.4.0pre.patch create mode 100644 overlays/mumble/default.nix diff --git a/overlays/mumble/0001-mumble-1.3.4-1.4.0pre.patch b/overlays/mumble/0001-mumble-1.3.4-1.4.0pre.patch new file mode 100644 index 00000000..69abc959 --- /dev/null +++ b/overlays/mumble/0001-mumble-1.3.4-1.4.0pre.patch @@ -0,0 +1,145 @@ +From 0c72f05089d39bc9f1baf56cdd429428c22cd4fb Mon Sep 17 00:00:00 2001 +From: Martin Weinelt +Date: Mon, 3 May 2021 23:35:46 +0200 +Subject: [PATCH] mumble: 1.3.4 -> 1.4.0pre + +--- + .../networking/mumble/default.nix | 62 ++++++++----------- + 1 file changed, 26 insertions(+), 36 deletions(-) + +diff --git a/pkgs/applications/networking/mumble/default.nix b/pkgs/applications/networking/mumble/default.nix +index e0c5b50be0f..d9f6162d368 100644 +--- a/pkgs/applications/networking/mumble/default.nix ++++ b/pkgs/applications/networking/mumble/default.nix +@@ -1,10 +1,11 @@ +-{ lib, stdenv, fetchFromGitHub, pkg-config, qt5 +-, avahi, boost, libopus, libsndfile, protobuf, speex, libcap +-, alsa-lib, python3 ++{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, pkg-config, qt5 ++, avahi, boost, libopus, libsndfile, pcre, poco, protobuf, speex, libcap ++, alsa-lib, python3, makeWrapper + , rnnoise + , jackSupport ? false, libjack2 + , speechdSupport ? false, speechd + , pulseSupport ? false, libpulseaudio ++, pipewireSupport ? true, pipewire + , iceSupport ? false, zeroc-ice + , grpcSupport ? false, grpc, which + , nixosTests +@@ -15,36 +16,23 @@ let + pname = overrides.type; + version = source.version; + +- patches = (source.patches or []) +- ++ [ ./fix-rnnoise-argument.patch ]; ++ patches = (source.patches or []); + +- nativeBuildInputs = [ pkg-config python3 qt5.qmake ] ++ nativeBuildInputs = [ pkg-config python3 cmake ] + ++ (overrides.nativeBuildInputs or [ ]); + +- buildInputs = [ boost protobuf avahi ] ++ buildInputs = [ boost pcre poco protobuf speechd grpc avahi ] + ++ (overrides.buildInputs or [ ]); + +- qmakeFlags = [ +- "CONFIG+=c++11" +- "CONFIG+=shared" +- "CONFIG+=no-g15" +- "CONFIG+=packaged" +- "CONFIG+=no-update" +- "CONFIG+=no-embed-qt-translations" +- "CONFIG+=bundled-celt" +- "CONFIG+=no-bundled-opus" +- "CONFIG+=no-bundled-speex" +- "DEFINES+=PLUGIN_PATH=${placeholder "out"}/lib/mumble" +- ] ++ lib.optional (!speechdSupport) "CONFIG+=no-speechd" +- ++ lib.optional jackSupport "CONFIG+=no-oss CONFIG+=no-alsa CONFIG+=jackaudio" +- ++ (overrides.configureFlags or [ ]); ++ cmakeFlags = [ ++ "-Dice=off" ++ "-Doverlay-xcompile=off" ++ ]; + + preConfigure = '' + patchShebangs scripts + ''; + +- makeFlags = [ "release" ]; +- + installPhase = '' + runHook preInstall + +@@ -52,7 +40,7 @@ let + + # doc stuff + mkdir -p $out/share/man/man1 +- install -Dm644 man/mum* $out/share/man/man1/ ++ install -Dm644 ../man/mum* $out/share/man/man1/ + + runHook postInstall + ''; +@@ -76,7 +64,8 @@ let + ++ lib.optional stdenv.isLinux alsa-lib + ++ lib.optional jackSupport libjack2 + ++ lib.optional speechdSupport speechd +- ++ lib.optional pulseSupport libpulseaudio; ++ ++ lib.optional pulseSupport libpulseaudio ++ ++ lib.optional pipewireSupport pipewire.dev; + + configureFlags = [ + "CONFIG+=no-server" +@@ -86,18 +75,18 @@ let + + installPhase = '' + # bin stuff +- install -Dm755 release/mumble $out/bin/mumble +- install -Dm755 scripts/mumble-overlay $out/bin/mumble-overlay ++ install -Dm755 mumble $out/bin/mumble ++ wrapProgram $out/bin/mumble \ ++ --prefix LD_LIBRARY_PATH : "${pipewire.lib}/lib" + + # lib stuff + mkdir -p $out/lib/mumble +- cp -P release/libmumble.so* $out/lib +- cp -P release/libcelt* $out/lib/mumble +- cp -P release/plugins/* $out/lib/mumble ++ cp -P libcelt* $out/lib/mumble ++ cp -P plugins/*.so $out/lib/mumble + + # icons +- install -Dm644 scripts/mumble.desktop $out/share/applications/mumble.desktop +- install -Dm644 icons/mumble.svg $out/share/icons/hicolor/scalable/apps/mumble.svg ++ install -Dm644 ../scripts/org.mumble_voip.mumble.desktop $out/share/applications/mumble.desktop ++ install -Dm644 ../icons/mumble.svg $out/share/icons/hicolor/scalable/apps/mumble.svg + ''; + } source; + +@@ -119,19 +108,20 @@ let + + installPhase = '' + # bin stuff +- install -Dm755 release/murmurd $out/bin/murmurd ++ find . -iname "murmurd" ++ install -Dm755 murmurd $out/bin/murmurd + ''; + } source; + + source = rec { +- version = "1.3.4"; ++ version = "1.4.0"; + + # Needs submodules + src = fetchFromGitHub { + owner = "mumble-voip"; + repo = "mumble"; +- rev = version; +- sha256 = "sha256-njovShQpW0JNeeE8VugdmGzDk3fKG8/fcJoBgdyTZug="; ++ rev = "31d0e8e7b4c7509cce1d128719c836a1a23acd4f"; ++ sha256 = "03h01w9a52lmbiwlf20mmp0z8j2c0vsph37wbkdrpif4fjf5sr53"; + fetchSubmodules = true; + }; + }; +-- +2.31.1 + diff --git a/overlays/mumble/default.nix b/overlays/mumble/default.nix new file mode 100644 index 00000000..95e50ef2 --- /dev/null +++ b/overlays/mumble/default.nix @@ -0,0 +1,3 @@ +final: prev: { + mumble = (import (prev.applyPatches { src = prev.sources.nixos-unstable; name = "mumble-patched-nixos-unstable"; patches = [ ./0001-mumble-1.3.4-1.4.0pre.patch ]; }) { }).mumble; +}