mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2025-12-08 00:05:33 +03:00
media-libs/libv4l: Drop old 1.30.1
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
This commit is contained in:
parent
41721f0119
commit
57a2327c35
@ -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
|
||||
|
||||
@ -1,29 +0,0 @@
|
||||
From f431bb813df169858540b8a819cedeb1805515c9 Mon Sep 17 00:00:00 2001
|
||||
From: James Le Cuirot <chewi@gentoo.org>
|
||||
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 <chewi@gentoo.org>
|
||||
--- 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
|
||||
|
||||
@ -1,125 +0,0 @@
|
||||
From 48316b8a20aac35f982991b617f84fb3c104e7b0 Mon Sep 17 00:00:00 2001
|
||||
From: James Le Cuirot <chewi@gentoo.org>
|
||||
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 <chewi@gentoo.org>
|
||||
Signed-off-by: Sean Young <sean@mess.org>
|
||||
--- 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
|
||||
|
||||
@ -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
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user