git: a17ad22b735a - main - security/pinentry: Update to 1.3.0
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 03 Apr 2024 02:31:10 UTC
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 -} -]