diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix index f59cb402720..31bc01ea14a 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/default.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix @@ -16,6 +16,7 @@ , gstreamer , gtk2 , gtk3 +, kerberos , libX11 , libXScrnSaver , libxcb @@ -100,6 +101,7 @@ stdenv.mkDerivation { gstreamer gtk2 gtk3 + kerberos libX11 libXScrnSaver libXcomposite @@ -168,6 +170,7 @@ stdenv.mkDerivation { ''; passthru.ffmpegSupport = true; + passthru.gssSupport = true; passthru.updateScript = import ./update.nix { inherit name channel writeScript xidel coreutils gnused gnugrep gnupg curl; baseUrl = diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix index 1b72f9e18c3..cc7927fdc54 100644 --- a/pkgs/applications/networking/browsers/firefox/common.nix +++ b/pkgs/applications/networking/browsers/firefox/common.nix @@ -19,6 +19,7 @@ , pulseaudioSupport ? true, libpulseaudio , ffmpegSupport ? true, gstreamer, gst-plugins-base , gtk3Support ? !isTorBrowserLike, gtk2, gtk3, wrapGAppsHook +, gssSupport ? true, kerberos ## privacy-related options @@ -72,7 +73,8 @@ stdenv.mkDerivation (rec { ++ lib.optional alsaSupport alsaLib ++ lib.optional pulseaudioSupport libpulseaudio # only headers are needed ++ lib.optionals ffmpegSupport [ gstreamer gst-plugins-base ] - ++ lib.optional gtk3Support gtk3; + ++ lib.optional gtk3Support gtk3 + ++ lib.optional gssSupport kerberos; NIX_CFLAGS_COMPILE = "-I${nspr.dev}/include/nspr -I${nss.dev}/include/nss"; @@ -155,6 +157,7 @@ stdenv.mkDerivation (rec { ++ flag alsaSupport "alsa" ++ flag pulseaudioSupport "pulseaudio" ++ flag ffmpegSupport "ffmpeg" + ++ flag gssSupport "negotiateauth" ++ lib.optional (!ffmpegSupport) "--disable-gstreamer" ++ flag webrtcSupport "webrtc" ++ flag geolocationSupport "mozril-geoloc" @@ -219,6 +222,7 @@ stdenv.mkDerivation (rec { gtk = gtk2; inherit nspr; inherit ffmpegSupport; + inherit gssSupport; } // lib.optionalAttrs gtk3Support { inherit gtk3; }; } // overrides) diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix index 4b332214041..d9c55bb8768 100644 --- a/pkgs/applications/networking/browsers/firefox/packages.nix +++ b/pkgs/applications/networking/browsers/firefox/packages.nix @@ -113,6 +113,7 @@ in rec { } // commonAttrs) { stdenv = overrideCC stdenv gcc5; ffmpegSupport = false; + gssSupport = false; }; tor-browser-7-0 = common (rec { diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix index 2413f1cfdca..7a7d1368cb2 100644 --- a/pkgs/applications/networking/browsers/firefox/wrapper.nix +++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix @@ -9,6 +9,7 @@ , esteidfirefoxplugin , vlc_npapi , libudev +, kerberos }: ## configurability of the wrapper itself @@ -25,6 +26,7 @@ let cfg = stdenv.lib.attrByPath [ browserName ] {} config; enableAdobeFlash = cfg.enableAdobeFlash or false; ffmpegSupport = browser.ffmpegSupport or false; + gssSupport = browser.gssSupport or false; jre = cfg.jre or false; icedtea = cfg.icedtea or false; @@ -46,6 +48,7 @@ let ++ lib.optional (cfg.enableVLC or false) vlc_npapi ); libs = (if ffmpegSupport then [ ffmpeg ] else with gst_all; [ gstreamer gst-plugins-base ]) + ++ lib.optional gssSupport kerberos ++ lib.optionals (cfg.enableQuakeLive or false) (with xorg; [ stdenv.cc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib libudev ]) ++ lib.optional (enableAdobeFlash && (cfg.enableAdobeFlashDRM or false)) hal-flash