git: 869afa4fe605 - main - biology/star: Update to 2.7.9a
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 26 Nov 2021 21:58:59 UTC
The branch main has been updated by jwb: URL: https://cgit.FreeBSD.org/ports/commit/?id=869afa4fe605c72d26da47f2e6e838e06166c533 commit 869afa4fe605c72d26da47f2e6e838e06166c533 Author: Jason W. Bacon <jwb@FreeBSD.org> AuthorDate: 2021-11-26 21:57:02 +0000 Commit: Jason W. Bacon <jwb@FreeBSD.org> CommitDate: 2021-11-26 21:57:02 +0000 biology/star: Update to 2.7.9a Also unbundle htslib Changes: https://github.com/alexdobin/STAR/releases/tag/2.7.9a --- biology/star/Makefile | 24 ++++++-- biology/star/distinfo | 6 +- biology/star/files/patch-Makefile | 72 ++++++++++++++++++------ biology/star/files/patch-SharedMemory.cpp | 11 ---- biology/star/files/patch-SpliceGraph.cpp | 10 ++++ biology/star/files/patch-SuffixArrayFuns.cpp | 50 ++++++++++++++++ biology/star/files/patch-bamSortByCoordinate.cpp | 11 ++++ biology/star/files/patch-opal_opal.cpp | 13 +++++ 8 files changed, 162 insertions(+), 35 deletions(-) diff --git a/biology/star/Makefile b/biology/star/Makefile index 67da9de6c511..66d4ac8a4dc0 100644 --- a/biology/star/Makefile +++ b/biology/star/Makefile @@ -1,6 +1,5 @@ PORTNAME= STAR -DISTVERSION= 2.7.3a -PORTREVISION= 1 +DISTVERSION= 2.7.9a CATEGORIES= biology PKGNAMEPREFIX= rna- @@ -10,17 +9,34 @@ COMMENT= Spliced Transcripts Alignment to a Reference LICENSE= GPLv3 LICENSE_FILE= ${WRKDIR}/STAR-${DISTVERSION}/LICENSE -# 64-bit only, needs 16+ GiB RAM for typical eukaryotic genome NOT_FOR_ARCHS= i386 powerpc +NOT_FOR_ARCHS_REASON=Needs 16+ GiB RAM for typical eukaryotic genome -USES= compiler:c++11-lang gmake +LIB_DEPENDS= libhts.so:biology/htslib + +USES= compiler:c++11-lang gmake localbase:ldflags USE_GITHUB= yes GH_ACCOUNT= alexdobin WRKSRC_SUBDIR= source +MAKE_FLAGS= HTSLIB='' PLIST_FILES= bin/STAR +post-patch: + ${RM} -rf ${WRKSRC}/htslib + ${REINPLACE_CMD} \ + -e 's|"htslib/htslib/sam.h"|<htslib/sam.h>|g' \ + -e 's|"htslib/htslib/kstring.h"|<htslib/kstring.h>|g' \ + -e 's|"htslib/htslib/bgzf.h"|<htslib/bgzf.h>|g' \ + ${WRKSRC}/BAMfunctions.cpp \ + ${WRKSRC}/IncludeDefine.h \ + ${WRKSRC}/STAR.cpp \ + ${WRKSRC}/bamRemoveDuplicates.cpp \ + ${WRKSRC}/bam_cat.c \ + ${WRKSRC}/bam_cat.h \ + ${WRKSRC}/signalFromBAM.h + do-install: ${INSTALL_PROGRAM} ${WRKSRC}/STAR ${STAGEDIR}${PREFIX}/bin diff --git a/biology/star/distinfo b/biology/star/distinfo index 9527dfa82397..de8a1837007f 100644 --- a/biology/star/distinfo +++ b/biology/star/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1586376571 -SHA256 (alexdobin-STAR-2.7.3a_GH0.tar.gz) = de204175351dc5f5ecc40cf458f224617654bdb8e00df55f0bb03a5727bf26f9 -SIZE (alexdobin-STAR-2.7.3a_GH0.tar.gz) = 8550987 +TIMESTAMP = 1637942811 +SHA256 (alexdobin-STAR-2.7.9a_GH0.tar.gz) = ff52c9d6daaa9fb7261efa3aa49ef6ce5262aa089b0762a3cbc751e81321050e +SIZE (alexdobin-STAR-2.7.9a_GH0.tar.gz) = 10669338 diff --git a/biology/star/files/patch-Makefile b/biology/star/files/patch-Makefile index 99f3c4aa1237..e455160380a3 100644 --- a/biology/star/files/patch-Makefile +++ b/biology/star/files/patch-Makefile @@ -1,23 +1,61 @@ ---- Makefile.orig 2019-10-08 19:10:51 UTC +--- Makefile.orig 2021-05-05 12:01:50 UTC +++ Makefile -@@ -20,11 +20,16 @@ LDFLAGS_gdb := $(LDFLAGS_shared) +@@ -11,6 +11,10 @@ CXXFLAGSextra ?= + # user may define the compiler + CXX ?= g++ - COMPTIMEPLACE := -D'COMPILATION_TIME_PLACE="$(shell echo `date` $(HOSTNAME):`pwd`)"' - --CXXFLAGS_common := -pipe -std=c++11 -Wall -Wextra -fopenmp $(COMPTIMEPLACE) --CXXFLAGS_main := -O3 $(CXXFLAGS_common) --CXXFLAGS_gdb := -O0 -g $(CXXFLAGS_common) -+# Defaults, overridden by make arguments or environment -+CXXFLAGS ?= -pipe -O3 -Wall -Wextra -+CFLAGS ?= -pipe -O3 -Wall -Wextra - --CFLAGS := -O3 -pipe -Wall -Wextra $(CFLAGS) -+# Unconditionally set essential flags -+CXXFLAGS_common := -std=c++11 -fopenmp $(COMPTIMEPLACE) -+CXXFLAGS_main += $(CXXFLAGS_common) ++# user may set to '' and sed "htslib/htslib/*.h" to <htslib/*.h> ++# if they don't want the bundled htslib ++HTSLIB ?= htslib + -+# -O or -O2 should work fine with gdb as well -+CXXFLAGS_gdb := -O0 -g $(CXXFLAGS_common) + # pre-defined flags + LDFLAGS_shared := -pthread -Lhtslib -Bstatic -lhts -Bdynamic -lz + LDFLAGS_static := -static -static-libgcc -pthread -Lhtslib -lhts -lz +@@ -18,7 +22,8 @@ LDFLAGS_Mac :=-pthread -lz htslib/libhts.a + LDFLAGS_Mac_static :=-pthread -lz -static-libgcc htslib/libhts.a + LDFLAGS_gdb := $(LDFLAGS_shared) + +-DATE_FMT = --iso-8601=seconds ++# --iso-8601 is not portable ++DATE_FMT = -Iseconds + ifdef SOURCE_DATE_EPOCH + BUILD_DATE ?= $(shell date -u -d "@$(SOURCE_DATE_EPOCH)" "$(DATE_FMT)" 2>/dev/null || date -u -r "$(SOURCE_DATE_EPOCH)" "$(DATE_FMT)" 2>/dev/null || date -u "$(DATE_FMT)") + else +@@ -30,13 +35,13 @@ BUILD_PLACE ?= $(HOSTNAME):$(shell pwd) + COMPTIMEPLACE := -D'COMPILATION_TIME_PLACE="$(BUILD_DATE) $(BUILD_PLACE)"' + + # Defaults, can be overridden by make arguments or environment +-CXXFLAGS ?= -pipe -Wall -Wextra ++CXXFLAGS ?= -pipe -Wall -Wextra -O3 + CFLAGS ?= -pipe -Wall -Wextra -O3 + CXXFLAGS_SIMD ?= -mavx2 + # Unconditionally set essential flags and optimization options + CXXFLAGS_common := -std=c++11 -fopenmp $(COMPTIMEPLACE) +-CXXFLAGS_main := -O3 $(CXXFLAGS_common) ++CXXFLAGS_main := $(CXXFLAGS_common) + CXXFLAGS_gdb := -O0 -g3 $(CXXFLAGS_common) ########################################################################################################## +@@ -102,7 +107,7 @@ clean: + + .PHONY: CLEAN + CLEAN: clean +- $(MAKE) -C htslib clean ++ $(MAKE) -C $(HTSLIB) clean + + + .PHONY: clean_solo +@@ -119,10 +124,10 @@ ifneq ($(MAKECMDGOALS),CLEAN) + ifneq ($(MAKECMDGOALS),clean_solo) + ifneq ($(MAKECMDGOALS),STARforMac) + ifneq ($(MAKECMDGOALS),STARforMacGDB) +-Depend.list: $(SOURCES) parametersDefault.xxd htslib ++Depend.list: $(SOURCES) parametersDefault.xxd $(HTSLIB) + echo $(SOURCES) + 'rm' -f ./Depend.list +- $(CXX) $(CXXFLAGS_common) -MM $^ >> Depend.list ++ $(CXX) $(CXXFLAGS) $(CXXFLAGS_common) -MM $^ >> Depend.list + include Depend.list + endif + endif diff --git a/biology/star/files/patch-SharedMemory.cpp b/biology/star/files/patch-SharedMemory.cpp deleted file mode 100644 index 54f83b99f369..000000000000 --- a/biology/star/files/patch-SharedMemory.cpp +++ /dev/null @@ -1,11 +0,0 @@ ---- SharedMemory.cpp.orig 2019-04-21 19:57:39 UTC -+++ SharedMemory.cpp -@@ -11,7 +11,7 @@ - #include <semaphore.h> - #include <errno.h> - --#ifdef COMPILE_FOR_MAC -+#if defined(COMPILE_FOR_MAC) || defined(__FreeBSD__) - //some Mac's idiosyncrasies: standard SHM libraries are very old and missing some definitions - #define SHM_NORESERVE 0 - #endif diff --git a/biology/star/files/patch-SpliceGraph.cpp b/biology/star/files/patch-SpliceGraph.cpp new file mode 100644 index 000000000000..d52310db50d4 --- /dev/null +++ b/biology/star/files/patch-SpliceGraph.cpp @@ -0,0 +1,10 @@ +--- SpliceGraph.cpp.orig 2021-11-26 18:13:48 UTC ++++ SpliceGraph.cpp +@@ -1,7 +1,6 @@ + /* + * Created by Fahimeh Mirhaj on 6/10/19. + */ +-using namespace std; + + #include "SpliceGraph.h" + #include "GTF.h" diff --git a/biology/star/files/patch-SuffixArrayFuns.cpp b/biology/star/files/patch-SuffixArrayFuns.cpp new file mode 100644 index 000000000000..4d27ac86d4d2 --- /dev/null +++ b/biology/star/files/patch-SuffixArrayFuns.cpp @@ -0,0 +1,50 @@ +--- SuffixArrayFuns.cpp.orig 2021-11-26 18:14:36 UTC ++++ SuffixArrayFuns.cpp +@@ -15,7 +15,7 @@ uint compareSeqToGenome(Genome &mapGen, char** s2, uin + * dirR forward or reverse direction search on read sequence + */ + +- register int64 ii; ++ int64 ii; + + uint SAstr=mapGen.SA[iSA]; + bool dirG = (SAstr>>mapGen.GstrandBit) == 0; //forward or reverse strand of the genome +@@ -231,7 +231,7 @@ uint compareSeqToGenome1(Genome &mapGen, char** s2, ui + + //TODO no need for complementary sequence + +- register int64 ii; ++ int64 ii; + + uint SAstr=mapGen.SA[iSA]; + bool dirG = (SAstr>>mapGen.GstrandBit) == 0; //forward or reverse strand of the genome +@@ -356,13 +356,13 @@ uint funCalcSAiFromSA(char* gSeq, PackedArray& gSA, Ge + bool dirG = (SAstr>>mapGen.GstrandBit) == 0; //forward or reverse strand of the genome + SAstr &= mapGen.GstrandMask; + iL4=-1; +- register uint saind=0; ++ uint saind=0; + if (dirG) + { +- register uint128 g1=*( (uint128*) (gSeq+SAstr) ); ++ uint128 g1=*( (uint128*) (gSeq+SAstr) ); + for (int ii=0; ii<L; ii++) + { +- register char g2=(char) g1; ++ char g2=(char) g1; + if (g2>3) + { + iL4=ii; +@@ -376,10 +376,10 @@ uint funCalcSAiFromSA(char* gSeq, PackedArray& gSA, Ge + return saind; + } else + { +- register uint128 g1=*( (uint128*) (gSeq+mapGen.nGenome-SAstr-16) ); ++ uint128 g1=*( (uint128*) (gSeq+mapGen.nGenome-SAstr-16) ); + for (int ii=0; ii<L; ii++) + { +- register char g2=(char) (g1>>(8*(15-ii))); ++ char g2=(char) (g1>>(8*(15-ii))); + if (g2>3) + { + iL4=ii; diff --git a/biology/star/files/patch-bamSortByCoordinate.cpp b/biology/star/files/patch-bamSortByCoordinate.cpp new file mode 100644 index 000000000000..5ba13ed77fc9 --- /dev/null +++ b/biology/star/files/patch-bamSortByCoordinate.cpp @@ -0,0 +1,11 @@ +--- bamSortByCoordinate.cpp.orig 2021-11-26 16:17:37 UTC ++++ bamSortByCoordinate.cpp +@@ -64,7 +64,7 @@ void bamSortByCoordinate (Parameters &P, ReadAlignChun + boolWait=false; + totalMem+=newMem; + }; +- sleep(0.1); ++ usleep(10000); + }; + BAMbinSortByCoordinate(ibin,binN,binS,P.runThreadN,P.outBAMsortTmpDir, P, genome, solo); + #pragma omp critical diff --git a/biology/star/files/patch-opal_opal.cpp b/biology/star/files/patch-opal_opal.cpp new file mode 100644 index 000000000000..dcda064df27a --- /dev/null +++ b/biology/star/files/patch-opal_opal.cpp @@ -0,0 +1,13 @@ +--- opal/opal.cpp.orig 2021-11-26 16:14:46 UTC ++++ opal/opal.cpp +@@ -5,10 +5,8 @@ + #include <limits> + #include <vector> + +-extern "C" { + #define SIMDE_ENABLE_NATIVE_ALIASES + #include <simde_avx2.h> // AVX2 and lower +-} + + #include "opal.h" +