v4l-utils: update to 1.28.1.

This commit is contained in:
oreo639 2025-03-16 02:33:15 -07:00 committed by oreo639
parent 5e49480b0d
commit c7f87762ff
3 changed files with 76 additions and 8 deletions

View file

@ -0,0 +1,56 @@
From fd882f9e77b13cbc6a669e6836c3943393b44152 Mon Sep 17 00:00:00 2001
From: Michal Rostecki <vadorovsky@gmail.com>
Date: Fri, 6 Sep 2024 14:46:31 +0200
Subject: libv4l2: Guard the v4l2_ioctl function with HAVE_POSIX_IOCTL
Lack of this check leads to issues on musl-based system. Even though
compilation of libv4l2 itself with musl doesn't cause any errors,
using the library inside gst-plugins-v4l2 causes a compiler error
due to mismatch of the ioctl signature.
A similar check is already performed in v4l2convert.c, so the change
doesn't bring any inconsistency.
Link: https://bugs.gentoo.org/896418
Signed-off-by: Michal Rostecki <vadorovsky@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
---
lib/include/libv4l2.h | 4 ++++
lib/libv4l2/libv4l2.c | 4 ++++
2 files changed, 8 insertions(+)
diff --git a/lib/include/libv4l2.h b/lib/include/libv4l2.h
index ea1870db..16565555 100644
--- a/lib/include/libv4l2.h
+++ b/lib/include/libv4l2.h
@@ -63,7 +63,11 @@ LIBV4L_PUBLIC extern FILE *v4l2_log_file;
LIBV4L_PUBLIC int v4l2_open(const char *file, int oflag, ...);
LIBV4L_PUBLIC int v4l2_close(int fd);
LIBV4L_PUBLIC int v4l2_dup(int fd);
+#ifdef HAVE_POSIX_IOCTL
+LIBV4L_PUBLIC int v4l2_ioctl(int fd, int request, ...);
+#else
LIBV4L_PUBLIC int v4l2_ioctl(int fd, unsigned long int request, ...);
+#endif
LIBV4L_PUBLIC ssize_t v4l2_read(int fd, void *buffer, size_t n);
LIBV4L_PUBLIC ssize_t v4l2_write(int fd, const void *buffer, size_t n);
LIBV4L_PUBLIC void *v4l2_mmap(void *start, size_t length, int prot, int flags,
diff --git a/lib/libv4l2/libv4l2.c b/lib/libv4l2/libv4l2.c
index 032a4f1c..1607ec35 100644
--- a/lib/libv4l2/libv4l2.c
+++ b/lib/libv4l2/libv4l2.c
@@ -1051,7 +1051,11 @@ static int v4l2_s_fmt(int index, struct v4l2_format *dest_fmt)
return 0;
}
+#ifdef HAVE_POSIX_IOCTL
+int v4l2_ioctl(int fd, int request, ...)
+#else
int v4l2_ioctl(int fd, unsigned long int request, ...)
+#endif
{
void *arg;
va_list ap;
--
cgit v1.2.3

View file

@ -0,0 +1,15 @@
Don't hardcode sbin path.
diff --git v4l-utils-1.26.1/utils/v4l2-dbg/meson.build~ v4l-utils-1.26.1/utils/v4l2-dbg/meson.build
index c23bf8f351..bfbc10c616 100644
--- v4l-utils-1.26.1/utils/v4l2-dbg/meson.build~
+++ v4l-utils-1.26.1/utils/v4l2-dbg/meson.build
@@ -13,7 +13,7 @@ v4l2_dbg_sources = files(
v4l2_dbg = executable('v4l2-dbg',
v4l2_dbg_sources,
install : true,
- install_dir : 'sbin',
+ install_dir : get_option('sbindir'),
include_directories : [
v4l2_utils_incdir,
utils_common_incdir,

View file

@ -1,9 +1,9 @@
# Template file for 'v4l-utils'
pkgname=v4l-utils
version=1.24.1
version=1.28.1
revision=1
build_style=gnu-configure
configure_args="--disable-qv4l2 --with-udevdir=/usr/lib/udev"
build_style=meson
configure_args="-Dqv4l2=disabled -Dudevdir=/usr/lib/udev -Dgconv=disabled"
hostmakedepends="perl pkg-config gettext-devel"
makedepends="libjpeg-turbo-devel libsysfs-devel eudev-libudev-devel alsa-lib-devel
libX11-devel"
@ -12,8 +12,8 @@ maintainer="Orphaned <orphan@voidlinux.org>"
license="GPL-2.0-or-later, LGPL-2.1-or-later"
homepage="https://linuxtv.org/"
changelog="https://git.linuxtv.org/v4l-utils.git/plain/ChangeLog"
distfiles="https://linuxtv.org/downloads/v4l-utils/v4l-utils-${version}.tar.bz2"
checksum=cbb7fe8a6307f5ce533a05cded70bb93c3ba06395ab9b6d007eb53b75d805f5b
distfiles="https://linuxtv.org/downloads/v4l-utils/v4l-utils-${version}.tar.xz"
checksum=0fa075ce59b6618847af6ea191b6155565ccaa44de0504581ddfed795a328a82
conf_files="/etc/rc_maps.cfg"
case "$XBPS_TARGET_MACHINE" in
@ -23,15 +23,12 @@ case "$XBPS_TARGET_MACHINE" in
;;
esac
CFLAGS+=" -fcommon"
v4l-utils-devel_package() {
depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
short_desc+=" - development files"
pkg_install() {
vmove usr/include
vmove usr/lib/pkgconfig
vmove "usr/lib/*.a"
vmove "usr/lib/*.so"
}
}