From 272bd8f9ecc80702ca8cbc8463f3d733af26a02d Mon Sep 17 00:00:00 2001 From: emilylange Date: Wed, 1 May 2024 23:37:27 +0200 Subject: google-chrome: remove leftover `google-chrome-{beta,dev}` code paths Those are leftovers from when `google-chrome-{beta,dev}` were removed due to lack of maintenance in 59719f787e94f39e64e9086d08eaedd8a9e61b22. (cherry picked from commit dfd28b0c05d52782f821dbdf5e710a0a5c80d355) --- .../networking/browsers/google-chrome/default.nix | 24 +++++----------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix index 17b7e288f0a63..55506187c78a8 100644 --- a/pkgs/applications/networking/browsers/google-chrome/default.nix +++ b/pkgs/applications/networking/browsers/google-chrome/default.nix @@ -28,9 +28,6 @@ ## Gentoo , bzip2, libcap -# Which distribution channel to use. -, channel ? "stable" - # Necessary for USB audio devices. , pulseSupport ? true, libpulseaudio @@ -70,16 +67,10 @@ let ++ lib.optional libvaSupport libva ++ [ gtk3 gtk4 ]; - suffix = lib.optionalString (channel != "stable") "-${channel}"; - - crashpadHandlerBinary = if lib.versionAtLeast version "94" - then "chrome_crashpad_handler" - else "crashpad_handler"; - in stdenv.mkDerivation { inherit version; - name = "google-chrome${suffix}-${version}"; + pname = "google-chrome"; src = chromium.chromeSrc; @@ -103,11 +94,8 @@ in stdenv.mkDerivation { installPhase = '' runHook preInstall - case ${channel} in - beta) appname=chrome-beta dist=beta ;; - dev) appname=chrome-unstable dist=unstable ;; - *) appname=chrome dist=stable ;; - esac + appname=chrome + dist=stable exe=$out/bin/google-chrome-$dist @@ -149,7 +137,7 @@ in stdenv.mkDerivation { --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,${crashpadHandlerBinary}}; do + 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 @@ -167,8 +155,6 @@ in stdenv.mkDerivation { # will try to merge PRs and respond to issues but I'm not actually using # Google Chrome. platforms = [ "x86_64-linux" ]; - mainProgram = - if (channel == "dev") then "google-chrome-unstable" - else "google-chrome-${channel}"; + mainProgram = "google-chrome-stable"; }; } -- cgit 1.4.1 From cf9a3d9c64a9000e24e943fd281101e179987fce Mon Sep 17 00:00:00 2001 From: emilylange Date: Wed, 1 May 2024 23:43:15 +0200 Subject: google-chrome: move independently of `chromium` Historically, `google-chrome` used the version info and debian package FOD provided by `chromium`. This was very efficient, because `chromium` uses parts of the debian tarball for Widevine (opt-in, via `.override`). Meaning `chromium` has to track that debian tarball with each update anyway. And they always release in sync. So why keep seperate `google-chrome` from `chromium` now? - The current `chromium` maintainers are already at capacity maintaining `chromium` and have no time for `google-chrome`. - `chromium` bumps become sometimes a bottleneck for `google-chrome`. This is because `chromium` is built from source and a lot more time consuming and significantly more complex. - Lately, `chromium` and `google-chrome` both had an upstream issue under wayland with `--ozone-platform-hint`, rendering it unusable. For `chromium` we were able to patch it, since unlike `google-chrome` it's built from source. The `chromium` maintainers simply forgot that `google-chrome` might have the same issue, continued to merge the PR, rendering `google-chrome` broken. This PR also removes primeos from `meta.maintainers` since they only added themself to `google-chrome` because it inherited `chromium`'s version, stating they don't actually use `google-chrome`. Furthermore, primeos no longer maintains `chromium`. Ref 477e7d6b60e817661632ff3a8aaf2e39c4cceadc (cherry picked from commit 9f96faf9d8d5ba69f1772d087284bb6d2a67f356) --- .../networking/browsers/google-chrome/default.nix | 24 ++++++++-------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix index 55506187c78a8..9105590fcc1e4 100644 --- a/pkgs/applications/networking/browsers/google-chrome/default.nix +++ b/pkgs/applications/networking/browsers/google-chrome/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, patchelf, makeWrapper +{ lib, stdenv, patchelf, makeWrapper, fetchurl # Linked dynamic libraries. , glib, fontconfig, freetype, pango, cairo, libX11, libXi, atk, nss, nspr @@ -31,9 +31,6 @@ # Necessary for USB audio devices. , pulseSupport ? true, libpulseaudio -# Only needed for getting information about upstream binaries -, chromium - , gsettings-desktop-schemas , gnome @@ -49,8 +46,6 @@ let withCustomModes = true; }; - version = chromium.upstream-info.version; - deps = [ glib fontconfig freetype pango cairo libX11 libXi atk nss nspr libXcursor libXext libXfixes libXrender libXScrnSaver libXcomposite libxcb @@ -67,12 +62,14 @@ let ++ lib.optional libvaSupport libva ++ [ gtk3 gtk4 ]; -in stdenv.mkDerivation { - inherit version; - +in stdenv.mkDerivation (finalAttrs: { pname = "google-chrome"; + version = "124.0.6367.118"; - src = chromium.chromeSrc; + 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 = [ @@ -150,11 +147,8 @@ in stdenv.mkDerivation { homepage = "https://www.google.com/chrome/browser/"; license = licenses.unfree; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - maintainers = with maintainers; [ primeos ]; - # Note from primeos: By updating Chromium I also update Google Chrome and - # will try to merge PRs and respond to issues but I'm not actually using - # Google Chrome. + maintainers = with maintainers; [ ]; platforms = [ "x86_64-linux" ]; mainProgram = "google-chrome-stable"; }; -} +}) -- cgit 1.4.1 From 88b2943e4ae92068b9b46452444da559661f7983 Mon Sep 17 00:00:00 2001 From: emilylange Date: Thu, 2 May 2024 00:06:13 +0200 Subject: google-chrome: add jnsgruk as maintainer They signaled interest in issue 306010. (cherry picked from commit 1f88e2fa146c93330846958f95905e3a0d4d9cd3) --- pkgs/applications/networking/browsers/google-chrome/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix index 9105590fcc1e4..8abb0f8f3ae82 100644 --- a/pkgs/applications/networking/browsers/google-chrome/default.nix +++ b/pkgs/applications/networking/browsers/google-chrome/default.nix @@ -147,7 +147,7 @@ in stdenv.mkDerivation (finalAttrs: { homepage = "https://www.google.com/chrome/browser/"; license = licenses.unfree; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ jnsgruk ]; platforms = [ "x86_64-linux" ]; mainProgram = "google-chrome-stable"; }; -- cgit 1.4.1