commit:     be414dd85e64601394f8a0a2a4b3f4ecf73c9180
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 15 02:17:16 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jun 15 02:17:16 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=be414dd8

media-tv/v4l-utils: fix musl build

Closes: https://bugs.gentoo.org/908380
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/v4l-utils-1.24.1-musl-include.patch      | 11 +++++
 .../files/v4l-utils-1.24.1-musl-lfs.patch          | 51 ++++++++++++++++++++++
 media-tv/v4l-utils/v4l-utils-1.24.1.ebuild         |  5 +++
 3 files changed, 67 insertions(+)

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 <[email protected]>
+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 <[email protected]>
+Signed-off-by: Hans Verkuil <[email protected]>
+--- 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}}

Reply via email to