Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Apr 2024 02:31:10 GMT
From:      "Jason E. Hale" <jhale@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: a17ad22b735a - main - security/pinentry: Update to 1.3.0
Message-ID:  <202404030231.4332VAL3002613@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by jhale:

URL: https://cgit.FreeBSD.org/ports/commit/?id=a17ad22b735a0a44eeda7ead165c29cfd421a4a9

commit a17ad22b735a0a44eeda7ead165c29cfd421a4a9
Author:     Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2024-04-03 01:10:00 +0000
Commit:     Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2024-04-03 02:31:02 +0000

    security/pinentry: Update to 1.3.0
    
    Add security/pinentry-qt6 for the new Qt 6 pinentry frontend.
    
    Make a more generic pkg-message for pinentry frontends that have a
    dependency loop with the main port. Previously, only the gnome frontend
    had this problem, but a dependency loop was also discovered in the efl
    frontend.
    
    https://dev.gnupg.org/T7046
---
 security/Makefile                               |  1 +
 security/pinentry-efl/Makefile                  |  2 +-
 security/pinentry-gtk2/Makefile                 |  2 +-
 security/pinentry-qt6/Makefile                  | 10 +++++
 security/pinentry/Makefile                      | 51 +++++++++++++++++++------
 security/pinentry/distinfo                      |  8 ++--
 security/pinentry/files/pkg-message.dep-loop.in | 26 +++++++++++++
 security/pinentry/pkg-message.gnome             | 26 -------------
 8 files changed, 84 insertions(+), 42 deletions(-)

diff --git a/security/Makefile b/security/Makefile
index 107e284f3daa..e1fbc80b9320 100644
--- a/security/Makefile
+++ b/security/Makefile
@@ -822,6 +822,7 @@
     SUBDIR += pinentry-gnome
     SUBDIR += pinentry-gtk2
     SUBDIR += pinentry-qt5
+    SUBDIR += pinentry-qt6
     SUBDIR += pinentry-tty
     SUBDIR += pixiewps
     SUBDIR += pkcrack
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,5 +1,5 @@
 PORTNAME=	pinentry
-PORTREVISION=	1
+PORTREVISION=	0
 
 COMMENT=	EFL version of the GnuPG password dialog
 
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,5 +1,5 @@
 PORTNAME=	pinentry
-PORTREVISION=	1
+PORTREVISION=	0
 
 COMMENT=	GTK 2.0 version of the GnuPG password dialog
 
diff --git a/security/pinentry-qt6/Makefile b/security/pinentry-qt6/Makefile
new file mode 100644
index 000000000000..608d035ceb5d
--- /dev/null
+++ b/security/pinentry-qt6/Makefile
@@ -0,0 +1,10 @@
+PORTNAME=	pinentry
+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/Makefile b/security/pinentry/Makefile
index 82c1ae50dcbe..87217f55c00c 100644
--- a/security/pinentry/Makefile
+++ b/security/pinentry/Makefile
@@ -1,9 +1,12 @@
 PORTNAME=	pinentry
-PORTVERSION=	1.2.1
+PORTVERSION=	1.3.0
 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
@@ -20,7 +23,7 @@ NO_BUILD=	yes
 PLIST_FILES=	bin/pinentry
 
 OPTIONS_SINGLE=	FRONTEND
-OPTIONS_SINGLE_FRONTEND=	EFL FLTK GNOME GTK2 NCURSES QT5 TTY
+OPTIONS_SINGLE_FRONTEND=	EFL FLTK GNOME GTK2 NCURSES QT5 QT6 TTY
 OPTIONS_DEFAULT=	NCURSES
 
 FRONTEND_DESC=	Default frontend
@@ -35,7 +38,14 @@ NCURSES_RUN_DEPENDS=	${PINENTRY_NCURSES}:security/pinentry-curses
 
 EFL_DESC=	EFL frontend
 PINENTRY_EFL=	pinentry-efl
-EFL_RUN_DEPENDS=	${PINENTRY_EFL}:security/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
@@ -49,13 +59,19 @@ 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.gnome for more details.
+# pinentry-gnome manually. See pkg-message.dep-loop for more details.
 #GNOME_RUN_DEPENDS=	${PINENTRY_GNOME}:security/pinentry-gnome
