summaryrefslogtreecommitdiff
path: root/media-video/mpv
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-11-09 16:32:24 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-11-09 16:32:24 +0000
commit3f5a5d10d87cd7f434c3a4207fc0a7ffc25d9123 (patch)
tree3d2de0ea329bfae5fb1acd465386966d5ee95422 /media-video/mpv
parent91b873ea3e20149dbb554dc214611efa4627962a (diff)
gentoo auto-resync : 09:11:2023 - 16:32:23
Diffstat (limited to 'media-video/mpv')
-rw-r--r--media-video/mpv/Manifest4
-rw-r--r--media-video/mpv/files/mpv-0.35.1-pipewire-0.3.75.patch86
-rw-r--r--media-video/mpv/files/mpv-0.35.1-yt-dlp-edl-fragments.patch55
-rw-r--r--media-video/mpv/mpv-0.35.1-r2.ebuild304
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, &registry_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(&registry_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
-}