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
main
Jan Tojnar 2 years ago
parent 7de3765a5d
commit e8c84f90ed
  1. 4
      pkgs/applications/networking/browsers/chromium/common.nix
  2. 3
      pkgs/applications/networking/browsers/chromium/default.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
@ -155,7 +154,6 @@ let
libepoxy
] ++ optional systemdSupport systemd
++ optionals gnomeSupport [ gnome2.GConf libgcrypt ]
++ optional gnomeKeyringSupport libgnome-keyring3
++ optionals cupsSupport [ libgcrypt cups ]
++ optional pulseSupport libpulseaudio;
@ -271,7 +269,7 @@ let
# Optional features:
use_gio = true;
use_gnome_keyring = gnomeKeyringSupport;
use_gnome_keyring = false; # Superseded by libsecret
use_cups = cupsSupport;
# Feature overrides:

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

Loading…
Cancel
Save