git: af603fd69c6b - main - audio/sfizz: fix build on aarch64 / armv7
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 01 Jan 2025 12:25:14 UTC
The branch main has been updated by fuz:
URL: https://cgit.FreeBSD.org/ports/commit/?id=af603fd69c6b2846915f7e355f08b5fec891ac3f
commit af603fd69c6b2846915f7e355f08b5fec891ac3f
Author: Robert Clausecker <fuz@FreeBSD.org>
AuthorDate: 2024-12-29 13:18:41 +0000
Commit: Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2025-01-01 12:24:55 +0000
audio/sfizz: fix build on aarch64 / armv7
Add code path for querying the ELF aux vectors on FreeBSD.
Approved by: portmgr (build fix blanket)
MFH: 2024Q4
Event: 38C3
---
audio/sfizz/Makefile | 2 --
...puid_src_cpuid_detail_init__linux__gcc__arm.hpp | 28 ++++++++++++++++++++++
2 files changed, 28 insertions(+), 2 deletions(-)
diff --git a/audio/sfizz/Makefile b/audio/sfizz/Makefile
index e53583c195d0..094ae7cb05fd 100644
--- a/audio/sfizz/Makefile
+++ b/audio/sfizz/Makefile
@@ -9,8 +9,6 @@ WWW= https://sfz.tools/sfizz/
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-BROKEN_aarch64= compilation fails: fatal error: 'linux/auxvec.h' file not found, see https://github.com/steinwurf/cpuid/issues/65
-
LIB_DEPENDS= libabsl_hash.so:devel/abseil
RUN_DEPENDS= zenity:x11/zenity
diff --git a/audio/sfizz/files/patch-src_external_cpuid_src_cpuid_detail_init__linux__gcc__arm.hpp b/audio/sfizz/files/patch-src_external_cpuid_src_cpuid_detail_init__linux__gcc__arm.hpp
new file mode 100644
index 000000000000..2998fa8fce25
--- /dev/null
+++ b/audio/sfizz/files/patch-src_external_cpuid_src_cpuid_detail_init__linux__gcc__arm.hpp
@@ -0,0 +1,28 @@
+--- src/external/cpuid/src/cpuid/detail/init_linux_gcc_arm.hpp.orig 2024-12-29 13:01:01 UTC
++++ src/external/cpuid/src/cpuid/detail/init_linux_gcc_arm.hpp
+@@ -11,7 +11,11 @@
+
+ #include <elf.h>
+ #include <fcntl.h>
++#ifdef __FreeBSD__
++#include <sys/auxv.h>
++#else
+ #include <linux/auxvec.h>
++#endif
+ #include <unistd.h>
+
+ #include "cpuinfo_impl.hpp"
+@@ -28,6 +32,13 @@ void init_cpuinfo(cpuinfo::impl& info)
+ // (64-bit ARM). Note that /proc/cpuinfo will display "asimd" instead of
+ // "neon" in the Features list on a 64-bit ARM CPU.
+ info.m_has_neon = true;
++#elif defined(__FreeBSD__)
++ // armv7 FreeBSD
++ long hwcap = 0;
++
++ elf_aux_info(AT_HWCAP, &hwcap, sizeof hwcap);
++
++ info.m_has_neon = hwcap & HWCAP_NEON;
+ #else
+ // Runtime detection of NEON is necessary on 32-bit ARM CPUs
+ //