commit:     a5760c4470004861915035e9baf62ae5da7e8454
Author:     Martin Mokrejš <mmokrejs <AT> fold <DOT> natur <DOT> cuni <DOT> cz>
AuthorDate: Sat May 13 21:47:11 2017 +0000
Commit:     Martin Mokrejs <mmokrejs <AT> fold <DOT> natur <DOT> cuni <DOT> cz>
CommitDate: Sat May 13 21:47:11 2017 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=a5760c44

sci-biology/SPAdes: fix compile issue but drop KEYWORDS because of QA issues

Use patch from https://github.com/Homebrew/homebrew-science/pull/5616
The package install its own *.py files outside of PYTHON's site-packages/.
The "make install" procedure is flakey shellscript and there is no setup.py so 
we could
reuse common infrastructure for pythonic packages.
There are plenty of bundled 3rd-party apps, some of them compiling statically.

Package-Manager: Portage-2.3.5, Repoman-2.3.2

 sci-biology/SPAdes/SPAdes-3.10.1.ebuild            | 47 +++++++++++++++++-----
 .../files/SPAdes-3.10.1-fix-missing-include.patch  | 10 +++++
 2 files changed, 48 insertions(+), 9 deletions(-)

diff --git a/sci-biology/SPAdes/SPAdes-3.10.1.ebuild 
b/sci-biology/SPAdes/SPAdes-3.10.1.ebuild
index 36f724d83..73050c1e4 100644
--- a/sci-biology/SPAdes/SPAdes-3.10.1.ebuild
+++ b/sci-biology/SPAdes/SPAdes-3.10.1.ebuild
@@ -12,13 +12,13 @@ HOMEPAGE="http://bioinf.spbau.ru/en/spades";
 SRC_URI="
        http://spades.bioinf.spbau.ru/release${PV}/SPAdes-${PV}.tar.gz
        http://spades.bioinf.spbau.ru/release${PV}/manual.html -> 
${P}_manual.html
-       http://spades.bioinf.spbau.ru/release3.9.1/dipspades_manual.html -> 
${P}_dipspades_manual.html
-       http://spades.bioinf.spbau.ru/release3.9.1/rnaspades_manual.html -> 
${P}_rnaspades_manual.html
-       http://spades.bioinf.spbau.ru/release3.9.1/truspades_manual.html -> 
${P}_truspades_manual.html"
+       http://spades.bioinf.spbau.ru/release${PV}/dipspades_manual.html -> 
${P}_dipspades_manual.html
+       http://spades.bioinf.spbau.ru/release${PV}/rnaspades_manual.html -> 
${P}_rnaspades_manual.html
+       http://spades.bioinf.spbau.ru/release${PV}/truspades_manual.html -> 
${P}_truspades_manual.html"
 
 LICENSE="GPL-2"
 SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS=""
 IUSE=""
 
 DEPEND="
@@ -28,6 +28,26 @@ DEPEND="
        dev-libs/boost"
 RDEPEND="${DEPEND}"
 
+# BUG: "${S}"/ext/src/ contains plenty of bundled 3rd-party tools. Drop them 
all and properly DEPEND on their
+#      existing packages
+# nlopt
+# llvm
+# python_libs
+# bamtools
+# ConsensusCore
+# ssw
+# jemalloc
+# htrie
+# getopt_pp
+# cppformat
+# cityhash
+# samtools
+# bwa
+
+# BUG: "${S}"/ext/tools/ contains even two version of bwa
+# bwa-0.7.12
+# bwa-0.6.2
+
 pkg_pretend() {
        if [[ ${MERGE_TYPE} != binary ]]; then
                if [[ $(tc-getCXX) == *g++ ]] ; then
@@ -39,13 +59,22 @@ pkg_pretend() {
        fi
 }
 
-#src_compile(){
-#      # grr, it actually also installs the files into $DESTDIR but that is 
purged before pkg_qmerge starts
-#      PREFIX="${D}"/usr ./spades_compile.sh || die
-#}
+src_prepare(){
+       # https://github.com/Homebrew/homebrew-science/pull/5616
+       epatch "${FILESDIR}"/"${P}"-fix-missing-include.patch
+       cp -p spades_compile.sh spades_install.sh || die
+       sed -e 's/make install/#make install/;s/cd $PREFIX/#cd $PREFIX/' -i 
spades_compile.sh || die
+       default
+}
+
+src_compile(){
+       # grr, it actually also installs the files into $DESTDIR but that is 
purged before pkg_qmerge starts
+       PREFIX="${D}"/usr ./spades_compile.sh || die
+}
 
 src_install(){
-       PREFIX="${ED}"/usr ./spades_compile.sh || die
+       PREFIX="${ED}"/usr sh ./spades_install.sh || die
+       # BUG: move *.py files to standard site-packages/ subdirectories
        insinto /usr/share/"${PN}"
        dodoc "${DISTDIR}"/${P}_*manual.html
 }

diff --git a/sci-biology/SPAdes/files/SPAdes-3.10.1-fix-missing-include.patch 
b/sci-biology/SPAdes/files/SPAdes-3.10.1-fix-missing-include.patch
new file mode 100644
index 000000000..bb6d75797
--- /dev/null
+++ b/sci-biology/SPAdes/files/SPAdes-3.10.1-fix-missing-include.patch
@@ -0,0 +1,10 @@
+--- SPAdes-3.10.1/src/common/utils/segfault_handler.hpp.ori    2017-05-13 
22:43:01.296207276 +0200
++++ SPAdes-3.10.1/src/common/utils/segfault_handler.hpp        2017-05-13 
22:43:41.437310225 +0200
+@@ -12,6 +12,7 @@
+ #include "boost/noncopyable.hpp"
+ 
+ #include <signal.h>
++#include <functional>
+ 
+ struct segfault_handler : boost::noncopyable {
+     typedef std::function<void()> callback_t;

Reply via email to