commit:     e5fd69e7be7b26a7b7481453553393865d823906
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 18 21:41:58 2016 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sun Sep 18 21:42:08 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e5fd69e7

sci-biology/abyss: bump up to 1.9.0, tweak for gcc-6, bug #594254

On gcc-6 build failed as:
```
    In file included from AssemblyAlgorithms.cpp:4:0:
    ../DataLayer/FastaReader.h: In member function ‘FastaReader::operator 
void*() const’:
    ../DataLayer/FastaReader.h:49:35: error: cannot convert ‘std::istream {aka 
std::basic_istream<char>}’ to ‘void*’ ...
       operator void*() const { return m_in; }
                                       ^~~~
```

In the following source:
```c++
   static bool existFile(const char* f)
   {
        ifstream file(f);
        return file;
   }

```

c++98 provides file->operator void*()
c++11 provides file->explicit operator bool()

Hence the failure on c++11.

The change adds explicit casts around ifstream.

Reported-by: Toralf Förster
Bug: https://bugs.gentoo.org/594254

Package-Manager: portage-2.3.0

 sci-biology/abyss/Manifest                         |  1 +
 sci-biology/abyss/abyss-1.9.0.ebuild               | 53 ++++++++++++++++++++++
 .../abyss/files/abyss-1.9.0-ac_prog_ar.patch       | 18 ++++++++
 sci-biology/abyss/files/abyss-1.9.0-gcc-6.patch    | 34 ++++++++++++++
 4 files changed, 106 insertions(+)

diff --git a/sci-biology/abyss/Manifest b/sci-biology/abyss/Manifest
index 9284afa..e995775 100644
--- a/sci-biology/abyss/Manifest
+++ b/sci-biology/abyss/Manifest
@@ -1,2 +1,3 @@
 DIST abyss-1.3.3.tar.gz 621480 SHA256 
60396e2c8813952ceb1c66a3ad7c87eda984aa1e4952a14265217d9f639706a0 SHA512 
4ec7fdd24bdb1e3d66e2bda50929122ff347107010701703e81ca1609fb1b4913c713991b3fe84a48ccfbc069e126f4f4120aafbab81e54e567a95a2f1099fb2
 WHIRLPOOL 
35f6fdfe60b70316e67bcbbb0a9c67e952302333e9ec71d893f2de7a94482dca1a604dc8cfef1ecee49e464244bb5df7469a8ad7bdc37bd54ff455b0f75b7914
 DIST abyss-1.3.6.tar.gz 678880 SHA256 
4432a8b5046bdcb548b6f1b22069a6cade4dea26fc6f83ad5467548e4f3e7c95 SHA512 
2c6d72e0227c4af2d5740a989168ad35a84b9236dc53b65a29a010c4e5f77e5c4bfaa38bfaa2f14fd530ae6df204294ff167bd40e79f61e8bad6a7489bf34ace
 WHIRLPOOL 
0677b1fd4090ba155fb876c0047a1ccd2ec2e220950e1e9940e1f3df05ef0abd3ba2e3dbabd500d6fab39a8f7d94e02e0a07410934733682a70fa605d2a8bc07
+DIST abyss-1.9.0.tar.gz 985480 SHA256 
82e4050766a9c7fb87fd736f94724a02388efb1df847b40870a0fbf842917239 SHA512 
d9da19f004bb97f9301f3be83ceb5361eb70f42139a1ef17129de99e03bda5de7680d718d76aed26d26f24c1d26c37e050801ff343acad007b76d2214955b83f
 WHIRLPOOL 
bd322afa9bf99a53aec177c79ca9618f39043cda606eb4e3d5dcfb46c26298d218fc154e2c46efadac59febb69dd625fe597101a1efbccc62ab8228b555596cc

