Change:
Setting breaks . The reason being that defines and as follows: Which then overrides with, Resulting in an infinite loop. This appears to be a regression due to . Set , try to build . Using .
This is downfall from
what should be done about this?
Did not we fix this in Anyway, should fix pinentry for good.
Thank you for your contributions. This has been automatically marked as stale because it has had no activity for 180 days. If this is still important to you, we ask that you leave a comment below. Your comment can be as simple as "still important to me". This lets people see that at least one person still cares about this. Someone will have to do this at most twice a year if there is no other activity. Here are suggestions that might help resolve this more quickly: for maintainers and people that previously touched the related code and @ mention them in a comment. on the . on the on .
how does the situation look like now? Is this specific issue fixed?
I marked this as stale due to inactivity. &rarr;
Closing due to inactivity. Please reopen if it's still broken.

Discussion:
networkmanager_pptp = pkgs.networkmanager_pptp.override { withGnome = false; }; networkmanager_vpnc = pkgs.networkmanager_vpnc.override { withGnome = false; }; networkmanager_iodine = pkgs.networkmanager_iodine.override { withGnome = false; }; <del> pinentry = pkgs.pinentry.override { gtk2 = null; qt4 = null; }; </del> <ins> pinentry = pkgs.pinentry_ncurses; </ins> }; }; }

{ fetchurl, fetchpatch, stdenv, lib, pkgconfig <del> , libgpgerror, libassuan, libcap ? null, libsecret ? null, ncurses ? null, gtk2 ? null, gcr ? null, qt4 ? null </del> <ins> , libgpgerror, libassuan, libcap ? null, libsecret ? null, ncurses ? null, gtk2 ? null, gcr ? null, qt ? null </ins> }: let

mkEnable = mkFlag "enable" "disable"; mkWith = mkFlag "with" "without"; in <del> with stdenv.lib; </del> stdenv.mkDerivation rec { <del> name = "pinentry-1.0.0"; </del> <ins> name = "pinentry-1.1.0"; </ins> src = fetchurl { url = "mirror://gnupg/pinentry/${name}.tar.bz2"; <del> sha256 = "0ni7g4plq6x78p32al7m8h2zsakvg1rhfz0qbc3kdc7yq7nw4whn"; </del> <ins> sha256 = "0w35ypl960pczg5kp6km3dyr000m1hf0vpwwlh72jjkjza36c1v8"; </ins> }; <del> buildInputs = [ libgpgerror libassuan libcap libsecret gtk2 gcr ncurses qt4 ]; </del> <ins> buildInputs = [ libgpgerror libassuan libcap libsecret gtk2 gcr ncurses qt ]; </ins> prePatch = '' substituteInPlace pinentry/pinentry-curses.c --replace ncursesw ncurses

patches = lib.optionals (gtk2 != null) [ (fetchpatch { <del> url = https://anonscm.debian.org/cgit/pkg-gnupg/pinentry.git/plain/debian/patches/0006-gtk2-Fix-a-problem-with-fvwm.patch; sha256 = "1w3y4brqp74hy3fbfxqnqp6jf985bd6667ivy1crz50r3z9zsy09"; })(fetchpatch { url = https://anonscm.debian.org/cgit/pkg-gnupg/pinentry.git/plain/debian/patches/0007-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch; sha256 = "046jy7k0n7fj74s5w1h6sq1ljg8y77i0xwi301kv53bhsp0xsirx"; })]; # configure cannot find moc on its own preConfigure = stdenv.lib.optionalString (qt4 != null) '' export QTDIR="${qt4}" export MOC="${qt4}/bin/moc" ''; </del> <ins> url = https://anonscm.debian.org/cgit/pkg-gnupg/pinentry.git/plain/debian/patches/0007-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch; sha256 = "046jy7k0n7fj74s5w1h6sq1ljg8y77i0xwi301kv53bhsp0xsirx"; }) ]; </ins> configureFlags = [ (mkWith   (libcap != null)    "libcap")

(mkEnable true                "pinentry-tty") (mkEnable (gtk2 != null)      "pinentry-gtk2") (mkEnable (gcr != null)       "pinentry-gnome3") <del> (mkEnable (qt4 != null)       "pinentry-qt") </del> <ins> (mkEnable (qt != null)        "pinentry-qt") </ins> ]; nativeBuildInputs = [ pkgconfig ]; <del> meta = { </del> <ins> meta = with stdenv.lib; { </ins> homepage = http://gnupg.org/aegypten2/; <del> description = "GnuPG's interface to passphrase input"; license = stdenv.lib.licenses.gpl2Plus; platforms = stdenv.lib.platforms.all; </del> <ins> description = "GnuPG’s interface to passphrase input"; license = licenses.gpl2Plus; platforms = platforms.all; </ins> longDescription = '' Pinentry provides a console and (optional) GTK+ and Qt GUIs allowing users to enter a passphrase when `gpg' or `gpg2' is run and needs it. ''; <del> maintainers = [ stdenv.lib.maintainers.ttuegel ]; </del> <ins> maintainers = [ maintainers.ttuegel ]; </ins> }; }

<del> { fetchurl, stdenv, pkgconfig , libgpgerror, libassuan , qtbase , libcap ? null }: let mkFlag = pfxTrue: pfxFalse: cond: name: "--${if cond then pfxTrue else pfxFalse}-${name}"; mkEnable = mkFlag "enable" "disable"; mkWith = mkFlag "with" "without"; in with stdenv.lib; stdenv.mkDerivation rec { name = "pinentry-0.9.6"; src = fetchurl { url = "mirror://gnupg/pinentry/${name}.tar.bz2"; sha256 = "0rhyw1vk28kgasjp22myf7m2q8kycw82d65pr9kgh93z17lj849a"; }; buildInputs = [ libgpgerror libassuan libcap qtbase ]; # configure cannot find moc on its own preConfigure = '' export QTDIR="${qtbase.dev}" export MOC="${qtbase.dev}/bin/moc" ''; configureFlags = [ (mkWith   (libcap != null)  "libcap") (mkEnable true "pinentry-qt") ]; NIX_CFLAGS_COMPILE = [ "-std=c++11" ]; nativeBuildInputs = [ pkgconfig ]; meta = { homepage = http://gnupg.org/aegypten2/; description = "GnuPG's interface to passphrase input"; license = stdenv.lib.licenses.gpl2Plus; platforms = stdenv.lib.platforms.all; longDescription = '' Pinentry provides a console and (optional) GTK+ and Qt GUIs allowing users to enter a passphrase when `gpg' or `gpg2' is run and needs it. ''; maintainers = [ stdenv.lib.maintainers.ttuegel ]; }; } </del>

philter = callPackage ../tools/networking/philter { }; <del> pinentry = callPackage ../tools/security/pinentry { libcap = if stdenv.isDarwin then null else libcap; qt4 = null; </del> <ins> pinentry = pinentry_ncurses.override { inherit gtk2; </ins> }; <del> pinentry_ncurses = pinentry.override { </del> <ins> pinentry_ncurses = callPackage ../tools/security/pinentry { libcap = if stdenv.isDarwin then null else libcap; </ins> gtk2 = null; };

}; pinentry_qt4 = pinentry_ncurses.override { <del> inherit qt4; </del> <ins> qt = qt4; </ins> }; <del> pinentry_qt5 = libsForQt5.callPackage ../tools/security/pinentry/qt5.nix { libcap = if stdenv.isDarwin then null else libcap; </del> <ins> pinentry_qt5 = pinentry_ncurses.override { qt = qt5.qtbase; </ins> }; pinentry_mac = callPackage ../tools/security/pinentry-mac {