Index | Thread | Search

From:
"Stuart Henderson via ports" <ports@openbsd.org>
Subject:
Re: security/gpgme -qt6
To:
Rafael Sadowski via ports <ports@openbsd.org>
Date:
Thu, 14 Mar 2024 21:58:52 +0000

Download raw body.

Thread
This needs something more, the qt-headers package needs to be knocked out 
unless one of the qt versions is built.

-- 
  Sent from a phone, apologies for poor formatting.

On 14 March 2024 20:09:15 "Rafael Sadowski via ports" <ports@openbsd.org> 
wrote:

> Based on the fantastic work of jca@, below is a diff to add -qt6 flavor
> support in gpgme. I have added the cmake qt6 tweak that we can see in
> -qt5.
>
> The diff needs a simple MODQT_ENV_SETUP tweak in qt6 and qt5. (Diff in a
> different mail)
>
>
> Looking for OKs after the look.
>
> Rafael
>
> diff --git a/security/gpgme/Makefile b/security/gpgme/Makefile
> index 67bbcb43657..9ebd69008d9 100644
> --- a/security/gpgme/Makefile
> +++ b/security/gpgme/Makefile
> @@ -1,16 +1,26 @@
> COMMENT-main =	GnuPG Made Easy
> +COMMENT-qt-headers =	Qt headers for GPGme
> COMMENT-qt =	Qt bindings for GPGme
> +COMMENT-qt6 =	Qt6 bindings for GPGme
>
> VERSION =	1.23.2
> +REVISION-main =	0
> +REVISION-qt =	0
> +
> DISTNAME =	gpgme-${VERSION}
> PKGNAME-main =	gpgme-${VERSION}
> +PKGNAME-qt-headers =	gpgme-qt-headers-${VERSION}
> PKGNAME-qt =	gpgme-qt-${VERSION}
> +PKGNAME-qt6 =	gpgme-qt6-${VERSION}
> +
> +PKG_ARCH-qt-headers =	*
>
> CATEGORIES =	security devel
>
> SHARED_LIBS +=  gpgme                24.2     # 43.0
> SHARED_LIBS +=  gpgmepp              3.3      # 26.0
> SHARED_LIBS +=  qgpgme               3.2      # 20.0
> +SHARED_LIBS +=  qgpgmeqt6            0.0      # 20.0
>
> HOMEPAGE =	https://www.gnupg.org/software/gpgme/
>
> @@ -20,44 +30,80 @@ EXTRACT_SUFX =	.tar.bz2
> # GPLv2 - LGPLv2.1
> PERMIT_PACKAGE=	Yes
>
> -WANTLIB =	assuan gpg-error iconv intl
> -WANTLIB-main =	${WANTLIB} c m
> -WANTLIB-qt =	${COMPILER_LIBCXX} ${WANTLIB} Qt5Core double-conversion
> -WANTLIB-qt +=	execinfo glib-2.0 gpgme gthread-2.0 icudata icui18n icuuc
> -WANTLIB-qt +=	m pcre2-8 pcre2-16 z zstd
> +WANTLIB-main =	${COMPILER_LIBCXX} assuan c gpg-error iconv intl m
> +WANTLIB-qt-headers =
> +WANTLIB-qt += ${COMPILER_LIBCXX} Qt5Core assuan double-conversion
> +WANTLIB-qt += execinfo glib-2.0 gpg-error gpgme gpgmepp gthread-2.0
> +WANTLIB-qt += iconv icudata icui18n icuuc intl m pcre2-16 pcre2-8
> +WANTLIB-qt += z zstd
> +WANTLIB-qt6 += ${COMPILER_LIBCXX} Qt6Core assuan b2 double-conversion
> +WANTLIB-qt6 += execinfo glib-2.0 gpg-error gpgme gpgmepp gthread-2.0
> +WANTLIB-qt6 += iconv icudata icui18n icuuc intl m pcre2-16 pcre2-8
> +WANTLIB-qt6 += z zstd
>
> COMPILER =	base-clang ports-gcc
>
> -MULTI_PACKAGES =	-main -qt
> -PSEUDO_FLAVORS =	no_qt
> -FLAVOR ?=
> +MULTI_PACKAGES =	-main -qt-headers -qt -qt6
> +# XXX we forcefully set either no_qt or no_qt6,
> +# is "bootstrap" doing anything useful?
> +PSEUDO_FLAVORS =	no_qt no_qt6 bootstrap qt6
> +FLAVOR ?=		no_qt6 bootstrap
> +
> +.if ${FLAVOR:Mqt6}
> +# Cannot build both qt5 and qt6 at the same time
> +# FLAVOR="qt6 no_qt6" makes no sense
> +FLAVOR :=		no_qt ${FLAVOR:Nno_qt6}
> +.elif !${FLAVOR:Mno_qt*} && !${FLAVOR:Mqt6}
> +# XXX will portcheck STFU?!?
> +FLAVOR +=		no_qt6
> +.endif
>
> -# don't depend on Qt5 on arches where it's known to fail
> +# don't depend on Qt on arches where it's known to fail
> +# XXX needs MODQT_NOT_FOR_ARCHS?
> NOT_FOR_ARCHS-qt =	alpha mips64 sh
> +NOT_FOR_ARCHS-qt6 =	alpha mips64 sh
>
> CONFIGURE_STYLE =	gnu
>
> BUILD_DEPENDS =		security/gnupg>=2.2.23p1
> RUN_DEPENDS =		security/gnupg>=2.2.23p1
> -LIB_DEPENDS-main =	${LIB_DEPENDS:N*qt*} \
> -			devel/gettext,-runtime \
> +LIB_DEPENDS-main =	devel/gettext,-runtime \
> 			security/libgpg-error>=1.4 \
> 			security/libassuan
> +LIB_DEPENDS-qt-headers =
> +RUN_DEPENDS-qt-headers =
> +# XXX WIP: not accurate enough, should handle REVISION
> +LIB_DEPENDS-qt +=	${MODQT5_LIB_DEPENDS} \
> +			gpgme-=${VERSION}:${BUILD_PKGPATH},-main
> +RUN_DEPENDS-qt =	gpgme-qt-headers-=${VERSION}:${BUILD_PKGPATH},-qt-headers
> +LIB_DEPENDS-qt6 +=	${MODQT6_LIB_DEPENDS} \
> +			gpgme-=${VERSION}:${BUILD_PKGPATH},-main
> +RUN_DEPENDS-qt6 =	gpgme-qt-headers-=${VERSION}:${BUILD_PKGPATH},-qt-headers
>
> CONFIGURE_ENV +=	CPPFLAGS="-I${LOCALBASE}/include" \
> 			LDFLAGS="-L${LOCALBASE}/lib" \
> 			ac_cv_prog_DOXYGEN=false
>
> -.include <bsd.port.arch.mk>
> +MODQT_DEPS =		No
> +MODQT_ENV_SETUP =	No
>
> -.if ${BUILD_PACKAGES:M-qt}
> -MODULES +=		x11/qt5
> +.include <bsd.port.arch.mk>
> +.if ${BUILD_PACKAGES:M-qt} && ${BUILD_PACKAGES:M-qt6}
> +ERRORS +=		"Cannot build Qt and Qt6 support at the same time."
> +.elif ${BUILD_PACKAGES:M-qt}
> +MODULES +=		x11/qt5 \
> +			x11/qt6
> +MODQT5_DEPS =		Yes
> +MODQT5_ENV_SETUP =	Yes
> CONFIGURE_ARGS +=	--enable-languages='cpp qt'
> -LIB_DEPENDS-qt +=	${LIB_DEPENDS} \
> -			gpgme-=${VERSION}:${BUILD_PKGPATH},-main
> +.elif ${BUILD_PACKAGES:M-qt6}
> +MODULES +=		x11/qt6 \
> +			x11/qt5
> +MODQT6_DEPS =		Yes
> +MODQT6_ENV_SETUP =	Yes
> +CONFIGURE_ARGS +=	--enable-languages='cpp qt6'
> .else
> -COMPILER_LANGS =	c
> -CONFIGURE_ARGS +=	--enable-languages=''
> +CONFIGURE_ARGS +=	--enable-languages='cpp'
> .endif
>
> # needed for the regression tests
> @@ -65,6 +111,7 @@ USE_GMAKE =		Yes
>
> pre-configure:
> 	${SUBST_CMD} ${WRKSRC}/lang/cpp/src/GpgmeppConfig.cmake.in.in \
> -	    ${WRKSRC}/lang/qt/src/QGpgmeConfig.cmake.in.in
> +	    ${WRKSRC}/lang/qt/src/QGpgmeConfig.cmake.in.in \
> +	    ${WRKSRC}/lang/qt/src/QGpgmeQt6Config.cmake.in.in
>
> .include <bsd.port.mk>
> diff --git 
> a/security/gpgme/patches/patch-lang_qt_src_QGpgmeQt6Config_cmake_in_in 
> b/security/gpgme/patches/patch-lang_qt_src_QGpgmeQt6Config_cmake_in_in
> new file mode 100644
> index 00000000000..81eac551914
> --- /dev/null
> +++ b/security/gpgme/patches/patch-lang_qt_src_QGpgmeQt6Config_cmake_in_in
> @@ -0,0 +1,12 @@
> +Index: lang/qt/src/QGpgmeQt6Config.cmake.in.in
> +--- lang/qt/src/QGpgmeQt6Config.cmake.in.in.orig
> ++++ lang/qt/src/QGpgmeQt6Config.cmake.in.in
> +@@ -64,7 +64,7 @@ add_library(QGpgmeQt6 SHARED IMPORTED)
> + set_target_properties(QGpgmeQt6 PROPERTIES
> +   INTERFACE_INCLUDE_DIRECTORIES 
> "@resolved_includedir@/qgpgme;@resolved_includedir@"
> +   INTERFACE_LINK_LIBRARIES "Gpgmepp;Qt6::Core"
> +-  IMPORTED_LOCATION "@resolved_libdir@/libqgpgmeqt6@libsuffix@"
> ++  IMPORTED_LOCATION 
> "@resolved_libdir@/libqgpgmeqt6@libsuffix@.${LIBqgpgmeqt6_VERSION}"
> + )
> +
> + if(CMAKE_VERSION VERSION_LESS 2.8.12)
> diff --git a/security/gpgme/pkg/DESCR-qt b/security/gpgme/pkg/DESCR-qt
> index d0ea53fcd01..49a04ab5310 100644
> --- a/security/gpgme/pkg/DESCR-qt
> +++ b/security/gpgme/pkg/DESCR-qt
> @@ -1 +1 @@
> -Qt and C++  bindings for GnuPG Made Easy (GPGME).
> +Qt5 bindings for GnuPG Made Easy (GPGME).
> diff --git a/security/gpgme/pkg/DESCR-qt-headers 
> b/security/gpgme/pkg/DESCR-qt-headers
> new file mode 100644
> index 00000000000..874baabfc61
> --- /dev/null
> +++ b/security/gpgme/pkg/DESCR-qt-headers
> @@ -0,0 +1,4 @@
> +GnuPG Made Easy (GPGME) is a library designed to make access to
> +GnuPG easier for applications.
> +
> +This package provides only the headers for the Qt GPGME bindings.
> diff --git a/security/gpgme/pkg/DESCR-qt6 b/security/gpgme/pkg/DESCR-qt6
> new file mode 100644
> index 00000000000..4a7928755b2
> --- /dev/null
> +++ b/security/gpgme/pkg/DESCR-qt6
> @@ -0,0 +1 @@
> +Qt6 bindings for GnuPG Made Easy (GPGME).
> diff --git a/security/gpgme/pkg/PLIST-main b/security/gpgme/pkg/PLIST-main
> index 66cdf7dfcb1..b3a4c20284a 100644
> --- a/security/gpgme/pkg/PLIST-main
> +++ b/security/gpgme/pkg/PLIST-main
> @@ -1,15 +1,64 @@
> -@pkgpath security/gpgme
> +@conflict gpgme-qt-<=1.23.2
> +@pkgpath security/gpgme,-main
> bin/gpgme-config
> @bin bin/gpgme-json
> @bin bin/gpgme-tool
> -include/QGpgME/WKDRefreshJob
> +include/gpgme++/
> +include/gpgme++/configuration.h
> +include/gpgme++/context.h
> +include/gpgme++/data.h
> +include/gpgme++/decryptionresult.h
> +include/gpgme++/defaultassuantransaction.h
> +include/gpgme++/editinteractor.h
> +include/gpgme++/encryptionresult.h
> +include/gpgme++/engineinfo.h
> +include/gpgme++/error.h
> +include/gpgme++/eventloopinteractor.h
> +include/gpgme++/exception.h
> +include/gpgme++/global.h
> +include/gpgme++/gpgaddexistingsubkeyeditinteractor.h
> +include/gpgme++/gpgadduserideditinteractor.h
> +include/gpgme++/gpgagentgetinfoassuantransaction.h
> +include/gpgme++/gpggencardkeyinteractor.h
> +include/gpgme++/gpgmefw.h
> +include/gpgme++/gpgmepp_export.h
> +include/gpgme++/gpgmepp_version.h
> +include/gpgme++/gpgrevokekeyeditinteractor.h
> +include/gpgme++/gpgsetexpirytimeeditinteractor.h
> +include/gpgme++/gpgsetownertrusteditinteractor.h
> +include/gpgme++/gpgsignkeyeditinteractor.h
> +include/gpgme++/importresult.h
> +include/gpgme++/interfaces/
> +include/gpgme++/interfaces/assuantransaction.h
> +include/gpgme++/interfaces/dataprovider.h
> +include/gpgme++/interfaces/passphraseprovider.h
> +include/gpgme++/interfaces/progressprovider.h
> +include/gpgme++/interfaces/statusconsumer.h
> +include/gpgme++/key.h
> +include/gpgme++/keygenerationresult.h
> +include/gpgme++/keylistresult.h
> +include/gpgme++/notation.h
> +include/gpgme++/result.h
> +include/gpgme++/scdgetinfoassuantransaction.h
> +include/gpgme++/signingresult.h
> +include/gpgme++/statusconsumerassuantransaction.h
> +include/gpgme++/swdbresult.h
> +include/gpgme++/tofuinfo.h
> +include/gpgme++/trustitem.h
> +include/gpgme++/verificationresult.h
> +include/gpgme++/vfsmountresult.h
> include/gpgme.h
> -include/qgpgme/wkdrefreshjob.h
> @info info/gpgme.info
> lib/cmake/
> +lib/cmake/Gpgmepp/
> +lib/cmake/Gpgmepp/GpgmeppConfig.cmake
> +lib/cmake/Gpgmepp/GpgmeppConfigVersion.cmake
> @static-lib lib/libgpgme.a
> lib/libgpgme.la
> @lib lib/libgpgme.so.${LIBgpgme_VERSION}
> +@static-lib lib/libgpgmepp.a
> +lib/libgpgmepp.la
> +@lib lib/libgpgmepp.so.${LIBgpgmepp_VERSION}
> lib/pkgconfig/gpgme-glib.pc
> lib/pkgconfig/gpgme.pc
> share/aclocal/gpgme.m4
> diff --git a/security/gpgme/pkg/PLIST-qt b/security/gpgme/pkg/PLIST-qt
> index ae1eaac39de..bf3db87c504 100644
> --- a/security/gpgme/pkg/PLIST-qt
> +++ b/security/gpgme/pkg/PLIST-qt
> @@ -1,158 +1,6 @@
> -include/QGpgME/
> -include/QGpgME/AbstractImportJob
> -include/QGpgME/AddExistingSubkeyJob
> -include/QGpgME/AddUserIDJob
> -include/QGpgME/ChangeExpiryJob
> -include/QGpgME/ChangeOwnerTrustJob
> -include/QGpgME/ChangePasswdJob
> -include/QGpgME/CryptoConfig
> -include/QGpgME/DN
> -include/QGpgME/DataProvider
> -include/QGpgME/Debug
> -include/QGpgME/DecryptJob
> -include/QGpgME/DecryptVerifyArchiveJob
> -include/QGpgME/DecryptVerifyJob
> -include/QGpgME/DefaultKeyGenerationJob
> -include/QGpgME/DeleteJob
> -include/QGpgME/DownloadJob
> -include/QGpgME/EncryptArchiveJob
> -include/QGpgME/EncryptJob
> -include/QGpgME/ExportJob
> -include/QGpgME/FileListDataProvider
> -include/QGpgME/GpgCardJob
> -include/QGpgME/HierarchicalKeyKistJob
> -include/QGpgME/ImportFromKeyserverJob
> -include/QGpgME/ImportJob
> -include/QGpgME/Job
> -include/QGpgME/KeyForMailboxJob
> -include/QGpgME/KeyGenerationJob
> -include/QGpgME/KeyListJob
> -include/QGpgME/ListAllKeysJob
> -include/QGpgME/MultiDeleteJob
> -include/QGpgME/Protocol
> -include/QGpgME/QGpgMENewCryptoConfig
> -include/QGpgME/QuickJob
> -include/QGpgME/ReceiveKeysJob
> -include/QGpgME/RefreshKeysJob
> -include/QGpgME/RevokeKeyJob
> -include/QGpgME/SetPrimaryUserIDJob
> -include/QGpgME/SignArchiveJob
> -include/QGpgME/SignEncryptArchiveJob
> -include/QGpgME/SignEncryptJob
> -include/QGpgME/SignJob
> -include/QGpgME/SignKeyJob
> -include/QGpgME/SpecialJob
> -include/QGpgME/TofuPolicyJob
> -include/QGpgME/VerifyDetachedJob
> -include/QGpgME/VerifyOpaqueJob
> -include/QGpgME/WKDLookupJob
> -include/QGpgME/WKDLookupResult
> -include/QGpgME/WKSPublishJob
> -include/gpgme++/
> -include/gpgme++/configuration.h
> -include/gpgme++/context.h
> -include/gpgme++/data.h
> -include/gpgme++/decryptionresult.h
> -include/gpgme++/defaultassuantransaction.h
> -include/gpgme++/editinteractor.h
> -include/gpgme++/encryptionresult.h
> -include/gpgme++/engineinfo.h
> -include/gpgme++/error.h
> -include/gpgme++/eventloopinteractor.h
> -include/gpgme++/exception.h
> -include/gpgme++/global.h
> -include/gpgme++/gpgaddexistingsubkeyeditinteractor.h
> -include/gpgme++/gpgadduserideditinteractor.h
> -include/gpgme++/gpgagentgetinfoassuantransaction.h
> -include/gpgme++/gpggencardkeyinteractor.h
> -include/gpgme++/gpgmefw.h
> -include/gpgme++/gpgmepp_export.h
> -include/gpgme++/gpgmepp_version.h
> -include/gpgme++/gpgrevokekeyeditinteractor.h
> -include/gpgme++/gpgsetexpirytimeeditinteractor.h
> -include/gpgme++/gpgsetownertrusteditinteractor.h
> -include/gpgme++/gpgsignkeyeditinteractor.h
> -include/gpgme++/importresult.h
> -include/gpgme++/interfaces/
> -include/gpgme++/interfaces/assuantransaction.h
> -include/gpgme++/interfaces/dataprovider.h
> -include/gpgme++/interfaces/passphraseprovider.h
> -include/gpgme++/interfaces/progressprovider.h
> -include/gpgme++/interfaces/statusconsumer.h
> -include/gpgme++/key.h
> -include/gpgme++/keygenerationresult.h
> -include/gpgme++/keylistresult.h
> -include/gpgme++/notation.h
> -include/gpgme++/result.h
> -include/gpgme++/scdgetinfoassuantransaction.h
> -include/gpgme++/signingresult.h
> -include/gpgme++/statusconsumerassuantransaction.h
> -include/gpgme++/swdbresult.h
> -include/gpgme++/tofuinfo.h
> -include/gpgme++/trustitem.h
> -include/gpgme++/verificationresult.h
> -include/gpgme++/vfsmountresult.h
> -include/qgpgme/
> -include/qgpgme/abstractimportjob.h
> -include/qgpgme/addexistingsubkeyjob.h
> -include/qgpgme/adduseridjob.h
> -include/qgpgme/changeexpiryjob.h
> -include/qgpgme/changeownertrustjob.h
> -include/qgpgme/changepasswdjob.h
> -include/qgpgme/cryptoconfig.h
> -include/qgpgme/dataprovider.h
> -include/qgpgme/debug.h
> -include/qgpgme/decryptjob.h
> -include/qgpgme/decryptverifyarchivejob.h
> -include/qgpgme/decryptverifyjob.h
> -include/qgpgme/defaultkeygenerationjob.h
> -include/qgpgme/deletejob.h
> -include/qgpgme/dn.h
> -include/qgpgme/downloadjob.h
> -include/qgpgme/encryptarchivejob.h
> -include/qgpgme/encryptjob.h
> -include/qgpgme/exportjob.h
> -include/qgpgme/filelistdataprovider.h
> -include/qgpgme/gpgcardjob.h
> -include/qgpgme/hierarchicalkeylistjob.h
> -include/qgpgme/importfromkeyserverjob.h
> -include/qgpgme/importjob.h
> -include/qgpgme/job.h
> -include/qgpgme/keyformailboxjob.h
> -include/qgpgme/keygenerationjob.h
> -include/qgpgme/keylistjob.h
> -include/qgpgme/listallkeysjob.h
> -include/qgpgme/multideletejob.h
> -include/qgpgme/protocol.h
> -include/qgpgme/qgpgme_export.h
> -include/qgpgme/qgpgme_version.h
> -include/qgpgme/qgpgmenewcryptoconfig.h
> -include/qgpgme/quickjob.h
> -include/qgpgme/receivekeysjob.h
> -include/qgpgme/refreshkeysjob.h
> -include/qgpgme/revokekeyjob.h
> -include/qgpgme/setprimaryuseridjob.h
> -include/qgpgme/signarchivejob.h
> -include/qgpgme/signencryptarchivejob.h
> -include/qgpgme/signencryptjob.h
> -include/qgpgme/signjob.h
> -include/qgpgme/signkeyjob.h
> -include/qgpgme/specialjob.h
> -include/qgpgme/tofupolicyjob.h
> -include/qgpgme/verifydetachedjob.h
> -include/qgpgme/verifyopaquejob.h
> -include/qgpgme/wkdlookupjob.h
> -include/qgpgme/wkdlookupresult.h
> -include/qgpgme/wkspublishjob.h
> -lib/cmake/Gpgmepp/
> -lib/cmake/Gpgmepp/GpgmeppConfig.cmake
> -lib/cmake/Gpgmepp/GpgmeppConfigVersion.cmake
> lib/cmake/QGpgme/
> lib/cmake/QGpgme/QGpgmeConfig.cmake
> lib/cmake/QGpgme/QGpgmeConfigVersion.cmake
> -@static-lib lib/libgpgmepp.a
> -lib/libgpgmepp.la
> -@lib lib/libgpgmepp.so.${LIBgpgmepp_VERSION}
> @static-lib lib/libqgpgme.a
> lib/libqgpgme.la
> @lib lib/libqgpgme.so.${LIBqgpgme_VERSION}
> diff --git a/security/gpgme/pkg/PLIST-qt-headers 
> b/security/gpgme/pkg/PLIST-qt-headers
> new file mode 100644
> index 00000000000..032c6dcc7b4
> --- /dev/null
> +++ b/security/gpgme/pkg/PLIST-qt-headers
> @@ -0,0 +1,105 @@
> +@conflict gpgme-qt-<=1.23.2
> +include/QGpgME/
> +include/QGpgME/AbstractImportJob
> +include/QGpgME/AddExistingSubkeyJob
> +include/QGpgME/AddUserIDJob
> +include/QGpgME/ChangeExpiryJob
> +include/QGpgME/ChangeOwnerTrustJob
> +include/QGpgME/ChangePasswdJob
> +include/QGpgME/CryptoConfig
> +include/QGpgME/DN
> +include/QGpgME/DataProvider
> +include/QGpgME/Debug
> +include/QGpgME/DecryptJob
> +include/QGpgME/DecryptVerifyArchiveJob
> +include/QGpgME/DecryptVerifyJob
> +include/QGpgME/DefaultKeyGenerationJob
> +include/QGpgME/DeleteJob
> +include/QGpgME/DownloadJob
> +include/QGpgME/EncryptArchiveJob
> +include/QGpgME/EncryptJob
> +include/QGpgME/ExportJob
> +include/QGpgME/FileListDataProvider
> +include/QGpgME/GpgCardJob
> +include/QGpgME/HierarchicalKeyKistJob
> +include/QGpgME/ImportFromKeyserverJob
> +include/QGpgME/ImportJob
> +include/QGpgME/Job
> +include/QGpgME/KeyForMailboxJob
> +include/QGpgME/KeyGenerationJob
> +include/QGpgME/KeyListJob
> +include/QGpgME/ListAllKeysJob
> +include/QGpgME/MultiDeleteJob
> +include/QGpgME/Protocol
> +include/QGpgME/QGpgMENewCryptoConfig
> +include/QGpgME/QuickJob
> +include/QGpgME/ReceiveKeysJob
> +include/QGpgME/RefreshKeysJob
> +include/QGpgME/RevokeKeyJob
> +include/QGpgME/SetPrimaryUserIDJob
> +include/QGpgME/SignArchiveJob
> +include/QGpgME/SignEncryptArchiveJob
> +include/QGpgME/SignEncryptJob
> +include/QGpgME/SignJob
> +include/QGpgME/SignKeyJob
> +include/QGpgME/SpecialJob
> +include/QGpgME/TofuPolicyJob
> +include/QGpgME/VerifyDetachedJob
> +include/QGpgME/VerifyOpaqueJob
> +include/QGpgME/WKDLookupJob
> +include/QGpgME/WKDLookupResult
> +include/QGpgME/WKDRefreshJob
> +include/QGpgME/WKSPublishJob
> +include/qgpgme/
> +include/qgpgme/abstractimportjob.h
> +include/qgpgme/addexistingsubkeyjob.h
> +include/qgpgme/adduseridjob.h
> +include/qgpgme/changeexpiryjob.h
> +include/qgpgme/changeownertrustjob.h
> +include/qgpgme/changepasswdjob.h
> +include/qgpgme/cryptoconfig.h
> +include/qgpgme/dataprovider.h
> +include/qgpgme/debug.h
> +include/qgpgme/decryptjob.h
> +include/qgpgme/decryptverifyarchivejob.h
> +include/qgpgme/decryptverifyjob.h
> +include/qgpgme/defaultkeygenerationjob.h
> +include/qgpgme/deletejob.h
> +include/qgpgme/dn.h
> +include/qgpgme/downloadjob.h
> +include/qgpgme/encryptarchivejob.h
> +include/qgpgme/encryptjob.h
> +include/qgpgme/exportjob.h
> +include/qgpgme/filelistdataprovider.h
> +include/qgpgme/gpgcardjob.h
> +include/qgpgme/hierarchicalkeylistjob.h
> +include/qgpgme/importfromkeyserverjob.h
> +include/qgpgme/importjob.h
> +include/qgpgme/job.h
> +include/qgpgme/keyformailboxjob.h
> +include/qgpgme/keygenerationjob.h
> +include/qgpgme/keylistjob.h
> +include/qgpgme/listallkeysjob.h
> +include/qgpgme/multideletejob.h
> +include/qgpgme/protocol.h
> +include/qgpgme/qgpgme_export.h
> +include/qgpgme/qgpgme_version.h
> +include/qgpgme/qgpgmenewcryptoconfig.h
> +include/qgpgme/quickjob.h
> +include/qgpgme/receivekeysjob.h
> +include/qgpgme/refreshkeysjob.h
> +include/qgpgme/revokekeyjob.h
> +include/qgpgme/setprimaryuseridjob.h
> +include/qgpgme/signarchivejob.h
> +include/qgpgme/signencryptarchivejob.h
> +include/qgpgme/signencryptjob.h
> +include/qgpgme/signjob.h
> +include/qgpgme/signkeyjob.h
> +include/qgpgme/specialjob.h
> +include/qgpgme/tofupolicyjob.h
> +include/qgpgme/verifydetachedjob.h
> +include/qgpgme/verifyopaquejob.h
> +include/qgpgme/wkdlookupjob.h
> +include/qgpgme/wkdlookupresult.h
> +include/qgpgme/wkdrefreshjob.h
> +include/qgpgme/wkspublishjob.h
> diff --git a/security/gpgme/pkg/PLIST-qt6 b/security/gpgme/pkg/PLIST-qt6
> new file mode 100644
> index 00000000000..80c776b51ba
> --- /dev/null
> +++ b/security/gpgme/pkg/PLIST-qt6
> @@ -0,0 +1,6 @@
> +lib/cmake/QGpgmeQt6/
> +lib/cmake/QGpgmeQt6/QGpgmeQt6Config.cmake
> +lib/cmake/QGpgmeQt6/QGpgmeQt6ConfigVersion.cmake
> +@static-lib lib/libqgpgmeqt6.a
> +lib/libqgpgmeqt6.la
> +@lib lib/libqgpgmeqt6.so.${LIBqgpgmeqt6_VERSION}