git: cdf2ff2f68e6 - main - biology/bamutil: Utilities for working with SAM/BAM files

From: Jason W. Bacon <jwb_at_FreeBSD.org>
Date: Tue, 12 Oct 2021 16:43:26 UTC
The branch main has been updated by jwb:

URL: https://cgit.FreeBSD.org/ports/commit/?id=cdf2ff2f68e6d4e78f85124aa5fbd8371adaebc2

commit cdf2ff2f68e6d4e78f85124aa5fbd8371adaebc2
Author:     Jason W. Bacon <jwb@FreeBSD.org>
AuthorDate: 2021-10-12 16:40:35 +0000
Commit:     Jason W. Bacon <jwb@FreeBSD.org>
CommitDate: 2021-10-12 16:40:35 +0000

    biology/bamutil: Utilities for working with SAM/BAM files
    
    Utilities for working on SAM/BAM files from The Center for Statistical
    Genetics at the University of Michigan School of Public Health.  It
    includes numerous functions such as splitting, merging, trimming reads,
    filtering, validation, diff, etc.
---
 biology/Makefile                                   |  1 +
 biology/bamutil/Makefile                           | 26 ++++++++++++++++++++++
 biology/bamutil/distinfo                           |  5 +++++
 .../files/patch-libStatGen_Makefiles_Makefile.lib  | 17 ++++++++++++++
 .../patch-libStatGen_Makefiles_Makefile.toolchain  | 13 +++++++++++
 .../patch-libStatGen_vcf_VcfRecordGenotype.cpp     | 11 +++++++++
 biology/bamutil/pkg-descr                          |  6 +++++
 7 files changed, 79 insertions(+)

diff --git a/biology/Makefile b/biology/Makefile
index ba430926041c..c779368ef1d2 100644
--- a/biology/Makefile
+++ b/biology/Makefile
@@ -6,6 +6,7 @@
     SUBDIR += avida
     SUBDIR += babel
     SUBDIR += bamtools
+    SUBDIR += bamutil
     SUBDIR += bbmap
     SUBDIR += bcftools
     SUBDIR += bedtools
