commit:     58627f1617a3f5dcb5b2f1c771a266cc5fcafe94
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Wed Jul 26 14:39:29 2023 +0000
Commit:     orbea <orbea <AT> riseup <DOT> net>
CommitDate: Wed Jul 26 14:39:29 2023 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=58627f16

app-crypt/qca: add 2.3.7

Signed-off-by: orbea <orbea <AT> riseup.net>

 app-crypt/qca/Manifest                             |   1 +
 .../qca/files/qca-2.3.7-use-sha256-not-sha1.patch  |  29 +++++
 app-crypt/qca/qca-2.3.7.ebuild                     | 119 +++++++++++++++++++++
 3 files changed, 149 insertions(+)

diff --git a/app-crypt/qca/Manifest b/app-crypt/qca/Manifest
index dab7687..e75edf1 100644
--- a/app-crypt/qca/Manifest
+++ b/app-crypt/qca/Manifest
@@ -1 +1,2 @@
 DIST qca-2.3.6.tar.xz 745864 BLAKE2B 
a3a5955215504b5703db304f241ae9c0c9b243c280cacb6180f631b3259b5f9a8af1c08b233f70e8e4130ac2e957dc3d8a99817b4dec2df0fab41b39bc54f8c8
 SHA512 
018bde919df28cfc9e5d6c5ad30724199a1a17437022751fb92bfc1ce691d8a56c62b661526e346f5a0c5ff7ffd556499f2ee25efe9f8b1698b3f8eee480811c
+DIST qca-2.3.7.tar.xz 745880 BLAKE2B 
87a029a3cca93f14c764a105e8f0b3c2a32a39ab16ea34e60fe155712ecd351dcb8d67659228ad339db7e3b572ce8ca9c50b9cdc2a5bf8511b482329497843ee
 SHA512 
8932c3ea82378cacd408f787dbfd38a5ffe7a9a5e4c90a53a44b9a386c827f70b19094d4188d5ace8dc0a9c84caa4b242aa85967ef5948591e8d74d7cf3109f6

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 0000000..e16fa76
--- /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 <[email protected]>
+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/qca-2.3.7.ebuild b/app-crypt/qca/qca-2.3.7.ebuild
new file mode 100644
index 0000000..b20e26a
--- /dev/null
+++ b/app-crypt/qca/qca-2.3.7.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2023 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,test] )
+       )
+"
+BDEPEND="
+       doc? (
+               app-doc/doxygen[dot]
+               virtual/latex-base
+       )
+"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-2.3.4-libressl.patch"
+       "${FILESDIR}/${PN}-disable-pgp-test.patch"
+       "${FILESDIR}/${P}-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
+}

Reply via email to