diff options
Diffstat (limited to 'app-crypt/pinentry')
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 +} |