diff --git a/biology/bamutil/Makefile b/biology/bamutil/Makefile
new file mode 100644
index 000000000000..1df27f50678d
--- /dev/null
+++ b/biology/bamutil/Makefile
@@ -0,0 +1,26 @@
+PORTNAME=	bamutil
+DISTVERSIONPREFIX=	v
+DISTVERSION=	1.0.14
+CATEGORIES=	biology
+
+MAINTAINER=	jwb@FreeBSD.org
+COMMENT=	Utilities for working with SAM/BAM files
+
+LICENSE=	GPLv3
+LICENSE_FILE=	${WRKSRC}/copyrights/COPYING
+
+USES=		gmake
+USE_GITHUB=	yes
+
+GH_ACCOUNT=	statgen
+GH_PROJECT=	bamUtil
+
+# Build needs access to libStatGen Makefiles, so can't install separately
+GH_TUPLE=	statgen:libStatGen:v${DISTVERSION}:statgen/libStatGen
+
+MAKE_ENV=	LIB_PATH_GENERAL=${WRKSRC}/libStatGen
+MAKE_ENV+=	INSTALLDIR=${STAGEDIR}${PREFIX}/bin
+
+PLIST_FILES=	bin/bam
+
+.include <bsd.port.mk>
diff --git a/biology/bamutil/distinfo b/biology/bamutil/distinfo
new file mode 100644
index 000000000000..4f76b5616521
--- /dev/null
+++ b/biology/bamutil/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1634051641
+SHA256 (statgen-bamUtil-v1.0.14_GH0.tar.gz) = f5ec8d5e98a3797742106c3413a4ab1622d8787e38b29b3df4cddb59d77efda5
+SIZE (statgen-bamUtil-v1.0.14_GH0.tar.gz) = 1916953
+SHA256 (statgen-libStatGen-v1.0.14_GH0.tar.gz) = 70a504c5cc4838c6ac96cdd010644454615cc907df4e3794c999baf958fa734b
+SIZE (statgen-libStatGen-v1.0.14_GH0.tar.gz) = 558924
diff --git a/biology/bamutil/files/patch-libStatGen_Makefiles_Makefile.lib b/biology/bamutil/files/patch-libStatGen_Makefiles_Makefile.lib
new file mode 100644
index 000000000000..7f8d5a434e94
--- /dev/null
+++ b/biology/bamutil/files/patch-libStatGen_Makefiles_Makefile.lib
@@ -0,0 +1,17 @@
+--- libStatGen/Makefiles/Makefile.lib.orig	2021-10-12 15:28:34 UTC
++++ libStatGen/Makefiles/Makefile.lib
+@@ -34,11 +34,11 @@ profile: $(STAT_GEN_LIB_PROFILE)
+ # To build the library, build the objects
+ # Then add them to the library
+ $(STAT_GEN_LIB_OPT): $(OBJECTS_OPT)
+-	ar -cru $@ $(OBJECTS_OPT)
++	ar -cr $@ $(OBJECTS_OPT)
+ $(STAT_GEN_LIB_DEBUG): $(OBJECTS_DEBUG)
+-	ar -cru $@ $(OBJECTS_DEBUG)
++	ar -cr $@ $(OBJECTS_DEBUG)
+ $(STAT_GEN_LIB_PROFILE): $(OBJECTS_PROFILE)
+-	ar -cru $@ $(OBJECTS_PROFILE)
++	ar -cr $@ $(OBJECTS_PROFILE)
+ 
+ UNAME=$(shell uname)
+ 
diff --git a/biology/bamutil/files/patch-libStatGen_Makefiles_Makefile.toolchain b/biology/bamutil/files/patch-libStatGen_Makefiles_Makefile.toolchain
new file mode 100644
index 000000000000..447be2125380
--- /dev/null
+++ b/biology/bamutil/files/patch-libStatGen_Makefiles_Makefile.toolchain
@@ -0,0 +1,13 @@
+--- libStatGen/Makefiles/Makefile.toolchain.orig	2021-10-12 15:09:29 UTC
++++ libStatGen/Makefiles/Makefile.toolchain
+@@ -51,8 +51,8 @@ endif
+ 
+ # CPP0X=-std=c++0x
+ 
+-CXX     = $(TOOLCHAIN_DIR)$(TOOLCHAIN_PREFIX)g++ $(CPP0X)
+-CC      = $(TOOLCHAIN_DIR)$(TOOLCHAIN_PREFIX)gcc
++CXX     = $(TOOLCHAIN_DIR)$(TOOLCHAIN_PREFIX)c++ $(CPP0X)
++CC      = $(TOOLCHAIN_DIR)$(TOOLCHAIN_PREFIX)cc
+ LD      = $(TOOLCHAIN_DIR)$(TOOLCHAIN_PREFIX)ld
+ AR      = $(TOOLCHAIN_DIR)$(TOOLCHAIN_PREFIX)ar
+ RANLIB  = $(TOOLCHAIN_DIR)$(TOOLCHAIN_PREFIX)ranlib
diff --git a/biology/bamutil/files/patch-libStatGen_vcf_VcfRecordGenotype.cpp b/biology/bamutil/files/patch-libStatGen_vcf_VcfRecordGenotype.cpp
new file mode 100644
index 000000000000..db31c78ab9d7
--- /dev/null
+++ b/biology/bamutil/files/patch-libStatGen_vcf_VcfRecordGenotype.cpp
@@ -0,0 +1,11 @@
+--- libStatGen/vcf/VcfRecordGenotype.cpp.orig	2021-10-12 15:13:03 UTC
++++ libStatGen/vcf/VcfRecordGenotype.cpp
+@@ -176,7 +176,7 @@ bool VcfRecordGenotype::setString(const std::string& k
+     if(sampleNum >= mySamples.size())
+     {
+         // Out of range sample index.
+-        return(NULL);
++        return(false);
+     }
+     // Set the field in the sample.
+     return(mySamples.get(sampleNum).setString(key, value));
diff --git a/biology/bamutil/pkg-descr b/biology/bamutil/pkg-descr
new file mode 100644
index 000000000000..6eb44e52fcb7
--- /dev/null
+++ b/biology/bamutil/pkg-descr
@@ -0,0 +1,6 @@
+Utilities for working on SAM/BAM files from The Center for Statistical
+Genetics at the University of Michigan School of Public Health.  It
+includes numerous functions such as splitting, merging, trimming reads,
+filtering, validation, diff, etc.
+
+WWW: https://github.com/statgen/bamUtil