From b18286adae5e1847516ac13bee5183f9049ed455 Mon Sep 17 00:00:00 2001 From: Roberto Ricci Date: Mon, 25 Apr 2022 04:03:31 +0200 Subject: [PATCH] v4l-utils: merge with qv4l2, add qvidcap subpackage - remove patches, since they are already upstream - clean up template --- srcpkgs/qv4l2 | 1 + .../patches/musl-temp-failure-retry.patch | 19 ----- srcpkgs/qv4l2/patches/musl.patch | 74 ------------------- srcpkgs/qv4l2/patches/time64.patch | 11 --- srcpkgs/qv4l2/template | 35 --------- srcpkgs/qv4l2/update | 1 - srcpkgs/qvidcap | 1 + srcpkgs/v4l-utils/patches/musl.patch | 46 ------------ srcpkgs/v4l-utils/template | 57 ++++++++++---- 9 files changed, 43 insertions(+), 202 deletions(-) create mode 120000 srcpkgs/qv4l2 delete mode 100644 srcpkgs/qv4l2/patches/musl-temp-failure-retry.patch delete mode 100644 srcpkgs/qv4l2/patches/musl.patch delete mode 100644 srcpkgs/qv4l2/patches/time64.patch delete mode 100644 srcpkgs/qv4l2/template delete mode 100644 srcpkgs/qv4l2/update create mode 120000 srcpkgs/qvidcap delete mode 100644 srcpkgs/v4l-utils/patches/musl.patch diff --git a/srcpkgs/qv4l2 b/srcpkgs/qv4l2 new file mode 120000 index 000000000000..a70f33948879 --- /dev/null +++ b/srcpkgs/qv4l2 @@ -0,0 +1 @@ +v4l-utils \ No newline at end of file diff --git a/srcpkgs/qv4l2/patches/musl-temp-failure-retry.patch b/srcpkgs/qv4l2/patches/musl-temp-failure-retry.patch deleted file mode 100644 index 8296dc76b5fc..000000000000 --- a/srcpkgs/qv4l2/patches/musl-temp-failure-retry.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- a/lib/libdvbv5/dvb-dev-local.c -+++ b/lib/libdvbv5/dvb-dev-local.c -@@ -44,6 +44,16 @@ - # define _(string) string - #endif - -+/* taken from glibc unistd.h and fixes musl */ -+#ifndef TEMP_FAILURE_RETRY -+#define TEMP_FAILURE_RETRY(expression) \ -+ (__extension__ \ -+ ({ long int __result; \ -+ do __result = (long int) (expression); \ -+ while (__result == -1L && errno == EINTR); \ -+ __result; })) -+#endif -+ - struct dvb_dev_local_priv { - dvb_dev_change_t notify_dev_change; - diff --git a/srcpkgs/qv4l2/patches/musl.patch b/srcpkgs/qv4l2/patches/musl.patch deleted file mode 100644 index 869ca324f299..000000000000 --- a/srcpkgs/qv4l2/patches/musl.patch +++ /dev/null @@ -1,74 +0,0 @@ -diff --git utils/ir-ctl/keymap.h utils/ir-ctl/keymap.h -index f2b2963..51e4440 100644 ---- a/utils/ir-ctl/keymap.h -+++ b/utils/ir-ctl/keymap.h -@@ -1,6 +1,11 @@ - /* SPDX-License-Identifier: GPL-2.0 */ - #ifndef __KEYMAP_H - #define __KEYMAP_H -+#include -+#ifndef __error_t_defined -+# define __error_t_defined 1 -+typedef int error_t; -+#endif - - struct keymap { - struct keymap *next; -@@ -20,16 +25,16 @@ struct protocol_param { - - struct scancode_entry { - struct scancode_entry *next; -- u_int32_t scancode; -+ uint32_t scancode; - char *keycode; - }; - - struct raw_entry { - struct raw_entry *next; -- u_int32_t scancode; -- u_int32_t raw_length; -+ uint32_t scancode; -+ uint32_t raw_length; - char *keycode; -- u_int32_t raw[1]; -+ uint32_t raw[1]; - }; - - void free_keymap(struct keymap *map); -diff --git utils/keytable/keymap.h utils/keytable/keymap.h -index f2b2963..51e4440 100644 ---- a/utils/keytable/keymap.h -+++ b/utils/keytable/keymap.h -@@ -1,6 +1,11 @@ - /* SPDX-License-Identifier: GPL-2.0 */ - #ifndef __KEYMAP_H - #define __KEYMAP_H -+#include -+#ifndef __error_t_defined -+# define __error_t_defined 1 -+typedef int error_t; -+#endif - - struct keymap { - struct keymap *next; -@@ -20,16 +25,16 @@ struct protocol_param { - - struct scancode_entry { - struct scancode_entry *next; -- u_int32_t scancode; -+ uint32_t scancode; - char *keycode; - }; - - struct raw_entry { - struct raw_entry *next; -- u_int32_t scancode; -- u_int32_t raw_length; -+ uint32_t scancode; -+ uint32_t raw_length; - char *keycode; -- u_int32_t raw[1]; -+ uint32_t raw[1]; - }; - - void free_keymap(struct keymap *map); diff --git a/srcpkgs/qv4l2/patches/time64.patch b/srcpkgs/qv4l2/patches/time64.patch deleted file mode 100644 index fdfc7de4cb21..000000000000 --- a/srcpkgs/qv4l2/patches/time64.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/utils/keytable/keytable.c 2019-09-22 11:22:54.000000000 +0200 -+++ b/utils/keytable/keytable.c 2021-01-15 14:48:30.569549169 +0100 -@@ -1533,7 +1533,7 @@ - - for (i = 0; i < rd / sizeof(struct input_event); i++) { - printf(_("%ld.%06ld: event type %s(0x%02x)"), -- ev[i].time.tv_sec, ev[i].time.tv_usec, -+ ev[i].input_event_sec, ev[i].input_event_usec, - get_event_name(events_type, ev[i].type), ev[i].type); - - switch (ev[i].type) { diff --git a/srcpkgs/qv4l2/template b/srcpkgs/qv4l2/template deleted file mode 100644 index 292be169c208..000000000000 --- a/srcpkgs/qv4l2/template +++ /dev/null @@ -1,35 +0,0 @@ -# Template file for 'qv4l2' -pkgname=qv4l2 -version=1.18.0 -revision=2 -wrksrc="v4l-utils-${version}" -build_style=gnu-configure -configure_args="--enable-qv4l2 --with-udevdir=/usr/lib/udev" -hostmakedepends="perl pkg-config clang" -makedepends="alsa-lib-devel libjpeg-turbo-devel libsysfs-devel qt5-devel" -depends="desktop-file-utils hicolor-icon-theme" -short_desc="Qt v4l2 control panel application" -maintainer="Orphaned " -license="GPL-2.0-or-later, LGPL-2.1-or-later" -homepage="https://linuxtv.org/" -distfiles="https://linuxtv.org/downloads/v4l-utils/v4l-utils-${version}.tar.bz2" -checksum=6cb60d822eeed20486a03cc23e0fc65956fbc1e85e0c1a7477f68bbd9802880d - -if [ "$CROSS_BUILD" ]; then - hostmakedepends+=" qt5-host-tools qt5-devel" - LDFLAGS="-lpthread" -fi - -CFLAGS="-Wno-error=unused-function -fcommon" - -case "$XBPS_TARGET_MACHINE" in - *-musl) makedepends+=" argp-standalone" - CFLAGS+=" -D__off_t=off_t -D__off64_t=off_t -Du_int32_t=uint32_t" - LDFLAGS+=" -largp" - ;; -esac - -do_install() { - cd utils/qv4l2 - make DESTDIR=${DESTDIR} install -} diff --git a/srcpkgs/qv4l2/update b/srcpkgs/qv4l2/update deleted file mode 100644 index 924a26287732..000000000000 --- a/srcpkgs/qv4l2/update +++ /dev/null @@ -1 +0,0 @@ -pkgname=v4l-utils diff --git a/srcpkgs/qvidcap b/srcpkgs/qvidcap new file mode 120000 index 000000000000..a70f33948879 --- /dev/null +++ b/srcpkgs/qvidcap @@ -0,0 +1 @@ +v4l-utils \ No newline at end of file diff --git a/srcpkgs/v4l-utils/patches/musl.patch b/srcpkgs/v4l-utils/patches/musl.patch deleted file mode 100644 index 80702f83c31c..000000000000 --- a/srcpkgs/v4l-utils/patches/musl.patch +++ /dev/null @@ -1,46 +0,0 @@ ---- a/utils/ir-ctl/ir-ctl.c 2017-01-25 17:27:44.373665101 +0000 -+++ b/utils/ir-ctl/ir-ctl.c 2017-01-25 17:27:51.052665445 +0000 -@@ -44,6 +44,24 @@ - - # define N_(string) string - -+#ifndef TEMP_FAILURE_RETRY -+#define TEMP_FAILURE_RETRY(expression) \ -+ (__extension__ \ -+ ({ long int __result; \ -+ do __result = (long int) (expression); \ -+ while (__result == -1L && errno == EINTR); \ -+ __result; })) -+#endif -+ -+#ifndef strndupa -+#define strndupa(s, n) \ -+ (__extension__ ({const char *__in = (s); \ -+ size_t __len = strnlen (__in, (n)) + 1; \ -+ char *__out = (char *) alloca (__len); \ -+ __out[__len-1] = '\0'; \ -+ (char *) memcpy (__out, __in, __len-1);})) -+#endif -+ - - /* See drivers/media/rc/ir-lirc-codec.c line 23 */ - #define LIRCBUF_SIZE 512 ---- a/lib/libdvbv5/dvb-dev-local.c -+++ b/lib/libdvbv5/dvb-dev-local.c -@@ -60,6 +60,16 @@ struct dvb_dev_local_priv { - void *user_priv; - }; - -+/* taken from glibc unistd.h and fixes musl */ -+#ifndef TEMP_FAILURE_RETRY -+#define TEMP_FAILURE_RETRY(expression) \ -+ (__extension__ \ -+ ({ long int __result; \ -+ do __result = (long int) (expression); \ -+ while (__result == -1L && errno == EINTR); \ -+ __result; })) -+#endif -+ - static int handle_device_change(struct dvb_device_priv *dvb, - struct udev_device *dev, - const char *syspath, diff --git a/srcpkgs/v4l-utils/template b/srcpkgs/v4l-utils/template index bea4fccd0ada..29a6d6ca3855 100644 --- a/srcpkgs/v4l-utils/template +++ b/srcpkgs/v4l-utils/template @@ -1,12 +1,12 @@ # Template file for 'v4l-utils' pkgname=v4l-utils version=1.22.1 -revision=1 +revision=2 build_style=gnu-configure -configure_args="--disable-qv4l2 --with-udevdir=/usr/lib/udev" -hostmakedepends="automake libtool pkg-config gettext-devel" +configure_args="--with-udevdir=/usr/lib/udev" +hostmakedepends="pkg-config gettext-devel perl" makedepends="libjpeg-turbo-devel libsysfs-devel eudev-libudev-devel alsa-lib-devel - libX11-devel" + libX11-devel qt5-devel" short_desc="Userspace tools and libraries for Video 4 Linux" maintainer="Orphaned " license="GPL-2.0-or-later, LGPL-2.1-or-later" @@ -15,21 +15,16 @@ distfiles="https://linuxtv.org/downloads/${pkgname}/${pkgname}-${version}.tar.bz checksum=65c6fbe830a44ca105c443b027182c1b2c9053a91d1e72ad849dfab388b94e31 conf_files="/etc/rc_maps.cfg" -case "$XBPS_TARGET_MACHINE" in - *-musl) makedepends+=" argp-standalone" - CFLAGS="-D__off_t=off_t -D__off64_t=off_t" - LDFLAGS="-largp" - ;; -esac +if [ "$XBPS_TARGET_LIBC" = musl ]; then + makedepends+=" argp-standalone" +fi -CFLAGS+=" -fcommon" - -pre_configure() { - autoreconf -if -} +if [ "$CROSS_BUILD" ]; then + hostmakedepends+=" qt5-host-tools qt5-devel" +fi v4l-utils-devel_package() { - depends="${makedepends} ${sourcepkg}>=${version}_${revision}" + depends="${makedepends/qt5-devel/} ${sourcepkg}>=${version}_${revision}" short_desc+=" - development files" pkg_install() { vmove usr/include @@ -38,3 +33,33 @@ v4l-utils-devel_package() { vmove "usr/lib/*.so" } } + +qv4l2_package() { + depends="desktop-file-utils hicolor-icon-theme" + short_desc="Qt v4l2 control panel application" + pkg_install() { + vmove usr/bin/qv4l2 + vmove usr/share/applications/qv4l2.desktop + vmove usr/share/icons/hicolor/16x16/apps/qv4l2.png + vmove usr/share/icons/hicolor/24x24/apps/qv4l2.png + vmove usr/share/icons/hicolor/32x32/apps/qv4l2.png + vmove usr/share/icons/hicolor/64x64/apps/qv4l2.png + vmove usr/share/icons/hicolor/scalable/apps/qv4l2.svg + vmove usr/share/man/man1/qv4l2.1 + } +} + +qvidcap_package() { + depends="desktop-file-utils hicolor-icon-theme" + short_desc="V4l2 video capture viewer" + pkg_install() { + vmove usr/bin/qvidcap + vmove usr/share/applications/qvidcap.desktop + vmove usr/share/icons/hicolor/16x16/apps/qvidcap.png + vmove usr/share/icons/hicolor/24x24/apps/qvidcap.png + vmove usr/share/icons/hicolor/32x32/apps/qvidcap.png + vmove usr/share/icons/hicolor/64x64/apps/qvidcap.png + vmove usr/share/icons/hicolor/scalable/apps/qvidcap.svg + vmove usr/share/man/man1/qvidcap.1 + } +}