public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Quentin Retornaz" <gentoo@retornaz.com>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/proj/libressl:master commit in: app-crypt/qca/files/, app-crypt/qca/
Date: Sun,  5 Jun 2022 01:46:30 +0000 (UTC)	[thread overview]
Message-ID: <1654393535.5af83b8575d6b469c6fac13d87c6e8d34c87da51.quentin@gentoo> (raw)

commit:     5af83b8575d6b469c6fac13d87c6e8d34c87da51
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Sat Jun  4 04:26:09 2022 +0000
Commit:     Quentin Retornaz <gentoo <AT> retornaz <DOT> com>
CommitDate: Sun Jun  5 01:45:35 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=5af83b85

app-crypt/qca: Updated for version 2.3.4

Signed-off-by: orbea <orbea <AT> riseup.net>
Signed-off-by: Quentin Retornaz <gentoo <AT> retornaz.com>

 app-crypt/qca/Manifest                       |   1 +
 app-crypt/qca/files/qca-2.3.4-libressl.patch | 103 +++++++++++++++++++++++++++
 app-crypt/qca/metadata.xml                   |  45 ++++++------
 app-crypt/qca/qca-2.3.4.ebuild               |  85 ++++++++++++++++++++++
 4 files changed, 211 insertions(+), 23 deletions(-)

diff --git a/app-crypt/qca/Manifest b/app-crypt/qca/Manifest
index df985ae..a5a57d8 100644
--- a/app-crypt/qca/Manifest
+++ b/app-crypt/qca/Manifest
@@ -1,2 +1,3 @@
 DIST qca-2.3.0.tar.xz 729504 BLAKE2B 71cf9dfae00066c14e1055da1fa1a8e1210f538b1addfde1b99a9b26b1e8f7dd61e289d0f505b5ec04d5f4745216d4fd0f8be8f8de9e9cbf74123907ba703d0e SHA512 ca9251868e073834562fa62ffc64b3e7817c9ddadc6bc3fb99cf8b5c8d859969562170a98874be9590c617b2dd8e5590d2c83792554f54bb880c677902db22fe
 DIST qca-2.3.1.tar.xz 725984 BLAKE2B a99121dd95822ef5e1057dc9ad9250bb14486f42b0571936453644bc7c5649f16cbc918fa04d4a5af2c62bc35cc672159a84e27a86e685cfe320518a42076052 SHA512 092704a8d7c5973f05c82584ea55b4f8f874965aea943277e50fde873913a9bdad6a51ea74fc0036bbb632a13141cb4c030504229c06779890286205929f6021
+DIST qca-2.3.4.tar.xz 737072 BLAKE2B 64e698135f02bf115269203d44a53d40449be1620487340551c1e45f66f042132beb2cfa2363d1249f92de3ffd670f1807219cb3ce3d6e7c05afd8c22242b703 SHA512 af27338b5c018d39c8c745b63691dec3914e29ff79347ab338f4391ee1dc9832d158b222bc9ef6c7681cf4b2893a38829a4daadf1d53622d6947de2efeb880a8

diff --git a/app-crypt/qca/files/qca-2.3.4-libressl.patch b/app-crypt/qca/files/qca-2.3.4-libressl.patch
new file mode 100644
index 0000000..8bee8ad
--- /dev/null
+++ b/app-crypt/qca/files/qca-2.3.4-libressl.patch
@@ -0,0 +1,103 @@
+From aa07e1eacdbfeefa5ff21c5d7e45ce9e02e91dbb Mon Sep 17 00:00:00 2001
+From: Stefan Strogin <steils@gentoo.org>
+Date: Fri, 3 Jun 2022 21:11:45 -0700
+Subject: [PATCH] LibreSSL 3.0.x support
+
+---
+ plugins/qca-ossl/qca-ossl.cpp | 25 ++++++++++++++++++++++++-
+ 1 file changed, 24 insertions(+), 1 deletion(-)
+
+diff --git a/plugins/qca-ossl/qca-ossl.cpp b/plugins/qca-ossl/qca-ossl.cpp
+index b2c5d3d..79775cd 100644
+--- a/plugins/qca-ossl/qca-ossl.cpp
++++ b/plugins/qca-ossl/qca-ossl.cpp
+@@ -44,7 +44,13 @@
+ #include <openssl/provider.h>
+ #endif
+ 
++#ifndef RSA_F_RSA_OSSL_PRIVATE_DECRYPT
++#define RSA_F_RSA_OSSL_PRIVATE_DECRYPT RSA_F_RSA_EAY_PRIVATE_DECRYPT
++#endif
++
++#ifndef LIBRESSL_VERSION_NUMBER
+ #include <openssl/kdf.h>
++#endif
+ 
+ using namespace QCA;
+ 
+@@ -1254,6 +1260,7 @@ public:
+ protected:
+ };
+ 
++#ifndef LIBRESSL_VERSION_NUMBER
+ class opensslHkdfContext : public HKDFContext
+ {
+     Q_OBJECT
+@@ -1286,6 +1293,7 @@ public:
+         return out;
+     }
+ };
++#endif // LIBRESSL_VERSION_NUMBER
+ 
+ class opensslHMACContext : public MACContext
+ {
+@@ -4993,7 +5001,11 @@ public:
+         case TLS::TLS_v1:
+             ctx = SSL_CTX_new(TLS_client_method());
+             SSL_CTX_set_min_proto_version(ctx, TLS1_VERSION);
++#ifdef TLS1_3_VERSION
+             SSL_CTX_set_max_proto_version(ctx, TLS1_3_VERSION);
++#else
++            SSL_CTX_set_max_proto_version(ctx, TLS1_2_VERSION);
++#endif
+             break;
+         case TLS::DTLS_v1:
+         default:
+@@ -5014,7 +5026,11 @@ public:
+         QStringList cipherList;
+         for (int i = 0; i < sk_SSL_CIPHER_num(sk); ++i) {
+             const SSL_CIPHER *thisCipher = sk_SSL_CIPHER_value(sk, i);
++#ifndef LIBRESSL_VERSION_NUMBER
+             cipherList += QString::fromLatin1(SSL_CIPHER_standard_name(thisCipher));
++#else
++            cipherList += QString::fromLatin1(SSL_CIPHER_get_name(thisCipher));
++#endif
+         }
+         sk_SSL_CIPHER_free(sk);
+ 
+@@ -5386,8 +5402,11 @@ public:
+             qDebug("unexpected version response");
+             sessInfo.version = TLS::TLS_v1;
+         }
+-
++#ifndef LIBRESSL_VERSION_NUMBER
+         sessInfo.cipherSuite = QString::fromLatin1(SSL_CIPHER_standard_name(SSL_get_current_cipher(ssl)));
++#else
++        sessInfo.cipherSuite = QString::fromLatin1(SSL_CIPHER_get_name(SSL_get_current_cipher(ssl)));
++#endif
+ 
+         sessInfo.cipherMaxBits = SSL_get_cipher_bits(ssl, &(sessInfo.cipherBits));
+ 
+@@ -6687,7 +6706,9 @@ public:
+ #endif
+         list += QStringLiteral("pbkdf1(sha1)");
+         list += QStringLiteral("pbkdf2(sha1)");
++#ifndef LIBRESSL_VERSION_NUMBER
+         list += QStringLiteral("hkdf(sha256)");
++#endif // LIBRESSL_VERSION_NUMBER
+         list += QStringLiteral("pkey");
+         list += QStringLiteral("dlgroup");
+         list += QStringLiteral("rsa");
+@@ -6756,8 +6777,10 @@ public:
+ #endif
+         else if (type == QLatin1String("pbkdf2(sha1)"))
+             return new opensslPbkdf2Context(this, type);
++#ifndef LIBRESSL_VERSION_NUMBER
+         else if (type == QLatin1String("hkdf(sha256)"))
+             return new opensslHkdfContext(this, type);
++#endif // LIBRESSL_VERSION_NUMBER
+         else if (type == QLatin1String("hmac(md5)"))
+             return new opensslHMACContext(EVP_md5(), this, type);
+         else if (type == QLatin1String("hmac(sha1)"))
+-- 
+2.35.1

