aboutsummaryrefslogtreecommitdiff
blob: 951f12c1bbe83fe1d48249695892c6e99a9735ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=5

PYTHON_COMPAT=( python2_7 )
inherit eutils python-r1

PERL_EXPORT_PHASE_FUNCTIONS=no
inherit perl-module eutils toolchain-funcs

DESCRIPTION="Whole genome assembler, Hawkeye and AMOScmp to compare multiple assemblies"
HOMEPAGE="http://amos.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"

LICENSE="Artistic"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="mpi qt5"

DEPEND="
	mpi? ( virtual/mpi )
	dev-libs/boost
	qt5? ( dev-qt/qtcore:5 )
	sci-biology/blat
	sci-biology/jellyfish:1"
RDEPEND="${DEPEND}
	dev-lang/perl
	dev-perl/DBI
	dev-perl/Statistics-Descriptive
	sci-biology/mummer"

MAKEOPTS+=" -j1"

src_prepare() {
	epatch \
		"${FILESDIR}"/${P}-gcc-4.7.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
}

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
	python_replicate_script "${ED}"/usr/bin/goBambus2
	# bambus needs TIGR::FASTAreader.pm and others
	# configure --libdir sadly copies both *.a files and *.pm into /usr/lib64/AMOS/ and /usr/lib64/TIGR/, work around it
	perl_set_version
	insinto ${VENDOR_LIB}/AMOS
	doins "${D}"/usr/lib64/AMOS/*.pm
	insinto ${VENDOR_LIB}/TIGR
	doins "${D}"/usr/lib64/TIGR/*.pm
	# move also /usr/lib64/AMOS/AMOS.py to /usr/bin
	mv "${D}"/usr/lib64/AMOS/*.py "${D}"/usr/bin || die
	# zap the mis-placed files ('make install' is at fault)
	rm -f "${D}"/usr/lib64/AMOS/*.pm
	rm -rf "${D}"/usr/lib64/TIGR
	echo AMOSCONF="${EPREFIX}"/etc/amos.acf > "${S}"/99amos || die
	mkdir -p "${ED}"/etc || die
	touch "${ED}"/etc/amos.acf || die
	doenvd "${S}/99amos"
}