summaryrefslogtreecommitdiff
path: root/media-video
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-08-07 12:37:21 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-08-07 12:37:21 +0100
commitb8c7370a682e4e29cda623222d17a790c01c3642 (patch)
treef6caa14689bd00a5760eadaa381ff41e50ef3c1b /media-video
parent8a4997a7e2d1e36c089d4d76935b5a902d98d3d0 (diff)
gentoo auto-resync : 07:08:2024 - 12:37:20
Diffstat (limited to 'media-video')
-rw-r--r--media-video/Manifest.gzbin23873 -> 23554 bytes
-rw-r--r--media-video/amdgpu-pro-amf/Manifest2
-rw-r--r--media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.33.1718238.ebuild2
-rw-r--r--media-video/ffmpeg-chromium/Manifest4
-rw-r--r--media-video/ffmpeg-chromium/ffmpeg-chromium-127.ebuild2
-rw-r--r--media-video/ffmpeg-chromium/ffmpeg-chromium-128.ebuild248
-rw-r--r--media-video/gaupol/Manifest4
-rw-r--r--media-video/gaupol/gaupol-1.14.1.ebuild69
-rw-r--r--media-video/gaupol/gaupol-1.15-r1.ebuild74
-rw-r--r--media-video/gaupol/gaupol-1.15.ebuild69
-rw-r--r--media-video/kaffeine/Manifest4
-rw-r--r--media-video/kaffeine/files/kaffeine-2.0.18-cmake-no-dupl-po-targets.patch11
-rw-r--r--media-video/kaffeine/kaffeine-2.0.18-r3.ebuild74
-rw-r--r--media-video/luvcview/Manifest4
-rw-r--r--media-video/luvcview/luvcview-0.2.6-r1.ebuild45
-rw-r--r--media-video/luvcview/metadata.xml8
-rw-r--r--media-video/mjpegtools/Manifest5
-rw-r--r--media-video/mjpegtools/files/mjpegtools-2.2.1-gcc15-template.patch349
-rw-r--r--media-video/mjpegtools/files/mjpegtools-2.2.1-lto.patch24
-rw-r--r--media-video/mjpegtools/files/mjpegtools-2.2.1-puts-c99-configure.patch13
-rw-r--r--media-video/mjpegtools/mjpegtools-2.2.1-r2.ebuild (renamed from media-video/mjpegtools/mjpegtools-2.2.1-r1.ebuild)5
-rw-r--r--media-video/mpv/Manifest4
-rw-r--r--media-video/mpv/mpv-0.38.0-r1.ebuild1
-rw-r--r--media-video/mpv/mpv-9999.ebuild1
-rw-r--r--media-video/obs-studio/Manifest6
-rw-r--r--media-video/obs-studio/obs-studio-30.2.1.ebuild271
-rw-r--r--media-video/obs-studio/obs-studio-9999.ebuild4
-rw-r--r--media-video/vdr/Manifest3
-rw-r--r--media-video/vdr/vdr-2.6.9.ebuild199
-rw-r--r--media-video/vdr2jpeg/Manifest3
-rw-r--r--media-video/vdr2jpeg/metadata.xml8
-rw-r--r--media-video/vdr2jpeg/vdr2jpeg-0.2.0-r5.ebuild46
-rw-r--r--media-video/yle-dl/Manifest2
-rw-r--r--media-video/yle-dl/yle-dl-20240429.ebuild57
34 files changed, 1296 insertions, 325 deletions
diff --git a/media-video/Manifest.gz b/media-video/Manifest.gz
index 6ef961353ff4..503542d452cc 100644
--- a/media-video/Manifest.gz
+++ b/media-video/Manifest.gz
Binary files differ
diff --git a/media-video/amdgpu-pro-amf/Manifest b/media-video/amdgpu-pro-amf/Manifest
index 11cd632bb267..3bfcb74720d1 100644
--- a/media-video/amdgpu-pro-amf/Manifest
+++ b/media-video/amdgpu-pro-amf/Manifest
@@ -3,5 +3,5 @@ DIST amdgpu-pro-amf-1.4.29.1580631.deb 1653852 BLAKE2B 5af5250c07e1b99ae8c1ee285
DIST amdgpu-pro-amf-1.4.33.1718238.deb 3311972 BLAKE2B 549ab0cae83e6014ef79ef70981cdb296cebee1cdeeb7d07258523018d9efa89e174fbabe537896e524b69064806dc12bf24aae29f291d76b5bddb3d2e203639 SHA512 ec5771eebe30d749e5fa753600a9fc02ca97b5023cbbd9f58ffbf657a5f6c4d1e2066da1974ad759c6d9089b233c25654fbb0ec019b34232445f9e4f53720388
EBUILD amdgpu-pro-amf-1.4.24.1452059.ebuild 1194 BLAKE2B 27c6a17b1fc3c6f32585c8fb8f71890a7d1b3e0bc9d77e2c439396a32b3814537b210fdd9c77dcce388af871ff6ad5c64e34738b6b087b96fea5c8e3ba920a1a SHA512 b26d38722238628fc31cfb8c8b2d91438d9d844bd89a129555b4541db66d39322ee1341b08cd5d85788b2a58b331a89931325daa35bb27bd5cea977d30094831
EBUILD amdgpu-pro-amf-1.4.29.1580631.ebuild 1213 BLAKE2B 977ac2026b66681d94437fd80e610e10381862b64d8d14a53a395b3620bc90fa7bb61581672b4a49694d4205b1df8c77ac5ba05ce58d48a25eb76491d8f42a62 SHA512 0b569f4007191ef310928aeba52193293f4d90a2a7dca982bff30bb6b63098d1fcd8f268013d28104d2b13e1dc202dc63c7678e533df52a6286823d0ef5ac2fa
-EBUILD amdgpu-pro-amf-1.4.33.1718238.ebuild 1216 BLAKE2B 80a0182dd623e8b21595d22e03b72baddb3cb7d5383e6f00b624e795d7aabd1b635973fc1ed56becf18fa6b28fbf4cf3549c0169213df8692a1d0ee2d3418325 SHA512 61252376888943bfbf886ddc8d68585831507ad2f98493fe725a6b02c0046d5b51e9eb3c1507810eb10c6b59b05b003ef6d0b84fb17901de6076cafc43b7338a
+EBUILD amdgpu-pro-amf-1.4.33.1718238.ebuild 1215 BLAKE2B 63bcf450992b322798b3f31fa81ee7061b06e91c22a2cc0618ace7f05e9d5dbd45f4018ae178829f96baf96da81248e1e4dfd0bb2b8fa26f2309da43b3528597 SHA512 38a08a6f9769171b53ea8b613d3855cdf94aeea285393dfc833d71acedc5af2e6e93e5292a0d3b4aeeafecf7f7f043e6e2474af0d502099000bfcdbded8e0d72
MISC metadata.xml 402 BLAKE2B 45f4e6adffb186b9a9b36b420aaa5727f025206eca039d9f6fbe3eb302f7200cc24c079480d91c9d92ccd932bef86b87401400f17eba2fd8b4baa3fca66cf236 SHA512 dc9e5a699437291c5f768d66bdfd9d2aaa00e931f358e6d0045e764638332a8db14bd19a782aac0918dc4b42b8658a5974bdfec2971690e6718be247fff512b3
diff --git a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.33.1718238.ebuild b/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.33.1718238.ebuild
index 3a60f81979fa..79a35e7579e0 100644
--- a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.33.1718238.ebuild
+++ b/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.33.1718238.ebuild
@@ -28,7 +28,7 @@ RESTRICT="bindist mirror"
LICENSE="AMD-GPU-PRO-EULA"
SLOT="0/31"
-KEYWORDS="-* ~amd64"
+KEYWORDS="-* amd64"
RDEPEND="
media-libs/amdgpu-pro-vulkan
diff --git a/media-video/ffmpeg-chromium/Manifest b/media-video/ffmpeg-chromium/Manifest
index 273373c09e1b..ffe021842a16 100644
--- a/media-video/ffmpeg-chromium/Manifest
+++ b/media-video/ffmpeg-chromium/Manifest
@@ -3,7 +3,9 @@ AUX ffmpeg-chromium-120.patch 1485 BLAKE2B 49ece028bf7da100adc7af93e82b6235fb39f
DIST ffmpeg-chromium-125.tar.xz 10372892 BLAKE2B 53b805354b55f1dfbe2341b767aaccca7efea4cced02db9090be88e89a4d2d688904ffc996c206d92a99d4eb93733b7f8cb47fd80dc43019c3bb6690903a1140 SHA512 c1b68b16a3dbd6f96e52c313b9ddf1c193ef302e5cbe7e127c511e54a4453c32c84b3df954e397d7ba834ef17fe1cba6efabfde855d3bb9e497bcde1b66c3d8d
DIST ffmpeg-chromium-126.tar.xz 10402160 BLAKE2B 96a92ff2a5ece8668693f5ef7ed5da3e61a523b98a91d00316494df91edfc42c1622663719a3c192de2a4ebf7a6258f08c53393201ee3fc3261f162e1b529dcd SHA512 8fc10b1d5fe159a1dd718229bf8ec50ed0bea1fedd917859b3a0703f15e94809087e67ccf2031eb14ae8b06ad32d958ed71ff54621fd667f5507abd9738a6f0c
DIST ffmpeg-chromium-127.tar.xz 10418192 BLAKE2B 2a623ee8e2c0940e4067e6ebecaecdc64c45b16022327a84d77323348c210b091c58eb52b4afea1f2918cd29a27c3457a3294f561a5e6ee2db28c63f432b23bd SHA512 0cddb21761ad3b54f5393d3963ca94518cb4ab8183f2bbe975f8419bd94d8b20131750a22d75fd56b304a2b83be364993a839f727342b7eed6a2d1868f79af4c
+DIST ffmpeg-chromium-128.tar.xz 10420280 BLAKE2B 0b5b3ca891445042c9c1a27713b57a0d99f75fd2d57116b89afa1020dde61a1b2d3d14e0c6d639a17fd0b45359e803580100c600e6ac99eb383630512ab8402b SHA512 a420da69c49c11bf49229066f7f08d837d8bfacfa47c659b8c3e5bb28426b65749a16ce221bf2996541902f2d55750c43e75596102a6449cdf4a845cbad777dc
EBUILD ffmpeg-chromium-125.ebuild 6657 BLAKE2B db9582314b61909de311d3287577cad8d087a96eb9fd2ac1c9fd8ba0f89622ec8cfbb5790069af68e1f6b42efe0b4be5aea5d6f99425bfa4f99e8ace553ba4d2 SHA512 ec6d625c3d5d6007a3f0f5bea98cf684ddde7087db030e7dacaa93a673a279edf74d62c475c3112927e4a7ab68d3f80621378ad0db77ac7ff3e5b56cc5d6e88d
EBUILD ffmpeg-chromium-126.ebuild 6657 BLAKE2B 3e08ce545199da60565e97f1328e4c9e31f14fc169aa0e36aeb7f6c772497d1f92c98f0039ce8968a551e9e38bf4acf3f86db0ac5bbeb9f59837a6851adc0d78 SHA512 7f50b01df708adfc2a94509a606f47b2f119a0af4671c7020c7dc21a0ccf24780f340059532cf5eb45cc30859c7394432d7b2f56cb529fb739bea8e8ab7b4480
-EBUILD ffmpeg-chromium-127.ebuild 6659 BLAKE2B b257982863c168fdc163cb9353108999598917bd6954f27f16abface61edb085a2b268e920ceddee54dbb419861e2185431a316ce3739e90c00b41855e3702a4 SHA512 5de38699bf23a442c1865020b299b666ce38c8ca9cd5424eaf245d6c9b8cc86129c70f6c27c4898cbd28ba92eeb4266f2839219ca4ca74bc732760d0dd0ea334
+EBUILD ffmpeg-chromium-127.ebuild 6657 BLAKE2B 1ef9acdaeba4acd40879caae346d541b0f9f7a57c6f578ae7e506adb4a23638ce81065b07fcdc9062afb2e2533542d5584a6867181862677bf0058d1bd2bf00b SHA512 71a12e7f7d9551f84cb53b343776949f488421678655ebdafe851a0d388f0bcd8e17fbb0ef9dfab5cd9bc14d1a365451b959bcd196c75a8c83ba27448439ee98
+EBUILD ffmpeg-chromium-128.ebuild 6659 BLAKE2B 5a5f16409dbe409c8e9c33c4f47a8d22b7f14a964801176d049ea3390cc175eb7aeaa7650a8fc257c5c01a823392dd4c9ca073a3e3265dda5bead39980c97962 SHA512 34120ab25a9269927e892183977dc16ee93819d02cbc1401de6cd145a7a6c35fe458d65cafa11348a05a1cd8b1b7109e8d64b245176f924319360e0bc30123ce
MISC metadata.xml 695 BLAKE2B 84fa4967572665812d4da8bb1a86a8b28a749892570cb1fca5c0515f860fbe8c472a91240f1d3b7b3109ccdbd32cf8da941c438cd9f332b763f2824e0e193ac8 SHA512 0069bcf32d2aa083c66e13579295e8ef96b9ac72b02f1436620000c71c4d1e335391838f9a9e56f7768bd13dbe13ce6f3f3674a303cf90cc658360825867c3f9
diff --git a/media-video/ffmpeg-chromium/ffmpeg-chromium-127.ebuild b/media-video/ffmpeg-chromium/ffmpeg-chromium-127.ebuild
index eb68732fd0bc..91d93d2a4d58 100644
--- a/media-video/ffmpeg-chromium/ffmpeg-chromium-127.ebuild
+++ b/media-video/ffmpeg-chromium/ffmpeg-chromium-127.ebuild
@@ -16,7 +16,7 @@ LICENSE="
"
SLOT="${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64"
# Options to use as use_enable in the foo[:bar] form.
# This will feed configure with $(use_enable foo bar)
diff --git a/media-video/ffmpeg-chromium/ffmpeg-chromium-128.ebuild b/media-video/ffmpeg-chromium/ffmpeg-chromium-128.ebuild
new file mode 100644
index 000000000000..6b5bd6600a97
--- /dev/null
+++ b/media-video/ffmpeg-chromium/ffmpeg-chromium-128.ebuild
@@ -0,0 +1,248 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+COMMIT=d941d9677bb4802f01750fd908ec284fb72c84df
+DESCRIPTION="FFmpeg built specifically for codec support in Chromium-based browsers"
+HOMEPAGE="https://ffmpeg.org/"
+SRC_URI="https://deps.gentoo.zip/media-video/${P}.tar.xz"
+
+LICENSE="
+ !gpl? ( LGPL-2.1 )
+ gpl? ( GPL-2 )
+"
+SLOT="${PV}"
+
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64"
+
+# Options to use as use_enable in the foo[:bar] form.
+# This will feed configure with $(use_enable foo bar)
+# or $(use_enable foo foo) if no :bar is set.
+# foo is added to IUSE.
+FFMPEG_FLAG_MAP=(
+ cpudetection:runtime-cpudetect debug
+ +gpl
+ vaapi vdpau vulkan
+ nvenc:ffnvcodec
+ # Threads; we only support pthread for now but ffmpeg supports more
+ +threads:pthreads
+)
+
+IUSE="
+ ${FFMPEG_FLAG_MAP[@]%:*}
+"
+
+# Strings for CPU features in the useflag[:configure_option] form
+# if :configure_option isn't set, it will use 'useflag' as configure option
+ARM_CPU_FEATURES=(
+ cpu_flags_arm_thumb:armv5te
+ cpu_flags_arm_v6:armv6
+ cpu_flags_arm_thumb2:armv6t2
+ cpu_flags_arm_neon:neon
+ cpu_flags_arm_vfp:vfp
+ cpu_flags_arm_vfpv3:vfpv3
+ cpu_flags_arm_v8:armv8
+ cpu_flags_arm_asimddp:dotprod
+ cpu_flags_arm_i8mm:i8mm
+)
+ARM_CPU_REQUIRED_USE="
+ arm64? ( cpu_flags_arm_v8 )
+ cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon )
+ cpu_flags_arm_neon? (
+ cpu_flags_arm_vfp
+ arm? ( cpu_flags_arm_thumb2 )
+ )
+ cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp )
+ cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 )
+ cpu_flags_arm_v6? (
+ arm? ( cpu_flags_arm_thumb )
+ )
+"
+X86_CPU_FEATURES_RAW=( 3dnow:amd3dnow 3dnowext:amd3dnowext aes:aesni avx:avx avx2:avx2 fma3:fma3 fma4:fma4 mmx:mmx
+ mmxext:mmxext sse:sse sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4 sse4_2:sse42 xop:xop )
+X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} )
+X86_CPU_REQUIRED_USE="
+ cpu_flags_x86_avx2? ( cpu_flags_x86_avx )
+ cpu_flags_x86_fma4? ( cpu_flags_x86_avx )
+ cpu_flags_x86_fma3? ( cpu_flags_x86_avx )
+ cpu_flags_x86_xop? ( cpu_flags_x86_avx )
+ cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 )
+ cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 )
+ cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 )
+ cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 )
+ cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 )
+ cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 )
+ cpu_flags_x86_sse2? ( cpu_flags_x86_sse )
+ cpu_flags_x86_sse? ( cpu_flags_x86_mmxext )
+ cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx )
+ cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow )
+ cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx )
+"
+
+CPU_FEATURES_MAP=(
+ ${ARM_CPU_FEATURES[@]}
+ ${X86_CPU_FEATURES[@]}
+)
+IUSE="${IUSE}
+ ${CPU_FEATURES_MAP[@]%:*}"
+
+CPU_REQUIRED_USE="
+ ${ARM_CPU_REQUIRED_USE}
+ ${X86_CPU_REQUIRED_USE}
+"
+
+RDEPEND="
+ >=media-libs/opus-1.0.2-r2
+ vaapi? ( >=media-libs/libva-1.2.1-r1:0= )
+ nvenc? ( >=media-libs/nv-codec-headers-11.1.5.3 )
+ vdpau? ( >=x11-libs/libvdpau-0.7 )
+ vulkan? ( >=media-libs/vulkan-loader-1.3.277:= )
+"
+
+DEPEND="${RDEPEND}
+ vulkan? ( >=dev-util/vulkan-headers-1.3.277 )
+"
+BDEPEND="
+ >=dev-build/make-3.81
+ virtual/pkgconfig
+ cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) )
+"
+
+REQUIRED_USE="
+ vulkan? ( threads )
+ ${CPU_REQUIRED_USE}"
+RESTRICT="
+ test
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-120.patch
+ "${FILESDIR}"/chromium.patch
+)
+
+src_prepare() {
+ export revision=git-N-g${COMMIT:0:10}
+ default
+
+ # -fdiagnostics-color=auto gets appended after user flags which
+ # will ignore user's preference.
+ sed -i -e '/check_cflags -fdiagnostics-color=auto/d' configure || die
+
+ echo 'include $(SRC_PATH)/ffbuild/libffmpeg.mak' >> Makefile || die
+}
+
+src_configure() {
+ local myconf=( )
+
+ # Bug #918997. Will probably be fixed upstream in the next release.
+ use vulkan && append-ldflags -Wl,-z,muldefs
+
+ # bug 842201
+ use ia64 && tc-is-gcc && append-flags \
+ -fno-tree-ccp \
+ -fno-tree-dominator-opts \
+ -fno-tree-fre \
+ -fno-code-hoisting \
+ -fno-tree-pre \
+ -fno-tree-vrp
+
+ local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
+
+ for i in "${ffuse[@]#+}" ; do
+ myconf+=( $(use_enable ${i%:*} ${i#*:}) )
+ done
+
+ # CPU features
+ for i in "${CPU_FEATURES_MAP[@]}" ; do
+ use ${i%:*} || myconf+=( --disable-${i#*:} )
+ done
+
+ # Try to get cpu type based on CFLAGS.
+ # Bug #172723
+ # We need to do this so that features of that CPU will be better used
+ # If they contain an unknown CPU it will not hurt since ffmpeg's configure
+ # will just ignore it.
+ for i in $(get-flag mcpu) $(get-flag march) ; do
+ [[ ${i} = native ]] && i="host" # bug #273421
+ myconf+=( --cpu=${i} )
+ break
+ done
+
+ # LTO support, bug #566282, bug #754654, bug #772854
+ if [[ ${ABI} != x86 ]] && tc-is-lto; then
+ # Respect -flto value, e.g -flto=thin
+ local v="$(get-flag flto)"
+ [[ -n ${v} ]] && myconf+=( "--enable-lto=${v}" ) || myconf+=( "--enable-lto" )
+ fi
+ filter-lto
+
+ # Mandatory configuration
+ myconf=(
+ --disable-stripping
+ # This is only for hardcoded cflags; those are used in configure checks that may
+ # interfere with proper detections, bug #671746 and bug #645778
+ # We use optflags, so that overrides them anyway.
+ --disable-optimizations
+ --disable-libcelt # bug #664158
+ "${myconf[@]}"
+ )
+
+ # cross compile support
+ if tc-is-cross-compiler ; then
+ myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" )
+ case ${CHOST} in
+ *mingw32*)
+ myconf+=( --target-os=mingw32 )
+ ;;
+ *linux*)
+ myconf+=( --target-os=linux )
+ ;;
+ esac
+ fi
+
+ # Use --extra-libs if needed for LIBS
+ set -- "${S}/configure" \
+ --prefix="${EPREFIX}/usr" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --shlibdir="${EPREFIX}/usr/$(get_libdir)" \
+ --cc="$(tc-getCC)" \
+ --cxx="$(tc-getCXX)" \
+ --ar="$(tc-getAR)" \
+ --nm="$(tc-getNM)" \
+ --strip="$(tc-getSTRIP)" \
+ --ranlib="$(tc-getRANLIB)" \
+ --pkg-config="$(tc-getPKG_CONFIG)" \
+ --optflags="${CFLAGS}" \
+ --disable-all \
+ --disable-autodetect \
+ --disable-error-resilience \
+ --disable-everything \
+ --disable-faan \
+ --disable-iconv \
+ --disable-network \
+ --enable-avcodec \
+ --enable-avformat \
+ --enable-avutil \
+ --enable-libopus \
+ --enable-decoder=aac,flac,h264,libopus,mp3,pcm_alaw,pcm_f32le,pcm_mulaw,pcm_s16be,pcm_s16le,pcm_s24be,pcm_s24le,pcm_s32le,pcm_u8,theora,vorbis,vp8 \
+ --enable-demuxer=aac,flac,matroska,mov,mp3,ogg,wav \
+ --enable-parser=aac,flac,h264,mpegaudio,opus,vorbis,vp3,vp8,vp9 \
+ --enable-pic \
+ --enable-static \
+ "${myconf[@]}" \
+ ${EXTRA_FFMPEG_CONF}
+
+ echo "${@}"
+ "${@}" || die
+}
+
+src_compile() {
+ emake V=1 libffmpeg
+}
+
+src_install() {
+ emake V=1 DESTDIR="${D}" install-libffmpeg
+}
diff --git a/media-video/gaupol/Manifest b/media-video/gaupol/Manifest
index b58c5921d803..b34c10c523d3 100644
--- a/media-video/gaupol/Manifest
+++ b/media-video/gaupol/Manifest
@@ -1,8 +1,6 @@
AUX gaupol-1.12-fix-prefix.patch 1266 BLAKE2B 0d2c5ae5cb76099f9e91e78e3a7d3c1b1bec73c223a4c5dfcb407a6efd60f42b4d9174faba318005400f2df346929baee5224ebc2d0b6b8f23a868a6f5451b0c SHA512 1d56b2793821a19d3dddb95c7c3a52e2f1e6af54886f77862cde1b3e7585b60990b1a8a61b4056b4676bce4ce722dc77ce0bd1116668118c8f4168884260da6e
DIST gaupol-1.13.tar.gz 592830 BLAKE2B dcde1dd6c5e3e9624f0e7692c4d6cc14452733d1e35bc25de5deaa842cdb069250dee0b2d9eb75d1bb9f3c618c43457718ce91f5a6992ec7797fbb37366fc524 SHA512 ebe2accd962344c07201e46ceff3801483a4c68f9772d1fc868a93d8044b65987f7233eab675a9f3148bce686261a6b5c40d66d3f9471f9515713fbfb46a3f92
-DIST gaupol-1.14.1.tar.gz 593435 BLAKE2B f7ee1f2e70707f54204400d99107a1ee62b721e7ee0be76ce980a261b1b95349aefcc5907dc5cf956fd703a4372065576371cdf0466a32ee206d797b1500d53d SHA512 efaa9910496dcd683be40ff33bf68de313b852d6212f3f43c67e6433eb3b95b64c89707d1a69a54c9f772c44cf04f95ca76d705d396b376ac1c86c4bbe48e4e0
DIST gaupol-1.15.tar.gz 593412 BLAKE2B af21c3fac16a9e6a861ba93679f59134b68ab780812115048646b74a6524e230bb02a62454e8a42bdc436dfd08441f3e103a04b112c9d721e12d291e5e8cfbc7 SHA512 899dac0a8827e7b1b61ac9745f5fb39376eed1e4ccf928c3442350f6d8bb27f743923e1d321f1215f422b6e1d1d4e13cfe56adc2b4c358f22f6647a642726889
EBUILD gaupol-1.13.ebuild 1704 BLAKE2B c093232a478ae38556b91f01f0f47d7fc194e656436ac300c2b9942c51ff03d70f3a69f01342b1d2785c30a3849052f46694642c6bddb9ff71282228a3eb9e8c SHA512 52f9cffea16ccdda7098cf1a2fa9562635b5bc7b0f95f80d500a9c47d37838df208adbbf8d01f694bd3491c1ae9692eabf21a96071b9d95f38f3c83092bdfc32
-EBUILD gaupol-1.14.1.ebuild 1707 BLAKE2B 3f264cf5876f186ea05b500df2df8c38ee51fb8d8cef0245b28036e21e820216d7d8862fc4436a9ab90ec5c9e086a1a161c53880d6702b8b9a84f2303750554b SHA512 da2bfee4e91e69e1b5a06f17fccca31a5a2093472c2e7666895a01c072cb45b5a6d6ec522b8ef65194d536eda589b2585a117427369742f848704539072f3593
-EBUILD gaupol-1.15.ebuild 1718 BLAKE2B 77c5f1e2050a7295a995e8b57e6a05e9439f12e705130b159fe40307d594feb41ade006357229a2d9aae142d597fb6b62febfe68e5d6988181b005a844721adb SHA512 a846b25e6507266d175fe6ad9f11deeaa9bb1061e1799eb90bf57704aae3af7d37c3fa70c06c582adf6d48d0d951877a542a51e7a7da2e6d3bf74466629ddf38
+EBUILD gaupol-1.15-r1.ebuild 2244 BLAKE2B c8bbfcf32ec2d456959ed8bc201c2c9a017e0fdaa8a2459d0721f7bf3f384b4826bafb65ac6829450cc768a8f8214cc10669247ecf3210bba621844165ca3292 SHA512 065f508babbd6cf2a85c9fd52cdc9f76666e4aae0142ac7a6f566b205a886b042ae2334dd3b5860ba4ce14dff196e49096652f522935b044ded56da5010ea7ce
MISC metadata.xml 533 BLAKE2B eb6d56dbe104832c594f306fc020b591b04e4f21d7533740ab613ecf105cdfdc4bc9232fe18bbfc4276cc08063a7a570a1c98025e9c74561b4abda0119e3801e SHA512 49859f8f6b75f20c6cf94f60764c1e688ddf907a7657815574b666fcc7873de0a3105cda9acd9f4bbdb7f658bd0003c67ec1ced72e3d84e15b5d86b64ca91abe
diff --git a/media-video/gaupol/gaupol-1.14.1.ebuild b/media-video/gaupol/gaupol-1.14.1.ebuild
deleted file mode 100644
index 0caa08c6a2f9..000000000000
--- a/media-video/gaupol/gaupol-1.14.1.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 virtualx xdg-utils
-
-DESCRIPTION="A subtitle editor for text-based subtitles"
-HOMEPAGE="https://otsaloma.io/gaupol/ https://github.com/otsaloma/gaupol/"
-SRC_URI="https://github.com/otsaloma/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="spell"
-
-RDEPEND="
- app-text/iso-codes
- dev-python/chardet[${PYTHON_USEDEP}]
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- spell? ( app-text/gspell[introspection] )
-"
-BDEPEND="
- sys-devel/gettext
- test? (
- app-dicts/myspell-en
- app-text/enchant[hunspell]
- app-text/gspell[introspection]
- )
-"
-
-distutils_enable_tests pytest
-
-DOCS=( AUTHORS.md NEWS.md README.md README.aeidon.md )
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.12-fix-prefix.patch"
-)
-
-python_test() {
- virtx epytest
-}
-
-pkg_postinst() {
- xdg_desktop_database_update
- xdg_icon_cache_update
- if [[ -z ${REPLACING_VERSIONS} ]]; then
- elog "The integrated video player requires media-plugins/gst-plugins-gtk."
- elog ""
- elog "External video previewing support requires MPV, MPlayer or VLC."
- if use spell; then
- elog ""
- elog "Spell-checking requires a dictionary, any of app-dicts/myspell-*"
- elog "or app-text/aspell with the appropriate L10N variable."
- elog ""
- elog "Additionally, make sure that app-text/enchant has the correct flags enabled:"
- elog "USE=hunspell for myspell dictionaries and USE=aspell for aspell dictionaries."
- fi
- fi
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- xdg_icon_cache_update
-}
diff --git a/media-video/gaupol/gaupol-1.15-r1.ebuild b/media-video/gaupol/gaupol-1.15-r1.ebuild
new file mode 100644
index 000000000000..5f273d5825c3
--- /dev/null
+++ b/media-video/gaupol/gaupol-1.15-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 optfeature virtualx xdg-utils
+
+DESCRIPTION="A subtitle editor for text-based subtitles"
+HOMEPAGE="https://otsaloma.io/gaupol/"
+SRC_URI="https://github.com/otsaloma/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ app-text/iso-codes
+ dev-python/charset-normalizer[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+"
+BDEPEND="
+ sys-devel/gettext
+ test? (
+ app-dicts/myspell-en
+ || (
+ app-text/enchant[hunspell]
+ >=app-text/enchant-2.2.8[nuspell]
+ )
+ app-text/gspell[introspection]
+ )
+"
+
+distutils_enable_tests pytest
+
+DOCS=( AUTHORS.md NEWS.md README.md README.aeidon.md )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.12-fix-prefix.patch"
+)
+
+python_test() {
+ virtx epytest
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+
+ # To check which GStreamer plugins are required (vaapisink is mentioned in the code but it is not used):
+ # plugins=$(qlist -e gaupol | xargs grep -ho 'Gst.ElementFactory.*' | cut -d'"' -f2 | sort -u | grep -vFx vaapisink)
+ # xargs -n1 gst-inspect-1.0 <<< "$plugins" | awk '/Filename/ {print $2}' | sort -u | xargs qfile
+ optfeature "integrated video player support" \
+ "media-libs/gstreamer[introspection] media-libs/gst-plugins-base[pango] media-plugins/gst-plugins-gtk"
+ optfeature "external video previewing support" "media-video/mpv" "media-video/mplayer" "media-video/vlc"
+
+ optfeature "spellchecking support" "app-text/gspell[introspection]"
+ # To list dictionaries supported by gaupol:
+ # python3 -c 'import aeidon; print(*aeidon.SpellChecker.list_languages(), sep="\n")'
+ optfeature "spellchecking with app-dicts/myspell-* dictionaries using the nuspell backend" \
+ "app-text/enchant[nuspell]"
+ optfeature "spellchecking with app-dicts/myspell-* dictionaries using the hunspell backend" \
+ "app-text/enchant[hunspell]"
+ optfeature "spellchecking with app-dicts/aspell-* dictionaries" \
+ "app-text/enchant[aspell]"
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
diff --git a/media-video/gaupol/gaupol-1.15.ebuild b/media-video/gaupol/gaupol-1.15.ebuild
deleted file mode 100644
index de6253f7c5e9..000000000000
--- a/media-video/gaupol/gaupol-1.15.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..13} )
-
-inherit distutils-r1 virtualx xdg-utils
-
-DESCRIPTION="A subtitle editor for text-based subtitles"
-HOMEPAGE="https://otsaloma.io/gaupol/ https://github.com/otsaloma/gaupol/"
-SRC_URI="https://github.com/otsaloma/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="spell"
-
-RDEPEND="
- app-text/iso-codes
- dev-python/charset-normalizer[${PYTHON_USEDEP}]
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- spell? ( app-text/gspell[introspection] )
-"
-BDEPEND="
- sys-devel/gettext
- test? (
- app-dicts/myspell-en
- app-text/enchant[hunspell]
- app-text/gspell[introspection]
- )
-"
-
-distutils_enable_tests pytest
-
-DOCS=( AUTHORS.md NEWS.md README.md README.aeidon.md )
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.12-fix-prefix.patch"
-)
-
-python_test() {
- virtx epytest
-}
-
-pkg_postinst() {
- xdg_desktop_database_update
- xdg_icon_cache_update
- if [[ -z ${REPLACING_VERSIONS} ]]; then
- elog "The integrated video player requires media-plugins/gst-plugins-gtk."
- elog ""
- elog "External video previewing support requires MPV, MPlayer or VLC."
- if use spell; then
- elog ""
- elog "Spell-checking requires a dictionary, any of app-dicts/myspell-*"
- elog "or app-text/aspell with the appropriate L10N variable."
- elog ""
- elog "Additionally, make sure that app-text/enchant has the correct flags enabled:"
- elog "USE=hunspell for myspell dictionaries and USE=aspell for aspell dictionaries."
- fi
- fi
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- xdg_icon_cache_update
-}
diff --git a/media-video/kaffeine/Manifest b/media-video/kaffeine/Manifest
index 266c4028b022..d83201e569ed 100644
--- a/media-video/kaffeine/Manifest
+++ b/media-video/kaffeine/Manifest
@@ -1,5 +1,9 @@
+AUX kaffeine-2.0.18-cmake-no-dupl-po-targets.patch 299 BLAKE2B bf3bd5dc17af567c9f957604bb6b030742b44fd37008a670f33ed917ab652cfe4f85290b46a9677b4a3591debee794aeaf6321e24d6b310a6743f8d759505266 SHA512 e3619aa01afe2385f80afe5278c2b6200419d4563bd9788978a3980fb9c9b87fb0be0596460aa05db8799980bdb6f66a08b52bcac554aec72ba6c0dd0dd6c64f
AUX kaffeine-2.0.18-wayland-window-activation.patch 1098 BLAKE2B a129d194ef354f046b6d8b2c6649e0c92bc04d835f89c4d84066d544ea5950f8812c525afd338f97b82788ad4a62564ab7ba5998dd313660ae420d375ec59252 SHA512 d85e749df73be82506dac1fd06784323e944a7091a39d0a25118f9624a3d1a59cb080be1b0d77629e4fca0dfc8e31e9b1d7849ba88a29dd9e0809c7c30142606
+DIST kaffeine-2.0.18-patchset.tar.xz 29600 BLAKE2B b7e4fa7c367ded01ddbdc258d2b6cac904fefe44b34668e64f7c4d9d2933abe42aeaee64c4889cee050d131ac6aac8bb58b6685523d0e6bdb019430fdd2a269d SHA512 66d9a2f1820fd284b601245c6b7d5eac927e8e1c22e86ef2d84177c0e3f23f2bf6dacfe51f6512dfcaed3d7c59aad522ee9e3555ec2940179fe6b2b3a4fb7f98
+DIST kaffeine-2.0.18-r3-scantable.dvb 1980400 BLAKE2B dcc43fcd04cc155ae99e35a32de15f9823007f68041a4b3fc6fce143d2b66e3c209d945a24e9aea968b195b782d8ffb5d21533cba21fb48ffedb77d82f28d5f2 SHA512 de93c5dbecdb7549b03a1809891a33ee216a1592a140fcce81649e4355ac9e51898ca6a2d7b0d302e3e92191800fbd50033902a06fc6672ca3590eb4d7be2f98
DIST kaffeine-2.0.18-scantable.dvb 1880456 BLAKE2B e435309f0a11cb6ecb9671c0948c6afdf4c946bc0914c0809945002e353383bb539e1c5594a0a52f2968393623c56914b360b37e5b24a0c17a8f3a60b100ad6a SHA512 2d00987eb261e6f52df490dd44b43567f7d4e3bdcfd0eb2f62e064604d91661e9754cf9e5462b491009fcb35bdca681f4be2a9f06b6b6d47a5b44f5819dbf4fe
DIST kaffeine-2.0.18.tar.xz 6033112 BLAKE2B c9a0fbd58f7ee4ed8ad44cbed59d95cde7df8ba9c2f5f341df74e6a771293756434e38adb7706baf224a684b56453601099fcac9bf27fd7ec935073a0c30ec19 SHA512 60854251f25e7de94928686f647e6e0f07ca40188e8dfd8140985f1dfbb53bb4d92ff42c29e216431500839d7eb83b81f386bac3a8a86dd8c986a611ec0db3a4
EBUILD kaffeine-2.0.18-r2.ebuild 1746 BLAKE2B 017a0a9f6e789a0e5001e19ee47a7704419a03a656f08f1984b72c3af644aac6cf7ef30326b35c9cf58f8adfe80eadde78e4ff20bfeb258435be99ab08cd58dc SHA512 7c64ae392aba349a2d0aa3dfe7d0a3393a0fda2c67ecdc3a7b0159208af97b34852a60a34146ddece737abd98033be35521518f8008840ab61f587cd7daeb625
+EBUILD kaffeine-2.0.18-r3.ebuild 1883 BLAKE2B e7d3831a383e983d44b0c9eba0648a5b24e179714240f8d2f36e53f532ee9880e55df7f1aa7faff01fe1609ddfe7905b01e6df3baeaa66494477431e796f985a SHA512 736e45092a5967c6a41b7a9c9780b4850bc0935cf9b3121f82f11957e308729fcc906bf7f300767591e4938e0b4c208aea65327a926149c59ba04c18695baa93
MISC metadata.xml 438 BLAKE2B b11cde969ef9af83c7e70ac17615703c8f0b4296113a8ff552a669c3b7bf7b5291106dd1c4ece993fd8195f5af3bcd1b05697b583bd85f4a155fa10351cbbadd SHA512 d32994646bdbfb90e5fde722a905ebf5fa59903de7c36fd8228ce257057ac8523d7219656d1f1a1bdcc3f0eec1ad9f34535d4090078c9e3a6890d58b8e1e3b71
diff --git a/media-video/kaffeine/files/kaffeine-2.0.18-cmake-no-dupl-po-targets.patch b/media-video/kaffeine/files/kaffeine-2.0.18-cmake-no-dupl-po-targets.patch
new file mode 100644
index 000000000000..79482164bc2c
--- /dev/null
+++ b/media-video/kaffeine/files/kaffeine-2.0.18-cmake-no-dupl-po-targets.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt 2019-05-14 15:04:58.000000000 +0200
++++ b/CMakeLists.txt 2024-08-04 22:36:49.346618444 +0200
+@@ -112,8 +112,3 @@
+ if(BUILD_TOOLS)
+ add_subdirectory(tools)
+ endif(BUILD_TOOLS)
+-
+- find_package(KF5DocTools CONFIG)
+- if(KF5DocTools_FOUND)
+- kdoctools_install(po)
+- endif()
diff --git a/media-video/kaffeine/kaffeine-2.0.18-r3.ebuild b/media-video/kaffeine/kaffeine-2.0.18-r3.ebuild
new file mode 100644
index 000000000000..bb6e662ce6a2
--- /dev/null
+++ b/media-video/kaffeine/kaffeine-2.0.18-r3.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="optional"
+PATCHSET="${P}-patchset"
+SCANTABLE="${P}-r3-scantable.dvb"
+KFMIN=5.106.0
+QTMIN=5.15.9
+inherit ecm kde.org
+
+if [[ ${KDE_BUILD_TYPE} == release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz
+ https://linuxtv.org/downloads/dtv-scan-tables/${PN}/scantable.dvb -> ${SCANTABLE}"
+ SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${PATCHSET}.tar.xz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Media player with digital TV support by KDE"
+HOMEPAGE="https://apps.kde.org/kaffeine/ https://userbase.kde.org/Kaffeine"
+
+LICENSE="GPL-2+ handbook? ( FDL-1.3 )"
+SLOT="5"
+IUSE="dvb"
+
+DEPEND="
+ >=dev-qt/qtdbus-${QTMIN}:5
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtnetwork-${QTMIN}:5
+ >=dev-qt/qtsql-${QTMIN}:5[sqlite]
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ >=dev-qt/qtx11extras-${QTMIN}:5
+ >=dev-qt/qtxml-${QTMIN}:5
+ >=kde-frameworks/kconfig-${KFMIN}:5
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:5
+ >=kde-frameworks/kcoreaddons-${KFMIN}:5
+ >=kde-frameworks/kdbusaddons-${KFMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ >=kde-frameworks/kio-${KFMIN}:5
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
+ >=kde-frameworks/kwindowsystem-${KFMIN}:5
+ >=kde-frameworks/kxmlgui-${KFMIN}:5
+ >=kde-frameworks/solid-${KFMIN}:5
+ media-video/vlc[X]
+ x11-libs/libXScrnSaver
+ dvb? ( media-libs/libv4l[dvb] )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+DOCS=( Changelog NOTES README.md )
+
+PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ "${FILESDIR}/${P}-cmake-no-dupl-po-targets.patch")
+
+src_prepare() {
+ ecm_src_prepare
+ cp -av "${DISTDIR}"/${SCANTABLE} src/scantable.dvb || die
+}
+
+src_configure() {
+ # tools working on $HOME directory for a local git checkout
+ local mycmakeargs=(
+ -DBUILD_TOOLS=OFF
+ $(cmake_use_find_package dvb Libdvbv5)
+ )
+
+ ecm_src_configure
+}
diff --git a/media-video/luvcview/Manifest b/media-video/luvcview/Manifest
deleted file mode 100644
index ba51eb487bf9..000000000000
--- a/media-video/luvcview/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST luvcview_0.2.6-4.diff.gz 8227 BLAKE2B 10c01541920b24dafd55f969f4e86daa2d4bb7d73fc33b7ed3b592e080ef31a6d4e429585402e291f20898af5d48021d618ca6496a668def767fad4dced47a3f SHA512 ae0f760e08979065a072f28367fd6c399ff8bc821b79d021d0fec8bb62e36b10804f30f708de3e23ccada0596b7c57dec6d0f8b92a777046e1bfa087686e7f87
-DIST luvcview_0.2.6.orig.tar.gz 100318 BLAKE2B 94273fc4635d515c78b9604e3a1bcdfeea5f835f64f6bb1f19c192ebee5f96b7e1d3b1e7921969560e5bd111cb7e84d20806c42b64f4ab6de40e1597ffae3c99 SHA512 6d0b480c51716e36401680ae333c37f179122d04feca3e91056f77abee6dc60dac4e431e8cca999780c343d10170678ace1eb29076c9211c0cfef6d65a4599ab
-EBUILD luvcview-0.2.6-r1.ebuild 936 BLAKE2B c19948ed7a0eac1357777795827027ce496dda0405f58e7ba75b2da810d1b6e23b9bbf0ca2035b58848c480a58585316c2ac22dcbaedb9a95701b31ba2e382fb SHA512 ce60dbed98786dea12665dd1c5b90d797d3b567d63087bb84d8ec272eeda1bff83e807f071d6c9a2163fa99a0a45cc5f4add18cc903cc218357f5fb0f21343c2
-MISC metadata.xml 260 BLAKE2B ee10cc021112a6e67381cc76d642cabfe9876b9e2da97243070551179a9f8eb2bcb67d8bf96822d40239c350808a8a129882914f1ce9b5f924c99d16ba1300a6 SHA512 0bc4c52638ab97c96d6e1ea6b8199201567dbdac880349e8ab501de49bbfba142e4f2f60baac9c0bc48df6f5d170d81d641277cc01762d720b720764bb162c1a
diff --git a/media-video/luvcview/luvcview-0.2.6-r1.ebuild b/media-video/luvcview/luvcview-0.2.6-r1.ebuild
deleted file mode 100644
index 34f1275f979d..000000000000
--- a/media-video/luvcview/luvcview-0.2.6-r1.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit desktop toolchain-funcs
-
-PATCH_LEVEL="4"
-
-DESCRIPTION="USB Video Class grabber"
-HOMEPAGE="https://packages.qa.debian.org/l/luvcview.html"
-SRC_URI="mirror://debian/pool/main/l/${PN}/${PN}_${PV}.orig.tar.gz
- mirror://debian/pool/main/l/${PN}/${PN}_${PV}-${PATCH_LEVEL}.diff.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-RDEPEND="
- media-libs/libsdl
- media-libs/libv4l
- x11-libs/libX11
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
-"
-
-src_prepare() {
- default
- eapply "${WORKDIR}"/${PN}_${PV}-${PATCH_LEVEL}.diff
- eapply debian/patches/*.patch
- sed -i -e 's:videodev.h:videodev2.h:' *.{c,h} || die
- sed -i -e 's:-O2::' Makefile || die
-}
-
-src_compile() {
- emake CC="$(tc-getCC) ${LDFLAGS}"
-}
-
-src_install() {
- dobin luvcview
- doman debian/luvcview.1
- dodoc Changelog README ToDo
- make_desktop_entry ${PN}
-}
diff --git a/media-video/luvcview/metadata.xml b/media-video/luvcview/metadata.xml
deleted file mode 100644
index a2dfee954457..000000000000
--- a/media-video/luvcview/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>media-video@gentoo.org</email>
- <name>Gentoo Video project</name>
- </maintainer>
-</pkgmetadata>
diff --git a/media-video/mjpegtools/Manifest b/media-video/mjpegtools/Manifest
index 5276971e379a..7d0206c1a41b 100644
--- a/media-video/mjpegtools/Manifest
+++ b/media-video/mjpegtools/Manifest
@@ -1,5 +1,8 @@
AUX mjpegtools-2.2.1-c++17-no-auto_ptr-fix.patch 521 BLAKE2B 6afa67ce2c4ce924e90a71261216fc3bf225692b9ef3c4c6daceabedfb655069d9916245153d718b3096f28e0c95adee7c1ce3403d92c1842c144b2eeba2389e SHA512 114dc0b9a61af40ea0866320554e7aa048610a0698f79b419b36722f5130f521d18a5abe55d6a8b8ce74623510f7ff63b49fff8bded0f60b9ad31d6ff2d45458
AUX mjpegtools-2.2.1-c++17-register-fix.patch 391 BLAKE2B ec51922fadc66a1500ac3352de0b507d3a2210c36562ba8b72e41a90cf5fc007d3cf5579e8b6813506371989e827833b1b71da0b0444dc8a3481e03884d501e8 SHA512 bc3a6c708af357f67f5d5cd2eb11c931c44d14e698f1d2a30e066c66a7e06cbcc5238b7b7bce775127f56d3c978b44f2986801359eef9836a23ec0ffd25bceca
+AUX mjpegtools-2.2.1-gcc15-template.patch 10735 BLAKE2B e9e171909a435c8e5926f4b0e7d828f834d29556644d7f6774191425c424a2c10c03c5b29ad08d925461906c953f1a26df122fa4e88f3d0d6f2c9c8c73bd45e8 SHA512 04d2331316fb1c61b9fb47f53ca2a61e12e2d327cc9eeb557d00fd7a2f5f1fa3aaf04503e29b94fa49fb3b89d7d95c18623128c14086acaa1b8bc1502d63527b
+AUX mjpegtools-2.2.1-lto.patch 731 BLAKE2B 9bee6eddad066794ec2404d4ca3df363fb66a458d4a296d0878bf4d21a3e242d6f660a5d9d7b2996e5742140d1a5e50b75144386821f78d254f9e5f2b8a81b86 SHA512 68cc4c1e70ac7753fdc7ba036b5407dcb9839fa05ef61c5d3567e9f1efb26a8ce71ee6f1c259fcc1277f90d0d2beb041119a627ff5e8e63bce49c3f542077c8b
+AUX mjpegtools-2.2.1-puts-c99-configure.patch 682 BLAKE2B 36d38e5ad56496647030150728cd86e043a2b3913d28d6aaa964bf51a3ae143e8ed200ae66424ef863ad2588222159d999a9caf7e2976b431880639b44fdc121 SHA512 de3e85d0d96d4ce12c423b4110f31d13082ac2c69ebc146516b03202521696aa4170b12cfc51c9a7959f028317957ed98edcdb33e5e0261133d4c2791843044e
DIST mjpegtools-2.2.1.tar.gz 2326425 BLAKE2B a6f2698dda6b7c92a1a786f39bfb1989587b2c35a1f94e435247f04a01f405808d464470fddf1eddaee73df75daaef460bd62e901b89b2b2e0b095332492b20b SHA512 4d7f4dcf56a0e6079025bf0221ee632d91c4cc635a8c7eb9ddf3f7b86ad7250415c6dc4fd4113081920bc9c8fdc2552b8a3aaf896bf5a778acfacb15c7ded830
-EBUILD mjpegtools-2.2.1-r1.ebuild 2756 BLAKE2B 5ca9a6cc89710c7b7ca156b9770043639672ca7e8263ed6d5c0c48ab182c5420d2daa4a19fc80c01e8d75533f20d773534958748d56200fba7976b177ea18de3 SHA512 4c4d4c4401175849b645268ba878a296c6a7d6111cc686e7025ee48bcd198744307d1c707009ca2d71276808c3e01d305a661b0a4fdc06d15f6d9879f0ce89ef
+EBUILD mjpegtools-2.2.1-r2.ebuild 2893 BLAKE2B 1405896365b69df71533f5588d933ce118f624d28482469bda88c7194c4d6d17088587b393403488ebfc4d39fa5f38e5877d908c7f1ed7ff506ff5e935234cca SHA512 e56e9a8cceaeacfbc82e1c76f6ca80921bb82161da8e639f972054775e8394a81686611fad444ea9298d585d6772b0214b4c2fb2e42ebccef1047e8cb97f3849
MISC metadata.xml 538 BLAKE2B 420dc5b1516f83aed28539d6c9cb3964135bd67d9a8c334eb5ad72bc95156fe3795ca8098cebc46e7a263e3a84cdb8bfe1a393b7f9a9f47eeaf24527748723a9 SHA512 c53c44b7a0bdea16c3c56d11edde87edea9849ffb37b2eba21701ad5791f1348d61d7216457efa0964c1503d89e2d86c4616d1fda240129f98ab2b68ec5e6926
diff --git a/media-video/mjpegtools/files/mjpegtools-2.2.1-gcc15-template.patch b/media-video/mjpegtools/files/mjpegtools-2.2.1-gcc15-template.patch
new file mode 100644
index 000000000000..66d017233233
--- /dev/null
+++ b/media-video/mjpegtools/files/mjpegtools-2.2.1-gcc15-template.patch
@@ -0,0 +1,349 @@
+https://bugs.gentoo.org/936562
+https://sourceforge.net/p/mjpeg/patches/63/
+--- a/y4mdenoise/Region2D.hh
++++ b/y4mdenoise/Region2D.hh
+@@ -97,35 +97,11 @@
+ // Add the given horizontal extent to the region. Note that
+ // a_tnXEnd is technically one past the end of the extent.
+
+- template <class REGION, class REGION_TEMP>
+- void UnionDebug (Status_t &a_reStatus, INDEX a_tnY,
+- INDEX a_tnXStart, INDEX a_tnXEnd, REGION_TEMP &a_rTemp);
+- // Add the given horizontal extent to the region. Note that
+- // a_tnXEnd is technically one past the end of the extent.
+- // Exhaustively (i.e. slowly) verifies the results, using a
+- // much simpler algorithm.
+- // Requires the use of a temporary region, usually of the
+- // final subclass' type, in order to work. (Since that can't
+- // be known at this level, a template parameter is included for
+- // it.)
+-
+ template <class REGION>
+ void Union (Status_t &a_reStatus, const REGION &a_rOther);
+ // Make the current region represent the union between itself
+ // and the other given region.
+
+- template <class REGION, class REGION_O, class REGION_TEMP>
+- void UnionDebug (Status_t &a_reStatus,
+- REGION_O &a_rOther, REGION_TEMP &a_rTemp);
+- // Make the current region represent the union between itself
+- // and the other given region.
+- // Exhaustively (i.e. slowly) verifies the results, using a
+- // much simpler algorithm.
+- // Requires the use of a temporary region, usually of the
+- // final subclass' type, in order to work. (Since that can't
+- // be known at this level, a template parameter is included for
+- // it.)
+-
+ //void Merge (Status_t &a_reStatus, INDEX a_tnY, INDEX a_tnXStart,
+ // INDEX a_tnXEnd);
+ // Merge this extent into the current region.
+@@ -166,36 +142,11 @@
+ // Subtract the given horizontal extent from the region. Note
+ // that a_tnXEnd is technically one past the end of the extent.
+
+- template <class REGION_TEMP>
+- void SubtractDebug (Status_t &a_reStatus, INDEX a_tnY,
+- INDEX a_tnXStart, INDEX a_tnXEnd, REGION_TEMP &a_rTemp);
+- // Subtract the given horizontal extent from the region. Note
+- // that a_tnXEnd is technically one past the end of the extent.
+- // Exhaustively (i.e. slowly) verifies the results, using a
+- // much simpler algorithm.
+- // Requires the use of a temporary region, usually of the
+- // final subclass' type, in order to work. (Since that can't
+- // be known at this level, a template parameter is included for
+- // it.)
+-
+ template <class REGION>
+ void Subtract (Status_t &a_reStatus, const REGION &a_rOther);
+ // Subtract the other region from the current region, i.e.
+ // remove from the current region any extents that exist in the
+ // other region.
+-
+- template <class REGION, class REGION_O, class REGION_TEMP>
+- void SubtractDebug (Status_t &a_reStatus, REGION_O &a_rOther,
+- REGION_TEMP &a_rTemp);
+- // Subtract the other region from the current region, i.e.
+- // remove from the current region any extents that exist in the
+- // other region.
+- // Exhaustively (i.e. slowly) verifies the results, using a
+- // much simpler algorithm.
+- // Requires the use of a temporary region, usually of the
+- // final subclass' type, in order to work. (Since that can't
+- // be known at this level, a template parameter is included for
+- // it.)
+
+ //typedef ... ConstIterator;
+ //ConstIterator Begin (void) const { return m_setExtents.Begin(); }
+@@ -404,85 +355,6 @@
+
+
+
+-// Add the given horizontal extent to the region.
+-template <class INDEX, class SIZE>
+-template <class REGION, class REGION_TEMP>
+-void
+-Region2D<INDEX,SIZE>::UnionDebug (Status_t &a_reStatus, INDEX a_tnY,
+- INDEX a_tnXStart, INDEX a_tnXEnd, REGION_TEMP &a_rTemp)
+-{
+- typename REGION::ConstIterator itHere;
+- typename REGION_TEMP::ConstIterator itHereO;
+- INDEX tnX;
+- // Used to loop through points.
+-
+- // Make sure they didn't start us off with an error.
+- assert (a_reStatus == g_kNoError);
+-
+- // Calculate the union.
+- a_rTemp.Assign (a_reStatus, *this);
+- if (a_reStatus != g_kNoError)
+- return;
+- a_rTemp.Union (a_reStatus, a_tnY, a_tnXStart, a_tnXEnd);
+- if (a_reStatus != g_kNoError)
+- return;
+-
+- // Loop through every point in the result, make sure it's in
+- // one of the two input regions.
+- for (itHereO = a_rTemp.Begin(); itHereO != a_rTemp.End(); ++itHereO)
+- {
+- const Extent &rHere = *itHereO;
+- for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX)
+- {
+- if (!((rHere.m_tnY == a_tnY
+- && (tnX >= a_tnXStart && tnX < a_tnXEnd))
+- || this->DoesContainPoint (rHere.m_tnY, tnX)))
+- goto error;
+- }
+- }
+-
+- // Loop through every point in the original region, make sure
+- // it's in the result.
+- for (itHere = this->Begin(); itHere != this->End(); ++itHere)
+- {
+- const Extent &rHere = *itHere;
+- for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX)
+- {
+- if (!a_rTemp.DoesContainPoint (rHere.m_tnY, tnX))
+- goto error;
+- }
+- }
+-
+- // Loop through every point in the added extent, make sure it's in
+- // the result.
+- for (tnX = a_tnXStart; tnX < a_tnXEnd; ++tnX)
+- {
+- if (!a_rTemp.DoesContainPoint (a_tnY, tnX))
+- goto error;
+- }
+-
+- // The operation succeeded. Commit it.
+- Assign (a_reStatus, a_rTemp);
+- if (a_reStatus != g_kNoError)
+- return;
+-
+- // All done.
+- return;
+-
+-error:
+- // Handle deviations.
+- fprintf (stderr, "Region2D::Union() failed\n");
+- fprintf (stderr, "Input region:\n");
+- PrintRegion (*this);
+- fprintf (stderr, "Input extent: [%d,%d-%d]\n",
+- int (a_tnY), int (a_tnXStart), int (a_tnXEnd));
+- fprintf (stderr, "Result:\n");
+- PrintRegion (a_rTemp);
+- assert (false);
+-}
+-
+-
+-
+ // Make the current region represent the union between itself
+ // and the other given region.
+ template <class INDEX, class SIZE>
+@@ -511,184 +383,6 @@
+ }
+ }
+
+-
+-
+-// Make the current region represent the union between itself
+-// and the other given region.
+-template <class INDEX, class SIZE>
+-template <class REGION, class REGION_O, class REGION_TEMP>
+-void
+-Region2D<INDEX,SIZE>::UnionDebug (Status_t &a_reStatus,
+- REGION_O &a_rOther, REGION_TEMP &a_rTemp)
+-{
+- typename REGION::ConstIterator itHere;
+- typename REGION_O::ConstIterator itHereO;
+- typename REGION_TEMP::ConstIterator itHereT;
+- INDEX tnX;
+- // Used to loop through points.
+-
+- // Make sure they didn't start us off with an error.
+- assert (a_reStatus == g_kNoError);
+-
+- // Calculate the union.
+- a_rTemp.Assign (a_reStatus, *this);
+- if (a_reStatus != g_kNoError)
+- return;
+- a_rTemp.Union (a_reStatus, a_rOther);
+- if (a_reStatus != g_kNoError)
+- return;
+-
+- // Loop through every point in the result, make sure it's in
+- // one of the two input regions.
+- for (itHereT = a_rTemp.Begin(); itHereT != a_rTemp.End(); ++itHereT)
+- {
+- const Extent &rHere = *itHereT;
+- for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX)
+- {
+- if (!a_rOther.DoesContainPoint (rHere.m_tnY, tnX)
+- && !this->DoesContainPoint (rHere.m_tnY, tnX))
+- goto error;
+- }
+- }
+-
+- // Loop through every point in the first input region, make sure
+- // it's in the result.
+- for (itHere = this->Begin(); itHere != this->End(); ++itHere)
+- {
+- const Extent &rHere = *itHere;
+- for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX)
+- {
+- if (!a_rTemp.DoesContainPoint (rHere.m_tnY, tnX))
+- goto error;
+- }
+- }
+-
+- // Loop through every point in the second input region, make sure
+- // it's in the result.
+- for (itHereO = a_rOther.Begin();
+- itHereO != a_rOther.End();
+- ++itHereO)
+- {
+- const Extent &rHere = *itHereO;
+- for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX)
+- {
+- if (!a_rTemp.DoesContainPoint (rHere.m_tnY, tnX))
+- goto error;
+- }
+- }
+-
+- // The operation succeeded. Commit it.
+- Assign (a_reStatus, a_rTemp);
+- if (a_reStatus != g_kNoError)
+- return;
+-
+- // All done.
+- return;
+-
+-error:
+- // Handle deviations.
+- fprintf (stderr, "Region2D::Union() failed\n");
+- fprintf (stderr, "First input region:\n");
+- PrintRegion (*this);
+- fprintf (stderr, "Second input region:\n");
+- PrintRegion (a_rOther);
+- fprintf (stderr, "Result:\n");
+- PrintRegion (a_rTemp);
+- assert (false);
+-}
+-
+-
+-
+-// Subtract the other region from the current region, i.e.
+-// remove from the current region any areas that exist in the
+-// other region.
+-template <class INDEX, class SIZE>
+-template <class REGION, class REGION_O, class REGION_TEMP>
+-void
+-Region2D<INDEX,SIZE>::SubtractDebug (Status_t &a_reStatus,
+- REGION_O &a_rOther, REGION_TEMP &a_rTemp)
+-{
+- typename REGION::ConstIterator itHere;
+- typename REGION_O::ConstIterator itHereO;
+- typename REGION_TEMP::ConstIterator itHereT;
+- INDEX tnX;
+- // Used to loop through points.
+-
+- // Make sure they didn't start us off with an error.
+- assert (a_reStatus == g_kNoError);
+-
+- // Calculate the difference.
+- a_rTemp.Assign (a_reStatus, *this);
+- if (a_reStatus != g_kNoError)
+- return;
+- a_rTemp.Subtract (a_reStatus, a_rOther);
+- if (a_reStatus != g_kNoError)
+- return;
+-
+- // Loop through every point in the result, make sure it's in
+- // the first input region but not the second.
+- for (itHereT = a_rTemp.Begin(); itHereT != a_rTemp.End(); ++itHereT)
+- {
+- const Extent &rHere = *itHereT;
+- for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX)
+- {
+- if (!(this->DoesContainPoint (rHere.m_tnY, tnX)
+- && !a_rOther.DoesContainPoint (rHere.m_tnY, tnX)))
+- goto error;
+- }
+- }
+-
+- // Loop through every point in the first input region, and if it's
+- // not in the second input region, make sure it's in the result.
+- for (itHere = this->Begin(); itHere != this->End(); ++itHere)
+- {
+- const Extent &rHere = *itHere;
+- for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX)
+- {
+- if (!a_rOther.DoesContainPoint (rHere.m_tnY, tnX))
+- {
+- if (!a_rTemp.DoesContainPoint (rHere.m_tnY, tnX))
+- goto error;
+- }
+- }
+- }
+-
+- // Loop through every point in the second input region, make sure
+- // it's not in the result.
+- for (itHereO = a_rOther.Begin();
+- itHereO != a_rOther.End();
+- ++itHereO)
+- {
+- const Extent &rHere = *itHere;
+- for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX)
+- {
+- if (a_rTemp.DoesContainPoint (rHere.m_tnY, tnX))
+- goto error;
+- }
+- }
+-
+- // The operation succeeded. Commit it.
+- Assign (a_reStatus, a_rTemp);
+- if (a_reStatus != g_kNoError)
+- return;
+-
+- // All done.
+- return;
+-
+-error:
+- // Handle deviations.
+- fprintf (stderr, "Region2D::Subtract() failed\n");
+- fprintf (stderr, "First input region:\n");
+- PrintRegion (*this);
+- fprintf (stderr, "Second input region:\n");
+- PrintRegion (a_rOther);
+- fprintf (stderr, "Result:\n");
+- PrintRegion (a_rTemp);
+- assert (false);
+-}
+-
+-
+-
+ // Flood-fill the current region.
+ template <class INDEX, class SIZE>
+ template <class CONTROL>
+
diff --git a/media-video/mjpegtools/files/mjpegtools-2.2.1-lto.patch b/media-video/mjpegtools/files/mjpegtools-2.2.1-lto.patch
new file mode 100644
index 000000000000..b4cf1e14275f
--- /dev/null
+++ b/media-video/mjpegtools/files/mjpegtools-2.2.1-lto.patch
@@ -0,0 +1,24 @@
+https://sourceforge.net/p/mjpeg/bugs/143/
+https://bugs.gentoo.org/927103
+--- a/mpeg2enc/quantize_x86.c
++++ b/mpeg2enc/quantize_x86.c
+@@ -41,7 +41,7 @@
+ #include "quantize_precomp.h"
+ #include "quantize_ref.h"
+
+-int quant_weight_coeff_sum_mmx (int16_t *blk, uint16_t *i_quant_mat );
++int32_t quant_weight_coeff_sum_mmx(int16_t *src, int16_t *i_quant_mat);
+
+ void iquantize_non_intra_m1_mmx(int16_t *src, int16_t *dst, uint16_t *qmat);
+ void iquantize_non_intra_m2_mmx(int16_t *src, int16_t *dst, uint16_t *qmat);
+--- a/lavtools/lav_io.c
++++ b/lavtools/lav_io.c
+@@ -34,7 +34,7 @@
+ #include <libdv/dv.h>
+ #endif
+
+-extern int AVI_errno;
++extern long int AVI_errno;
+
+ static char video_format=' ';
+ static int internal_error=0;
diff --git a/media-video/mjpegtools/files/mjpegtools-2.2.1-puts-c99-configure.patch b/media-video/mjpegtools/files/mjpegtools-2.2.1-puts-c99-configure.patch
new file mode 100644
index 000000000000..6cbc92ee28ff
--- /dev/null
+++ b/media-video/mjpegtools/files/mjpegtools-2.2.1-puts-c99-configure.patch
@@ -0,0 +1,13 @@
+https://sourceforge.net/p/mjpeg/bugs/144/
+https://bugs.gentoo.org/899868
+--- a/configure.ac
++++ b/configure.ac
+@@ -236,7 +236,7 @@ dnl Check to see if __progname is provided by the system
+ dnl ********************************************************************
+ AC_CACHE_CHECK([for __progname],
+ [mjt_cv_extern___progname],
+- [AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],
++ [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>]],
+ [[extern char *__progname;
+ puts(__progname);]])],
+ [mjt_cv_extern___progname=yes],
diff --git a/media-video/mjpegtools/mjpegtools-2.2.1-r1.ebuild b/media-video/mjpegtools/mjpegtools-2.2.1-r2.ebuild
index 501d8c0b77b0..b6700e97964f 100644
--- a/media-video/mjpegtools/mjpegtools-2.2.1-r1.ebuild
+++ b/media-video/mjpegtools/mjpegtools-2.2.1-r2.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit autotools multilib-minimal
@@ -42,6 +42,9 @@ src_prepare() {
eapply "${FILESDIR}/${P}-c++17-register-fix.patch"
eapply "${FILESDIR}/${P}-c++17-no-auto_ptr-fix.patch"
+ eapply "${FILESDIR}/${P}-gcc15-template.patch"
+ eapply "${FILESDIR}/${P}-lto.patch"
+ eapply "${FILESDIR}/${P}-puts-c99-configure.patch"
eautoreconf
sed -i -e '/ARCHFLAGS=/s:=.*:=:' configure
diff --git a/media-video/mpv/Manifest b/media-video/mpv/Manifest
index a0b8802bada1..55d9403432dd 100644
--- a/media-video/mpv/Manifest
+++ b/media-video/mpv/Manifest
@@ -1,4 +1,4 @@
DIST mpv-0.38.0.tar.gz 3419741 BLAKE2B 3ff59d30bc305394f58a1fff4f24540aa3be9412bc3cad27bec0c3478f4b7c13190e26847f38edc52996bb9f9a36dd6832c6fccebd6d873058acf78a320e42e4 SHA512 b5b2af59039ef4711814f94bbdfedb37f8ce914301670e42d4ed05fe1900025a3d3a2f3d5e69628a8aad115a647a27c386718959e2df1a18740468b3a84f8975
-EBUILD mpv-0.38.0-r1.ebuild 6932 BLAKE2B 550f0b7101a996657259fc6af02a5988efaf503e97709137c79a653b5b21ad5f4e7926009cd8f907109e1d91b152e5ee7a0d4527fdd7023ddab2994dea268e96 SHA512 429dbb519297a1506b286c64677cf56cd078cec4c513e01cd16214bb89e8ac6c3563c88e27fd185ecff8f679d31cd1e77817798d1e10bd8cab36c7ec52a85474
-EBUILD mpv-9999.ebuild 6937 BLAKE2B df3ef871b2b9d158aa25d85f1079042d7a74aef0d2f954b6a14f4e12e3c5060cf73e135f8bbef1b0609383e6dbfb19e078eb691f1e2cbcf3b774954b335c06b6 SHA512 4b1143bf9c4069bc316edcc1ee37a9a5006d68e7e5fd0c7688079e57fe59c9f3786a748c09598550eb3b2d3a8c795e5fb04f6e3b88df67f6d08adab1217261eb
+EBUILD mpv-0.38.0-r1.ebuild 6969 BLAKE2B 9e612ecd1738284c89e1ca1d15767bc6894d600c2a56b56a91d3079ba37a89ad0cede33800ae6446c0babf91597ee33f7d69f462162b8ff852fb8359e432953f SHA512 a2fbb84e9ec8a0108201e6b63c520b7a7d4ff245a293588dee452b275fdaa0c55d4295c9098b44da03aa7c33a97165c687dffbc4a533738e9954bce6b36f360c
+EBUILD mpv-9999.ebuild 6974 BLAKE2B d1d925b0f816c1398d448505c4425c2a1054cf129aa4125d163c16a52b0add1786e4b17a617f0026bedce2494b2157f0d11bc58c6eac9e5898124d359c6ce994 SHA512 c3e0318f9e8531e36e4155e495e15b3f7fbd9c61d72a0b4dfc6300a60d91e782e335a8bcedc9572e8ad232df52d9a6e860dce1056e13ee4571720ac7fe3bd20f
MISC metadata.xml 2053 BLAKE2B dc35c3bcdb29eb08725a4f908575ecc2afed2d772988ff12ad052c39e9b195a68611e8037b82ee5ceefc33c40d8df666e03aa59d836eeb7c6472bd988f49b4ee SHA512 4e7cd2da4df81f9ecafddfe93788cabbc4f0de0ff9b976af2ab3fb0f63b2d7daee6d8c5607685240f41be37a158b9fa0acd030d8c62da835891d19af3870668c
diff --git a/media-video/mpv/mpv-0.38.0-r1.ebuild b/media-video/mpv/mpv-0.38.0-r1.ebuild
index 3ff3174b4d0d..0c4db6017737 100644
--- a/media-video/mpv/mpv-0.38.0-r1.ebuild
+++ b/media-video/mpv/mpv-0.38.0-r1.ebuild
@@ -115,6 +115,7 @@ DEPEND="
X? ( x11-base/xorg-proto )
dvb? ( sys-kernel/linux-headers )
nvenc? ( media-libs/nv-codec-headers )
+ vulkan? ( dev-util/vulkan-headers )
wayland? ( dev-libs/wayland-protocols )
"
BDEPEND="
diff --git a/media-video/mpv/mpv-9999.ebuild b/media-video/mpv/mpv-9999.ebuild
index e644f84d0ead..31b23432e18e 100644
--- a/media-video/mpv/mpv-9999.ebuild
+++ b/media-video/mpv/mpv-9999.ebuild
@@ -115,6 +115,7 @@ DEPEND="
X? ( x11-base/xorg-proto )
dvb? ( sys-kernel/linux-headers )
nvenc? ( media-libs/nv-codec-headers )
+ vulkan? ( dev-util/vulkan-headers )
wayland? ( dev-libs/wayland-protocols )
"
BDEPEND="
diff --git a/media-video/obs-studio/Manifest b/media-video/obs-studio/Manifest
index 6922dcc31837..a147e5c9830e 100644
--- a/media-video/obs-studio/Manifest
+++ b/media-video/obs-studio/Manifest
@@ -1,11 +1,15 @@
DIST cef_binary_5060_linux_x86_64_v3.tar.xz 91352460 BLAKE2B 443f4b1bc638d3fe462fd8b8dd167e96f65aebb2b8de3616beac298449e2786c746f9a1fa4a0dbe2e3ef2d593139938e97538890d3ca3b74018b3afb9c7fc661 SHA512 1fbdf1d4ed117f3b8af20476c57502145d652b451ba8e0a544081403d292cc7a78642e9071b8f0283a19ef7ad507ef6e0d9df32b00afc51605ab74f650a7d755
+DIST obs-browser-2a2879b5a69f4a99cd7459d8595af46cdb23115c.tar.gz 112519 BLAKE2B 94b0e46d83865ff5b85ffa07c082a561ad14205512502976e555555449441a0f701d14445b97b2084d2e10bc9289dd51e28fcf7057cb4584e6ef025bfde93062 SHA512 5ad219dacf50a4187ff79ee8d5d3e2bcc978b6dd91396669e76c56af2af26424c74151b15d9185a87c06aeb694a0a2f5d80e66a6c18c60ce843009c6f97e9b3a
DIST obs-browser-996b5a7bc43d912f1f4992e0032d4f263ac8b060.tar.gz 112416 BLAKE2B c82b5b55184130caaca0aad066ce1253c28206522e8d130cb3b940ee283c8a2dffc409a5d4774cad17535f958f52f4fe632a6b4462a18c10a4b5bbe02b60b4e9 SHA512 f6f7dbeb1d28b6c47663f36cb119cbc90a18c46fc6e81ca6db87e901ae4cee1fafd4a4a8c3f8cae94619d2f8f92baf1c52ca5c7df182f3df7521397638b0660d
DIST obs-browser-c81851a1d7696c2d7ba319122eec387c1568ad44.tar.gz 112521 BLAKE2B 184d398941e8055c89f9a80664ce0b3a900fc0df75c5f45c30e3c80e7645c23052ab4ff6816169136c7d9ae4da7754ab0a64bc075a7ee9036effa64860c88f21 SHA512 78e09171d173ff756ce60f6ac1da201cc87ac317b3f5839632813a177b7eb126a376e8d194eb2b6d64a7cf0d1292640d6c216cfd4e82f71f54b44e8a85e86c49
DIST obs-studio-30.1.2.tar.gz 16023853 BLAKE2B 8886b7c07240e5f83a37f046c0a68aad6432cfc7056959caa25c33dd9a830de44f27c821809116000f82939e1684222c1f8343bc83b362f0f3f3338923bbf196 SHA512 8d6102f3431c1c6c530f22b09612cb955c1877e5aba07aa0ba1d7b014471ebf9f0c1f8e898eb9373c64417455e75d8b9cf2ae4d9010b6a09330bac9f4e5aa01e
DIST obs-studio-30.2.0.tar.gz 16122672 BLAKE2B 7c91c1a3691035fb3503ac25a22bad416de506488cb9bf2f4567b6048f40f4bd93ca17a92e92c535c9ead6e70b7610200b335d203978b47feee7e642310d86d2 SHA512 546374e0efbe9f23ecc2580d9d118e930afd576471b8931baa00cd4fbafe6bcba5f3a4b15769338860472aad616ccd2bd952bdef416acd85e637bbefd8c9d581
+DIST obs-studio-30.2.1.tar.gz 16150144 BLAKE2B 4e50f90af43ba785619bb90a793bbfe63e5d914d046c4da109883a3f21f98f9a55efd6600374046623e87f47733167236a2390b0ba90d4e9c7c310e24a4d5792 SHA512 d8bbe71305d3aac3d64db1d3c9bee0a849bffcad4ba1019c9028d69511a4c2ed341b878a3fd5818abda707fcecb2bc90c3f35a453d84317c782d24c299a15a13
+DIST obs-websocket-0548c7798a323fe5296c150e13b898a5ee62fc1e.tar.gz 250611 BLAKE2B fefeab4a637528138152d6e1bd374d6e3f08e4a4e20698665adf4dd925e7831df5bdb1068e402def71b6e12e239db823dac2944e6549c00e914abca175d16fc0 SHA512 f24f520c4a08ad2b80d97c5dfba14421fcd48661d3b0fb694af5d11e063c711e7bf49a4baa95d9de8aff07b6fbbd4b4681ce10a4074506d98cf25c793cc2844d
DIST obs-websocket-d2d4bfb3e78cf2b02c8e2f5dda1d805eda8d8f32.tar.gz 246888 BLAKE2B 6e06c85ee47cb088a50b9d5eae9a8d68441989c1f76fdcd7806d59597062af5eb36e1722600b1a8d544e5f11533985b9bac243f7ca1002eed616e2f5c11a9a3f SHA512 31d5e1817aab341e55cbc5c759f28509f442695afb90d08a235c07359a65d2c2d3dfae2bf9c8a5086db310bb127dc59945ebe23fb219fda7408ee82d05b43938
DIST obs-websocket-f8bc7c4f593c7957ecdb45a24faaff3e95f24e8b.tar.gz 250582 BLAKE2B 13a93a00b8f7d3cc775641243ffb14b98490b2190386663a05621376dc9f70838005768039c236083e8767e1951378341a242df2fefdd74b7172090a4526a0d0 SHA512 38e02f346042d6c71bab6f0dc3c706953b996d0c8a92a3c0922b04955ea0152857005f924c5a0fccfaa64a6fef5b0dd597bce658c152be38081d1dc02ed2be19
EBUILD obs-studio-30.1.2.ebuild 6640 BLAKE2B 241a80f92daea4928520509f91381bccc022afe21aa41ad71f011bc44f90460363912801f02a6073b7453d8d75d224e619c854756fdf22567a6a2388ccb7e8a6 SHA512 d529ac6361cbb04317d204fae7d8aad901bb0a90c656acee0d5bf61c3e880b15090edbf5679c51b53482cdfa9e77488a8e62703627df4eef102f8bdb7e5dcf73
EBUILD obs-studio-30.2.0-r1.ebuild 6670 BLAKE2B 6b8704a9ef7239cc81c2cadf30a583d5e64b0bdf62c71a0012ce23df34473111c36932eb644bebda1a72166cea0efdbe74abe2a337a202dc6aa2cd5cf531e294 SHA512 d9196c6840df14e0193d8b2fa444b89d0533f8f53395905c2a1e7856a21e2047043216bb427318e34155009f4d5da6862c85b88e6ce5ad02f92885173179c41e
-EBUILD obs-studio-9999.ebuild 6670 BLAKE2B 6b8704a9ef7239cc81c2cadf30a583d5e64b0bdf62c71a0012ce23df34473111c36932eb644bebda1a72166cea0efdbe74abe2a337a202dc6aa2cd5cf531e294 SHA512 d9196c6840df14e0193d8b2fa444b89d0533f8f53395905c2a1e7856a21e2047043216bb427318e34155009f4d5da6862c85b88e6ce5ad02f92885173179c41e
+EBUILD obs-studio-30.2.1.ebuild 6670 BLAKE2B 559a7e73d73288d74ee5fa2924e72dfcbcd9f031419c679918f6b942a839a57d905749bcea05f379054f79fcf40604f08562b3388a982454a59f362fa5b2786c SHA512 9f75229467b2edfe4b141ad6d184c8ec3d279ee3e1623716fe64374ae81be689e1158aad4a3de3cb872029cc5240ed315fabbd9adace18b9d28bfce59e03e56d
+EBUILD obs-studio-9999.ebuild 6670 BLAKE2B 559a7e73d73288d74ee5fa2924e72dfcbcd9f031419c679918f6b942a839a57d905749bcea05f379054f79fcf40604f08562b3388a982454a59f362fa5b2786c SHA512 9f75229467b2edfe4b141ad6d184c8ec3d279ee3e1623716fe64374ae81be689e1158aad4a3de3cb872029cc5240ed315fabbd9adace18b9d28bfce59e03e56d
MISC metadata.xml 1470 BLAKE2B ce34216dcee69e90450a9cce810db3a494db1cafe6a8cd1029b0a749a7d69e0503fc5c5f6f298bebc2422e57f623ef63e17ac3814fd495e14c2b6e02bba1a9bd SHA512 0479dd3a4de659f8ce00b663129ca20ca31b837cd29bfca43bf7cca02d6762dabf0778c96c1b47d9814e3f6045c4793cc8f47f74d2a8940c8b2a1969ed69e895
diff --git a/media-video/obs-studio/obs-studio-30.2.1.ebuild b/media-video/obs-studio/obs-studio-30.2.1.ebuild
new file mode 100644
index 000000000000..d5800bb8e299
--- /dev/null
+++ b/media-video/obs-studio/obs-studio-30.2.1.ebuild
@@ -0,0 +1,271 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_REMOVE_MODULES_LIST=( FindFreetype )
+LUA_COMPAT=( luajit )
+PYTHON_COMPAT=( python3_{9..12} )
+
+inherit cmake flag-o-matic lua-single optfeature python-single-r1 xdg
+
+CEF_DIR="cef_binary_5060_linux_x86_64"
+CEF_REVISION="_v3"
+OBS_BROWSER_COMMIT="2a2879b5a69f4a99cd7459d8595af46cdb23115c"
+OBS_WEBSOCKET_COMMIT="0548c7798a323fe5296c150e13b898a5ee62fc1e"
+
+DESCRIPTION="Software for Recording and Streaming Live Video Content"
+HOMEPAGE="https://obsproject.com"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/obsproject/obs-studio.git"
+ EGIT_SUBMODULES=(
+ plugins/obs-browser
+ plugins/obs-websocket
+ )
+else
+ SRC_URI="
+ https://github.com/obsproject/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/obsproject/obs-browser/archive/${OBS_BROWSER_COMMIT}.tar.gz -> obs-browser-${OBS_BROWSER_COMMIT}.tar.gz
+ https://github.com/obsproject/obs-websocket/archive/${OBS_WEBSOCKET_COMMIT}.tar.gz -> obs-websocket-${OBS_WEBSOCKET_COMMIT}.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+fi
+
+SRC_URI+=" browser? ( https://cdn-fastly.obsproject.com/downloads/${CEF_DIR}${CEF_REVISION}.tar.xz )"
+
+LICENSE="Boost-1.0 GPL-2+ MIT Unlicense"
+SLOT="0"
+IUSE="
+ +alsa browser decklink fdk jack lua mpegts nvenc pipewire pulseaudio
+ python qsv speex +ssl test truetype v4l vlc wayland websocket
+"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ browser? ( || ( alsa pulseaudio ) )
+ lua? ( ${LUA_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+BDEPEND="
+ lua? ( dev-lang/swig )
+ python? ( dev-lang/swig )
+"
+# media-video/ffmpeg[opus] required due to bug 909566
+DEPEND="
+ dev-cpp/nlohmann_json
+ dev-libs/glib:2
+ dev-libs/jansson:=
+ dev-libs/uthash
+ dev-qt/qtbase:6[network,widgets,xml(+)]
+ dev-qt/qtsvg:6
+ media-libs/libglvnd[X]
+ media-libs/libva
+ media-libs/rnnoise
+ media-libs/x264:=
+ media-video/ffmpeg:=[nvenc?,opus,x264]
+ net-misc/curl
+ sys-apps/dbus
+ sys-apps/pciutils
+ sys-apps/util-linux
+ sys-libs/zlib:=
+ x11-libs/libX11
+ x11-libs/libxcb:=
+ x11-libs/libXcomposite
+ x11-libs/libXfixes
+ x11-libs/libxkbcommon
+ alsa? ( media-libs/alsa-lib )
+ browser? (
+ || (
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ ( app-accessibility/at-spi2-atk dev-libs/atk )
+ )
+ dev-libs/expat
+ dev-libs/glib
+ dev-libs/nspr
+ dev-libs/nss
+ dev-libs/wayland
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/mesa[gbm(+)]
+ net-print/cups
+ x11-libs/cairo
+ x11-libs/libdrm
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libxkbcommon
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXScrnSaver
+ x11-libs/libxshmfence
+ x11-libs/libXtst
+ x11-libs/pango
+ )
+ fdk? ( media-libs/fdk-aac:= )
+ jack? ( virtual/jack )
+ lua? ( ${LUA_DEPS} )
+ mpegts? (
+ net-libs/librist
+ net-libs/srt
+ )
+ pipewire? ( media-video/pipewire:= )
+ pulseaudio? ( media-libs/libpulse )
+ python? ( ${PYTHON_DEPS} )
+ qsv? ( media-libs/libvpl )
+ speex? ( media-libs/speexdsp )
+ ssl? ( net-libs/mbedtls:= )
+ test? ( dev-util/cmocka )
+ truetype? (
+ media-libs/fontconfig
+ media-libs/freetype
+ )
+ v4l? (
+ media-libs/libv4l
+ virtual/udev
+ )
+ vlc? ( media-video/vlc:= )
+ wayland? (
+ dev-libs/wayland
+ x11-libs/libxkbcommon
+ )
+ websocket? (
+ dev-cpp/asio
+ dev-cpp/websocketpp
+ dev-libs/qr-code-generator
+ )
+"
+RDEPEND="${DEPEND}"
+
+QA_PREBUILT="
+ usr/lib*/obs-plugins/chrome-sandbox
+ usr/lib*/obs-plugins/libcef.so
+ usr/lib*/obs-plugins/libEGL.so
+ usr/lib*/obs-plugins/libGLESv2.so
+ usr/lib*/obs-plugins/libvk_swiftshader.so
+ usr/lib*/obs-plugins/libvulkan.so.1
+ usr/lib*/obs-plugins/swiftshader/libEGL.so
+ usr/lib*/obs-plugins/swiftshader/libGLESv2.so
+"
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ use python && python-single-r1_pkg_setup
+}
+
+src_unpack() {
+ default
+
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ else
+ rm -d ${P}/plugins/obs-browser || die
+ mv obs-browser-${OBS_BROWSER_COMMIT} ${P}/plugins/obs-browser || die
+
+ rm -d ${P}/plugins/obs-websocket || die
+ mv obs-websocket-${OBS_WEBSOCKET_COMMIT} ${P}/plugins/obs-websocket || die
+ fi
+}
+
+src_prepare() {
+ default
+
+ sed -i '/-Werror$/d' "${WORKDIR}"/${P}/cmake/Modules/CompilerConfig.cmake || die
+
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/867250
+ # https://github.com/obsproject/obs-studio/issues/8988
+ use wayland && filter-lto
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ $(usev browser -DCEF_ROOT_DIR=../${CEF_DIR})
+ -DCALM_DEPRECATION=ON
+ -DCCACHE_SUPPORT=OFF
+ -DENABLE_ALSA=$(usex alsa)
+ -DENABLE_AJA=OFF
+ -DENABLE_BROWSER=$(usex browser)
+ -DENABLE_DECKLINK=$(usex decklink)
+ -DENABLE_FREETYPE=$(usex truetype)
+ -DENABLE_JACK=$(usex jack)
+ -DENABLE_LIBFDK=$(usex fdk)
+ -DENABLE_NATIVE_NVENC=$(usex nvenc)
+ -DENABLE_NEW_MPEGTS_OUTPUT=$(usex mpegts)
+ -DENABLE_PIPEWIRE=$(usex pipewire)
+ -DENABLE_PULSEAUDIO=$(usex pulseaudio)
+ -DENABLE_QSV11=$(usex qsv)
+ -DENABLE_RNNOISE=ON
+ -DENABLE_RTMPS=$(usex ssl ON OFF) # Needed for bug 880861
+ -DENABLE_SPEEXDSP=$(usex speex)
+ -DENABLE_UNIT_TESTS=$(usex test)
+ -DENABLE_V4L2=$(usex v4l)
+ -DENABLE_VLC=$(usex vlc)
+ -DENABLE_VST=ON
+ -DENABLE_WAYLAND=$(usex wayland)
+ -DENABLE_WEBRTC=OFF # Requires libdatachannel.
+ -DENABLE_WEBSOCKET=$(usex websocket)
+ -DOBS_MULTIARCH_SUFFIX=${libdir#lib}
+ -DUNIX_STRUCTURE=1
+ )
+
+ if [[ ${PV} != 9999 ]]; then
+ mycmakeargs+=(
+ -DOBS_VERSION_OVERRIDE=${PV}
+ )
+ fi
+
+ if use lua || use python; then
+ mycmakeargs+=(
+ -DENABLE_SCRIPTING_LUA=$(usex lua)
+ -DENABLE_SCRIPTING_PYTHON=$(usex python)
+ -DENABLE_SCRIPTING=ON
+ )
+ else
+ mycmakeargs+=( -DENABLE_SCRIPTING=OFF )
+ fi
+
+ if use browser && use ssl; then
+ mycmakeargs+=( -DENABLE_WHATSNEW=ON )
+ else
+ mycmakeargs+=( -DENABLE_WHATSNEW=OFF )
+ fi
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ # external plugins may need some things not installed by default, install them here
+ insinto /usr/include/obs/UI/obs-frontend-api
+ doins UI/obs-frontend-api/obs-frontend-api.h
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use alsa && ! use pulseaudio; then
+ elog
+ elog "For the audio capture features to be available,"
+ elog "at least one of the 'alsa' or 'pulseaudio' USE-flags needs to"
+ elog "be enabled."
+ elog
+ fi
+
+ if use v4l && has_version media-video/v4l2loopback; then
+ elog
+ elog "Depending on system configuration, the v4l2loopback kernel module"
+ elog "may need to be loaded manually, and needs to be re-built after"
+ elog "kernel changes."
+ elog
+ fi
+
+ optfeature "VA-API hardware encoding" media-video/ffmpeg[vaapi]
+ optfeature "virtual camera support" media-video/v4l2loopback
+}
diff --git a/media-video/obs-studio/obs-studio-9999.ebuild b/media-video/obs-studio/obs-studio-9999.ebuild
index c2bb6f445487..d5800bb8e299 100644
--- a/media-video/obs-studio/obs-studio-9999.ebuild
+++ b/media-video/obs-studio/obs-studio-9999.ebuild
@@ -11,8 +11,8 @@ inherit cmake flag-o-matic lua-single optfeature python-single-r1 xdg
CEF_DIR="cef_binary_5060_linux_x86_64"
CEF_REVISION="_v3"
-OBS_BROWSER_COMMIT="c81851a1d7696c2d7ba319122eec387c1568ad44"
-OBS_WEBSOCKET_COMMIT="f8bc7c4f593c7957ecdb45a24faaff3e95f24e8b"
+OBS_BROWSER_COMMIT="2a2879b5a69f4a99cd7459d8595af46cdb23115c"
+OBS_WEBSOCKET_COMMIT="0548c7798a323fe5296c150e13b898a5ee62fc1e"
DESCRIPTION="Software for Recording and Streaming Live Video Content"
HOMEPAGE="https://obsproject.com"
diff --git a/media-video/vdr/Manifest b/media-video/vdr/Manifest
index e59fd70f463e..ba0a7e85fbf9 100644
--- a/media-video/vdr/Manifest
+++ b/media-video/vdr/Manifest
@@ -21,8 +21,11 @@ DIST vdr-2.6.6.tbz2 946758 BLAKE2B 22ad6d0d4048347ff16a48ad137900f32dda7adfc7fb5
DIST vdr-2.6.6_ttxtsubs_v2.patch 40549 BLAKE2B 525c05b72fa957372cc1ef91428428f664f42d92eebc06fd0b179afbe99e4ecc4919c69cef000cc15c8340c9a2506d38cbf755fd6665cde1708ce17d4320a35f SHA512 590c43e63818de8be9637cb3b32bf3399b82a181ca151d67e2341232669619020ab78ba9934da3a9c58cdb3bac56fc2a332a5838a92ee0851e42c3707726eb49
DIST vdr-2.6.7.tbz2 948424 BLAKE2B 61a8e80feed5a90567093ae2a89e570fb2cba51e7ce8cb47cf5748af9141b0f41deb759c35e8e0a6e0d5e1bb2106834a84d2932b6b0a97f9766d221a60486a15 SHA512 e0d63d0414288bb7c09155f0014ba492a87e46650aaa20cdae098365e227075ae5f5d98f69750ac925e96e5054f7a8a41c59816038ffa0a0bc94b55d4e924f83
DIST vdr-2.6.7_ttxtsubs_v2.patch 40549 BLAKE2B 525c05b72fa957372cc1ef91428428f664f42d92eebc06fd0b179afbe99e4ecc4919c69cef000cc15c8340c9a2506d38cbf755fd6665cde1708ce17d4320a35f SHA512 590c43e63818de8be9637cb3b32bf3399b82a181ca151d67e2341232669619020ab78ba9934da3a9c58cdb3bac56fc2a332a5838a92ee0851e42c3707726eb49
+DIST vdr-2.6.9.tbz2 949889 BLAKE2B 25416907562b061a38fbe29478010d1d790695f1eab2ad8e7d58548986a84c494232a914f58bbfc00e1d99fc5dd915fa4f715706630c3e3f1d2708c86c548e26 SHA512 a28cd01be43825d8f3d1af076dcb3193fa2f66027d419e4da4fcbac094a966877f52133045488b2e4cd962a2828875f9bd6c582379c8b4fb5db82a737f128aee
+DIST vdr-2.6.9_ttxtsubs_v2.patch 40549 BLAKE2B 525c05b72fa957372cc1ef91428428f664f42d92eebc06fd0b179afbe99e4ecc4919c69cef000cc15c8340c9a2506d38cbf755fd6665cde1708ce17d4320a35f SHA512 590c43e63818de8be9637cb3b32bf3399b82a181ca151d67e2341232669619020ab78ba9934da3a9c58cdb3bac56fc2a332a5838a92ee0851e42c3707726eb49
DIST vdr-menuorg-2.3.x.diff 8852 BLAKE2B 19b98d51a69f52ecda5500f51ef1741a8397953b20c490055eab0393da5f56ff9598c3e1e8ed8b915f5877e08deeb9ba7a9ef8d9356ad3a1fa12e3778869174a SHA512 7b41c3a529858a4953a57f21619ea01864e140cc1755ee0b03caf1c4de41e80c3f805653502bc8d39d02a4dfcddf720acd4a8c8bd91f4871eef31d86e8e915c0
EBUILD vdr-2.2.0-r7.ebuild 8236 BLAKE2B 4d528752b314d7400fbdf4bbfc92926f8a3b442794150865c7680a7289ee1e139b1ce1ee7a32f618bd8fcb20b2e8bb26a69252f521d267053bf39d5f7633975e SHA512 3dc086dccd1b3dd6b4b572aabbdce6268a16ec6492c2410f12d47af3b6beef2a0e7e9c0fb2525d9cdf1c107848643fa98547cdc195e77c6524f7d5b2151262ef
EBUILD vdr-2.6.6.ebuild 5514 BLAKE2B 100848bb4fa40be9ba072fbc18f2eee95afb088510a502347d101abdbcbb93df63082244ce6c60f34e4a3d7c89b013fd28ce5bb51bdc3b28e8ed5094d65bab9d SHA512 f0a2d067dac9fbac7a16813c6dca29d3a2d24d021e9d36e56d69f0fdc215aa0c12c022a0bbf6c5a536fbfc11eb3dd49b4ad0315a598d8d8ffc6e3449192715bb
EBUILD vdr-2.6.7.ebuild 5514 BLAKE2B d6045972603bedd241f2ee6e80de2f2f26d6eb7f3e3a7749aeb508c925cace71693a15f79468d365ffdb1e4518455bac896a3c525efe7a32f2b5810aa9af89b5 SHA512 3f6b081032d03cebf0813d4de8aad0ff330d4b534982607d9eef0b0d3e963f8584dbd33df06540e43cc4e6df76d9bbe9f2792475a0a8aa2f807e81d0db297466
+EBUILD vdr-2.6.9.ebuild 5521 BLAKE2B d209891bd823f6047e8c188614ee3a6c91d417f4b111e3f64dcd3d0c575d2b2c9458da1375da048188d95b56523002fe704a50b260eb9648ca2f97f0f8a807db SHA512 994c7396e34bd76689ceafc862053135315f79213e0be910c4226200702a62f638352168f4fe480a190663ca9f83b01ed5b1cc939e5e47e414942e1df6fcc8f8
MISC metadata.xml 1780 BLAKE2B 179a1948c96a7b237b500a08861799c25ae084d5b9cd6702921acd04cfbf0111bbb11170e4d14bf31ad7355ef0899f285857350131badc411548a3611593ecb6 SHA512 6c8c2073c55f327d4dfe52cb22ae1622d936c43503caf2964594656e1281b07110187c139216a73ed10abd625b43509ecdfe41edb7439950653e038991abfb31
diff --git a/media-video/vdr/vdr-2.6.9.ebuild b/media-video/vdr/vdr-2.6.9.ebuild
new file mode 100644
index 000000000000..b6cea5c029fe
--- /dev/null
+++ b/media-video/vdr/vdr-2.6.9.ebuild
@@ -0,0 +1,199 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic strip-linguas toolchain-funcs user-info
+
+DESCRIPTION="Video Disk Recorder - turns a pc into a powerful set top box for DVB"
+HOMEPAGE="http://www.tvdr.de/"
+SRC_URI="http://git.tvdr.de/?p=vdr.git;a=snapshot;h=refs/tags/${PV};sf=tbz2 -> ${P}.tbz2
+ menuorg? ( https://github.com/vdr-projects/vdr-plugin-menuorg/raw/master/vdr-patch/vdr-menuorg-2.3.x.diff )
+ ttxtsubs? ( https://md11.it.cx/download/${PN}/${P}_ttxtsubs_v2.patch )"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE="bidi debug demoplugins html keyboard mainmenuhooks menuorg naludump permashift pinplugin systemd ttxtsubs verbose"
+
+COMMON_DEPEND="
+ acct-group/vdr
+ acct-user/vdr
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/libjpeg-turbo:=
+ sys-libs/libcap"
+DEPEND="${COMMON_DEPEND}
+ sys-kernel/linux-headers"
+RDEPEND="${COMMON_DEPEND}
+ dev-lang/perl
+ media-tv/gentoo-vdr-scripts
+ media-fonts/corefonts
+ bidi? ( dev-libs/fribidi )
+ systemd? ( sys-apps/systemd )"
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+REQUIRED_USE="permashift? ( !naludump !pinplugin )"
+
+CONF_DIR="/etc/vdr"
+CAP_FILE="${S}/capabilities.sh"
+CAPS="# Capabilities of the vdr-executable for use by startscript etc."
+
+pkg_setup() {
+ use debug && append-flags -g
+
+ PLUGIN_LIBDIR="/usr/$(get_libdir)/vdr/plugins"
+ VIDEO_DIR="$(egethome vdr)/video"
+
+ tc-export CC CXX AR
+}
+
+add_cap() {
+ local arg
+ for arg; do
+ CAPS="${CAPS}\n${arg}=1"
+ done
+}
+
+lang_po() {
+ LING_PO=$( ls "${S}"/po | sed -e "s:.po::g" | cut -d_ -f1 | tr \\\012 ' ' )
+}
+
+src_prepare() {
+ # apply maintenance-patches
+ ebegin "Changing paths for gentoo"
+
+ local DVBDIR=/usr/include
+ local i
+ for i in ${DVB_HEADER_PATH} /usr/include/v4l-dvb-hg /usr/include; do
+ [[ -d ${i} ]] || continue
+ if [[ -f ${i}/linux/dvb/dmx.h ]]; then
+ einfo "Found DVB header files in ${i}"
+ DVBDIR=${i}
+ break
+ fi
+ done
+
+ # checking for s2api headers
+ local api_version
+ api_version=$(awk -F' ' '/define DVB_API_VERSION / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
+ api_version=${api_version}*$(awk -F' ' '/define DVB_API_VERSION_MINOR / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
+
+ if [[ ${api_version:-0} -lt 5*3 ]]; then
+ eerror "DVB header files do not contain s2api support or too old for ${P}"
+ eerror "You cannot compile VDR against old dvb-header"
+ die "DVB headers too old"
+ fi
+
+ cat > Make.config <<-EOT || die "cannot write to Make.config"
+ #
+ # Generated by ebuild ${PF}
+ #
+ PREFIX = /usr
+ DVBDIR = ${DVBDIR}
+ PLUGINLIBDIR = ${PLUGIN_LIBDIR}
+ CONFDIR = ${CONF_DIR}
+ ARGSDIR = \$(CONFDIR)/conf.d
+ VIDEODIR = ${VIDEO_DIR}
+ LOCDIR = \$(PREFIX)/share/locale
+ INCDIR = \$(PREFIX)/include
+
+ DEFINES += -DCONFDIR=\"\$(CONFDIR)\"
+ INCLUDES += -I\$(DVBDIR)
+
+ # >=vdr-1.7.36-r1; parameter only used for compiletime on vdr
+ # PLUGINLIBDIR (plugin Makefile old) = LIBDIR (plugin Makefile new)
+ LIBDIR = ${PLUGIN_LIBDIR}
+ PCDIR = /usr/$(get_libdir)/pkgconfig
+
+ EOT
+ eend 0
+
+ eapply "${FILESDIR}/vdr-2.6.6_gentoo.patch"
+ use demoplugins || eapply "${FILESDIR}/vdr-2.4_remove_plugins.patch"
+ eapply "${FILESDIR}/${PN}-2.4.6_makefile-variables.patch"
+
+ # fix clang/LLVM compile
+ eapply "${FILESDIR}/${PN}-2.4.6_clang.patch"
+
+ use naludump && eapply "${FILESDIR}/${PN}-2.6.1_naludump.patch"
+ use permashift && eapply "${FILESDIR}/${PN}-2.6.1-patch-for-permashift.patch"
+ use pinplugin && eapply "${FILESDIR}/${PN}-2.6.7_pinplugin.patch"
+ use ttxtsubs && eapply "${DISTDIR}/${P}_ttxtsubs_v2.patch"
+ use menuorg && eapply "${DISTDIR}/vdr-menuorg-2.3.x.diff"
+ use mainmenuhooks && eapply "${FILESDIR}/${PN}-2.4.1_mainmenuhook-1.0.1.patch"
+
+ add_cap CAP_UTF8 \
+ CAP_IRCTRL_RUNTIME_PARAM \
+ CAP_VFAT_RUNTIME_PARAM \
+ CAP_CHUID \
+ CAP_SHUTDOWN_AUTO_RETRY
+
+ echo -e ${CAPS} > "${CAP_FILE}" || die "cannot write to CAP_FILE"
+
+ # LINGUAS support
+ einfo "\n \t VDR supports the LINGUAS values"
+
+ lang_po
+
+ einfo "\t Please set one of this values in your sytem make.conf"
+ einfo "\t LINGUAS=\"${LING_PO}\"\n"
+
+ if [[ -z ${LINGUAS} ]]; then
+ einfo "\n \t No values in LINGUAS="
+ einfo "\t You will get only english text on OSD \n"
+ fi
+
+ strip-linguas ${LING_PO} en
+
+ default
+}
+
+src_configure() {
+ # support languages, written from right to left
+ export "BIDI=$(usex bidi 1 0)"
+ # systemd notification support
+ export "SDNOTIFY=$(usex systemd 1 0)"
+ # with/without keyboard
+ export "USE_KBD=$(usex keyboard 1 0)"
+ # detailed compile output for debug
+ export "VERBOSE=$(usex verbose 1 0)"
+}
+
+src_install() {
+ # trick the makefile to not create a VIDEODIR by supplying it with an
+ # existing directory
+ emake VIDEODIR="/" DESTDIR="${ED}" install
+
+ keepdir "${PLUGIN_LIBDIR}"
+
+ # backup for plugins they don't be able to create this dir
+ keepdir "${CONF_DIR}/plugins"
+
+ if use html; then
+ local HTML_DOCS=( *.html )
+ fi
+ local DOCS=( MANUAL INSTALL README* HISTORY CONTRIBUTORS UPDATE-2* )
+ einstalldocs
+
+ insinto /usr/share/vdr
+ doins "${CAP_FILE}"
+
+ fowners vdr:vdr "${CONF_DIR}" -R
+}
+
+pkg_postinst() {
+ elog "Please read the /usr/share/doc/${PF}/UPDATE-2.4"
+ elog "for major changes in this version\n"
+
+ elog "It is a good idea to run vdrplugin-rebuild now.\n"
+
+ elog "To get nice symbols in OSD we recommend to install"
+ elog "\t1. emerge media-fonts/vdrsymbols-ttf"
+ elog "\t2. select font VDRSymbolsSans in Setup\n"
+
+ elog "To get an idea how to proceed now, have a look at our vdr-guide:"
+ elog "\thttps://wiki.gentoo.org/wiki/VDR"
+}
diff --git a/media-video/vdr2jpeg/Manifest b/media-video/vdr2jpeg/Manifest
deleted file mode 100644
index 405b5fba09ca..000000000000
--- a/media-video/vdr2jpeg/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST vdr2jpeg-0.2.0.tgz 20027 BLAKE2B c79a84c6e7010eae762fb31bdd9771dcdae1e78761afd07c536a55e834b0271fb55dcd4bb49f87a2d28695496d37f94c90350dd70b50229bb6248026422faee0 SHA512 65f3e0acb2ecd3a5341e527c45fafd454266841f1369c89b10750fce86f2326fba76329abd17a05d67aea3b43a7b1299a49cfa9eee9a784bb99c940253ca5952
-EBUILD vdr2jpeg-0.2.0-r5.ebuild 953 BLAKE2B 5f62adf98f9c41c3b2e523573f1715e3a602d51e851a0374dc8d17782d6596c9b05de9afb237df44f36c07562744289f8521d8d4ecc6d70dd09e7a8019f70b9e SHA512 8dda6d44454acc0195818a608545966eed2e682f46007125f6455bf63ab6786de5a35bdb01cee7948e0f5ce9430f2e4773b68835c7f41d7981888af7cecc5f6a
-MISC metadata.xml 260 BLAKE2B ee10cc021112a6e67381cc76d642cabfe9876b9e2da97243070551179a9f8eb2bcb67d8bf96822d40239c350808a8a129882914f1ce9b5f924c99d16ba1300a6 SHA512 0bc4c52638ab97c96d6e1ea6b8199201567dbdac880349e8ab501de49bbfba142e4f2f60baac9c0bc48df6f5d170d81d641277cc01762d720b720764bb162c1a
diff --git a/media-video/vdr2jpeg/metadata.xml b/media-video/vdr2jpeg/metadata.xml
deleted file mode 100644
index a2dfee954457..000000000000
--- a/media-video/vdr2jpeg/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>media-video@gentoo.org</email>
- <name>Gentoo Video project</name>
- </maintainer>
-</pkgmetadata>
diff --git a/media-video/vdr2jpeg/vdr2jpeg-0.2.0-r5.ebuild b/media-video/vdr2jpeg/vdr2jpeg-0.2.0-r5.ebuild
deleted file mode 100644
index 64c8bb388969..000000000000
--- a/media-video/vdr2jpeg/vdr2jpeg-0.2.0-r5.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-VERSION="1911" # every bump, new version
-
-RESTRICT="strip"
-
-DESCRIPTION="Addon needed for XXV - WWW Admin for the Video Disk Recorder"
-HOMEPAGE="https://projects.vdr-developer.org/projects/xxv"
-SRC_URI="mirror://vdr-developerorg/${VERSION}/${P}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="media-video/ffmpeg:0"
-DEPEND="${RDEPEND}"
-
-BDEPEND="virtual/pkgconfig"
-
-# bug 731212
-QA_FLAGS_IGNORED="usr/bin/vdr2jpeg"
-
-DOCS=( README LIESMICH )
-
-src_prepare() {
- sed -i Makefile \
- -e "s:usr/local:usr:" \
- -e "s:-o vdr2jpeg:\$(LDFLAGS) -shared -o vdr2jpeg:" || die
-
- # bug 727640, 727804 do not call strip directly
- export STRIP="$(tc-getSTRIP)"
- sed -i Makefile -e "s:-s vdr2jpeg:vdr2jpeg:" || die
-
- default
-}
-
-src_install() {
- emake DESTDIR="${D}" install FFMPEG_BIN=/usr/bin/ffmpeg
-
- einstalldocs
-}
diff --git a/media-video/yle-dl/Manifest b/media-video/yle-dl/Manifest
index cd3e97caf8b1..9dcde005c13f 100644
--- a/media-video/yle-dl/Manifest
+++ b/media-video/yle-dl/Manifest
@@ -1,5 +1,3 @@
-DIST yle-dl-20240429.tar.gz 78464 BLAKE2B d42eaf30bb93125c00007072c1c96fbadccc755bbac3bd11599b58a7b5aad2b1fc0ab06aadfb83a3c66155f7fe1d271f54ad929ea3047758b8719987b74800fa SHA512 73a0eedbfafe97ab9c9857c088d309462e70f916de78be0d2b5399cec8ad50bee5701f0748d07e92dc2c3dca2a73273f367948dd7dd571dd022bce68bcc5f010
DIST yle-dl-20240706.tar.gz 78964 BLAKE2B 5ed0a9ba391853566c3abbbd88d6fcce33c7f7e88183e89f3c272f6cae6c519ff272f648934e8fa58e0a7d59f87677189e14f1532cbadbbd6f73312810b4994e SHA512 c54a99bfa1ff71296e4ae40cb62408338942144e60f8df25fa8e7a9d53ff8d3c61e0b3c85e8404c716a18f54986e242b72dd4424c65ffe24f2ea4b128f7cf27a
-EBUILD yle-dl-20240429.ebuild 1645 BLAKE2B dfaf08491d68989ca75e38acb9affe10072e6a63ef1ff220223a9bf3cbf8c72bb0b21bb30cf7f93927d1cb81774f09c7501267f7f0f229eb331bb32268c575d3 SHA512 be707b7dc0923fe99fbe35de6f1fdec25697691b0e9ac280cc4eb0ec38283f57ad57e423209ef641ddb22df6e3d1d8b453d4acfbdce16bbed068c6ce03bf2fcc
EBUILD yle-dl-20240706.ebuild 1645 BLAKE2B dfaf08491d68989ca75e38acb9affe10072e6a63ef1ff220223a9bf3cbf8c72bb0b21bb30cf7f93927d1cb81774f09c7501267f7f0f229eb331bb32268c575d3 SHA512 be707b7dc0923fe99fbe35de6f1fdec25697691b0e9ac280cc4eb0ec38283f57ad57e423209ef641ddb22df6e3d1d8b453d4acfbdce16bbed068c6ce03bf2fcc
MISC metadata.xml 363 BLAKE2B b27761ed00c4849b5e9a0c51fdf699ab7e1589acc017be236339e8e5044fbe05ad62ad8c7104f6e9e43de0779ad6f9f3fe4144fc57376d87d0304f7c7c3fe7cf SHA512 1b061009279fcf8271bec4958ddb93d93e1455686e42d623a64ef51a65e4f852d23873c59d5e547bbf66d6c596f542fd29f78de5c7b33f484918b01beb76dc92
diff --git a/media-video/yle-dl/yle-dl-20240429.ebuild b/media-video/yle-dl/yle-dl-20240429.ebuild
deleted file mode 100644
index d879b645e845..000000000000
--- a/media-video/yle-dl/yle-dl-20240429.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_USE_PEP517=flit
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Download media files from Yle Areena"
-HOMEPAGE="https://aajanki.github.io/yle-dl/ https://github.com/aajanki/yle-dl"
-SRC_URI="https://github.com/aajanki/yle-dl/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-IUSE="test"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-# Requires an active internet connection during tests,
-PROPERTIES="test_network"
-RESTRICT="test"
-
-RDEPEND="media-video/ffmpeg
- net-misc/wget
- >=dev-python/attrs-18.1.0[${PYTHON_USEDEP}]
- >=dev-python/ConfigArgParse-0.13.0[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/progress[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]"
-BDEPEND="test? (
- ${RDEPEND}
- media-video/ffmpeg[gnutls]
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests pytest
-
-DOCS=( COPYING ChangeLog README.fi.md README.sv.md README.md yledl.conf.sample )
-
-src_install() {
- docompress -x "/usr/share/doc/${PF}/yledl.conf.sample"
- distutils-r1_src_install
-}
-
-pkg_postinst() {
- elog "Sample configuration file has been installed to "
- elog " /usr/share/doc/yle-dl-${PVR}/yledl.conf.sample"
- elog
- optfeature "automatically detect filesystems that require restricted character sets" dev-python/psutil
- optfeature "store metadata as extended file attributes" dev-python/pyxattr
- optfeature "youtube-dl download engine" net-misc/yt-dlp
-}