From nobody Sun Nov 28 22:56:48 2021 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id C4A1C18C182E; Sun, 28 Nov 2021 22:56:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4J2P4J3csBz4Vcd; Sun, 28 Nov 2021 22:56:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 57EA617B44; Sun, 28 Nov 2021 22:56:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 1ASMumgR020928; Sun, 28 Nov 2021 22:56:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 1ASMumbC020927; Sun, 28 Nov 2021 22:56:48 GMT (envelope-from git) Date: Sun, 28 Nov 2021 22:56:48 GMT Message-Id: <202111282256.1ASMumbC020927@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: "Jason W. Bacon" Subject: git: 6863162eb9e7 - main - biology/hisat2: Add support for powerpc64* and aarch64 List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jwb X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6863162eb9e7e3c3acdf4365f3dd7d5ea0279234 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1638140208; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/EZvilSJD2zVXPDLTpm0ZBB5uMd6nl3vtQhsbW6BpG8=; b=vIavhEeVsDxVJU9pUkHoKZD6BkQHfYd8HUlkChTNyHnoZYKi1jV+RgQXQC4NLd7/hF2hHh d5krON5IAO7wqqI2zfxipCtLqc/Ys9vrGmb3Zu/4Np4NLQAmlJPs9F5dead9FjXi4aSLd+ xuKh+5z3z5XRoGRQYsrYED5zGnLm4Lpyw+1tG+tNI7JBv+IvW3h9SVNLudxA2GEYhBjmei DME74KPD8jhtdEaZboKtl4C0ohC75/v2h9NuNdTYrfswBKR5BhFSrV3t3MvO9CUzQq6ZZV JvWAeHF2bv3cb+exbtutlU6iKp683nDRNcXgqHjg1YSALzBKM/aM2p7jTxixVw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1638140208; a=rsa-sha256; cv=none; b=rbD21SqTziJDbezvHyxw6YV9cnTOmrU7gu8KtuR8XxlkBZ1uwOD7jVCqhBBK8L+ulhAG5c Fq93FV2V6Ar97GbFBveZDdP86pGGyxus301YdIP9kP1zcX57BjE1dUqHNz25yEbhJ4lBpD Gtc50aXfVgoAN2hwfachFI1eME14QuVXROaXLdhVaOZ+PYlhxT+pQlH/frZ06MXhLS03wC SSIVa/+7ZE9iYvtCVfveKjOQOn3vkegf7Qcxf3RuD8pgE2crg8xoNnlpltoqDrWC8Fo1TG WY3VE0uxLp+D9h7tlCLlcvU7odJQU+W8qfeMBQ/nziwVkIVwL64ACrZ0eRT5Ew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jwb: URL: https://cgit.FreeBSD.org/ports/commit/?id=6863162eb9e7e3c3acdf4365f3dd7d5ea0279234 commit 6863162eb9e7e3c3acdf4365f3dd7d5ea0279234 Author: Jason W. Bacon AuthorDate: 2021-11-28 22:52:09 +0000 Commit: Jason W. Bacon CommitDate: 2021-11-28 22:52:09 +0000 biology/hisat2: Add support for powerpc64* and aarch64 Minor patches to utilize simde to emulate SSE (from Debian package) Add -fsigned-char since clang defaults to unsigned on aarch64 Remove -DPOPCNT_CAPABILITY (not truly safe even on amd64) --- biology/hisat2/Makefile | 10 ++++++---- biology/hisat2/files/patch-Makefile | 9 +++++++++ biology/hisat2/files/patch-aligner__sw.h | 17 +++++++++++++++++ biology/hisat2/files/patch-processor__support.h | 21 +++++++++++++++++++++ biology/hisat2/files/patch-sse__util.h | 17 +++++++++++++++++ 5 files changed, 70 insertions(+), 4 deletions(-) diff --git a/biology/hisat2/Makefile b/biology/hisat2/Makefile index 33d56578fcf8..f30120ce4824 100644 --- a/biology/hisat2/Makefile +++ b/biology/hisat2/Makefile @@ -1,7 +1,7 @@ PORTNAME= hisat2 DISTVERSIONPREFIX= v DISTVERSION= 2.2.1 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= biology perl5 python MAINTAINER= jwb@FreeBSD.org @@ -10,10 +10,12 @@ COMMENT= Alignment program for mapping next-generation sequencing reads LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/LICENSE -ONLY_FOR_ARCHS= amd64 +ONLY_FOR_ARCHS= aarch64 amd64 powerpc64 powerpc64le ONLY_FOR_ARCHS_REASON= 64-bit code, some assembly language -USES= gmake perl5 python shebangfix +BUILD_DEPENDS= simde>0:devel/simde + +USES= gmake localbase perl5 python shebangfix USE_GITHUB= yes SHEBANG_FILES= hisat2 hisat2-build hisat2-inspect \ @@ -22,6 +24,6 @@ SHEBANG_FILES= hisat2 hisat2-build hisat2-inspect \ scripts/*.pl docs_jhu/*.pl GH_ACCOUNT= DaehwanKimLab -CFLAGS+= -Wno-deprecated-declarations -Wno-char-subscripts +CFLAGS+= -Wno-deprecated-declarations -Wno-char-subscripts -fsigned-char .include diff --git a/biology/hisat2/files/patch-Makefile b/biology/hisat2/files/patch-Makefile index 856bf8d629b6..b3027907ae07 100644 --- a/biology/hisat2/files/patch-Makefile +++ b/biology/hisat2/files/patch-Makefile @@ -15,6 +15,15 @@ HEADERS = $(wildcard *.h) BOWTIE_MM = 1 BOWTIE_SHARED_MEM = 0 +@@ -55,7 +57,7 @@ ifneq (,$(findstring Darwin,$(shell uname))) + MACOS = 1 + endif + +-EXTRA_FLAGS += -DPOPCNT_CAPABILITY -std=c++11 ++EXTRA_FLAGS += -std=c++11 + INC += -I. -I third_party + + MM_DEF = @@ -152,31 +154,9 @@ HISAT2_REPEAT_CPPS_MAIN = $(REPEAT_CPPS) $(BUILD_CPPS) SEARCH_FRAGMENTS = $(wildcard search_*_phase*.c) VERSION = $(shell cat VERSION) diff --git a/biology/hisat2/files/patch-aligner__sw.h b/biology/hisat2/files/patch-aligner__sw.h new file mode 100644 index 000000000000..24a24028ee6c --- /dev/null +++ b/biology/hisat2/files/patch-aligner__sw.h @@ -0,0 +1,17 @@ +--- aligner_sw.h.orig 2020-07-24 20:07:54 UTC ++++ aligner_sw.h +@@ -66,11 +66,13 @@ + + #define INLINE_CUPS + ++#define SIMDE_ENABLE_NATIVE_ALIASES ++ ++#include + #include + #include + #include + #include "threading.h" +-#include + #include "aligner_sw_common.h" + #include "aligner_sw_nuc.h" + #include "ds.h" diff --git a/biology/hisat2/files/patch-processor__support.h b/biology/hisat2/files/patch-processor__support.h new file mode 100644 index 000000000000..e85c19b63f84 --- /dev/null +++ b/biology/hisat2/files/patch-processor__support.h @@ -0,0 +1,21 @@ +--- processor_support.h.orig 2020-07-24 20:07:54 UTC ++++ processor_support.h +@@ -12,7 +12,7 @@ + + #if defined(__INTEL_COMPILER) + # define USING_INTEL_COMPILER +-#elif defined(__GNUC__) ++#elif defined(__GNUC__) && (defined(__amd64__) || defined(__i386__)) + # define USING_GCC_COMPILER + # include + #elif defined(_MSC_VER) +@@ -52,8 +52,7 @@ class ProcessorSupport { (public) + #elif defined(USING_GCC_COMPILER) + __get_cpuid(0x1, ®s.EAX, ®s.EBX, ®s.ECX, ®s.EDX); + #else +- std::cerr << "ERROR: please define __cpuid() for this build.\n"; +- assert(0); ++ return false; + #endif + if( !( (regs.ECX & BIT(20)) && (regs.ECX & BIT(23)) ) ) return false; + } diff --git a/biology/hisat2/files/patch-sse__util.h b/biology/hisat2/files/patch-sse__util.h new file mode 100644 index 000000000000..0241493cad77 --- /dev/null +++ b/biology/hisat2/files/patch-sse__util.h @@ -0,0 +1,17 @@ +--- sse_util.h.orig 2021-11-27 23:25:39 UTC ++++ sse_util.h +@@ -20,11 +20,13 @@ + #ifndef SSE_UTIL_H_ + #define SSE_UTIL_H_ + ++#define SIMDE_ENABLE_NATIVE_ALIASES ++#include ++ + #include "assert_helpers.h" + #include "ds.h" + #include "limit.h" + #include +-#include + + class EList_m128i { + public: