Generalize `firefox-wrapper' so that it can be used for GNU IceCat.

svn path=/nixpkgs/trunk/; revision=12439
This commit is contained in:
Ludovic Courtès 2008-07-28 16:25:09 +00:00
parent b3bc47784c
commit 6cb7c2fa68
2 changed files with 17 additions and 11 deletions

View File

@ -1,12 +1,19 @@
{stdenv, firefox, nameSuffix ? "", makeWrapper, plugins}: {stdenv, browser, browserName ? "firefox", nameSuffix ? "", makeWrapper, plugins}:
stdenv.mkDerivation { stdenv.mkDerivation {
name = firefox.name + "-with-plugins"; name = browser.name + "-with-plugins";
buildInputs = [makeWrapper]; buildInputs = [makeWrapper];
buildCommand = '' buildCommand = ''
makeWrapper "${firefox}/bin/firefox" "$out/bin/firefox${nameSuffix}" \ if [ ! -x "${browser}/bin/${browserName}" ]
then
echo "cannot find executable file \`${browser}/bin/${browserName}'"
exit 1
fi
makeWrapper "${browser}/bin/${browserName}" \
"$out/bin/${browserName}${nameSuffix}" \
--suffix-each MOZ_PLUGIN_PATH ':' "$plugins" \ --suffix-each MOZ_PLUGIN_PATH ':' "$plugins" \
--suffix-contents PATH ':' "$(filterExisting $(addSuffix /extra-bin-path $plugins))" --suffix-contents PATH ':' "$(filterExisting $(addSuffix /extra-bin-path $plugins))"
''; '';
@ -17,7 +24,7 @@ stdenv.mkDerivation {
meta = { meta = {
description = description =
firefox.meta.description browser.meta.description
+ " (with plugins: " + " (with plugins: "
+ (let lib = import ../../../../lib; + (let lib = import ../../../../lib;
in lib.concatStrings (lib.intersperse ", " (map (x: x.name) plugins))) in lib.concatStrings (lib.intersperse ", " (map (x: x.name) plugins)))

View File

@ -6004,7 +6004,7 @@ let pkgs = rec {
#enableOfficialBranding = true; #enableOfficialBranding = true;
}); });
firefoxWrapper = wrapFirefox firefox ""; firefoxWrapper = wrapFirefox firefox "firefox" "";
firefox3 = lowPrio (import ../applications/networking/browsers/firefox-3 { firefox3 = lowPrio (import ../applications/networking/browsers/firefox-3 {
inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo
@ -6022,8 +6022,8 @@ let pkgs = rec {
inherit (xlibs) libXi libX11 libXrender libXft libXt; inherit (xlibs) libXi libX11 libXrender libXft libXt;
}); });
firefox3Wrapper = lowPrio (wrapFirefox firefox3 ""); firefox3Wrapper = lowPrio (wrapFirefox firefox3 "firefox" "");
firefox3b1BinWrapper = lowPrio (wrapFirefox firefox3b1Bin ""); firefox3b1BinWrapper = lowPrio (wrapFirefox firefox3b1Bin "firefox" "");
flacAlts = import ../applications/audio/flac { flacAlts = import ../applications/audio/flac {
inherit fetchurl stdenv libogg; inherit fetchurl stdenv libogg;
@ -6133,7 +6133,7 @@ let pkgs = rec {
inherit (gnome) libIDL; inherit (gnome) libIDL;
}); });
icecatWrapper = wrapFirefox icecat3 ""; icecatWrapper = wrapFirefox icecat3 "icecat" "";
icewm = import ../applications/window-managers/icewm { icewm = import ../applications/window-managers/icewm {
inherit fetchurl stdenv gettext libjpeg libtiff libungif libpng imlib; inherit fetchurl stdenv gettext libjpeg libtiff libungif libpng imlib;
@ -6751,9 +6751,8 @@ let pkgs = rec {
inherit stdenv fetchurl tcl tk x11 makeWrapper; inherit stdenv fetchurl tcl tk x11 makeWrapper;
}; };
wrapFirefox = browser: nameSuffix: import ../applications/networking/browsers/firefox-wrapper { wrapFirefox = browser: browserName: nameSuffix: import ../applications/networking/browsers/firefox-wrapper {
inherit stdenv nameSuffix makeWrapper; inherit stdenv nameSuffix makeWrapper browser browserName;
firefox = browser;
plugins = plugins =
let enableAdobeFlash = getConfig [ "firefox" "enableAdobeFlash" ] true let enableAdobeFlash = getConfig [ "firefox" "enableAdobeFlash" ] true
&& system == "i686-linux"; && system == "i686-linux";