public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Johannes Huber" <johu@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-crypt/qca/files/, app-crypt/qca/
Date: Tue, 19 Apr 2016 14:21:28 +0000 (UTC)	[thread overview]
Message-ID: <1461075671.48dfd5bed3c6b04af0752d085f0e852a1dd1d13f.johu@gentoo> (raw)

commit:     48dfd5bed3c6b04af0752d085f0e852a1dd1d13f
Author:     Johannes Huber <johu <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 19 14:18:48 2016 +0000
Commit:     Johannes Huber <johu <AT> gentoo <DOT> org>
CommitDate: Tue Apr 19 14:21:11 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=48dfd5be

app-crypt/qca: Fix build with libressl 2.3.0

Revision bump adds two upstream patch to fix build with
>=dev-libs/libressl-2.3.0.

Gentoo-bug: 573278
Reported-by: maurerpe <junk4me46806 <AT> yahoo.com>

Package-Manager: portage-2.2.28

 .../qca/files/qca-2.1.1-libressl-230-sha0.patch    |  48 ++++++++
 .../qca/files/qca-2.1.1-libressl-230-sslv3.patch   |  28 +++++
 app-crypt/qca/qca-2.1.1-r1.ebuild                  | 124 +++++++++++++++++++++
 3 files changed, 200 insertions(+)

diff --git a/app-crypt/qca/files/qca-2.1.1-libressl-230-sha0.patch b/app-crypt/qca/files/qca-2.1.1-libressl-230-sha0.patch
new file mode 100644
index 0000000..3e112c6
--- /dev/null
+++ b/app-crypt/qca/files/qca-2.1.1-libressl-230-sha0.patch
@@ -0,0 +1,48 @@
+commit 0dbed8eb38afd1561907a52283091c37e7b85156
+Author: Heiko Becker <heirecka@exherbo.org>
+Date:   Thu Sep 24 23:05:21 2015 +0200
+
+    qca-ossl: Fix build without support for SHA-0
+    
+    LibreSSL >= 2.3.0 removed support for SHA-0, so there's no EVP_sha
+    anymore.
+    Wikipedia says about SHA-0: "160-bit hash function published in 1993
+    under the name SHA. It was withdrawn shortly after publication due to
+    an undisclosed "significant flaw" and replaced by the slightly revised
+    version SHA-1.'
+    
+    REVIEW: 125387
+
+diff --git a/plugins/qca-ossl/CMakeLists.txt b/plugins/qca-ossl/CMakeLists.txt
+index 3124f02..cdeaeca 100644
+--- a/plugins/qca-ossl/CMakeLists.txt
++++ b/plugins/qca-ossl/CMakeLists.txt
+@@ -25,6 +25,13 @@ if(OPENSSL_FOUND)
+     message(WARNING "qca-ossl will be compiled without AES CTR mode encryption support")
+   endif(HAVE_OPENSSL_AES_CTR)
+ 
++  check_function_exists(EVP_sha HAVE_OPENSSL_SHA0)
++  if(HAVE_OPENSSL_SHA0)
++    add_definitions(-DHAVE_OPENSSL_SHA0)
++  else(HAVE_OPENSSL_SHA0)
++    message(WARNING "qca-ossl will be compiled without SHA-0 digest algorithm support")
++  endif(HAVE_OPENSSL_SHA0)
++
+   set(QCA_OSSL_SOURCES qca-ossl.cpp)
+ 
+   my_automoc( QCA_OSSL_SOURCES )
+diff --git a/plugins/qca-ossl/qca-ossl.cpp b/plugins/qca-ossl/qca-ossl.cpp
+index b34ecc1..61d9e43 100644
+--- a/plugins/qca-ossl/qca-ossl.cpp
++++ b/plugins/qca-ossl/qca-ossl.cpp
+@@ -7135,8 +7135,10 @@ public:
+ 			return new opensslInfoContext(this);
+ 		else if ( type == "sha1" )
+ 			return new opensslHashContext( EVP_sha1(), this, type);
++#ifdef HAVE_OPENSSL_SHA0
+ 		else if ( type == "sha0" )
+ 			return new opensslHashContext( EVP_sha(), this, type);
++#endif
+ 		else if ( type == "ripemd160" )
+ 			return new opensslHashContext( EVP_ripemd160(), this, type);
+ #ifdef HAVE_OPENSSL_MD2

diff --git a/app-crypt/qca/files/qca-2.1.1-libressl-230-sslv3.patch b/app-crypt/qca/files/qca-2.1.1-libressl-230-sslv3.patch
new file mode 100644
index 0000000..accefc4
--- /dev/null
+++ b/app-crypt/qca/files/qca-2.1.1-libressl-230-sslv3.patch
@@ -0,0 +1,28 @@
+commit 20a587d77636186edb044cd2b71d6d90fe98d232
+Author: Heiko Becker <heirecka@exherbo.org>
+Date:   Thu Sep 24 22:54:41 2015 +0200
+
+    qca-ossl: Fix build without SSLv3
+    
+    This fixes building with LibreSSL >= 2.3.0 which has removed support
+    for SSLv3 completely. As far as I know OpenSSL can be configured to
+    build without it, so it might be helpful there as well.
+    
+    REVIEW: 125386
+
+diff --git a/plugins/qca-ossl/qca-ossl.cpp b/plugins/qca-ossl/qca-ossl.cpp
+index cfb1e9f..b34ecc1 100644
+--- a/plugins/qca-ossl/qca-ossl.cpp
++++ b/plugins/qca-ossl/qca-ossl.cpp
+@@ -5403,9 +5403,11 @@ public:
+ 			ctx = SSL_CTX_new(SSLv2_client_method());
+ 			break;
+ #endif
++#ifndef OPENSSL_NO_SSL3_METHOD
+ 		case TLS::SSL_v3:
+ 			ctx = SSL_CTX_new(SSLv3_client_method());
+ 			break;
++#endif
+ 		case TLS::TLS_v1:
+ 			ctx = SSL_CTX_new(TLSv1_client_method());
+ 			break;