diff --git a/app-crypt/qca/metadata.xml b/app-crypt/qca/metadata.xml
index dff1320..c8d4880 100644
--- a/app-crypt/qca/metadata.xml
+++ b/app-crypt/qca/metadata.xml
@@ -1,26 +1,25 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
-<maintainer type="project">
-	<email>crypto@gentoo.org</email>
-	<name>Crypto</name>
-</maintainer>
-<maintainer type="project">
-	<email>qt@gentoo.org</email>
-	<name>Gentoo Qt Project</name>
-</maintainer>
-<maintainer type="project">
-	<email>kde@gentoo.org</email>
-	<name>Gentoo KDE Project</name>
-</maintainer>
-<use>
-	<flag name="botan">Enable botan plugin</flag>
-	<flag name="gcrypt">Enable gcrypt plugin</flag>
-	<flag name="gpg">Enable GnuPG plugin</flag>
-	<flag name="logger">Enable logger plugin</flag>
-	<flag name="nss">Enable NSS plugin</flag>
-	<flag name="pkcs11">Enable PKCS#11 plugin</flag>
-	<flag name="sasl">Enable SASL plugin</flag>
-	<flag name="softstore">Enable softstore plugin</flag>
-</use>
+	<maintainer type="project">
+		<email>qt@gentoo.org</email>
+		<name>Gentoo Qt Project</name>
+	</maintainer>
+	<maintainer type="project">
+		<email>kde@gentoo.org</email>
+		<name>Gentoo KDE Project</name>
+	</maintainer>
+	<upstream>
+		<bugs-to>https://bugs.kde.org/</bugs-to>
+	</upstream>
+	<use>
+		<flag name="botan">Enable botan plugin</flag>
+		<flag name="gcrypt">Enable gcrypt plugin</flag>
+		<flag name="gpg">Enable GnuPG plugin</flag>
+		<flag name="logger">Enable logger plugin</flag>
+		<flag name="nss">Enable NSS plugin</flag>
+		<flag name="pkcs11">Enable PKCS#11 plugin</flag>
+		<flag name="sasl">Enable SASL plugin</flag>
+		<flag name="softstore">Enable softstore plugin</flag>
+	</use>
 </pkgmetadata>

diff --git a/app-crypt/qca/qca-2.3.4.ebuild b/app-crypt/qca/qca-2.3.4.ebuild
new file mode 100644
index 0000000..32e9394
--- /dev/null
+++ b/app-crypt/qca/qca-2.3.4.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2021 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 ~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 )"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-disable-pgp-test.patch"
+	"${FILESDIR}/${P}-libressl.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
+}


             reply	other threads:[~2022-06-05  1:46 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-05  1:46 Quentin Retornaz [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-07-26 15:23 [gentoo-commits] repo/proj/libressl:master commit in: app-crypt/qca/files/, app-crypt/qca/ orbea
2023-07-12 19:14 orbea
2022-06-05  1:46 Quentin Retornaz
2020-07-08  6:06 Stefan Strogin
2020-02-26  3:44 Stefan Strogin
2019-04-07 21:19 Stefan Strogin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1654393535.5af83b8575d6b469c6fac13d87c6e8d34c87da51.quentin@gentoo \
    --to=gentoo@retornaz.com \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox