commit:     f9eef3fb840f1be97deb9b50a3fcd6363aa517ac
Author:     Stefan Strogin <steils <AT> gentoo <DOT> org>
AuthorDate: Mon Jun  3 13:35:17 2019 +0000
Commit:     Stefan Strogin <steils <AT> gentoo <DOT> org>
CommitDate: Mon Jun  3 13:36:47 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f9eef3fb

app-benchmarks/httperf: add patch for LibreSSL support

Closes: https://bugs.gentoo.org/684804
Package-Manager: Portage-2.3.67, Repoman-2.3.13
Signed-off-by: Stefan Strogin <steils <AT> gentoo.org>

 .../files/httperf-0.9.1_p20181111-libressl.patch   | 49 ++++++++++++++++++++++
 .../httperf/httperf-0.9.1_p20181111-r1.ebuild      | 42 +++++++++++++++++++
 2 files changed, 91 insertions(+)

diff --git 
a/app-benchmarks/httperf/files/httperf-0.9.1_p20181111-libressl.patch 
b/app-benchmarks/httperf/files/httperf-0.9.1_p20181111-libressl.patch
new file mode 100644
index 00000000000..e1c0c90fac0
--- /dev/null
+++ b/app-benchmarks/httperf/files/httperf-0.9.1_p20181111-libressl.patch
@@ -0,0 +1,49 @@
+From 1c4277eb9288c719b009aacb4bd71ca543f51cbd Mon Sep 17 00:00:00 2001
+From: Stefan Strogin <[email protected]>
+Date: Mon, 3 Jun 2019 16:18:21 +0300
+Subject: [PATCH] Use correct ifdefs for checking TLS 1.3
+
+TLS 1.3 is not ready yet in LibreSSL. Also there is a theoretical
+possibility of OpenSSL >=1.1.1 built without TLS 1.3 support
+
+Upstream-Status: Submitted
+[https://github.com/httperf/httperf/pull/66]
+Signed-off-by: Stefan Strogin <[email protected]>
+---
+ src/httperf.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/httperf.c b/src/httperf.c
+index af6f568..5dbba07 100755
+--- a/src/httperf.c
++++ b/src/httperf.c
+@@ -687,7 +687,7 @@ main(int argc, char **argv)
+                                 param.ssl_protocol = 5;
+                           else if (strcasecmp (optarg, "TLSv1.2") == 0 || 
strcasecmp (optarg, "TLSv1_2") == 0)
+                                 param.ssl_protocol = 6;
+-#if (OPENSSL_VERSION_NUMBER >= 0x10101000L)
++#ifdef TLS1_3_VERSION
+                             else if (strcasecmp (optarg, "TLSv1.3") == 0 || 
strcasecmp (optarg, "TLSv1_3") == 0)
+                                 param.ssl_protocol = 7;
+ #endif
+@@ -1104,7 +1104,7 @@ main(int argc, char **argv)
+                   SSL_CTX_set_options(ssl_ctx, SSL_OP_NO_SSLv2 | 
SSL_OP_NO_SSLv3 | SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1); break;
+ #endif
+ 
+-#if (OPENSSL_VERSION_NUMBER >= 0x10101000L)
++#ifdef TLS1_3_VERSION
+                     /* 7/TLSv1.3 */
+                   case 7:
+                     ssl_ctx = SSL_CTX_new (TLS_client_method ());
+@@ -1329,7 +1329,7 @@ main(int argc, char **argv)
+             case 4: printf (" --ssl-protocol=TLSv1.0"); break;
+           case 5: printf (" --ssl-protocol=TLSv1.1"); break;
+           case 6: printf (" --ssl-protocol=TLSv1.2"); break;
+-#if (OPENSSL_VERSION_NUMBER >= 0x10101000L)
++#ifdef TLS1_3_VERSION
+             case 7: printf (" --ssl-protocol=TLSv1.3"); break;
+ #endif
+         }
+-- 
+2.21.0
+

diff --git a/app-benchmarks/httperf/httperf-0.9.1_p20181111-r1.ebuild 
b/app-benchmarks/httperf/httperf-0.9.1_p20181111-r1.ebuild
new file mode 100644
index 00000000000..d340a5ce823
--- /dev/null
+++ b/app-benchmarks/httperf/httperf-0.9.1_p20181111-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+COMMIT="00bf5dab6fd284aa559f125964f5fe6dc0f23595"
+inherit autotools
+
+DESCRIPTION="A tool from HP for measuring web server performance"
+HOMEPAGE="https://github.com/httperf/httperf";
+SRC_URI="https://github.com/${PN}/${PN}/archive/${COMMIT}.tar.gz -> 
${P}.tar.gz"
+
+LICENSE="GPL-2+-with-openssl-exception"
+SLOT="0"
+KEYWORDS="~amd64 ~mips ~x86 ~amd64-linux ~x64-macos"
+IUSE="debug idleconn libressl"
+
+DEPEND="
+       idleconn? ( dev-libs/libevent:0= )
+       !libressl? ( dev-libs/openssl:0= )
+       libressl? ( dev-libs/libressl:0= )
+"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+PATCHES=( "${FILESDIR}"/${P}-libressl.patch )
+
+src_prepare() {
+       default
+       eautoreconf
+}
+
+src_configure() {
+       local myeconfargs=(
+               --bindir="${EPREFIX}"/usr/bin
+               $(use_enable debug)
+               $(use_enable idleconn)
+       )
+
+       econf "${myeconfargs[@]}"
+}

Reply via email to