summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-crypt/pinentry')
-rw-r--r--app-crypt/pinentry/Manifest6
-rw-r--r--app-crypt/pinentry/files/pinentry-0.8.2-ncurses.patch25
-rw-r--r--app-crypt/pinentry/files/pinentry-1.0.0-AR.patch11
-rw-r--r--app-crypt/pinentry/files/pinentry-1.0.0-Disable-tooltips-in-keyboard-grabbing-mode.patch47
-rw-r--r--app-crypt/pinentry/files/pinentry-1.0.0-build.patch218
-rw-r--r--app-crypt/pinentry/files/pinentry-1.0.0-gtk2-Fix-a-problem-with-fvwm.patch47
-rw-r--r--app-crypt/pinentry/files/pinentry-1.0.0-make-icon-work-under-Plasma-Wayland.patch52
-rw-r--r--app-crypt/pinentry/files/pinentry-1.2.1-automagic-capslock.patch99
-rw-r--r--app-crypt/pinentry/files/pinentry-1.2.1-include-memory.patch313
-rw-r--r--app-crypt/pinentry/files/pinentry-1.3.0-automagic.patch141
-rw-r--r--app-crypt/pinentry/files/pinentry-1.3.0-ifdef-qt.patch125
-rw-r--r--app-crypt/pinentry/metadata.xml11
-rw-r--r--app-crypt/pinentry/pinentry-1.0.0-r2.ebuild102
-rw-r--r--app-crypt/pinentry/pinentry-1.0.0-r3.ebuild103
-rw-r--r--app-crypt/pinentry/pinentry-1.1.0-r1.ebuild100
-rw-r--r--app-crypt/pinentry/pinentry-1.1.0-r2.ebuild102
-rw-r--r--app-crypt/pinentry/pinentry-1.1.0-r3.ebuild106
-rw-r--r--app-crypt/pinentry/pinentry-1.2.1-r4.ebuild108
-rw-r--r--app-crypt/pinentry/pinentry-1.2.1-r6.ebuild108
-rw-r--r--app-crypt/pinentry/pinentry-1.3.0-r2.ebuild144
20 files changed, 1060 insertions, 908 deletions
diff --git a/app-crypt/pinentry/Manifest b/app-crypt/pinentry/Manifest
index e8e43f0ce1b3..3d0f5457e97a 100644
--- a/app-crypt/pinentry/Manifest
+++ b/app-crypt/pinentry/Manifest
@@ -1,2 +1,4 @@
-DIST pinentry-1.0.0.tar.bz2 436930 BLAKE2B 949be8de8504a42cd5bd6ffebe331a825db7ff3c2ccc5fc554155b7621fddf9df957aa92063eb1a06c6964826a296bf60a4cc46cf2886552e37703a62042f35a SHA512 f109236707c51871b5020ef807a551366461fafcfbe09bf8cda19d4b163a42cf622562b905ceb41429f1d648b3f3d27807538709da6a135b67f9888709eccd62
-DIST pinentry-1.1.0.tar.bz2 467702 BLAKE2B cf43555848ab0dc60756fca123aba7599ebb1bfe0458b973ed9d84479f8de9ee69ef309b518b40aa340434d64d37793cf97c94f78f99820bc5c71ecd2aac7a49 SHA512 5012672925bcb5f683358c259e55e4b87c67cf063ad52c759308933733025c33f7ce08e5b8019ffc101cbf7ef30499040ef2fd34a7611698e65e1593f80948cd
+DIST pinentry-1.2.1.tar.bz2 547698 BLAKE2B aa47612aa3a6f74c3676bf4018780356cb22ed4078792c1f466f9e0465199428c151c0e20dfbe6c784ef93c2b42b673daff0b6adc74c8c98fed9921e65ed42ea SHA512 a665315628f4dcf07e16a22db3f3be15d7e7e93b3deec0546c7275b71b0e3bd65535a08af5e12d6339fd6595132df86529401d9d12bd17c428a3466e8dfafab6
+DIST pinentry-1.2.1.tar.bz2.sig 238 BLAKE2B 01ba3dc296a8e76c546d21d0bb0cd13778476d5d5b3ef55a3401c6a0353a56d79250d11555afb31c77c5a77e63847ded0f8eaef395bb0dc2ee3ff1d6a4ed83bd SHA512 d0e8435dc169a58f111f057f1c9fbb6c70da32a850f1107d6abdf41357c1714832728109ae61507db313d7eaef9596e5faf92fd21bed78adcc46a8c8a590430b
+DIST pinentry-1.3.0.tar.bz2 610363 BLAKE2B a55b80754ef37d18ebdf0bd50e134a7b1bf6362b859b7069a9e4ebd86cd7e733d51f3c21a16779a18aa0d0dfab1f7a3df070d4f7e39e0840339078c4e9cb58bc SHA512 1bbac81c6811cffc8969a46494e6daa6b8447802f47ff6fa3e4dc9ac244cf6e5f629834c9b6a60770d06bff6c9932ad4059f10d2fdf93fd9e26fd5d21c0e3732
+DIST pinentry-1.3.0.tar.bz2.sig 119 BLAKE2B 0f11126761b2a06f8b08cf971f5d610cacbde1a5ee419523a6e704ac21fef4cce26495a160a51bee5ed5f68eca7d6864dfa03efa48030ba2cf783e767b925e1c SHA512 77a61877adf241d67caeea3af4c12a2c7c13ddc423ac001fab79bcec463a5853d8806052d61504fae0c67e0a9d1edf6a12d24b560ff7b4083eea5e86f9b54a90
diff --git a/app-crypt/pinentry/files/pinentry-0.8.2-ncurses.patch b/app-crypt/pinentry/files/pinentry-0.8.2-ncurses.patch
deleted file mode 100644
index 3bb92c63d00c..000000000000
--- a/app-crypt/pinentry/files/pinentry-0.8.2-ncurses.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From bafe8608fc525ef103b3d1f3048ca28958bef596 Mon Sep 17 00:00:00 2001
-From: Alon Bar-Lev <alon.barlev@gmail.com>
-Date: Sun, 5 May 2013 02:23:08 +0300
-Subject: [PATCH] ncurses: link with optional tinfo
-
----
- m4/curses.m4 | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/m4/curses.m4 b/m4/curses.m4
-index 3a01881..ffb6bd1 100644
---- a/m4/curses.m4
-+++ b/m4/curses.m4
-@@ -36,6 +36,8 @@ AC_DEFUN([IU_LIB_NCURSES], [
- have_ncursesw=no
- fi
- if test "$LIBNCURSES"; then
-+ AC_CHECK_LIB(tinfow, curs_set, LIBNCURSES="${LIBNCURSES} -ltinfow",
-+ AC_CHECK_LIB(tinfo, curs_set, LIBNCURSES="${LIBNCURSES} -ltinfo"))
- # Use ncurses header files instead of the ordinary ones, if possible;
- # is there a better way of doing this, that avoids looking in specific
- # directories?
---
-1.8.1.5
-
diff --git a/app-crypt/pinentry/files/pinentry-1.0.0-AR.patch b/app-crypt/pinentry/files/pinentry-1.0.0-AR.patch
new file mode 100644
index 000000000000..82af67f694ae
--- /dev/null
+++ b/app-crypt/pinentry/files/pinentry-1.0.0-AR.patch
@@ -0,0 +1,11 @@
+https://bugs.gentoo.org/718028
+--- a/configure.ac
++++ b/configure.ac
+@@ -80,6 +80,7 @@ AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+ AC_PROG_CC
+ AC_PROG_CPP
+ AC_PROG_INSTALL
++AM_PROG_AR
+ AC_PROG_RANLIB
+ # We need to check for cplusplus here because we may not do the test
+ # for Qt and autoconf does does not allow that.
diff --git a/app-crypt/pinentry/files/pinentry-1.0.0-Disable-tooltips-in-keyboard-grabbing-mode.patch b/app-crypt/pinentry/files/pinentry-1.0.0-Disable-tooltips-in-keyboard-grabbing-mode.patch
deleted file mode 100644
index 7724d1beae8c..000000000000
--- a/app-crypt/pinentry/files/pinentry-1.0.0-Disable-tooltips-in-keyboard-grabbing-mode.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 1590b664d88be8386a4664c2994b685187d1eb25 Mon Sep 17 00:00:00 2001
-From: Damien Goutte-Gattat <dgouttegattat@incenp.org>
-Date: Thu, 3 Aug 2017 22:56:49 +0200
-Subject: [PATCH 1/6] gtk: Disable tooltips in keyboard-grabbing mode.
-
-* gtk+-2:/pinentry-gtk-2.c (show_hide_button): Do not show the
-tooltip if we attempt to grab the keyboard.
-(create_window): Likewise.
---
-
-For unclear reasons, those tooltips may interfere with grabbing
-under some tiling window managers.
-
-GnuPG-bug-id: 3297
-Signed-off-by: Damien Goutte-Gattat <dgouttegattat@incenp.org>
----
- gtk+-2/pinentry-gtk-2.c | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/gtk+-2/pinentry-gtk-2.c b/gtk+-2/pinentry-gtk-2.c
-index d467ec5..f17a702 100644
---- a/gtk+-2/pinentry-gtk-2.c
-+++ b/gtk+-2/pinentry-gtk-2.c
-@@ -516,7 +516,10 @@ show_hide_button_toggled (GtkWidget *widget, gpointer data)
- }
-
- gtk_label_set_markup (GTK_LABEL(label), text);
-- gtk_widget_set_tooltip_text (GTK_WIDGET(button), tooltip);
-+ if (!pinentry->grab)
-+ {
-+ gtk_widget_set_tooltip_text (GTK_WIDGET(button), tooltip);
-+ }
- g_free (tooltip);
- }
-
-@@ -736,7 +739,7 @@ create_window (pinentry_t ctx)
- gtk_progress_bar_set_text (GTK_PROGRESS_BAR (qualitybar),
- QUALITYBAR_EMPTY_TEXT);
- gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (qualitybar), 0.0);
-- if (pinentry->quality_bar_tt)
-+ if (pinentry->quality_bar_tt && !pinentry->grab)
- {
- #if !GTK_CHECK_VERSION (2, 12, 0)
- gtk_tooltips_set_tip (GTK_TOOLTIPS (tooltips), qualitybar,
---
-2.13.6
-
diff --git a/app-crypt/pinentry/files/pinentry-1.0.0-build.patch b/app-crypt/pinentry/files/pinentry-1.0.0-build.patch
deleted file mode 100644
index e367b8566450..000000000000
--- a/app-crypt/pinentry/files/pinentry-1.0.0-build.patch
+++ /dev/null
@@ -1,218 +0,0 @@
-From c5c7bee68730c9f66a27f9bb0d023480623a2bfb Mon Sep 17 00:00:00 2001
-From: Werner Koch <wk@gnupg.org>
-Date: Thu, 1 Dec 2016 09:10:08 +0100
-Subject: [PATCH] Fix linkage problem in tty and emacs pinentries.
-
-* emacs/pinentry-emacs.c (curses_cmd_handler): Remove var.
-* tty/pinentry-tty.c (curses_cmd_handler): Remove var.
-* pinentry/pinentry.c (flavor_flag): New local var.
-(pinentry_set_flavor_flag): New function.
-(cmd_getinfo): Use FLAVOR_FLAG for the "flavor" sub-command.
-* gnome3/pinentry-gnome3.c (main): Call pinentry_set_flavor_flag.
-* gtk+-2/pinentry-gtk-2.c (main): Ditto.
-* pinentry/pinentry-emacs.c (initial_emacs_cmd_handler): Ditto.
-* qt/main.cpp (main): Ditto.
---
-
-Fixes-commit: e4e3a9cc88704dcffac660d0b92fd1ed8abecc11
-Fixes-commit: d126036671e7dd631babc118cb4113f723f15748
-Signed-off-by: Werner Koch <wk@gnupg.org>
----
- emacs/pinentry-emacs.c | 4 ----
- gnome3/pinentry-gnome3.c | 3 +++
- gtk+-2/pinentry-gtk-2.c | 10 ++++++++--
- pinentry/pinentry-emacs.c | 5 ++++-
- pinentry/pinentry.c | 34 ++++++++++++++++++----------------
- pinentry/pinentry.h | 4 ++++
- qt/main.cpp | 1 +
- tty/pinentry-tty.c | 3 ---
- 8 files changed, 38 insertions(+), 26 deletions(-)
-
-diff --git a/emacs/pinentry-emacs.c b/emacs/pinentry-emacs.c
-index b6b3eb8..3c39a96 100644
---- a/emacs/pinentry-emacs.c
-+++ b/emacs/pinentry-emacs.c
-@@ -29,10 +29,6 @@
-
- pinentry_cmd_handler_t pinentry_cmd_handler = emacs_cmd_handler;
-
--/* needed to link cleanly; should never be used except for comparison
-- * in pinentry/pinentry.c's cmd_getinfo(): */
--pinentry_cmd_handler_t curses_cmd_handler = NULL;
--
-
-
- int
-diff --git a/gnome3/pinentry-gnome3.c b/gnome3/pinentry-gnome3.c
-index a040f9b..d5a49d6 100644
---- a/gnome3/pinentry-gnome3.c
-+++ b/gnome3/pinentry-gnome3.c
-@@ -517,18 +517,21 @@ main (int argc, char *argv[])
- fprintf (stderr, "No $DBUS_SESSION_BUS_ADDRESS found,"
- " falling back to curses\n");
- pinentry_cmd_handler = curses_cmd_handler;
-+ pinentry_set_flavor_flag ("curses");
- }
- else if (!pe_gcr_system_prompt_available ())
- {
- fprintf (stderr, "No Gcr System Prompter available,"
- " falling back to curses\n");
- pinentry_cmd_handler = curses_cmd_handler;
-+ pinentry_set_flavor_flag ("curses");
- }
- else if (pe_gnome_screen_locked ())
- {
- fprintf (stderr, "GNOME screensaver is locked,"
- " falling back to curses\n");
- pinentry_cmd_handler = curses_cmd_handler;
-+ pinentry_set_flavor_flag ("curses");
- }
- #endif
-
-diff --git a/gtk+-2/pinentry-gtk-2.c b/gtk+-2/pinentry-gtk-2.c
-index 6037533..473c4aa 100644
---- a/gtk+-2/pinentry-gtk-2.c
-+++ b/gtk+-2/pinentry-gtk-2.c
-@@ -938,10 +938,16 @@ main (int argc, char *argv[])
- if (pinentry_have_display (argc, argv))
- {
- if (! gtk_init_check (&argc, &argv))
-- pinentry_cmd_handler = curses_cmd_handler;
-+ {
-+ pinentry_cmd_handler = curses_cmd_handler;
-+ pinentry_set_flavor_flag ("curses");
-+ }
- }
- else
-- pinentry_cmd_handler = curses_cmd_handler;
-+ {
-+ pinentry_cmd_handler = curses_cmd_handler;
-+ pinentry_set_flavor_flag ("curses");
-+ }
- #else
- gtk_init (&argc, &argv);
- #endif
-diff --git a/pinentry/pinentry-emacs.c b/pinentry/pinentry-emacs.c
-index df12f1b..50ba406 100644
---- a/pinentry/pinentry-emacs.c
-+++ b/pinentry/pinentry-emacs.c
-@@ -644,7 +644,10 @@ initial_emacs_cmd_handler (pinentry_t pe)
- if (emacs_socket < 0)
- pinentry_cmd_handler = fallback_cmd_handler;
- else
-- pinentry_cmd_handler = emacs_cmd_handler;
-+ {
-+ pinentry_cmd_handler = emacs_cmd_handler;
-+ pinentry_set_flavor_flag ("emacs");
-+ }
-
- return (* pinentry_cmd_handler) (pe);
- }
-diff --git a/pinentry/pinentry.c b/pinentry/pinentry.c
-index 322a651..a198fb3 100644
---- a/pinentry/pinentry.c
-+++ b/pinentry/pinentry.c
-@@ -67,6 +67,10 @@ static char this_pgmname[50];
-
- struct pinentry pinentry;
-
-+
-+static const char *flavor_flag;
-+
-+
- static void
- pinentry_reset (int use_defaults)
- {
-@@ -793,6 +797,16 @@ pinentry_parse_opts (int argc, char *argv[])
- }
- }
-
-+
-+/* Set the optional flag used with getinfo. */
-+void
-+pinentry_set_flavor_flag (const char *string)
-+{
-+ flavor_flag = string;
-+}
-+
-+
-+
-
- static gpg_error_t
- option_handler (assuan_context_t ctx, const char *key, const char *value)
-@@ -1444,27 +1458,15 @@ cmd_getinfo (assuan_context_t ctx, char *line)
- }
- else if (!strcmp (line, "flavor"))
- {
-- const char *flags;
--
- if (!strncmp (this_pgmname, "pinentry-", 9) && this_pgmname[9])
- s = this_pgmname + 9;
- else
- s = this_pgmname;
-
-- if (0)
-- ;
--#ifdef INSIDE_EMACS
-- else if (pinentry_cmd_handler == emacs_cmd_handler)
-- flags = ":emacs";
--#endif
--#ifdef FALLBACK_CURSES
-- else if (pinentry_cmd_handler == curses_cmd_handler)
-- flags = ":curses";
--#endif
-- else
-- flags = "";
--
-- snprintf (buffer, sizeof buffer, "%s%s", s, flags);
-+ snprintf (buffer, sizeof buffer, "%s%s%s",
-+ s,
-+ flavor_flag? ":":"",
-+ flavor_flag? flavor_flag : "");
- buffer[sizeof buffer -1] = 0;
- rc = assuan_send_data (ctx, buffer, strlen (buffer));
- }
-diff --git a/pinentry/pinentry.h b/pinentry/pinentry.h
-index 01fb373..45d35ad 100644
---- a/pinentry/pinentry.h
-+++ b/pinentry/pinentry.h
-@@ -275,6 +275,10 @@ int pinentry_have_display (int argc, char **argv);
- or version output is requested. */
- void pinentry_parse_opts (int argc, char *argv[]);
-
-+/* Set the optional flag used with getinfo. */
-+void pinentry_set_flavor_flag (const char *string);
-+
-+
-
- /* The caller must define this variable to process assuan commands. */
- extern pinentry_cmd_handler_t pinentry_cmd_handler;
-diff --git a/qt/main.cpp b/qt/main.cpp
-index 8284960..225c06b 100644
---- a/qt/main.cpp
-+++ b/qt/main.cpp
-@@ -308,6 +308,7 @@ main(int argc, char *argv[])
- #ifdef FALLBACK_CURSES
- if (!pinentry_have_display(argc, argv)) {
- pinentry_cmd_handler = curses_cmd_handler;
-+ pinentry_set_flavor_flag ("curses");
- } else
- #endif
- {
-diff --git a/tty/pinentry-tty.c b/tty/pinentry-tty.c
-index 3d6cd5a..a509d79 100644
---- a/tty/pinentry-tty.c
-+++ b/tty/pinentry-tty.c
-@@ -556,9 +556,6 @@ tty_cmd_handler(pinentry_t pinentry)
-
- pinentry_cmd_handler_t pinentry_cmd_handler = tty_cmd_handler;
-
--/* needed to link cleanly; should never be used except for comparison
-- * in pinentry/pinentry.c's cmd_getinfo(): */
--pinentry_cmd_handler_t curses_cmd_handler = NULL;
-
-
- int
---
-2.8.0.rc3
-
diff --git a/app-crypt/pinentry/files/pinentry-1.0.0-gtk2-Fix-a-problem-with-fvwm.patch b/app-crypt/pinentry/files/pinentry-1.0.0-gtk2-Fix-a-problem-with-fvwm.patch
deleted file mode 100644
index f7476de1ff67..000000000000
--- a/app-crypt/pinentry/files/pinentry-1.0.0-gtk2-Fix-a-problem-with-fvwm.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From b0e0bdeac5d40ca645afc9017778b39a26303523 Mon Sep 17 00:00:00 2001
-From: Werner Koch <wk@gnupg.org>
-Date: Wed, 11 Jan 2017 18:40:17 +0100
-Subject: [PATCH 01/25] gtk2: Fix a problem with fvwm
-
-* gtk+-2/pinentry-gtk-2.c (grab_pointer): Take care of
-GDK_GRAB_ALREADY_GRABBED.
---
-
-Debian-bug-id: 850708
-Co-authored-by: Vincent Lefevre <vincent@vinc17.net>
-Signed-off-by: Werner Koch <wk@gnupg.org>
----
- gtk+-2/pinentry-gtk-2.c | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/gtk+-2/pinentry-gtk-2.c b/gtk+-2/pinentry-gtk-2.c
-index 473c4aa..e37601f 100644
---- a/gtk+-2/pinentry-gtk-2.c
-+++ b/gtk+-2/pinentry-gtk-2.c
-@@ -203,7 +203,12 @@ grab_pointer (GtkWidget *win, GdkEvent *event, gpointer data)
- (void)data;
-
- /* Change the cursor for the duration of the grab to indicate that
-- something is going on. */
-+ * something is going on. The fvwm window manager grabs the pointer
-+ * for a short time and thus we may end up with the already grabbed
-+ * error code. Actually this error code should be used to detect a
-+ * malicious grabbing application but with fvwm this renders
-+ * Pinentry only unusable. Thus we try again several times also for
-+ * that error code. See Debian bug 850708 for details. */
- /* XXX: It would be nice to have a key cursor, unfortunately there
- is none readily available. */
- cursor = gdk_cursor_new_for_display (gtk_widget_get_display (win),
-@@ -215,7 +220,8 @@ grab_pointer (GtkWidget *win, GdkEvent *event, gpointer data)
- NULL /* confine to */,
- cursor,
- gdk_event_get_time (event));
-- while (tries++ < max_tries && err == GDK_GRAB_NOT_VIEWABLE);
-+ while (tries++ < max_tries && (err == GDK_GRAB_NOT_VIEWABLE
-+ || err == GDK_GRAB_ALREADY_GRABBED));
-
- if (err)
- {
---
-2.13.6
-
diff --git a/app-crypt/pinentry/files/pinentry-1.0.0-make-icon-work-under-Plasma-Wayland.patch b/app-crypt/pinentry/files/pinentry-1.0.0-make-icon-work-under-Plasma-Wayland.patch
deleted file mode 100644
index 646df1963760..000000000000
--- a/app-crypt/pinentry/files/pinentry-1.0.0-make-icon-work-under-Plasma-Wayland.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 7218becac7132c2508d4e8f42c693d69c406795a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= <andrius@stikonas.eu>
-Date: Wed, 7 Mar 2018 15:14:22 +0100
-Subject: [PATCH] Make pinentry-qt icon work under Plasma Wayland.
-
----
- qt/Makefile.am | 2 ++
- qt/main.cpp | 2 ++
- qt/org.gnupg.pinentry-qt.desktop | 5 +++++
- 3 files changed, 9 insertions(+)
- create mode 100644 qt/org.gnupg.pinentry-qt.desktop
-
-diff --git a/qt/Makefile.am b/qt/Makefile.am
-index 698005e..bbf39d1 100644
---- a/qt/Makefile.am
-+++ b/qt/Makefile.am
-@@ -24,6 +24,8 @@ bin_PROGRAMS = pinentry-qt
-
- EXTRA_DIST = document-encrypt.png pinentry.qrc
-
-+desktopdir = $(datadir)/applications
-+dist_desktop_DATA = org.gnupg.pinentry-qt.desktop
-
- if FALLBACK_CURSES
- ncurses_include = $(NCURSES_INCLUDE)
-diff --git a/qt/main.cpp b/qt/main.cpp
-index fe88d26..b767cb4 100644
---- a/qt/main.cpp
-+++ b/qt/main.cpp
-@@ -372,6 +372,8 @@ main(int argc, char *argv[])
- i = argc;
- app = new QApplication(i, new_argv);
- app->setWindowIcon(QIcon(QLatin1String(":/document-encrypt.png")));
-+ app->setOrganizationDomain(QStringLiteral("gnupg.org"));
-+ app->setDesktopFileName(QStringLiteral("org.gnupg.pinentry-qt"));
- }
-
- pinentry_parse_opts(argc, argv);
-diff --git a/qt/org.gnupg.pinentry-qt.desktop b/qt/org.gnupg.pinentry-qt.desktop
-new file mode 100644
-index 0000000..0ac89aa
---- /dev/null
-+++ b/qt/org.gnupg.pinentry-qt.desktop
-@@ -0,0 +1,5 @@
-+[Desktop Entry]
-+Type=Application
-+Name=Pinentry dialog
-+Icon=document-encrypt
-+NoDisplay=true
---
-2.16.1
-
diff --git a/app-crypt/pinentry/files/pinentry-1.2.1-automagic-capslock.patch b/app-crypt/pinentry/files/pinentry-1.2.1-automagic-capslock.patch
new file mode 100644
index 000000000000..081fad60eb03
--- /dev/null
+++ b/app-crypt/pinentry/files/pinentry-1.2.1-automagic-capslock.patch
@@ -0,0 +1,99 @@
+https://dev.gnupg.org/T6161
+https://bugs.gentoo.org/819939
+https://bugs.gentoo.org/837719
+--- a/configure.ac
++++ b/configure.ac
+@@ -508,8 +508,12 @@ fi
+ dnl
+ dnl Check for libX11 library
+ dnl
++AC_ARG_WITH(x,
++ AS_HELP_STRING([--with-x],[use libX11]),
++ [want_x11=$withval], [want_x11=maybe])
++
+ have_x11=no
+-if test "$have_w32_system" != "yes"; then
++AS_IF([test "$have_w32_system" != "yes" && test "$want_x11" != "no"], [
+ PKG_CHECK_MODULES(
+ LIBX11,
+ [x11],
+@@ -519,18 +523,20 @@ if test "$have_w32_system" != "yes"; then
+ have_x11=no
+ ]
+ )
++])
+
+- if test "$have_x11" = "yes"; then
+- AC_DEFINE(HAVE_X11, 1,
+- [The pinentries can optionally use x11.])
+- fi
+-fi
++AS_IF([test "$have_x11" = "yes"], [AC_DEFINE(HAVE_X11, 1, [The pinentries can optionally use x11.])])
+
+ dnl
+ dnl Check for KF5WaylandClient library
+ dnl
++
++AC_ARG_ENABLE(kf5-wayland,
++ AS_HELP_STRING([--enable-kf5-wayland],[use KF5WaylandClient for capslock indication on Wayland]),
++ [want_kf5_wayland=$enableval], [want_kf5_wayland=maybe])
++
+ have_kf5waylandclient=no
+-if test "$have_w32_system" != "yes"; then
++AS_IF([test "$have_w32_system" != "yes" && test "$want_kf5_wayland" != "no"], [
+ PKG_CHECK_MODULES(
+ KF5WAYLANDCLIENT,
+ [KF5WaylandClient >= 5.60],
+@@ -540,7 +546,7 @@ if test "$have_w32_system" != "yes"; then
+ have_kf5waylandclient=no
+ ]
+ )
+-fi
++])
+
+ dnl
+ dnl Check for Qt5 pinentry program.
+--- a/m4/qt.m4
++++ b/m4/qt.m4
+@@ -33,6 +33,10 @@ AC_DEFUN([FIND_QT],
+ enable_pinentry_qt5=$enableval,
+ enable_pinentry_qt5="try")
+
++ AC_ARG_ENABLE(qtx11extras,
++ AS_HELP_STRING([--enable-qtx11extras],[use Qt5X11Extras for capslock indication on X11]),
++ [want_qtx11extras=$enableval], [want_qtx11extras=maybe])
++
+ have_qt5_libs="no";
+ require_qt_cpp11="no";
+
+@@ -63,20 +67,22 @@ AC_DEFUN([FIND_QT],
+ fi
+ fi
+
+- if test "$have_x11" = "yes"; then
++ have_qt5_x11extras=no
++ AS_IF([test "$have_x11" = "yes" && test "$want_qtx11extras" != "no"], [
+ PKG_CHECK_MODULES(
+ PINENTRY_QT_X11_EXTRAS,
+ Qt5X11Extras >= 5.1.0,
+ [have_qt5_x11extras="yes"],
+- [
+- AC_MSG_WARN([pinentry-qt will be built without Caps Lock warning on X11])
+- have_qt5_x11extras="no"
+- ])
+- if test "$have_qt5_x11extras" = "yes"; then
++ [have_qt5_x11extras="no"]
++ )
++ ])
++
++ AS_IF([test "$have_qt5_x11extras" = "yes"], [
+ PINENTRY_QT_CFLAGS="$LIBX11_CFLAGS $PINENTRY_QT_CFLAGS $PINENTRY_QT_X11_EXTRAS_CFLAGS"
+ PINENTRY_QT_LIBS="$LIBX11_LIBS $PINENTRY_QT_LIBS $PINENTRY_QT_X11_EXTRAS_LIBS"
+- fi
+- fi
++ ], [
++ AC_MSG_WARN([pinentry-qt will be built without Caps Lock warning on X11])
++ ])
+
+ AC_CHECK_TOOL(MOC, moc)
+ AC_MSG_CHECKING([moc version])
diff --git a/app-crypt/pinentry/files/pinentry-1.2.1-include-memory.patch b/app-crypt/pinentry/files/pinentry-1.2.1-include-memory.patch
new file mode 100644
index 000000000000..8c67950af6f3
--- /dev/null
+++ b/app-crypt/pinentry/files/pinentry-1.2.1-include-memory.patch
@@ -0,0 +1,313 @@
+https://bugs.gentoo.org/925557
+https://dev.gnupg.org/D566
+
+From 8ab1682e80a2b4185ee9ef66cbb44340245966fc Mon Sep 17 00:00:00 2001
+From: Werner Koch <wk@gnupg.org>
+Date: Mon, 20 Mar 2023 08:31:04 +0100
+Subject: [PATCH] Fix problem with inclusion of wrong memory.h.
+
+* secmem/memory.h: Rename to ...
+* secmem/secmem.h: this.
+* pinentry/pinentry.h: Include secmem.h. Remove almost all inclusions
+of memory.h or replace them by "../secmem/secmem.h".
+--
+
+See-also: https://dev.gnupg.org/D566
+---
+ fltk/main.cxx | 1 -
+ fltk/pinwindow.cxx | 2 +-
+ gnome3/pinentry-gnome3.c | 2 --
+ pinentry/password-cache.c | 2 +-
+ pinentry/pinentry-curses.c | 7 +++----
+ pinentry/pinentry-emacs.c | 2 +-
+ pinentry/pinentry.c | 1 -
+ pinentry/pinentry.h | 2 ++
+ secmem/Makefile.am | 2 +-
+ secmem/secmem++.h | 2 +-
+ secmem/secmem.c | 2 +-
+ secmem/{memory.h => secmem.h} | 0
+ tqt/secqstring.h | 2 +-
+ tty/pinentry-tty.c | 1 -
+ w32/main.c | 1 -
+ 15 files changed, 12 insertions(+), 17 deletions(-)
+ rename secmem/{memory.h => secmem.h} (100%)
+
+--- a/fltk/main.cxx 2019-03-05 23:09:48.000000000 -0800
++++ b/fltk/main.cxx 2024-02-26 11:02:47.822134762 -0800
+@@ -34,7 +34,6 @@
+ #include <getopt.h>
+ #include <assert.h>
+
+-#include "memory.h"
+ #include <memory>
+
+ #include <pinentry.h>
+--- a/fltk/pinwindow.cxx 2017-12-03 08:13:05.000000000 -0800
++++ b/fltk/pinwindow.cxx 2024-02-26 11:02:47.822134762 -0800
+@@ -32,7 +32,7 @@
+ #include <FL/Fl_Return_Button.H>
+ #include <FL/Fl_Pixmap.H>
+
+-#include "memory.h"
++#include "../secmem/secmem.h"
+
+ #include "encrypt.xpm"
+ #include "icon.xpm"
+--- a/gnome3/pinentry-gnome3.c 2022-08-24 03:31:59.000000000 -0700
++++ b/gnome3/pinentry-gnome3.c 2024-02-26 11:02:47.822134762 -0800
+@@ -30,8 +30,6 @@
+
+ #include <assuan.h>
+
+-#include "memory.h"
+-
+ #include "pinentry.h"
+
+ #ifdef FALLBACK_CURSES
+--- a/pinentry/password-cache.c 2017-12-03 08:13:15.000000000 -0800
++++ b/pinentry/password-cache.c 2024-02-26 11:02:47.822134762 -0800
+@@ -31,7 +31,7 @@
+ #endif
+
+ #include "password-cache.h"
+-#include "memory.h"
++#include "../secmem/secmem.h"
+
+ #ifdef HAVE_LIBSECRET
+ static const SecretSchema *
+--- a/pinentry/pinentry.c 2022-08-24 03:31:59.000000000 -0700
++++ b/pinentry/pinentry.c 2024-02-26 11:02:47.822134762 -0800
+@@ -44,7 +44,6 @@
+
+ #include <assuan.h>
+
+-#include "memory.h"
+ #include "secmem-util.h"
+ #include "argparse.h"
+ #include "pinentry.h"
+--- a/pinentry/pinentry-curses.c 2022-08-24 03:31:59.000000000 -0700
++++ b/pinentry/pinentry-curses.c 2024-02-26 11:02:47.822134762 -0800
+@@ -62,8 +62,6 @@
+ #include <utime.h>
+ #endif /*HAVE_UTIME_H*/
+
+-#include <memory.h>
+-
+ #ifdef HAVE_WCHAR_H
+ #include <wchar.h>
+ #endif /*HAVE_WCHAR_H*/
+@@ -1017,10 +1015,11 @@
+ #ifndef HAVE_DOSISH_SYSTEM
+ int no_input = 1;
+ #endif
+-
+ #ifdef HAVE_NCURSESW
+ char *old_ctype = NULL;
++#endif
+
++#ifdef HAVE_NCURSESW
+ if (pinentry->lc_ctype)
+ {
+ old_ctype = strdup (setlocale (LC_CTYPE, NULL));
+--- a/pinentry/pinentry-emacs.c 2021-08-11 04:16:10.000000000 -0700
++++ b/pinentry/pinentry-emacs.c 2024-02-26 11:02:47.822134762 -0800
+@@ -48,7 +48,7 @@
+ #include <assuan.h>
+
+ #include "pinentry-emacs.h"
+-#include "memory.h"
++#include "../secmem/secmem.h"
+ #include "secmem-util.h"
+
+ /* The communication mechanism is similar to emacsclient, but there
+--- a/pinentry/pinentry.h 2022-08-24 03:31:59.000000000 -0700
++++ b/pinentry/pinentry.h 2024-02-26 11:02:47.822134762 -0800
+@@ -21,6 +21,8 @@
+ #ifndef PINENTRY_H
+ #define PINENTRY_H
+
++#include "../secmem/secmem.h"
++
+ #ifdef __cplusplus
+ extern "C" {
+ #if 0
+--- a/secmem/Makefile.am 2017-12-03 08:13:05.000000000 -0800
++++ b/secmem/Makefile.am 2024-02-26 11:02:47.822134762 -0800
+@@ -22,7 +22,7 @@
+ noinst_LIBRARIES = libsecmem.a
+
+ libsecmem_a_SOURCES = \
+- memory.h \
++ secmem.h \
+ secmem-util.h \
+ util.h \
+ secmem.c \
+--- a/secmem/memory.h 2017-12-03 08:13:05.000000000 -0800
++++ b/secmem/memory.h 1969-12-31 16:00:00.000000000 -0800
+@@ -1,55 +0,0 @@
+-/* Quintuple Agent secure memory allocation
+- * Copyright (C) 1998,1999 Free Software Foundation, Inc.
+- * Copyright (C) 1999,2000 Robert Bihlmeyer <robbe@orcus.priv.at>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2 of the License, or
+- * (at your option) any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, see <https://www.gnu.org/licenses/>.
+- * SPDX-License-Identifier: GPL-2.0+
+- */
+-
+-#ifndef _MEMORY_H
+-#define _MEMORY_H
+-
+-#include <sys/types.h>
+-
+-#ifdef __cplusplus
+-extern "C" {
+-#if 0
+-}
+-#endif
+-#endif
+-
+-
+-/* values for flags, hardcoded in secmem.c */
+-#define SECMEM_WARN 0
+-#define SECMEM_DONT_WARN 1
+-#define SECMEM_SUSPEND_WARN 2
+-
+-void secmem_init( size_t npool );
+-void secmem_term( void );
+-void *secmem_malloc( size_t size );
+-void *secmem_realloc( void *a, size_t newsize );
+-void secmem_free( void *a );
+-int m_is_secure( const void *p );
+-void secmem_dump_stats(void);
+-void secmem_set_flags( unsigned flags );
+-unsigned secmem_get_flags(void);
+-size_t secmem_get_max_size (void);
+-
+-#if 0
+-{
+-#endif
+-#ifdef __cplusplus
+-}
+-#endif
+-#endif /* _MEMORY_H */
+--- a/secmem/secmem.c 2022-08-24 03:31:59.000000000 -0700
++++ b/secmem/secmem.c 2024-02-26 11:02:47.822134762 -0800
+@@ -34,7 +34,7 @@
+ #endif
+ #include <string.h>
+
+-#include "memory.h"
++#include "secmem.h"
+
+ #ifdef ORIGINAL_GPG_VERSION
+ #include "types.h"
+--- a/secmem/secmem++.h 2017-12-03 08:13:05.000000000 -0800
++++ b/secmem/secmem++.h 2024-02-26 11:02:47.822134762 -0800
+@@ -19,7 +19,7 @@
+ #ifndef __SECMEM_SECMEMPP_H__
+ #define __SECMEM_SECMEMPP_H__
+
+-#include "secmem/memory.h"
++#include "../secmem/secmem.h"
+ #include <cstddef>
+
+ namespace secmem {
+--- a/secmem/secmem.h 1969-12-31 16:00:00.000000000 -0800
++++ b/secmem/secmem.h 2024-02-26 11:02:47.822134762 -0800
+@@ -0,0 +1,55 @@
++/* Quintuple Agent secure memory allocation
++ * Copyright (C) 1998,1999 Free Software Foundation, Inc.
++ * Copyright (C) 1999,2000 Robert Bihlmeyer <robbe@orcus.priv.at>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, see <https://www.gnu.org/licenses/>.
++ * SPDX-License-Identifier: GPL-2.0+
++ */
++
++#ifndef _MEMORY_H
++#define _MEMORY_H
++
++#include <sys/types.h>
++
++#ifdef __cplusplus
++extern "C" {
++#if 0
++}
++#endif
++#endif
++
++
++/* values for flags, hardcoded in secmem.c */
++#define SECMEM_WARN 0
++#define SECMEM_DONT_WARN 1
++#define SECMEM_SUSPEND_WARN 2
++
++void secmem_init( size_t npool );
++void secmem_term( void );
++void *secmem_malloc( size_t size );
++void *secmem_realloc( void *a, size_t newsize );
++void secmem_free( void *a );
++int m_is_secure( const void *p );
++void secmem_dump_stats(void);
++void secmem_set_flags( unsigned flags );
++unsigned secmem_get_flags(void);
++size_t secmem_get_max_size (void);
++
++#if 0
++{
++#endif
++#ifdef __cplusplus
++}
++#endif
++#endif /* _MEMORY_H */
+--- a/tqt/secqstring.h 2017-12-03 08:33:12.000000000 -0800
++++ b/tqt/secqstring.h 2024-02-26 11:02:47.822134762 -0800
+@@ -65,7 +65,7 @@
+
+ extern "C"
+ {
+-#include "memory.h"
++#include "../secmem/secmem.h"
+ }
+
+ /* We need the original qchar and qstring for transparent conversion
+--- a/tty/pinentry-tty.c 2021-08-11 04:16:10.000000000 -0700
++++ b/tty/pinentry-tty.c 2024-02-26 11:02:47.822134762 -0800
+@@ -41,7 +41,6 @@
+ #include <gpg-error.h>
+
+ #include "pinentry.h"
+-#include "memory.h"
+
+ #ifndef HAVE_DOSISH_SYSTEM
+ static int timed_out;
+--- a/w32/main.c 2022-08-24 03:31:59.000000000 -0700
++++ b/w32/main.c 2024-02-26 11:02:47.822134762 -0800
+@@ -29,7 +29,6 @@
+ #endif
+
+ #include "pinentry.h"
+-#include "memory.h"
+
+ #include "resource.h"
+ /* #include "msgcodes.h" */
diff --git a/app-crypt/pinentry/files/pinentry-1.3.0-automagic.patch b/app-crypt/pinentry/files/pinentry-1.3.0-automagic.patch
new file mode 100644
index 000000000000..a9f59ae66682
--- /dev/null
+++ b/app-crypt/pinentry/files/pinentry-1.3.0-automagic.patch
@@ -0,0 +1,141 @@
+https://dev.gnupg.org/T6161
+https://bugs.gentoo.org/819939
+https://bugs.gentoo.org/837719
+--- a/configure.ac
++++ b/configure.ac
+@@ -514,8 +514,12 @@ fi
+ dnl
+ dnl Check for libX11 library
+ dnl
++AC_ARG_WITH(x,
++ AS_HELP_STRING([--with-x],[use libX11]),
++ [want_x11=$withval], [want_x11=maybe])
++
+ have_x11=no
+-if test "$have_w32_system" != "yes"; then
++AS_IF([test "$have_w32_system" != "yes" && test "$want_x11" != "no"], [
+ PKG_CHECK_MODULES(
+ LIBX11,
+ [x11],
+@@ -525,18 +529,20 @@ if test "$have_w32_system" != "yes"; then
+ have_x11=no
+ ]
+ )
++])
+
+- if test "$have_x11" = "yes"; then
+- AC_DEFINE(HAVE_X11, 1,
+- [The pinentries can optionally use x11.])
+- fi
+-fi
++AS_IF([test "$have_x11" = "yes"], [AC_DEFINE(HAVE_X11, 1, [The pinentries can optionally use x11.])])
+
+ dnl
+ dnl Check for KF5WaylandClient library
+ dnl
++
++AC_ARG_ENABLE(kf5-wayland,
++ AS_HELP_STRING([--enable-kf5-wayland],[use KF5WaylandClient for capslock indication on Wayland]),
++ [want_kf5_wayland=$enableval], [want_kf5_wayland=maybe])
++
+ have_kf5waylandclient=no
+-if test "$have_w32_system" != "yes"; then
++AS_IF([test "$have_w32_system" != "yes" && test "$want_kf5_wayland" != "no"], [
+ PKG_CHECK_MODULES(
+ KF5WAYLANDCLIENT,
+ [KF5WaylandClient >= 5.60],
+@@ -546,13 +552,18 @@ if test "$have_w32_system" != "yes"; then
+ have_kf5waylandclient=no
+ ]
+ )
+-fi
++])
+
+ dnl
+ dnl Check for KF6GuiAddons library
+ dnl
++
++AC_ARG_ENABLE(kf6-wayland,
++ AS_HELP_STRING([--enable-kf6-wayland],[use KF6GuiAddons for capslock indication and KF6WindowSystem for window parenting on Wayland]),
++ [want_kf6_wayland=$enableval], [want_kf6_wayland=maybe])
++
+ have_kf6guiaddons=no
+-if test "$have_w32_system" != "yes"; then
++AS_IF([test "$have_w32_system" != "yes" && test "$want_kf6_wayland" != "no"], [
+ PKG_CHECK_MODULES(
+ KF6GUIADDONS,
+ [KF6GuiAddons >= 5.240],
+@@ -562,7 +573,7 @@ if test "$have_w32_system" != "yes"; then
+ have_kf6guiaddons=no
+ ]
+ )
+-fi
++])
+
+ dnl
+ dnl Check for Qt5 pinentry program.
+@@ -663,7 +674,8 @@ dnl
+ dnl Check for KF6WindowSystem library
+ dnl
+ have_kf6windowsystem=no
+-if test "$have_w32_system" != "yes" && test "$pinentry_qt6" = "yes"; then
++
++AS_IF([test "$have_w32_system" != "yes" && test "$want_kf6_wayland" != "no"], [
+ PKG_CHECK_MODULES(
+ KF6WINDOWSYSTEM,
+ [KF6WindowSystem >= 5.240],
+@@ -673,7 +685,7 @@ if test "$have_w32_system" != "yes" && test "$pinentry_qt6" = "yes"; then
+ have_kf6windowsystem=no
+ ]
+ )
+-fi
++])
+
+ if test "$have_kf6windowsystem" = "yes"; then
+ PINENTRY_QT6_CFLAGS="$KF6WINDOWSYSTEM_CFLAGS $PINENTRY_QT6_CFLAGS"
+--- a/m4/qt5.m4
++++ b/m4/qt5.m4
+@@ -33,6 +33,10 @@ AC_DEFUN([FIND_QT5],
+ enable_pinentry_qt5=$enableval,
+ enable_pinentry_qt5="try")
+
++ AC_ARG_ENABLE(qtx11extras,
++ AS_HELP_STRING([--enable-qtx11extras],[use Qt5X11Extras for capslock indication on X11]),
++ [want_qtx11extras=$enableval], [want_qtx11extras=maybe])
++
+ have_qt5_libs="no";
+ require_qt5_cpp11="no";
+
+@@ -63,20 +67,22 @@ AC_DEFUN([FIND_QT5],
+ fi
+ fi
+
+- if test "$have_x11" = "yes"; then
++ have_qt5_x11extras=no
++ AS_IF([test "$have_x11" = "yes" && test "$want_qtx11extras" != "no"], [
+ PKG_CHECK_MODULES(
+ PINENTRY_QT5_X11_EXTRAS,
+ Qt5X11Extras >= 5.1.0,
+ [have_qt5_x11extras="yes"],
+- [
+- AC_MSG_WARN([pinentry-qt will be built without Caps Lock warning on X11])
+- have_qt5_x11extras="no"
+- ])
+- if test "$have_qt5_x11extras" = "yes"; then
+- PINENTRY_QT5_CFLAGS="$LIBX11_CFLAGS $PINENTRY_QT5_CFLAGS $PINENTRY_QT5_X11_EXTRAS_CFLAGS"
+- PINENTRY_QT5_LIBS="$LIBX11_LIBS $PINENTRY_QT5_LIBS $PINENTRY_QT5_X11_EXTRAS_LIBS"
+- fi
+- fi
++ [have_qt5_x11extras="no"]
++ )
++ ])
++
++ AS_IF([test "$have_qt5_x11extras" = "yes"], [
++ PINENTRY_QT5_CFLAGS="$LIBX11_CFLAGS $PINENTRY_QT5_CFLAGS $PINENTRY_QT5_X11_EXTRAS_CFLAGS"
++ PINENTRY_QT5_LIBS="$LIBX11_LIBS $PINENTRY_QT5_LIBS $PINENTRY_QT5_X11_EXTRAS_LIBS"
++ ], [
++ AC_MSG_WARN([pinentry-qt will be built without Caps Lock warning on X11])
++ ])
+
+ AC_CHECK_TOOL(MOC5, moc)
+ AC_MSG_CHECKING([moc version])
diff --git a/app-crypt/pinentry/files/pinentry-1.3.0-ifdef-qt.patch b/app-crypt/pinentry/files/pinentry-1.3.0-ifdef-qt.patch
new file mode 100644
index 000000000000..4fc724287515
--- /dev/null
+++ b/app-crypt/pinentry/files/pinentry-1.3.0-ifdef-qt.patch
@@ -0,0 +1,125 @@
+https://dev.gnupg.org/D596
+
+From 762346c5d1877cde6b37b191cd3c2469e1c7ddbb Mon Sep 17 00:00:00 2001
+From: Heiko Becker <heiko.becker@kde.org>
+Date: Mon, 18 Mar 2024 20:38:09 +0100
+Subject: [PATCH] qt5: Add a '5' to adjust defines
+
+They were changed from PINENTRY_QT_FOO to PINENTRY_QT5_FOO in
+1e79123c389584b8240387914b193be41b823e92.
+--- a/qt5/capslock.cpp
++++ b/qt5/capslock.cpp
+@@ -32,7 +32,7 @@
+ CapsLockWatcher::Private::Private(CapsLockWatcher *q)
+ : q{q}
+ {
+-#ifdef PINENTRY_QT_WAYLAND
++#ifdef PINENTRY_QT5_WAYLAND
+ if (qApp->platformName() == QLatin1String("wayland")) {
+ watchWayland();
+ }
+@@ -44,7 +44,7 @@ CapsLockWatcher::CapsLockWatcher(QObject *parent)
+ , d{new Private{this}}
+ {
+ if (qApp->platformName() == QLatin1String("wayland")) {
+-#ifndef PINENTRY_QT_WAYLAND
++#ifndef PINENTRY_QT5_WAYLAND
+ qWarning() << "CapsLockWatcher was compiled without support for Wayland";
+ #endif
+ }
+--- a/qt5/capslock_p.h
++++ b/qt5/capslock_p.h
+@@ -23,7 +23,7 @@
+
+ #include "capslock.h"
+
+-#ifdef PINENTRY_QT_WAYLAND
++#ifdef PINENTRY_QT5_WAYLAND
+ namespace KWayland
+ {
+ namespace Client
+@@ -38,12 +38,12 @@ class CapsLockWatcher::Private
+ {
+ public:
+ explicit Private(CapsLockWatcher *);
+-#ifdef PINENTRY_QT_WAYLAND
++#ifdef PINENTRY_QT5_WAYLAND
+ void watchWayland();
+ #endif
+
+ private:
+-#ifdef PINENTRY_QT_WAYLAND
++#ifdef PINENTRY_QT5_WAYLAND
+ void registry_seatAnnounced(quint32, quint32);
+ void seat_hasKeyboardChanged(bool);
+ void keyboard_modifiersChanged(quint32);
+@@ -52,7 +52,7 @@ private:
+ private:
+ CapsLockWatcher *const q;
+
+-#ifdef PINENTRY_QT_WAYLAND
++#ifdef PINENTRY_QT5_WAYLAND
+ KWayland::Client::Registry *registry = nullptr;
+ KWayland::Client::Seat *seat = nullptr;
+ #endif
+--- a/qt5/capslock_unix.cpp
++++ b/qt5/capslock_unix.cpp
+@@ -25,7 +25,7 @@
+ #include "capslock.h"
+ #include "capslock_p.h"
+
+-#ifdef PINENTRY_QT_WAYLAND
++#ifdef PINENTRY_QT5_WAYLAND
+ # include <KWayland/Client/connection_thread.h>
+ # include <KWayland/Client/keyboard.h>
+ # include <KWayland/Client/registry.h>
+@@ -34,7 +34,7 @@
+
+ #include <QGuiApplication>
+
+-#ifdef PINENTRY_QT_X11
++#ifdef PINENTRY_QT5_X11
+ # include <QX11Info>
+ # include <X11/XKBlib.h>
+ # undef Status
+@@ -42,25 +42,25 @@
+
+ #include <QDebug>
+
+-#ifdef PINENTRY_QT_WAYLAND
++#ifdef PINENTRY_QT5_WAYLAND
+ using namespace KWayland::Client;
+ #endif
+
+-#ifdef PINENTRY_QT_WAYLAND
++#ifdef PINENTRY_QT5_WAYLAND
+ static bool watchingWayland = false;
+ #endif
+
+ LockState capsLockState()
+ {
+ static bool reportUnsupportedPlatform = true;
+-#ifdef PINENTRY_QT_X11
++#ifdef PINENTRY_QT5_X11
+ if (qApp->platformName() == QLatin1String("xcb")) {
+ unsigned int state;
+ XkbGetIndicatorState(QX11Info::display(), XkbUseCoreKbd, &state);
+ return (state & 0x01) == 1 ? LockState::On : LockState::Off;
+ }
+ #endif
+-#ifdef PINENTRY_QT_WAYLAND
++#ifdef PINENTRY_QT5_WAYLAND
+ if (qApp->platformName() == QLatin1String("wayland")) {
+ if (!watchingWayland && reportUnsupportedPlatform) {
+ qDebug() << "Use CapsLockWatcher for checking for Caps Lock on Wayland";
+@@ -74,7 +74,7 @@ LockState capsLockState()
+ return LockState::Unknown;
+ }
+
+-#ifdef PINENTRY_QT_WAYLAND
++#ifdef PINENTRY_QT5_WAYLAND
+ void CapsLockWatcher::Private::watchWayland()
+ {
+ watchingWayland = true;
+--
+2.44.0
diff --git a/app-crypt/pinentry/metadata.xml b/app-crypt/pinentry/metadata.xml
index 91439c59951d..1ef405d63db4 100644
--- a/app-crypt/pinentry/metadata.xml
+++ b/app-crypt/pinentry/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>k_f@gentoo.org</email>
- <name>Kristian Fiskerstrand</name>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
</maintainer>
+ <use>
+ <flag name="efl">Build <pkg>dev-libs/efl</pkg> based pinentry</flag>
+ </use>
</pkgmetadata>
diff --git a/app-crypt/pinentry/pinentry-1.0.0-r2.ebuild b/app-crypt/pinentry/pinentry-1.0.0-r2.ebuild
deleted file mode 100644
index a27f7a37b90c..000000000000
--- a/app-crypt/pinentry/pinentry-1.0.0-r2.ebuild
+++ /dev/null
@@ -1,102 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools flag-o-matic qmake-utils toolchain-funcs
-
-DESCRIPTION="Simple passphrase entry dialogs which utilize the Assuan protocol"
-HOMEPAGE="https://gnupg.org/aegypten2/index.html"
-SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="caps emacs gnome-keyring gtk ncurses qt5 static"
-
-CDEPEND="
- app-eselect/eselect-pinentry
- >=dev-libs/libassuan-2.1
- >=dev-libs/libgcrypt-1.6.3
- >=dev-libs/libgpg-error-1.17
- caps? ( sys-libs/libcap )
- gnome-keyring? ( app-crypt/libsecret )
- gtk? ( x11-libs/gtk+:2 )
- ncurses? ( sys-libs/ncurses:0= )
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
- )
- static? ( >=sys-libs/ncurses-5.7-r5:0=[static-libs,-gpm] )
-"
-DEPEND="${CDEPEND}
- sys-devel/gettext
- virtual/pkgconfig
-"
-RDEPEND="${CDEPEND}
- gnome-keyring? ( app-crypt/gcr )
-"
-
-REQUIRED_USE="
- gtk? ( !static )
- qt5? ( !static )
-"
-
-DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.8.2-ncurses.patch"
- "${FILESDIR}/${P}-build.patch"
- "${FILESDIR}/${P}-Disable-tooltips-in-keyboard-grabbing-mode.patch"
- "${FILESDIR}/${P}-gtk2-Fix-a-problem-with-fvwm.patch"
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- use static && append-ldflags -static
- [[ "$(gcc-major-version)" -ge 5 ]] && append-cxxflags -std=gnu++11
-
- export QTLIB="$(qt5_get_libdir)"
-
- econf \
- --enable-pinentry-tty \
- $(use_with caps libcap) \
- $(use_enable emacs pinentry-emacs) \
- $(use_enable gnome-keyring libsecret) \
- $(use_enable gnome-keyring pinentry-gnome3) \
- $(use_enable gtk pinentry-gtk2) \
- $(use_enable ncurses pinentry-curses) \
- $(use_enable ncurses fallback-curses) \
- $(use_enable qt5 pinentry-qt) \
- MOC="$(qt5_get_bindir)"/moc
-}
-
-src_install() {
- default
- rm -f "${ED}"/usr/bin/pinentry || die
-
- use qt5 && dosym pinentry-qt /usr/bin/pinentry-qt4
-}
-
-pkg_postinst() {
- if ! has_version 'app-crypt/pinentry' || has_version '<app-crypt/pinentry-0.7.3'; then
- elog "We no longer install pinentry-curses and pinentry-qt SUID root by default."
- elog "Linux kernels >=2.6.9 support memory locking for unprivileged processes."
- elog "The soft resource limit for memory locking specifies the limit an"
- elog "unprivileged process may lock into memory. You can also use POSIX"
- elog "capabilities to allow pinentry to lock memory. To do so activate the caps"
- elog "USE flag and add the CAP_IPC_LOCK capability to the permitted set of"
- elog "your users."
- fi
-
- eselect pinentry update ifunset
-}
-
-pkg_postrm() {
- eselect pinentry update ifunset
-}
diff --git a/app-crypt/pinentry/pinentry-1.0.0-r3.ebuild b/app-crypt/pinentry/pinentry-1.0.0-r3.ebuild
deleted file mode 100644
index f58c3ec17977..000000000000
--- a/app-crypt/pinentry/pinentry-1.0.0-r3.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools flag-o-matic qmake-utils toolchain-funcs
-
-DESCRIPTION="Simple passphrase entry dialogs which utilize the Assuan protocol"
-HOMEPAGE="https://gnupg.org/aegypten2/index.html"
-SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="caps emacs gnome-keyring gtk ncurses qt5 static"
-
-CDEPEND="
- app-eselect/eselect-pinentry
- >=dev-libs/libassuan-2.1
- >=dev-libs/libgcrypt-1.6.3
- >=dev-libs/libgpg-error-1.17
- caps? ( sys-libs/libcap )
- gnome-keyring? ( app-crypt/libsecret )
- gtk? ( x11-libs/gtk+:2 )
- ncurses? ( sys-libs/ncurses:0= )
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
- )
- static? ( >=sys-libs/ncurses-5.7-r5:0=[static-libs,-gpm] )
-"
-DEPEND="${CDEPEND}
- sys-devel/gettext
- virtual/pkgconfig
-"
-RDEPEND="${CDEPEND}
- gnome-keyring? ( app-crypt/gcr )
-"
-
-REQUIRED_USE="
- gtk? ( !static )
- qt5? ( !static )
-"
-
-DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.8.2-ncurses.patch"
- "${FILESDIR}/${P}-build.patch"
- "${FILESDIR}/${P}-Disable-tooltips-in-keyboard-grabbing-mode.patch"
- "${FILESDIR}/${P}-gtk2-Fix-a-problem-with-fvwm.patch"
- "${FILESDIR}/${P}-make-icon-work-under-Plasma-Wayland.patch"
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- use static && append-ldflags -static
- [[ "$(gcc-major-version)" -ge 5 ]] && append-cxxflags -std=gnu++11
-
- export QTLIB="$(qt5_get_libdir)"
-
- econf \
- --enable-pinentry-tty \
- $(use_with caps libcap) \
- $(use_enable emacs pinentry-emacs) \
- $(use_enable gnome-keyring libsecret) \
- $(use_enable gnome-keyring pinentry-gnome3) \
- $(use_enable gtk pinentry-gtk2) \
- $(use_enable ncurses pinentry-curses) \
- $(use_enable ncurses fallback-curses) \
- $(use_enable qt5 pinentry-qt) \
- MOC="$(qt5_get_bindir)"/moc
-}
-
-src_install() {
- default
- rm -f "${ED}"/usr/bin/pinentry || die
-
- use qt5 && dosym pinentry-qt /usr/bin/pinentry-qt4
-}
-
-pkg_postinst() {
- if ! has_version 'app-crypt/pinentry' || has_version '<app-crypt/pinentry-0.7.3'; then
- elog "We no longer install pinentry-curses and pinentry-qt SUID root by default."
- elog "Linux kernels >=2.6.9 support memory locking for unprivileged processes."
- elog "The soft resource limit for memory locking specifies the limit an"
- elog "unprivileged process may lock into memory. You can also use POSIX"
- elog "capabilities to allow pinentry to lock memory. To do so activate the caps"
- elog "USE flag and add the CAP_IPC_LOCK capability to the permitted set of"
- elog "your users."
- fi
-
- eselect pinentry update ifunset
-}
-
-pkg_postrm() {
- eselect pinentry update ifunset
-}
diff --git a/app-crypt/pinentry/pinentry-1.1.0-r1.ebuild b/app-crypt/pinentry/pinentry-1.1.0-r1.ebuild
deleted file mode 100644
index eafaf2f416e5..000000000000
--- a/app-crypt/pinentry/pinentry-1.1.0-r1.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools flag-o-matic qmake-utils toolchain-funcs
-
-DESCRIPTION="Simple passphrase entry dialogs which utilize the Assuan protocol"
-HOMEPAGE="https://gnupg.org/aegypten2/index.html"
-SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="caps emacs gnome-keyring gtk ncurses qt5 static"
-
-CDEPEND="
- app-eselect/eselect-pinentry
- >=dev-libs/libassuan-2.1
- >=dev-libs/libgcrypt-1.6.3
- >=dev-libs/libgpg-error-1.17
- caps? ( sys-libs/libcap )
- gnome-keyring? ( app-crypt/libsecret )
- gtk? ( x11-libs/gtk+:2 )
- ncurses? ( sys-libs/ncurses:0= )
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
- )
- static? ( >=sys-libs/ncurses-5.7-r5:0=[static-libs,-gpm] )
-"
-DEPEND="${CDEPEND}
- sys-devel/gettext
- virtual/pkgconfig
-"
-RDEPEND="${CDEPEND}
- gnome-keyring? ( app-crypt/gcr )
-"
-
-REQUIRED_USE="
- gtk? ( !static )
- qt5? ( !static )
-"
-
-DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.0.0-make-icon-work-under-Plasma-Wayland.patch"
- "${FILESDIR}/${PN}-0.8.2-ncurses.patch"
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- use static && append-ldflags -static
- [[ "$(gcc-major-version)" -ge 5 ]] && append-cxxflags -std=gnu++11
-
- export QTLIB="$(qt5_get_libdir)"
-
- econf \
- --enable-pinentry-tty \
- $(use_with caps libcap) \
- $(use_enable emacs pinentry-emacs) \
- $(use_enable gnome-keyring libsecret) \
- $(use_enable gnome-keyring pinentry-gnome3) \
- $(use_enable gtk pinentry-gtk2) \
- $(use_enable ncurses pinentry-curses) \
- $(use_enable ncurses fallback-curses) \
- $(use_enable qt5 pinentry-qt) \
- MOC="$(qt5_get_bindir)"/moc
-}
-
-src_install() {
- default
- rm -f "${ED}"/usr/bin/pinentry || die
-
- use qt5 && dosym pinentry-qt /usr/bin/pinentry-qt4
-}
-
-pkg_postinst() {
- if ! has_version 'app-crypt/pinentry' || has_version '<app-crypt/pinentry-0.7.3'; then
- elog "We no longer install pinentry-curses and pinentry-qt SUID root by default."
- elog "Linux kernels >=2.6.9 support memory locking for unprivileged processes."
- elog "The soft resource limit for memory locking specifies the limit an"
- elog "unprivileged process may lock into memory. You can also use POSIX"
- elog "capabilities to allow pinentry to lock memory. To do so activate the caps"
- elog "USE flag and add the CAP_IPC_LOCK capability to the permitted set of"
- elog "your users."
- fi
-
- eselect pinentry update ifunset
-}
-
-pkg_postrm() {
- eselect pinentry update ifunset
-}
diff --git a/app-crypt/pinentry/pinentry-1.1.0-r2.ebuild b/app-crypt/pinentry/pinentry-1.1.0-r2.ebuild
deleted file mode 100644
index b8cada19a72e..000000000000
--- a/app-crypt/pinentry/pinentry-1.1.0-r2.ebuild
+++ /dev/null
@@ -1,102 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools flag-o-matic qmake-utils toolchain-funcs
-
-DESCRIPTION="Simple passphrase entry dialogs which utilize the Assuan protocol"
-HOMEPAGE="https://gnupg.org/aegypten2/index.html"
-SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="caps emacs gnome-keyring fltk gtk ncurses qt5 static"
-
-CDEPEND="
- app-eselect/eselect-pinentry
- >=dev-libs/libassuan-2.1
- >=dev-libs/libgcrypt-1.6.3
- >=dev-libs/libgpg-error-1.17
- caps? ( sys-libs/libcap )
- fltk? ( x11-libs/fltk )
- gnome-keyring? ( app-crypt/libsecret )
- gtk? ( x11-libs/gtk+:2 )
- ncurses? ( sys-libs/ncurses:0= )
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
- )
- static? ( >=sys-libs/ncurses-5.7-r5:0=[static-libs,-gpm] )
-"
-DEPEND="${CDEPEND}
- sys-devel/gettext
- virtual/pkgconfig
-"
-RDEPEND="${CDEPEND}
- gnome-keyring? ( app-crypt/gcr )
-"
-
-REQUIRED_USE="
- gtk? ( !static )
- qt5? ( !static )
-"
-
-DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.0.0-make-icon-work-under-Plasma-Wayland.patch"
- "${FILESDIR}/${PN}-0.8.2-ncurses.patch"
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- use static && append-ldflags -static
- [[ "$(gcc-major-version)" -ge 5 ]] && append-cxxflags -std=gnu++11
-
- export QTLIB="$(qt5_get_libdir)"
-
- econf \
- --enable-pinentry-tty \
- $(use_with caps libcap) \
- $(use_enable emacs pinentry-emacs) \
- $(use_enable fltk pinentry-fltk) \
- $(use_enable gnome-keyring libsecret) \
- $(use_enable gnome-keyring pinentry-gnome3) \
- $(use_enable gtk pinentry-gtk2) \
- $(use_enable ncurses pinentry-curses) \
- $(use_enable ncurses fallback-curses) \
- $(use_enable qt5 pinentry-qt) \
- MOC="$(qt5_get_bindir)"/moc
-}
-
-src_install() {
- default
- rm -f "${ED}"/usr/bin/pinentry || die
-
- use qt5 && dosym pinentry-qt /usr/bin/pinentry-qt4
-}
-
-pkg_postinst() {
- if ! has_version 'app-crypt/pinentry' || has_version '<app-crypt/pinentry-0.7.3'; then
- elog "We no longer install pinentry-curses and pinentry-qt SUID root by default."
- elog "Linux kernels >=2.6.9 support memory locking for unprivileged processes."
- elog "The soft resource limit for memory locking specifies the limit an"
- elog "unprivileged process may lock into memory. You can also use POSIX"
- elog "capabilities to allow pinentry to lock memory. To do so activate the caps"
- elog "USE flag and add the CAP_IPC_LOCK capability to the permitted set of"
- elog "your users."
- fi
-
- eselect pinentry update ifunset
-}
-
-pkg_postrm() {
- eselect pinentry update ifunset
-}
diff --git a/app-crypt/pinentry/pinentry-1.1.0-r3.ebuild b/app-crypt/pinentry/pinentry-1.1.0-r3.ebuild
deleted file mode 100644
index 0ff90bda9f48..000000000000
--- a/app-crypt/pinentry/pinentry-1.1.0-r3.ebuild
+++ /dev/null
@@ -1,106 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic qmake-utils toolchain-funcs
-
-DESCRIPTION="Simple passphrase entry dialogs which utilize the Assuan protocol"
-HOMEPAGE="https://gnupg.org/aegypten2/index.html"
-SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="caps emacs gnome-keyring fltk gtk ncurses qt5 static"
-
-DEPEND="
- app-eselect/eselect-pinentry
- >=dev-libs/libassuan-2.1
- >=dev-libs/libgcrypt-1.6.3
- >=dev-libs/libgpg-error-1.17
- caps? ( sys-libs/libcap )
- fltk? ( x11-libs/fltk )
- gnome-keyring? ( app-crypt/libsecret )
- gtk? ( x11-libs/gtk+:2 )
- ncurses? ( sys-libs/ncurses:0= )
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
- )
- static? ( >=sys-libs/ncurses-5.7-r5:0=[static-libs,-gpm] )
-"
-RDEPEND="${DEPEND}
- gnome-keyring? ( app-crypt/gcr )
-"
-BDEPEND="
- sys-devel/gettext
- virtual/pkgconfig
-"
-
-REQUIRED_USE="
- gtk? ( !static )
- qt5? ( !static )
-"
-
-DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.0.0-make-icon-work-under-Plasma-Wayland.patch"
- "${FILESDIR}/${PN}-0.8.2-ncurses.patch"
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- use static && append-ldflags -static
- [[ "$(gcc-major-version)" -ge 5 ]] && append-cxxflags -std=gnu++11
-
- export QTLIB="$(qt5_get_libdir)"
-
- econf \
- $(use_enable emacs pinentry-emacs) \
- $(use_enable fltk pinentry-fltk) \
- $(use_enable gnome-keyring libsecret) \
- $(use_enable gnome-keyring pinentry-gnome3) \
- $(use_enable gtk pinentry-gtk2) \
- $(use_enable ncurses fallback-curses) \
- $(use_enable ncurses pinentry-curses) \
- $(use_enable qt5 pinentry-qt) \
- $(use_with caps libcap) \
- --enable-pinentry-tty \
- FLTK_CONFIG="${EROOT}/usr/bin/fltk-config" \
- MOC="$(qt5_get_bindir)"/moc \
- GPG_ERROR_CONFIG="${EROOT}/usr/bin/${CHOST}-gpg-error-config" \
- LIBASSUAN_CONFIG="${EROOT}/usr/bin/libassuan-config" \
- $("${S}/configure" --help | grep -- '--without-.*-prefix' | sed -e 's/^ *\([^ ]*\) .*/\1/g')
-}
-
-src_install() {
- default
- rm -f "${ED}"/usr/bin/pinentry
-
- use qt5 && dosym pinentry-qt /usr/bin/pinentry-qt4
-}
-
-pkg_postinst() {
- if ! has_version 'app-crypt/pinentry' || has_version '<app-crypt/pinentry-0.7.3'; then
- elog "We no longer install pinentry-curses and pinentry-qt SUID root by default."
- elog "Linux kernels >=2.6.9 support memory locking for unprivileged processes."
- elog "The soft resource limit for memory locking specifies the limit an"
- elog "unprivileged process may lock into memory. You can also use POSIX"
- elog "capabilities to allow pinentry to lock memory. To do so activate the caps"
- elog "USE flag and add the CAP_IPC_LOCK capability to the permitted set of"
- elog "your users."
- fi
-
- eselect pinentry update ifunset
-}
-
-pkg_postrm() {
- eselect pinentry update ifunset
-}
diff --git a/app-crypt/pinentry/pinentry-1.2.1-r4.ebuild b/app-crypt/pinentry/pinentry-1.2.1-r4.ebuild
new file mode 100644
index 000000000000..0cd3553fd4ca
--- /dev/null
+++ b/app-crypt/pinentry/pinentry-1.2.1-r4.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
+inherit autotools qmake-utils verify-sig
+
+DESCRIPTION="Simple passphrase entry dialogs which utilize the Assuan protocol"
+HOMEPAGE="https://gnupg.org/related_software/pinentry/"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="caps efl emacs gtk keyring ncurses qt5 wayland X"
+
+DEPEND="
+ >=dev-libs/libassuan-2.1
+ >=dev-libs/libgcrypt-1.6.3
+ >=dev-libs/libgpg-error-1.17
+ efl? ( dev-libs/efl[X] )
+ keyring? ( app-crypt/libsecret )
+ ncurses? ( sys-libs/ncurses:= )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ wayland? ( kde-plasma/kwayland:5 )
+ X? (
+ dev-qt/qtx11extras:5
+ x11-libs/libX11
+ )
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ gtk? ( app-crypt/gcr:0[gtk] )
+"
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-gnupg )
+"
+PDEPEND="emacs? ( app-emacs/pinentry )"
+IDEPEND=">=app-eselect/eselect-pinentry-0.7.2"
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.0.0-AR.patch"
+ "${FILESDIR}/${PN}-1.2.1-automagic-capslock.patch" # bug #819939, bug #837719
+)
+
+src_prepare() {
+ default
+
+ unset FLTK_CONFIG
+
+ eautoreconf
+}
+
+src_configure() {
+ export PATH="$(qt5_get_bindir):${PATH}"
+ export QTLIB="$(qt5_get_libdir)"
+
+ local myeconfargs=(
+ $(use_enable efl pinentry-efl)
+ $(use_enable emacs pinentry-emacs)
+ $(use_enable keyring libsecret)
+ $(use_enable gtk pinentry-gnome3)
+ $(use_enable ncurses fallback-curses)
+ $(use_enable ncurses pinentry-curses)
+ $(use_enable qt5 pinentry-qt)
+ $(use_enable wayland kf5-wayland)
+ $(use_enable X qtx11extras)
+ $(use_with X x)
+
+ --enable-pinentry-tty
+ --disable-pinentry-fltk
+ --disable-pinentry-gtk2
+
+ MOC="$(qt5_get_bindir)"/moc
+ GPG_ERROR_CONFIG="${ESYSROOT}"/usr/bin/${CHOST}-gpg-error-config
+ LIBASSUAN_CONFIG="${ESYSROOT}"/usr/bin/libassuan-config
+
+ $("${S}/configure" --help | grep -- '--without-.*-prefix' | sed -e 's/^ *\([^ ]*\) .*/\1/g')
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ rm "${ED}"/usr/bin/pinentry || die
+
+ use qt5 && dosym pinentry-qt /usr/bin/pinentry-qt5
+}
+
+pkg_postinst() {
+ eselect pinentry update ifunset
+}
+
+pkg_postrm() {
+ eselect pinentry update ifunset
+}
diff --git a/app-crypt/pinentry/pinentry-1.2.1-r6.ebuild b/app-crypt/pinentry/pinentry-1.2.1-r6.ebuild
new file mode 100644
index 000000000000..52f368ac9c0d
--- /dev/null
+++ b/app-crypt/pinentry/pinentry-1.2.1-r6.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
+inherit autotools qmake-utils verify-sig
+
+DESCRIPTION="Simple passphrase entry dialogs which utilize the Assuan protocol"
+HOMEPAGE="https://gnupg.org/related_software/pinentry/"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="caps efl emacs gtk keyring ncurses qt5 wayland X"
+
+DEPEND="
+ >=dev-libs/libassuan-2.1
+ >=dev-libs/libgcrypt-1.6.3
+ >=dev-libs/libgpg-error-1.17
+ efl? ( dev-libs/efl[X] )
+ keyring? ( app-crypt/libsecret )
+ ncurses? ( sys-libs/ncurses:= )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ wayland? ( kde-plasma/kwayland:5 )
+ X? (
+ dev-qt/qtx11extras:5
+ x11-libs/libX11
+ )
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ gtk? ( app-crypt/gcr:0[gtk] )
+"
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-gnupg )
+"
+PDEPEND="emacs? ( app-emacs/pinentry )"
+IDEPEND=">=app-eselect/eselect-pinentry-0.7.2"
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.0.0-AR.patch"
+ "${FILESDIR}/${PN}-1.2.1-automagic-capslock.patch" # bug #819939, bug #837719
+ "${FILESDIR}/${PN}-1.2.1-include-memory.patch"
+)
+
+src_prepare() {
+ default
+
+ unset FLTK_CONFIG
+
+ eautoreconf
+}
+
+src_configure() {
+ export PATH="$(qt5_get_bindir):${PATH}"
+ export QTLIB="$(qt5_get_libdir)"
+
+ local myeconfargs=(
+ $(use_enable efl pinentry-efl)
+ $(use_enable emacs pinentry-emacs)
+ $(use_enable keyring libsecret)
+ $(use_enable gtk pinentry-gnome3)
+ $(use_enable ncurses fallback-curses)
+ $(use_enable ncurses pinentry-curses)
+ $(use_enable qt5 pinentry-qt)
+ $(use_enable wayland kf5-wayland)
+ $(use_enable X qtx11extras)
+ $(use_with X x)
+
+ --enable-pinentry-tty
+ --disable-pinentry-fltk
+ --disable-pinentry-gtk2
+
+ MOC="$(qt5_get_bindir)"/moc
+ ac_cv_path_GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config"
+
+ $("${S}/configure" --help | grep -- '--without-.*-prefix' | sed -e 's/^ *\([^ ]*\) .*/\1/g')
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ rm "${ED}"/usr/bin/pinentry || die
+
+ use qt5 && dosym pinentry-qt /usr/bin/pinentry-qt5
+}
+
+pkg_postinst() {
+ eselect pinentry update ifunset
+}
+
+pkg_postrm() {
+ eselect pinentry update ifunset
+}
diff --git a/app-crypt/pinentry/pinentry-1.3.0-r2.ebuild b/app-crypt/pinentry/pinentry-1.3.0-r2.ebuild
new file mode 100644
index 000000000000..65cc9de488d3
--- /dev/null
+++ b/app-crypt/pinentry/pinentry-1.3.0-r2.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
+inherit autotools qmake-utils verify-sig
+
+DESCRIPTION="Simple passphrase entry dialogs which utilize the Assuan protocol"
+HOMEPAGE="https://gnupg.org/related_software/pinentry/"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="caps efl emacs gtk keyring ncurses qt5 qt6 wayland X"
+
+DEPEND="
+ >=dev-libs/libassuan-2.1
+ >=dev-libs/libgcrypt-1.6.3
+ >=dev-libs/libgpg-error-1.17
+ efl? ( dev-libs/efl[X] )
+ keyring? ( app-crypt/libsecret )
+ ncurses? ( sys-libs/ncurses:= )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ wayland? ( kde-plasma/kwayland:5 )
+ X? (
+ dev-qt/qtx11extras:5
+ x11-libs/libX11
+ )
+ )
+ qt6? (
+ dev-qt/qtbase:6[gui,widgets]
+ wayland? (
+ kde-frameworks/kguiaddons:6
+ kde-frameworks/kwindowsystem:6
+ )
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ gtk? ( app-crypt/gcr:4[gtk] )
+"
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-gnupg )
+"
+PDEPEND="emacs? ( app-emacs/pinentry )"
+IDEPEND=">=app-eselect/eselect-pinentry-0.7.4"
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.0.0-AR.patch"
+ "${FILESDIR}/${PN}-1.3.0-automagic.patch" # bug #819939, bug #837719
+ "${FILESDIR}/${PN}-1.3.0-ifdef-qt.patch"
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ unset FLTK_CONFIG
+
+ local myeconfargs=(
+ $(use_enable efl pinentry-efl)
+ $(use_enable emacs pinentry-emacs)
+ $(use_enable keyring libsecret)
+ $(use_enable gtk pinentry-gnome3)
+ $(use_enable ncurses fallback-curses)
+ $(use_enable ncurses pinentry-curses)
+ $(use_enable qt5 pinentry-qt5)
+ $(use_enable qt6 pinentry-qt)
+ # TODO: could split this up into qt5/qt6?
+ $(use_enable X qtx11extras)
+ $(use_with X x)
+
+ --enable-pinentry-tty
+ --disable-pinentry-fltk
+ --disable-pinentry-gtk2
+
+ ac_cv_path_GPGRT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpgrt-config"
+
+ $("${S}/configure" --help | grep -- '--without-.*-prefix' | sed -e 's/^ *\([^ ]*\) .*/\1/g')
+ )
+
+ if use qt5 ; then
+ export PATH="$(qt5_get_bindir):${PATH}"
+ export QTLIB="$(qt5_get_libdir):${QTLIB}"
+ export MOC5="$(qt5_get_bindir)"/moc
+
+ myeconfargs+=(
+ $(use_enable wayland kf5-wayland)
+ )
+ else
+ myeconfargs+=(
+ --disable-kf5-wayland
+ )
+ fi
+
+ if use qt6 ; then
+ export PATH="$(qt6_get_bindir):${PATH}"
+ export QTLIB="$(qt6_get_libdir):${QTLIB}"
+ export MOC="$(qt6_get_libdir)/qt6/libexec/moc"
+
+ myeconfargs+=(
+ $(use_enable wayland kf6-wayland)
+ )
+ else
+ myeconfargs+=(
+ --disable-kf6-wayland
+ )
+ fi
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ rm "${ED}"/usr/bin/pinentry || die
+
+ # The preferred Qt implementation upstream gets installed as just 'qt'.
+ # Make a symlink for eselect-pinentry and friends.
+ if use qt6 ; then
+ dosym pinentry-qt /usr/bin/pinentry-qt6
+ fi
+}
+
+pkg_postinst() {
+ eselect pinentry update ifunset
+}
+
+pkg_postrm() {
+ eselect pinentry update ifunset
+}