commit: 57a2327c35f7fdd9a6f2f1bd0332a1c60965cc25 Author: James Le Cuirot <chewi <AT> gentoo <DOT> org> AuthorDate: Mon Dec 1 23:11:51 2025 +0000 Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org> CommitDate: Mon Dec 1 23:11:51 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=57a2327c
media-libs/libv4l: Drop old 1.30.1 Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org> media-libs/libv4l/Manifest | 1 - .../files/libv4l-1.30.1-cpp-fallthrough.patch | 29 ---- media-libs/libv4l/files/libv4l-bpf-toolchain.patch | 125 ---------------- media-libs/libv4l/libv4l-1.30.1.ebuild | 158 --------------------- 4 files changed, 313 deletions(-) diff --git a/media-libs/libv4l/Manifest b/media-libs/libv4l/Manifest index dbc5710e3c37..e4340fe83b07 100644 --- a/media-libs/libv4l/Manifest +++ b/media-libs/libv4l/Manifest @@ -1,2 +1 @@ -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/files/libv4l-1.30.1-cpp-fallthrough.patch b/media-libs/libv4l/files/libv4l-1.30.1-cpp-fallthrough.patch deleted file mode 100644 index 7e403ab0e6cb..000000000000 --- a/media-libs/libv4l/files/libv4l-1.30.1-cpp-fallthrough.patch +++ /dev/null @@ -1,29 +0,0 @@ -From f431bb813df169858540b8a819cedeb1805515c9 Mon Sep 17 00:00:00 2001 -From: James Le Cuirot <[email protected]> -Date: Sun, 3 Aug 2025 23:42:08 +0100 -Subject: [PATCH] compiler.h: Fix libc++ build now that _LIBCPP_FALLTHROUGH has - gone - -This has been dropped in favour of [[__fallthrough__]]. - -https://github.com/llvm/llvm-project/commit/cb43fe33b5d5084cf3b5a2723a03b692edb68018 - -Signed-off-by: James Le Cuirot <[email protected]> ---- a/include/compiler.h -+++ b/include/compiler.h -@@ -3,7 +3,11 @@ - #else - #include <ciso646> - #ifdef _LIBCPP_VERSION -- #define fallthrough _LIBCPP_FALLTHROUGH() -+ #ifdef _LIBCPP_FALLTHROUGH -+ #define fallthrough _LIBCPP_FALLTHROUGH() -+ #else -+ #define fallthrough [[__fallthrough__]] -+ #endif // _LIBCPP_FALLTHROUGH - #else - #ifdef __clang__ - #define fallthrough [[clang::fallthrough]] --- -2.50.1 - diff --git a/media-libs/libv4l/files/libv4l-bpf-toolchain.patch b/media-libs/libv4l/files/libv4l-bpf-toolchain.patch deleted file mode 100644 index 9a7c98daa81b..000000000000 --- a/media-libs/libv4l/files/libv4l-bpf-toolchain.patch +++ /dev/null @@ -1,125 +0,0 @@ -From 48316b8a20aac35f982991b617f84fb3c104e7b0 Mon Sep 17 00:00:00 2001 -From: James Le Cuirot <[email protected]> -Date: Sun, 10 Aug 2025 15:20:06 +0100 -Subject: [PATCH] meson: Allow BPF code to be built with GCC - -GCC can also target BPF, but it does not understand the "-target bpf" -arguments passed to Clang. - -Detect it as either bpf-gcc, bpf-none-gcc, or bpf-unknown-none-gcc, the -same as systemd does. - -Determine the include paths with the compiler used by the rest of the -build rather than Clang, which might not be installed or might not give -the right answer, especially when cross-compiling. - -Check whether Clang actually supports the BPF target so that -auto-detection doesn't cause the build to fail when it doesn't. - -Signed-off-by: James Le Cuirot <[email protected]> -Signed-off-by: Sean Young <[email protected]> ---- a/meson.build -+++ b/meson.build -@@ -83,11 +83,34 @@ endif - v4l2_utils_incdir = include_directories(v4l2_utils_incdir_arr) - - prog_bash = find_program('bash') --prog_clang = find_program('clang', required : get_option('bpf')) - prog_doxygen = find_program('doxygen', required : get_option('doxygen-doc')) - prog_grep = find_program('grep') - prog_perl = find_program('perl') - -+if get_option('bpf').allowed() -+ bpf_args = [] -+ prog_bpf = find_program('bpf-gcc', -+ 'bpf-none-gcc', -+ 'bpf-unknown-none-gcc', -+ required : false) -+ -+ if prog_bpf.found() -+ bpf_args += ['-fno-tree-switch-conversion'] -+ else -+ prog_bpf = find_program('clang', required : get_option('bpf')) -+ if prog_bpf.found() -+ target_bpf = run_command(prog_bpf, '-target', 'bpf', '--print-supported-cpus', check : get_option('bpf').enabled()) -+ if target_bpf.returncode() == 0 -+ bpf_args += ['-target', 'bpf'] -+ else -+ prog_bpf = disabler() -+ endif -+ endif -+ endif -+else -+ prog_bpf = disabler() -+endif -+ - dep_alsa = dependency('alsa', required : false) - if dep_alsa.found() - conf.set('HAVE_ALSA', 1) ---- /dev/null -+++ b/utils/keytable/bpf_protocols/cc_sys_includes.sh -@@ -0,0 +1,10 @@ -+#!/bin/sh -+# Get C compiler's default includes on this system, as the BPF toolchain -+# generally doesn't see the Linux headers. This fixes "missing" files on some -+# architectures/distros, such as asm/byteorder.h, asm/socket.h, asm/sockios.h, -+# sys/cdefs.h etc. -+# -+# Use '-idirafter': Don't interfere with include mechanics except where the -+# build would have failed anyways. -+"$@" -v -E - </dev/null 2>&1 \ -+ | sed -n '/<...> search starts here:/,/End of search list./{ s| \(/.*\)|-idirafter \1|p }' ---- a/utils/keytable/bpf_protocols/clang_sys_includes.sh -+++ /dev/null -@@ -1,9 +0,0 @@ --#!/bin/sh --# Get Clang's default includes on this system, as opposed to those seen by --# '-target bpf'. This fixes "missing" files on some architectures/distros, --# such as asm/byteorder.h, asm/socket.h, asm/sockios.h, sys/cdefs.h etc. --# --# Use '-idirafter': Don't interfere with include mechanics except where the --# build would have failed anyways. --$CLANG -v -E - </dev/null 2>&1 \ -- | sed -n '/<...> search starts here:/,/End of search list./{ s| \(/.*\)|-idirafter \1|p }' ---- a/utils/keytable/bpf_protocols/meson.build -+++ b/utils/keytable/bpf_protocols/meson.build -@@ -10,9 +10,9 @@ bpf_protocols_files = [ - 'xbox-dvd', - ] - --clang_sys_includes = run_command('clang_sys_includes.sh', -- check : true, -- env : ['CLANG=' + prog_clang.full_path()]) -+bpf_args += run_command('cc_sys_includes.sh', -+ cc.cmd_array(), -+ check : true).stdout().split() - - foreach file : bpf_protocols_files - output = file + '.o' -@@ -21,9 +21,9 @@ foreach file : bpf_protocols_files - output : output, - input : input, - command : [ -- prog_clang, -- clang_sys_includes.stdout().split(), -- '-D__linux__', '-fno-stack-protector', '-target', 'bpf', -+ prog_bpf, -+ bpf_args, -+ '-D__linux__', '-fno-stack-protector', - '-O2', '-c', '@INPUT@', '-o', '@OUTPUT@', - ], - install : true, ---- a/utils/keytable/meson.build -+++ b/utils/keytable/meson.build -@@ -22,7 +22,7 @@ ir_keytable_c_args = [ - '-DIR_KEYTABLE_USER_DIR="@0@"'.format(ir_keytable_user_dir), - ] - --ir_bpf_enabled = prog_clang.found() and dep_libbpf.found() and dep_libelf.found() -+ir_bpf_enabled = prog_bpf.found() and dep_libbpf.found() and dep_libelf.found() - - if ir_bpf_enabled - ir_keytable_sources += files( --- -2.50.1 - diff --git a/media-libs/libv4l/libv4l-1.30.1.ebuild b/media-libs/libv4l/libv4l-1.30.1.ebuild deleted file mode 100644 index bcc3cb2a48d1..000000000000 --- a/media-libs/libv4l/libv4l-1.30.1.ebuild +++ /dev/null @@ -1,158 +0,0 @@ -# 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 ) - ) -" - -PATCHES=( - "${FILESDIR}"/${P}-cpp-fallthrough.patch - "${FILESDIR}"/${PN}-bpf-toolchain.patch - "${FILESDIR}"/${PN}-1.32-bpf-locale.patch -) - -# 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 - PATH+=":${BROOT}/usr/lib/bpf-toolchain/bin" 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 -}
