Skip to content

Commit a17ad22

Browse files
committed
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
1 parent 6dd8d4f commit a17ad22

File tree

8 files changed

+84
-42
lines changed

8 files changed

+84
-42
lines changed

‎security/Makefile‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -822,6 +822,7 @@
822822
SUBDIR += pinentry-gnome
823823
SUBDIR += pinentry-gtk2
824824
SUBDIR += pinentry-qt5
825+
SUBDIR += pinentry-qt6
825826
SUBDIR += pinentry-tty
826827
SUBDIR += pixiewps
827828
SUBDIR += pkcrack

‎security/pinentry-efl/Makefile‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
PORTNAME= pinentry
2-
PORTREVISION= 1
2+
PORTREVISION= 0
33

44
COMMENT= EFL version of the GnuPG password dialog
55

‎security/pinentry-gtk2/Makefile‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
PORTNAME= pinentry
2-
PORTREVISION= 1
2+
PORTREVISION= 0
33

44
COMMENT= GTK 2.0 version of the GnuPG password dialog
55

‎security/pinentry-qt6/Makefile‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
PORTNAME= pinentry
2+
PORTREVISION= 0
3+
4+
COMMENT= Qt 6 version of the GnuPG password dialog
5+
6+
PINENTRY_GUI= qt6
7+
8+
MASTERDIR= ${.CURDIR}/../pinentry
9+
10+
.include "${MASTERDIR}/Makefile"

‎security/pinentry/Makefile‎

Lines changed: 40 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
PORTNAME= pinentry
2-
PORTVERSION= 1.2.1
2+
PORTVERSION= 1.3.0
33
PORTREVISION?= 0
44
CATEGORIES= security
55
MASTER_SITES= GNUPG/pinentry
66

7+
PATCH_SITES= https://github.com/gpg/pinentry/commit/
8+
PATCHFILES+= 844360c9c99d2f11dc4236c0ab6bdb9b56758898.patch:-p1
9+
710
MAINTAINER= jhale@FreeBSD.org
811
COMMENT?= Collection of simple PIN or passphrase entry dialogs
912
WWW= https://www.gnupg.org/aegypten2
@@ -20,7 +23,7 @@ NO_BUILD= yes
2023
PLIST_FILES= bin/pinentry
2124

2225
OPTIONS_SINGLE= FRONTEND
23-
OPTIONS_SINGLE_FRONTEND= EFL FLTK GNOME GTK2 NCURSES QT5 TTY
26+
OPTIONS_SINGLE_FRONTEND= EFL FLTK GNOME GTK2 NCURSES QT5 QT6 TTY
2427
OPTIONS_DEFAULT= NCURSES
2528

2629
FRONTEND_DESC= Default frontend
@@ -35,7 +38,14 @@ NCURSES_RUN_DEPENDS= ${PINENTRY_NCURSES}:security/pinentry-curses
3538

3639
EFL_DESC= EFL frontend
3740
PINENTRY_EFL= pinentry-efl
38-
EFL_RUN_DEPENDS= ${PINENTRY_EFL}:security/pinentry-efl
41+
# Due to a dependency loop that exists between security/pinentry-efl,
42+
# devel/elf, graphics/poppler, security/gpgme-cpp, security/gpgme,
43+
# security/gnupg and security/pinentry, the user must install
44+
# pinentry-efl manually. See pkg-message.dep-loop for more details.
45+
#EFL_RUN_DEPENDS= ${PINENTRY_EFL}:security/pinentry-efl
46+
EFL_SUB_FILES= pkg-message.dep-loop
47+
EFL_SUB_LIST= PKGNAME="pinentry-efl"
48+
EFL_VARS= PKGMESSAGE+=${WRKDIR}/pkg-message.dep-loop
3949

4050
FLTK_DESC= FLTK frontend
4151
PINENTRY_FLTK= pinentry-fltk
@@ -49,13 +59,19 @@ QT5_DESC= Qt 5 frontend
4959
PINENTRY_QT5= pinentry-qt5
5060
QT5_RUN_DEPENDS= ${PINENTRY_QT5}:security/pinentry-qt5
5161

