Loading pkgs/applications/networking/mumble/default.nix +168 −107 Original line number Diff line number Diff line { lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, qt5, cmake , avahi, boost, libopus, libsndfile, protobuf, speex, libcap , alsa-lib, python3 , rnnoise , nixosTests , poco , flac , libogg , libvorbis , stdenv_32bit , iceSupport ? true, zeroc-ice , jackSupport ? false, libjack2 , pipewireSupport ? true, pipewire , pulseSupport ? true, libpulseaudio , speechdSupport ? false, speechd-minimal { lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, qt5, cmake, avahi, boost, libopus, libsndfile, protobuf, speex, libcap, alsa-lib, python3, rnnoise, nixosTests, poco, flac, libogg, libvorbis, stdenv_32bit, iceSupport ? true, zeroc-ice, jackSupport ? false, libjack2, pipewireSupport ? true, pipewire, pulseSupport ? true, libpulseaudio, speechdSupport ? false, speechd-minimal, }: let generic = overrides: source: (overrides.stdenv or stdenv).mkDerivation (source // overrides // { generic = overrides: source: (overrides.stdenv or stdenv).mkDerivation ( source // overrides // { pname = overrides.type; version = source.version; nativeBuildInputs = [ cmake pkg-config python3 qt5.wrapQtAppsHook qt5.qttools ] ++ (overrides.nativeBuildInputs or [ ]); buildInputs = [ avahi boost poco protobuf ] ++ (overrides.buildInputs or [ ]); nativeBuildInputs = [ cmake pkg-config python3 qt5.wrapQtAppsHook qt5.qttools ] ++ (overrides.nativeBuildInputs or [ ]); buildInputs = [ avahi boost poco protobuf ] ++ (overrides.buildInputs or [ ]); cmakeFlags = [ "-D g15=OFF" Loading @@ -41,23 +74,40 @@ let description = "Low-latency, high quality voice chat software"; homepage = "https://mumble.info"; license = licenses.bsd3; maintainers = with maintainers; [ felixsinger lilacious ]; maintainers = with maintainers; [ felixsinger lilacious ]; platforms = platforms.linux; }; }); } ); client = source: generic { client = source: generic { type = "mumble"; nativeBuildInputs = [ qt5.qttools ]; buildInputs = [ flac libogg libopus libsndfile libvorbis qt5.qtsvg rnnoise speex ] buildInputs = [ flac libogg libopus libsndfile libvorbis qt5.qtsvg rnnoise speex ] ++ lib.optional (!jackSupport) alsa-lib ++ lib.optional jackSupport libjack2 ++ lib.optional speechdSupport speechd-minimal ++ lib.optional pulseSupport libpulseaudio ++ lib.optional pipewireSupport pipewire; configureFlags = [ configureFlags = [ "-D server=OFF" "-D bundled-celt=ON" "-D bundled-opus=OFF" Loading @@ -67,7 +117,8 @@ let "-D overlay-xcompile=OFF" "-D oss=OFF" "-D warnings-as-errors=OFF" # conversion error workaround ] ++ lib.optional (!speechdSupport) "-D speechd=OFF" ] ++ lib.optional (!speechdSupport) "-D speechd=OFF" ++ lib.optional (!pulseSupport) "-D pulseaudio=OFF" ++ lib.optional (!pipewireSupport) "-D pipewire=OFF" ++ lib.optional jackSupport "-D alsa=OFF -D jackaudio=ON"; Loading @@ -76,27 +127,36 @@ let postFixup = '' wrapProgram $out/bin/mumble \ --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath (lib.optional pulseSupport libpulseaudio ++ lib.optional pipewireSupport pipewire)}" --prefix LD_LIBRARY_PATH : "${ lib.makeLibraryPath ( lib.optional pulseSupport libpulseaudio ++ lib.optional pipewireSupport pipewire ) }" ''; } source; server = source: generic { server = source: generic { type = "murmur"; configureFlags = [ configureFlags = [ "-D client=OFF" ] ++ lib.optional (!iceSupport) "-D ice=OFF" ] ++ lib.optional (!iceSupport) "-D ice=OFF" ++ lib.optionals iceSupport [ "-D Ice_HOME=${lib.getDev zeroc-ice};${lib.getLib zeroc-ice}" "-D CMAKE_PREFIX_PATH=${lib.getDev zeroc-ice};${lib.getLib zeroc-ice}" "-D Ice_SLICE_DIR=${lib.getDev zeroc-ice}/share/ice/slice" ]; buildInputs = [ libcap ] ++ lib.optional iceSupport zeroc-ice; buildInputs = [ libcap ] ++ lib.optional iceSupport zeroc-ice; } source; overlay = source: generic { overlay = source: generic { stdenv = stdenv_32bit; type = "mumble-overlay"; Loading @@ -119,7 +179,8 @@ let fetchSubmodules = true; }; }; in { in { mumble = lib.recursiveUpdate (client source) { meta.mainProgram = "mumble"; }; murmur = lib.recursiveUpdate (server source) { meta.mainProgram = "mumble-server"; }; overlay = overlay source; Loading Loading
pkgs/applications/networking/mumble/default.nix +168 −107 Original line number Diff line number Diff line { lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, qt5, cmake , avahi, boost, libopus, libsndfile, protobuf, speex, libcap , alsa-lib, python3 , rnnoise , nixosTests , poco , flac , libogg , libvorbis , stdenv_32bit , iceSupport ? true, zeroc-ice , jackSupport ? false, libjack2 , pipewireSupport ? true, pipewire , pulseSupport ? true, libpulseaudio , speechdSupport ? false, speechd-minimal { lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, qt5, cmake, avahi, boost, libopus, libsndfile, protobuf, speex, libcap, alsa-lib, python3, rnnoise, nixosTests, poco, flac, libogg, libvorbis, stdenv_32bit, iceSupport ? true, zeroc-ice, jackSupport ? false, libjack2, pipewireSupport ? true, pipewire, pulseSupport ? true, libpulseaudio, speechdSupport ? false, speechd-minimal, }: let generic = overrides: source: (overrides.stdenv or stdenv).mkDerivation (source // overrides // { generic = overrides: source: (overrides.stdenv or stdenv).mkDerivation ( source // overrides // { pname = overrides.type; version = source.version; nativeBuildInputs = [ cmake pkg-config python3 qt5.wrapQtAppsHook qt5.qttools ] ++ (overrides.nativeBuildInputs or [ ]); buildInputs = [ avahi boost poco protobuf ] ++ (overrides.buildInputs or [ ]); nativeBuildInputs = [ cmake pkg-config python3 qt5.wrapQtAppsHook qt5.qttools ] ++ (overrides.nativeBuildInputs or [ ]); buildInputs = [ avahi boost poco protobuf ] ++ (overrides.buildInputs or [ ]); cmakeFlags = [ "-D g15=OFF" Loading @@ -41,23 +74,40 @@ let description = "Low-latency, high quality voice chat software"; homepage = "https://mumble.info"; license = licenses.bsd3; maintainers = with maintainers; [ felixsinger lilacious ]; maintainers = with maintainers; [ felixsinger lilacious ]; platforms = platforms.linux; }; }); } ); client = source: generic { client = source: generic { type = "mumble"; nativeBuildInputs = [ qt5.qttools ]; buildInputs = [ flac libogg libopus libsndfile libvorbis qt5.qtsvg rnnoise speex ] buildInputs = [ flac libogg libopus libsndfile libvorbis qt5.qtsvg rnnoise speex ] ++ lib.optional (!jackSupport) alsa-lib ++ lib.optional jackSupport libjack2 ++ lib.optional speechdSupport speechd-minimal ++ lib.optional pulseSupport libpulseaudio ++ lib.optional pipewireSupport pipewire; configureFlags = [ configureFlags = [ "-D server=OFF" "-D bundled-celt=ON" "-D bundled-opus=OFF" Loading @@ -67,7 +117,8 @@ let "-D overlay-xcompile=OFF" "-D oss=OFF" "-D warnings-as-errors=OFF" # conversion error workaround ] ++ lib.optional (!speechdSupport) "-D speechd=OFF" ] ++ lib.optional (!speechdSupport) "-D speechd=OFF" ++ lib.optional (!pulseSupport) "-D pulseaudio=OFF" ++ lib.optional (!pipewireSupport) "-D pipewire=OFF" ++ lib.optional jackSupport "-D alsa=OFF -D jackaudio=ON"; Loading @@ -76,27 +127,36 @@ let postFixup = '' wrapProgram $out/bin/mumble \ --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath (lib.optional pulseSupport libpulseaudio ++ lib.optional pipewireSupport pipewire)}" --prefix LD_LIBRARY_PATH : "${ lib.makeLibraryPath ( lib.optional pulseSupport libpulseaudio ++ lib.optional pipewireSupport pipewire ) }" ''; } source; server = source: generic { server = source: generic { type = "murmur"; configureFlags = [ configureFlags = [ "-D client=OFF" ] ++ lib.optional (!iceSupport) "-D ice=OFF" ] ++ lib.optional (!iceSupport) "-D ice=OFF" ++ lib.optionals iceSupport [ "-D Ice_HOME=${lib.getDev zeroc-ice};${lib.getLib zeroc-ice}" "-D CMAKE_PREFIX_PATH=${lib.getDev zeroc-ice};${lib.getLib zeroc-ice}" "-D Ice_SLICE_DIR=${lib.getDev zeroc-ice}/share/ice/slice" ]; buildInputs = [ libcap ] ++ lib.optional iceSupport zeroc-ice; buildInputs = [ libcap ] ++ lib.optional iceSupport zeroc-ice; } source; overlay = source: generic { overlay = source: generic { stdenv = stdenv_32bit; type = "mumble-overlay"; Loading @@ -119,7 +179,8 @@ let fetchSubmodules = true; }; }; in { in { mumble = lib.recursiveUpdate (client source) { meta.mainProgram = "mumble"; }; murmur = lib.recursiveUpdate (server source) { meta.mainProgram = "mumble-server"; }; overlay = overlay source; Loading