biology/bowtie: Update to 1.3.1

Also adds support for aarch64 and powerpc64*

Changes:        https://github.com/BenLangmead/bowtie/tags

PR:             260389
Reported by:    pkubaj
This commit is contained in:
Jason W. Bacon 2021-12-13 19:41:19 -06:00
parent 0e38fb7612
commit eb67c2b94c
6 changed files with 34 additions and 80 deletions

View File

@ -1,7 +1,6 @@
PORTNAME= bowtie
DISTVERSIONPREFIX= v
DISTVERSION= 1.1.2
PORTREVISION= 9
DISTVERSION= 1.3.1
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
@ -9,21 +8,26 @@ COMMENT= Ultrafast, memory-efficient short read aligner
LICENSE= ART10
# May also work on other 64-bit platforms, but untested
ONLY_FOR_ARCHS= amd64
ONLY_FOR_ARCHS= aarch64 amd64 powerpc64 powerpc64le
# FIXME: bowtie-align intermittently dumps core when compiled with clang
# GCC 4.2 does not provide good performance
USES= gmake perl5 python:run shebangfix
USE_GCC= yes
# c++11-lib is just for GCC 4.2-based systems
# Remove it when support officially ends
USES= compiler:c++11-lib gmake perl5 python:run shebangfix
USE_PERL5= run
USE_GITHUB= yes
SHEBANG_FILES= scripts/*.pl bowtie bowtie-build bowtie-inspect
SHEBANG_FILES= scripts/*.pl bowtie bowtie-build scripts/bowtie-hbb.sh \
bowtie-inspect
GH_ACCOUNT= BenLangmead
OPTIONS_DEFINE= DOCS
.include <bsd.port.options.mk>
.if ${ARCH:Mpowerpc64*} || ${ARCH:Maarch64}
MAKE_ENV= POPCNT_CAPABILITY=0
.endif
post-install:
${MKDIR} ${STAGEDIR}${DATADIR}/scripts
${INSTALL_SCRIPT} \

View File

@ -1,2 +1,3 @@
SHA256 (BenLangmead-bowtie-v1.1.2_GH0.tar.gz) = 717145f12d599e9b3672981f5444fbbdb8e02bfde2a80eba577e28baa4125ba7
SIZE (BenLangmead-bowtie-v1.1.2_GH0.tar.gz) = 7831346
TIMESTAMP = 1639406970
SHA256 (BenLangmead-bowtie-v1.3.1_GH0.tar.gz) = 147d9fe9652f7c5f351bfc0eb012e06981986fb43bd6bdfe88a95c02eabc6573
SIZE (BenLangmead-bowtie-v1.3.1_GH0.tar.gz) = 7672741

View File

@ -1,52 +1,20 @@
--- Makefile.orig 2015-06-23 16:32:51 UTC
--- Makefile.orig 2021-12-13 20:33:26 UTC
+++ Makefile
@@ -8,9 +8,13 @@ bindir = $(prefix)/bin
SEQAN_DIR = SeqAn-1.1
SEQAN_INC = -I $(SEQAN_DIR)
INC = $(SEQAN_INC) -I third_party
-CPP = g++
-CXX = $(CPP)
-CC = gcc
+
+# Use ?= to allow environment CPP, CC, CXX to take precedence. This avoids
+# the need to modify the Makefile on different platforms. Package managers
+# such as FreeBSD ports, MacPorts, etc. set these variables automatically.
+CPP ?= g++
+CXX ?= $(CPP)
+CC ?= gcc
HEADERS = $(wildcard *.h)
BOWTIE_MM = 1
BOWTIE_SHARED_MEM = 1
@@ -90,10 +94,10 @@ PREFETCH_LOCALITY = 2
PREF_DEF = -DPREFETCH_LOCALITY=$(PREFETCH_LOCALITY)
ifeq (1,$(WITH_TBB))
- LIBS = $(PTHREAD_LIB) -ltbb -ltbbmalloc_proxy
+ LIBS = ${LDFLAGS} $(PTHREAD_LIB) -ltbb -ltbbmalloc_proxy
EXTRA_FLAGS += -DWITH_TBB
else
- LIBS = $(PTHREAD_LIB)
+ LIBS = ${LDFLAGS} $(PTHREAD_LIB)
@@ -146,7 +146,7 @@ ifeq (32,$(BITS))
endif
SEARCH_LIBS =
@@ -123,7 +127,7 @@ SEARCH_FRAGMENTS = $(wildcard search_*_p
VERSION = $(shell cat VERSION)
BITS=32
-ifeq (x86_64,$(shell uname -m))
+ifeq (amd64,$(shell uname -m))
BITS=64
endif
# msys will always be 32 bit so look at the cpu arch instead.
@@ -143,8 +147,8 @@ ifeq (32,$(BITS))
$(error bowtie2 compilation requires a 64-bit platform )
endif
-DEBUG_FLAGS = -O0 -g3 -m64
-RELEASE_FLAGS = -O3 -m64
+DEBUG_FLAGS = -O0 -g3
+RELEASE_FLAGS = -O
DEBUG_FLAGS = -O0 -g3
-RELEASE_FLAGS = -O3
+RELEASE_FLAGS =
NOASSERT_FLAGS = -DNDEBUG
FILE_FLAGS = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
@@ -225,7 +225,7 @@ DEFS=-fno-strict-aliasing \
$(MM_DEF) \
$(SHMEM_DEF)
-ALL_FLAGS = $(EXTRA_FLAGS) $(CFLAGS) $(CXXFLAGS)
+ALL_FLAGS = $(EXTRA_FLAGS) $(CXXFLAGS)
DEBUG_DEFS = -DCOMPILER_OPTIONS="\"$(DEBUG_FLAGS) $(EXTRA_FLAGS) $(CFLAGS) $(CXXFLAGS)\""
RELEASE_DEFS = -DCOMPILER_OPTIONS="\"$(RELEASE_FLAGS) $(EXTRA_FLAGS) $(CFLAGS) $(CXXFLAGS)\""

View File

@ -1,11 +0,0 @@
--- ebwt.h.orig 2018-11-03 20:51:56 UTC
+++ ebwt.h
@@ -860,7 +860,7 @@ public:
TIndexOffU* ftab() const { return _ftab; }
TIndexOffU* eftab() const { return _eftab; }
TIndexOffU* offs() const { return _offs; }
- uint32_t* isa() const { return _isa; } /* check */
+ uint32_t* isa() const { return (uint32_t)_isa; } /* check */
TIndexOffU* plen() const { return _plen; }
TIndexOffU* rstarts() const { return _rstarts; }
uint8_t* ebwt() const { return _ebwt; }

