summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2016-09-18 15:07:37 +0200
committerDavid Seifert <soap@gentoo.org>2016-09-18 15:08:10 +0200
commitcf1f89cf9056c80498a07796b28092671688d316 (patch)
tree011e9a34ceba9522b4086d60f453e4925ad5f888
parentdfc1124c072ceff000378ba578489e437b091340 (diff)
downloadgentoo-cf1f89cf9056c80498a07796b28092671688d316.tar.gz
gentoo-cf1f89cf9056c80498a07796b28092671688d316.tar.xz
net-libs/wvstreams: Allow for compiling with GCC 6
Gentoo-bug: 594058 * Add missing slot operators Package-Manager: portage-2.3.0
-rw-r--r--net-libs/wvstreams/files/wvstreams-4.6.1-fix-c++14.patch36
-rw-r--r--net-libs/wvstreams/wvstreams-4.6.1-r3.ebuild9
2 files changed, 41 insertions, 4 deletions
diff --git a/net-libs/wvstreams/files/wvstreams-4.6.1-fix-c++14.patch b/net-libs/wvstreams/files/wvstreams-4.6.1-fix-c++14.patch
new file mode 100644
index 00000000000..b2c2efd5624
--- /dev/null
+++ b/net-libs/wvstreams/files/wvstreams-4.6.1-fix-c++14.patch
@@ -0,0 +1,36 @@
+Fix building with C++14, which errors out due to explicit operator bool() conversion
+See also: https://bugs.gentoo.org/show_bug.cgi?id=594058
+
+--- a/streams/wvstream.cc
++++ b/streams/wvstream.cc
+@@ -907,9 +907,9 @@
+
+ if (forceable)
+ {
+- si.wants.readable = readcb;
+- si.wants.writable = writecb;
+- si.wants.isexception = exceptcb;
++ si.wants.readable = static_cast<bool>(readcb);
++ si.wants.writable = static_cast<bool>(writecb);
++ si.wants.isexception = static_cast<bool>(exceptcb);
+ }
+ else
+ {
+@@ -1019,7 +1019,7 @@
+
+ IWvStream::SelectRequest WvStream::get_select_request()
+ {
+- return IWvStream::SelectRequest(readcb, writecb, exceptcb);
++ return IWvStream::SelectRequest(static_cast<bool>(readcb), static_cast<bool>(writecb), static_cast<bool>(exceptcb));
+ }
+
+
+@@ -1107,7 +1107,7 @@
+ // inefficient, because if the alarm was expired then pre_select()
+ // returned true anyway and short-circuited the previous select().
+ TRACE("hello-%p\n", this);
+- return !alarm_was_ticking || select(0, readcb, writecb, exceptcb);
++ return !alarm_was_ticking || select(0, static_cast<bool>(readcb), static_cast<bool>(writecb), static_cast<bool>(exceptcb));
+ }
+
+
diff --git a/net-libs/wvstreams/wvstreams-4.6.1-r3.ebuild b/net-libs/wvstreams/wvstreams-4.6.1-r3.ebuild
index 394d4d03dc0..33711e87b1e 100644
--- a/net-libs/wvstreams/wvstreams-4.6.1-r3.ebuild
+++ b/net-libs/wvstreams/wvstreams-4.6.1-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -21,10 +21,10 @@ RESTRICT="test"
#It'll take a larger patching effort to get it extracted, since upstream integrated it
#more tightly this time. Probably for the better since upstream xplc seems dead.
-RDEPEND="sys-libs/readline
+RDEPEND="sys-libs/readline:0=
sys-libs/zlib
dbus? ( >=sys-apps/dbus-1.4.20 )
- dev-libs/openssl:0
+ dev-libs/openssl:0=
pam? ( virtual/pam )"
DEPEND="${RDEPEND}
virtual/pkgconfig
@@ -48,7 +48,8 @@ src_prepare() {
"${FILESDIR}"/${P}-parallel-make.patch \
"${FILESDIR}"/${P}-openssl-1.0.0.patch \
"${FILESDIR}"/${P}-glibc212.patch \
- "${FILESDIR}"/${P}-gcc47.patch
+ "${FILESDIR}"/${P}-gcc47.patch \
+ "${FILESDIR}"/${P}-fix-c++14.patch
sed -i \
-e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' \