summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-06-15 03:17:16 +0100
committerSam James <sam@gentoo.org>2023-06-15 03:17:16 +0100
commitbe414dd85e64601394f8a0a2a4b3f4ecf73c9180 (patch)
tree47066bd659161fc623c12347ab1643387d574d7d /media-tv/v4l-utils
parentprofiles/targets/systemd: force USE=systemd on virtual/udev & virtual/tmpfiles (diff)
downloadgentoo-be414dd85e64601394f8a0a2a4b3f4ecf73c9180.tar.gz
gentoo-be414dd85e64601394f8a0a2a4b3f4ecf73c9180.tar.bz2
gentoo-be414dd85e64601394f8a0a2a4b3f4ecf73c9180.zip
media-tv/v4l-utils: fix musl build
Closes: https://bugs.gentoo.org/908380 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-tv/v4l-utils')
-rw-r--r--media-tv/v4l-utils/files/v4l-utils-1.24.1-musl-include.patch11
-rw-r--r--media-tv/v4l-utils/files/v4l-utils-1.24.1-musl-lfs.patch51
-rw-r--r--media-tv/v4l-utils/v4l-utils-1.24.1.ebuild5
3 files changed, 67 insertions, 0 deletions
diff --git a/media-tv/v4l-utils/files/v4l-utils-1.24.1-musl-include.patch b/media-tv/v4l-utils/files/v4l-utils-1.24.1-musl-include.patch
new file mode 100644
index 000000000000..8738f272aaed
--- /dev/null
+++ b/media-tv/v4l-utils/files/v4l-utils-1.24.1-musl-include.patch
@@ -0,0 +1,11 @@
+https://bugs.gentoo.org/908380
+--- a/utils/common/media-info.h
++++ b/utils/common/media-info.h
+@@ -5,6 +5,7 @@
+
+ #ifndef _MEDIA_INFO_H
+ #define _MEDIA_INFO_H
++#include <sys/types.h>
+
+ enum media_type {
+ MEDIA_TYPE_CANT_STAT,
diff --git a/media-tv/v4l-utils/files/v4l-utils-1.24.1-musl-lfs.patch b/media-tv/v4l-utils/files/v4l-utils-1.24.1-musl-lfs.patch
new file mode 100644
index 000000000000..196b7430ca5c
--- /dev/null
+++ b/media-tv/v4l-utils/files/v4l-utils-1.24.1-musl-lfs.patch
@@ -0,0 +1,51 @@
+https://git.linuxtv.org/v4l-utils.git/commit/?id=5d7d99cd11acaaa3bdcb290f92012005dca58b1e
+
+From 5d7d99cd11acaaa3bdcb290f92012005dca58b1e Mon Sep 17 00:00:00 2001
+From: Peter Seiderer <ps.report@gmx.net>
+Date: Fri, 31 Mar 2023 23:35:02 +0200
+Subject: v4l2-tracer: wrap open64/mmap64 functions only if linux && __GLIBC__
+
+Wrap open64/mmap64 functions only if linux && __GLIBC__, as done
+in lib/libv4l1/v4l1comapt.c and lib/libv4l2/v4l2convert.c since
+commit 'libv4l: Wrap LFS64 functions only if linux && __GLIBC__'
+(403a4e2697a1ff96fe2fa16589039595f21cadf0), should fix musl libc
+compile.
+
+Signed-off-by: Peter Seiderer <ps.report@gmx.net>
+Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
+--- a/utils/v4l2-tracer/libv4l2tracer.cpp
++++ b/utils/v4l2-tracer/libv4l2tracer.cpp
+@@ -83,6 +83,7 @@ int open(const char *path, int oflag, ...)
+ return fd;
+ }
+
++#if defined(linux) && defined(__GLIBC__)
+ int open64(const char *path, int oflag, ...)
+ {
+ errno = 0;
+@@ -110,6 +111,7 @@ int open64(const char *path, int oflag, ...)
+
+ return fd;
+ }
++#endif
+
+ int close(int fd)
+ {
+@@ -156,6 +158,7 @@ void *mmap(void *addr, size_t len, int prot, int flags, int fildes, off_t off)
+ return buf_address_pointer;
+ }
+
++#if defined(linux) && defined(__GLIBC__)
+ void *mmap64(void *addr, size_t len, int prot, int flags, int fildes, off_t off)
+ {
+ errno = 0;
+@@ -170,6 +173,7 @@ void *mmap64(void *addr, size_t len, int prot, int flags, int fildes, off_t off)
+
+ return buf_address_pointer;
+ }
++#endif
+
+ int munmap(void *start, size_t length)
+ {
+--
+cgit v1.2.1
diff --git a/media-tv/v4l-utils/v4l-utils-1.24.1.ebuild b/media-tv/v4l-utils/v4l-utils-1.24.1.ebuild
index b04a84c6a468..3d4eaac93b9a 100644
--- a/media-tv/v4l-utils/v4l-utils-1.24.1.ebuild
+++ b/media-tv/v4l-utils/v4l-utils-1.24.1.ebuild
@@ -45,6 +45,11 @@ BDEPEND="
# Not really prebuilt but BPF objects make our QA checks go crazy.
QA_PREBUILT="*/rc_keymaps/protocols/*.o"
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.24.1-musl-include.patch
+ "${FILESDIR}"/${P}-musl-lfs.patch
+)
+
check_llvm() {
if [[ ${MERGE_TYPE} != binary ]] && use bpf; then
local clang=${ac_cv_prog_CLANG:-${CLANG:-clang}}