summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-crypt/qca')
-rw-r--r--app-crypt/qca/Manifest2
-rw-r--r--app-crypt/qca/files/qca-2.3.7-use-sha256-not-sha1.patch29
-rw-r--r--app-crypt/qca/metadata.xml1
-rw-r--r--app-crypt/qca/qca-2.3.5.ebuild87
-rw-r--r--app-crypt/qca/qca-2.3.8.ebuild118
5 files changed, 149 insertions, 88 deletions
diff --git a/app-crypt/qca/Manifest b/app-crypt/qca/Manifest
index 64a596abf68c..6b18c45fa2b7 100644
--- a/app-crypt/qca/Manifest
+++ b/app-crypt/qca/Manifest
@@ -1 +1 @@
-DIST qca-2.3.5.tar.xz 741036 BLAKE2B 3948dc9b58a8ef03eec246cc14c7582d30e2513ea4b8f457a44d4a0c8f91fdb10af041f7cc342a0c8d9540a43cb47b4ca5b35641dfc3716c065fc3a1d6ff227a SHA512 656e44d4f30c3c0e1a8c04f2703484e3cff2d962b12c6ff9891b9f28127cd61ed30dcd248c059bf9066ac645bf53a9b7c14bdb413a7766c8b3f3d37426478d96
+DIST qca-2.3.8.tar.xz 761340 BLAKE2B 04ec8d2fb9c2c00b04407828c549a4bb7d8bf6cda2f1071078dd446b8fc90c89872b2a4dc838bcb4eb34132545365be210c0043bde95c084901661a874600b34 SHA512 ddb410214e8264955c2bb8c68d018e3826cb8ec48f8cc7207c2aec1c36051dc0501455b5049eff927dcf354603c0646f86ca10f2cebebe87789b3fd07a993b68
diff --git a/app-crypt/qca/files/qca-2.3.7-use-sha256-not-sha1.patch b/app-crypt/qca/files/qca-2.3.7-use-sha256-not-sha1.patch
new file mode 100644
index 000000000000..e16fa76f6c57
--- /dev/null
+++ b/app-crypt/qca/files/qca-2.3.7-use-sha256-not-sha1.patch
@@ -0,0 +1,29 @@
+From 123123453bd4f3ac87ca6dd641a9028e6e7a29f0 Mon Sep 17 00:00:00 2001
+From: Albert Vaca Cintora <albertvaka@gmail.com>
+Date: Mon, 24 Jul 2023 13:32:30 +0000
+Subject: [PATCH] Sign self-signed certs with SHA256
+
+---
+ plugins/qca-ossl/qca-ossl.cpp | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/plugins/qca-ossl/qca-ossl.cpp b/plugins/qca-ossl/qca-ossl.cpp
+index 893631c9..f340ee2f 100644
+--- a/plugins/qca-ossl/qca-ossl.cpp
++++ b/plugins/qca-ossl/qca-ossl.cpp
+@@ -3470,10 +3470,8 @@ public:
+ X509_EXTENSION *ex;
+
+ const EVP_MD *md;
+- if (priv.key()->type() == PKey::RSA)
+- md = EVP_sha1();
+- else if (priv.key()->type() == PKey::DSA)
+- md = EVP_sha1();
++ if (priv.key()->type() == PKey::RSA || priv.key()->type() == PKey::DSA)
++ md = EVP_sha256();
+ else
+ return false;
+
+--
+GitLab
+
diff --git a/app-crypt/qca/metadata.xml b/app-crypt/qca/metadata.xml
index c8d488050379..10256dd1de35 100644
--- a/app-crypt/qca/metadata.xml
+++ b/app-crypt/qca/metadata.xml
@@ -11,6 +11,7 @@
</maintainer>
<upstream>
<bugs-to>https://bugs.kde.org/</bugs-to>
+ <remote-id type="kde-invent">libraries/qca</remote-id>
</upstream>
<use>
<flag name="botan">Enable botan plugin</flag>
diff --git a/app-crypt/qca/qca-2.3.5.ebuild b/app-crypt/qca/qca-2.3.5.ebuild
deleted file mode 100644
index e46a6149285a..000000000000
--- a/app-crypt/qca/qca-2.3.5.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake kde.org qmake-utils
-
-DESCRIPTION="Qt Cryptographic Architecture (QCA)"
-HOMEPAGE="https://userbase.kde.org/QCA"
-SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="2"
-KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris"
-IUSE="botan debug doc examples gcrypt gpg logger nss pkcs11 sasl softstore +ssl test"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-qt/qtcore-5.14:5
- botan? ( dev-libs/botan:= )
- gcrypt? ( dev-libs/libgcrypt:= )
- gpg? ( app-crypt/gnupg )
- nss? ( dev-libs/nss )
- pkcs11? (
- >=dev-libs/openssl-1.1
- dev-libs/pkcs11-helper
- )
- sasl? ( dev-libs/cyrus-sasl:2 )
- ssl? ( >=dev-libs/openssl-1.1:= )
-"
-DEPEND="${RDEPEND}
- test? (
- dev-qt/qtnetwork:5
- dev-qt/qttest:5
- )
-"
-BDEPEND="
- doc? (
- app-doc/doxygen[dot]
- virtual/latex-base
- )
-"
-
-PATCHES=( "${FILESDIR}/${PN}-disable-pgp-test.patch" )
-
-qca_plugin_use() {
- echo -DWITH_${2:-$1}_PLUGIN=$(usex "$1")
-}
-
-src_configure() {
- local mycmakeargs=(
- -DQCA_FEATURE_INSTALL_DIR="${EPREFIX}$(qt5_get_mkspecsdir)/features"
- -DQCA_PLUGINS_INSTALL_DIR="${EPREFIX}$(qt5_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)
- )
- cmake_src_configure
-}
-
-src_test() {
- local -x QCA_PLUGIN_PATH="${BUILD_DIR}/lib/qca"
- cmake_src_test
-}
-
-src_install() {
- cmake_src_install
-
- if use doc; then
- pushd "${BUILD_DIR}" >/dev/null || die
- doxygen Doxyfile || die
- dodoc -r apidocs/html
- popd >/dev/null || die
- fi
-
- if use examples; then
- dodoc -r "${S}"/examples
- fi
-}
diff --git a/app-crypt/qca/qca-2.3.8.ebuild b/app-crypt/qca/qca-2.3.8.ebuild
new file mode 100644
index 000000000000..9b4f8839e2c5
--- /dev/null
+++ b/app-crypt/qca/qca-2.3.8.ebuild
@@ -0,0 +1,118 @@
+# 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"
+SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="2"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+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"
+ "${FILESDIR}/${PN}-2.3.7-use-sha256-not-sha1.patch" # git master
+)
+
+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
+}