git: 7bed7b09f6b0 - main - biology/hmmer: add powerpc64le support
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 15 Oct 2026 10:45:33 UTC
The branch main has been updated by pkubaj:
URL: https://cgit.FreeBSD.org/ports/commit/?id=7bed7b09f6b0c2c1a4ebcafdee88e7c26ec3666a
commit 7bed7b09f6b0c2c1a4ebcafdee88e7c26ec3666a
Author: Piotr Kubaj <pkubaj@FreeBSD.org>
AuthorDate: 2026-10-13 08:02:48 +0000
Commit: Piotr Kubaj <pkubaj@FreeBSD.org>
CommitDate: 2026-10-15 10:45:17 +0000
biology/hmmer: add powerpc64le support
Swap vec_sld operands on little-endian so the Altivec code keeps its
big-endian element order, and drop the configure check that rejects
VMX on little-endian.
---
biology/hmmer/Makefile | 2 +-
biology/hmmer/files/patch-configure | 17 +++++++++++++++++
biology/hmmer/files/patch-easel_esl__vmx.h | 13 +++++++++++++
3 files changed, 31 insertions(+), 1 deletion(-)
diff --git a/biology/hmmer/Makefile b/biology/hmmer/Makefile
index 8ecfa09c77f5..7e5021c5b256 100644
--- a/biology/hmmer/Makefile
+++ b/biology/hmmer/Makefile
@@ -10,7 +10,7 @@ WWW= http://hmmer.org/
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-ONLY_FOR_ARCHS= aarch64 amd64 armv7 i386 powerpc powerpc64
+ONLY_FOR_ARCHS= aarch64 amd64 armv7 i386 powerpc powerpc64 powerpc64le
ONLY_FOR_ARCHS_REASON= requires NEON, SSE2 or AltiVec instructions
USES= compiler:c11 gmake perl5 python:test shebangfix
diff --git a/biology/hmmer/files/patch-configure b/biology/hmmer/files/patch-configure
new file mode 100644
index 000000000000..40d094f293ef
--- /dev/null
+++ b/biology/hmmer/files/patch-configure
@@ -0,0 +1,17 @@
+--- configure.orig 2026-10-13 07:42:00 UTC
++++ configure
+@@ -7888,13 +7888,7 @@ printf "%s\n" "#define WORDS_BIGENDIAN 1" >>confdefs.h
+ ;; #(
+ no)
+
+- if test "$enable_vmx" = "yes"; then
+- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: ::::::::::--- no vector instruction set ---::::::::::" >&5
+-printf "%s\n" "$as_me: ::::::::::--- no vector instruction set ---::::::::::" >&6;}
+- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: HMMER3 Altivec/VMX only supports big-endian platforms: e.g. ppc64 not ppc64le" >&5
+-printf "%s\n" "$as_me: HMMER3 Altivec/VMX only supports big-endian platforms: e.g. ppc64 not ppc64le" >&6;}
+- as_fn_error $? "No supported vectorization found for your machine." "$LINENO" 5
+- elif test "$enable_neon" = "yes"; then
++ if test "$enable_neon" = "yes"; then
+ as_CACHEVAR=`printf "%s\n" "ax_cv_check_cflags_$NEON_CFLAGS_-mlittle-endian" | $as_tr_sh`
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -mlittle-endian" >&5
+ printf %s "checking whether C compiler accepts -mlittle-endian... " >&6; }
diff --git a/biology/hmmer/files/patch-easel_esl__vmx.h b/biology/hmmer/files/patch-easel_esl__vmx.h
new file mode 100644
index 000000000000..46248daa0564
--- /dev/null
+++ b/biology/hmmer/files/patch-easel_esl__vmx.h
@@ -0,0 +1,13 @@
+--- easel/esl_vmx.h.orig 2026-10-13 07:42:00 UTC
++++ easel/esl_vmx.h
+@@ -11,6 +11,10 @@
+ #include <stdio.h>
+ #include <altivec.h>
+
++#ifdef __LITTLE_ENDIAN__
++#define vec_sld(a, b, c) vec_sld((b), (a), 16 - (c))
++#endif
++
+
+ extern vector float esl_vmx_logf(vector float x);
+ extern vector float esl_vmx_expf(vector float x);