net-libs/wvstreams: Allow for compiling with GCC 6
authorDavid Seifert <soap@gentoo.org>
Sun, 18 Sep 2016 13:07:37 +0000 (15:07 +0200)
committerDavid Seifert <soap@gentoo.org>
Sun, 18 Sep 2016 13:08:10 +0000 (15:08 +0200)
Gentoo-bug: 594058
* Add missing slot operators

Package-Manager: portage-2.3.0

net-libs/wvstreams/files/wvstreams-4.6.1-fix-c++14.patch [new file with mode: 0644]
net-libs/wvstreams/wvstreams-4.6.1-r3.ebuild

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 (file)
index 0000000..b2c2efd
--- /dev/null
@@ -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));
+ }
+ 
+ 
index 394d4d03dc020103eb4308c8803e16e2dc17abe2..33711e87b1ee6c4a0568ffa71d207dca619d6ea4 100644 (file)
@@ -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:' \