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 e8c84f90ed)
This commit is contained in:
Jan Tojnar
2022-03-28 15:42:41 +02:00
committed by Michael Weiss
parent f66a7ab7b5
commit 7b87f2121d
2 changed files with 2 additions and 5 deletions

View File

@@ -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:

View File

@@ -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;