diff --git a/app-crypt/qca/qca-2.1.1-r1.ebuild b/app-crypt/qca/qca-2.1.1-r1.ebuild
new file mode 100644
index 0000000..158e45a
--- /dev/null
+++ b/app-crypt/qca/qca-2.1.1-r1.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit cmake-utils multibuild qmake-utils
+
+DESCRIPTION="Qt Cryptographic Architecture (QCA)"
+HOMEPAGE="http://delta.affinix.com/qca/"
+SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris"
+
+IUSE="botan debug doc examples gcrypt gpg libressl logger nss +openssl pkcs11 +qt4 qt5 sasl softstore test"
+REQUIRED_USE="|| ( qt4 qt5 )"
+
+RDEPEND="
+	!app-crypt/qca-cyrus-sasl
+	!app-crypt/qca-gnupg
+	!app-crypt/qca-logger
+	!app-crypt/qca-ossl
+	!app-crypt/qca-pkcs11
+	botan? ( dev-libs/botan )
+	gcrypt? ( dev-libs/libgcrypt:= )
+	gpg? ( app-crypt/gnupg )
+	nss? ( dev-libs/nss )
+	openssl? (
+		!libressl? ( >=dev-libs/openssl-1.0.1:0 )
+		libressl? ( dev-libs/libressl )
+	)
+	pkcs11? (
+		!libressl? ( dev-libs/openssl:0 )
+		libressl? ( dev-libs/libressl )
+		dev-libs/pkcs11-helper
+	)
+	qt4? ( dev-qt/qtcore:4 )
+	qt5? (
+		dev-qt/qtcore:5
+		dev-qt/qtconcurrent:5
+		dev-qt/qtnetwork:5
+	)
+	sasl? ( dev-libs/cyrus-sasl:2 )
+"
+DEPEND="${RDEPEND}
+	doc? ( app-doc/doxygen )
+	test? (
+		qt4? ( dev-qt/qttest:4 )
+		qt5? ( dev-qt/qttest:5 )
+	)
+"
+
+DOCS=( README TODO )
+
+PATCHES=(
+	"${FILESDIR}/${PN}-disable-pgp-test.patch"
+	"${FILESDIR}/${P}-libressl-230-sslv3.patch"
+	"${FILESDIR}/${P}-libressl-230-sha0.patch"
+)
+
+qca_plugin_use() {
+	echo -DWITH_${2:-$1}_PLUGIN=$(usex "$1")
+}
+
+pkg_setup() {
+	MULTIBUILD_VARIANTS=( $(usev qt4) $(usev qt5) )
+}
+
+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 openssl ossl)
+			$(qca_plugin_use pkcs11)
+			$(qca_plugin_use sasl cyrus-sasl)
+			$(qca_plugin_use softstore)
+			-DBUILD_TESTS=$(usex test)
+		)
+
+		if [[ ${MULTIBUILD_VARIANT} == qt4 ]]; then
+			mycmakeargs+=(-DQT4_BUILD=ON)
+		fi
+
+		cmake-utils_src_configure
+	}
+
+	multibuild_foreach_variant myconfigure
+}
+
+src_compile() {
+	multibuild_foreach_variant cmake-utils_src_compile
+}
+
+src_test() {
+	mytest() {
+		local -x QCA_PLUGIN_PATH="${BUILD_DIR}/lib/qca"
+		cmake-utils_src_test
+	}
+
+	multibuild_foreach_variant mytest
+}
+
+src_install() {
+	multibuild_foreach_variant cmake-utils_src_install
+
+	if use doc; then
+		pushd "${BUILD_DIR}" >/dev/null || die
+		doxygen Doxyfile.in || die
+		dodoc -r apidocs/html
+		popd >/dev/null || die
+	fi
+
+	if use examples; then
+		dodoc -r "${S}"/examples
+	fi
+}


             reply	other threads:[~2016-04-19 14:21 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-19 14:21 Johannes Huber [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-07-25  8:23 [gentoo-commits] repo/gentoo:master commit in: app-crypt/qca/files/, app-crypt/qca/ Andreas Sturmlechner
2023-04-13 18:50 Sam James
2021-08-09  5:57 Andreas Sturmlechner
2021-04-07  8:36 Andreas Sturmlechner
2021-03-05 10:52 Andreas Sturmlechner
2021-01-24 13:03 Andreas Sturmlechner
2018-06-06 15:11 Andreas Sturmlechner
2017-06-09 16:39 Johannes Huber
2017-03-21 10:42 Alon Bar-Lev
2015-11-10 16:29 Michael Palimaka
2015-09-24 19:14 Michael Palimaka

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=1461075671.48dfd5bed3c6b04af0752d085f0e852a1dd1d13f.johu@gentoo \
    --to=johu@gentoo.org \
    --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