62+
QT6_DESC= Qt 6 frontend
63+
PINENTRY_QT6= pinentry-qt
64+
QT6_RUN_DEPENDS= ${PINENTRY_QT6}:security/pinentry-qt6
65+
5266
GNOME_DESC= GNOME frontend
5367
PINENTRY_GNOME= pinentry-gnome3
5468
# Due to a dependency loop that exists between security/pinentry-gnome,
5569
# security/gcr, security/gnupg and security/pinentry, the user must install
56-
# pinentry-gnome manually. See pkg-message.gnome for more details.
70+
# pinentry-gnome manually. See pkg-message.dep-loop for more details.
5771
#GNOME_RUN_DEPENDS= ${PINENTRY_GNOME}:security/pinentry-gnome
58-
GNOME_VARS= PKGMESSAGE+=${.CURDIR}/pkg-message.gnome
72+
GNOME_SUB_FILES=pkg-message.dep-loop
73+
GNOME_SUB_LIST= PKGNAME="pinentry-gnome"
74+
GNOME_VARS= PKGMESSAGE+=${WRKDIR}/pkg-message.dep-loop
5975

6076
.include <bsd.port.options.mk>
6177

@@ -96,13 +112,26 @@ CONFIGURE_ARGS+=--disable-pinentry-gnome3
96112
.endif
97113

98114
.if ${PINENTRY_GUI} == "qt5"
99-
USES+= compiler:c++11-lib qt:5
100-
USE_QT= core gui widgets buildtools:build
101-
PLIST_FILES= bin/pinentry-qt5
102-
CONFIGURE_ARGS+=--enable-pinentry-qt5 \
103-
--program-suffix=5
115+
USES+= compiler:c++11-lang kde:5 qt:5 xorg
116+
USE_KDE= wayland
117+
USE_QT= core gui widgets x11extras buildtools:build
118+
USE_XORG= x11
119+
PLIST_FILES= bin/pinentry-qt5 \
120+
share/applications/org.gnupg.pinentry-qt5.desktop
121+
CONFIGURE_ARGS+=--enable-pinentry-qt5
122+
.else
123+
CONFIGURE_ARGS+=--disable-pinentry-qt5
124+
.endif
125+
126+
.if ${PINENTRY_GUI} == "qt6"
127+
USES+= compiler:c++17-lang kde:6 qt:6
128+
USE_KDE= guiaddons windowsystem
129+
USE_QT= base
130+
PLIST_FILES= bin/pinentry-qt \
131+
share/applications/org.gnupg.pinentry-qt.desktop
132+
CONFIGURE_ARGS+=--enable-pinentry-qt
104133
.else
105-
CONFIGURE_ARGS+=--disable-pinentry-qt --disable-pinentry-qt5
134+
CONFIGURE_ARGS+=--disable-pinentry-qt
106135
.endif
107136

108137
.if ${PINENTRY_GUI} == "gtk2"

‎security/pinentry/distinfo‎

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1-
TIMESTAMP = 1662933240
2-
SHA256 (pinentry-1.2.1.tar.bz2) = 457a185e5a85238fb945a955dc6352ab962dc8b48720b62fc9fa48c7540a4067
3-
SIZE (pinentry-1.2.1.tar.bz2) = 547698
1+
TIMESTAMP = 1712087076
2+
SHA256 (pinentry-1.3.0.tar.bz2) = 9b3cd5226e7597f2fded399a3bc659923351536559e9db0826981bca316494de
3+
SIZE (pinentry-1.3.0.tar.bz2) = 610363
4+
SHA256 (844360c9c99d2f11dc4236c0ab6bdb9b56758898.patch) = 80804d34202a3c8c700226e77431cd4585b760de038bd84d3a1ae9813f25d924
5+
SIZE (844360c9c99d2f11dc4236c0ab6bdb9b56758898.patch) = 3846
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
[
2+
{ type: install
3+
message: <<EOM
4+
Due to a dependency loop, you must install security/%%PKGNAME%% manually.
5+
A symlink has been created for you so that %%PKGNAME%% will be the default
6+
pinentry binary after you install it, but bear in mind that the package system
7+
will not keep track of this dependency.
8+
9+
You may install %%PKGNAME%% with one of the following commands:
10+
11+
# pkg install security/%%PKGNAME%%
12+
or
13+
# make -C /usr/ports/security/%%PKGNAME%% install clean
14+
EOM
15+
}
16+
{ type: remove
17+
message: <<EOM
18+
The pinentry package has been removed. If you no longer plan on using this
19+
package, you may remove the %%PKGNAME%% package as well.
20+
21+
You may remove the %%PKGNAME%% package with the following command:
22+
23+
# pkg delete %%PKGNAME%%
24+
EOM
25+
}
26+
]

‎security/pinentry/pkg-message.gnome‎

Lines changed: 0 additions & 26 deletions
This file was deleted.

0 commit comments

Comments
 (0)