Fix Firefox wrapper set-as-default functionality

This commit is contained in:
Michael Raskin 2014-12-12 21:33:23 +03:00
parent e0e08f1465
commit 2c85888a04
2 changed files with 17 additions and 2 deletions

View file

@ -1,5 +1,5 @@
{ stdenv, lib, browser, makeDesktopItem, makeWrapper, plugins, gst_plugins, libs, gtk_modules
, browserName, desktopName, nameSuffix, icon
, browserName, desktopName, nameSuffix, icon, libtrick ? true
}:
let p = builtins.parseDrvName browser.name; in
@ -33,7 +33,21 @@ stdenv.mkDerivation {
--suffix-each GTK_PATH ':' "$gtk_modules" \
--suffix-each LD_PRELOAD ':' "$(cat $(filterExisting $(addSuffix /extra-ld-preload $plugins)))" \
--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" \
--prefix-contents PATH ':' "$(filterExisting $(addSuffix /extra-bin-path $plugins))"
--prefix-contents PATH ':' "$(filterExisting $(addSuffix /extra-bin-path $plugins))" \
--set MOZ_OBJDIR "$(ls -d "${browser}/lib/${browserName}*")"
${ lib.optionalString libtrick
''
sed -e "s@exec @exec -a '$out/bin/${browserName}${nameSuffix}' @" -i "$out/bin/${browserName}${nameSuffix}"
libdirname="$(echo "${browser}/lib/${browserName}"*)"
libdirbasename="$(basename "$libdirname")"
mkdir -p "$out/lib/$libdirbasename"
ln -s "$libdirname"/* "$out/lib/$libdirbasename"
script_location="$(mktemp "$out/lib/$libdirbasename/${browserName}${nameSuffix}.XXXXXX")"
mv "$out/bin/${browserName}${nameSuffix}" "$script_location"
ln -s "$script_location" "$out/bin/${browserName}${nameSuffix}"
''
}
mkdir -p $out/share/applications
cp $desktopItem/share/applications/* $out/share/applications

View file

@ -11172,6 +11172,7 @@ let
in
import ../applications/networking/browsers/firefox/wrapper.nix {
inherit stdenv lib makeWrapper makeDesktopItem browser browserName desktopName nameSuffix icon;
libtrick = true;
plugins =
assert !(enableGnash && enableAdobeFlash);
assert !(jre && icedtea);