diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-11-09 16:32:24 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-11-09 16:32:24 +0000 |
commit | 3f5a5d10d87cd7f434c3a4207fc0a7ffc25d9123 (patch) | |
tree | 3d2de0ea329bfae5fb1acd465386966d5ee95422 /media-video/mpv | |
parent | 91b873ea3e20149dbb554dc214611efa4627962a (diff) |
gentoo auto-resync : 09:11:2023 - 16:32:23
Diffstat (limited to 'media-video/mpv')
-rw-r--r-- | media-video/mpv/Manifest | 4 | ||||
-rw-r--r-- | media-video/mpv/files/mpv-0.35.1-pipewire-0.3.75.patch | 86 | ||||
-rw-r--r-- | media-video/mpv/files/mpv-0.35.1-yt-dlp-edl-fragments.patch | 55 | ||||
-rw-r--r-- | media-video/mpv/mpv-0.35.1-r2.ebuild | 304 |
4 files changed, 0 insertions, 449 deletions
diff --git a/media-video/mpv/Manifest b/media-video/mpv/Manifest index e0dc92d3fc28..148bec35d182 100644 --- a/media-video/mpv/Manifest +++ b/media-video/mpv/Manifest @@ -1,10 +1,6 @@ -AUX mpv-0.35.1-pipewire-0.3.75.patch 3024 BLAKE2B 5cbd566d7f63f660574765a401fba6bb5853e17e2faebab7ff7bd667595feac7b92eaa7f78199aa1dec91c8d894facd3f80815d3ac573ab741d974b5d86bf97a SHA512 b181304528836ce6cd5ee1d660bfb11cabc7e4c541c75970c9b0e8d6554016a5d9af4d8ae228ba4dc1deb01b72ae52b8a810db1d6c17048516a693230c904730 -AUX mpv-0.35.1-yt-dlp-edl-fragments.patch 2446 BLAKE2B f43d78be7d9914abf87c3c34f99c8cb84fd463dac7b4f4cfa96268d4351006580454a2c609a655d3d036d4a72c534205d226fd4ecf8334c9a0ff016b7eecc1c0 SHA512 0cd0415dcd06f4732e87ca52f9d43ec1cbef7fab531d4f3ba7398f7a80718dc5e0b373850c5324fe9a151c3edb31a4a624854c2e09b19ab91a3c655e84261866 AUX mpv-0.36.0-sub-match-audio.patch 1621 BLAKE2B aa774960703d3b5f2f5a8c3dc327bba0fa8865fdc676c68fdaf79cf46f7209fd629db5e523f4f845ce0aaf17d0a8c910c6c1c2c8fabe98340e5c61a31d8c4d36 SHA512 c260ad68a7e003f43b0b4525fb7eff5f5784851beba303a934b90b0e69476c5912cc75217a78820884d1fdcc1e7431574bdb6b55cb9e434735cdfbdeadfb3a0e AUX mpv-0.36.0-tests-odr.patch 1118 BLAKE2B 8a87385922af6ee08adc3972ce2271f1f700842dba8415ac27f04ba7147b070b665279c7b4d50e06b85d258a9ab47db23a82a9f9a4db444efb97a677ef2f6317 SHA512 8ccec2ce0108468c8fc048d3e892b1c8f177f434809d899f38a00526515b1453e0cb5cd2bfd5843568a025fda314fd172c94c548c8e144514353904066b917f3 -DIST mpv-0.35.1.tar.gz 3367913 BLAKE2B 706a2031a2ca973eb3a092ec7f62ba40ca4dfd78e3ffe5d6e432486b0018852b034152a21805be594054178ccb17856dafe2b860cddcc22d27df895d163871de SHA512 42f3564a9ed4d972d14b2c697b0163f06a8bb68a0606a86c34935181247c783e3cb62286b445799998def0919fb13fce8b8f6453f82652d5bfaea5929119127a DIST mpv-0.36.0.tar.gz 3409178 BLAKE2B 7260c265f02918d4caf72d8d8ecc9d4ab9783d66d675bd683a2f9c228404ad978c6fe0aa50f486b5257740176bc26f8abde7eff20d89019d5f701ec78c7743e1 SHA512 51f455a425ea5aac47acb3582d0f958a34248a2290a8d6887d22bcb9385fe8d1ab5d7f09d5408cfecfb73c1ec85d1b8ec8958e45a4941d3f711a2e580187472f -EBUILD mpv-0.35.1-r2.ebuild 7652 BLAKE2B 7042109178a580d3d88bf7781cc7d1e8c503ba404eaff4512061a1d6526aa4aedb33537e103dedf5d2beec61fd4978b1762dd6de8950b1a31effadd601e5a905 SHA512 594c7b3a433ff96ec7ea84633e5660580fcf5b79d1c3021714d1b79782065e391895762795ccd796c3ad265b4c087ebc75582b07a8a8d6b5b7a66ff3bd9d93bb EBUILD mpv-0.36.0-r1.ebuild 7525 BLAKE2B d42bce2d6ccfc7a856f1f58fead84fb73dbeaffbee1136ccfdf817bfc2c265eabc6b5847f556887dd22674c726467d8d8d991da44733721abaa552827ec2743a SHA512 efeb54cab013523c250ce5531d7858e4fab3b7999e63508aa66c126e79b51a74db43afa6971035029d32effb7aa363ba3423993cd513d1de1272c5d16c5d780b EBUILD mpv-9999.ebuild 7055 BLAKE2B 9aae0ce752991cdc1f616a06665392dcadedb27eefac6d6480a987c4fc37eeafc34e52d4c6f9b8de1e8ef636a421e6fc44c801b8b1e8a83ee4f1c87e08d9f062 SHA512 e8c8a207278cf15b8328fb2c1a7a103bbe6db55adc98eef4fa012ca212b5771ea81b2145c97939832afdfb6cbd343a8afa3118efe9a6e5cd99dffc7d6c8b1aab MISC metadata.xml 2324 BLAKE2B 6fe57270fef9275f47b0d7f282fbf4ff5c4a76c74e43820a8e0a4d56348eb72dc89dfdb06a9ff9a2b6f73d35102f861200d6c8c6f4dc41cfb4e42ff69d70da8a SHA512 0418e3315b4ded29714099d80075f61f6d1b38d9109bbb3bc372abbaceb14f705d5798eac2c14ef0fd0e1c557785291a4acb5e773dffb46f0b7f7962bf38d041 diff --git a/media-video/mpv/files/mpv-0.35.1-pipewire-0.3.75.patch b/media-video/mpv/files/mpv-0.35.1-pipewire-0.3.75.patch deleted file mode 100644 index 41392ab0839c..000000000000 --- a/media-video/mpv/files/mpv-0.35.1-pipewire-0.3.75.patch +++ /dev/null @@ -1,86 +0,0 @@ -Issue point that pipewire itself may apply a workaround for mpv, -so this may or may not be necessary for future pipewire versions. -Albeit the actual issue seems to be in mpv, so let's backport the -fix which appears to work properly for old 0.35.1 as well. - -Note that (unrelated to this issue), 0.35.1 is still a bit flaky -with pipewire. If have other issues with ao=pipewire you may want -to consider mpv-9999 until next release, or use ao=pulse/alsa/jack -to use through pipewire meanwhile. - -https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3374 -https://github.com/mpv-player/mpv/issues/11995 - -https://github.com/mpv-player/mpv/pull/11996 -https://github.com/mpv-player/mpv/commit/007019a303a09b098a387f607ae149705b57dc1c -From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= <thomas@t-8ch.de> -Date: Sun, 23 Jul 2023 09:10:55 +0200 -Subject: [PATCH] ao_pipewire: for_each_sink: properly check termination - condition - -Doing a pw_thread_loop_wait() without checking conditions is invalid. -The thread loop could be signalled for other reasons and in this case -the wait needs to continue. - -PipeWire added such additional signaling in -commit 33be898130f0 ("thread-loop: signal when started"). - -This meant that for_each_sink would return before the callbacks have -fired and session_has_sink() would incorrectly return "false", failing -the initialization of ao_pipewire. - -Fixes #11995 ---- a/audio/out/ao_pipewire.c -+++ b/audio/out/ao_pipewire.c -@@ -337,6 +337,11 @@ - } - - -+struct for_each_done_ctx { -+ struct pw_thread_loop *loop; -+ bool done; -+}; -+ - static const struct pw_registry_events for_each_sink_registry_events = { - .version = PW_VERSION_REGISTRY_EVENTS, - .global = for_each_sink_registry_event_global, -@@ -344,8 +349,9 @@ - - static void for_each_sink_done(void *data, uint32_t it, int seq) - { -- struct pw_thread_loop *loop = data; -- pw_thread_loop_signal(loop, false); -+ struct for_each_done_ctx *ctx = data; -+ ctx->done = true; -+ pw_thread_loop_signal(ctx->loop, false); - } - - static const struct pw_core_events for_each_sink_core_events = { -@@ -359,12 +365,16 @@ - struct priv *priv = ao->priv; - struct pw_registry *registry; - struct spa_hook core_listener; -+ struct for_each_done_ctx done_ctx = { -+ .loop = priv->loop, -+ .done = false, -+ }; - int ret = -1; - - pw_thread_loop_lock(priv->loop); - - spa_zero(core_listener); -- if (pw_core_add_listener(priv->core, &core_listener, &for_each_sink_core_events, priv->loop) < 0) -+ if (pw_core_add_listener(priv->core, &core_listener, &for_each_sink_core_events, &done_ctx) < 0) - goto unlock_loop; - - registry = pw_core_get_registry(priv->core, PW_VERSION_REGISTRY, 0); -@@ -383,7 +393,8 @@ - if (pw_registry_add_listener(registry, ®istry_listener, &for_each_sink_registry_events, &revents_ctx) < 0) - goto destroy_registry; - -- pw_thread_loop_wait(priv->loop); -+ while (!done_ctx.done) -+ pw_thread_loop_wait(priv->loop); - - spa_hook_remove(®istry_listener); - diff --git a/media-video/mpv/files/mpv-0.35.1-yt-dlp-edl-fragments.patch b/media-video/mpv/files/mpv-0.35.1-yt-dlp-edl-fragments.patch deleted file mode 100644 index 058c608233d4..000000000000 --- a/media-video/mpv/files/mpv-0.35.1-yt-dlp-edl-fragments.patch +++ /dev/null @@ -1,55 +0,0 @@ -https://bugs.gentoo.org/899956 -https://github.com/mpv-player/mpv/pull/11398 - -From 985655ebfd77ceddc44d76f8cc6dc446002f34ee Mon Sep 17 00:00:00 2001 -From: Christoph Heinrich <christoph.heinrich@student.tugraz.at> -Date: Fri, 3 Mar 2023 00:45:45 +0100 -Subject: [PATCH 1/2] ytdl_hook: init fragment requires other fragments - -With dash the first fragment was always considered an init fragment if -there wasn't a duration. However that only makes sense when there are -also other fragments, so check if there are other fragments in addition -to the lack of a duration. ---- a/player/lua/ytdl_hook.lua -+++ b/player/lua/ytdl_hook.lua -@@ -297,7 +297,7 @@ local function edl_track_joined(fragments, protocol, is_live, base) - local args = "" - - -- assume MP4 DASH initialization segment -- if not fragments[1].duration then -+ if not fragments[1].duration and #fragments > 1 then - msg.debug("Using init segment") - args = args .. ",init=" .. edl_escape(join_url(base, fragments[1])) - offset = 2 - -From a5961ad096b1361a12f836c8b170fc748f46962a Mon Sep 17 00:00:00 2001 -From: Christoph Heinrich <christoph.heinrich@student.tugraz.at> -Date: Fri, 3 Mar 2023 00:50:58 +0100 -Subject: [PATCH 2/2] ytdl_hook: only log error when no fallback url available - -An error indicates that something doesn't work, but as long as a -safe url is available, playback is still expected to work. - -Thus reduce logging level of MP4 DASH without fragments message and -add a new error message for when there is no safe url available either. - -Also adds a missing space. ---- a/player/lua/ytdl_hook.lua -+++ b/player/lua/ytdl_hook.lua -@@ -309,7 +309,7 @@ local function edl_track_joined(fragments, protocol, is_live, base) - -- if not available in all, give up. - for i = offset, #fragments do - if not fragments[i].duration then -- msg.error("EDL doesn't support fragments" .. -+ msg.verbose("EDL doesn't support fragments " .. - "without duration with MP4 DASH") - return nil - end -@@ -423,6 +423,7 @@ local function formats_to_edl(json, formats, use_all_formats) - track.protocol, json.is_live, - track.fragment_base_url) - if not edl_track and not url_is_safe(track.url) then -+ msg.error("No safe URL or supported fragmented stream available") - return nil - end - diff --git a/media-video/mpv/mpv-0.35.1-r2.ebuild b/media-video/mpv/mpv-0.35.1-r2.ebuild deleted file mode 100644 index f41aea9d7e6f..000000000000 --- a/media-video/mpv/mpv-0.35.1-r2.ebuild +++ /dev/null @@ -1,304 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LUA_COMPAT=( lua5-1 luajit ) -PYTHON_COMPAT=( python3_{10..12} ) -inherit edo flag-o-matic lua-single meson optfeature pax-utils python-single-r1 xdg - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/mpv-player/mpv.git" -else - SRC_URI="https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 ~arm ~arm64 ~hppa ~loong ppc ppc64 ~riscv x86 ~amd64-linux" -fi - -DESCRIPTION="Media player for the command line" -HOMEPAGE="https://mpv.io/" - -LICENSE="LGPL-2.1+ GPL-2+ BSD ISC MIT" #506946 -SLOT="0/2" # soname -IUSE=" - +X +alsa aqua archive bluray cdda +cli coreaudio debug +drm dvb - dvd +egl gamepad +iconv jack javascript jpeg lcms libcaca +libmpv - +libplacebo +lua mmal nvenc openal opengl pipewire pulseaudio - raspberry-pi rubberband sdl selinux sixel sndio test tools +uchardet - vaapi vdpau vulkan wayland +xv zimg zlib" -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - || ( cli libmpv ) - egl? ( || ( X drm wayland ) ) - libplacebo? ( || ( egl opengl vulkan ) ) - lua? ( ${LUA_REQUIRED_USE} ) - nvenc? ( || ( egl opengl vulkan ) ) - opengl? ( || ( X aqua ) ) - test? ( cli ) - tools? ( cli ) - uchardet? ( iconv ) - vaapi? ( - || ( X egl libplacebo wayland ) - wayland? ( drm ) - ) - vdpau? ( X ) - vulkan? ( || ( X wayland ) libplacebo ) - xv? ( X )" -RESTRICT="!test? ( test )" - -# raspberry-pi: default to -bin given non-bin is known broken (bug #893422) -COMMON_DEPEND=" - media-libs/libass:=[fontconfig] - media-video/ffmpeg:=[encode,threads,vaapi?,vdpau?] - X? ( - x11-libs/libX11 - x11-libs/libXScrnSaver - x11-libs/libXext - x11-libs/libXinerama - x11-libs/libXpresent - x11-libs/libXrandr - xv? ( x11-libs/libXv ) - ) - alsa? ( media-libs/alsa-lib ) - archive? ( app-arch/libarchive:= ) - bluray? ( media-libs/libbluray:= ) - cdda? ( - dev-libs/libcdio-paranoia:= - dev-libs/libcdio:= - ) - drm? ( - media-libs/mesa[gbm(+)] - x11-libs/libdrm - ) - dvd? ( - media-libs/libdvdnav - media-libs/libdvdread:= - ) - egl? ( media-libs/libglvnd ) - gamepad? ( media-libs/libsdl2[joystick] ) - iconv? ( - virtual/libiconv - uchardet? ( app-i18n/uchardet ) - ) - jack? ( virtual/jack ) - javascript? ( dev-lang/mujs:= ) - jpeg? ( media-libs/libjpeg-turbo:= ) - lcms? ( media-libs/lcms:2 ) - libcaca? ( media-libs/libcaca ) - libplacebo? ( - >=media-libs/libplacebo-4.202:=[opengl?,vulkan?] - <media-libs/libplacebo-6 - egl? ( media-libs/libplacebo[opengl] ) - ) - lua? ( ${LUA_DEPS} ) - openal? ( media-libs/openal ) - opengl? ( media-libs/libglvnd[X?] ) - pipewire? ( media-video/pipewire:= ) - pulseaudio? ( media-libs/libpulse ) - raspberry-pi? ( - || ( - media-libs/raspberrypi-userland-bin - media-libs/raspberrypi-userland - ) - ) - rubberband? ( media-libs/rubberband ) - sdl? ( media-libs/libsdl2[sound,threads,video] ) - sixel? ( media-libs/libsixel ) - sndio? ( media-sound/sndio:= ) - vaapi? ( media-libs/libva:=[X?,drm(+)?,wayland?] ) - vdpau? ( x11-libs/libvdpau ) - vulkan? ( - media-libs/shaderc - media-libs/vulkan-loader[X?,wayland?] - ) - wayland? ( - dev-libs/wayland - dev-libs/wayland-protocols - x11-libs/libxkbcommon - ) - zimg? ( media-libs/zimg ) - zlib? ( sys-libs/zlib:= )" -RDEPEND=" - ${COMMON_DEPEND} - selinux? ( sec-policy/selinux-mplayer ) - tools? ( ${PYTHON_DEPS} )" -DEPEND=" - ${COMMON_DEPEND} - X? ( x11-base/xorg-proto ) - dvb? ( virtual/linuxtv-dvb-headers ) - nvenc? ( media-libs/nv-codec-headers ) - wayland? ( dev-libs/wayland-protocols )" -BDEPEND=" - ${PYTHON_DEPS} - virtual/pkgconfig - cli? ( dev-python/docutils ) - wayland? ( dev-util/wayland-scanner )" - -PATCHES=( - "${FILESDIR}"/${P}-yt-dlp-edl-fragments.patch - "${FILESDIR}"/${P}-pipewire-0.3.75.patch -) - -pkg_setup() { - use lua && lua-single_pkg_setup - python-single-r1_pkg_setup -} - -src_configure() { - if use !debug; then - if use test; then - einfo "Skipping -DNDEBUG due to USE=test" - else - append-cppflags -DNDEBUG # treated specially - fi - fi - - mpv_feature_multi() { - local use set - for use in ${1} ${2}; do - use ${use} || set=disabled - done - echo -D${3-${2}}=${set-enabled} - } - - local emesonargs=( - $(meson_use cli cplayer) - $(meson_use libmpv) - $(meson_use test tests) - - $(meson_feature cli html-build) - $(meson_feature cli manpage-build) - -Dpdf-build=disabled - - -Dbuild-date=false - - # misc options - $(meson_feature archive libarchive) - $(meson_feature bluray libbluray) - $(meson_feature cdda) - -Dcplugins=enabled - $(meson_feature dvb dvbin) - $(meson_feature dvd dvdnav) - $(meson_feature gamepad sdl2-gamepad) - $(meson_feature iconv) - $(meson_feature javascript) - -Dlibavdevice=enabled - $(meson_feature lcms lcms2) - -Dlua=$(usex lua "${ELUA}" disabled) - $(meson_feature rubberband) - -Dsdl2=$(use gamepad || use sdl && echo enabled || echo disabled) #857156 - $(meson_feature uchardet) - -Dvapoursynth=disabled # only available in overlays - $(meson_feature zimg) - $(meson_feature zlib) - - # audio output - $(meson_feature alsa) - $(meson_feature coreaudio) - $(meson_feature jack) - $(meson_feature openal) - $(meson_feature pipewire) - $(meson_feature pulseaudio pulse) - $(meson_feature sdl sdl2-audio) - $(meson_feature sndio) - - # video output - $(meson_feature X x11) - $(meson_feature aqua cocoa) - $(meson_feature drm) - $(meson_feature drm gbm) - $(meson_feature jpeg) - $(meson_feature libcaca caca) - $(meson_feature libplacebo) - $(meson_feature mmal rpi-mmal) - $(meson_feature sdl sdl2-video) - $(meson_feature sixel) - $(meson_feature wayland) - $(meson_feature xv) - - -Dgl=$(use egl || use libmpv || use opengl || use raspberry-pi && - echo enabled || echo disabled) - $(meson_feature egl) - $(mpv_feature_multi egl X egl-x11) - $(mpv_feature_multi egl drm egl-drm) - $(mpv_feature_multi egl wayland egl-wayland) - $(meson_feature libmpv plain-gl) - $(mpv_feature_multi opengl X gl-x11) - $(mpv_feature_multi opengl aqua gl-cocoa) - $(meson_feature raspberry-pi rpi) - - $(meson_feature vulkan) - $(meson_feature vulkan shaderc) - - # hardware decoding - $(meson_feature nvenc cuda-hwaccel) - $(meson_feature nvenc cuda-interop) - - $(meson_feature vaapi) - $(mpv_feature_multi vaapi X vaapi-x11) - $(mpv_feature_multi 'vaapi X' egl vaapi-x-egl) - $(mpv_feature_multi 'vaapi egl' drm vaapi-drm) - $(mpv_feature_multi 'vaapi egl' wayland vaapi-wayland) - - $(meson_feature vdpau) - $(mpv_feature_multi vdpau opengl vdpau-gl-x11) - - $(mpv_feature_multi aqua opengl videotoolbox-gl) - ) - - meson_src_configure -} - -src_test() { - # https://github.com/mpv-player/mpv/blob/master/DOCS/man/options.rst#debugging - local tests=($("${BUILD_DIR}"/mpv --no-config --unittest=help | tail -n +2; assert)) - (( ${#tests[@]} )) || die "failed to gather any tests" - - local skip=( - all-simple - - # fails on non-issue minor inconsistencies (bug #888639) - img_format - repack_sws - ) - - local test - for test in "${tests[@]}"; do - [[ ${test} == @($(IFS='|'; echo "${skip[*]}")) ]] || - edo "${BUILD_DIR}"/mpv -v --no-config --unittest="${test}" - done -} - -src_install() { - meson_src_install - - if use lua; then - insinto /usr/share/${PN} - doins -r TOOLS/lua - - if use cli && use lua_single_target_luajit; then - pax-mark -m "${ED}"/usr/bin/${PN} - fi - fi - - if use tools; then - dobin TOOLS/{mpv_identify.sh,umpv} - newbin TOOLS/idet.sh mpv_idet.sh - python_fix_shebang "${ED}"/usr/bin/umpv - fi - - if use cli; then - dodir /usr/share/doc/${PF}/html - mv "${ED}"/usr/share/doc/{mpv,${PF}/html}/mpv.html || die - mv "${ED}"/usr/share/doc/{mpv,${PF}/examples} || die - fi - - local GLOBIGNORE=*/*build*:*/*policy* - dodoc RELEASE_NOTES DOCS/*.{md,rst} -} - -pkg_postinst() { - xdg_pkg_postinst - - optfeature "URL support with USE=lua" net-misc/yt-dlp -} |