commit: a2275730ee342c6b3d2627599a6d98564bf43671
parent 14836bed3301bfb52b4f0b0ee454343bb058a13a
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date: Sun, 16 Oct 2022 11:19:47 +0200
media-video/mpv: treeclean
Diffstat:
5 files changed, 0 insertions(+), 1172 deletions(-)
diff --git a/media-video/mpv/Manifest b/media-video/mpv/Manifest
@@ -1,4 +0,0 @@
-DIST mpv-0.33.1.tar.gz 3259882 BLAKE2B 97ab101c2013ffb219d36a788020fb9fc4382d09971ac0beee42701a54667a6c766521be7b052193de4505b2117c2d47b3682ebafab46632fc40b637e0d19c04 SHA512 99d6c40d18c5cf83814b44ec6d8eade229800c5b51a734c9bbe831c3aeb95f8931124c94f6ae2360ffff62053c163bc3c55b254df021e005b350ebc3df7e952b
-DIST mpv-0.34.1.tar.gz 3288356 BLAKE2B c0e5dc3cd23307449a526bd2cf0df5d870322aa1914a139784fd50d77274d42648a769ee4da3ba74e34a7a080700a5740dae13ed0827df1b3cfef36846f983ab SHA512 77ea349d6999f8cce9b5cce4cebd3506a224fc18ab08d22dd16bd34c34d012bb170879b268ddd62db40d116b4cc0b2d9d651b8097f387ed9115c426834cac77e
-DIST waf-2.0.22 104880 BLAKE2B 6cae9e764712012ef97f790c723b86a2603dc64e9bafcec02c5251dbc1b23ec629db26c02eee2a72a77cf70c11d2729a626ea71f3cb50a6281257fd6f63eadf0 SHA512 4156cefa65b7e6349ddb1ca643bbdf3e4444449d137e5f595535564271d521362291f257765329015671584ac2c596a0ad98cfdbd621f5d5352141a55d384292
-DIST waf-2.0.9 103104 BLAKE2B c7e996aa49662da3ff941d076fc7e2dd23e867ade92a3b2ae07560b76d63a69e495184a1f9c76be5c51977ddb1713f9247f62e672033ecb988ac559e3a47e546 SHA512 0755170ded115b03e78a2096f197cd9fff62b5036db764153d26ce426f182ea7d7b8231cfa1a10b4a564a8480428502f3691851df66e7b83c7bca8e5fe26de7d
diff --git a/media-video/mpv/files/mpv-0.33.1-sndio_pr9298.patch b/media-video/mpv/files/mpv-0.33.1-sndio_pr9298.patch
@@ -1,407 +0,0 @@
-From d41e8d39dd1de81aa5f56bb1aa4d9fffc1a2ef3d Mon Sep 17 00:00:00 2001
-From: rim <rozhuk.im@gmail.com>
-Date: Mon, 18 Oct 2021 23:55:49 +0200
-Subject: [PATCH] ao_sndio: add this audio output again
-
-Changes:
-- rewrite to use new internal MPV API;
-- code refactoring;
-- fix buffers size calculations;
-- buffer set to auto;
-- reset() - clean/reinit device only after errors;
----
- DOCS/man/ao.rst | 6 +
- audio/out/ao.c | 4 +
- audio/out/ao_sndio.c | 311 +++++++++++++++++++++++++++++++++++++++++++
- wscript | 6 +
- wscript_build.py | 1 +
- 5 files changed, 328 insertions(+)
- create mode 100644 audio/out/ao_sndio.c
-
-diff --git a/DOCS/man/ao.rst b/DOCS/man/ao.rst
-index cc42ec23a6..1f9bf915b3 100644
---- a/DOCS/man/ao.rst
-+++ b/DOCS/man/ao.rst
-@@ -216,5 +216,11 @@ Available audio output drivers are:
- ``no-waveheader`` option - with ``waveheader`` it's broken, because
- it will write a WAVE header every time the file is opened.
-
-+``sndio``
-+ Audio output to the OpenBSD sndio sound system
-+
-+ (Note: only supports mono, stereo, 4.0, 5.1 and 7.1 channel
-+ layouts.)
-+
- ``wasapi``
- Audio output to the Windows Audio Session API.
-diff --git a/audio/out/ao.c b/audio/out/ao.c
-index 52a38b63be..00893c0eb3 100644
---- a/audio/out/ao.c
-+++ b/audio/out/ao.c
-@@ -40,6 +40,7 @@ extern const struct ao_driver audio_out_audiounit;
- extern const struct ao_driver audio_out_coreaudio;
- extern const struct ao_driver audio_out_coreaudio_exclusive;
- extern const struct ao_driver audio_out_rsound;
-+extern const struct ao_driver audio_out_sndio;
- extern const struct ao_driver audio_out_pulse;
- extern const struct ao_driver audio_out_jack;
- extern const struct ao_driver audio_out_openal;
-@@ -83,6 +84,9 @@ static const struct ao_driver * const audio_out_drivers[] = {
- #endif
- #if HAVE_SDL2_AUDIO
- &audio_out_sdl,
-+#endif
-+#if HAVE_SNDIO
-+ &audio_out_sndio,
- #endif
- &audio_out_null,
- #if HAVE_COREAUDIO
-diff --git a/audio/out/ao_sndio.c b/audio/out/ao_sndio.c
-new file mode 100644
-index 0000000000..ec2fb3bcb6
---- /dev/null
-+++ b/audio/out/ao_sndio.c
-@@ -0,0 +1,311 @@
-+/*
-+ * Copyright (c) 2008 Alexandre Ratchov <alex@caoua.org>
-+ * Copyright (c) 2013 Christian Neukirchen <chneukirchen@gmail.com>
-+ * Copyright (c) 2020 Rozhuk Ivan <rozhuk.im@gmail.com>
-+ *
-+ * Permission to use, copy, modify, and distribute this software for any
-+ * purpose with or without fee is hereby granted, provided that the above
-+ * copyright notice and this permission notice appear in all copies.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+ */
-+
-+#include "config.h"
-+
-+#include <sys/types.h>
-+#include <poll.h>
-+#include <errno.h>
-+#include <sndio.h>
-+
-+#include "options/m_option.h"
-+#include "common/msg.h"
-+
-+#include "audio/format.h"
-+#include "ao.h"
-+#include "internal.h"
-+
-+struct priv {
-+ struct sio_hdl *hdl;
-+ struct sio_par par;
-+ int delay;
-+ bool playing;
-+ int vol;
-+ int havevol;
-+ struct pollfd *pfd;
-+};
-+
-+
-+static const struct mp_chmap sndio_layouts[] = {
-+ {0}, /* empty */
-+ {1, {MP_SPEAKER_ID_FL}}, /* mono */
-+ MP_CHMAP2(FL, FR), /* stereo */
-+ {0}, /* 2.1 */
-+ MP_CHMAP4(FL, FR, BL, BR), /* 4.0 */
-+ {0}, /* 5.0 */
-+ MP_CHMAP6(FL, FR, BL, BR, FC, LFE), /* 5.1 */
-+ {0}, /* 6.1 */
-+ MP_CHMAP8(FL, FR, BL, BR, FC, LFE, SL, SR), /* 7.1 */
-+ /* Above is the fixed channel assignment for sndio, since we need to
-+ * fill all channels and cannot insert silence, not all layouts are
-+ * supported.
-+ * NOTE: MP_SPEAKER_ID_NA could be used to add padding channels. */
-+};
-+
-+static void uninit(struct ao *ao);
-+
-+
-+/* Make libsndio call movecb(). */
-+static void process_events(struct ao *ao)
-+{
-+ struct priv *p = ao->priv;
-+
-+ int n = sio_pollfd(p->hdl, p->pfd, POLLOUT);
-+ while (poll(p->pfd, n, 0) < 0 && errno == EINTR);
-+
-+ sio_revents(p->hdl, p->pfd);
-+}
-+
-+/* Call-back invoked to notify of the hardware position. */
-+static void movecb(void *addr, int delta)
-+{
-+ struct ao *ao = addr;
-+ struct priv *p = ao->priv;
-+
-+ p->delay -= delta;
-+}
-+
-+/* Call-back invoked to notify about volume changes. */
-+static void volcb(void *addr, unsigned newvol)
-+{
-+ struct ao *ao = addr;
-+ struct priv *p = ao->priv;
-+
-+ p->vol = newvol;
-+}
-+
-+static int init(struct ao *ao)
-+{
-+ struct priv *p = ao->priv;
-+ struct mp_chmap_sel sel = {0};
-+ size_t i;
-+ struct af_to_par {
-+ int format, bits, sig;
-+ };
-+ static const struct af_to_par af_to_par[] = {
-+ {AF_FORMAT_U8, 8, 0},
-+ {AF_FORMAT_S16, 16, 1},
-+ {AF_FORMAT_S32, 32, 1},
-+ };
-+ const struct af_to_par *ap;
-+ const char *device = ((ao->device) ? ao->device : SIO_DEVANY);
-+
-+ /* Opening device. */
-+ MP_VERBOSE(ao, "Using '%s' audio device.\n", device);
-+ p->hdl = sio_open(device, SIO_PLAY, 0);
-+ if (p->hdl == NULL) {
-+ MP_ERR(ao, "Can't open audio device %s.\n", device);
-+ goto err_out;
-+ }
-+
-+ sio_initpar(&p->par);
-+
-+ /* Selecting sound format. */
-+ ao->format = af_fmt_from_planar(ao->format);
-+
-+ p->par.bits = 16;
-+ p->par.sig = 1;
-+ p->par.le = SIO_LE_NATIVE;
-+ for (i = 0; i < MP_ARRAY_SIZE(af_to_par); i++) {
-+ ap = &af_to_par[i];
-+ if (ap->format == ao->format) {
-+ p->par.bits = ap->bits;
-+ p->par.sig = ap->sig;
-+ break;
-+ }
-+ }
-+
-+ p->par.rate = ao->samplerate;
-+
-+ /* Channels count. */
-+ for (i = 0; i < MP_ARRAY_SIZE(sndio_layouts); i++) {
-+ mp_chmap_sel_add_map(&sel, &sndio_layouts[i]);
-+ }
-+ if (!ao_chmap_sel_adjust(ao, &sel, &ao->channels))
-+ goto err_out;
-+
-+ p->par.pchan = ao->channels.num;
-+#ifdef __FreeBSD__
-+ /* OSS wrapper have bad defaults, overwrite it. */
-+ p->par.appbufsz = ((p->par.rate * 25) / 1000); /* 25 ms. */
-+#endif
-+ if (!sio_setpar(p->hdl, &p->par)) {
-+ MP_ERR(ao, "couldn't set params\n");
-+ goto err_out;
-+ }
-+
-+ /* Get current sound params. */
-+ if (!sio_getpar(p->hdl, &p->par)) {
-+ MP_ERR(ao, "couldn't get params\n");
-+ goto err_out;
-+ }
-+ if (p->par.bps > 1 && p->par.le != SIO_LE_NATIVE) {
-+ MP_ERR(ao, "swapped endian output not supported\n");
-+ goto err_out;
-+ }
-+
-+ /* Update sound params. */
-+ if (p->par.bits == 8 && p->par.bps == 1 && !p->par.sig) {
-+ ao->format = AF_FORMAT_U8;
-+ } else if (p->par.bits == 16 && p->par.bps == 2 && p->par.sig) {
-+ ao->format = AF_FORMAT_S16;
-+ } else if ((p->par.bits == 32 || p->par.msb) && p->par.bps == 4 && p->par.sig) {
-+ ao->format = AF_FORMAT_S32;
-+ } else {
-+ MP_ERR(ao, "couldn't set format\n");
-+ goto err_out;
-+ }
-+
-+ p->havevol = sio_onvol(p->hdl, volcb, ao);
-+ sio_onmove(p->hdl, movecb, ao);
-+
-+ p->pfd = talloc_array_ptrtype(p, p->pfd, sio_nfds(p->hdl));
-+ if (!p->pfd)
-+ goto err_out;
-+
-+ ao->device_buffer = p->par.bufsz;
-+ MP_VERBOSE(ao, "bufsz = %i, appbufsz = %i, round = %i\n",
-+ p->par.bufsz, p->par.appbufsz, p->par.round);
-+
-+ p->delay = 0;
-+ p->playing = false;
-+ if (!sio_start(p->hdl)) {
-+ MP_ERR(ao, "start: sio_start() fail.\n");
-+ goto err_out;
-+ }
-+
-+ return 0;
-+
-+err_out:
-+ uninit(ao);
-+ return -1;
-+}
-+
-+static void uninit(struct ao *ao)
-+{
-+ struct priv *p = ao->priv;
-+
-+ if (p->hdl) {
-+ sio_close(p->hdl);
-+ p->hdl = NULL;
-+ }
-+ p->pfd = NULL;
-+ p->playing = false;
-+}
-+
-+static int control(struct ao *ao, enum aocontrol cmd, void *arg)
-+{
-+ struct priv *p = ao->priv;
-+ ao_control_vol_t *vol = arg;
-+
-+ switch (cmd) {
-+ case AOCONTROL_GET_VOLUME:
-+ if (!p->havevol)
-+ return CONTROL_FALSE;
-+ vol->left = vol->right = p->vol * 100 / SIO_MAXVOL;
-+ break;
-+ case AOCONTROL_SET_VOLUME:
-+ if (!p->havevol)
-+ return CONTROL_FALSE;
-+ sio_setvol(p->hdl, vol->left * SIO_MAXVOL / 100);
-+ break;
-+ default:
-+ return CONTROL_UNKNOWN;
-+ }
-+ return CONTROL_OK;
-+}
-+
-+static void reset(struct ao *ao)
-+{
-+ struct priv *p = ao->priv;
-+
-+ if (p->playing) {
-+ p->playing = false;
-+
-+ if (!sio_stop(p->hdl)) {
-+ MP_ERR(ao, "reset: couldn't sio_stop()\n");
-+ }
-+ p->delay = 0;
-+ if (!sio_start(p->hdl)) {
-+ MP_ERR(ao, "reset: sio_start() fail.\n");
-+ }
-+ }
-+}
-+
-+static void start(struct ao *ao)
-+{
-+ struct priv *p = ao->priv;
-+
-+ p->playing = true;
-+ process_events(ao);
-+}
-+
-+static bool audio_write(struct ao *ao, void **data, int samples)
-+{
-+ struct priv *p = ao->priv;
-+ const size_t size = (samples * ao->sstride);
-+ size_t rc;
-+
-+ rc = sio_write(p->hdl, data[0], size);
-+ if (rc != size) {
-+ MP_WARN(ao, "audio_write: unexpected partial write: required: %zu, written: %zu.\n",
-+ size, rc);
-+ reset(ao);
-+ p->playing = false;
-+ return false;
-+ }
-+ p->delay += samples;
-+
-+ return true;
-+}
-+
-+static void get_state(struct ao *ao, struct mp_pcm_state *state)
-+{
-+ struct priv *p = ao->priv;
-+
-+ process_events(ao);
-+
-+ /* how many samples we can play without blocking */
-+ state->free_samples = ao->device_buffer - p->delay;
-+ /* how many samples are already in the buffer to be played */
-+ state->queued_samples = p->delay;
-+ /* delay in seconds between first and last sample in buffer */
-+ state->delay = p->delay / (double)p->par.rate;
-+
-+ /* reset on unexpected EOF / underrun */
-+ if (state->queued_samples && state->queued_samples &&
-+ state->queued_samples < state->free_samples &&
-+ p->playing)
-+ {
-+ reset(ao);
-+ }
-+ state->playing = p->playing;
-+}
-+
-+const struct ao_driver audio_out_sndio = {
-+ .name = "sndio",
-+ .description = "sndio audio output",
-+ .init = init,
-+ .uninit = uninit,
-+ .control = control,
-+ .reset = reset,
-+ .start = start,
-+ .write = audio_write,
-+ .get_state = get_state,
-+ .priv_size = sizeof(struct priv),
-+};
-diff --git a/wscript b/wscript
-index b81f1202ec..e9af544b0c 100644
---- a/wscript
-+++ b/wscript
-@@ -421,6 +421,12 @@ audio_output_features = [
- 'desc': 'SDL2 audio output',
- 'deps': 'sdl2',
- 'func': check_true,
-+ }, {
-+ 'name': '--sndio',
-+ 'desc': 'sndio audio input/output',
-+ 'func': check_statement('sndio.h',
-+ 'struct sio_par par; sio_initpar(&par); const char *s = SIO_DEVANY', lib='sndio'),
-+ 'default': 'disable'
- }, {
- 'name': '--pulse',
- 'desc': 'PulseAudio audio output',
-diff --git a/wscript_build.py b/wscript_build.py
-index 14c254e1ec..7943f850b0 100644
---- a/wscript_build.py
-+++ b/wscript_build.py
-@@ -247,6 +247,7 @@ def build(ctx):
- ( "audio/out/ao_pcm.c" ),
- ( "audio/out/ao_pulse.c", "pulse" ),
- ( "audio/out/ao_sdl.c", "sdl2-audio" ),
-+ ( "audio/out/ao_sndio.c", "sndio" ),
- ( "audio/out/ao_wasapi.c", "wasapi" ),
- ( "audio/out/ao_wasapi_changenotify.c", "wasapi" ),
- ( "audio/out/ao_wasapi_utils.c", "wasapi" ),
---
-2.32.0
-
diff --git a/media-video/mpv/metadata.xml b/media-video/mpv/metadata.xml
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <use>
- <flag name="archive">Enable support for various archive formats via <pkg>app-arch/libarchive</pkg></flag>
- <flag name="bluray">Enable playback of Blu-ray filesystems</flag>
- <flag name="cli">Build mpv CLI player</flag>
- <flag name="cplugins">Enable C plugins support</flag>
- <flag name="cuda">Enable hardware video decoding via Nvidia CUDA</flag>
- <flag name="drm">Enable Kernel Mode Setting / Direct Rendering Manager based video output</flag>
- <flag name="egl">Enable support for various EGL-based video outputs / backends</flag>
- <flag name="gamepad">Enable gamepad input support</flag>
- <flag name="gbm">Enable Graphics Buffer Manager based EGL video backend</flag>
- <flag name="jpeg">Enable support for saving screenshots in JPEG format</flag>
- <flag name="libass">Enable OSD (On Screen Display) and subtitles support via <pkg>media-libs/libass</pkg></flag>
- <flag name="libmpv">Build mpv shared library</flag>
- <flag name="lua">Enable Lua scripting, OSC (On Screen Controller) GUI and <pkg>net-misc/youtube-dl</pkg> hook-script</flag>
- <flag name="opengl" restrict="<media-video/mpv-0.28.0">Enable the recommended 'opengl' video output</flag>
- <flag name="opengl" restrict=">=media-video/mpv-0.28.0">Enable support for various OpenGL-based video backends</flag>
- <flag name="raspberry-pi">Enable support for the Raspberry Pi</flag>
- <flag name="rubberband">Enable high quality pitch correction via <pkg>media-libs/rubberband</pkg></flag>
- <flag name="sdl">Enable <pkg>media-libs/libsdl2</pkg> based video and audio outputs
- (Note: these outputs exist for compatibility reasons only, avoid if possible)</flag>
- <flag name="tools">Install extra tools: mpv_identify.sh, mpv_idet.sh, and umpv</flag>
- <flag name="uchardet">Enable subtitles charset discovery via <pkg>app-i18n/uchardet</pkg></flag>
- <flag name="vulkan">Enable support for various Vulkan-based video backends</flag>
- <flag name="zimg">Enable libzimg support (for vf_fingerprint)</flag>
- <flag name="sndio">Enable support for sndio</flag>
- </use>
- <upstream>
- <remote-id type="github">mpv-player/mpv</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/media-video/mpv/mpv-0.33.1-r2.ebuild b/media-video/mpv/mpv-0.33.1-r2.ebuild
@@ -1,364 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-LUA_COMPAT=( lua5-{1..2} luajit )
-PYTHON_COMPAT=( python3_{7..9} )
-PYTHON_REQ_USE='threads(+)'
-
-WAF_PV=2.0.9
-
-inherit bash-completion-r1 flag-o-matic lua-single optfeature pax-utils python-r1 toolchain-funcs waf-utils xdg-utils
-
-DESCRIPTION="Media player based on MPlayer and mplayer2"
-HOMEPAGE="https://mpv.io/ https://github.com/mpv-player/mpv"
-
-if [[ ${PV} != *9999* ]]; then
- SRC_URI="https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux"
- DOCS=( RELEASE_NOTES )
-else
- EGIT_REPO_URI="https://github.com/mpv-player/mpv.git"
- inherit git-r3
- DOCS=(); SRC_URI=""
-fi
-SRC_URI+=" https://waf.io/waf-${WAF_PV}"
-DOCS+=( README.md DOCS/{client-api,interface}-changes.rst )
-
-# See Copyright in sources and Gentoo bug 506946. Waf is BSD, libmpv is ISC.
-LICENSE="LGPL-2.1+ GPL-2+ BSD ISC"
-SLOT="0"
-IUSE="+alsa aqua archive bluray cdda +cli coreaudio cplugins cuda debug doc drm dvb
- dvd +egl gamepad gbm +iconv jack javascript jpeg lcms libcaca libmpv +lua
- openal +opengl pulseaudio raspberry-pi rubberband sdl
- selinux sndio test tools +uchardet vaapi vdpau vulkan wayland +X +xv zlib zimg"
-
-REQUIRED_USE="
- || ( cli libmpv )
- aqua? ( opengl )
- cuda? ( opengl )
- egl? ( || ( gbm X wayland ) )
- gamepad? ( sdl )
- gbm? ( drm egl opengl )
- lcms? ( opengl )
- lua? ( ${LUA_REQUIRED_USE} )
- opengl? ( || ( aqua egl X raspberry-pi !cli ) )
- raspberry-pi? ( opengl )
- test? ( opengl )
- tools? ( cli )
- uchardet? ( iconv )
- vaapi? ( || ( gbm X wayland ) )
- vdpau? ( X )
- vulkan? ( || ( X wayland ) )
- wayland? ( egl )
- X? ( egl? ( opengl ) )
- xv? ( X )
- ${PYTHON_REQUIRED_USE}
-"
-
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
- >=media-video/ffmpeg-4.0:0=[encode,threads,vaapi?,vdpau?]
- alsa? ( >=media-libs/alsa-lib-1.0.18 )
- archive? ( >=app-arch/libarchive-3.4.0:= )
- bluray? ( >=media-libs/libbluray-0.3.0:= )
- cdda? ( dev-libs/libcdio-paranoia
- dev-libs/libcdio:= )
- drm? ( x11-libs/libdrm )
- dvd? (
- >=media-libs/libdvdnav-4.2.0:=
- >=media-libs/libdvdread-4.1.0:=
- )
- egl? ( media-libs/mesa[egl(+),gbm(-)?,wayland(-)?] )
- gamepad? ( media-libs/libsdl2 )
- iconv? (
- virtual/libiconv
- uchardet? ( app-i18n/uchardet )
- )
- jack? ( virtual/jack )
- javascript? ( >=dev-lang/mujs-1.0.0 )
- jpeg? ( virtual/jpeg:0 )
- lcms? ( >=media-libs/lcms-2.6:2 )
- >=media-libs/libass-0.12.1:=[fontconfig,harfbuzz(+)]
- virtual/ttf-fonts
- libcaca? ( >=media-libs/libcaca-0.99_beta18 )
- lua? ( ${LUA_DEPS} )
- openal? ( >=media-libs/openal-1.13 )
- pulseaudio? ( media-sound/pulseaudio )
- raspberry-pi? ( >=media-libs/raspberrypi-userland-0_pre20160305-r1 )
- rubberband? ( >=media-libs/rubberband-1.8.0 )
- sdl? ( media-libs/libsdl2[sound,threads,video] )
- sndio? ( media-sound/sndio:= )
- vaapi? ( x11-libs/libva:=[drm?,X?,wayland?] )
- vdpau? ( x11-libs/libvdpau )
- vulkan? (
- <media-libs/libplacebo-3.104.0:=[vulkan]
- media-libs/shaderc
- )
- wayland? (
- >=dev-libs/wayland-1.6.0
- >=dev-libs/wayland-protocols-1.14
- >=x11-libs/libxkbcommon-0.3.0
- )
- X? (
- x11-libs/libX11
- x11-libs/libXScrnSaver
- x11-libs/libXext
- x11-libs/libXinerama
- x11-libs/libXrandr
- opengl? (
- x11-libs/libXdamage
- virtual/opengl
- )
- xv? ( x11-libs/libXv )
- )
- zlib? ( sys-libs/zlib )
- zimg? ( >=media-libs/zimg-2.9.2 )
-"
-DEPEND="${COMMON_DEPEND}
- ${PYTHON_DEPS}
- cuda? ( >=media-libs/nv-codec-headers-8.2.15.7 )
- dvb? ( virtual/linuxtv-dvb-headers )
-"
-RDEPEND="${COMMON_DEPEND}
- cuda? ( x11-drivers/nvidia-drivers[X] )
- selinux? ( sec-policy/selinux-mplayer )
- tools? ( ${PYTHON_DEPS} )
-"
-BDEPEND="dev-python/docutils
- virtual/pkgconfig
- test? ( >=dev-util/cmocka-1.0.0 )
-"
-
-PATCHES=(
- "${FILESDIR}/mpv-0.33.1-sndio_pr9298.patch"
-)
-
-pkg_setup() {
- use lua && lua-single_pkg_setup
-}
-
-src_prepare() {
- cp "${DISTDIR}/waf-${WAF_PV}" "${S}"/waf || die
- chmod +x "${S}"/waf || die
- default
-}
-
-src_configure() {
- python_setup
- tc-export CC PKG_CONFIG AR
-
- if use raspberry-pi; then
- append-cflags -I"${SYSROOT%/}${EPREFIX}/opt/vc/include"
- append-ldflags -L"${SYSROOT%/}${EPREFIX}/opt/vc/lib"
- fi
-
- local mywafargs=(
- --confdir="${EPREFIX}/etc/${PN}"
-
- $(usex cli '' '--disable-cplayer')
- $(use_enable libmpv libmpv-shared)
-
- --disable-libmpv-static
- --disable-static-build
- # See deep down below for build-date.
- --disable-optimize # Don't add '-O2' to CFLAGS.
- $(usex debug '' '--disable-debug-build')
-
- $(use_enable doc html-build)
- --disable-pdf-build
- --enable-manpage-build
- $(use_enable cplugins)
- $(use_enable test)
-
- $(use_enable iconv)
- $(use_enable lua)
- $(use_enable javascript)
- $(use_enable zlib)
- $(use_enable bluray libbluray)
- $(use_enable dvd dvdnav)
- $(use_enable cdda)
- $(use_enable uchardet)
- $(use_enable rubberband)
- $(use_enable lcms lcms2)
- --disable-vapoursynth # Only available in overlays.
- $(use_enable archive libarchive)
-
- --enable-libavdevice
-
- # Audio outputs:
- $(use_enable sdl sdl2) # Listed under audio, but also includes video.
- $(use_enable pulseaudio pulse)
- $(use_enable sndio)
- $(use_enable jack)
- $(use_enable openal)
- --disable-opensles
- $(use_enable alsa)
- $(use_enable coreaudio)
-
- # Video outputs:
- $(use_enable aqua cocoa)
- $(use_enable drm)
- $(use_enable gbm)
- $(use_enable wayland wayland-scanner)
- $(use_enable wayland wayland-protocols)
- $(use_enable wayland)
- $(use_enable X x11)
- $(use_enable xv)
- $(usex opengl "$(use_enable aqua gl-cocoa)" '--disable-gl-cocoa')
- $(usex opengl "$(use_enable X gl-x11)" '--disable-gl-x11')
- $(usex egl "$(use_enable X egl-x11)" '--disable-egl-x11')
- $(usex egl "$(use_enable gbm egl-drm)" '--disable-egl-drm')
- $(usex opengl "$(use_enable wayland gl-wayland)" '--disable-gl-wayland')
- $(use_enable vdpau)
- $(usex vdpau "$(use_enable opengl vdpau-gl-x11)" '--disable-vdpau-gl-x11')
- $(use_enable vaapi) # See below for vaapi-glx, vaapi-x-egl.
- $(usex vaapi "$(use_enable X vaapi-x11)" '--disable-vaapi-x11')
- $(usex vaapi "$(use_enable wayland vaapi-wayland)" '--disable-vaapi-wayland')
- $(usex vaapi "$(use_enable gbm vaapi-drm)" '--disable-vaapi-drm')
- $(use_enable libcaca caca)
- $(use_enable jpeg)
- $(use_enable vulkan shaderc)
- $(use_enable vulkan libplacebo)
- $(use_enable raspberry-pi rpi)
- $(usex libmpv "$(use_enable opengl plain-gl)" '--disable-plain-gl')
- $(usex opengl '' '--disable-gl')
- $(use_enable vulkan)
- $(use_enable gamepad sdl2-gamepad)
-
- # HWaccels:
- # Automagic Video Toolbox HW acceleration. See Gentoo bug 577332.
- $(use_enable cuda cuda-hwaccel)
- $(use_enable cuda cuda-interop)
-
- # TV features:
- $(use_enable dvb dvbin)
-
- # Miscellaneous features:
- $(use_enable zimg)
- )
- if use lua; then
- if use lua_single_target_luajit; then
- mywafargs+=( --lua="luajit" )
- else
- # Because it would be too simple to just let the user directly
- # specify the package name to check, wouldn't it.
- mywafargs+=( --lua="$(ver_rs 1 '' $(ver_cut 1-2 $(lua_get_version)))" )
- fi
- fi
-
- if use vaapi && use X; then
- mywafargs+=(
- $(use_enable egl vaapi-x-egl)
- )
- fi
-
- # Not for us
- mywafargs+=(
- --disable-android
- --disable-egl-android
- --disable-uwp
- --disable-audiounit
- --disable-macos-media-player
- --disable-wasapi
- --disable-ios-gl
- --disable-macos-touchbar
- --disable-macos-cocoa-cb
- --disable-tvos
- --disable-egl-angle-win32
- )
-
- mywafargs+=(
- --bashdir="$(get_bashcompdir)"
- --zshdir="${EPREFIX}"/usr/share/zsh/site-functions
-)
-
- # Create reproducible non-live builds.
- [[ ${PV} != *9999* ]] && mywafargs+=(--disable-build-date)
-
- waf-utils_src_configure "${mywafargs[@]}"
-}
-
-src_install() {
- waf-utils_src_install
-
- if use lua; then
- insinto /usr/share/${PN}
- doins -r TOOLS/lua
- fi
-
- if use cli && use lua_single_target_luajit; then
- pax-mark -m "${ED}"/usr/bin/${PN}
- fi
-
- if use tools; then
- dobin TOOLS/{mpv_identify.sh,umpv}
- newbin TOOLS/idet.sh mpv_idet.sh
- python_replicate_script "${ED}"/usr/bin/umpv
- fi
-}
-
-pkg_postinst() {
- local rv softvol_0_18_1=0 osc_0_21_0=0 txtsubs_0_24_0=0 opengl_0_25_0=0
-
- for rv in ${REPLACING_VERSIONS}; do
- ver_test ${rv} -lt 0.18.1 && softvol_0_18_1=1
- ver_test ${rv} -lt 0.21.0 && osc_0_21_0=1
- ver_test ${rv} -lt 0.24.0 && txtsubs_0_24_0=1
- ver_test ${rv} -lt 0.25.0 && ! use opengl && opengl_0_25_0=1
- done
-
- if [[ ${softvol_0_18_1} -eq 1 ]]; then
- elog "Since version 0.18.1 the software volume control is always enabled."
- elog "This means that volume controls don't change the system volume,"
- elog "e.g. per-application volume with PulseAudio."
- elog "If you want to restore the previous behaviour, please refer to"
- elog
- elog "https://wiki.gentoo.org/wiki/Mpv#Volume_in_0.18.1"
- elog
- fi
-
- if [[ ${osc_0_21_0} -eq 1 ]]; then
- elog "In version 0.21.0 the default OSC layout was changed."
- elog "If you want to restore the previous layout, please refer to"
- elog
- elog "https://wiki.gentoo.org/wiki/Mpv#OSC_in_0.21.0"
- elog
- fi
-
- if [[ ${txtsubs_0_24_0} -eq 1 ]]; then
- elog "Since version 0.24.0 subtitles with .txt extension aren't autoloaded."
- elog "If you want to restore the previous behaviour, please refer to"
- elog
- elog "https://wiki.gentoo.org/wiki/Mpv#Subtitles_with_.txt_extension_in_0.24.0"
- elog
- fi
-
- if [[ ${opengl_0_25_0} -eq 1 ]]; then
- elog "Since version 0.25.0 the 'opengl' USE flag is mapped to"
- elog "the 'opengl' video output and no longer explicitly requires"
- elog "X11 or Mac OS Aqua. Consider enabling the 'opengl' USE flag."
- fi
-
- optfeature "URL support" net-misc/youtube-dl
-
- xdg_icon_cache_update
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_desktop_database_update
-}
-
-src_test() {
- cd "${S}"/build/test || die
- local test
- for test in *; do
- if [[ -x ${test} ]]; then
- ./"${test}" || die "Test suite failed"
- fi
- done
-}
diff --git a/media-video/mpv/mpv-0.34.1-r2.ebuild b/media-video/mpv/mpv-0.34.1-r2.ebuild
@@ -1,364 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-LUA_COMPAT=( lua5-{1..2} luajit )
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE='threads(+)'
-
-WAF_PV=2.0.22
-
-inherit bash-completion-r1 flag-o-matic lua-single optfeature pax-utils python-r1 toolchain-funcs waf-utils xdg-utils
-
-DESCRIPTION="Media player based on MPlayer and mplayer2"
-HOMEPAGE="https://mpv.io/ https://github.com/mpv-player/mpv"
-
-if [[ ${PV} != *9999* ]]; then
- SRC_URI="https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux"
- DOCS=( RELEASE_NOTES )
-else
- EGIT_REPO_URI="https://github.com/mpv-player/mpv.git"
- inherit git-r3
- DOCS=(); SRC_URI=""
-fi
-SRC_URI+=" https://waf.io/waf-${WAF_PV}"
-DOCS+=( README.md DOCS/{client-api,interface}-changes.rst )
-
-# See Copyright in sources and Gentoo bug 506946. Waf is BSD, libmpv is ISC.
-LICENSE="LGPL-2.1+ GPL-2+ BSD ISC"
-SLOT="0"
-IUSE="+alsa aqua archive bluray cdda +cli coreaudio cplugins debug doc drm dvb
- dvd +egl gamepad gbm +iconv jack javascript jpeg lcms libcaca libmpv +lua
- nvenc openal +opengl pulseaudio raspberry-pi rubberband sdl
- selinux sndio test tools +uchardet vaapi vdpau vulkan wayland +X +xv zlib zimg"
-
-REQUIRED_USE="
- || ( cli libmpv )
- aqua? ( opengl )
- egl? ( || ( gbm X wayland ) )
- gamepad? ( sdl )
- gbm? ( drm egl opengl )
- lcms? ( opengl )
- lua? ( ${LUA_REQUIRED_USE} )
- nvenc? ( opengl )
- opengl? ( || ( aqua egl X raspberry-pi !cli ) )
- raspberry-pi? ( opengl )
- test? ( opengl )
- tools? ( cli )
- uchardet? ( iconv )
- vaapi? ( || ( gbm X wayland ) )
- vdpau? ( X )
- vulkan? ( || ( X wayland ) )
- wayland? ( egl )
- X? ( egl? ( opengl ) )
- xv? ( X )
- ${PYTHON_REQUIRED_USE}
-"
-
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
- >=media-video/ffmpeg-4.0:0=[encode,threads,vaapi?,vdpau?]
- alsa? ( >=media-libs/alsa-lib-1.0.18 )
- archive? ( >=app-arch/libarchive-3.4.0:= )
- bluray? ( >=media-libs/libbluray-0.3.0:= )
- cdda? ( dev-libs/libcdio-paranoia
- dev-libs/libcdio:= )
- drm? ( x11-libs/libdrm )
- dvd? (
- >=media-libs/libdvdnav-4.2.0:=
- >=media-libs/libdvdread-4.1.0:=
- )
- egl? ( media-libs/mesa[egl(+),gbm(+)?,wayland(-)?] )
- gamepad? ( media-libs/libsdl2 )
- iconv? (
- virtual/libiconv
- uchardet? ( app-i18n/uchardet )
- )
- jack? ( virtual/jack )
- javascript? ( >=dev-lang/mujs-1.0.0 )
- jpeg? ( virtual/jpeg:0 )
- lcms? ( >=media-libs/lcms-2.6:2 )
- >=media-libs/libass-0.12.1:=[fontconfig,harfbuzz(+)]
- virtual/ttf-fonts
- libcaca? ( >=media-libs/libcaca-0.99_beta18 )
- lua? ( ${LUA_DEPS} )
- openal? ( >=media-libs/openal-1.13 )
- pulseaudio? ( media-sound/pulseaudio )
- raspberry-pi? ( >=media-libs/raspberrypi-userland-0_pre20160305-r1 )
- rubberband? ( >=media-libs/rubberband-1.8.0 )
- sdl? ( media-libs/libsdl2[sound,threads,video] )
- sndio? ( media-sound/sndio:= )
- vaapi? ( x11-libs/libva:=[drm(+)?,X?,wayland?] )
- vdpau? ( x11-libs/libvdpau )
- vulkan? (
- >=media-libs/libplacebo-3.104.0:=[vulkan]
- media-libs/shaderc
- )
- wayland? (
- >=dev-libs/wayland-1.6.0
- >=dev-libs/wayland-protocols-1.14
- >=x11-libs/libxkbcommon-0.3.0
- )
- X? (
- x11-libs/libX11
- x11-libs/libXScrnSaver
- x11-libs/libXext
- x11-libs/libXinerama
- x11-libs/libXrandr
- opengl? (
- x11-libs/libXdamage
- virtual/opengl
- )
- xv? ( x11-libs/libXv )
- )
- zlib? ( sys-libs/zlib )
- zimg? ( >=media-libs/zimg-2.9.2 )
-"
-DEPEND="${COMMON_DEPEND}
- ${PYTHON_DEPS}
- dvb? ( virtual/linuxtv-dvb-headers )
- nvenc? ( >=media-libs/nv-codec-headers-8.2.15.7 )
-"
-RDEPEND="${COMMON_DEPEND}
- nvenc? ( x11-drivers/nvidia-drivers[X] )
- selinux? ( sec-policy/selinux-mplayer )
- tools? ( ${PYTHON_DEPS} )
-"
-BDEPEND="dev-python/docutils
- virtual/pkgconfig
- test? ( >=dev-util/cmocka-1.0.0 )
-"
-
-PATCHES=(
- "${FILESDIR}/mpv-0.33.1-sndio_pr9298.patch"
-)
-
-pkg_setup() {
- use lua && lua-single_pkg_setup
-}
-
-src_prepare() {
- cp "${DISTDIR}/waf-${WAF_PV}" "${S}"/waf || die
- chmod +x "${S}"/waf || die
- default
-}
-
-src_configure() {
- python_setup
- tc-export CC PKG_CONFIG AR
-
- if use raspberry-pi; then
- append-cflags -I"${ESYSROOT}/opt/vc/include"
- append-ldflags -L"${ESYSROOT}/opt/vc/lib"
- fi
-
- local mywafargs=(
- --confdir="${EPREFIX}/etc/${PN}"
-
- $(usex cli '' '--disable-cplayer')
- $(use_enable libmpv libmpv-shared)
-
- --disable-libmpv-static
- --disable-static-build
- # See deep down below for build-date.
- --disable-optimize # Don't add '-O2' to CFLAGS.
- $(usex debug '' '--disable-debug-build')
-
- $(use_enable doc html-build)
- --disable-pdf-build
- --enable-manpage-build
- $(use_enable cplugins)
- $(use_enable test)
-
- $(use_enable iconv)
- $(use_enable lua)
- $(use_enable javascript)
- $(use_enable zlib)
- $(use_enable bluray libbluray)
- $(use_enable dvd dvdnav)
- $(use_enable cdda)
- $(use_enable uchardet)
- $(use_enable rubberband)
- $(use_enable lcms lcms2)
- --disable-vapoursynth # Only available in overlays.
- $(use_enable archive libarchive)
-
- --enable-libavdevice
-
- # Audio outputs:
- $(use_enable sdl sdl2) # Listed under audio, but also includes video.
- $(use_enable pulseaudio pulse)
- $(use_enable sndio)
- $(use_enable jack)
- $(use_enable openal)
- --disable-opensles
- $(use_enable alsa)
- $(use_enable coreaudio)
-
- # Video outputs:
- $(use_enable aqua cocoa)
- $(use_enable drm)
- $(use_enable gbm)
- $(use_enable wayland wayland-scanner)
- $(use_enable wayland wayland-protocols)
- $(use_enable wayland)
- $(use_enable X x11)
- $(use_enable xv)
- $(usex opengl "$(use_enable aqua gl-cocoa)" '--disable-gl-cocoa')
- $(usex opengl "$(use_enable X gl-x11)" '--disable-gl-x11')
- $(usex egl "$(use_enable X egl-x11)" '--disable-egl-x11')
- $(usex egl "$(use_enable gbm egl-drm)" '--disable-egl-drm')
- $(usex opengl "$(use_enable wayland gl-wayland)" '--disable-gl-wayland')
- $(use_enable vdpau)
- $(usex vdpau "$(use_enable opengl vdpau-gl-x11)" '--disable-vdpau-gl-x11')
- $(use_enable vaapi) # See below for vaapi-glx, vaapi-x-egl.
- $(usex vaapi "$(use_enable X vaapi-x11)" '--disable-vaapi-x11')
- $(usex vaapi "$(use_enable wayland vaapi-wayland)" '--disable-vaapi-wayland')
- $(usex vaapi "$(use_enable gbm vaapi-drm)" '--disable-vaapi-drm')
- $(use_enable libcaca caca)
- $(use_enable jpeg)
- $(use_enable vulkan shaderc)
- $(use_enable vulkan libplacebo)
- $(use_enable raspberry-pi rpi)
- $(usex libmpv "$(use_enable opengl plain-gl)" '--disable-plain-gl')
- $(usex opengl '' '--disable-gl')
- $(use_enable vulkan)
- $(use_enable gamepad sdl2-gamepad)
-
- # HWaccels:
- # Automagic Video Toolbox HW acceleration. See Gentoo bug 577332.
- $(use_enable nvenc cuda-hwaccel)
- $(use_enable nvenc cuda-interop)
-
- # TV features:
- $(use_enable dvb dvbin)
-
- # Miscellaneous features:
- $(use_enable zimg)
- )
- if use lua; then
- if use lua_single_target_luajit; then
- mywafargs+=( --lua="luajit" )
- else
- # Because it would be too simple to just let the user directly
- # specify the package name to check, wouldn't it.
- mywafargs+=( --lua="$(ver_rs 1 '' $(ver_cut 1-2 $(lua_get_version)))" )
- fi
- fi
-
- if use vaapi && use X; then
- mywafargs+=(
- $(use_enable egl vaapi-x-egl)
- )
- fi
-
- # Not for us
- mywafargs+=(
- --disable-android
- --disable-egl-android
- --disable-uwp
- --disable-audiounit
- --disable-macos-media-player
- --disable-wasapi
- --disable-ios-gl
- --disable-macos-touchbar
- --disable-macos-cocoa-cb
- --disable-tvos
- --disable-egl-angle-win32
- )
-
- mywafargs+=(
- --bashdir="$(get_bashcompdir)"
- --zshdir="${EPREFIX}"/usr/share/zsh/site-functions
-)
-
- # Create reproducible non-live builds.
- [[ ${PV} != *9999* ]] && mywafargs+=(--disable-build-date)
-
- waf-utils_src_configure "${mywafargs[@]}"
-}
-
-src_install() {
- waf-utils_src_install
-
- if use lua; then
- insinto /usr/share/${PN}
- doins -r TOOLS/lua
- fi
-
- if use cli && use lua_single_target_luajit; then
- pax-mark -m "${ED}"/usr/bin/${PN}
- fi
-
- if use tools; then
- dobin TOOLS/{mpv_identify.sh,umpv}
- newbin TOOLS/idet.sh mpv_idet.sh
- python_replicate_script "${ED}"/usr/bin/umpv
- fi
-}
-
-pkg_postinst() {
- local rv softvol_0_18_1=0 osc_0_21_0=0 txtsubs_0_24_0=0 opengl_0_25_0=0
-
- for rv in ${REPLACING_VERSIONS}; do
- ver_test ${rv} -lt 0.18.1 && softvol_0_18_1=1
- ver_test ${rv} -lt 0.21.0 && osc_0_21_0=1
- ver_test ${rv} -lt 0.24.0 && txtsubs_0_24_0=1
- ver_test ${rv} -lt 0.25.0 && ! use opengl && opengl_0_25_0=1
- done
-
- if [[ ${softvol_0_18_1} -eq 1 ]]; then
- elog "Since version 0.18.1 the software volume control is always enabled."
- elog "This means that volume controls don't change the system volume,"
- elog "e.g. per-application volume with PulseAudio."
- elog "If you want to restore the previous behaviour, please refer to"
- elog
- elog "https://wiki.gentoo.org/wiki/Mpv#Volume_in_0.18.1"
- elog
- fi
-
- if [[ ${osc_0_21_0} -eq 1 ]]; then
- elog "In version 0.21.0 the default OSC layout was changed."
- elog "If you want to restore the previous layout, please refer to"
- elog
- elog "https://wiki.gentoo.org/wiki/Mpv#OSC_in_0.21.0"
- elog
- fi
-
- if [[ ${txtsubs_0_24_0} -eq 1 ]]; then
- elog "Since version 0.24.0 subtitles with .txt extension aren't autoloaded."
- elog "If you want to restore the previous behaviour, please refer to"
- elog
- elog "https://wiki.gentoo.org/wiki/Mpv#Subtitles_with_.txt_extension_in_0.24.0"
- elog
- fi
-
- if [[ ${opengl_0_25_0} -eq 1 ]]; then
- elog "Since version 0.25.0 the 'opengl' USE flag is mapped to"
- elog "the 'opengl' video output and no longer explicitly requires"
- elog "X11 or Mac OS Aqua. Consider enabling the 'opengl' USE flag."
- fi
-
- optfeature "URL support" net-misc/yt-dlp
-
- xdg_icon_cache_update
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_desktop_database_update
-}
-
-src_test() {
- cd "${S}"/build/test || die
- local test
- for test in *; do
- if [[ -x ${test} ]]; then
- ./"${test}" || die "Test suite failed"
- fi
- done
-}