diff options
Diffstat (limited to 'pkgs/applications/networking/browsers/google-chrome/default.nix')
-rw-r--r-- | pkgs/applications/networking/browsers/google-chrome/default.nix | 154 |
1 files changed, 0 insertions, 154 deletions
diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix deleted file mode 100644 index 8abb0f8f3ae82..0000000000000 --- a/pkgs/applications/networking/browsers/google-chrome/default.nix +++ /dev/null @@ -1,154 +0,0 @@ -{ lib, stdenv, patchelf, makeWrapper, fetchurl - -# Linked dynamic libraries. -, 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, gtk4, gdk-pixbuf, gcc-unwrapped, at-spi2-atk, at-spi2-core -, libkrb5, libdrm, libglvnd, mesa -, libxkbcommon, pipewire, wayland # ozone/wayland - -# Command line programs -, coreutils - -# command line arguments which are always set e.g "--disable-gpu" -, commandLineArgs ? "" - -# Will crash without. -, systemd - -# Loaded at runtime. -, libexif, pciutils - -# Additional dependencies according to other distros. -## Ubuntu -, liberation_ttf, curl, util-linux, xdg-utils, wget -## Arch Linux. -, flac, harfbuzz, icu, libpng, libopus, snappy, speechd -## Gentoo -, bzip2, libcap - -# Necessary for USB audio devices. -, pulseSupport ? true, libpulseaudio - -, gsettings-desktop-schemas -, gnome - -# For video acceleration via VA-API (--enable-features=VaapiVideoDecoder) -, libvaSupport ? true, libva - -# For Vulkan support (--enable-features=Vulkan) -, addOpenGLRunpath -}: - -let - opusWithCustomModes = libopus.override { - withCustomModes = true; - }; - - deps = [ - 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 - systemd - libexif pciutils - liberation_ttf curl util-linux wget - flac harfbuzz icu libpng opusWithCustomModes snappy speechd - bzip2 libcap at-spi2-atk at-spi2-core - libkrb5 libdrm libglvnd mesa coreutils - libxkbcommon pipewire wayland - ] ++ lib.optional pulseSupport libpulseaudio - ++ lib.optional libvaSupport libva - ++ [ gtk3 gtk4 ]; - -in stdenv.mkDerivation (finalAttrs: { - pname = "google-chrome"; - version = "124.0.6367.118"; - - src = fetchurl { - url = "https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${finalAttrs.version}-1_amd64.deb"; - hash = "sha256-H3bv6WiVBl4j38ROZ80+SD9UO9ok+xxcKFxDd9yjWNY="; - }; - - nativeBuildInputs = [ patchelf makeWrapper ]; - buildInputs = [ - # needed for GSETTINGS_SCHEMAS_PATH - gsettings-desktop-schemas glib gtk3 - - # needed for XDG_ICON_DIRS - gnome.adwaita-icon-theme - ]; - - unpackPhase = '' - ar x $src - tar xf data.tar.xz - ''; - - rpath = lib.makeLibraryPath deps + ":" + lib.makeSearchPathOutput "lib" "lib64" deps; - binpath = lib.makeBinPath deps; - - installPhase = '' - runHook preInstall - - appname=chrome - dist=stable - - exe=$out/bin/google-chrome-$dist - - mkdir -p $out/bin $out/share - - cp -a opt/* $out/share - cp -a usr/share/* $out/share - - - 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 \ - --replace /opt/google/$appname/google-$appname $exe - substituteInPlace $out/share/menu/google-$appname.menu \ - --replace /opt $out/share \ - --replace $out/share/google/$appname/google-$appname $exe - - for icon_file in $out/share/google/chrome*/product_logo_[0-9]*.png; do - num_and_suffix="''${icon_file##*logo_}" - if [ $dist = "stable" ]; then - icon_size="''${num_and_suffix%.*}" - else - icon_size="''${num_and_suffix%_*}" - fi - logo_output_prefix="$out/share/icons/hicolor" - logo_output_path="$logo_output_prefix/''${icon_size}x''${icon_size}/apps" - mkdir -p "$logo_output_path" - mv "$icon_file" "$logo_output_path/google-$appname.png" - done - - makeWrapper "$out/share/google/$appname/google-$appname" "$exe" \ - --prefix LD_LIBRARY_PATH : "$rpath" \ - --prefix PATH : "$binpath" \ - --suffix PATH : "${lib.makeBinPath [ xdg-utils ]}" \ - --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:${addOpenGLRunpath.driverLink}/share" \ - --set CHROME_WRAPPER "google-chrome-$dist" \ - --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \ - --add-flags ${lib.escapeShellArg commandLineArgs} - - for elf in $out/share/google/$appname/{chrome,chrome-sandbox,chrome_crashpad_handler}; do - patchelf --set-rpath $rpath $elf - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $elf - done - - runHook postInstall - ''; - - meta = with lib; { - description = "A freeware web browser developed by Google"; - homepage = "https://www.google.com/chrome/browser/"; - license = licenses.unfree; - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - maintainers = with maintainers; [ jnsgruk ]; - platforms = [ "x86_64-linux" ]; - mainProgram = "google-chrome-stable"; - }; -}) |