commit:     ad08b6df1f91d90229874830d4209f5557a314c0
Author:     Kacper KoƂodziej <kacper <AT> kolodziej <DOT> in>
AuthorDate: Mon Sep 19 22:12:59 2016 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Sep 20 21:06:25 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ad08b6df

sci-biology/iqpnni: fix cpp14 compilation; bug #594332

Closes: https://github.com/gentoo/gentoo/pull/2365

Signed-off-by: David Seifert <soap <AT> gentoo.org>

 sci-biology/iqpnni/files/iqpnni-3.3.2-cpp14.patch | 48 +++++++++++++++++++++++
 sci-biology/iqpnni/iqpnni-3.3.2.ebuild            |  6 +++
 2 files changed, 54 insertions(+)

diff --git a/sci-biology/iqpnni/files/iqpnni-3.3.2-cpp14.patch 
b/sci-biology/iqpnni/files/iqpnni-3.3.2-cpp14.patch
new file mode 100644
index 00000000..1249516
--- /dev/null
+++ b/sci-biology/iqpnni/files/iqpnni-3.3.2-cpp14.patch
@@ -0,0 +1,48 @@
+Fix problems with compilation in C++14 (GCC 6.x). Changes in iostream library
+caused that comparison of istream to 0 or NULL is unavailable.
+Gentoo bug: https://bugs.gentoo.org/show_bug.cgi?id=594332
+
+--- a/src/interface.cpp
++++ b/src/interface.cpp
+@@ -1340,7 +1340,7 @@
+ 
+ 
+       int isExistedFile_ = 1;
+-      if (existedFile_ == 0)
++      if (!existedFile_)
+               isExistedFile_ = 0;
+ 
+       existedFile_.close ();
+--- a/src/iqp.cpp
++++ b/src/iqp.cpp
+@@ -508,7 +508,7 @@
+               if (in_pam.tree_file != NULL) {
+                       std::ifstream userTreeFile_;
+                       userTreeFile_.open (in_pam.tree_file);
+-                      if (userTreeFile_ != 0) {
++                      if (userTreeFile_) {
+                               initialTree_.readFile (in_pam.tree_file);
+                               initialTree_.createUrTree ();
+                               hasInitTree = true;
+--- a/src/main.cpp
++++ b/src/main.cpp
+@@ -118,7 +118,7 @@
+ 
+       ifstream in;
+       in.open (boottree_file_name.c_str());
+-      if (in == 0)
++      if (!in)
+               Utl::announceError ("Cannot open the user tree file ...");
+ 
+       int num_tree = 0;
+--- a/src/usertree.cpp
++++ b/src/usertree.cpp
+@@ -94,7 +94,7 @@
+ void UserTree::readFile (const char *userTreeFile) {
+       ifstream in;
+       in.open (userTreeFile);
+-      if (in == 0)
++      if (!in)
+               Utl::announceError ("Cannot open the user tree file ...");
+ 
+       readFile(in);

diff --git a/sci-biology/iqpnni/iqpnni-3.3.2.ebuild 
b/sci-biology/iqpnni/iqpnni-3.3.2.ebuild
index e9939ef..d02a47e 100644
--- a/sci-biology/iqpnni/iqpnni-3.3.2.ebuild
+++ b/sci-biology/iqpnni/iqpnni-3.3.2.ebuild
@@ -4,6 +4,8 @@
 
 EAPI=4
 
+inherit eutils
+
 DESCRIPTION="Important Quartet Puzzling and NNI Operation"
 HOMEPAGE="http://www.cibiv.at/software/iqpnni/";
 SRC_URI="http://www.cibiv.at/software/iqpnni/${P}.tar.gz";
@@ -16,6 +18,10 @@ IUSE="doc"
 DEPEND=""
 RDEPEND="${DEPEND}"
 
+src_prepare() {
+       epatch "${FILESDIR}/${P}-cpp14.patch" # bug #594332
+}
+
 src_install() {
        dobin src/iqpnni
 

Reply via email to