summaryrefslogtreecommitdiff
path: root/media-libs/libv4l
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-12-12 23:32:21 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-12-12 23:32:21 +0000
commit05644e4ce4886d97a712fcdca7d4144a7ced4191 (patch)
tree3954657c7c37c0621e63080b0e0530b9e1d8ad50 /media-libs/libv4l
parent3bcdaa6f06fae7659c3ac8294503c45e6736a2e1 (diff)
gentoo auto-resync : 12:12:2023 - 23:32:21
Diffstat (limited to 'media-libs/libv4l')
-rw-r--r--media-libs/libv4l/Manifest5
-rw-r--r--media-libs/libv4l/files/libv4l-1.26.0-meson.patch86
-rw-r--r--media-libs/libv4l/libv4l-1.26.0.ebuild135
-rw-r--r--media-libs/libv4l/metadata.xml5
4 files changed, 230 insertions, 1 deletions
diff --git a/media-libs/libv4l/Manifest b/media-libs/libv4l/Manifest
index c8fd49baffbc..ba6cfde057c1 100644
--- a/media-libs/libv4l/Manifest
+++ b/media-libs/libv4l/Manifest
@@ -1,5 +1,8 @@
+AUX libv4l-1.26.0-meson.patch 2470 BLAKE2B 8dbd40173673a057cab139a3c17109c50083d0dbaba093f40f9caf683d426a897a7454121da29c54c892c2f605afe9db74ff45e189c148fda4fff0074488ebc8 SHA512 6ff7f21a054d23892e47eae495ebfae2a68cea5528f5d6d9cfe6a63ff86779ce78b327fa45a0ca4061d32bf2af62c5d868ca025e3954365f1ccda4e2332657b9
DIST v4l-utils-1.22.1.tar.bz2 2086238 BLAKE2B a3f01a17ea7c8925c74dd883d30b42f54b7926d253dac79e4cadaba43abc33672804257b3b92e5aa640ead6b5aaaa2458f05e21642044d7dea77e5580a8dbe9a SHA512 8a634d8995d13f453dfaf90ca5d0dfb26f2f4b10a0d200d76a949c46f77040d12fc0a5b35e05d7b1ba68bcfc85a445be5a5ab1d4a7d4eabfe3a254038ccc6170
DIST v4l-utils-1.24.1.tar.bz2 2238340 BLAKE2B 1702918699d47b17467e012c2b1875c58851175c1007351a3b40d0b0fa40437eb695efa9e21afe3351f66780899d45798eef7f23c90a4831bface70a245b8a54 SHA512 1e82ba125285e875bf4a216adedab9147009e6af1aadd79a3a1770231d3c96ec29245b33e75f69a9ce1b25011e71746db242c778ac3369148de1e9de2e318663
+DIST v4l-utils-1.26.0.tar.xz 1191988 BLAKE2B 8a4899f7b0d71ca6fd4b296ce9f154c3125c59389130df2db772d66984652b135178d712cc7b39e9f53b6587a4e128e2240d28382ab3ce7d1172d939260b15e2 SHA512 7820a91beb5cfc8e3ecf54145f2503fbbbf879abf1551d5bba5d8454f5a93242daaa51ff4636959d3434aa0d352bdf35afcd5f56e0eb9ab50c8191e8f6283f4a
EBUILD libv4l-1.22.1.ebuild 1474 BLAKE2B 02e405372e756e104f9f12fbcf91fdad9065a7da032cdec3b5ef1e1978ec816625d605f89b79a428a5cc21cdfc9422148cb133160aee9d97775d45565ed5516c SHA512 a4b2facc7b261e0b7231374ffe7e049460b1f9da123d02e9b82e5371e6d6dea77e052ea007554b0090a2c5bfe452ca9a02f43d86d3add0bc942fde22563e577d
EBUILD libv4l-1.24.1.ebuild 1481 BLAKE2B 1ea5253e7f594b4ed2f51a3bbe002992ba979c4beb662497e5912faebfb30ce23363b851f114873b44a7d4030e20c4a350f2d92afafc1c20f503f31e4c575923 SHA512 b55663f8836ecef9c5b45a0e436c9bef3842e058af4f066c1586c6bc38a315ffe57e489741ca273816e5e99420a97ead030224f1e6058f1059d61a3d7a5b38ab
-MISC metadata.xml 1117 BLAKE2B 1d9a1bb6f3e6f2fdeb8c892b8714f8e36ccee4e95defb2ddd9e2fe43e4e9901636e7fa717475b13efe111a2b4be89d78b1b610c153de778ab625b9bee566b783 SHA512 63617e7fccd7394ba402cde356011429b60d7781197fcbfaf473ff88a788fd0a7b631ab10e6cc198bd5a5985cef7ccf026359d4c4ff7a28616661cd8cef1b07d
+EBUILD libv4l-1.26.0.ebuild 3240 BLAKE2B cf4413fcc7f47d97a69fbdb00f47f9b6b0468fc8f35f306dfc619a466debef278993bbedfafa60ae0a6c440833ae226ef5e97581f9e94540e8dcf5cad1dc7a73 SHA512 8e29f3a74d122119776cb54848f4e65afbc5e7db476ded3b76df81c9352cc324c5c050f5e58c21bf2b40c70e430508496ae1da1ab769ef275413ad913caf9e96
+MISC metadata.xml 1333 BLAKE2B 980117d95da191d35287e97e99c1add4231438d0e5f763cd576bd9bf79ce894297bd32252b8e73a1356d14be66dde09ef0ae3307a0e856554cb024569eee63ee SHA512 da28f9574865217098fb8602d7860131e58b7c16501bef840814a3ef7870a5565795151c8b574ecc895c9614400b5ac5b444430fd147dabea0f747174d6ae7a0
diff --git a/media-libs/libv4l/files/libv4l-1.26.0-meson.patch b/media-libs/libv4l/files/libv4l-1.26.0-meson.patch
new file mode 100644
index 000000000000..0c993dd0da96
--- /dev/null
+++ b/media-libs/libv4l/files/libv4l-1.26.0-meson.patch
@@ -0,0 +1,86 @@
+From 11ca2682040d14ba1a3d65e95a6f0dfded5e4365 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Tue, 12 Dec 2023 13:39:21 +0000
+Subject: [PATCH 1/2] meson: Fix building with -Dv4l-utils=false
+
+ir_bpf_enabled was referenced without being defined.
+---
+ meson.build | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/meson.build b/meson.build
+index ab632976..7495a9c2 100644
+--- a/meson.build
++++ b/meson.build
+@@ -358,6 +358,8 @@ subdir('lib')
+ if get_option('v4l-utils')
+ subdir('utils')
+ subdir('contrib')
++else
++ ir_bpf_enabled = false
+ endif
+
+ subdir('doc')
+--
+2.42.1
+
+From 15343c83e43805223c098e4c5efe9e176343e801 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Tue, 12 Dec 2023 13:59:13 +0000
+Subject: [PATCH 2/2] meson: Allow documentation directory to be specified with
+ -Ddocdir
+
+This is needed by Gentoo Linux QA.
+
+Signed-off-by: James Le Cuirot <chewi@gentoo.org>
+---
+ doc/meson.build | 2 +-
+ meson.build | 5 +++++
+ meson_options.txt | 2 ++
+ 3 files changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/doc/meson.build b/doc/meson.build
+index 8f4437e7..4b23c3de 100644
+--- a/doc/meson.build
++++ b/doc/meson.build
+@@ -20,7 +20,7 @@ doxygen_install_dirs = []
+ doxygen_output = []
+ if get_option('doxygen-html')
+ doxygen_output += 'html'
+- doxygen_install_dirs += get_option('datadir') / 'doc' / '@0@'.format(meson.project_name())
++ doxygen_install_dirs += docdir
+ endif
+ if get_option('doxygen-man')
+ doxygen_output += 'man'
+diff --git a/meson.build b/meson.build
+index 7495a9c2..0348b43b 100644
+--- a/meson.build
++++ b/meson.build
+@@ -289,6 +289,11 @@ if udevdir == ''
+ udevdir = '/lib/udev'
+ endif
+
++docdir = get_option('docdir')
++if docdir == ''
++ docdir = get_option('datadir') / 'doc' / '@0@'.format(meson.project_name())
++endif
++
+ qt5_opengl_test = '''
+ #define GL_GLEXT_PROTOTYPES
+ #define QT_NO_OPENGL_ES_2
+diff --git a/meson_options.txt b/meson_options.txt
+index 2fa046c0..53cf832f 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -32,6 +32,8 @@ option('v4l2-ctl-stream-to', type : 'boolean',
+ description : 'Enable use of --stream-to in v4l2-ctl')
+
+ # Directories
++option('docdir', type : 'string',
++ description : 'Set documentation directory')
+ option('gconvsysdir', type : 'string',
+ description : 'Set system gconv directory (default is to autodetect)')
+ option('libv4l1subdir', type : 'string', value : 'libv4l',
+--
+2.42.1
+
diff --git a/media-libs/libv4l/libv4l-1.26.0.ebuild b/media-libs/libv4l/libv4l-1.26.0.ebuild
new file mode 100644
index 000000000000..2913916767cc
--- /dev/null
+++ b/media-libs/libv4l/libv4l-1.26.0.ebuild
@@ -0,0 +1,135 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-info meson-multilib systemd udev xdg
+
+MY_P="v4l-utils-${PV}"
+
+DESCRIPTION="v4l-utils libraries and optional utilities"
+HOMEPAGE="https://git.linuxtv.org/v4l-utils.git"
+SRC_URI="https://linuxtv.org/downloads/v4l-utils/${MY_P}.tar.xz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="bpf doc dvb jpeg qt5 tracer +utils"
+
+REQUIRED_USE="
+ bpf? ( utils )
+ qt5? ( utils )
+ tracer? ( utils )
+"
+
+RDEPEND="
+ dvb? ( virtual/libudev[${MULTILIB_USEDEP}] )
+ jpeg? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] )
+ utils? (
+ !elibc_glibc? ( sys-libs/argp-standalone )
+ bpf? (
+ dev-libs/libbpf:=
+ virtual/libelf:=
+ )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtopengl:5[-gles2(-)]
+ dev-qt/qtwidgets:5
+ media-libs/alsa-lib
+ virtual/opengl
+ )
+ tracer? ( dev-libs/json-c:= )
+ virtual/libudev
+ )
+ !<media-tv/v4l-utils-1.26
+"
+
+DEPEND="
+ ${RDEPEND}
+"
+
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig
+ bpf? ( sys-devel/clang:*[llvm_targets_BPF] )
+ doc? ( app-doc/doxygen )
+ utils? (
+ dev-lang/perl
+ qt5? ( dev-qt/qtcore:5 )
+ )
+"
+
+# Not really prebuilt but BPF objects make our QA checks go crazy.
+QA_PREBUILT="*/rc_keymaps/protocols/*.o"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.26.0-meson.patch
+)
+
+check_llvm() {
+ if [[ ${MERGE_TYPE} != binary ]] && use bpf; then
+ local clang=${ac_cv_prog_CLANG:-${CLANG:-clang}}
+ ${clang} -target bpf -print-supported-cpus &>/dev/null ||
+ die "${clang} does not support the BPF target. Please check LLVM_TARGETS."
+ fi
+}
+
+pkg_pretend() {
+ has_version -b sys-devel/clang && check_llvm
+}
+
+pkg_setup() {
+ check_llvm
+ CONFIG_CHECK="~SHMEM" linux-info_pkg_setup
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ $(meson_native_use_feature bpf)
+ -Dgconv=disabled
+ $(meson_feature jpeg)
+ $(meson_feature dvb libdvbv5)
+ $(meson_native_use_feature qt5 qv4l2)
+ $(meson_native_use_feature qt5 qvidcap)
+ $(meson_native_use_feature tracer v4l2-tracer)
+ $(meson_native_use_bool utils v4l-utils)
+ -Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
+ -Dsystemdsystemunitdir="$(systemd_get_systemunitdir)"
+ -Dudevdir="$(get_udevdir)"
+ $(meson_native_use_feature doc doxygen-doc)
+ $(meson_native_use_bool doc doxygen-html)
+ $(meson_native_use_bool doc doxygen-man)
+ )
+ meson_src_configure
+}
+
+multilib_src_install_all() {
+ dodoc ChangeLog README.lib* TODO
+
+ if use utils; then
+ dodoc README.md
+ newdoc utils/dvb/README README.dvb
+ newdoc utils/libv4l2util/TODO TODO.libv4l2util
+ newdoc utils/libmedia_dev/README README.libmedia_dev
+ newdoc utils/v4l2-compliance/fixme.txt fixme.txt.v4l2-compliance
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ use utils && udev_reload
+
+ if use utils && [[ -n ${REPLACING_VERSIONS} ]] && ver_test 1.20.0 -ge ${REPLACING_VERSIONS%% *}; then
+ ewarn "WARNING! ir-keytable has changed significantly from version 1.20.0 so"
+ ewarn "you may need to take action to avoid breakage. See"
+ ewarn "https://bugs.gentoo.org/767175 for more details."
+ fi
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ use utils && udev_reload
+}
diff --git a/media-libs/libv4l/metadata.xml b/media-libs/libv4l/metadata.xml
index cfda73acc478..05b7d499b3fc 100644
--- a/media-libs/libv4l/metadata.xml
+++ b/media-libs/libv4l/metadata.xml
@@ -23,4 +23,9 @@
libv4l2 offers the v4l2 API on top of v4l2 devices, while adding for the
application transparent libv4lconvert conversion where necessary.
</longdescription>
+ <use>
+ <flag name="bpf">Enable support for IR BPF decoders</flag>
+ <flag name="tracer">Build the v4l2-tracer tool and library</flag>
+ <flag name="utils">Build the v4l-utils collection of utilities</flag>
+ </use>
</pkgmetadata>