diff options
Diffstat (limited to 'pkgs/applications/networking/browsers/google-chrome/default.nix')
-rw-r--r-- | pkgs/applications/networking/browsers/google-chrome/default.nix | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix index fe6ef5c059dec..5ba831b210223 100644 --- a/pkgs/applications/networking/browsers/google-chrome/default.nix +++ b/pkgs/applications/networking/browsers/google-chrome/default.nix @@ -1,11 +1,11 @@ { lib, stdenv, patchelf, makeWrapper # Linked dynamic libraries. -, glib, fontconfig, freetype, pango, cairo, libX11, libXi, atk, gconf, nss, nspr +, glib, fontconfig, freetype, pango, cairo, libX11, libXi, atk, nss, nspr , libXcursor, libXext, libXfixes, libXrender, libXScrnSaver, libXcomposite, libxcb , alsa-lib, libXdamage, libXtst, libXrandr, libxshmfence, expat, cups , dbus, gtk3, gdk-pixbuf, gcc-unwrapped, at-spi2-atk, at-spi2-core -, libkrb5, libdrm, mesa +, libkrb5, libdrm, libglvnd, mesa , libxkbcommon, pipewire, wayland # ozone/wayland # Command line programs @@ -44,7 +44,7 @@ , libvaSupport ? true, libva # For Vulkan support (--enable-features=Vulkan) -, vulkanSupport ? true, vulkan-loader +, addOpenGLRunpath }: with lib; @@ -57,7 +57,7 @@ let version = chromium.upstream-info.version; deps = [ - glib fontconfig freetype pango cairo libX11 libXi atk gconf nss nspr + glib fontconfig freetype pango cairo libX11 libXi atk nss nspr libXcursor libXext libXfixes libXrender libXScrnSaver libXcomposite libxcb alsa-lib libXdamage libXtst libXrandr libxshmfence expat cups dbus gdk-pixbuf gcc-unwrapped.lib @@ -66,11 +66,10 @@ let liberation_ttf curl util-linux xdg-utils wget flac harfbuzz icu libpng opusWithCustomModes snappy speechd bzip2 libcap at-spi2-atk at-spi2-core - libkrb5 libdrm mesa coreutils + libkrb5 libdrm libglvnd mesa coreutils libxkbcommon pipewire wayland ] ++ optional pulseSupport libpulseaudio ++ optional libvaSupport libva - ++ optional vulkanSupport vulkan-loader ++ [ gtk3 ]; suffix = if channel != "stable" then "-" + channel else ""; @@ -119,12 +118,9 @@ in stdenv.mkDerivation { cp -a opt/* $out/share cp -a usr/share/* $out/share - # To fix --use-gl=egl: - test -e $out/share/google/$appname/libEGL.so - ln -s libEGL.so $out/share/google/$appname/libEGL.so.1 - test -e $out/share/google/$appname/libGLESv2.so - ln -s libGLESv2.so $out/share/google/$appname/libGLESv2.so.2 + substituteInPlace $out/share/google/$appname/google-$appname \ + --replace 'CHROME_WRAPPER' 'WRAPPER' substituteInPlace $out/share/applications/google-$appname.desktop \ --replace /usr/bin/google-chrome-$dist $exe substituteInPlace $out/share/gnome-control-center/default-apps/google-$appname.xml \ @@ -149,8 +145,10 @@ in stdenv.mkDerivation { makeWrapper "$out/share/google/$appname/google-$appname" "$exe" \ --prefix LD_LIBRARY_PATH : "$rpath" \ --prefix PATH : "$binpath" \ - --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ - --add-flags ${escapeShellArg commandLineArgs} + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:${addOpenGLRunpath.driverLink}/share" \ + --set CHROME_WRAPPER "google-chrome-$dist" \ + --add-flags ${escapeShellArg commandLineArgs} \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}" for elf in $out/share/google/$appname/{chrome,chrome-sandbox,${crashpadHandlerBinary},nacl_helper}; do patchelf --set-rpath $rpath $elf |