summary refs log tree commit diff
path: root/pkgs/applications/networking/browsers/google-chrome/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/networking/browsers/google-chrome/default.nix')
-rw-r--r--pkgs/applications/networking/browsers/google-chrome/default.nix19
1 files changed, 17 insertions, 2 deletions
diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix
index e7b74562bd5b..9a4d90701b28 100644
--- a/pkgs/applications/networking/browsers/google-chrome/default.nix
+++ b/pkgs/applications/networking/browsers/google-chrome/default.nix
@@ -31,6 +31,9 @@
 
 # Only needed for getting information about upstream binaries
 , chromium
+
+, gsettings_desktop_schemas
+, gnome2, gnome3
 }:
 
 with stdenv.lib;
@@ -42,6 +45,9 @@ let
     withCustomModes = true;
   };
 
+  gtk = if (versionAtLeast version "59.0.0.0") then gtk3 else gtk2;
+  gnome = if (versionAtLeast version "59.0.0.0") then gnome3 else gnome2;
+
   deps = [
     glib fontconfig freetype pango cairo libX11 libXi atk gconf nss nspr
     libXcursor libXext libXfixes libXrender libXScrnSaver libXcomposite libxcb
@@ -53,7 +59,7 @@ let
     flac harfbuzz icu libpng opusWithCustomModes snappy speechd
     bzip2 libcap
   ] ++ optional pulseSupport libpulseaudio
-    ++ (if (versionAtLeast version "59.0.0.0") then [gtk3] else [gtk2]);
+    ++ [ gtk ];
 
   suffix = if channel != "stable" then "-" + channel else "";
 
@@ -64,7 +70,15 @@ in stdenv.mkDerivation rec {
 
   src = binary;
 
-  buildInputs = [ patchelf ];
+  buildInputs = [
+    patchelf
+
+    # needed for GSETTINGS_SCHEMAS_PATH
+    gsettings_desktop_schemas glib gtk
+
+    # needed for XDG_ICON_DIRS
+    gnome.defaultIconTheme
+  ];
 
   unpackPhase = ''
     ar x $src
@@ -109,6 +123,7 @@ in stdenv.mkDerivation rec {
     #!${bash}/bin/sh
     export LD_LIBRARY_PATH=$rpath\''${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH}
     export PATH=$binpath\''${PATH:+:\$PATH}
+    export XDG_DATA_DIRS=$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH\''${XDG_DATA_DIRS:+:}\$XDG_DATA_DIRS
     $out/share/google/$appname/google-$appname ${commandLineArgs} "\$@"
     EOF
     chmod +x $exe