diff --git a/security/pinentry-curses/Makefile b/security/pinentry-curses/Makefile index 740cf8fcf767..a042d94094f6 100644 --- a/security/pinentry-curses/Makefile +++ b/security/pinentry-curses/Makefile @@ -1,10 +1,10 @@ PORTNAME= pinentry -PORTREVISION= 1 +PORTREVISION= 0 COMMENT= Curses version of the GnuPG password dialog PINENTRY_GUI= curses MASTERDIR= ${.CURDIR}/../pinentry .include "${MASTERDIR}/Makefile" diff --git a/security/pinentry-efl/Makefile b/security/pinentry-efl/Makefile index ffbf49cf7b8e..1bb829cc34ca 100644 --- a/security/pinentry-efl/Makefile +++ b/security/pinentry-efl/Makefile @@ -1,10 +1,10 @@ PORTNAME= pinentry -PORTREVISION= 1 +PORTREVISION= 0 COMMENT= EFL version of the GnuPG password dialog PINENTRY_GUI= efl MASTERDIR= ${.CURDIR}/../pinentry .include "${MASTERDIR}/Makefile" diff --git a/security/pinentry-fltk/Makefile b/security/pinentry-fltk/Makefile index b61426527c35..71ea2872f41a 100644 --- a/security/pinentry-fltk/Makefile +++ b/security/pinentry-fltk/Makefile @@ -1,10 +1,10 @@ PORTNAME= pinentry -PORTREVISION= 1 +PORTREVISION= 0 COMMENT= FLTK version of the GnuPG password dialog PINENTRY_GUI= fltk MASTERDIR= ${.CURDIR}/../pinentry .include "${MASTERDIR}/Makefile" diff --git a/security/pinentry-gnome/Makefile b/security/pinentry-gnome/Makefile index 9ee65ae1602a..713d3747a985 100644 --- a/security/pinentry-gnome/Makefile +++ b/security/pinentry-gnome/Makefile @@ -1,10 +1,10 @@ PORTNAME= pinentry -PORTREVISION= 1 +PORTREVISION= 0 COMMENT= GNOME version of the GnuPG password dialog PINENTRY_GUI= gnome MASTERDIR= ${.CURDIR}/../pinentry .include "${MASTERDIR}/Makefile" diff --git a/security/pinentry-gtk2/Makefile b/security/pinentry-gtk2/Makefile index 870428af55e6..6e01e0bf1d9e 100644 --- a/security/pinentry-gtk2/Makefile +++ b/security/pinentry-gtk2/Makefile @@ -1,10 +1,10 @@ PORTNAME= pinentry -PORTREVISION= 1 +PORTREVISION= 0 COMMENT= GTK 2.0 version of the GnuPG password dialog PINENTRY_GUI= gtk2 MASTERDIR= ${.CURDIR}/../pinentry .include "${MASTERDIR}/Makefile" diff --git a/security/pinentry-qt5/Makefile b/security/pinentry-qt5/Makefile index 9e8bdf8542a0..29b7601f5940 100644 --- a/security/pinentry-qt5/Makefile +++ b/security/pinentry-qt5/Makefile @@ -1,10 +1,10 @@ PORTNAME= pinentry -PORTREVISION= 1 +PORTREVISION= 0 COMMENT= Qt 5 version of the GnuPG password dialog PINENTRY_GUI= qt5 MASTERDIR= ${.CURDIR}/../pinentry .include "${MASTERDIR}/Makefile" diff --git a/security/pinentry-qt6/Makefile b/security/pinentry-qt6/Makefile index 0e5891b7ab09..608d035ceb5d 100644 --- a/security/pinentry-qt6/Makefile +++ b/security/pinentry-qt6/Makefile @@ -1,10 +1,10 @@ PORTNAME= pinentry -PORTREVISION= 1 +PORTREVISION= 0 COMMENT= Qt 6 version of the GnuPG password dialog PINENTRY_GUI= qt6 MASTERDIR= ${.CURDIR}/../pinentry .include "${MASTERDIR}/Makefile" diff --git a/security/pinentry-tty/Makefile b/security/pinentry-tty/Makefile index d2bed6223f02..17e436edbd25 100644 --- a/security/pinentry-tty/Makefile +++ b/security/pinentry-tty/Makefile @@ -1,10 +1,10 @@ PORTNAME= pinentry -PORTREVISION= 1 +PORTREVISION= 0 COMMENT= Console version of the GnuPG password dialog PINENTRY_GUI= tty MASTERDIR= ${.CURDIR}/../pinentry .include "${MASTERDIR}/Makefile" diff --git a/security/pinentry/Makefile b/security/pinentry/Makefile index 1c36db0fdd9a..af97894d3530 100644 --- a/security/pinentry/Makefile +++ b/security/pinentry/Makefile @@ -1,180 +1,183 @@ PORTNAME= pinentry -PORTVERSION= 1.3.0 +PORTVERSION= 1.3.1 PORTREVISION?= 0 CATEGORIES= security MASTER_SITES= GNUPG/pinentry -PATCH_SITES= https://github.com/gpg/pinentry/commit/ -PATCHFILES+= 844360c9c99d2f11dc4236c0ab6bdb9b56758898.patch:-p1 - MAINTAINER= jhale@FreeBSD.org COMMENT?= Collection of simple PIN or passphrase entry dialogs WWW= https://www.gnupg.org/aegypten2 LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/COPYING USES= tar:bzip2 .if !defined(PINENTRY_GUI) INFO= pinentry NO_ARCH= yes NO_BUILD= yes PLIST_FILES= bin/pinentry OPTIONS_SINGLE= FRONTEND OPTIONS_SINGLE_FRONTEND= EFL FLTK GNOME GTK2 NCURSES QT5 QT6 TTY OPTIONS_DEFAULT= NCURSES FRONTEND_DESC= Default frontend TTY_DESC= Console version PINENTRY_TTY= pinentry-tty TTY_RUN_DEPENDS= ${PINENTRY_TTY}:security/pinentry-tty NCURSES_DESC= Curses frontend PINENTRY_NCURSES= pinentry-curses NCURSES_RUN_DEPENDS= ${PINENTRY_NCURSES}:security/pinentry-curses EFL_DESC= EFL frontend PINENTRY_EFL= pinentry-efl # Due to a dependency loop that exists between security/pinentry-efl, # devel/elf, graphics/poppler, security/gpgme-cpp, security/gpgme, # security/gnupg and security/pinentry, the user must install # pinentry-efl manually. See pkg-message.dep-loop for more details. #EFL_RUN_DEPENDS= ${PINENTRY_EFL}:security/pinentry-efl EFL_SUB_FILES= pkg-message.dep-loop EFL_SUB_LIST= PKGNAME="pinentry-efl" EFL_VARS= PKGMESSAGE+=${WRKDIR}/pkg-message.dep-loop FLTK_DESC= FLTK frontend PINENTRY_FLTK= pinentry-fltk FLTK_RUN_DEPENDS= ${PINENTRY_FLTK}:security/pinentry-fltk GTK2_DESC= Gtk+ 2 frontend PINENTRY_GTK2= pinentry-gtk-2 GTK2_RUN_DEPENDS= ${PINENTRY_GTK2}:security/pinentry-gtk2 QT5_DESC= Qt 5 frontend PINENTRY_QT5= pinentry-qt5 QT5_RUN_DEPENDS= ${PINENTRY_QT5}:security/pinentry-qt5 QT6_DESC= Qt 6 frontend PINENTRY_QT6= pinentry-qt QT6_RUN_DEPENDS= ${PINENTRY_QT6}:security/pinentry-qt6 GNOME_DESC= GNOME frontend PINENTRY_GNOME= pinentry-gnome3 # Due to a dependency loop that exists between security/pinentry-gnome, # security/gcr, security/gnupg and security/pinentry, the user must install # pinentry-gnome manually. See pkg-message.dep-loop for more details. #GNOME_RUN_DEPENDS= ${PINENTRY_GNOME}:security/pinentry-gnome GNOME_SUB_FILES=pkg-message.dep-loop GNOME_SUB_LIST= PKGNAME="pinentry-gnome" GNOME_VARS= PKGMESSAGE+=${WRKDIR}/pkg-message.dep-loop .include .for gui in ${OPTIONS_SINGLE_FRONTEND} . if ${PORT_OPTIONS:M${gui}} PINENTRY_BIN= ${PINENTRY_${gui}} . endif .endfor do-install: ${LN} -sf ${PINENTRY_BIN} ${STAGEDIR}${PREFIX}/bin/pinentry ${INSTALL_DATA} ${WRKSRC}/doc/pinentry.info ${STAGEDIR}${PREFIX}/${INFO_PATH} .else # !defined(PINENTRY_GUI) PKGNAMESUFFIX= -${PINENTRY_GUI} LIB_DEPENDS= libassuan.so:security/libassuan \ libgpg-error.so:security/libgpg-error USES+= gmake iconv localbase ncurses pkgconfig GNU_CONFIGURE= yes CONFIGURE_ARGS= --disable-pinentry-emacs LDFLAGS+= -Wl,--as-needed OPTIONS_DEFINE= LIBSECRET LIBSECRET_DESC= Saving the passphrase with libsecret LIBSECRET_CONFIGURE_ENABLE= libsecret LIBSECRET_LIB_DEPENDS= libsecret-1.so:security/libsecret LIBSECRET_USES= gnome LIBSECRET_USE= GNOME=glib20 .if ${PINENTRY_GUI} == "gnome" OPTIONS_SLAVE= LIBSECRET LIB_DEPENDS+= libgcr-base-3.so:security/gcr PLIST_FILES= bin/pinentry-gnome3 .else CONFIGURE_ARGS+=--disable-pinentry-gnome3 .endif .if ${PINENTRY_GUI} == "qt5" USES+= compiler:c++11-lang kde:5 qt:5 xorg USE_KDE= wayland USE_QT= core gui widgets x11extras buildtools:build USE_XORG= x11 PLIST_FILES= bin/pinentry-qt5 \ - share/applications/org.gnupg.pinentry-qt5.desktop + share/applications/org.gnupg.pinentry-qt5.desktop \ + share/pixmaps/pinentry-qt5.png CONFIGURE_ARGS+=--enable-pinentry-qt5 .else CONFIGURE_ARGS+=--disable-pinentry-qt5 .endif .if ${PINENTRY_GUI} == "qt6" USES+= compiler:c++17-lang kde:6 qt:6 USE_CXXSTD= c++17 USE_KDE= guiaddons windowsystem USE_QT= base PLIST_FILES= bin/pinentry-qt \ - share/applications/org.gnupg.pinentry-qt.desktop + share/applications/org.gnupg.pinentry-qt.desktop \ + share/pixmaps/pinentry.png CONFIGURE_ARGS+=--enable-pinentry-qt .else CONFIGURE_ARGS+=--disable-pinentry-qt .endif .if ${PINENTRY_GUI} == "gtk2" USES+= gnome USE_GNOME+= gtk20 PLIST_FILES= bin/pinentry-gtk-2 .else CONFIGURE_ARGS+=--disable-pinentry-gtk2 .endif .if ${PINENTRY_GUI} == "efl" LIB_DEPENDS+= libefl.so:devel/efl PLIST_FILES= bin/pinentry-efl .else CONFIGURE_ARGS+=--disable-pinentry-efl .endif .if ${PINENTRY_GUI} == "fltk" USES+= compiler:c++11-lib LIB_DEPENDS+= libfltk.so:x11-toolkits/fltk PLIST_FILES= bin/pinentry-fltk .else CONFIGURE_ARGS+=--disable-pinentry-fltk .endif .if ${PINENTRY_GUI} == "curses" PLIST_FILES= bin/pinentry-curses .else CONFIGURE_ARGS+=--disable-pinentry-curses .endif .if ${PINENTRY_GUI} == "tty" PLIST_FILES= bin/pinentry-tty CONFIGURE_ARGS+=--enable-pinentry-tty .else CONFIGURE_ARGS+=--disable-pinentry-tty .endif +# Rename icon to prevent install conflicts with the Qt6 frontend. +post-extract: + @(cd ${WRKSRC}/qt5/icons && ${MV} pinentry.png pinentry-qt5.png) + post-install: ${RM} ${STAGEDIR}${PREFIX}/bin/pinentry \ ${STAGEDIR}${PREFIX}/share/info/pinentry.info .endif # !defined(PINENTRY_GUI) .include diff --git a/security/pinentry/distinfo b/security/pinentry/distinfo index 112363030ce9..4cdb84128637 100644 --- a/security/pinentry/distinfo +++ b/security/pinentry/distinfo @@ -1,5 +1,3 @@ -TIMESTAMP = 1712087076 -SHA256 (pinentry-1.3.0.tar.bz2) = 9b3cd5226e7597f2fded399a3bc659923351536559e9db0826981bca316494de -SIZE (pinentry-1.3.0.tar.bz2) = 610363 -SHA256 (844360c9c99d2f11dc4236c0ab6bdb9b56758898.patch) = 80804d34202a3c8c700226e77431cd4585b760de038bd84d3a1ae9813f25d924 -SIZE (844360c9c99d2f11dc4236c0ab6bdb9b56758898.patch) = 3846 +TIMESTAMP = 1720239644 +SHA256 (pinentry-1.3.1.tar.bz2) = bc72ee27c7239007ab1896c3c2fae53b076e2c9bd2483dc2769a16902bce8c04 +SIZE (pinentry-1.3.1.tar.bz2) = 611233 diff --git a/security/pinentry/files/patch-qt5_icons_Makefile.in b/security/pinentry/files/patch-qt5_icons_Makefile.in new file mode 100644 index 000000000000..cc040c6e8b6c --- /dev/null +++ b/security/pinentry/files/patch-qt5_icons_Makefile.in @@ -0,0 +1,19 @@ +Rename icon to prevent install conflicts with the Qt6 frontend. + +--- qt5/icons/Makefile.in.orig 2024-07-03 09:29:09 UTC ++++ qt5/icons/Makefile.in +@@ -350,12 +350,12 @@ EXTRA_DIST = data-error.svg \ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + EXTRA_DIST = data-error.svg \ +- pinentry.png \ ++ pinentry-qt5.png \ + hint.svg \ + password-generate.svg \ + visibility.svg + +-icons_DATA = pinentry.png ++icons_DATA = pinentry-qt5.png + iconsdir = $(datadir)/pixmaps + all: all-am + diff --git a/security/pinentry/files/patch-qt5_main.cpp b/security/pinentry/files/patch-qt5_main.cpp new file mode 100644 index 000000000000..2f70594538ff --- /dev/null +++ b/security/pinentry/files/patch-qt5_main.cpp @@ -0,0 +1,13 @@ +Rename icon to prevent install conflicts with the Qt6 frontend. + +--- qt5/main.cpp.orig 2024-07-03 09:19:19 UTC ++++ qt5/main.cpp +@@ -422,7 +422,7 @@ main(int argc, char *argv[]) + new_argc = argc; + Q_ASSERT (new_argc); + app = new QApplication(new_argc, new_argv); +- app->setWindowIcon(QIcon(QLatin1String(":/icons/pinentry.png"))); ++ app->setWindowIcon(QIcon(QLatin1String(":/icons/pinentry-qt5.png"))); + app->setDesktopFileName(QStringLiteral("org.gnupg.pinentry-qt5")); + (void) new KeyboardFocusIndication{app}; + } diff --git a/security/pinentry/files/patch-qt5_org.gnupg.pinentry-qt5.desktop.in b/security/pinentry/files/patch-qt5_org.gnupg.pinentry-qt5.desktop.in new file mode 100644 index 000000000000..f934637fbb78 --- /dev/null +++ b/security/pinentry/files/patch-qt5_org.gnupg.pinentry-qt5.desktop.in @@ -0,0 +1,12 @@ +Rename icon to prevent install conflicts with the Qt6 frontend. + +--- qt5/org.gnupg.pinentry-qt5.desktop.in.orig 2024-07-03 09:19:19 UTC ++++ qt5/org.gnupg.pinentry-qt5.desktop.in +@@ -4,6 +4,6 @@ NoDisplay=true + Categories=Qt;Utility; + Exec=@prefix@/bin/pinentry-qt5 + NoDisplay=true +-Icon=pinentry ++Icon=pinentry-qt5 + GenericName=Utility for entering GnuPG secrets + X-KDE-Wayland-Interfaces=org_kde_kwin_keystate diff --git a/security/pinentry/files/patch-qt5_pinentryrc.qrc b/security/pinentry/files/patch-qt5_pinentryrc.qrc new file mode 100644 index 000000000000..860544dc5a02 --- /dev/null +++ b/security/pinentry/files/patch-qt5_pinentryrc.qrc @@ -0,0 +1,13 @@ +Rename icon to prevent install conflicts with the Qt6 frontend. + +--- qt5/pinentryrc.qrc.orig 2024-07-03 09:19:19 UTC ++++ qt5/pinentryrc.qrc +@@ -2,7 +2,7 @@ + + + icons/data-error.svg +- icons/pinentry.png ++ icons/pinentry-qt5.png + icons/hint.svg + icons/password-generate.svg + icons/visibility.svg diff --git a/security/pinentry/files/patch-secmem_secmem.c b/security/pinentry/files/patch-secmem_secmem.c index a21d0ba2221f..4d180a173403 100644 --- a/security/pinentry/files/patch-secmem_secmem.c +++ b/security/pinentry/files/patch-secmem_secmem.c @@ -1,11 +1,11 @@ ---- secmem/secmem.c.orig 2016-04-14 14:39:51 UTC +--- secmem/secmem.c.orig 2024-02-26 14:24:12 UTC +++ secmem/secmem.c -@@ -88,7 +88,7 @@ log_fatal(char *template, ...) +@@ -84,7 +84,7 @@ log_fatal(char *template, ...) # define MAP_ANONYMOUS MAP_ANON #endif -#define DEFAULT_POOLSIZE 16384 +#define DEFAULT_POOLSIZE 16384*4 typedef struct memblock_struct MEMBLOCK; struct memblock_struct {