-GNOME_VARS=		PKGMESSAGE+=${.CURDIR}/pkg-message.gnome
+GNOME_SUB_FILES=pkg-message.dep-loop
+GNOME_SUB_LIST=	PKGNAME="pinentry-gnome"
+GNOME_VARS=	PKGMESSAGE+=${WRKDIR}/pkg-message.dep-loop
 
 .include <bsd.port.options.mk>
 
@@ -96,13 +112,26 @@ CONFIGURE_ARGS+=--disable-pinentry-gnome3
 .endif
 
 .if ${PINENTRY_GUI} == "qt5"
-USES+=		compiler:c++11-lib qt:5
-USE_QT=		core gui widgets buildtools:build
-PLIST_FILES=	bin/pinentry-qt5
-CONFIGURE_ARGS+=--enable-pinentry-qt5 \
-		--program-suffix=5
+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
+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_KDE=	guiaddons windowsystem
+USE_QT=		base
+PLIST_FILES=	bin/pinentry-qt \
+		share/applications/org.gnupg.pinentry-qt.desktop
+CONFIGURE_ARGS+=--enable-pinentry-qt
 .else
-CONFIGURE_ARGS+=--disable-pinentry-qt --disable-pinentry-qt5
+CONFIGURE_ARGS+=--disable-pinentry-qt
 .endif
 
 .if ${PINENTRY_GUI} == "gtk2"
diff --git a/security/pinentry/distinfo b/security/pinentry/distinfo
index 290a23b46707..112363030ce9 100644
--- a/security/pinentry/distinfo
+++ b/security/pinentry/distinfo
@@ -1,3 +1,5 @@
-TIMESTAMP = 1662933240
-SHA256 (pinentry-1.2.1.tar.bz2) = 457a185e5a85238fb945a955dc6352ab962dc8b48720b62fc9fa48c7540a4067
-SIZE (pinentry-1.2.1.tar.bz2) = 547698
+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
diff --git a/security/pinentry/files/pkg-message.dep-loop.in b/security/pinentry/files/pkg-message.dep-loop.in
new file mode 100644
index 000000000000..f996f4211d03
--- /dev/null
+++ b/security/pinentry/files/pkg-message.dep-loop.in
@@ -0,0 +1,26 @@
+[
+{ type: install
+  message: <<EOM
+Due to a dependency loop, you must install security/%%PKGNAME%% manually.
+A symlink has been created for you so that %%PKGNAME%% will be the default
+pinentry binary after you install it, but bear in mind that the package system
+will not keep track of this dependency.
+
+You may install %%PKGNAME%% with one of the following commands:
+
+# pkg install security/%%PKGNAME%%
+  or
+# make -C /usr/ports/security/%%PKGNAME%% install clean
+EOM
+}
+{ type: remove
+  message: <<EOM
+The pinentry package has been removed. If you no longer plan on using this
+package, you may remove the %%PKGNAME%% package as well.
+
+You may remove the %%PKGNAME%% package with the following command:
+
+# pkg delete %%PKGNAME%%
+EOM
+}
+]
diff --git a/security/pinentry/pkg-message.gnome b/security/pinentry/pkg-message.gnome
deleted file mode 100644
index 7e8734df7d66..000000000000
--- a/security/pinentry/pkg-message.gnome
+++ /dev/null
@@ -1,26 +0,0 @@
-[
-{ type: install
-  message: <<EOM
-Due to a dependency loop, you must install security/pinentry-gnome manually.
-A symlink has been created for you so that pinentry-gnome will be the default
-pinentry binary after you install it, but bear in mind that the package system
-will not keep track of this dependency.
-
-You may install pinentry-gnome with one of the following commands:
-
-# pkg install security/pinentry-gnome
-  or
-# make -C /usr/ports/security/pinentry-gnome install clean
-EOM
-}
-{ type: remove
-  message: <<EOM
-The pinentry package has been removed. If you no longer plan on using this
-package, you may remove the pinentry-gnome package as well.
-
-You may remove the pinentry-gnome package with the following command:
-
-# pkg delete pinentry-gnome
-EOM
-}
-]



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202404030231.4332VAL3002613>