Merge pull request #31743 from ttuegel/firefox/wrapper

wrapFirefox: make overridable, support browserpass
This commit is contained in:
Thomas Tuegel 2017-11-20 11:08:50 -06:00 committed by GitHub
commit 33a736cafa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -8,18 +8,25 @@
, google_talk_plugin, fribid, gnome3/*.gnome_shell*/ , google_talk_plugin, fribid, gnome3/*.gnome_shell*/
, esteidfirefoxplugin , esteidfirefoxplugin
, vlc_npapi , vlc_npapi
, browserpass
, libudev , libudev
, kerberos , kerberos
}: }:
## configurability of the wrapper itself ## configurability of the wrapper itself
browser: browser:
let
wrapper =
{ browserName ? browser.browserName or (builtins.parseDrvName browser.name).name { browserName ? browser.browserName or (builtins.parseDrvName browser.name).name
, name ? (browserName + "-" + (builtins.parseDrvName browser.name).version) , name ? (browserName + "-" + (builtins.parseDrvName browser.name).version)
, desktopName ? # browserName with first letter capitalized , desktopName ? # browserName with first letter capitalized
(lib.toUpper (lib.substring 0 1 browserName) + lib.substring 1 (-1) browserName) (lib.toUpper (lib.substring 0 1 browserName) + lib.substring 1 (-1) browserName)
, nameSuffix ? "" , nameSuffix ? ""
, icon ? browserName , icon ? browserName
, extraPlugins ? []
, extraNativeMessagingHosts ? []
}: }:
let let
@ -46,9 +53,12 @@ let
++ lib.optional (cfg.enableAdobeReader or false) adobe-reader ++ lib.optional (cfg.enableAdobeReader or false) adobe-reader
++ lib.optional (cfg.enableEsteid or false) esteidfirefoxplugin ++ lib.optional (cfg.enableEsteid or false) esteidfirefoxplugin
++ lib.optional (cfg.enableVLC or false) vlc_npapi ++ lib.optional (cfg.enableVLC or false) vlc_npapi
++ extraPlugins
); );
nativeMessagingHosts = nativeMessagingHosts =
([ ] ([ ]
++ lib.optional (cfg.enableBrowserpass or false) browserpass
++ extraNativeMessagingHosts
); );
libs = (if ffmpegSupport then [ ffmpeg ] else with gst_all; [ gstreamer gst-plugins-base ]) libs = (if ffmpegSupport then [ ffmpeg ] else with gst_all; [ gstreamer gst-plugins-base ])
++ lib.optional gssSupport kerberos ++ lib.optional gssSupport kerberos
@ -152,4 +162,6 @@ in stdenv.mkDerivation {
hydraPlatforms = []; hydraPlatforms = [];
priority = (browser.meta.priority or 0) - 1; # prefer wrapper over the package priority = (browser.meta.priority or 0) - 1; # prefer wrapper over the package
}; };
} };
in
lib.makeOverridable wrapper