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;