commit:     5e6e183d8bca94b14d155524d8feeaaf4286e7dd
Author:     Martin Mokrejs <mmokrejs <AT> fold <DOT> natur <DOT> cuni <DOT> cz>
AuthorDate: Tue Sep 11 14:09:28 2018 +0000
Commit:     Martin Mokrejs <mmokrejs <AT> fold <DOT> natur <DOT> cuni <DOT> cz>
CommitDate: Tue Sep 11 14:09:28 2018 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=5e6e183d

sci-biology/amos: adjust to SLOTed jellyfish and drop qt4

Jellyfish resides in ${EPREFIX}/usr/include/jellyfish1/ now.

The package needed qt4 with qt3support enabled to compile
hawkeye utility. Let's try with qt5 core only.

Also enabling compilation of all utilities if they pass
configure checks.

Currently, jellyfish linking fails with some cxx linking error,
maybe my -lm or -lpthreads needs to be recompiled with gcc-8.2.0
too? Also, boot is somehow not picked up.

Bug: https://bugs.gentoo.org/show_bug.cgi?id=663110
Package-Manager: Portage-2.3.48, Repoman-2.3.10

 sci-biology/amos/amos-3.1.0-r2.ebuild              | 20 +++++++---
 sci-biology/amos/amos-9999.ebuild                  | 21 +++++++----
 .../files/amos-3.1.0-rename_to_jellyfish1.patch    | 43 ++++++++++++++++++++++
 3 files changed, 71 insertions(+), 13 deletions(-)

diff --git a/sci-biology/amos/amos-3.1.0-r2.ebuild 
b/sci-biology/amos/amos-3.1.0-r2.ebuild
index d4107d509..951f12c1b 100644
--- a/sci-biology/amos/amos-3.1.0-r2.ebuild
+++ b/sci-biology/amos/amos-3.1.0-r2.ebuild
@@ -16,13 +16,12 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
 LICENSE="Artistic"
 SLOT="0"
 KEYWORDS="~amd64 ~x86"
-IUSE="mpi qt4"
+IUSE="mpi qt5"
 
 DEPEND="
        mpi? ( virtual/mpi )
        dev-libs/boost
-       qt4? ( dev-qt/qtcore:4[qt3support]
-               dev-qt/qt3support:4 )
+       qt5? ( dev-qt/qtcore:5 )
        sci-biology/blat
        sci-biology/jellyfish:1"
 RDEPEND="${DEPEND}
@@ -36,13 +35,24 @@ MAKEOPTS+=" -j1"
 src_prepare() {
        epatch \
                "${FILESDIR}"/${P}-gcc-4.7.patch \
-               "${FILESDIR}"/${P}-goBambus2.py-indent-and-cleanup.patch
+               "${FILESDIR}"/${P}-goBambus2.py-indent-and-cleanup.patch \
+               "${FILESDIR}"/${P}-rename_to_jellyfish1.patch
        # $ gap-links
        # ERROR:  Could not open file  
LIBGUESTFS_PATH=/usr/share/guestfs/appliance/
        # $
+       sh ./bootstrap || die
+       default
+       eautoreconf
+       # prevent GCC 6 log pollution due to hash_map deprecation in C++11
+       # shutdown gcc-8.2.0 messages too
+       append-cxxflags -Wno-cpp -Wno-narrowing
 }
 
