summaryrefslogtreecommitdiff
path: root/media-video
diff options
context:
space:
mode:
Diffstat (limited to 'media-video')
-rw-r--r--media-video/Manifest.gzbin25363 -> 25360 bytes
-rw-r--r--media-video/mpv/Manifest5
-rw-r--r--media-video/mpv/files/mpv-0.36.0-tests-odr.patch30
-rw-r--r--media-video/mpv/mpv-0.36.0.ebuild291
-rw-r--r--media-video/mpv/mpv-9999.ebuild2
5 files changed, 326 insertions, 2 deletions
diff --git a/media-video/Manifest.gz b/media-video/Manifest.gz
index d537b6de255a..a636eb28e9c2 100644
--- a/media-video/Manifest.gz
+++ b/media-video/Manifest.gz
Binary files differ
diff --git a/media-video/mpv/Manifest b/media-video/mpv/Manifest
index ec8a9265ce86..5937c85335d8 100644
--- a/media-video/mpv/Manifest
+++ b/media-video/mpv/Manifest
@@ -1,7 +1,10 @@
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-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-r1.ebuild 7610 BLAKE2B 0e2a9d6c0817f92995d53055357a4b1757b126bb7d4c105d3542630df9410475560f98772fbc021855a6e3acd029d7bbaf3cb50fc2734dd9122a05be50aab5fb SHA512 b04ea9db0876192883f62cf0ede1b2df633b7c0691d482248b1e765dd779a50679a9e11785943b218e73bfc66bdb2c3eb952765077f8e7b3de0774b2cab31f8c
EBUILD mpv-0.35.1-r2.ebuild 7652 BLAKE2B 7042109178a580d3d88bf7781cc7d1e8c503ba404eaff4512061a1d6526aa4aedb33537e103dedf5d2beec61fd4978b1762dd6de8950b1a31effadd601e5a905 SHA512 594c7b3a433ff96ec7ea84633e5660580fcf5b79d1c3021714d1b79782065e391895762795ccd796c3ad265b4c087ebc75582b07a8a8d6b5b7a66ff3bd9d93bb
-EBUILD mpv-9999.ebuild 7430 BLAKE2B fb11f7bf42d9575635bc531b363aae723118f69f86cdd7a90e951acc6a6dd96fa562fea2b189cb68fcb3de71b82062737a2afe8b891a539bae37f697893fe320 SHA512 cedc5defe0df4a5474ae63fadf7ba16f4615d9c7fc60dac0503f6f5625e0df9be65c100dc90d739cb6d2bb10867b3face51e9bc6ffe29259edb72ff2208c5aff
+EBUILD mpv-0.36.0.ebuild 7480 BLAKE2B 9bbbd3eba115594e5cad5da49efab8bf352ed3dc0927ee5c5402ee6041db294894f193bc7fbae2b3aab9676b62429b31b9e295011ff8d0e10ba4c592b50e3da5 SHA512 2f24069a31e3fed2ee4d96e10237a832bf401fe4835680fd5f70a44cdc0e950ed34a956eb3135a32e7907068d1474c2ca5c1e74c755d8cb19074bd5ba3c9bf8e
+EBUILD mpv-9999.ebuild 7423 BLAKE2B de458988d27dd290d6f2b283a2573733c13c123948de3af86facbcb3aeef2d84feddd999f2a4f08ba17af04cb5be91b920fdf13133e441b5a1edc37408f1fb85 SHA512 d18d1a9d91c24bc675d169681130e56cbc21ecaa601601a73ace4cd0659eb99f5b1aa536f428f3fb3be464613345d4f29d7b8f01419f548b6e6956a97fce1f90
MISC metadata.xml 2324 BLAKE2B 6fe57270fef9275f47b0d7f282fbf4ff5c4a76c74e43820a8e0a4d56348eb72dc89dfdb06a9ff9a2b6f73d35102f861200d6c8c6f4dc41cfb4e42ff69d70da8a SHA512 0418e3315b4ded29714099d80075f61f6d1b38d9109bbb3bc372abbaceb14f705d5798eac2c14ef0fd0e1c557785291a4acb5e773dffb46f0b7f7962bf38d041
diff --git a/media-video/mpv/files/mpv-0.36.0-tests-odr.patch b/media-video/mpv/files/mpv-0.36.0-tests-odr.patch
new file mode 100644
index 000000000000..1c7c05c20f78
--- /dev/null
+++ b/media-video/mpv/files/mpv-0.36.0-tests-odr.patch
@@ -0,0 +1,30 @@
+Quickfix for USE=test with -Werror=odr (stubs, so have no real consequences).
+
+timer.h gets indirectly included and can declare these differently, have not
+looked closer yet.
+--- a/test/test_utils.c
++++ b/test/test_utils.c
+@@ -110,6 +110,6 @@
+ #ifndef WIN32_TESTS
+-void mp_add_timeout(void) {};
+-void mp_rel_time_to_timespec(void) {};
+-void mp_time_us(void) {};
+-void mp_time_us_to_timespec(void) {};
++void mp_add_timeout(int64_t time_us, double timeout_sec) {};
++struct timespec mp_rel_time_to_timespec(double timeout_sec) {return (struct timespec){0};};
++int64_t mp_time_us(void) {return 0;};
++struct timespec mp_time_us_to_timespec(int64_t time_us) {return (struct timespec){0};};
+ #endif
+--- a/test/test_utils.h
++++ b/test/test_utils.h
+@@ -61,6 +61,6 @@
+ #ifndef WIN32_TESTS
+-void mp_add_timeout(void);
+-void mp_rel_time_to_timespec(void);
+-void mp_time_us(void);
+-void mp_time_us_to_timespec(void);
++void mp_add_timeout(int64_t time_us, double timeout_sec);
++struct timespec mp_rel_time_to_timespec(double timeout_sec);
++int64_t mp_time_us(void);
++struct timespec mp_time_us_to_timespec(int64_t time_us);
+ #endif
diff --git a/media-video/mpv/mpv-0.36.0.ebuild b/media-video/mpv/mpv-0.36.0.ebuild
new file mode 100644
index 000000000000..6760747c08e2
--- /dev/null
+++ b/media-video/mpv/mpv-0.36.0.ebuild
@@ -0,0 +1,291 @@
+# 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 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-4.4:=[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.157:=[opengl?,vulkan?]
+ 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}"/${PN}-0.36.0-tests-odr.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)
+
+ # notable options left to automagic
+ #dmabuf-wayland: USE="drm wayland" + plus memfd_create support
+ #libplacebo-next: USE="libplacebo" + >=libplacebo-5.264
+ #vulkan-interop: USE="libplacebo vulkan" + ffmpeg-9999 currently
+ # TODO?: perhaps few more similar compound options should be left auto
+ )
+
+ has_version '>=media-libs/libplacebo-5.264' ||
+ ewarn "${PN}'s gpu-next video output requires ${_} to be used"
+
+ meson_src_configure
+}
+
+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
+}
diff --git a/media-video/mpv/mpv-9999.ebuild b/media-video/mpv/mpv-9999.ebuild
index 3290819e1b60..49ab623bd326 100644
--- a/media-video/mpv/mpv-9999.ebuild
+++ b/media-video/mpv/mpv-9999.ebuild
@@ -12,7 +12,7 @@ if [[ ${PV} == 9999 ]]; then
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="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux"
fi
DESCRIPTION="Media player for the command line"