blob: b42300f096a9676ebd84417ad041263cbb105fec [file] [log] [blame]
Patrick Williams8dd68482022-10-04 07:57:18 -05001SUMMARY = "v4l2 and IR applications"
2LICENSE = "GPL-2.0-only & LGPL-2.1-only"
3LIC_FILES_CHKSUM = "file://COPYING;md5=48da9957849056017dc568bbc43d8975 \
4 file://COPYING.libv4l;md5=d749e86a105281d7a44c2328acebc4b0"
5PROVIDES = "libv4l media-ctl"
6
7DEPENDS = "jpeg \
8 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', 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
13DEPENDS:append:libc-musl = " argp-standalone"
14DEPENDS:append:class-target = " udev"
15LDFLAGS:append = " -pthread"
Andrew Geissler517393d2023-01-13 08:55:19 -060016# v4l2 explicitly sets _FILE_OFFSET_BITS=32 to get access to
17# both 32 and 64 bit file APIs. But it does not handle the time side?
18# Needs further investigation
19GLIBC_64BIT_TIME_FLAGS = ""
Patrick Williams8dd68482022-10-04 07:57:18 -050020
21inherit autotools gettext pkgconfig
22
23PACKAGECONFIG ??= "media-ctl"
24PACKAGECONFIG[media-ctl] = "--enable-v4l-utils,--disable-v4l-utils,,"
25PACKAGECONFIG[qv4l2] = ",--disable-qv4l2"
26PACKAGECONFIG[qvidcap] = ",--disable-qvidcap"
27
28SRC_URI = "\
29 git://git.linuxtv.org/v4l-utils.git;protocol=https;branch=master \
30 file://0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch \
31 file://0002-original-patch-mediactl-pkgconfig.patch \
32 file://0003-original-patch-export-mediactl-headers.patch \
33 file://0004-Do-not-use-getsubopt.patch \
Patrick Williams975a06f2022-10-21 14:42:47 -050034 file://0005-configure.ac-Makefile.am-Support-building-without-NL.patch \
Patrick Williamsb9af8752023-01-30 13:28:01 -060035 file://0001-media-info-Include-missing-cstdint-for-uintptr_t.patch \
Patrick Williams8dd68482022-10-04 07:57:18 -050036"
37
38SRCREV = "fd544473800d02e90bc289434cc44e5aa8fadd0f"
39
40S = "${WORKDIR}/git"
41B = "${S}"
42
43do_configure:prepend() {
44 ${S}/bootstrap.sh
45}
46
47SRC_URI[md5sum] = "8aa73287320a49e9170a8255d7b2c7e6"
48SRC_URI[sha256sum] = "65c6fbe830a44ca105c443b027182c1b2c9053a91d1e72ad849dfab388b94e31"
49
50EXTRA_OECONF = "--enable-shared --with-udevdir=${base_libdir}/udev \
51 --disable-v4l2-compliance-32 --disable-v4l2-ctl-32"
52
53VIRTUAL-RUNTIME_ir-keytable-keymaps ?= "rc-keymaps"
54
55PACKAGES =+ "media-ctl ir-keytable rc-keymaps libv4l libv4l-dev qv4l2 qvidcap"
56
57RPROVIDES:${PN}-dbg += "libv4l-dbg"
58
59FILES:media-ctl = "${bindir}/media-ctl ${libdir}/libmediactl.so.*"
60FILES:qv4l2 = "\
61 ${bindir}/qv4l2 \
62 ${datadir}/applications/qv4l2.desktop \
63 ${datadir}/icons/hicolor/*/apps/qv4l2.* \
64"
65FILES:qvidcap = "\
66 ${bindir}/qvidcap \
67 ${datadir}/applications/qvidcap.desktop \
68 ${datadir}/icons/hicolor/*/apps/qvidcap.* \
69"
70
71FILES:ir-keytable = "${bindir}/ir-keytable ${base_libdir}/udev/rules.d/*-infrared.rules"
72RDEPENDS:ir-keytable += "${VIRTUAL-RUNTIME_ir-keytable-keymaps}"
73RDEPENDS:qv4l2 += "\
74 ${@bb.utils.contains('PACKAGECONFIG', 'qv4l2', 'qtbase', '', d)}"
75RDEPENDS:qvidcap += "\
76 ${@bb.utils.contains('PACKAGECONFIG', 'qvidcap', 'qtbase', '', d)}"
77
78FILES:rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*"
79
80FILES:${PN} = "${bindir} ${sbindir}"
81
82FILES:libv4l += "${libdir}/libv4l*${SOLIBS} ${libdir}/libv4l/*.so ${libdir}/libv4l/plugins/*.so \
83 ${libdir}/libdvbv5*${SOLIBS} \
84 ${libdir}/libv4l/*-decomp"
85
86FILES:libv4l-dev += "${includedir} ${libdir}/pkgconfig \
87 ${libdir}/libv4l*${SOLIBSDEV} ${libdir}/*.la \
88 ${libdir}/v4l*${SOLIBSDEV} ${libdir}/libv4l/*.la ${libdir}/libv4l/plugins/*.la"
89
90PARALLEL_MAKE:class-native = ""
91BBCLASSEXTEND = "native"