View File

@ -1,11 +0,0 @@
--- processor_support.h.orig 2020-07-04 10:42:26 UTC
+++ processor_support.h
@@ -49,7 +49,7 @@ class ProcessorSupport { (public)
#elif defined(USING_GCC_COMPILER)
__get_cpuid(0x1, &regs.EAX, &regs.EBX, &regs.ECX, &regs.EDX);
#else
- std::cerr << ERROR: please define __cpuid() for this build.\n;
+ std::cerr << "ERROR: please define __cpuid() for this build.\n";
assert(0);
#endif
if( !( (regs.ECX & BIT(20)) && (regs.ECX & BIT(23)) ) ) return false;

View File

@ -26,7 +26,9 @@ bin/bowtie-inspect-s
%%DATADIR%%/reads/e_coli_1000_1.fq
%%DATADIR%%/reads/e_coli_1000_2.fa
%%DATADIR%%/reads/e_coli_1000_2.fq
%%DATADIR%%/reads/e_coli_1000_interleaved.fq
%%DATADIR%%/scripts/best_verify.pl
%%DATADIR%%/scripts/bowtie-hbb.sh
%%DATADIR%%/scripts/bs_mapability.pl
%%DATADIR%%/scripts/build_test.sh
%%DATADIR%%/scripts/colorize_fasta.pl
@ -58,6 +60,7 @@ bin/bowtie-inspect-s
%%DATADIR%%/scripts/pe_verify.pl
%%DATADIR%%/scripts/reconcile_alignments.pl
%%DATADIR%%/scripts/reconcile_alignments_pe.pl
%%DATADIR%%/scripts/run-hbb.sh
%%PORTDOCS%%%%DOCSDIR%%/README
%%PORTDOCS%%%%DOCSDIR%%/manual.html
%%PORTDOCS%%%%DOCSDIR%%/release.txt
@ -81,7 +84,7 @@ bin/bowtie-inspect-s
%%PORTDOCS%%%%DOCSDIR%%/website/old_news.ssi
%%PORTDOCS%%%%DOCSDIR%%/website/other_tools.shtml
%%PORTDOCS%%%%DOCSDIR%%/website/other_tools.ssi
%%PORTDOCS%%%%DOCSDIR%%/website/push_langmead.sh
%%PORTDOCS%%%%DOCSDIR%%/website/push.sh
%%PORTDOCS%%%%DOCSDIR%%/website/recent_news.ssi
%%PORTDOCS%%%%DOCSDIR%%/website/rhsidebar.ssi
%%PORTDOCS%%%%DOCSDIR%%/website/top.ssi