diff options
Diffstat (limited to 'pkgs/applications/networking/browsers/chromium/default.nix')
-rw-r--r-- | pkgs/applications/networking/browsers/chromium/default.nix | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix index cfc8951eef10..30a16d824d01 100644 --- a/pkgs/applications/networking/browsers/chromium/default.nix +++ b/pkgs/applications/networking/browsers/chromium/default.nix @@ -1,4 +1,5 @@ { newScope, stdenv, makeWrapper, makeDesktopItem, ed +, glib, gtk2, gtk3, gnome2, gnome3, gsettings_desktop_schemas # package customization , channel ? "stable" @@ -62,10 +63,26 @@ let sandboxExecutableName = chromium.browser.passthru.sandboxExecutableName; + version = chromium.browser.version; + + inherit (stdenv.lib) versionAtLeast; + + gtk = if (versionAtLeast version "59.0.0.0") then gtk3 else gtk2; + gnome = if (versionAtLeast version "59.0.0.0") then gnome3 else gnome2; + in stdenv.mkDerivation { - name = "chromium${suffix}-${chromium.browser.version}"; + name = "chromium${suffix}-${version}"; + inherit version; - buildInputs = [ makeWrapper ed ]; + buildInputs = [ + makeWrapper ed + + # needed for GSETTINGS_SCHEMAS_PATH + gsettings_desktop_schemas glib gtk + + # needed for XDG_ICON_DIRS + gnome.defaultIconTheme + ]; outputs = ["out" "sandbox"]; @@ -92,6 +109,8 @@ in stdenv.mkDerivation { # libredirect causes chromium to deadlock on startup export LD_PRELOAD="\$(echo -n "\$LD_PRELOAD" | tr ':' '\n' | grep -v /lib/libredirect\\\\.so$ | tr '\n' ':')" + export XDG_DATA_DIRS=$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH\''${XDG_DATA_DIRS:+:}\$XDG_DATA_DIRS + . w EOF @@ -107,7 +126,7 @@ in stdenv.mkDerivation { cp -v "${desktopItem}/share/applications/"* "$out/share/applications" ''; - inherit (chromium.browser) meta packageName version; + inherit (chromium.browser) meta packageName; passthru = { inherit (chromium) upstream-info browser; |