From 7b87f2121dd2f17910ae5987a91bd915145cc3ff Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Mon, 28 Mar 2022 15:42:41 +0200 Subject: [PATCH] chromium: remove deprecated libgnome-keyring dependency libgnome-keyring has been deprecated for a long time. It has been superseded by libsecret, which allows access to not only GNOME Keyring secret manager but any other service implementing the Secret Service D-Bus API. In fact Chromium links against libsecret when use_glib is enabled: https://source.chromium.org/chromium/chromium/src/+/main:components/os_crypt/BUILD.gn;l=142;drc=35be6215ec8f09e50176f36753c68f26c63d1885 And use_glib is on by default on Linux: https://source.chromium.org/chromium/chromium/src/+/main:components/os_crypt/BUILD.gn;l=142;drc=35be6215ec8f09e50176f36753c68f26c63d1885 Unfortunately, Chromium is vendoring libsecret: https://source.chromium.org/chromium/chromium/src/+/main:components/os_crypt/BUILD.gn;l=187;drc=35be6215ec8f09e50176f36753c68f26c63d1885 We need to disable the flag explicitly, since it is enabled by default: https://source.chromium.org/chromium/chromium/src/+/main:components/os_crypt/features.gni;l=11;drc=35be6215ec8f09e50176f36753c68f26c63d1885 (cherry picked from commit e8c84f90ed0f4f0f880d1217b26d6c026ec43a2f) --- pkgs/applications/networking/browsers/chromium/common.nix | 4 +--- pkgs/applications/networking/browsers/chromium/default.nix | 3 +-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index a309189ba27b..d0d858f1a7fb 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -40,7 +40,6 @@ # Package customization: , gnomeSupport ? false, gnome2 ? null -, gnomeKeyringSupport ? false, libgnome-keyring3 ? null , cupsSupport ? true, cups ? null , proprietaryCodecs ? true , pulseSupport ? false, libpulseaudio ? null @@ -162,7 +161,6 @@ let libepoxy ] ++ optional systemdSupport systemd ++ optionals gnomeSupport [ gnome2.GConf libgcrypt ] - ++ optional gnomeKeyringSupport libgnome-keyring3 ++ optionals cupsSupport [ libgcrypt cups ] ++ optional pulseSupport libpulseaudio; @@ -280,7 +278,7 @@ let # Optional features: use_gio = true; - use_gnome_keyring = gnomeKeyringSupport; + use_gnome_keyring = false; # Superseded by libsecret use_cups = cupsSupport; # Feature overrides: diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix index de57f0369680..f45dc9c56955 100644 --- a/pkgs/applications/networking/browsers/chromium/default.nix +++ b/pkgs/applications/networking/browsers/chromium/default.nix @@ -9,7 +9,6 @@ # Note: enable* flags should not require full rebuilds (i.e. only affect the wrapper) , channel ? "stable" , gnomeSupport ? false, gnome2 ? null -, gnomeKeyringSupport ? false , proprietaryCodecs ? true , enableWideVine ? false , ungoogled ? false # Whether to build chromium or ungoogled-chromium @@ -46,7 +45,7 @@ let mkChromiumDerivation = callPackage ./common.nix ({ inherit channel chromiumVersionAtLeast versionRange; - inherit gnome2 gnomeSupport gnomeKeyringSupport proprietaryCodecs + inherit gnome2 gnomeSupport proprietaryCodecs cupsSupport pulseSupport ungoogled; gnChromium = gn.overrideAttrs (oldAttrs: { inherit (upstream-info.deps.gn) version;