1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-05 01:55:52 +00:00

net/waypipe: update to 0.5.0

Changes:	https://gitlab.freedesktop.org/mstoeckl/waypipe/compare/v0.4.0...v0.5.0
MFH:		2019Q3 (better OpenGL support on Intel)
This commit is contained in:
Jan Beich 2019-08-11 05:05:45 +00:00
parent 985731abc9
commit bf0de8cf1c
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=508582
3 changed files with 71 additions and 6 deletions

View File

@ -2,8 +2,7 @@
PORTNAME= waypipe
DISTVERSIONPREFIX= v
DISTVERSION= 0.4.0
PORTREVISION= 1
DISTVERSION= 0.5.0
CATEGORIES= net
MAINTAINER= jbeich@FreeBSD.org
@ -19,8 +18,19 @@ USES= compiler:c11 localbase:ldflags meson pkgconfig
USE_GITLAB= yes
GL_SITE= https://gitlab.freedesktop.org
GL_ACCOUNT= mstoeckl
GL_COMMIT= 039bd9acb20fe423f6c3b068bb08c6e6935f0d2b
GL_COMMIT= e66f42444d81633f5b413cfe158809efd9c437f0
PLIST_FILES= bin/${PORTNAME}
# XXX armv6 needs https://github.com/mesonbuild/meson/commit/147d3f752c41
CONFIGURE_ENV= UNAME_m=${ARCH}
# XXX Drop after FreeBSD 12.0 EOL
.if exists(/usr/lib/clang/6.0.0) || exists(/usr/lib/clang/6.0.1)
.if ${CC} == cc && (${MACHINE_ARCH} == amd64 || ${MACHINE_ARCH} == i386)
USES:= ${USES:Ncompiler*} # silence warning
BUILD_DEPENDS+= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT}
CC= clang${LLVM_DEFAULT}
.endif
.endif
OPTIONS_DEFINE= FFMPEG LZ4 MANPAGES OPENGL VAAPI ZSTD
OPTIONS_DEFAULT=FFMPEG LZ4 MANPAGES OPENGL VAAPI ZSTD

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1564420188
SHA256 (mstoeckl-waypipe-039bd9acb20fe423f6c3b068bb08c6e6935f0d2b_GL0.tar.gz) = 8ab2f3898ad50910576f3f63cc9ea4182a106aab83e191139c0d3f95325a6eb8
SIZE (mstoeckl-waypipe-039bd9acb20fe423f6c3b068bb08c6e6935f0d2b_GL0.tar.gz) = 124271
TIMESTAMP = 1565392944
SHA256 (mstoeckl-waypipe-e66f42444d81633f5b413cfe158809efd9c437f0_GL0.tar.gz) = 4a78dd943b617e2d39a34f4908f7acd0d0d59e838a83f739effcbf4d452bcec0
SIZE (mstoeckl-waypipe-e66f42444d81633f5b413cfe158809efd9c437f0_GL0.tar.gz) = 135515

View File

@ -0,0 +1,55 @@
- Implement NEON runtime detection on FreeBSD 11.* armv6
--- src/kernel.c.orig 2019-08-09 23:22:24 UTC
+++ src/kernel.c
@@ -36,8 +36,36 @@
#include <asm/hwcap.h>
#include <sys/auxv.h>
#elif defined(__FreeBSD__) && defined(__arm__)
+#if __FreeBSD__ >= 12
#include <sys/auxv.h>
+#else
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#include <elf.h>
+#include <errno.h>
+#include <unistd.h>
+
+static unsigned long getauxval(unsigned long type) {
+ Elf_Auxinfo auxv[AT_COUNT];
+ size_t len = sizeof(auxv);
+ int mib[] = {
+ CTL_KERN,
+ KERN_PROC,
+ KERN_PROC_AUXV,
+ getpid(),
+ };
+
+ if (sysctl(mib, nitems(mib), auxv, &len, NULL, 0) != -1) {
+ for (size_t i = 0; i < nitems(auxv); i++)
+ if ((unsigned long)auxv[i].a_type == type)
+ return auxv[i].a_un.a_val;
+
+ errno = ENOENT;
+ }
+ return 0;
+}
#endif
+#endif
size_t run_interval_diff_C(const int diff_window_size,
const void *__restrict__ imod, void *__restrict__ ibase,
@@ -127,9 +155,13 @@ static bool neon_available(void)
#if defined(__linux__) && defined(__arm__)
return (getauxval(AT_HWCAP) & HWCAP_NEON) != 0;
#elif defined(__FreeBSD__) && defined(__arm__)
+#if __FreeBSD__ < 12
+ return (getauxval(AT_HWCAP) & HWCAP_NEON) != 0;
+#else
unsigned long hwcap = 0;
elf_aux_info(AT_HWCAP, &hwcap, sizeof(hwcap));
return (hwcap & HWCAP_NEON) != 0;
+#endif
#endif
return true;
}