summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authoraszlig <aszlig@nix.build>2018-06-11 20:55:28 +0200
committeraszlig <aszlig@nix.build>2018-06-11 20:58:58 +0200
commitd1a2853933b49f3798c35b7cf8382bb788ee0320 (patch)
tree95c2cc4936126007374ba64ff9300ee9f09e94d7 /pkgs
parentfb2c132db488befd2b3f104e6b6fea7babf77e3c (diff)
downloadnixlib-d1a2853933b49f3798c35b7cf8382bb788ee0320.tar
nixlib-d1a2853933b49f3798c35b7cf8382bb788ee0320.tar.gz
nixlib-d1a2853933b49f3798c35b7cf8382bb788ee0320.tar.bz2
nixlib-d1a2853933b49f3798c35b7cf8382bb788ee0320.tar.lz
nixlib-d1a2853933b49f3798c35b7cf8382bb788ee0320.tar.xz
nixlib-d1a2853933b49f3798c35b7cf8382bb788ee0320.tar.zst
nixlib-d1a2853933b49f3798c35b7cf8382bb788ee0320.zip
pinentry: Fix .override for pinentry_*
When you evaluate nixos/tests/simple.nix, you'll run into an infinite
recursion since 41b140cb25a2e10d94107393bd41509564f2fb82.

The reason is that udisks2 now pulls in gnupg because it now depends on
libblockdev, which in turn depends on volume_key and that depends on
gnupg.

Nevertheless, it's not the real reason, because this only means, that
since gnupg is now pulled into the closure of a basic nixos
configuration the real problem becomes visible:

In nixos/modules/config/no-x-libs.nix there is an overlay which does
something like this:

  nixpkgs.overlays = singleton (const (super: {
    pinentry = super.pinentry_ncurses;
  }));

Now since pinentry_ncurses is already using pinentry.override we get an
infinite recursion because now the pinentry attribute refers to
pinentry_ncurses, which by itself is again referring to pinentry.

This is solved by using the self.pinentry.override instead, so that the
override used by pinentry_ncurses doesn't use the attribute from the
overlay.

Signed-off-by: aszlig <aszlig@nix.build>
Cc: @ttuegel
Signed-off-by: aszlig <aszlig@nix.build>
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/top-level/all-packages.nix10
1 files changed, 5 insertions, 5 deletions
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b6d0f3695321..d652824d8b9c 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4440,23 +4440,23 @@ with pkgs;
     libcap = if stdenv.isDarwin then null else libcap;
   };
 
-  pinentry_ncurses = pinentry.override {
+  pinentry_ncurses = self.pinentry.override {
     gtk2 = null;
   };
 
-  pinentry_emacs = pinentry.override {
+  pinentry_emacs = self.pinentry.override {
     enableEmacs = true;
   };
 
-  pinentry_gnome = pinentry.override {
+  pinentry_gnome = self.pinentry.override {
     gcr = gnome3.gcr;
   };
 
-  pinentry_qt4 = pinentry.override {
+  pinentry_qt4 = self.pinentry.override {
     qt = qt4;
   };
 
-  pinentry_qt5 = pinentry.override {
+  pinentry_qt5 = self.pinentry.override {
     qt = qt5.qtbase;
   };