1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-18 00:10:04 +00:00

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
This commit is contained in:
Jason E. Hale 2024-04-02 21:10:00 -04:00
parent 6dd8d4f75a
commit a17ad22b73
8 changed files with 84 additions and 42 deletions

View File

@ -822,6 +822,7 @@
SUBDIR += pinentry-gnome
SUBDIR += pinentry-gtk2
SUBDIR += pinentry-qt5
SUBDIR += pinentry-qt6
SUBDIR += pinentry-tty
SUBDIR += pixiewps
SUBDIR += pkcrack

View File

@ -1,5 +1,5 @@
PORTNAME= pinentry
PORTREVISION= 1
PORTREVISION= 0
COMMENT= EFL version of the GnuPG password dialog

View File

@ -1,5 +1,5 @@
PORTNAME= pinentry
PORTREVISION= 1
PORTREVISION= 0
COMMENT= GTK 2.0 version of the GnuPG password dialog

View File

@ -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"

View File

@ -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-qt --disable-pinentry-qt5
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
.endif
.if ${PINENTRY_GUI} == "gtk2"

View File

@ -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

View File

@ -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
}
]

View File

@ -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
}
]