summaryrefslogtreecommitdiff
path: root/user/v4l-utils
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2024-05-27 16:23:05 -0500
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2024-06-11 14:03:58 -0500
commitc9c969423e5bcbde2c70bd10ff524fdbc61fb2d8 (patch)
tree27f3b606e067d1ed81bc723318fff82d645e47d3 /user/v4l-utils
parent6d7eee150382c2dba5365035b553a0357051270d (diff)
downloadpackages-c9c969423e5bcbde2c70bd10ff524fdbc61fb2d8.tar.gz
packages-c9c969423e5bcbde2c70bd10ff524fdbc61fb2d8.tar.bz2
packages-c9c969423e5bcbde2c70bd10ff524fdbc61fb2d8.tar.xz
packages-c9c969423e5bcbde2c70bd10ff524fdbc61fb2d8.zip
user/v4l-utils: Update to 1.26.1
* Convert to Meson build system. * Use upstream provided .desktop/icon files. * Add qvidcap to qv4l2 package and auto-install when v4l-utils and Qt5::X11 are installed. * Remove patches which have all been applied to upstream.
Diffstat (limited to 'user/v4l-utils')
-rw-r--r--user/v4l-utils/APKBUILD54
-rw-r--r--user/v4l-utils/getsubopt.patch35
-rw-r--r--user/v4l-utils/qv4l2.desktop12
-rw-r--r--user/v4l-utils/qv4l2.svg31
-rw-r--r--user/v4l-utils/time64.patch11
-rw-r--r--user/v4l-utils/types.patch26
6 files changed, 15 insertions, 154 deletions
diff --git a/user/v4l-utils/APKBUILD b/user/v4l-utils/APKBUILD
index 2c6857f78..53a153fbc 100644
--- a/user/v4l-utils/APKBUILD
+++ b/user/v4l-utils/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
# Maintainer:
pkgname=v4l-utils
-pkgver=1.18.0
+pkgver=1.26.1
pkgrel=0
pkgdesc="Userspace tools and conversion library for Video 4 Linux"
url="https://www.linuxtv.org/wiki/index.php/V4l-utils"
@@ -9,47 +9,29 @@ arch="all"
license="LGPL-2.0+"
depends=""
makedepends="qt5-qtbase-dev libjpeg-turbo-dev argp-standalone linux-headers
- eudev-dev alsa-lib-dev"
+ eudev-dev alsa-lib-dev meson"
subpackages="$pkgname-dev $pkgname-doc qv4l2 $pkgname-libs ir_keytable"
-source="https://www.linuxtv.org/downloads/v4l-utils/$pkgname-$pkgver.tar.bz2
- qv4l2.svg
- qv4l2.desktop
- getsubopt.patch
- time64.patch
- types.patch
- "
+source="https://www.linuxtv.org/downloads/v4l-utils/$pkgname-$pkgver.tar.xz"
build() {
- export CFLAGS="$CFLAGS -D__off_t=off_t"
- LIBS="-largp -lintl" ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- --localstatedir=/var \
- --disable-libdvbv5 \
- --disable-static
- make
+ meson setup -Dlibdvbv5=disabled -Dprefix=/usr build
+ meson compile -C build
}
check() {
- make check
+ meson test -C build
}
package() {
- make -j1 DESTDIR="$pkgdir" install
- install -Dm644 "$srcdir"/qv4l2.desktop \
- "$pkgdir"/usr/share/applications/qv4l2.desktop
- install -Dm644 "$srcdir"/qv4l2.svg \
- "$pkgdir"/usr/share/icons/hicolor/scalable/apps/qv4l2.svg
+ DESTDIR="$pkgdir" meson install -C build
}
qv4l2() {
pkgdesc="Qt V4L2 test control and streaming test application"
+ install_if="qt5-qtbase-x11 v4l-utils"
mkdir -p "$subpkgdir"/usr/bin
mv "$pkgdir"/usr/bin/qv4l2 "$subpkgdir"/usr/bin/
+ mv "$pkgdir"/usr/bin/qvidcap "$subpkgdir"/usr/bin/
mv "$pkgdir"/usr/share "$subpkgdir"/usr/
}
@@ -62,23 +44,17 @@ libs() {
ir_keytable() {
pkgdesc="Alter keymaps of Remote Controller devices"
- mkdir -p "$subpkgdir"/lib/udev/rc_keymaps \
- "$subpkgdir"/lib/udev/rules.d \
+ mkdir -p "$subpkgdir"/lib/udev \
"$subpkgdir"/usr/bin \
"$subpkgdir"/etc
- mv "$pkgdir"/lib/udev/rc_keymaps/* \
- "$subpkgdir"/lib/udev/rc_keymaps
- mv "$pkgdir"/lib/udev/rules.d/* \
- "$subpkgdir"/lib/udev/rules.d
+ mv "$pkgdir"/lib/udev/rc_keymaps \
+ "$subpkgdir"/lib/udev/
+ mv "$pkgdir"/lib/udev/rules.d \
+ "$subpkgdir"/lib/udev/
mv "$pkgdir"/usr/bin/ir-keytable \
"$subpkgdir"/usr/bin
mv "$pkgdir"/etc/rc_maps.cfg \
"$subpkgdir"/etc
}
-sha512sums="749c804671f039d907bf782cba5d1c23fff48066f3b6d4a0249fb9b65c493ee3945b544ee2a306dda79973da04f0301278ee88775f798aba590e5d0f15226d49 v4l-utils-1.18.0.tar.bz2
-bc18280046c15b19984103f7c2bb44a0aea79715803c64f0c64bc932499c09022c956914c3b15ae59499adc09f6fbff5378be45707fe851250f495a26b63d682 qv4l2.svg
-6f74aa524b3de420eeb8de788ff3f717020732a3f1f6530caee50e63aae7eddbe5f551ffc50065c9f5d6078c13bace089948ecdcacf01f8b82c1a44960e06315 qv4l2.desktop
-a09554deebd7597355c688e52180e0f4030842ccb26a144d1ac8a426836374237725d7b6b555027ca72e10c11e37bd596c7d69d87ee2f6b6d951daf4e50137f8 getsubopt.patch
-16154d57ea0b2e231217894495ef4ecf55d45e97c936034d4bbb0dab88f2d3e8779073302fbba759bd60e124a2cefe2b83675952cd50c413d957c81c9b0b8b53 time64.patch
-ee1228cc06e399923953e5121a683347a7fe881c80c55faae0adf6ed836251da1b2c4d1561454daa6f42220c1171f827ca3e2b72cdac31b379495f23ff6c56bb types.patch"
+sha512sums="a3b12b311977afec410db8b430696e923a24e04f003a5891cc77ddeb667d0b98666a06d31a439c95ce57d9e9c9c2593c5e9dd9e7cf2be002adb95db5b8f00ac8 v4l-utils-1.26.1.tar.xz"
diff --git a/user/v4l-utils/getsubopt.patch b/user/v4l-utils/getsubopt.patch
deleted file mode 100644
index 6ad142ae0..000000000
--- a/user/v4l-utils/getsubopt.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-POSIX says that behavior when subopts list is empty is undefined.
-musl libs will set value to NULL which leads to crash.
-
-Simply avoid getsubopt, since we cannot rely on it.
-
-diff --git a/utils/v4l2-ctl/v4l2-ctl-common.cpp b/utils/v4l2-ctl/v4l2-ctl-common.cpp
-index 3ea6cd3..291fb3e 100644
---- a/utils/v4l2-ctl/v4l2-ctl-common.cpp
-+++ b/utils/v4l2-ctl/v4l2-ctl-common.cpp
-@@ -782,15 +782,17 @@ static bool parse_subset(char *optarg)
-
- static bool parse_next_subopt(char **subs, char **value)
- {
-- static char *const subopts[] = {
-- NULL
-- };
-- int opt = getsubopt(subs, subopts, value);
-+ char *p = *subs;
-+ *value = *subs;
-
-- if (opt < 0 || *value)
-- return false;
-- fprintf(stderr, "Missing suboption value\n");
-- return true;
-+ while (*p && *p != ',')
-+ p++;
-+
-+ if (*p)
-+ *p++ = '\0';
-+
-+ *subs = p;
-+ return false;
- }
-
- void common_cmd(const std::string &media_bus_info, int ch, char *optarg)
diff --git a/user/v4l-utils/qv4l2.desktop b/user/v4l-utils/qv4l2.desktop
deleted file mode 100644
index 55e369c7c..000000000
--- a/user/v4l-utils/qv4l2.desktop
+++ /dev/null
@@ -1,12 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Name=QT V4L2 test Utility
-Name[pt]=Utilitário de teste V4L2
-Comment=Allow testing Video4Linux devices
-Comment[pt]=Permite testar dispositivos Video4Linux
-Exec=qv4l2
-Icon=qv4l2
-Terminal=false
-Type=Application
-Categories=Application;AudioVideo;
-
diff --git a/user/v4l-utils/qv4l2.svg b/user/v4l-utils/qv4l2.svg
deleted file mode 100644
index 3d4f375cc..000000000
--- a/user/v4l-utils/qv4l2.svg
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" inkscape:version="0.47 r22583" version="1.1" id="svg2839" height="297mm" width="210mm" sodipodi:docname="Novo documento 3">
- <defs id="defs2841">
- <linearGradient id="linearGradient2963">
- <stop style="stop-color: rgb(255, 236, 187); stop-opacity: 1;" offset="0" id="stop2965"/>
- <stop id="stop2971" offset="1" style="stop-color: rgb(0, 0, 0); stop-opacity: 0.498039;"/>
- </linearGradient>
- <inkscape:perspective sodipodi:type="inkscape:persp3d" inkscape:vp_x="0 : 526.18109 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_z="744.09448 : 526.18109 : 1" inkscape:persp3d-origin="372.04724 : 350.78739 : 1" id="perspective2847"/>
- <inkscape:perspective id="perspective2935" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
- <linearGradient inkscape:collect="always" xlink:href="#linearGradient2963" id="linearGradient2969" x1="-719.14288" y1="494.69958" x2="-324.21902" y2="968.98529" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.0512, 0, 0, 1.05137, 651.058, -25.2444)"/>
- <inkscape:perspective id="perspective2992" inkscape:persp3d-origin="0.5 : 0.33333333 : 1" inkscape:vp_z="1 : 0.5 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 0.5 : 1" sodipodi:type="inkscape:persp3d"/>
- </defs>
- <sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="0.7" inkscape:cx="376.9721" inkscape:cy="468.42546" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" inkscape:window-width="1513" inkscape:window-height="1044" inkscape:window-x="1941" inkscape:window-y="0" inkscape:window-maximized="0"/>
- <metadata id="metadata2844">
- <rdf:RDF>
- <cc:Work rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
- <dc:title/>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g inkscape:label="Camada 1" inkscape:groupmode="layer" id="layer1">
- <rect style="fill: rgb(173, 160, 127); fill-opacity: 1;" id="rect2959" width="498.57132" height="402.52496" x="101.42867" y="345.21906" ry="15.848869"/>
- <rect style="fill: rgb(214, 207, 189); fill-opacity: 1; fill-rule: evenodd; stroke: rgb(0, 0, 0); stroke-width: 1.09651px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1;" id="rect2955" width="366.37466" height="268.80539" x="172.03215" y="409.8259" ry="24.860613"/>
- <path style="fill: url(&quot;#linearGradient2969&quot;) rgb(0, 0, 0); fill-opacity: 1;" d="m 111.92284,745.80915 c -1.7443,-0.70488 -4.61634,-3.11878 -6.38231,-5.3642 l -3.21086,-4.08259 0,-189.14299 c 0,-136.34795 0.46823,-190.05871 1.67748,-192.42365 0.92263,-1.80438 3.11889,-4.44845 4.8806,-5.87571 3.00442,-2.43405 17.98923,-2.5971 241.57759,-2.62843 l 238.37448,-0.0334 4.90427,4.38251 4.90429,4.3825 0.39257,189.41161 c 0.43575,210.24489 1.09242,196.30432 -9.4544,200.71175 -4.34407,1.81535 -40.20923,2.12038 -239.80015,2.0394 -129.08065,-0.0523 -236.11926,-0.67193 -237.86356,-1.37681 z m 413.94314,-69.49552 c 4.39946,-2.22093 7.85143,-5.43895 10.06966,-9.38725 l 3.37535,-6.00784 -0.36571,-118.16973 c -0.36124,-116.72035 -0.4037,-118.22058 -3.46195,-122.31682 -4.69144,-6.28374 -10.15101,-9.79936 -17.39001,-11.19809 -8.54594,-1.65125 -316.90144,-1.65125 -325.4474,0 -7.68,1.48394 -13.16379,5.20817 -17.88452,12.146 l -3.40519,5.00442 0.40173,119.03503 c 0.39878,118.15286 0.42505,119.06645 3.54637,123.27494 1.72955,2.33195 5.7842,5.74954 9.01033,7.59462 l 5.8657,3.35471 164.49565,0.0248 164.49566,0.0246 6.69433,-3.3794 z" id="path2961"/>
- <rect style="fill: rgb(25, 20, 8); fill-opacity: 1;" id="rect2980" width="63.072273" height="39.050926" x="499.38467" y="744.74005" ry="0"/>
- <rect style="fill: rgb(25, 20, 8); fill-opacity: 1;" id="rect2980-1" width="63.072273" height="39.050926" x="130.56888" y="744.74005" ry="0"/>
- </g>
-</svg> \ No newline at end of file
diff --git a/user/v4l-utils/time64.patch b/user/v4l-utils/time64.patch
deleted file mode 100644
index 42092a773..000000000
--- a/user/v4l-utils/time64.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- v4l-utils-1.18.0/utils/keytable/keytable.c.old 2019-09-22 09:22:54.000000000 +0000
-+++ v4l-utils-1.18.0/utils/keytable/keytable.c 2020-01-20 02:38:23.659004998 +0000
-@@ -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/user/v4l-utils/types.patch b/user/v4l-utils/types.patch
deleted file mode 100644
index 56eb991a3..000000000
--- a/user/v4l-utils/types.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- v4l-utils-1.18.0/utils/keytable/keymap.h.old 2019-09-22 09:22:54.000000000 +0000
-+++ v4l-utils-1.18.0/utils/keytable/keymap.h 2019-10-05 03:45:16.795852895 +0000
-@@ -2,6 +2,10 @@
- #ifndef __KEYMAP_H
- #define __KEYMAP_H
-
-+#include <stdint.h>
-+typedef uint32_t u_int32_t;
-+typedef int error_t;
-+
- struct keymap {
- struct keymap *next;
- char *name;
---- v4l-utils-1.18.0/utils/ir-ctl/keymap.h.old 2019-09-22 09:22:54.000000000 +0000
-+++ v4l-utils-1.18.0/utils/ir-ctl/keymap.h 2019-10-05 03:44:27.651163483 +0000
-@@ -2,6 +2,10 @@
- #ifndef __KEYMAP_H
- #define __KEYMAP_H
-
-+#include <stdint.h>
-+typedef uint32_t u_int32_t;
-+typedef int error_t;
-+
- struct keymap {
- struct keymap *next;
- char *name;