Unverified Commit 9f96faf9 authored by emilylange's avatar emilylange
Browse files

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 477e7d6b
parent dfd28b0c
Loading
Loading
Loading
Loading
+9 −15
Original line number Diff line number Diff line
{ 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";
  };
}
})