summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-multimedia/v4l2apps
diff options
context:
space:
mode:
authorDaniel Gomez <daniel@qtec.com>2022-10-01 23:46:20 +0200
committerKhem Raj <raj.khem@gmail.com>2022-10-02 13:10:17 -0700
commitff7666cae8b3e6cca45e5d0652b16d6caa6be7a5 (patch)
treeea17383cda610b455f06df66ea07ce29dd0e7c1d /meta-oe/recipes-multimedia/v4l2apps
parent0e30cdf9a9b13ec874289eadfde26c8bdbe1afac (diff)
downloadmeta-openembedded-ff7666cae8b3e6cca45e5d0652b16d6caa6be7a5.tar.gz
v4l-utils: Update 1.22.1 -> 1.23.0+fd544473
Use git instead of release tarball to close the gap between the latest 1.22.1 and master. Add 'bootstrap.sh' call to fix configuration issues: Error: config.status: error: cannot find input file: `v4l-utils-po/Makefile.in.in Adapt patch '0007-Do-not-use-getsubopt.patch': Upstream has replaced the use of getsubopt with v4l_subopt which detects if getsubopt is provided via glibc or not. Otherwise it uses a static v4l_getsubopt copied from glibc. (From v4l-utils: 6e19bb895a16a9a247524ac526ab47f576cc36f6) Also rename patch number to '0004-Do-not-use-getsubopt.patch'. Add qv4l2 and qvidcap packages support but keep them disabled as they require meta-qt5. Enable alsa support if alsa is part of the DISTRO_FEATURES. Signed-off-by: Daniel Gomez <daniel@qtec.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-multimedia/v4l2apps')
-rw-r--r--meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0004-Do-not-use-getsubopt.patch (renamed from meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch)19
-rw-r--r--meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.23.0.bb (renamed from meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.22.1.bb)47
2 files changed, 53 insertions, 13 deletions
diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0004-Do-not-use-getsubopt.patch
index d8d1b8d18..fb844acbe 100644
--- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch
+++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0004-Do-not-use-getsubopt.patch
@@ -1,4 +1,4 @@
1From e4582c11f76b9390a3e172dcf0741dca90a9dc8d Mon Sep 17 00:00:00 2001 1From 6e7e52de7afe29597016952a7317faf9c3ea3268 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 30 Nov 2019 18:50:34 -0800 3Date: Sat, 30 Nov 2019 18:50:34 -0800
4Subject: [PATCH] Do not use getsubopt 4Subject: [PATCH] Do not use getsubopt
@@ -11,24 +11,32 @@ Simply avoid getsubopt, since we cannot rely on it.
11Imported from Alpine Linux 11Imported from Alpine Linux
12 12
13Upstream-Status: Pending 13Upstream-Status: Pending
14
14Signed-off-by: Khem Raj <raj.khem@gmail.com> 15Signed-off-by: Khem Raj <raj.khem@gmail.com>
15 16
17Adapt patch to 1.23.0.
18
19(v4l-utils rev fd544473800d02e90bc289434cc44e5aa8fadd0f).
20
21%% original patch: 0007-Do-not-use-getsubopt.patch
22
23Signed-off-by: Daniel Gomez <daniel@qtec.com>
16--- 24---
17 utils/v4l2-ctl/v4l2-ctl-common.cpp | 18 ++++++++++-------- 25 utils/v4l2-ctl/v4l2-ctl-common.cpp | 18 ++++++++++--------
18 1 file changed, 10 insertions(+), 8 deletions(-) 26 1 file changed, 10 insertions(+), 8 deletions(-)
19 27
20diff --git a/utils/v4l2-ctl/v4l2-ctl-common.cpp b/utils/v4l2-ctl/v4l2-ctl-common.cpp 28diff --git a/utils/v4l2-ctl/v4l2-ctl-common.cpp b/utils/v4l2-ctl/v4l2-ctl-common.cpp
21index c940171..49c0f39 100644 29index d77f7104..838c297d 100644
22--- a/utils/v4l2-ctl/v4l2-ctl-common.cpp 30--- a/utils/v4l2-ctl/v4l2-ctl-common.cpp
23+++ b/utils/v4l2-ctl/v4l2-ctl-common.cpp 31+++ b/utils/v4l2-ctl/v4l2-ctl-common.cpp
24@@ -956,15 +956,17 @@ static bool parse_subset(char *optarg) 32@@ -994,15 +994,17 @@ static bool parse_subset(char *optarg)
25 33
26 static bool parse_next_subopt(char **subs, char **value) 34 static bool parse_next_subopt(char **subs, char **value)
27 { 35 {
28- static char *const subopts[] = { 36- static char *const subopts[] = {
29- nullptr 37- nullptr
30- }; 38- };
31- int opt = getsubopt(subs, subopts, value); 39- int opt = v4l_getsubopt(subs, subopts, value);
32+ char *p = *subs; 40+ char *p = *subs;
33+ *value = *subs; 41+ *value = *subs;
34 42
@@ -47,3 +55,6 @@ index c940171..49c0f39 100644
47 } 55 }
48 56
49 void common_cmd(const std::string &media_bus_info, int ch, char *optarg) 57 void common_cmd(const std::string &media_bus_info, int ch, char *optarg)
58--
592.35.1
60
diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.22.1.bb b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.23.0.bb
index 741e1030c..2f5ae3586 100644
--- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.22.1.bb
+++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.23.0.bb
@@ -6,7 +6,10 @@ PROVIDES = "libv4l media-ctl"
6 6
7DEPENDS = "jpeg \ 7DEPENDS = "jpeg \
8 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)} \ 8 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)} \
9 ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" 9 ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
10 ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa-lib', '', d)} \
11 ${@bb.utils.contains_any('PACKAGECONFIG', 'qv4l2 qvidcap', 'qtbase qtbase-native', '', d)}"
12
10DEPENDS:append:libc-musl = " argp-standalone" 13DEPENDS:append:libc-musl = " argp-standalone"
11DEPENDS:append:class-target = " udev" 14DEPENDS:append:class-target = " udev"
12LDFLAGS:append = " -pthread" 15LDFLAGS:append = " -pthread"
@@ -15,30 +18,56 @@ inherit autotools gettext pkgconfig
15 18
16PACKAGECONFIG ??= "media-ctl" 19PACKAGECONFIG ??= "media-ctl"
17PACKAGECONFIG[media-ctl] = "--enable-v4l-utils,--disable-v4l-utils,," 20PACKAGECONFIG[media-ctl] = "--enable-v4l-utils,--disable-v4l-utils,,"
21PACKAGECONFIG[qv4l2] = ",--disable-qv4l2"
22PACKAGECONFIG[qvidcap] = ",--disable-qvidcap"
23
24SRC_URI = "\
25 git://git.linuxtv.org/v4l-utils.git;protocol=https;branch=master \
26 file://0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch \
27 file://0002-original-patch-mediactl-pkgconfig.patch \
28 file://0003-original-patch-export-mediactl-headers.patch \
29 file://0004-Do-not-use-getsubopt.patch \
30"
31
32SRCREV = "fd544473800d02e90bc289434cc44e5aa8fadd0f"
33
34S = "${WORKDIR}/git"
35B = "${S}"
18 36
19SRC_URI = "http://linuxtv.org/downloads/v4l-utils/v4l-utils-${PV}.tar.bz2 \ 37do_configure:prepend() {
20 file://0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch \ 38 ${S}/bootstrap.sh
21 file://0002-original-patch-mediactl-pkgconfig.patch \ 39}
22 file://0003-original-patch-export-mediactl-headers.patch \
23 file://0007-Do-not-use-getsubopt.patch \
24 "
25 40
26SRC_URI[md5sum] = "8aa73287320a49e9170a8255d7b2c7e6" 41SRC_URI[md5sum] = "8aa73287320a49e9170a8255d7b2c7e6"
27SRC_URI[sha256sum] = "65c6fbe830a44ca105c443b027182c1b2c9053a91d1e72ad849dfab388b94e31" 42SRC_URI[sha256sum] = "65c6fbe830a44ca105c443b027182c1b2c9053a91d1e72ad849dfab388b94e31"
28 43
29EXTRA_OECONF = "--disable-qv4l2 --enable-shared --with-udevdir=${base_libdir}/udev \ 44EXTRA_OECONF = "--enable-shared --with-udevdir=${base_libdir}/udev \
30 --disable-v4l2-compliance-32 --disable-v4l2-ctl-32" 45 --disable-v4l2-compliance-32 --disable-v4l2-ctl-32"
31 46
32VIRTUAL-RUNTIME_ir-keytable-keymaps ?= "rc-keymaps" 47VIRTUAL-RUNTIME_ir-keytable-keymaps ?= "rc-keymaps"
33 48
34PACKAGES =+ "media-ctl ir-keytable rc-keymaps libv4l libv4l-dev" 49PACKAGES =+ "media-ctl ir-keytable rc-keymaps libv4l libv4l-dev qv4l2 qvidcap"
35 50
36RPROVIDES:${PN}-dbg += "libv4l-dbg" 51RPROVIDES:${PN}-dbg += "libv4l-dbg"
37 52
38FILES:media-ctl = "${bindir}/media-ctl ${libdir}/libmediactl.so.*" 53FILES:media-ctl = "${bindir}/media-ctl ${libdir}/libmediactl.so.*"
54FILES:qv4l2 = "\
55 ${bindir}/qv4l2 \
56 ${datadir}/applications/qv4l2.desktop \
57 ${datadir}/icons/hicolor/*/apps/qv4l2.* \
58"
59FILES:qvidcap = "\
60 ${bindir}/qvidcap \
61 ${datadir}/applications/qvidcap.desktop \
62 ${datadir}/icons/hicolor/*/apps/qvidcap.* \
63"
39 64
40FILES:ir-keytable = "${bindir}/ir-keytable ${base_libdir}/udev/rules.d/*-infrared.rules" 65FILES:ir-keytable = "${bindir}/ir-keytable ${base_libdir}/udev/rules.d/*-infrared.rules"
41RDEPENDS:ir-keytable += "${VIRTUAL-RUNTIME_ir-keytable-keymaps}" 66RDEPENDS:ir-keytable += "${VIRTUAL-RUNTIME_ir-keytable-keymaps}"
67RDEPENDS:qv4l2 += "\
68 ${@bb.utils.contains('PACKAGECONFIG', 'qv4l2', 'qtbase', '', d)}"
69RDEPENDS:qvidcap += "\
70 ${@bb.utils.contains('PACKAGECONFIG', 'qvidcap', 'qtbase', '', d)}"
42 71
43FILES:rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*" 72FILES:rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*"
44 73