app-benchmarks/httperf: add patch for LibreSSL support
authorStefan Strogin <steils@gentoo.org>
Mon, 3 Jun 2019 13:35:17 +0000 (16:35 +0300)
committerStefan Strogin <steils@gentoo.org>
Mon, 3 Jun 2019 13:36:47 +0000 (16:36 +0300)
Closes: https://bugs.gentoo.org/684804
Package-Manager: Portage-2.3.67, Repoman-2.3.13
Signed-off-by: Stefan Strogin <steils@gentoo.org>
app-benchmarks/httperf/files/httperf-0.9.1_p20181111-libressl.patch [new file with mode: 0644]
app-benchmarks/httperf/httperf-0.9.1_p20181111-r1.ebuild [new file with mode: 0644]

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 (file)
index 0000000..e1c0c90
--- /dev/null
@@ -0,0 +1,49 @@
+From 1c4277eb9288c719b009aacb4bd71ca543f51cbd Mon Sep 17 00:00:00 2001
+From: Stefan Strogin <steils@gentoo.org>
+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 <steils@gentoo.org>
+---
+ 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 (file)
index 0000000..d340a5c
--- /dev/null
@@ -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[@]}"
+}