aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Mokrejš <mmokrejs@fold.natur.cuni.cz>2015-05-11 18:09:28 +0200
committerMartin Mokrejš <mmokrejs@fold.natur.cuni.cz>2015-05-11 18:09:28 +0200
commit9de36f0052f04b80223de81c59c9125a5e95fef5 (patch)
tree5d72897dc78d599ce4bd0700ece6161cd3288f69 /sci-biology/samtools
parentsci-biology/snphylo: new package, needs some R packages and we have to avoid ... (diff)
downloadsci-9de36f0052f04b80223de81c59c9125a5e95fef5.tar.gz
sci-9de36f0052f04b80223de81c59c9125a5e95fef5.tar.bz2
sci-9de36f0052f04b80223de81c59c9125a5e95fef5.zip
sci-biology/samtools: fix core dump on 'samtools rmdup' by adding bam_get_library() from an upstream patch from https://github.com/samtools/samtools/issues/138
Package-Manager: portage-2.2.18
Diffstat (limited to 'sci-biology/samtools')
-rw-r--r--sci-biology/samtools/ChangeLog17
-rw-r--r--sci-biology/samtools/Manifest3
-rw-r--r--sci-biology/samtools/files/samtools-1.0-buildsystem.patch59
-rw-r--r--sci-biology/samtools/files/samtools-1.0-rmdup.patch47
-rw-r--r--sci-biology/samtools/files/samtools-1.1-buildsystem.patch153
-rw-r--r--sci-biology/samtools/files/samtools-1.1-rmdup.patch47
-rw-r--r--sci-biology/samtools/files/samtools-1.2-buildsystem.patch193
-rw-r--r--sci-biology/samtools/files/samtools-1.2-rmdup.patch47
-rw-r--r--sci-biology/samtools/metadata.xml5
-rw-r--r--sci-biology/samtools/samtools-1.0-r2.ebuild74
-rw-r--r--sci-biology/samtools/samtools-1.1-r1.ebuild84
-rw-r--r--sci-biology/samtools/samtools-1.2-r1.ebuild84
12 files changed, 813 insertions, 0 deletions
diff --git a/sci-biology/samtools/ChangeLog b/sci-biology/samtools/ChangeLog
new file mode 100644
index 000000000..5e1efcee7
--- /dev/null
+++ b/sci-biology/samtools/ChangeLog
@@ -0,0 +1,17 @@
+# ChangeLog for sci-biology/samtools
+# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*samtools-1.0-r2 (11 May 2015)
+*samtools-1.1-r1 (11 May 2015)
+*samtools-1.2-r1 (11 May 2015)
+
+ 11 May 2015; Martin Mokrejs <mmokrejs@fold.natur.cuni.cz>
+ +files/samtools-1.0-buildsystem.patch, +files/samtools-1.0-rmdup.patch,
+ +files/samtools-1.1-buildsystem.patch, +files/samtools-1.1-rmdup.patch,
+ +files/samtools-1.2-buildsystem.patch, +files/samtools-1.2-rmdup.patch,
+ +metadata.xml, +samtools-1.0-r2.ebuild, +samtools-1.1-r1.ebuild,
+ +samtools-1.2-r1.ebuild:
+ sci-biology/samtools: fix core dump on 'samtools rmdup' by adding
+ bam_get_library() from an upstream patch from
+ https://github.com/samtools/samtools/issues/138
diff --git a/sci-biology/samtools/Manifest b/sci-biology/samtools/Manifest
new file mode 100644
index 000000000..867b5820b
--- /dev/null
+++ b/sci-biology/samtools/Manifest
@@ -0,0 +1,3 @@
+DIST samtools-1.0.tar.bz2 4459669 SHA256 7340b843663c3f54a902a06f2f73c68198f3a62d29a2ed20671139957f7fd7c0 SHA512 5b80995c522d08b06a4c559f60a5e200d9085be7f44c3c9618db91e3de85e36c1473e42715eae8175520d7da3df8245bafa82e625d2fc08e0197adb395851693 WHIRLPOOL 2aa0f8639da9b0b828ca7296969e5c600b0e5452ad3231b914e4a7be418700906a4d695c928eaf837b643255567ec82cfadf0b53007e0f1e3a956856f6c4c832
+DIST samtools-1.1.tar.bz2 4495373 SHA256 c24d26c303153d72b5bf3cc11f72c6c375a4ca1140cc485648c8c5473414b7f8 SHA512 a5552a6c8c4b0808b725b39ddb2fafa36c4f6623bfc7f84faadae7690223e4eec8d722af09c77145796ad9b3f01e04115dd0207207ccfafbb52ffc22d5fc09f0 WHIRLPOOL ed3131b2a8d8b4dab40b53d35a9b00b657670a949dc1597c91fbcd00392c1c1715a85a1d1e49bf0c73ae082738ccfb13d2c6809dbbeba17ff3028f6023ebc449
+DIST samtools-1.2.tar.bz2 4547126 SHA256 420e7a4a107fe37619b9d300b6379452eb8eb04a4a9b65c3ec69de82ccc26daa SHA512 4849c3274e732267516b63799f5430c5415d575d46eddf6b704dac51053281094b03b90dd9f5367bcd14c22fb0fb1bd6a412f7d4225f7be5f5385437c5d2101d WHIRLPOOL 273185764a807365a20c381769f987ef02d14ae8e20a3a7fd5af4344769c5fab68d7155523e8c0c8c3cc86092898c2c8454cce8f1560d415bc2b41549cdf04f4
diff --git a/sci-biology/samtools/files/samtools-1.0-buildsystem.patch b/sci-biology/samtools/files/samtools-1.0-buildsystem.patch
new file mode 100644
index 000000000..53a8b66f9
--- /dev/null
+++ b/sci-biology/samtools/files/samtools-1.0-buildsystem.patch
@@ -0,0 +1,59 @@
+ Makefile | 26 ++++++++++++++++++--------
+ 1 file changed, 18 insertions(+), 8 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index ae59abf..0d2788c 100644
+--- a/Makefile
++++ b/Makefile
+@@ -21,11 +21,12 @@
+ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ # DEALINGS IN THE SOFTWARE.
+
+-CC = gcc
+-CPPFLAGS = $(DFLAGS) $(INCLUDES)
+-CFLAGS = -g -Wall -O2
+-LDFLAGS =
+-LDLIBS =
++CC ?= gcc
++CPPFLAGS += $(DFLAGS) $(INCLUDES)
++CFLAGS ?= -g -Wall -O2
++LDFLAGS +=
++LDLIBS +=
++BAMLIB ?= libbam.a
+ DFLAGS= -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_CURSES_LIB=1
+ LOBJS= bam_aux.o bam.o bam_import.o sam.o \
+ sam_header.o bam_plbuf.o
+@@ -42,6 +43,7 @@ LIBCURSES= -lcurses # -lXCurses
+ prefix = /usr/local
+ exec_prefix = $(prefix)
+ bindir = $(exec_prefix)/bin
++bindir = $(exec_prefix)/lib
+ mandir = $(prefix)/share/man
+ man1dir = $(mandir)/man1
+
+@@ -115,14 +117,22 @@ version.h:
+ .c.o:
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
+
++$(LOBJS):
++ $(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -c -o $@ $<
+
+-lib:libbam.a
++
++lib:libbam.a libbam.so.1.0
+
+ libbam.a:$(LOBJS)
+ $(AR) -csru $@ $(LOBJS)
+
+-samtools: $(AOBJS) libbam.a $(HTSLIB)
+- $(CC) -pthread $(LDFLAGS) -o $@ $(AOBJS) libbam.a $(HTSLIB) $(LDLIBS) $(LIBCURSES) -lm -lz
++libbam.so.1.0:$(LOBJS)
++ $(CC) $(LDFLAGS) -shared -Wl,--soname,$@ -o $@ $(LOBJS) $(HTSLIB) -lz
++ ln -sf $@ libbam.so.0
++ ln -sf $@ libbam.so
++
++samtools: $(AOBJS) $(HTSLIB) lib
++ $(CC) -pthread $(LDFLAGS) -o $@ $(AOBJS) $(BAMLIB) $(HTSLIB) $(LDLIBS) $(LIBCURSES) -lm -lz
+
+ bam_h = bam.h $(htslib_bgzf_h) $(htslib_sam_h)
+ bam2bcf_h = bam2bcf.h $(htslib_vcf_h) errmod.h
diff --git a/sci-biology/samtools/files/samtools-1.0-rmdup.patch b/sci-biology/samtools/files/samtools-1.0-rmdup.patch
new file mode 100644
index 000000000..023b5d73d
--- /dev/null
+++ b/sci-biology/samtools/files/samtools-1.0-rmdup.patch
@@ -0,0 +1,47 @@
+From 05fb5c2e17576b1d0ea5a0b8203b9eba236f2455 Mon Sep 17 00:00:00 2001
+From: kirkmcclure <kirkmcclure@users.noreply.github.com>
+Date: Mon, 23 Mar 2015 05:35:00 -0800
+Subject: [PATCH] Update bam.c
+
+ For issue #138 - Samtools view -l no longer works.
+Implement bam_get_library()
+---
+ bam.c | 23 ++++++++++++-----------
+ 1 file changed, 12 insertions(+), 11 deletions(-)
+
+diff --git a/bam.c b/bam.c
+index f909b7e..864d3f0 100644
+--- a/bam.c
++++ b/bam.c
+@@ -61,19 +61,20 @@ int bam_validate1(const bam_header_t *header, const bam1_t *b)
+ return 1;
+ }
+
+-// FIXME: we should also check the LB tag associated with each alignment
+ const char *bam_get_library(bam_header_t *h, const bam1_t *b)
+ {
+-#if 0
+- const uint8_t *rg;
+- if (h->dict == 0) h->dict = sam_header_parse2(h->text);
+- if (h->rg2lib == 0) h->rg2lib = sam_header2tbl(h->dict, "RG", "ID", "LB");
+- rg = bam_aux_get(b, "RG");
+- return (rg == 0)? 0 : sam_tbl_get(h->rg2lib, (const char*)(rg + 1));
+-#else
+- fprintf(stderr, "Samtools-htslib-API: bam_get_library() not yet implemented\n");
+- abort();
+-#endif
++ const uint8_t *rg = 0;
++ const uint8_t *pLibName, *pDict;
++ if ( b != 0 && h != 0 ) {
++ if ( (rg = bam_aux_get(b, "RG") ) != 0
++ && (pDict = sam_header_parse2(h->text)) != 0 ) {
++ pLibName = sam_header2tbl(pDict, "RG", "ID", "LB");
++ if ( pLibName && strlen( (char*)pLibName ) > 0 ) {
++ return sam_tbl_get((void*)pLibName, (const char*)(rg + 1));
++ }
++ }
++ }
++ return 0;
+ }
+
+ int bam_fetch(bamFile fp, const bam_index_t *idx, int tid, int beg, int end, void *data, bam_fetch_f func)
diff --git a/sci-biology/samtools/files/samtools-1.1-buildsystem.patch b/sci-biology/samtools/files/samtools-1.1-buildsystem.patch
new file mode 100644
index 000000000..b9ae77de6
--- /dev/null
+++ b/sci-biology/samtools/files/samtools-1.1-buildsystem.patch
@@ -0,0 +1,153 @@
+ Makefile | 76 ++++++++++++++++++++++++++++++++++++----------------------------
+ 1 file changed, 43 insertions(+), 33 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 43cefc3..743dd07 100644
+--- a/Makefile
++++ b/Makefile
+@@ -21,11 +21,12 @@
+ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ # DEALINGS IN THE SOFTWARE.
+
+-CC = gcc
+-CPPFLAGS = $(DFLAGS) $(INCLUDES)
+-CFLAGS = -g -Wall -O2
+-LDFLAGS =
+-LDLIBS =
++CC ?= gcc
++CPPFLAGS += $(DFLAGS) $(INCLUDES)
++CFLAGS ?= -g -Wall -O2
++LDFLAGS +=
++LDLIBS +=
++BAMLIB ?= libbam.a
+ DFLAGS= -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_CURSES_LIB=1
+ LOBJS= bam_aux.o bam.o bam_import.o sam.o \
+ sam_header.o bam_plbuf.o
+@@ -42,6 +43,7 @@ LIBCURSES= -lcurses # -lXCurses
+ prefix = /usr/local
+ exec_prefix = $(prefix)
+ bindir = $(exec_prefix)/bin
++libdir = $(exec_prefix)/lib
+ mandir = $(prefix)/share/man
+ man1dir = $(mandir)/man1
+
+@@ -115,63 +117,71 @@ version.h:
+ .c.o:
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
+
++$(LOBJS):
++ $(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -c -o $@ $<
+
+-lib:libbam.a
++
++lib:libbam.a libbam.so.1.0
+
+ libbam.a:$(LOBJS)
+ $(AR) -csru $@ $(LOBJS)
+
+-samtools: $(AOBJS) libbam.a $(HTSLIB)
+- $(CC) -pthread $(LDFLAGS) -o $@ $(AOBJS) libbam.a $(HTSLIB) $(LDLIBS) $(LIBCURSES) -lm -lz
++libbam.so.1.0:$(LOBJS)
++ $(CC) $(LDFLAGS) -shared -Wl,--soname,$@ -o $@ $(LOBJS) $(HTSLIB) -lz
++ ln -sf $@ libbam.so.0
++ ln -sf $@ libbam.so
++
++samtools: $(AOBJS) lib
++ $(CC) -pthread $(LDFLAGS) -o $@ $(AOBJS) $(BAMLIB) $(HTSLIB) $(LDLIBS) $(LIBCURSES) -lm -lz
+
+ bam_h = bam.h $(htslib_bgzf_h) $(htslib_sam_h)
+ bam2bcf_h = bam2bcf.h $(htslib_vcf_h) errmod.h
+ bam_lpileup_h = bam_lpileup.h $(htslib_sam_h)
+ bam_plbuf_h = bam_plbuf.h $(htslib_sam_h)
+-bam_tview_h = bam_tview.h $(htslib_hts_h) $(htslib_sam_h) $(htslib_faidx_h) $(bam2bcf_h) $(HTSDIR)/htslib/khash.h $(bam_lpileup_h)
++bam_tview_h = bam_tview.h $(htslib_hts_h) $(htslib_sam_h) $(htslib_faidx_h) $(bam2bcf_h) $(bam_lpileup_h)
+ sam_h = sam.h $(htslib_sam_h) $(bam_h)
+-sample_h = sample.h $(HTSDIR)/htslib/kstring.h
++sample_h = sample.h
+
+ bam.o: bam.c $(bam_h) sam_header.h
+-bam2bcf.o: bam2bcf.c $(htslib_sam_h) $(HTSDIR)/htslib/kstring.h $(HTSDIR)/htslib/kfunc.h $(bam2bcf_h) errmod.h
++bam2bcf.o: bam2bcf.c $(htslib_sam_h) $(bam2bcf_h) errmod.h
+ bam2bcf_indel.o: bam2bcf_indel.c bam2bcf.h
+ bam2depth.o: bam2depth.c $(htslib_sam_h) samtools.h
+ bam_aux.o: bam_aux.c
+ bam_cat.o: bam_cat.c $(htslib_bgzf_h) $(bam_h)
+ bam_color.o: bam_color.c $(bam_h)
+-bam_import.o: bam_import.c $(HTSDIR)/htslib/kstring.h $(bam_h) $(HTSDIR)/htslib/kseq.h
+-bam_index.o: bam_index.c $(htslib_hts_h) $(htslib_sam_h) $(HTSDIR)/htslib/khash.h
+-bam_lpileup.o: bam_lpileup.c $(bam_plbuf_h) $(bam_lpileup_h) $(HTSDIR)/htslib/ksort.h
++bam_import.o: bam_import.c $(bam_h)
++bam_index.o: bam_index.c $(htslib_hts_h) $(htslib_sam_h)
++bam_lpileup.o: bam_lpileup.c $(bam_plbuf_h) $(bam_lpileup_h)
+ bam_mate.o: bam_mate.c $(bam_h)
+ bam_md.o: bam_md.c $(htslib_faidx_h) $(sam_h) kaln.h kprobaln.h
+ bam_pileup.o: bam_pileup.c $(sam_h)
+ bam_plbuf.o: bam_plbuf.c $(htslib_hts_h) $(htslib_sam_h) $(bam_plbuf_h)
+-bam_plcmd.o: bam_plcmd.c $(htslib_sam_h) $(htslib_faidx_h) $(HTSDIR)/htslib/kstring.h $(HTSDIR)/htslib/khash_str2int.h sam_header.h samtools.h $(bam2bcf_h) $(sample_h)
++bam_plcmd.o: bam_plcmd.c $(htslib_sam_h) $(htslib_faidx_h) sam_header.h samtools.h $(bam2bcf_h) $(sample_h)
+ bam_reheader.o: bam_reheader.c $(htslib_bgzf_h) $(bam_h)
+-bam_rmdup.o: bam_rmdup.c $(sam_h) $(HTSDIR)/htslib/khash.h
+-bam_rmdupse.o: bam_rmdupse.c $(sam_h) $(HTSDIR)/htslib/khash.h $(HTSDIR)/htslib/klist.h
+-bam_sort.o: bam_sort.c $(HTSDIR)/htslib/ksort.h $(HTSDIR)/htslib/khash.h $(HTSDIR)/htslib/klist.h $(HTSDIR)/htslib/kstring.h $(htslib_sam_h)
++bam_rmdup.o: bam_rmdup.c $(sam_h)
++bam_rmdupse.o: bam_rmdupse.c $(sam_h)
++bam_sort.o: bam_sort.c $(htslib_sam_h)
+ bam_stat.o: bam_stat.c $(bam_h) samtools.h
+ bam_tview.o: bam_tview.c $(bam_tview_h) $(htslib_faidx_h) $(htslib_sam_h) $(htslib_bgzf_h)
+ bam_tview_curses.o: bam_tview_curses.c $(bam_tview_h)
+ bam_tview_html.o: bam_tview_html.c $(bam_tview_h)
+ bam_flags.o: bam_flags.c $(sam_h)
+-bamshuf.o: bamshuf.c $(htslib_sam_h) $(HTSDIR)/htslib/ksort.h samtools.h
++bamshuf.o: bamshuf.c $(htslib_sam_h) samtools.h
+ bamtk.o: bamtk.c $(bam_h) version.h samtools.h
+-bedcov.o: bedcov.c $(HTSDIR)/htslib/kstring.h $(htslib_sam_h) $(HTSDIR)/htslib/kseq.h
+-bedidx.o: bedidx.c $(HTSDIR)/htslib/ksort.h $(HTSDIR)/htslib/kseq.h $(HTSDIR)/htslib/khash.h
++bedcov.o: bedcov.c $(htslib_sam_h)
++bedidx.o: bedidx.c
+ cut_target.o: cut_target.c $(bam_h) errmod.h $(htslib_faidx_h)
+-errmod.o: errmod.c errmod.h $(HTSDIR)/htslib/ksort.h
++errmod.o: errmod.c errmod.h
+ kaln.o: kaln.c kaln.h
+ kprobaln.o: kprobaln.c kprobaln.h
+ padding.o: padding.c sam_header.h $(sam_h) $(bam_h) $(htslib_faidx_h)
+-phase.o: phase.c $(htslib_sam_h) errmod.h $(HTSDIR)/htslib/kseq.h $(HTSDIR)/htslib/khash.h $(HTSDIR)/htslib/ksort.h
++phase.o: phase.c $(htslib_sam_h) errmod.h
+ sam.o: sam.c $(htslib_faidx_h) $(sam_h)
+-sam_header.o: sam_header.c sam_header.h $(HTSDIR)/htslib/khash.h
+-sam_view.o: sam_view.c $(htslib_sam_h) $(htslib_faidx_h) $(HTSDIR)/htslib/kstring.h $(HTSDIR)/htslib/khash.h samtools.h
+-sample.o: sample.c $(sample_h) $(HTSDIR)/htslib/khash.h
+-stats_isize.o: stats_isize.c stats_isize.h $(HTSDIR)/htslib/khash.h
+-stats.o: stats.c $(sam_h) sam_header.h samtools.h stats_isize.h $(HTSDIR)/htslib/khash.h $(HTSDIR)/htslib/khash_str2int.h $(htslib_faidx_h)
++sam_header.o: sam_header.c sam_header.h
++sam_view.o: sam_view.c $(htslib_sam_h) $(htslib_faidx_h) samtools.h
++sample.o: sample.c $(sample_h)
++stats_isize.o: stats_isize.c stats_isize.h
++stats.o: stats.c $(sam_h) sam_header.h samtools.h stats_isize.h $(htslib_faidx_h)
+
+
+ # test programs
+@@ -179,8 +189,8 @@ stats.o: stats.c $(sam_h) sam_header.h samtools.h stats_isize.h $(HTSDIR)/htslib
+ # For tests that might use it, set $REF_PATH explicitly to use only reference
+ # areas within the test suite (or set it to ':' to use no reference areas).
+ # (regression.sh sets $REF_PATH to a subdirectory itself.)
+-check test: samtools $(BGZIP) $(BUILT_TEST_PROGRAMS)
+- REF_PATH=: test/test.pl --exec bgzip=$(BGZIP)
++check test: samtools $(BUILT_TEST_PROGRAMS)
++ REF_PATH=: test/test.pl --exec bgzip=bgzip
+ test/merge/test_bam_translate test/merge/test_bam_translate.tmp
+ test/merge/test_pretty_header
+ test/merge/test_rtrans_build
+@@ -253,10 +263,10 @@ misc/md5sum-lite: misc/md5sum-lite.o
+ misc/wgsim: misc/wgsim.o
+ $(CC) $(LDFLAGS) -o $@ misc/wgsim.o $(LDLIBS) -lm -lz
+
+-misc/ace2sam.o: misc/ace2sam.c $(HTSDIR)/htslib/kstring.h $(HTSDIR)/htslib/kseq.h
++misc/ace2sam.o: misc/ace2sam.c
+ misc/md5.o: misc/md5.c misc/md5.h
+-misc/md5fa.o: misc/md5fa.c misc/md5.h $(HTSDIR)/htslib/kseq.h
+-misc/wgsim.o: misc/wgsim.c $(HTSDIR)/htslib/kseq.h
++misc/md5fa.o: misc/md5fa.c misc/md5.h
++misc/wgsim.o: misc/wgsim.c
+
+ misc/maq2sam-short.o: misc/maq2sam.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ misc/maq2sam.c
diff --git a/sci-biology/samtools/files/samtools-1.1-rmdup.patch b/sci-biology/samtools/files/samtools-1.1-rmdup.patch
new file mode 100644
index 000000000..023b5d73d
--- /dev/null
+++ b/sci-biology/samtools/files/samtools-1.1-rmdup.patch
@@ -0,0 +1,47 @@
+From 05fb5c2e17576b1d0ea5a0b8203b9eba236f2455 Mon Sep 17 00:00:00 2001
+From: kirkmcclure <kirkmcclure@users.noreply.github.com>
+Date: Mon, 23 Mar 2015 05:35:00 -0800
+Subject: [PATCH] Update bam.c
+
+ For issue #138 - Samtools view -l no longer works.
+Implement bam_get_library()
+---
+ bam.c | 23 ++++++++++++-----------
+ 1 file changed, 12 insertions(+), 11 deletions(-)
+
+diff --git a/bam.c b/bam.c
+index f909b7e..864d3f0 100644
+--- a/bam.c
++++ b/bam.c
+@@ -61,19 +61,20 @@ int bam_validate1(const bam_header_t *header, const bam1_t *b)
+ return 1;
+ }
+
+-// FIXME: we should also check the LB tag associated with each alignment
+ const char *bam_get_library(bam_header_t *h, const bam1_t *b)
+ {
+-#if 0
+- const uint8_t *rg;
+- if (h->dict == 0) h->dict = sam_header_parse2(h->text);
+- if (h->rg2lib == 0) h->rg2lib = sam_header2tbl(h->dict, "RG", "ID", "LB");
+- rg = bam_aux_get(b, "RG");
+- return (rg == 0)? 0 : sam_tbl_get(h->rg2lib, (const char*)(rg + 1));
+-#else
+- fprintf(stderr, "Samtools-htslib-API: bam_get_library() not yet implemented\n");
+- abort();
+-#endif
++ const uint8_t *rg = 0;
++ const uint8_t *pLibName, *pDict;
++ if ( b != 0 && h != 0 ) {
++ if ( (rg = bam_aux_get(b, "RG") ) != 0
++ && (pDict = sam_header_parse2(h->text)) != 0 ) {
++ pLibName = sam_header2tbl(pDict, "RG", "ID", "LB");
++ if ( pLibName && strlen( (char*)pLibName ) > 0 ) {
++ return sam_tbl_get((void*)pLibName, (const char*)(rg + 1));
++ }
++ }
++ }
++ return 0;
+ }
+
+ int bam_fetch(bamFile fp, const bam_index_t *idx, int tid, int beg, int end, void *data, bam_fetch_f func)
diff --git a/sci-biology/samtools/files/samtools-1.2-buildsystem.patch b/sci-biology/samtools/files/samtools-1.2-buildsystem.patch
new file mode 100644
index 000000000..2343b2245
--- /dev/null
+++ b/sci-biology/samtools/files/samtools-1.2-buildsystem.patch
@@ -0,0 +1,193 @@
+ Makefile | 94 +++++++++++++++++++++++++++++++++++-----------------------------
+ 1 file changed, 52 insertions(+), 42 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index e368cee..9054526 100644
+--- a/Makefile
++++ b/Makefile
+@@ -21,11 +21,12 @@
+ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ # DEALINGS IN THE SOFTWARE.
+
+-CC = gcc
+-CPPFLAGS = $(DFLAGS) $(INCLUDES)
+-CFLAGS = -g -Wall -O2
+-LDFLAGS =
+-LDLIBS =
++CC ?= gcc
++CPPFLAGS += $(DFLAGS) $(INCLUDES)
++CFLAGS ?= -g -Wall -O2
++LDFLAGS +=
++LDLIBS +=
++BAMLIB ?= libbam.a
+ DFLAGS= -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_CURSES_LIB=1
+ LOBJS= bam_aux.o bam.o bam_import.o sam.o \
+ sam_header.o bam_plbuf.o
+@@ -42,6 +43,7 @@ LIBCURSES= -lcurses # -lXCurses
+ prefix = /usr/local
+ exec_prefix = $(prefix)
+ bindir = $(exec_prefix)/bin
++libdir = $(exec_prefix)/lib
+ mandir = $(prefix)/share/man
+ man1dir = $(mandir)/man1
+
+@@ -115,62 +117,70 @@ version.h:
+ .c.o:
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
+
++$(LOBJS):
++ $(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -c -o $@ $<
+
+-lib:libbam.a
++
++lib:libbam.a libbam.so.1.0
+
+ libbam.a:$(LOBJS)
+ $(AR) -csru $@ $(LOBJS)
+
+-samtools: $(AOBJS) libbam.a $(HTSLIB)
+- $(CC) -pthread $(LDFLAGS) -o $@ $(AOBJS) libbam.a $(HTSLIB) $(LDLIBS) $(LIBCURSES) -lm -lz
++libbam.so.1.0:$(LOBJS)
++ $(CC) $(LDFLAGS) -shared -Wl,--soname,$@ -o $@ $(LOBJS) $(HTSLIB) -lz
++ ln -sf $@ libbam.so.0
++ ln -sf $@ libbam.so
++
++samtools: $(AOBJS) lib
++ $(CC) -pthread $(LDFLAGS) -o $@ $(AOBJS) $(BAMLIB) $(HTSLIB) $(LDLIBS) $(LIBCURSES) -lm -lz
+
+ bam_h = bam.h $(htslib_bgzf_h) $(htslib_sam_h)
+ bam2bcf_h = bam2bcf.h $(htslib_vcf_h) errmod.h
+ bam_lpileup_h = bam_lpileup.h $(htslib_sam_h)
+ bam_plbuf_h = bam_plbuf.h $(htslib_sam_h)
+-bam_tview_h = bam_tview.h $(htslib_hts_h) $(htslib_sam_h) $(htslib_faidx_h) $(bam2bcf_h) $(HTSDIR)/htslib/khash.h $(bam_lpileup_h)
++bam_tview_h = bam_tview.h $(htslib_hts_h) $(htslib_sam_h) $(htslib_faidx_h) $(bam2bcf_h) $(bam_lpileup_h)
+ sam_h = sam.h $(htslib_sam_h) $(bam_h)
+-sample_h = sample.h $(HTSDIR)/htslib/kstring.h
++sample_h = sample.h
+
+ bam.o: bam.c $(bam_h) sam_header.h
+-bam2bcf.o: bam2bcf.c $(htslib_sam_h) $(HTSDIR)/htslib/kstring.h $(HTSDIR)/htslib/kfunc.h $(bam2bcf_h) errmod.h
++bam2bcf.o: bam2bcf.c $(htslib_sam_h) $(bam2bcf_h) errmod.h
+ bam2bcf_indel.o: bam2bcf_indel.c $(htslib_sam_h) $(bam2bcf_h) kprobaln.h $(HTSDIR)/htslib/khash.h $(HTSDIR)/htslib/ksort.h
+ bam2depth.o: bam2depth.c $(htslib_sam_h) samtools.h
+ bam_aux.o: bam_aux.c
+ bam_cat.o: bam_cat.c $(htslib_bgzf_h) $(bam_h)
+ bam_color.o: bam_color.c $(bam_h)
+-bam_import.o: bam_import.c $(HTSDIR)/htslib/kstring.h $(bam_h) $(HTSDIR)/htslib/kseq.h
+-bam_index.o: bam_index.c $(htslib_hts_h) $(htslib_sam_h) $(HTSDIR)/htslib/khash.h
+-bam_lpileup.o: bam_lpileup.c $(bam_plbuf_h) $(bam_lpileup_h) $(HTSDIR)/htslib/ksort.h
++bam_import.o: bam_import.c $(bam_h)
++bam_index.o: bam_index.c $(htslib_hts_h) $(htslib_sam_h)
++bam_lpileup.o: bam_lpileup.c $(bam_plbuf_h) $(bam_lpileup_h)
+ bam_mate.o: bam_mate.c $(bam_h)
+ bam_md.o: bam_md.c $(htslib_faidx_h) $(sam_h) kprobaln.h
+ bam_pileup.o: bam_pileup.c $(sam_h)
+ bam_plbuf.o: bam_plbuf.c $(htslib_hts_h) $(htslib_sam_h) $(bam_plbuf_h)
+-bam_plcmd.o: bam_plcmd.c $(htslib_sam_h) $(htslib_faidx_h) $(HTSDIR)/htslib/kstring.h $(HTSDIR)/htslib/khash_str2int.h sam_header.h samtools.h $(bam2bcf_h) $(sample_h)
++bam_plcmd.o: bam_plcmd.c $(htslib_sam_h) $(htslib_faidx_h) sam_header.h samtools.h $(bam2bcf_h) $(sample_h)
+ bam_reheader.o: bam_reheader.c $(htslib_bgzf_h) $(bam_h)
+-bam_rmdup.o: bam_rmdup.c $(sam_h) $(HTSDIR)/htslib/khash.h
+-bam_rmdupse.o: bam_rmdupse.c $(sam_h) $(HTSDIR)/htslib/khash.h $(HTSDIR)/htslib/klist.h
+-bam_sort.o: bam_sort.c $(HTSDIR)/htslib/ksort.h $(HTSDIR)/htslib/khash.h $(HTSDIR)/htslib/klist.h $(HTSDIR)/htslib/kstring.h $(htslib_sam_h)
++bam_rmdup.o: bam_rmdup.c $(sam_h)
++bam_rmdupse.o: bam_rmdupse.c $(sam_h)
++bam_sort.o: bam_sort.c $(htslib_sam_h)
+ bam_stat.o: bam_stat.c $(bam_h) samtools.h
+ bam_tview.o: bam_tview.c $(bam_tview_h) $(htslib_faidx_h) $(htslib_sam_h) $(htslib_bgzf_h)
+ bam_tview_curses.o: bam_tview_curses.c $(bam_tview_h)
+ bam_tview_html.o: bam_tview_html.c $(bam_tview_h)
+ bam_flags.o: bam_flags.c $(sam_h)
+-bamshuf.o: bamshuf.c $(htslib_sam_h) $(HTSDIR)/htslib/ksort.h samtools.h
++bamshuf.o: bamshuf.c $(htslib_sam_h) samtools.h
+ bamtk.o: bamtk.c $(htslib_hts_h) version.h samtools.h
+-bedcov.o: bedcov.c $(HTSDIR)/htslib/kstring.h $(htslib_sam_h) $(HTSDIR)/htslib/kseq.h
+-bedidx.o: bedidx.c $(HTSDIR)/htslib/ksort.h $(HTSDIR)/htslib/kseq.h $(HTSDIR)/htslib/khash.h
++bedcov.o: bedcov.c $(htslib_sam_h)
++bedidx.o: bedidx.c
+ cut_target.o: cut_target.c $(bam_h) errmod.h $(htslib_faidx_h)
+-errmod.o: errmod.c errmod.h $(HTSDIR)/htslib/ksort.h
++errmod.o: errmod.c errmod.h
+ kprobaln.o: kprobaln.c kprobaln.h
+ padding.o: padding.c sam_header.h $(sam_h) $(bam_h) $(htslib_faidx_h)
+-phase.o: phase.c $(htslib_sam_h) errmod.h $(HTSDIR)/htslib/kseq.h $(HTSDIR)/htslib/khash.h $(HTSDIR)/htslib/ksort.h
++phase.o: phase.c $(htslib_sam_h) errmod.h
+ sam.o: sam.c $(htslib_faidx_h) $(sam_h)
+-sam_header.o: sam_header.c sam_header.h $(HTSDIR)/htslib/khash.h
+-sam_view.o: sam_view.c $(htslib_sam_h) $(htslib_faidx_h) $(HTSDIR)/htslib/kstring.h $(HTSDIR)/htslib/khash.h samtools.h
+-sample.o: sample.c $(sample_h) $(HTSDIR)/htslib/khash.h
+-stats_isize.o: stats_isize.c stats_isize.h $(HTSDIR)/htslib/khash.h
+-stats.o: stats.c $(sam_h) sam_header.h samtools.h stats_isize.h $(HTSDIR)/htslib/khash.h $(HTSDIR)/htslib/khash_str2int.h $(htslib_faidx_h)
++sam_header.o: sam_header.c sam_header.h
++sam_view.o: sam_view.c $(htslib_sam_h) $(htslib_faidx_h) samtools.h
++sample.o: sample.c $(sample_h)
++stats_isize.o: stats_isize.c stats_isize.h
++stats.o: stats.c $(sam_h) sam_header.h samtools.h stats_isize.h $(htslib_faidx_h)
+
+
+ # test programs
+@@ -178,8 +188,8 @@ stats.o: stats.c $(sam_h) sam_header.h samtools.h stats_isize.h $(HTSDIR)/htslib
+ # For tests that might use it, set $REF_PATH explicitly to use only reference
+ # areas within the test suite (or set it to ':' to use no reference areas).
+ # (regression.sh sets $REF_PATH to a subdirectory itself.)
+-check test: samtools $(BGZIP) $(BUILT_TEST_PROGRAMS)
+- REF_PATH=: test/test.pl --exec bgzip=$(BGZIP)
++check test: samtools $(BUILT_TEST_PROGRAMS)
++ REF_PATH=: test/test.pl --exec bgzip=bgzip
+ test/merge/test_bam_translate test/merge/test_bam_translate.tmp
+ test/merge/test_pretty_header
+ test/merge/test_rtrans_build
+@@ -191,31 +201,31 @@ check test: samtools $(BGZIP) $(BUILT_TEST_PROGRAMS)
+ test/split/test_parse_args
+
+
+-test/merge/test_bam_translate: test/merge/test_bam_translate.o test/test.o $(HTSLIB)
++test/merge/test_bam_translate: test/merge/test_bam_translate.o test/test.o
+ $(CC) -pthread $(LDFLAGS) -o $@ test/merge/test_bam_translate.o test/test.o $(HTSLIB) $(LDLIBS) -lz
+
+-test/merge/test_pretty_header: test/merge/test_pretty_header.o $(HTSLIB)
++test/merge/test_pretty_header: test/merge/test_pretty_header.o
+ $(CC) -pthread $(LDFLAGS) -o $@ test/merge/test_pretty_header.o $(HTSLIB) $(LDLIBS) -lz
+
+-test/merge/test_rtrans_build: test/merge/test_rtrans_build.o $(HTSLIB)
++test/merge/test_rtrans_build: test/merge/test_rtrans_build.o
+ $(CC) -pthread $(LDFLAGS) -o $@ test/merge/test_rtrans_build.o $(HTSLIB) $(LDLIBS) -lz
+
+-test/merge/test_trans_tbl_init: test/merge/test_trans_tbl_init.o $(HTSLIB)
++test/merge/test_trans_tbl_init: test/merge/test_trans_tbl_init.o
+ $(CC) -pthread $(LDFLAGS) -o $@ test/merge/test_trans_tbl_init.o $(HTSLIB) $(LDLIBS) -lz
+
+-test/split/test_count_rg: test/split/test_count_rg.o test/test.o $(HTSLIB)
++test/split/test_count_rg: test/split/test_count_rg.o test/test.o
+ $(CC) -pthread $(LDFLAGS) -o $@ test/split/test_count_rg.o test/test.o $(HTSLIB) $(LDLIBS) -lz
+
+-test/split/test_expand_format_string: test/split/test_expand_format_string.o test/test.o $(HTSLIB)
++test/split/test_expand_format_string: test/split/test_expand_format_string.o test/test.o
+ $(CC) -pthread $(LDFLAGS) -o $@ test/split/test_expand_format_string.o test/test.o $(HTSLIB) $(LDLIBS) -lz
+
+-test/split/test_filter_header_rg: test/split/test_filter_header_rg.o test/test.o $(HTSLIB)
++test/split/test_filter_header_rg: test/split/test_filter_header_rg.o test/test.o
+ $(CC) -pthread $(LDFLAGS) -o $@ test/split/test_filter_header_rg.o test/test.o $(HTSLIB) $(LDLIBS) -lz
+
+-test/split/test_parse_args: test/split/test_parse_args.o test/test.o $(HTSLIB)
++test/split/test_parse_args: test/split/test_parse_args.o test/test.o
+ $(CC) -pthread $(LDFLAGS) -o $@ test/split/test_parse_args.o test/test.o $(HTSLIB) $(LDLIBS) -lz
+
+-test/vcf-miniview: test/vcf-miniview.o $(HTSLIB)
++test/vcf-miniview: test/vcf-miniview.o
+ $(CC) -pthread $(LDFLAGS) -o $@ test/vcf-miniview.o $(HTSLIB) $(LDLIBS) -lz
+
+ test_test_h = test/test.h $(htslib_sam_h)
+@@ -252,10 +262,10 @@ misc/md5sum-lite: misc/md5sum-lite.o
+ misc/wgsim: misc/wgsim.o
+ $(CC) $(LDFLAGS) -o $@ misc/wgsim.o $(LDLIBS) -lm -lz
+
+-misc/ace2sam.o: misc/ace2sam.c $(HTSDIR)/htslib/kstring.h $(HTSDIR)/htslib/kseq.h
++misc/ace2sam.o: misc/ace2sam.c
+ misc/md5.o: misc/md5.c misc/md5.h
+-misc/md5fa.o: misc/md5fa.c misc/md5.h $(HTSDIR)/htslib/kseq.h
+-misc/wgsim.o: misc/wgsim.c $(HTSDIR)/htslib/kseq.h
++misc/md5fa.o: misc/md5fa.c misc/md5.h
++misc/wgsim.o: misc/wgsim.c
+
+ misc/maq2sam-short.o: misc/maq2sam.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ misc/maq2sam.c
diff --git a/sci-biology/samtools/files/samtools-1.2-rmdup.patch b/sci-biology/samtools/files/samtools-1.2-rmdup.patch
new file mode 100644
index 000000000..023b5d73d
--- /dev/null
+++ b/sci-biology/samtools/files/samtools-1.2-rmdup.patch
@@ -0,0 +1,47 @@
+From 05fb5c2e17576b1d0ea5a0b8203b9eba236f2455 Mon Sep 17 00:00:00 2001
+From: kirkmcclure <kirkmcclure@users.noreply.github.com>
+Date: Mon, 23 Mar 2015 05:35:00 -0800
+Subject: [PATCH] Update bam.c
+
+ For issue #138 - Samtools view -l no longer works.
+Implement bam_get_library()
+---
+ bam.c | 23 ++++++++++++-----------
+ 1 file changed, 12 insertions(+), 11 deletions(-)
+
+diff --git a/bam.c b/bam.c
+index f909b7e..864d3f0 100644
+--- a/bam.c
++++ b/bam.c
+@@ -61,19 +61,20 @@ int bam_validate1(const bam_header_t *header, const bam1_t *b)
+ return 1;
+ }
+
+-// FIXME: we should also check the LB tag associated with each alignment
+ const char *bam_get_library(bam_header_t *h, const bam1_t *b)
+ {
+-#if 0
+- const uint8_t *rg;
+- if (h->dict == 0) h->dict = sam_header_parse2(h->text);
+- if (h->rg2lib == 0) h->rg2lib = sam_header2tbl(h->dict, "RG", "ID", "LB");
+- rg = bam_aux_get(b, "RG");
+- return (rg == 0)? 0 : sam_tbl_get(h->rg2lib, (const char*)(rg + 1));
+-#else
+- fprintf(stderr, "Samtools-htslib-API: bam_get_library() not yet implemented\n");
+- abort();
+-#endif
++ const uint8_t *rg = 0;
++ const uint8_t *pLibName, *pDict;
++ if ( b != 0 && h != 0 ) {
++ if ( (rg = bam_aux_get(b, "RG") ) != 0
++ && (pDict = sam_header_parse2(h->text)) != 0 ) {
++ pLibName = sam_header2tbl(pDict, "RG", "ID", "LB");
++ if ( pLibName && strlen( (char*)pLibName ) > 0 ) {
++ return sam_tbl_get((void*)pLibName, (const char*)(rg + 1));
++ }
++ }
++ }
++ return 0;
+ }
+
+ int bam_fetch(bamFile fp, const bam_index_t *idx, int tid, int beg, int end, void *data, bam_fetch_f func)
diff --git a/sci-biology/samtools/metadata.xml b/sci-biology/samtools/metadata.xml
new file mode 100644
index 000000000..f17a827e3
--- /dev/null
+++ b/sci-biology/samtools/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci-biology</herd>
+</pkgmetadata>
diff --git a/sci-biology/samtools/samtools-1.0-r2.ebuild b/sci-biology/samtools/samtools-1.0-r2.ebuild
new file mode 100644
index 000000000..de23c2220
--- /dev/null
+++ b/sci-biology/samtools/samtools-1.0-r2.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-biology/samtools/samtools-1.0-r1.ebuild,v 1.1 2014/09/25 15:20:53 jlec Exp $
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils multilib python-r1 toolchain-funcs
+
+DESCRIPTION="Utilities for SAM (Sequence Alignment/Map), a format for large nucleotide sequence alignments"
+HOMEPAGE="http://www.htslib.org/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="examples"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+CDEPEND="
+ sys-libs/ncurses
+ sci-libs/htslib"
+
+RDEPEND="${CDEPEND}
+ dev-lang/lua
+ dev-lang/perl"
+DEPEND="${CDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ find htslib-1.0 -delete || die
+
+ sed -i 's~/software/bin/python~/usr/bin/env python~' "${S}"/misc/varfilter.py || die
+
+ epatch "${FILESDIR}"/${P}-buildsystem.patch
+ epatch "${FILESDIR}"/${P}-rmdup.patch
+
+ tc-export CC AR
+
+ sed \
+ -e '/htslib.mk/d' \
+ -i Makefile || die
+
+}
+
+src_compile() {
+ local mymakeargs=(
+ LIBCURSES="$($(tc-getPKG_CONFIG) --libs ncurses)"
+ HTSDIR="${EPREFIX}/usr/include"
+ HTSLIB=$($(tc-getPKG_CONFIG) --libs htslib)
+ BAMLIB="libbam.so"
+ )
+ emake "${mymakeargs[@]}"
+}
+
+src_install() {
+ dobin samtools $(find misc -type f -executable)
+
+ python_replicate_script "${ED}"/usr/bin/varfilter.py
+ dolib.so libbam.so*
+
+ insinto /usr/include/bam
+ doins *.h
+
+ doman ${PN}.1
+ dodoc AUTHORS NEWS README
+
+ if use examples; then
+ insinto /usr/share/${PN}
+ doins -r examples
+ fi
+}
diff --git a/sci-biology/samtools/samtools-1.1-r1.ebuild b/sci-biology/samtools/samtools-1.1-r1.ebuild
new file mode 100644
index 000000000..04211ba9e
--- /dev/null
+++ b/sci-biology/samtools/samtools-1.1-r1.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-biology/samtools/samtools-1.1.ebuild,v 1.1 2015/01/06 12:57:48 jlec Exp $
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils multilib python-r1 toolchain-funcs
+
+DESCRIPTION="Utilities for SAM (Sequence Alignment/Map), a format for large nucleotide sequence alignments"
+HOMEPAGE="http://www.htslib.org/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="examples"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+CDEPEND="
+ sys-libs/ncurses
+ ~sci-libs/htslib-${PV}"
+
+RDEPEND="${CDEPEND}
+ dev-lang/lua
+ dev-lang/perl"
+DEPEND="${CDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ find htslib-* -delete || die
+
+ sed -i 's~/software/bin/python~/usr/bin/env python~' "${S}"/misc/varfilter.py || die
+
+ epatch "${FILESDIR}"/${P}-buildsystem.patch
+ epatch "${FILESDIR}"/${P}-rmdup.patch
+
+ tc-export CC AR
+
+ sed \
+ -e '/htslib.mk/d' \
+ -i Makefile || die
+
+}
+
+src_compile() {
+ local mymakeargs=(
+ LIBCURSES="$($(tc-getPKG_CONFIG) --libs ncurses)"
+ HTSDIR="${EPREFIX}/usr/include"
+ HTSLIB=$($(tc-getPKG_CONFIG) --libs htslib)
+ BAMLIB="libbam.so"
+ )
+ emake "${mymakeargs[@]}"
+}
+
+src_test() {
+ local mymakeargs=(
+ LIBCURSES="$($(tc-getPKG_CONFIG) --libs ncurses)"
+ HTSDIR="${EPREFIX}/usr/include"
+ HTSLIB=$($(tc-getPKG_CONFIG) --libs htslib)
+ BAMLIB="libbam.so"
+ )
+ emake "${mymakeargs[@]}" test
+}
+
+src_install() {
+ dobin samtools $(find misc -type f -executable)
+
+ python_replicate_script "${ED}"/usr/bin/varfilter.py
+ dolib.so libbam.so*
+
+ insinto /usr/include/bam
+ doins *.h
+
+ doman ${PN}.1
+ dodoc AUTHORS NEWS README
+
+ if use examples; then
+ insinto /usr/share/${PN}
+ doins -r examples
+ fi
+}
diff --git a/sci-biology/samtools/samtools-1.2-r1.ebuild b/sci-biology/samtools/samtools-1.2-r1.ebuild
new file mode 100644
index 000000000..fdf5806a7
--- /dev/null
+++ b/sci-biology/samtools/samtools-1.2-r1.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-biology/samtools/samtools-1.2.ebuild,v 1.2 2015/02/28 10:51:24 jlec Exp $
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils multilib python-r1 toolchain-funcs
+
+DESCRIPTION="Utilities for SAM (Sequence Alignment/Map), a format for large nucleotide sequence alignments"
+HOMEPAGE="http://www.htslib.org/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="examples"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+CDEPEND="
+ sys-libs/ncurses
+ >=sci-libs/htslib-${PV}"
+
+RDEPEND="${CDEPEND}
+ dev-lang/lua
+ dev-lang/perl"
+DEPEND="${CDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ find htslib-* -delete || die
+
+ sed -i 's~/software/bin/python~/usr/bin/env python~' "${S}"/misc/varfilter.py || die
+
+ epatch "${FILESDIR}"/${P}-buildsystem.patch
+ epatch "${FILESDIR}"/${P}-rmdup.patch
+
+ tc-export CC AR
+
+ sed \
+ -e '/htslib.mk/d' \
+ -i Makefile || die
+
+}
+
+src_compile() {
+ local mymakeargs=(
+ LIBCURSES="$($(tc-getPKG_CONFIG) --libs ncurses)"
+ HTSDIR="${EPREFIX}/usr/include"
+ HTSLIB=$($(tc-getPKG_CONFIG) --libs htslib)
+ BAMLIB="libbam.so"
+ )
+ emake "${mymakeargs[@]}"
+}
+
+src_test() {
+ local mymakeargs=(
+ LIBCURSES="$($(tc-getPKG_CONFIG) --libs ncurses)"
+ HTSDIR="${EPREFIX}/usr/include"
+ HTSLIB=$($(tc-getPKG_CONFIG) --libs htslib)
+ BAMLIB="libbam.so"
+ )
+ LD_LIBRARY_PATH="${S}" emake "${mymakeargs[@]}" test
+}
+
+src_install() {
+ dobin samtools $(find misc -type f -executable)
+
+ python_replicate_script "${ED}"/usr/bin/varfilter.py
+ dolib.so libbam.so*
+
+ insinto /usr/include/bam
+ doins *.h
+
+ doman ${PN}.1
+ dodoc AUTHORS NEWS README
+
+ if use examples; then
+ insinto /usr/share/${PN}
+ doins -r examples
+ fi
+}