summaryrefslogtreecommitdiff
path: root/app-crypt/qca
diff options
context:
space:
mode:
Diffstat (limited to 'app-crypt/qca')
-rw-r--r--app-crypt/qca/Manifest1
-rw-r--r--app-crypt/qca/qca-9999.ebuild114
2 files changed, 115 insertions, 0 deletions
diff --git a/app-crypt/qca/Manifest b/app-crypt/qca/Manifest
index a595f1285d3a..7db07082a4d9 100644
--- a/app-crypt/qca/Manifest
+++ b/app-crypt/qca/Manifest
@@ -2,4 +2,5 @@ AUX qca-2.3.7-use-sha256-not-sha1.patch 900 BLAKE2B cb801afc80c5bb6abeab3b283b49
AUX qca-disable-pgp-test.patch 446 BLAKE2B a98d5951d7b89c65787d7d586a5504949c51271ebe09c5e19b90a2e24f24fb6d03d6c1f76d7ad4234354bc2507cf7031c716b3b2bf8243b8c1d85065079dded4 SHA512 30bb6d31b9392166d6bbae39da2eeb1788ac9cccffb801b074468a3606a6e1a56d6a41ee276d3b8b8d39112bf6aea7025f07f4810bb835102bd00521ee9eb104
DIST qca-2.3.8.tar.xz 761340 BLAKE2B 04ec8d2fb9c2c00b04407828c549a4bb7d8bf6cda2f1071078dd446b8fc90c89872b2a4dc838bcb4eb34132545365be210c0043bde95c084901661a874600b34 SHA512 ddb410214e8264955c2bb8c68d018e3826cb8ec48f8cc7207c2aec1c36051dc0501455b5049eff927dcf354603c0646f86ca10f2cebebe87789b3fd07a993b68
EBUILD qca-2.3.8.ebuild 2609 BLAKE2B 327c07ac3aa40e2b24aca23c54cdd6d9fe2ef501ddcc2b2ac84365e89a8a99d1d383989a177a83cbe74e423de845e57d9c4d0269849b7d107b026f1a15592ec0 SHA512 12d4dbde617d9a9896ac926a4cce6ee1892ebe9f870e9d4fffbcabd9b305df864b17aac00aac5502da11c6d6d214fbfcbe8505466c073f603aafdcc8ffbced2f
+EBUILD qca-9999.ebuild 2395 BLAKE2B 7aa9f5f6879db83fdcfc7ba281e06ec0183182cad5ec251ef55d015d3cbb079c70bc1580401a786ca7b1b30d51700a6516edba807d7437f6e429bd9ccd9d9a95 SHA512 b13523d73d2c1f7d1a41ab3108a714c3d025b0170d3d10d38d06004cdbd2b544a959415bc03b5b178eb24ef9ea8c92f78f5faa205e7abb5db3ae026b1106398b
MISC metadata.xml 781 BLAKE2B 048fe4155a9e47f36bab098734fcfcf661377d017d0616351b7a11a83dd57cdaa2eec370fafdf2f41e5806f01a3934811181972aa232c1d5332a00af1402912c SHA512 65328a1acfdc05ea3491d7fb46a3fa340e467d33c4b81001745e8923ad2aa300cc7a3dfcc29e01afe1882abd18dd024d8ecc4e2c31a2bf5319608589730a37c1
diff --git a/app-crypt/qca/qca-9999.ebuild b/app-crypt/qca/qca-9999.ebuild
new file mode 100644
index 000000000000..84f1f7702688
--- /dev/null
+++ b/app-crypt/qca/qca-9999.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake kde.org multibuild out-of-source-utils qmake-utils
+
+DESCRIPTION="Qt Cryptographic Architecture (QCA)"
+HOMEPAGE="https://userbase.kde.org/QCA"
+
+LICENSE="LGPL-2.1"
+SLOT="2"
+KEYWORDS=""
+IUSE="botan debug doc examples gcrypt gpg logger nss pkcs11 +qt5 qt6 sasl softstore +ssl test"
+REQUIRED_USE="|| ( qt5 qt6 )"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ botan? ( dev-libs/botan:3= )
+ gcrypt? ( dev-libs/libgcrypt:= )
+ gpg? ( app-crypt/gnupg )
+ nss? ( dev-libs/nss )
+ pkcs11? (
+ >=dev-libs/openssl-1.1
+ dev-libs/pkcs11-helper
+ )
+ qt5? ( >=dev-qt/qtcore-5.14:5 )
+ qt6? (
+ dev-qt/qtbase:6
+ dev-qt/qt5compat:6
+ )
+ sasl? ( dev-libs/cyrus-sasl:2 )
+ ssl? ( >=dev-libs/openssl-1.1:= )
+"
+DEPEND="${RDEPEND}
+ test? (
+ qt5? (
+ dev-qt/qtnetwork:5
+ dev-qt/qttest:5
+ )
+ qt6? ( dev-qt/qtbase:6[network] )
+ )
+"
+BDEPEND="
+ doc? (
+ app-text/doxygen[dot]
+ virtual/latex-base
+ )
+"
+
+PATCHES=( "${FILESDIR}/${PN}-disable-pgp-test.patch" )
+
+qca_plugin_use() {
+ echo -DWITH_${2:-$1}_PLUGIN=$(usex "$1")
+}
+
+pkg_setup() {
+ MULTIBUILD_VARIANTS=( $(usev qt5) $(usev qt6) )
+}
+
+src_configure() {
+ myconfigure() {
+ local mycmakeargs=(
+ -DQCA_FEATURE_INSTALL_DIR="${EPREFIX}$(${MULTIBUILD_VARIANT}_get_mkspecsdir)/features"
+ -DQCA_PLUGINS_INSTALL_DIR="${EPREFIX}$(${MULTIBUILD_VARIANT}_get_plugindir)"
+ $(qca_plugin_use botan)
+ $(qca_plugin_use gcrypt)
+ $(qca_plugin_use gpg gnupg)
+ $(qca_plugin_use logger)
+ $(qca_plugin_use nss)
+ $(qca_plugin_use pkcs11)
+ $(qca_plugin_use sasl cyrus-sasl)
+ $(qca_plugin_use softstore)
+ $(qca_plugin_use ssl ossl)
+ -DBUILD_TESTS=$(usex test)
+ )
+ if [[ ${MULTIBUILD_VARIANT} == qt6 ]]; then
+ mycmakeargs+=( -DBUILD_WITH_QT6=ON )
+ else
+ mycmakeargs+=( -DBUILD_WITH_QT6=OFF )
+ fi
+ cmake_src_configure
+ }
+
+ multibuild_foreach_variant myconfigure
+}
+
+src_compile() {
+ multibuild_foreach_variant cmake_src_compile
+ if use doc; then
+ multibuild_for_best_variant cmake_build doc
+ fi
+}
+
+src_test() {
+ mytest() {
+ local -x QCA_PLUGIN_PATH="${BUILD_DIR}/lib/qca"
+ cmake_src_test
+ }
+ multibuild_foreach_variant mytest
+}
+
+src_install() {
+ multibuild_foreach_variant cmake_src_install
+
+ if use doc; then
+ multibuild_for_best_variant run_in_build_dir dodoc -r apidocs/html
+ fi
+
+ if use examples; then
+ dodoc -r "${S}"/examples
+ fi
+}