Skip to content

Commit

Permalink
pinentry: Fix .override for pinentry_*
Browse files Browse the repository at this point in the history
When you evaluate nixos/tests/simple.nix, you'll run into an infinite
recursion since 41b140c.

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 <[email protected]>
Cc: @ttuegel
Signed-off-by: aszlig <[email protected]>
  • Loading branch information
aszlig committed Jun 11, 2018
1 parent fb2c132 commit d1a2853
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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;
};

Expand Down

0 comments on commit d1a2853

Please sign in to comment.