commit:     9de36f0052f04b80223de81c59c9125a5e95fef5
Author:     Martin Mokrejš <mmokrejs <AT> fold <DOT> natur <DOT> cuni <DOT> cz>
AuthorDate: Mon May 11 16:09:28 2015 +0000
Commit:     Martin Mokrejs <mmokrejs <AT> fold <DOT> natur <DOT> cuni <DOT> cz>
CommitDate: Mon May 11 16:09:28 2015 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=9de36f00

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

 sci-biology/samtools/ChangeLog                     |  17 ++
 .../samtools/files/samtools-1.0-buildsystem.patch  |  59 +++++++
 .../samtools/files/samtools-1.0-rmdup.patch        |  47 +++++
 .../samtools/files/samtools-1.1-buildsystem.patch  | 153 ++++++++++++++++
 .../samtools/files/samtools-1.1-rmdup.patch        |  47 +++++
 .../samtools/files/samtools-1.2-buildsystem.patch  | 193 +++++++++++++++++++++
 .../samtools/files/samtools-1.2-rmdup.patch        |  47 +++++
 sci-biology/samtools/metadata.xml                  |   5 +
 sci-biology/samtools/samtools-1.0-r2.ebuild        |  74 ++++++++
 sci-biology/samtools/samtools-1.1-r1.ebuild        |  84 +++++++++
 sci-biology/samtools/samtools-1.2-r1.ebuild        |  84 +++++++++
 11 files changed, 810 insertions(+)

diff --git a/sci-biology/samtools/ChangeLog b/sci-biology/samtools/ChangeLog
new file mode 100644
index 0000000..5e1efce
--- /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 <mmokr...@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/files/samtools-1.0-buildsystem.patch 
b/sci-biology/samtools/files/samtools-1.0-buildsystem.patch
new file mode 100644
index 0000000..53a8b66
--- /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 0000000..023b5d7
--- /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 <kirkmccl...@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 0000000..b9ae77d
--- /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 0000000..023b5d7
--- /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 <kirkmccl...@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 0000000..2343b22
--- /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 0000000..023b5d7
--- /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 <kirkmccl...@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 0000000..f17a827
--- /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 0000000..de23c22
--- /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 0000000..04211ba
--- /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 0000000..fdf5806
--- /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
+}

Reply via email to