summaryrefslogtreecommitdiff
path: root/sci-biology/bowtie
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /sci-biology/bowtie
reinit the tree, so we can have metadata
Diffstat (limited to 'sci-biology/bowtie')
-rw-r--r--sci-biology/bowtie/Manifest19
-rw-r--r--sci-biology/bowtie/bowtie-1.1.2-r1.ebuild74
-rw-r--r--sci-biology/bowtie/bowtie-1.1.2.ebuild54
-rw-r--r--sci-biology/bowtie/bowtie-2.2.6.ebuild60
-rw-r--r--sci-biology/bowtie/bowtie-2.2.9.ebuild61
-rw-r--r--sci-biology/bowtie/files/bowtie-1.1.2-_ContextLss-1.1-1.4.patch17
-rw-r--r--sci-biology/bowtie/files/bowtie-1.1.2-fix-setBegin-call.patch42
-rw-r--r--sci-biology/bowtie/files/bowtie-1.1.2-seqan-popcount.patch24
-rw-r--r--sci-biology/bowtie/files/bowtie-1.1.2-seqan-rename-ChunkPool.patch382
-rw-r--r--sci-biology/bowtie/files/bowtie-1.1.2-seqan-rename-fill-to-resize.patch85
-rw-r--r--sci-biology/bowtie/files/bowtie-1.1.2-spelling.patch48
-rw-r--r--sci-biology/bowtie/files/bowtie-1.1.2-tbb-tinythread-missing.patch18
-rw-r--r--sci-biology/bowtie/files/bowtie-1.1.2-unbundle-seqan.patch27
-rw-r--r--sci-biology/bowtie/files/bowtie-2.2.9-fix-c++14.patch29
-rw-r--r--sci-biology/bowtie/metadata.xml16
15 files changed, 956 insertions, 0 deletions
diff --git a/sci-biology/bowtie/Manifest b/sci-biology/bowtie/Manifest
new file mode 100644
index 000000000000..155be157845f
--- /dev/null
+++ b/sci-biology/bowtie/Manifest
@@ -0,0 +1,19 @@
+AUX bowtie-1.1.2-_ContextLss-1.1-1.4.patch 601 SHA256 3fc2e55806824558c12e7d3ae3f4be77f9897f222e1de06c3ab39dff74fa7ad7 SHA512 e39ec6323cc6fee49a6ecf3565066d9cb8f8001af2701de292025f268d57dcfa3d4c35f3e2aed56b7e3835a955e5bfb595214ac232309fcc46c6d51f83cd9f2e WHIRLPOOL 5a65ab3bcf49679ff9dbc0225415a3664e924622f706605f00ea32c157b9f87f2d0eb13322f60c0b327c7395a9865515d8241ddcaf6b764a76053f67765ade24
+AUX bowtie-1.1.2-fix-setBegin-call.patch 1269 SHA256 ccf253e4b2fddef2a199e9fe2b93519f579c5b16e5a002723868ffaad3b07cc5 SHA512 8838a0d8b35c9ceb4be1ef3439eab5e3478dcfe11c5e59e327717676eceab413b07ec97dbda9fb3527ab61653a8a6e2d651b5bb4c24114288d3b07922348c5d3 WHIRLPOOL 165a698c19394e5dae98ba707352e2f35a89c1cbf9f71bfae55f020fab262d8624b0edd34282447afdb29a4e0b155ee4771c3d922e86037d4c14be1b3cee7de0
+AUX bowtie-1.1.2-seqan-popcount.patch 566 SHA256 a234e69880033368f6d5e7ba193230161054ac638200ceaec43136b934b17b9a SHA512 07b70a1941b98033967b8a7303fab94aa3a047bd5da9355f58f03af04f4515903cbf2698700fb3e987546998ebb28225672aa8fbfc65dd8bc202be8a26290838 WHIRLPOOL d74c3f739d1ee6b6c41630a83475af28de3df1316a924ecb8e6bf0ca198866c0a49c0d662d7a830bdd9824de27fce192c1feb26abd239515a4ae1bfe8977df8a
+AUX bowtie-1.1.2-seqan-rename-ChunkPool.patch 11618 SHA256 fdbbe8921a3a30845d63b08ee91826db307a01325c691935a5133198dff4123b SHA512 3d05ea37c753c780163123ab8fdf8d149f0daddf4c52fcf81b1380951f132edf312b13505ea9afc2ff34ee4f3188b5251beb9e71e3c78f2eeabfadd4ab1ae5a1 WHIRLPOOL 13a4380084839fe379ee3a416653061d9f5e9f78252b0cbbf7b5ab647011ca23db20cd7d6f3376031c3a2ec4f5a172086fa6e6c9b1a634233d40bd4b3f1ef0d9
+AUX bowtie-1.1.2-seqan-rename-fill-to-resize.patch 3280 SHA256 a6346c3ed273541700c996c5524fd4c10b91d80fb3d7681f824150475b6e76e8 SHA512 e0a96c870670c6c38b48da0c0e0f3dc4f5e9b0654ecb1d55c22484472192cc926168a333625a582c470e2781f6e062d6704723feb29d7f32f2a19eb229622aa0 WHIRLPOOL 019948a27497a3f94bd7843768e4708e97ff8644a1ba57c8f57364539c1855c45896459471fe3efd612b107f9dc4d0f0d988c72201c78fd7d511ceb25a016d4c
+AUX bowtie-1.1.2-spelling.patch 4157 SHA256 8919cee874b79a48cf6a2fac4354fb27dfe0037e914c5a1a635410d99646c865 SHA512 1679ecdaffa55adb2c1e206a77eba6052e4d9e65e476f73df795bf1fc9e323d34c20f4673a285701b067c65477b3804cd44a4c30b36ae5502f534a4cf191af18 WHIRLPOOL 45b8c72d54536c739626756315105702af6eca7315fc70919cb645fb0234e09b2e800aeacd13f4491d598ad8245d6cc6a7ed3d3bc370430f555ccc60aa933b77
+AUX bowtie-1.1.2-tbb-tinythread-missing.patch 554 SHA256 d0cdf86a1b40971879eb39fcb627680eff785321a1e5265203f6f3dfca133d2b SHA512 04cc9dad3a6c2598bde41975604a75ca5f0b1490144d2a9f91c049b04b8af80d95e8842aaf1b551ec3d9ca842981e72aa692f00b80971c067d7464776c1e78c9 WHIRLPOOL 0404e2c61d6bd932803aefdd179aa2d9fe2dfc8779e2163ef4e550b646794d8d69ec675a676e030b3c878d78f5a9e75d8b33ff2865e310222006d8880dd016af
+AUX bowtie-1.1.2-unbundle-seqan.patch 751 SHA256 924d42e96e768393e29d1aeb2a48b4999f09d214b874e0f67216348429b90bd2 SHA512 9a68ccc98774a2c9ddb8f45b5ed009230d14d3e29837c6dd8aac34e298f57208361ef45d0e7d9d074495f3465b58f08606cced9e4fccb549785591ff954cb2b8 WHIRLPOOL 4f35e43c6164e58e7035984cd7de3b7255d752425b25b172cc822a5d3189c20c0c5b23ebd74de5907e63e1370ecd1f64bbe4d046543d34229bbf19c4ee3c4749
+AUX bowtie-2.2.9-fix-c++14.patch 687 SHA256 01ca17aa56cedf1743e85e20fc67fa60a4591af3415ebeff8b6b897392de20dc SHA512 3aa6e7a30fdf93ae564091ce9b87338ab9feccbd0c873f4130af71dc94fd3b27527b42a93f13471a2613bad44dbacd639d17515000f03856695a0021ce14dfc5 WHIRLPOOL 78040c29a564128d7df46f5e90e12a47620479a34d88a051293280605e930f99ca2ddfa96e22652b758f43002ad02f309c11cfc7bba13591c198d170b7b94038
+DIST bowtie-1.1.2-src.zip 7713258 SHA256 b1e9ccc825207efd1893d9e33244c681bcb89b9b2b811eb95a9f5a92eab637ae SHA512 3d3d69bc3a865bb577b5a91440215d0d5b606c7a8751d565e606e36adbfbdef695b1718ae81cd3e2682a39ca7784c4d00976441e7618264ad99b04c7f53c36e8 WHIRLPOOL 08cb824bf7a1ddfbe6692de67191aacf44776d7d4e0ab66bd2a13ecfffd087bc28cdde4c7285c781fa4759de0a239e68f87b702bcc2e24c9b81fda5804360ce7
+DIST bowtie2-2.2.6-source.zip 5728779 SHA256 1000e90cdd90c3ca43c69d0d0ad951e190d36a6981a546f430a90ce86d64bfc8 SHA512 3ab5a5475cf214affd91e0d1782fd2d6dedccd979e3c809b5dfb272726d99ff1c7b59d92e387b187a7c2e43557786a1085186ccb96588de91212caf2eb94ce4f WHIRLPOOL 4fb02b3a0d76bbee0fe9abf91a71405922568bc38e593d5740df6279bad6f8b668df0debb0a81f3d3c23623558f34d842dd662a6838cf2d7f0fc8945fd00a298
+DIST bowtie2-2.2.9-source.zip 5734235 SHA256 35b3cd8efc4c1c1efac6d94e626183bf4f8608b3a745fedd294c8fba46308201 SHA512 ead8f7641f3231638d986f9e500bc4ec7afe1e542048465bfcc2e93e2b2d2e499f0dd8aa5c1e3e21df285c9d195b187682eb7e12be4a408f6c50fb97c0e0a205 WHIRLPOOL ed8894096997ddd724c8999971a82b14bfa8149a23c040463c6f347ddce070a8c44baeb21bc1adc41a756e0e02c8f4861b967477c2f3469a71ca58b7d3e60aac
+EBUILD bowtie-1.1.2-r1.ebuild 1643 SHA256 4cbba0d38dc3094a3adff5f655c59309436c5ace75d52d679afe502d3fa5c7a0 SHA512 8b5c22f29aafb5977313ea002fcd654ac991015f7808f02f8e02c2105dd9a6fa77b5f5342e82d38b07674c93dbe397333be78f6d1ca9a24a60531d6a40efe382 WHIRLPOOL 5f5a1e20bfbb76f05a6ddfe4820171475960d4c8220eae02851792eb6db25f7f5dbed032ad9d6b506dd34d803e91b108178d94788b2f6445bfec41940e76ae3c
+EBUILD bowtie-1.1.2.ebuild 1058 SHA256 03ee85685829ea13e4881cc3c1c7cc013282b1686520790627cdd73ef055ac85 SHA512 33bd306019d37f3eb05922805e7035bf82bd40c21934c541bd6c56522afc1aa2ebfa900024d72cd0555e290560de07b1adadb98673100b934f53779c2e40376f WHIRLPOOL 784ceac92dadc36769d6746d42c102310a72a229119206782b69541895f70c99c9f85c430be00aeda48269fbed20eb9202e0415fa3f551b40d941055c53b80bb
+EBUILD bowtie-2.2.6.ebuild 1230 SHA256 e00208c9d6b2e9190640ac98b96429984334bdbfd6bda6036426878da795858c SHA512 7c1546de18fa549defa619877688e38b2e90a5875ac9d6ca2728ae7788e495870efbbafeaabe0e3a79788e393e8d273b715fd9bcfef4267ac5daba1dd18a87ff WHIRLPOOL 512fb85c0e2326670f483881d3a32d5555c52b102e18988cd50e6b6cf9c6163692722f831ae57791f1591926bdea8786255f67903fd76d42eea6ffa3a818cd79
+EBUILD bowtie-2.2.9.ebuild 1277 SHA256 b888cb7026e045655a320d82d7118f9c137b2d980b9970df864454300a95389c SHA512 40e22698d5df241b8b98c601f8ed22276d39f4c9818bb23afec0a39b625fd38a0fdb3f4b4d6f8c01b458e2b6b3464a7ee8a135bd446f3488354eeca9934daa85 WHIRLPOOL 46434a6389e85ebdcbf550d36f7713bb2cd78da126973e4bbe2937e12837aded7be64a6cda01ddd5a834318f1c756b79953dd46c311c89c2050ecd03f48a231e
+MISC ChangeLog 6732 SHA256 22371eb1d636f1f6149d2c0d3e22dc9756d640064066244e2c85a165813a40fe SHA512 75421973bc4d23cfcaa180ed68450d9b89b373a7aa7f9c37a5de7b8cf3a47dd52bd1a351d4018e503aba38346cc73f2892befb1390fc080c2d22e39e14c55b22 WHIRLPOOL 527c69ccb02fe08f8913e07d50f95185ef79ba0c8690018bab4db9fae7aa7dcbf8214a8492f22febe3a22042b23ca0807b8485a6c93fdd88db4ad267739e3d29
+MISC ChangeLog-2015 2855 SHA256 dacfc3ea38c770f70cc02d3a2a62f704b0d77ae35ec787ce53c2ddcd133a149a SHA512 61687de55717462065994d9062d9bc822b6017e85260ee68c7844794f1a0468f10aa1c46e5a89345df316943d1cff775a71469ba182989130abce86e438af712 WHIRLPOOL bdd1b06d50f740264b1eb7d447c9909a336ff8332e971f45b5d71fae1da27cf43cdec6e97506d2d51f06f93bed4ccb6d24c978c4410669b4681626f96808df7a
+MISC metadata.xml 528 SHA256 ab2d080e80f57ea474804febc8bda7d480d0e18512e1429c6c762d72697ce860 SHA512 1eb83cbd7d7e747bc94021051ba6ae0bf22411091287b754851a9f6824b263b6ca83c9a0d055c0b6ab24963ceea9b32d76bf1b343f48a3ee4bd322fec539b301 WHIRLPOOL 32a4afad7cafe525f0da2c13cc632be5b061863562a7591291699d5d49b45aa831a15ca721e998fcc69acd1107a92495a38fc8826cf73af0ed83b85f52efdadd
diff --git a/sci-biology/bowtie/bowtie-1.1.2-r1.ebuild b/sci-biology/bowtie/bowtie-1.1.2-r1.ebuild
new file mode 100644
index 000000000000..d8b607f870fc
--- /dev/null
+++ b/sci-biology/bowtie/bowtie-1.1.2-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Popular short read aligner for Next-generation sequencing data"
+HOMEPAGE="http://bowtie-bio.sourceforge.net/"
+SRC_URI="mirror://sourceforge/bowtie-bio/${P}-src.zip"
+
+LICENSE="Artistic"
+SLOT="1"
+KEYWORDS="~amd64 ~x86 ~x64-macos"
+
+IUSE="examples +tbb"
+
+RDEPEND="tbb? ( dev-cpp/tbb )"
+DEPEND="${RDEPEND}
+ sci-biology/seqan:1.4
+ app-arch/unzip"
+
+DOCS=( AUTHORS NEWS TUTORIAL doc/README )
+HTML_DOCS=( doc/{manual.html,style.css} )
+
+PATCHES=(
+ "${FILESDIR}/${P}-_ContextLss-1.1-1.4.patch"
+ "${FILESDIR}/${P}-fix-setBegin-call.patch"
+ "${FILESDIR}/${P}-seqan-popcount.patch"
+ "${FILESDIR}/${P}-seqan-rename-ChunkPool.patch"
+ "${FILESDIR}/${P}-seqan-rename-fill-to-resize.patch"
+ "${FILESDIR}/${P}-spelling.patch"
+ "${FILESDIR}/${P}-tbb-tinythread-missing.patch"
+ "${FILESDIR}/${P}-unbundle-seqan.patch"
+)
+
+src_prepare() {
+ default
+
+ # remove bundled libraries, use system seqan 1.4
+ rm -rf SeqAn-1.1/ third_party/ || die
+
+ # innocuous non-security flags, prevent log pollution
+ append-cxxflags \
+ -Wno-unused-local-typedefs \
+ -Wno-unused-but-set-variable \
+ -Wno-unused-variable
+}
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" \
+ CPP="$(tc-getCXX)" \
+ CFLAGS="" \
+ CXXFLAGS="" \
+ EXTRA_FLAGS="${LDFLAGS}" \
+ RELEASE_FLAGS="${CXXFLAGS}" \
+ WITH_TBB="$(usex tbb 1 0)"
+}
+
+src_install() {
+ dobin ${PN} ${PN}-*
+
+ exeinto /usr/libexec/${PN}
+ doexe scripts/*
+
+ newman MANUAL ${PN}.1
+ einstalldocs
+
+ if use examples; then
+ insinto /usr/share/${PN}
+ doins -r genomes indexes
+ fi
+}
diff --git a/sci-biology/bowtie/bowtie-1.1.2.ebuild b/sci-biology/bowtie/bowtie-1.1.2.ebuild
new file mode 100644
index 000000000000..1ada8a0fdc2b
--- /dev/null
+++ b/sci-biology/bowtie/bowtie-1.1.2.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Popular short read aligner for Next-generation sequencing data"
+HOMEPAGE="http://bowtie-bio.sourceforge.net/"
+SRC_URI="mirror://sourceforge/bowtie-bio/${P}-src.zip"
+
+LICENSE="Artistic"
+SLOT="1"
+KEYWORDS="amd64 x86 ~x64-macos"
+
+IUSE="examples +tbb"
+
+DEPEND="app-arch/unzip
+ tbb? ( dev-cpp/tbb )"
+RDEPEND=""
+
+DOCS=( AUTHORS NEWS TUTORIAL doc/README )
+HTML_DOCS=( doc/{manual.html,style.css} )
+
+src_prepare() {
+ # always include tinythread.cpp
+ epatch "${FILESDIR}/${P}-tbb-tinythread-missing.patch"
+}
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" \
+ CPP="$(tc-getCXX)" \
+ CFLAGS="" \
+ CXXFLAGS="" \
+ EXTRA_FLAGS="${LDFLAGS}" \
+ RELEASE_FLAGS="${CXXFLAGS}" \
+ WITH_TBB="$(usex tbb 1 0)"
+}
+
+src_install() {
+ dobin ${PN} ${PN}-*
+
+ exeinto /usr/libexec/${PN}
+ doexe scripts/*
+
+ newman MANUAL ${PN}.1
+ einstalldocs
+
+ if use examples; then
+ insinto /usr/share/${PN}
+ doins -r genomes indexes
+ fi
+}
diff --git a/sci-biology/bowtie/bowtie-2.2.6.ebuild b/sci-biology/bowtie/bowtie-2.2.6.ebuild
new file mode 100644
index 000000000000..29826473a3b3
--- /dev/null
+++ b/sci-biology/bowtie/bowtie-2.2.6.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Popular short read aligner for Next-generation sequencing data"
+HOMEPAGE="http://bowtie-bio.sourceforge.net/bowtie2/"
+SRC_URI="mirror://sourceforge/project/${PN}-bio/${PN}2/${PV}/${PN}2-${PV}-source.zip"
+
+LICENSE="GPL-3"
+SLOT="2"
+KEYWORDS="amd64 x86"
+
+IUSE="examples cpu_flags_x86_sse2 +tbb"
+
+RDEPEND="dev-lang/perl"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ tbb? ( dev-cpp/tbb )"
+
+S="${WORKDIR}/${PN}2-${PV}"
+
+DOCS=( AUTHORS NEWS TUTORIAL )
+HTML_DOCS=( doc/{manual.html,style.css} )
+
+pkg_pretend() {
+ if ! use cpu_flags_x86_sse2 ; then
+ eerror "This package requires a CPU supporting the SSE2 instruction set."
+ die "SSE2 support missing"
+ fi
+}
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" \
+ CPP="$(tc-getCXX)" \
+ CXX="$(tc-getCXX)" \
+ CFLAGS="" \
+ CXXFLAGS="" \
+ EXTRA_FLAGS="${LDFLAGS}" \
+ RELEASE_FLAGS="${CXXFLAGS} -msse2" \
+ WITH_TBB="$(usex tbb 1 0)"
+}
+
+src_install() {
+ dobin ${PN}2 ${PN}2-*
+
+ exeinto /usr/libexec/${PN}2
+ doexe scripts/*
+
+ newman MANUAL ${PN}2.1
+ einstalldocs
+
+ if use examples; then
+ insinto /usr/share/${PN}2
+ doins -r example
+ fi
+}
diff --git a/sci-biology/bowtie/bowtie-2.2.9.ebuild b/sci-biology/bowtie/bowtie-2.2.9.ebuild
new file mode 100644
index 000000000000..0bacb8ca25d7
--- /dev/null
+++ b/sci-biology/bowtie/bowtie-2.2.9.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs
+
+DESCRIPTION="Popular short read aligner for Next-generation sequencing data"
+HOMEPAGE="http://bowtie-bio.sourceforge.net/bowtie2/"
+SRC_URI="mirror://sourceforge/project/${PN}-bio/${PN}2/${PV}/${PN}2-${PV}-source.zip"
+
+LICENSE="GPL-3"
+SLOT="2"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="examples cpu_flags_x86_sse2 +tbb"
+
+RDEPEND="dev-lang/perl
+ tbb? ( dev-cpp/tbb )"
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+
+S="${WORKDIR}/${PN}2-${PV}"
+
+DOCS=( AUTHORS NEWS TUTORIAL )
+HTML_DOCS=( doc/{manual.html,style.css} )
+PATCHES=( "${FILESDIR}/${PN}-2.2.9-fix-c++14.patch" )
+
+pkg_pretend() {
+ if ! use cpu_flags_x86_sse2 ; then
+ eerror "This package requires a CPU supporting the SSE2 instruction set."
+ die "SSE2 support missing"
+ fi
+}
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" \
+ CPP="$(tc-getCXX)" \
+ CXX="$(tc-getCXX)" \
+ CFLAGS="" \
+ CXXFLAGS="" \
+ EXTRA_FLAGS="${LDFLAGS}" \
+ RELEASE_FLAGS="${CXXFLAGS} -msse2" \
+ WITH_TBB="$(usex tbb 1 0)"
+}
+
+src_install() {
+ dobin ${PN}2 ${PN}2-*
+
+ exeinto /usr/libexec/${PN}2
+ doexe scripts/*
+
+ newman MANUAL ${PN}2.1
+ einstalldocs
+
+ if use examples; then
+ insinto /usr/share/${PN}2
+ doins -r example
+ fi
+}
diff --git a/sci-biology/bowtie/files/bowtie-1.1.2-_ContextLss-1.1-1.4.patch b/sci-biology/bowtie/files/bowtie-1.1.2-_ContextLss-1.1-1.4.patch
new file mode 100644
index 000000000000..78b9c01a0462
--- /dev/null
+++ b/sci-biology/bowtie/files/bowtie-1.1.2-_ContextLss-1.1-1.4.patch
@@ -0,0 +1,17 @@
+Description: Change class name of _Context_LSS
+ New version 1.4 of SeQan uses a different name of the class.
+Forwarded: no
+Author: Gert Wollny <gw.fossdev@gmail.com>
+Last-Update: 2014-100-06
+
+--- a/diff_sample.h
++++ b/diff_sample.h
+@@ -856,7 +856,7 @@ void DifferenceCoverSample<TStr>::build(
+ {
+ Timer timer(cout, " Invoking Larsson-Sadakane on ranks time: ", this->verbose());
+ VMSG_NL(" Invoking Larsson-Sadakane on ranks");
+- _Context_LSS<TIndexOff> c;
++ ContextLss_<TIndexOff> c;
+ c.suffixsort(
+ (TIndexOff*)begin(_isaPrime, Standard()),
+ (TIndexOff*)begin(sPrime, Standard()),
diff --git a/sci-biology/bowtie/files/bowtie-1.1.2-fix-setBegin-call.patch b/sci-biology/bowtie/files/bowtie-1.1.2-fix-setBegin-call.patch
new file mode 100644
index 000000000000..af7f7f61cd5e
--- /dev/null
+++ b/sci-biology/bowtie/files/bowtie-1.1.2-fix-setBegin-call.patch
@@ -0,0 +1,42 @@
+Description: Proper type-casting in using seqan::_setBegin().
+ Required by newer versions of GCC.
+Forwarded: no
+Author: Ognyan Kulev <ogi@debian.org>
+Last-Update: 2013-04-18
+
+--- a/pat.h
++++ b/pat.h
+@@ -82,20 +82,20 @@ struct ReadBuf {
+ ~ReadBuf() {
+ clearAll(); reset();
+ // Prevent seqan from trying to free buffers
+- _setBegin(patFw, NULL);
+- _setBegin(patRc, NULL);
+- _setBegin(qual, NULL);
+- _setBegin(patFwRev, NULL);
+- _setBegin(patRcRev, NULL);
+- _setBegin(qualRev, NULL);
+- _setBegin(name, NULL);
++ _setBegin(patFw, (Dna5*)NULL);
++ _setBegin(patRc, (Dna5*)NULL);
++ _setBegin(qual, (char*)NULL);
++ _setBegin(patFwRev, (Dna5*)NULL);
++ _setBegin(patRcRev, (Dna5*)NULL);
++ _setBegin(qualRev, (char*)NULL);
++ _setBegin(name, (char*)NULL);
+ for(int j = 0; j < 3; j++) {
+- _setBegin(altPatFw[j], NULL);
+- _setBegin(altPatFwRev[j], NULL);
+- _setBegin(altPatRc[j], NULL);
+- _setBegin(altPatRcRev[j], NULL);
+- _setBegin(altQual[j], NULL);
+- _setBegin(altQualRev[j], NULL);
++ _setBegin(altPatFw[j], (Dna5*)NULL);
++ _setBegin(altPatFwRev[j], (Dna5*)NULL);
++ _setBegin(altPatRc[j], (Dna5*)NULL);
++ _setBegin(altPatRcRev[j], (Dna5*)NULL);
++ _setBegin(altQual[j], (char*)NULL);
++ _setBegin(altQualRev[j], (char*)NULL);
+ }
+ }
+
diff --git a/sci-biology/bowtie/files/bowtie-1.1.2-seqan-popcount.patch b/sci-biology/bowtie/files/bowtie-1.1.2-seqan-popcount.patch
new file mode 100644
index 000000000000..52cb4f496521
--- /dev/null
+++ b/sci-biology/bowtie/files/bowtie-1.1.2-seqan-popcount.patch
@@ -0,0 +1,24 @@
+Description: Use SeqAn 1.4's seqan::popCount() function instead of own function
+Author: Ognyan Kulev <ogi@debian.org>
+Last-Update: 2014-03-08
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/diff_sample.h
++++ b/diff_sample.h
+@@ -476,6 +476,8 @@ static String<T> getDeltaMap(T v, const
+ return amap;
+ }
+
++// Debian: Use seqan::popCount
++#if 0
+ /**
+ * Return population count (count of all bits set to 1) of i.
+ */
+@@ -488,6 +490,7 @@ static unsigned int popCount(T i) {
+ }
+ return cnt;
+ }
++#endif
+
+ /**
+ * Calculate log-base-2 of i
diff --git a/sci-biology/bowtie/files/bowtie-1.1.2-seqan-rename-ChunkPool.patch b/sci-biology/bowtie/files/bowtie-1.1.2-seqan-rename-ChunkPool.patch
new file mode 100644
index 000000000000..171f9bab8fae
--- /dev/null
+++ b/sci-biology/bowtie/files/bowtie-1.1.2-seqan-rename-ChunkPool.patch
@@ -0,0 +1,382 @@
+Description: Renamed ChunkPool class to bowtieChunkPool.
+ SeqAn has a class with the same name and fatal name collision happens.
+Forwarded: no
+Author: Ognyan Kulev <ogi@debian.org>
+Last-Update: 2013-04-18
+
+--- a/aligner.h
++++ b/aligner.h
+@@ -337,7 +337,7 @@ public:
+ bool verbose,
+ bool quiet,
+ int maxBts,
+- ChunkPool *pool,
++ bowtieChunkPool *pool,
+ int *btCnt = NULL,
+ AlignerMetrics *metrics = NULL) :
+ Aligner(true, rangeMode),
+@@ -544,7 +544,7 @@ protected:
+ bool quiet_; // don't print informational/warning info
+
+ const int maxBts_;
+- ChunkPool *pool_;
++ bowtieChunkPool *pool_;
+ int *btCnt_;
+ AlignerMetrics *metrics_;
+ };
+@@ -585,7 +585,7 @@ public:
+ bool verbose,
+ bool quiet,
+ int maxBts,
+- ChunkPool *pool,
++ bowtieChunkPool *pool,
+ int *btCnt) :
+ Aligner(true, rangeMode),
+ refs_(refs),
+@@ -1358,7 +1358,7 @@ protected:
+ bool quiet_;
+
+ int maxBts_;
+- ChunkPool *pool_;
++ bowtieChunkPool *pool_;
+ int *btCnt_;
+
+ // Range-finding state for first mate
+@@ -1482,7 +1482,7 @@ public:
+ bool verbose,
+ bool quiet,
+ int maxBts,
+- ChunkPool *pool,
++ bowtieChunkPool *pool,
+ int *btCnt) :
+ Aligner(true, rangeMode),
+ refs_(refs),
+@@ -2035,7 +2035,7 @@ protected:
+ TDriver* driver_;
+
+ // Pool for distributing chunks of best-first path descriptor memory
+- ChunkPool *pool_;
++ bowtieChunkPool *pool_;
+
+ bool verbose_;
+ bool quiet_;
+--- a/aligner_0mm.h
++++ b/aligner_0mm.h
+@@ -32,7 +32,7 @@ public:
+ RangeCache* cacheFw,
+ RangeCache* cacheBw,
+ uint32_t cacheLimit,
+- ChunkPool *pool,
++ bowtieChunkPool *pool,
+ BitPairReference* refs,
+ vector<String<Dna5> >& os,
+ bool maqPenalty,
+@@ -124,7 +124,7 @@ private:
+ RangeCache *cacheFw_;
+ RangeCache *cacheBw_;
+ const uint32_t cacheLimit_;
+- ChunkPool *pool_;
++ bowtieChunkPool *pool_;
+ BitPairReference* refs_;
+ vector<String<Dna5> >& os_;
+ bool maqPenalty_;
+@@ -164,7 +164,7 @@ public:
+ RangeCache* cacheFw,
+ RangeCache* cacheBw,
+ uint32_t cacheLimit,
+- ChunkPool *pool,
++ bowtieChunkPool *pool,
+ BitPairReference* refs,
+ vector<String<Dna5> >& os,
+ bool reportSe,
+@@ -366,7 +366,7 @@ private:
+ RangeCache *cacheFw_;
+ RangeCache *cacheBw_;
+ const uint32_t cacheLimit_;
+- ChunkPool *pool_;
++ bowtieChunkPool *pool_;
+ BitPairReference* refs_;
+ vector<String<Dna5> >& os_;
+ const bool reportSe_;
+--- a/aligner_1mm.h
++++ b/aligner_1mm.h
+@@ -32,7 +32,7 @@ public:
+ RangeCache *cacheFw,
+ RangeCache *cacheBw,
+ uint32_t cacheLimit,
+- ChunkPool *pool,
++ bowtieChunkPool *pool,
+ BitPairReference* refs,
+ vector<String<Dna5> >& os,
+ bool maqPenalty,
+@@ -161,7 +161,7 @@ private:
+ RangeCache *cacheFw_;
+ RangeCache *cacheBw_;
+ const uint32_t cacheLimit_;
+- ChunkPool *pool_;
++ bowtieChunkPool *pool_;
+ BitPairReference* refs_;
+ vector<String<Dna5> >& os_;
+ const bool maqPenalty_;
+@@ -201,7 +201,7 @@ public:
+ RangeCache *cacheFw,
+ RangeCache *cacheBw,
+ uint32_t cacheLimit,
+- ChunkPool *pool,
++ bowtieChunkPool *pool,
+ BitPairReference* refs,
+ vector<String<Dna5> >& os,
+ bool reportSe,
+@@ -478,7 +478,7 @@ private:
+ RangeCache *cacheFw_;
+ RangeCache *cacheBw_;
+ const uint32_t cacheLimit_;
+- ChunkPool *pool_;
++ bowtieChunkPool *pool_;
+ BitPairReference* refs_;
+ vector<String<Dna5> >& os_;
+ const bool reportSe_;
+--- a/aligner_23mm.h
++++ b/aligner_23mm.h
+@@ -33,7 +33,7 @@ public:
+ RangeCache *cacheFw,
+ RangeCache *cacheBw,
+ uint32_t cacheLimit,
+- ChunkPool *pool,
++ bowtieChunkPool *pool,
+ BitPairReference* refs,
+ vector<String<Dna5> >& os,
+ bool maqPenalty,
+@@ -231,7 +231,7 @@ private:
+ RangeCache *cacheFw_;
+ RangeCache *cacheBw_;
+ const uint32_t cacheLimit_;
+- ChunkPool *pool_;
++ bowtieChunkPool *pool_;
+ BitPairReference* refs_;
+ vector<String<Dna5> >& os_;
+ const bool maqPenalty_;
+@@ -273,7 +273,7 @@ public:
+ RangeCache *cacheFw,
+ RangeCache *cacheBw,
+ uint32_t cacheLimit,
+- ChunkPool *pool,
++ bowtieChunkPool *pool,
+ BitPairReference* refs,
+ vector<String<Dna5> >& os,
+ bool reportSe,
+@@ -675,7 +675,7 @@ private:
+ RangeCache *cacheFw_;
+ RangeCache *cacheBw_;
+ const uint32_t cacheLimit_;
+- ChunkPool *pool_;
++ bowtieChunkPool *pool_;
+ BitPairReference* refs_;
+ vector<String<Dna5> >& os_;
+ const bool reportSe_;
+--- a/aligner_seed_mm.h
++++ b/aligner_seed_mm.h
+@@ -37,7 +37,7 @@ public:
+ RangeCache* cacheFw,
+ RangeCache* cacheBw,
+ uint32_t cacheLimit,
+- ChunkPool *pool,
++ bowtieChunkPool *pool,
+ BitPairReference* refs,
+ vector<String<Dna5> >& os,
+ bool maqPenalty,
+@@ -554,7 +554,7 @@ private:
+ RangeCache *cacheFw_;
+ RangeCache *cacheBw_;
+ const uint32_t cacheLimit_;
+- ChunkPool *pool_;
++ bowtieChunkPool *pool_;
+ BitPairReference* refs_;
+ vector<String<Dna5> >& os_;
+ bool strandFix_;
+@@ -598,7 +598,7 @@ public:
+ RangeCache* cacheFw,
+ RangeCache* cacheBw,
+ uint32_t cacheLimit,
+- ChunkPool *pool,
++ bowtieChunkPool *pool,
+ BitPairReference* refs,
+ vector<String<Dna5> >& os,
+ bool reportSe,
+@@ -1375,7 +1375,7 @@ private:
+ RangeCache *cacheFw_;
+ RangeCache *cacheBw_;
+ const uint32_t cacheLimit_;
+- ChunkPool *pool_;
++ bowtieChunkPool *pool_;
+ BitPairReference* refs_;
+ vector<String<Dna5> >& os_;
+ const bool reportSe_;
+--- a/ebwt_search.cpp
++++ b/ebwt_search.cpp
+@@ -111,7 +111,7 @@ static bool strandFix; // attempt to fi
+ static bool randomizeQuals; // randomize quality values
+ static bool stats; // print performance stats
+ static int chunkPoolMegabytes; // max MB to dedicate to best-first search frames per thread
+-static int chunkSz; // size of single chunk disbursed by ChunkPool
++static int chunkSz; // size of single chunk disbursed by bowtieChunkPool
+ static bool chunkVerbose; // have chunk allocator output status messages?
+ static bool recal;
+ static int recalMaxCycle;
+@@ -223,7 +223,7 @@ static void resetOptions() {
+ randomizeQuals = false; // randomize quality values
+ stats = false; // print performance stats
+ chunkPoolMegabytes = 64; // max MB to dedicate to best-first search frames per thread
+- chunkSz = 256; // size of single chunk disbursed by ChunkPool (in KB)
++ chunkSz = 256; // size of single chunk disbursed by bowtieChunkPool (in KB)
+ chunkVerbose = false; // have chunk allocator output status messages?
+ recal = false;
+ recalMaxCycle = 64;
+@@ -1201,7 +1201,7 @@ static void exactSearchWorkerStateful(vo
+ PatternSourcePerThreadFactory* patsrcFact = createPatsrcFactory(_patsrc, tid);
+ HitSinkPerThreadFactory* sinkFact = createSinkFactory(_sink);
+
+- ChunkPool *pool = new ChunkPool(chunkSz * 1024, chunkPoolMegabytes * 1024 * 1024, chunkVerbose);
++ bowtieChunkPool *pool = new bowtieChunkPool(chunkSz * 1024, chunkPoolMegabytes * 1024 * 1024, chunkVerbose);
+ UnpairedExactAlignerV1Factory alSEfact(
+ ebwt,
+ NULL,
+@@ -1385,7 +1385,7 @@ static void mismatchSearchWorkerFullStat
+ // Global initialization
+ PatternSourcePerThreadFactory* patsrcFact = createPatsrcFactory(_patsrc, tid);
+ HitSinkPerThreadFactory* sinkFact = createSinkFactory(_sink);
+- ChunkPool *pool = new ChunkPool(chunkSz * 1024, chunkPoolMegabytes * 1024 * 1024, chunkVerbose);
++ bowtieChunkPool *pool = new bowtieChunkPool(chunkSz * 1024, chunkPoolMegabytes * 1024 * 1024, chunkVerbose);
+
+ Unpaired1mmAlignerV1Factory alSEfact(
+ ebwtFw,
+@@ -1687,7 +1687,7 @@ static void twoOrThreeMismatchSearchWork
+ PatternSourcePerThreadFactory* patsrcFact = createPatsrcFactory(_patsrc, tid);
+ HitSinkPerThreadFactory* sinkFact = createSinkFactory(_sink);
+
+- ChunkPool *pool = new ChunkPool(chunkSz * 1024, chunkPoolMegabytes * 1024 * 1024, chunkVerbose);
++ bowtieChunkPool *pool = new bowtieChunkPool(chunkSz * 1024, chunkPoolMegabytes * 1024 * 1024, chunkVerbose);
+ Unpaired23mmAlignerV1Factory alSEfact(
+ ebwtFw,
+ &ebwtBw,
+@@ -2156,7 +2156,7 @@ static void seededQualSearchWorkerFullSt
+ // Global initialization
+ PatternSourcePerThreadFactory* patsrcFact = createPatsrcFactory(_patsrc, tid);
+ HitSinkPerThreadFactory* sinkFact = createSinkFactory(_sink);
+- ChunkPool *pool = new ChunkPool(chunkSz * 1024, chunkPoolMegabytes * 1024 * 1024, chunkVerbose);
++ bowtieChunkPool *pool = new bowtieChunkPool(chunkSz * 1024, chunkPoolMegabytes * 1024 * 1024, chunkVerbose);
+
+ AlignerMetrics *metrics = NULL;
+ if(stats) {
+--- a/ebwt_search_backtrack.h
++++ b/ebwt_search_backtrack.h
+@@ -2724,7 +2724,7 @@ public:
+ bool verbose,
+ bool quiet,
+ bool mate1,
+- ChunkPool* pool,
++ bowtieChunkPool* pool,
+ int *btCnt) :
+ SingleRangeSourceDriver<EbwtRangeSource>(
+ params, rs, fw, sink, sinkPt, os, verbose,
+@@ -2927,7 +2927,7 @@ public:
+ bool verbose,
+ bool quiet,
+ bool mate1,
+- ChunkPool* pool,
++ bowtieChunkPool* pool,
+ int *btCnt = NULL) :
+ params_(params),
+ rs_(rs),
+@@ -2986,7 +2986,7 @@ protected:
+ bool verbose_;
+ bool quiet_;
+ bool mate1_;
+- ChunkPool* pool_;
++ bowtieChunkPool* pool_;
+ int *btCnt_;
+ };
+
+--- a/pool.h
++++ b/pool.h
+@@ -19,13 +19,13 @@
+ * is set at construction time. Heap memory is only allocated at
+ * construction and deallocated at destruction.
+ */
+-class ChunkPool {
++class bowtieChunkPool {
+ public:
+ /**
+ * Initialize a new pool with an initial size of about 'bytes'
+ * bytes. Exit with an error message if we can't allocate it.
+ */
+- ChunkPool(uint32_t chunkSz, uint32_t totSz, bool verbose_) :
++ bowtieChunkPool(uint32_t chunkSz, uint32_t totSz, bool verbose_) :
+ verbose(verbose_), patid(0), pool_(NULL), cur_(0),
+ chunkSz_(chunkSz), totSz_(totSz), lim_(totSz/chunkSz),
+ bits_(lim_), exhaustCrash_(false),
+@@ -38,7 +38,7 @@ public:
+ }
+ } catch(std::bad_alloc& e) {
+ ThreadSafe _ts(&gLock);
+- std::cerr << "Error: Could not allocate ChunkPool of "
++ std::cerr << "Error: Could not allocate bowtieChunkPool of "
+ << totSz << " bytes" << std::endl;
+ exhausted();
+ throw 1; // Exit if we haven't already
+@@ -48,7 +48,7 @@ public:
+ /**
+ * Delete all the pools.
+ */
+- ~ChunkPool() {
++ ~bowtieChunkPool() {
+ if(pool_ != NULL) delete[] pool_;
+ }
+
+@@ -189,7 +189,7 @@ public:
+ * Initialize a new pool with an initial size of about 'bytes'
+ * bytes. Exit with an error message if we can't allocate it.
+ */
+- AllocOnlyPool(ChunkPool* pool, const char *name) :
++ AllocOnlyPool(bowtieChunkPool* pool, const char *name) :
+ pool_(pool), name_(name), curPool_(0), cur_(0)
+ {
+ assert(pool != NULL);
+@@ -388,7 +388,7 @@ protected:
+ lastCurInPool_.pop_back();
+ }
+
+- ChunkPool* pool_;
++ bowtieChunkPool* pool_;
+ const char *name_;
+ std::vector<T*> pools_; /// the memory pools
+ uint32_t curPool_; /// pool we're current allocating from
+--- a/range_source.h
++++ b/range_source.h
+@@ -1388,7 +1388,7 @@ class PathManager {
+
+ public:
+
+- PathManager(ChunkPool* cpool_, int *btCnt, bool verbose, bool quiet) :
++ PathManager(bowtieChunkPool* cpool_, int *btCnt, bool verbose, bool quiet) :
+ branchQ_(verbose, quiet),
+ cpool(cpool_),
+ bpool(cpool, "branch"),
+@@ -1637,7 +1637,7 @@ protected:
+
+ public:
+
+- ChunkPool *cpool; // pool for generic chunks of memory
++ bowtieChunkPool *cpool; // pool for generic chunks of memory
+ AllocOnlyPool<Branch> bpool; // pool for allocating Branches
+ AllocOnlyPool<RangeState> rpool; // pool for allocating RangeStates
+ AllocOnlyPool<Edit> epool; // pool for allocating Edits
+@@ -1811,7 +1811,7 @@ public:
+ bool quiet,
+ bool mate1,
+ uint32_t minCostAdjustment,
+- ChunkPool* pool,
++ bowtieChunkPool* pool,
+ int *btCnt) :
+ RangeSourceDriver<TRangeSource>(true, minCostAdjustment),
+ len_(0), mate1_(mate1),
diff --git a/sci-biology/bowtie/files/bowtie-1.1.2-seqan-rename-fill-to-resize.patch b/sci-biology/bowtie/files/bowtie-1.1.2-seqan-rename-fill-to-resize.patch
new file mode 100644
index 000000000000..38664aeee989
--- /dev/null
+++ b/sci-biology/bowtie/files/bowtie-1.1.2-seqan-rename-fill-to-resize.patch
@@ -0,0 +1,85 @@
+Description: Renamed seqan::fill function calls to use seqan::resize.
+ SeqAn 1.3 renamed seqan::fill() to seqan::resize().
+ SeqAn ticket: http://trac.seqan.de/ticket/77
+Forwarded: no
+Author: Ognyan Kulev <ogi@debian.org>
+Last-Update: 2014-08-13
+
+--- a/blockwise_sa.h
++++ b/blockwise_sa.h
+@@ -456,8 +456,8 @@ void KarkkainenBlockwiseSA<TStr>::buildS
+ try {
+ // Allocate and initialize containers for holding bucket
+ // sizes and representatives.
+- fill(bucketSzs, numBuckets, 0, Exact());
+- fill(bucketReps, numBuckets, OFF_MASK, Exact());
++ resize(bucketSzs, numBuckets, 0, Exact());
++ resize(bucketReps, numBuckets, OFF_MASK, Exact());
+ } catch(bad_alloc &e) {
+ if(this->_passMemExc) {
+ throw e; // rethrow immediately
+@@ -816,7 +816,7 @@ void KarkkainenBlockwiseSA<TStr>::nextBl
+ // Not the last bucket
+ assert_lt(_cur, length(_sampleSuffs));
+ hi = _sampleSuffs[_cur];
+- fill(zHi, _dcV, 0, Exact());
++ resize(zHi, _dcV, 0, Exact());
+ assert_eq(zHi[0], 0);
+ calcZ(t, hi, zHi, this->verbose(), this->sanityCheck());
+ }
+@@ -825,7 +825,7 @@ void KarkkainenBlockwiseSA<TStr>::nextBl
+ assert_gt(_cur, 0);
+ assert_leq(_cur, length(_sampleSuffs));
+ lo = _sampleSuffs[_cur-1];
+- fill(zLo, _dcV, 0, Exact());
++ resize(zLo, _dcV, 0, Exact());
+ assert_gt(_dcV, 3);
+ assert_eq(zLo[0], 0);
+ calcZ(t, lo, zLo, this->verbose(), this->sanityCheck());
+--- a/diff_sample.h
++++ b/diff_sample.h
+@@ -452,7 +452,7 @@ static String<T> getDeltaMap(T v, const
+ // Declare anchor-map-related items
+ String<T> amap;
+ size_t amapEnts = 1;
+- fill(amap, v, 0xffffffff, Exact());
++ resize(amap, v, 0xffffffff, Exact());
+ amap[0] = 0;
+ // Print out difference cover (and optionally calculate
+ // anchor map)
+@@ -532,7 +532,7 @@ public:
+ assert_gt(_d, 0);
+ assert_eq(1, popCount(_v)); // must be power of 2
+ // Build map from d's to idx's
+- fill(_dInv, _v, 0xffffffff, Exact());
++ resize(_dInv, _v, 0xffffffff, Exact());
+ uint32_t lim = (uint32_t)length(_ds);
+ for(uint32_t i = 0; i < lim; i++) {
+ _dInv[_ds[i]] = i;
+@@ -656,7 +656,7 @@ void DifferenceCoverSample<TStr>::doBuil
+ VMSG_NL(" Doing sanity check");
+ TIndexOffU added = 0;
+ String<TIndexOffU> sorted;
+- fill(sorted, length(_isaPrime), OFF_MASK, Exact());
++ resize(sorted, length(_isaPrime), OFF_MASK, Exact());
+ for(size_t di = 0; di < this->d(); di++) {
+ uint32_t d = _ds[di];
+ size_t i = 0;
+@@ -717,7 +717,7 @@ void DifferenceCoverSample<TStr>::buildS
+ assert_eq(length(_doffs), d+1);
+ // Size sPrime appropriately
+ reserve(sPrime, sPrimeSz+1, Exact()); // reserve extra slot for LS
+- fill(sPrime, sPrimeSz, OFF_MASK, Exact());
++ resize(sPrime, sPrimeSz, OFF_MASK, Exact());
+ // Slot suffixes from text into sPrime according to the mu
+ // mapping; where the mapping would leave a blank, insert a 0
+ TIndexOffU added = 0;
+@@ -823,7 +823,7 @@ void DifferenceCoverSample<TStr>::build(
+ // arrays back into sPrime.
+ VMSG_NL(" Allocating rank array");
+ reserve(_isaPrime, length(sPrime)+1, Exact());
+- fill(_isaPrime, length(sPrime), OFF_MASK, Exact());
++ resize(_isaPrime, length(sPrime), OFF_MASK, Exact());
+ assert_gt(length(_isaPrime), 0);
+ {
+ Timer timer(cout, " Ranking v-sort output time: ", this->verbose());
diff --git a/sci-biology/bowtie/files/bowtie-1.1.2-spelling.patch b/sci-biology/bowtie/files/bowtie-1.1.2-spelling.patch
new file mode 100644
index 000000000000..ff484dfa3ebb
--- /dev/null
+++ b/sci-biology/bowtie/files/bowtie-1.1.2-spelling.patch
@@ -0,0 +1,48 @@
+Author: Andreas Tille <tille@debian.org>
+Last-Update: Thu, 01 Oct 2015 09:47:23 +0200
+Description: Fix spelling
+
+--- a/MANUAL
++++ b/MANUAL
+@@ -544,7 +544,7 @@ The `bowtie`, `bowtie-build` and `bowtie
+ actually wrapper scripts that call binary programs as appropriate. The
+ wrappers shield users from having to distinguish between "small" and
+ "large" index formats, discussed briefly in the following section. The
+-appropiate index type is selected based on the input size.
++appropriate index type is selected based on the input size.
+
+ It is recommended that you always run the bowtie wrappers and not run
+ the binaries directly.
+--- a/MANUAL.markdown
++++ b/MANUAL.markdown
+@@ -559,7 +559,7 @@ The `bowtie`, `bowtie-build` and `bowtie
+ actually wrapper scripts that call binary programs as appropriate. The
+ wrappers shield users from having to distinguish between "small" and
+ "large" index formats, discussed briefly in the following section. The
+-appropiate index type is selected based on the input size.
++appropriate index type is selected based on the input size.
+
+ It is recommended that you always run the bowtie wrappers and not run
+ the binaries directly.
+--- a/doc/manual.html
++++ b/doc/manual.html
+@@ -201,7 +201,7 @@ T2302111203131231130300111123220
+ <p>Like other platforms, SOLiD supports generation of paired-end reads. When colorspace alignment is enabled, the default paired-end orientation setting is <a href="#bowtie-options-fr"><code>--ff</code></a>. This is because most SOLiD datasets have that orientation.</p>
+ <p>Note that SOLiD-generated read files can have &quot;orphaned&quot; mates; i.e. mates without a correpsondingly-named mate in the other file. To avoid problems due to orphaned mates, SOLiD paired-end output should first be converted to <code>.csfastq</code> files with unpaired mates omitted. This can be accomplished using, for example, [Galaxy]'s conversion tool (click &quot;NGS: QC and manipulation&quot;, then &quot;SOLiD-to-FASTQ&quot; in the left-hand sidebar).</p>
+ <h2 id="wrapper-scripts">Wrapper scripts</h2>
+-<p>The <code>bowtie</code>, <code>bowtie-build</code> and <code>bowtie-inspect</code> executables are actually wrapper scripts that call binary programs as appropriate. The wrappers shield users from having to distinguish between &quot;small&quot; and &quot;large&quot; index formats, discussed briefly in the following section. The appropiate index type is selected based on the input size.</p>
++<p>The <code>bowtie</code>, <code>bowtie-build</code> and <code>bowtie-inspect</code> executables are actually wrapper scripts that call binary programs as appropriate. The wrappers shield users from having to distinguish between &quot;small&quot; and &quot;large&quot; index formats, discussed briefly in the following section. The appropriate index type is selected based on the input size.</p>
+ <p>It is recommended that you always run the bowtie wrappers and not run the binaries directly.</p>
+ <h2 id="small-and-large-indexes">Small and large indexes</h2>
+ <p><code>bowtie-build</code> can index reference genomes of any size. For genomes less than about 4 billion nucleotides in length, <code>bowtie-build</code> builds a &quot;small&quot; index using 32-bit numbers in various parts of the index. When the genome is longer, <code>bowtie-build</code> builds a &quot;large&quot; index using 64-bit numbers. Small indexes are stored in files with the <code>.ebwt</code> extension, and large indexes are stored in files with the <code>.ebwtl</code> extension. The user need not worry about whether a particular index is small or large; the wrapper scripts will automatically build and use the appropriate index.</p>
+--- a/ref_read.cpp
++++ b/ref_read.cpp
+@@ -263,7 +263,7 @@ fastaRefReadSizes(vector<FileBuf*>& in,
+ << "reference into smaller chunks and index each independently." << endl;
+ #else
+ cerr << "Error: Reference sequence has more than 2^32-1 characters! Please try to" << endl
+- << "build a large index instead using the appropiate options." << endl;
++ << "build a large index instead using the appropriate options." << endl;
+ #endif
+ throw 1;
+ }
diff --git a/sci-biology/bowtie/files/bowtie-1.1.2-tbb-tinythread-missing.patch b/sci-biology/bowtie/files/bowtie-1.1.2-tbb-tinythread-missing.patch
new file mode 100644
index 000000000000..bc0f1d09557d
--- /dev/null
+++ b/sci-biology/bowtie/files/bowtie-1.1.2-tbb-tinythread-missing.patch
@@ -0,0 +1,18 @@
+Fixes missing tinythread.cpp when using TBB:
+
+ebwt_search.cpp:(.text+0x91bb): undefined reference to `tthread::thread::join()'
+
+--- bowtie-1.1.2/Makefile
++++ bowtie-1.1.2/Makefile
+@@ -106,10 +106,7 @@
+ endif
+
+ OTHER_CPPS = ccnt_lut.cpp ref_read.cpp alphabet.cpp shmem.cpp \
+- edit.cpp ebwt.cpp
+-ifneq (1,$(WITH_TBB))
+- OTHER_CPPS += tinythread.cpp
+-endif
++ edit.cpp ebwt.cpp tinythread.cpp
+
+ SEARCH_CPPS = qual.cpp pat.cpp ebwt_search_util.cpp ref_aligner.cpp \
+ log.cpp hit_set.cpp refmap.cpp annot.cpp sam.cpp \
diff --git a/sci-biology/bowtie/files/bowtie-1.1.2-unbundle-seqan.patch b/sci-biology/bowtie/files/bowtie-1.1.2-unbundle-seqan.patch
new file mode 100644
index 000000000000..54391ae415a3
--- /dev/null
+++ b/sci-biology/bowtie/files/bowtie-1.1.2-unbundle-seqan.patch
@@ -0,0 +1,27 @@
+Description: Use Debian packaged SeqAn library instead of copy in upstream source
+Author: Andreas Tille <tille@debian.org>
+Date: 2011-01-30
+Last-Update: 2013-04-18
+Reviewed-by: Ognyan Kulev <ogi@debian.org>
+
+--- a/Makefile
++++ b/Makefile
+@@ -5,9 +5,7 @@
+ prefix = /usr/local
+ bindir = $(prefix)/bin
+
+-SEQAN_DIR = SeqAn-1.1
+-SEQAN_INC = -I $(SEQAN_DIR)
+-INC = $(SEQAN_INC) -I third_party
++INC = `pkg-config --cflags seqan-1.4`
+ CPP = g++
+ CXX = $(CPP)
+ CC = gcc
+@@ -168,7 +166,6 @@
+ $(wildcard genomes/NC_008253.fna) \
+ $(wildcard reads/e_coli_1000.*) \
+ $(wildcard reads/e_coli_1000_*) \
+- SeqAn-1.1 \
+ bowtie \
+ bowtie-build \
+ bowtie-inspect \
diff --git a/sci-biology/bowtie/files/bowtie-2.2.9-fix-c++14.patch b/sci-biology/bowtie/files/bowtie-2.2.9-fix-c++14.patch
new file mode 100644
index 000000000000..cd2a67b6a52b
--- /dev/null
+++ b/sci-biology/bowtie/files/bowtie-2.2.9-fix-c++14.patch
@@ -0,0 +1,29 @@
+Fix building with C++14, which errors out due to differing semantics between C++98
+and C++14 with regards to allowing destructors to throw exceptions.
+See also: https://bugs.gentoo.org/show_bug.cgi?id=593966
+
+--- a/blockwise_sa.h
++++ b/blockwise_sa.h
+@@ -87,7 +87,11 @@
+ _logger(__logger)
+ { }
+
+- virtual ~BlockwiseSA() { }
++ virtual ~BlockwiseSA()
++#if __cplusplus >= 201103L
++ noexcept(false)
++#endif
++ { }
+
+ /**
+ * Get the next suffix; compute the next bucket if necessary.
+@@ -216,6 +220,9 @@
+ { _randomSrc.init(__seed); reset(); }
+
+ ~KarkkainenBlockwiseSA()
++#if __cplusplus >= 201103L
++ noexcept(false)
++#endif
+ {
+ #ifdef WITH_TBB
+ tbb_grp.wait();
diff --git a/sci-biology/bowtie/metadata.xml b/sci-biology/bowtie/metadata.xml
new file mode 100644
index 000000000000..71e8d3bb8e0f
--- /dev/null
+++ b/sci-biology/bowtie/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">bowtie-bio</remote-id>
+ </upstream>
+ <use>
+ <flag name="tbb">Enables building bowtie with the Intel
+ Threading Building Blocks from <pkg>dev-cpp/tbb</pkg>. This
+ flag is recommended.</flag>
+ </use>
+</pkgmetadata>