commit: 80108cacb3431b266c85ad0c2a628c701ef8252d
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 18 22:27:38 2025 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Sat Oct 18 22:28:07 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=80108cac
media-libs/libv4l: Version bump to 1.32.0
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
media-libs/libv4l/Manifest | 1 +
media-libs/libv4l/libv4l-1.32.0.ebuild | 152 +++++++++++++++++++++++++++++++++
2 files changed, 153 insertions(+)
diff --git a/media-libs/libv4l/Manifest b/media-libs/libv4l/Manifest
index 31ce0aba937c..dbc5710e3c37 100644
--- a/media-libs/libv4l/Manifest
+++ b/media-libs/libv4l/Manifest
@@ -1 +1,2 @@
DIST v4l-utils-1.30.1.tar.xz 1381748 BLAKE2B
f8341b77ca132dda8ed410643ae0afc32417aa59d5e7b8c756972354e8d314c53ed1585f784a970c855de6464e8f3c9652efede4a48b6f252808c55198f27976
SHA512
b34ff9a233da9cb5a569cb5a6fcee288216277eb6f2f6e83c75e717422c1440f58da5e4f4c557b95a11f7650bbacc603c79edaa7451c277398aebf9c232761b3
+DIST v4l-utils-1.32.0.tar.xz 1384024 BLAKE2B
6656c564f7d1a432ebad7f4b35b0b9c351eed0b07f927652076a261356afe1c57ea094d5bffd24c5b9826025bd8da4772159ab4e10a11e059fdb07749cfc6247
SHA512
5bf24c28ec66a7ac1a0c9ee976521d825d4c2f8abbbeb59c7ac55e89db10dde6ebb643d238d217d636d79fda363244558fee1effe8c5e8c573c1a3e957fe391f
diff --git a/media-libs/libv4l/libv4l-1.32.0.ebuild
b/media-libs/libv4l/libv4l-1.32.0.ebuild
new file mode 100644
index 000000000000..01ebcfd2cff5
--- /dev/null
+++ b/media-libs/libv4l/libv4l-1.32.0.ebuild
@@ -0,0 +1,152 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit eapi9-ver 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"
+S="${WORKDIR}/${MY_P}"
+LICENSE="LGPL-2.1+ utils? ( MIT || ( BSD GPL-2 ) )"
+SLOT="0/0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64
~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="bpf doc dvb jpeg qt6 tracer +utils"
+
+REQUIRED_USE="
+ bpf? ( utils )
+ qt6? ( utils )
+ tracer? ( utils )
+"
+
+RDEPEND="
+ !<media-tv/v4l-utils-1.26
+ dvb? ( virtual/libudev[${MULTILIB_USEDEP}] )
+ jpeg? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] )
+ utils? (
+ virtual/libudev
+ !sys-apps/edid-decode
+ !elibc_glibc? (
+ sys-libs/argp-standalone
+ )
+ bpf? (
+ dev-libs/libbpf:=
+ virtual/libelf:=
+ )
+ qt6? (
+ dev-qt/qtbase:6[gui,opengl,widgets,-gles2-only]
+ dev-qt/qt5compat:6
+ media-libs/alsa-lib
+ virtual/opengl
+ )
+ tracer? (
+ dev-libs/json-c:=
+ )
+ )
+"
+
+DEPEND="
+ ${RDEPEND}
+"
+
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig
+ bpf? ( || (
+ sys-devel/bpf-toolchain
+ llvm-core/clang:*[llvm_targets_BPF]
+ ) )
+ doc? ( app-text/doxygen )
+ utils? (
+ dev-lang/perl
+ qt6? ( dev-qt/qtbase:6 )
+ )
+"
+
+# Not really prebuilt but BPF objects make our QA checks go crazy.
+QA_PREBUILT="*/rc_keymaps/protocols/*.o"
+
+# This is intended to be preloaded.
+QA_SONAME=".*/libv4l2tracer\.so"
+
+check_llvm() {
+ if [[ ${MERGE_TYPE} != binary ]] && use bpf &&
+ ! has_version -b sys-devel/bpf-toolchain && has_version -b
llvm-core/clang; then
+ clang -target bpf -print-supported-cpus &>/dev/null ||
+ die "clang does not support the BPF target. Please
check LLVM_TARGETS."
+ fi
+}
+
+pkg_pretend() {
+ check_llvm
+}
+
+pkg_setup() {
+ check_llvm
+ CONFIG_CHECK="~SHMEM" linux-info_pkg_setup
+}
+
+src_prepare() {
+ default
+ use qt6 || sed -i "/^dep_qt6/s/'qt6/&DiSaBlEd/" meson.build || die
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ $(meson_native_use_feature bpf)
+ -Dgconv=disabled
+ $(meson_feature jpeg)
+ $(meson_feature dvb libdvbv5)
+ $(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="${EPREFIX}$(get_udevdir)"
+ $(meson_native_use_feature doc doxygen-doc)
+ $(meson_native_use_bool doc doxygen-html)
+ $(meson_native_use_bool doc doxygen-man)
+ )
+ if multilib_is_native_abi && use qt6; then
+ emesonargs+=(
+ -Dqv4l2=enabled
+ -Dqvidcap=enabled
+ )
+ else
+ emesonargs+=(
+ -Dqv4l2=disabled
+ -Dqvidcap=disabled
+ )
+ fi
+ 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 && ver_replacing -lt 1.20.0; 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
+}