-#  --with-jellyfish        location of Jellyfish headers
+src_configure() {
+       local myconf
+       use X && myconf+=( --with-x )
+       econf ${myconf[@]} --with-jellyfish="${EPREFIX}"/usr/include 
--with-Boost-dir="${EPREFIX}"/usr/include --with-qmake-qt4=qmake --enable-all
+}
 
 src_install() {
        default

diff --git a/sci-biology/amos/amos-9999.ebuild 
b/sci-biology/amos/amos-9999.ebuild
index 55eb97e1a..923ac5978 100644
--- a/sci-biology/amos/amos-9999.ebuild
+++ b/sci-biology/amos/amos-9999.ebuild
@@ -19,13 +19,12 @@ 
EGIT_REPO_URI="git://amos.git.sourceforge.net/gitroot/amos/amos"
 LICENSE="Artistic"
 SLOT="0"
 KEYWORDS=""
-IUSE="mpi qt4"
+IUSE="mpi qt5 X"
 
 DEPEND="
        mpi? ( virtual/mpi )
        dev-libs/boost
-       qt4? ( dev-qt/qtcore:4[qt3support]
-               dev-qt/qt3support:4 )
+       qt5? ( dev-qt/qtcore:5 )
        sci-biology/blat
        sci-biology/jellyfish:1"
 RDEPEND="${DEPEND}
@@ -33,20 +32,26 @@ RDEPEND="${DEPEND}
        dev-perl/Statistics-Descriptive
        sci-biology/mummer"
 
-#  --with-jellyfish        location of Jellyfish headers
-
 # $ gap-links
 # ERROR:  Could not open file  LIBGUESTFS_PATH=/usr/share/guestfs/appliance/
 # $
 
 src_prepare() {
        epatch "${FILESDIR}"/"${P}"-fix-include-paths.patch
+       epatch "${FILESDIR}"/amos-3.1.0-rename_to_jellyfish1.patch
+       sh ./bootstrap || die
        default
        eautoreconf
 
-       # prevent GCC 6 log pollution due
-       # to hash_map deprecation in C++11
-       append-cxxflags -Wno-cpp
+       # prevent GCC 6 log pollution due to hash_map deprecation in C++11
+       # shutdown gcc-8.2.0 messages too
+       append-cxxflags -Wno-cpp -Wno-narrowing
+}
+
+src_configure() {
+       local myconf
+       use X && myconf+=( --with-x )
+       econf ${myconf[@]} --with-jellyfish="${EPREFIX}"/usr/include 
--with-Boost-dir="${EPREFIX}"/usr/include --with-qmake-qt4=qmake --enable-all
 }
 
 src_install() {

diff --git a/sci-biology/amos/files/amos-3.1.0-rename_to_jellyfish1.patch 
b/sci-biology/amos/files/amos-3.1.0-rename_to_jellyfish1.patch
new file mode 100644
index 000000000..4b52c5640
--- /dev/null
+++ b/sci-biology/amos/files/amos-3.1.0-rename_to_jellyfish1.patch
@@ -0,0 +1,43 @@
+--- config/amos.m4     2018-09-11 13:23:14.478444129 +0200
++++ config/amos.m4     2018-09-11 13:36:36.697612245 +0200
+@@ -695,15 +695,15 @@
+ else
+       jellyfish_unspecified=no
+ fi
+-if ! test -f "$jellyfish_dir/jellyfish/mer_counting.hpp"; then
++if ! test -f "$jellyfish_dir/jellyfish1/mer_counting.hpp"; then
+       if test $jellyfish_unspecified = no; then
+-              AC_MSG_ERROR([Could not find the file 
"$jellyfish_dir/jellyfish/compacted_hash.hpp"])
++              AC_MSG_ERROR([Could not find the file 
"$jellyfish_dir/jellyfish1/compacted_hash.hpp"])
+       fi
+       JELLYFISH_LDADD=
+       JELLYFISH_CPPFLAGS=
+       AC_MSG_RESULT([not found])
+ else
+-      JELLYFISH_LDADD="-ljellyfish -lpthread"
++      JELLYFISH_LDADD="-ljellyfish-1.1 -lpthread"
+       JELLYFISH_CPPFLAGS="-I $jellyfish_dir"
+       AC_DEFINE([WITH_JELLYFISH], [1], [Define to 1 if using Jellyfish])
+       cppflags_save="$CPPFLAGS"
+@@ -715,7 +715,7 @@
+       AC_LANG_PUSH([C++])
+       AC_LINK_IFELSE([
+               AC_LANG_PROGRAM([
+-#include <jellyfish/mer_counting.hpp>
++#include <jellyfish1/mer_counting.hpp>
+ #include <string>
+       ], [
+ std::string s;
+--- src/Align/kmer-cov-plot.cc 2018-09-11 13:23:15.079443556 +0200
++++ src/Align/kmer-cov-plot.cc 2018-09-11 13:36:36.831612096 +0200
+@@ -388,8 +388,8 @@
+ 
+ #ifdef WITH_JELLYFISH
+ 
+-#include <jellyfish/compacted_hash.hpp>
+-#include <jellyfish/mer_counting.hpp>
++#include <jellyfish1/compacted_hash.hpp>
++#include <jellyfish1/mer_counting.hpp>
+ 
+ // Assert that jellyfish is using the expected kmer representation
+ static void jellyfish_check()

Reply via email to