blob: 4d784fa9bfb99eed0ed299f19843a9a1cb544455 [file] [log] [blame]
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
PYTHON_COMPAT=( python2_7 )
inherit autotools flag-o-matic python-single-r1 toolchain-funcs
DESCRIPTION="Python-based splice junction mapper for RNA-Seq reads using bowtie2"
HOMEPAGE="https://ccb.jhu.edu/software/tophat/"
SRC_URI="https://ccb.jhu.edu/software/tophat/downloads/${P}.tar.gz"
LICENSE="Artistic"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="debug"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="${PYTHON_DEPS}
dev-libs/boost:=[threads]
sci-biology/samtools:0.1-legacy
sci-biology/bowtie:2"
DEPEND="${RDEPEND}
virtual/pkgconfig
sci-biology/seqan:1.4
>=sys-devel/autoconf-archive-2016.09.16"
PATCHES=(
"${FILESDIR}/${P}-unbundle-seqan-samtools.patch"
"${FILESDIR}/${P}-fix-c++14.patch"
)
src_prepare() {
default
# remove bundled libs
rm -rf src/samtools-0.1.18/ src/SeqAn-1.4.2/ || die
sed -e "s:samtools_0.1.18:${EPREFIX}/usr/bin/samtools-0.1-legacy/samtools:" \
-i src/tophat.py src/common.cpp || die
sed -e "s:/usr/include/bam-0.1-legacy/:${EPREFIX}/usr/include/bam-0.1-legacy/:" \
-e '/^samtools-0\.1\.18\//d' \
-e '/^SeqAn-1\.4\.2\//d' \
-e 's:sortedcontainers/sortedset.py \\:sortedcontainers/sortedset.py:' \
-e 's:\$(top_builddir)\/src\/::' \
-i src/Makefile.am || die
sed -e 's:\$(top_builddir)\/src\/::' -i src/Makefile.am || die
# innocuous non-security flags, prevent log pollution
append-cflags -Wno-unused-but-set-variable -Wno-unused-variable
append-cppflags "$($(tc-getPKG_CONFIG) --cflags seqan-1.4)"
# remove ancient autoconf archive macros, wreaking havoc,
# depend on sys-devel/autoconf-archive instead, bug #594810
rm {ax_boost_thread,ax_boost_base}.m4 || die
eautoreconf
}
src_configure() {
econf $(use_enable debug)
}
src_install() {
default
local i
# install scripts properly
for i in bed_to_juncs contig_to_chr_coords sra_to_solid tophat tophat-fusion-post; do
python_fix_shebang "${ED%/}/usr/bin/${i}"
done
# install python modules properly
for i in intervaltree sortedcontainers; do
python_domodule "${ED%/}/usr/bin/${i}"
rm -rf "${ED%/}/usr/bin/${i}" || die
done
}
pkg_postinst() {
optfeature "ABI SOLiD colorspace reads" sci-biology/bowtie:1
}