diff --git a/sci-biology/abyss/abyss-1.9.0.ebuild 
b/sci-biology/abyss/abyss-1.9.0.ebuild
new file mode 100644
index 00000000..c32b477
--- /dev/null
+++ b/sci-biology/abyss/abyss-1.9.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="Assembly By Short Sequences - a de novo, parallel, paired-end 
sequence assembler"
+HOMEPAGE="http://www.bcgsc.ca/platform/bioinfo/software/abyss/";
+SRC_URI="https://github.com/bcgsc/abyss/archive/1.9.0.tar.gz -> ${P}.tar.gz"
+
+LICENSE="abyss"
+SLOT="0"
+IUSE="+mpi openmp misc-haskell"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+       dev-cpp/sparsehash
+       dev-libs/boost
+       misc-haskell? ( dev-libs/gmp:0=
+                       virtual/libffi:0=
+       )
+       mpi? ( virtual/mpi )
+"
+DEPEND="${RDEPEND}
+       misc-haskell? ( dev-lang/ghc
+                       dev-haskell/mmap )
+"
+
+# todo: --enable-maxk=N configure option
+# todo: fix automagic mpi toggling
+
+PATCHES=(
+       "${FILESDIR}"/${P}-ac_prog_ar.patch
+       "${FILESDIR}"/${P}-gcc-6.patch
+)
+
+src_prepare() {
+       default
+       tc-export AR
+       sed -i -e "s/-Werror//" configure.ac || die #365195
+       sed -i -e "/dist_pkgdoc_DATA/d" Makefile.am || die
+       eautoreconf
+}
+
+src_configure() {
+       # disable building haskell tool Misc/samtobreak
+       # unless request by user: bug #534412
+       use misc-haskell || export ac_cv_prog_ac_ct_GHC=
+
+       econf $(use_enable openmp)
+}

diff --git a/sci-biology/abyss/files/abyss-1.9.0-ac_prog_ar.patch 
b/sci-biology/abyss/files/abyss-1.9.0-ac_prog_ar.patch
new file mode 100644
index 00000000..158e9b1
--- /dev/null
+++ b/sci-biology/abyss/files/abyss-1.9.0-ac_prog_ar.patch
@@ -0,0 +1,18 @@
+ configure.ac | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 9d4bb66..aa94364 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -12,6 +12,10 @@ AC_PROG_CPP
+ AC_PROG_CXX
+ AC_PROG_INSTALL
+ AC_PROG_RANLIB
++AN_MAKEVAR([AR], [AC_PROG_AR])
++AN_PROGRAM([ar], [AC_PROG_AR])
++AC_DEFUN([AC_PROG_AR], [AC_CHECK_TOOL(AR, ar, :)])
++AC_PROG_AR
+ AC_CHECK_TOOL(GHC, ghc)
+ AM_CONDITIONAL([HAVE_GHC], [test "$GHC"])
+ 

diff --git a/sci-biology/abyss/files/abyss-1.9.0-gcc-6.patch 
b/sci-biology/abyss/files/abyss-1.9.0-gcc-6.patch
new file mode 100644
index 00000000..49a30f9
--- /dev/null
+++ b/sci-biology/abyss/files/abyss-1.9.0-gcc-6.patch
@@ -0,0 +1,34 @@
+diff --git a/DataBase/db-csv.cc b/DataBase/db-csv.cc
+index 05cac19..48e3b44 100644
+--- a/DataBase/db-csv.cc
++++ b/DataBase/db-csv.cc
+@@ -18,11 +18,11 @@ static const char TABLE_LIST[] =
+ typedef vector<string> vs;
+ 
+ static bool existFile(const char* f)
+ {
+       ifstream file(f);
+-      return file;
++      return bool(file);
+ }
+ 
+ template <typename D>
+ static bool existTable(
+               D& db, const string& t)
+diff --git a/SimpleGraph/SimpleGraph.cpp b/SimpleGraph/SimpleGraph.cpp
+index 373ec70..0a9ebd3 100644
+--- a/SimpleGraph/SimpleGraph.cpp
++++ b/SimpleGraph/SimpleGraph.cpp
+@@ -645,11 +645,11 @@ static void* worker(void* pArg)
+       for (;;) {
+               /** Lock the input stream. */
+               static pthread_mutex_t inMutex = PTHREAD_MUTEX_INITIALIZER;
+               pthread_mutex_lock(&inMutex);
+               EstimateRecord er;
+-              bool good = (*arg.in) >> er;
++              bool good = bool((*arg.in) >> er);
+               pthread_mutex_unlock(&inMutex);
+               if (!good)
+                       break;
+ 
+               // Flip the anterior distance estimates.

Reply via email to