diff options
author | Ilya Tumaykin <itumaykin@gmail.com> | 2018-02-13 23:45:44 +0300 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2018-02-14 20:55:01 +0100 |
commit | 3d5afe3355122f1975cfc4f4f338b926a3476e86 (patch) | |
tree | c471656629e43aeecf5b92178d41124e99538f4f /media-video/mpv | |
parent | media-video/mpv: verbump to 0.27.1 and 0.28.1 with fix for CVE-2018-6360 (diff) | |
download | gentoo-3d5afe3355122f1975cfc4f4f338b926a3476e86.tar.gz gentoo-3d5afe3355122f1975cfc4f4f338b926a3476e86.tar.bz2 gentoo-3d5afe3355122f1975cfc4f4f338b926a3476e86.zip |
media-video/mpv: remove vulnerable versions
Package-Manager: Portage-2.3.24, Repoman-2.3.6
Diffstat (limited to 'media-video/mpv')
-rw-r--r-- | media-video/mpv/Manifest | 3 | ||||
-rw-r--r-- | media-video/mpv/files/0.27.0/mpv-0.27.0-fix-hwdec-autoprobing.patch | 50 | ||||
-rw-r--r-- | media-video/mpv/files/0.27.0/mpv-0.27.0-fix-wrong-colors-with-hwdec.patch | 44 | ||||
-rw-r--r-- | media-video/mpv/files/0.27.0/mpv-0.27.0-remove-duplicate-android-option.patch | 27 | ||||
-rw-r--r-- | media-video/mpv/files/0.27.0/mpv-0.27.0-support-libva2.patch | 86 | ||||
-rw-r--r-- | media-video/mpv/mpv-0.26.0.ebuild | 374 | ||||
-rw-r--r-- | media-video/mpv/mpv-0.27.0-r1.ebuild | 371 | ||||
-rw-r--r-- | media-video/mpv/mpv-0.28.0.ebuild | 361 |
8 files changed, 0 insertions, 1316 deletions
diff --git a/media-video/mpv/Manifest b/media-video/mpv/Manifest index 7d531db6ac58..f86d59269f77 100644 --- a/media-video/mpv/Manifest +++ b/media-video/mpv/Manifest @@ -1,9 +1,6 @@ DIST mpv-0.25.0-patches-r2.tar.xz 11036 BLAKE2B 09fdd566c5fcca290829c536c9e41b655e254d64e63714281119d62e6963f07f8d384eccb3f8ea6ccb2a9b63a60e19bb7ff1fd4b8e4ccccdc9b1fd8e58a7c628 SHA512 fc8d2a23dff27131d2c18d3f91861ec6e6d5240e6531d1a04c06ebef8d5467250c4f131d9faee802842e1ea485dbf350b43a3eebcc13c230cd45ff875fc855e2 DIST mpv-0.25.0.tar.gz 2874584 BLAKE2B c64321b50fd635f82bbcbce5cdefee1d0da011558cebdacd3339aaa14162f659c955bea75341ed21096eea5b689e4c1ca4d2d97feff1f4026044ddd61bdd9944 SHA512 eefc574e2995ddf6bd15c9b62986a5ca277c30949b036d57a11bbfb796c11c1e6dd7c313abd91a909dd98ca0f2b0be29ec6b980d0287a5891b42b0ffba926cbf -DIST mpv-0.26.0.tar.gz 2916212 BLAKE2B b6402868face65c1179351697eff02116765eecdd105eef621faa73dc77f376aa060476bc80b92eba4839c46836c13bce0e56c6dccf0fe1aa49b1cfa463ec43e SHA512 fd772b4765317eb1ea3b54f12b86e0ac6c4d5e9d16895eb5bebe2e074a01f6b790981b9b34a87d9b23e4291149d3a7154b09fba4a259cec1949a6aa88d6ddec7 -DIST mpv-0.27.0.tar.gz 2956816 BLAKE2B 2af0fc7edbecb552fd7df93dcd9124fd4e30a2c29aa53d2139f2817356a6c4eb82eed74a8fdf0493ebb0315cb2806d76a8b2d8c24706975acf4d4704fd291dac SHA512 22738f907d84d362095773972f685e3b03ab4c8172a22ddede290fc221a83ab9135b96f8b18191dabe842b2963f68983929cf065097287fc1a054a7d5f1d0ae4 DIST mpv-0.27.1-patches-r0.tar.xz 6580 BLAKE2B fdf5f580fbda9ec6856354d43fd80a177464af27ea6f65ab31c610996fced64670f178956b4030c9c34d0707f8fa4544c829e4401679d2e2d6e730b19ebfe6d8 SHA512 8f25c51f0a3c6b5304090144b8343afba4d872216f8fa13890240a51ac464bd2c486b017390d4d3398d7082ffdf3e617659861f15505bd2db72b6f5ab4500bcb DIST mpv-0.27.1.tar.gz 2957202 BLAKE2B 79dd06ba9399368f24c2c0a065218432110829af08d97cfdf753966ec7ca75e5af8f04da381f83251cb57bdce9b30c0d2d8c6fc772f73b5a0ed43139ce66a316 SHA512 3b8e12edb20b6ffdbbb02aba9cc64ad25e4fb583efc72248549641a46cc840827c1b6b017e7efc323d8a8299b7b094a676525bd978b8c3c9ecccca32fe39149a -DIST mpv-0.28.0.tar.gz 2982165 BLAKE2B 50f095d499df9685dec958287c159fc88be3b5db1465264404ba7c74184569ba47c147cb6491342ba8762199290f408737d03403e454a180bd0ed8b7191d14cc SHA512 33e889f9ca2dd16ad055ccd9fc5549fcead3fd15dcbc52c6b5f3ef608cf87b3d9952e9236e3dec8e7f32240b68d0b0cff1499f511d39c8f3a0501334f5c57a70 DIST mpv-0.28.1.tar.gz 2982546 BLAKE2B ae078e3393b1113a8211699da1fea867324c50d3696ab82446996f04b2571b29791811b3d3dc082761ca36d63c9b1aa844d7cd56b740e73821b3e7ca35d39512 SHA512 7593e5dbb5963bf39f57f8a08f1b5142474897172a2c6cafcbfd3a83a2f0cfb9a3e5d62eea6625f01aae8ccc236b738511846cd5a5016b93d2510f12f0be7624 DIST waf-1.9.8 100685 BLAKE2B b335115b7ba5af4f8f49fc4da7967fa20e0633bfc7de7ad28fdb58dfcf7ae9c7833d053d298280e26e94b18af70a66fc13d08adf1fc7f9ad9b81e70d95cc74fc SHA512 e7493767f65deeb38aa162adef22adf60ebbd038410e9cdf4fe6f0de8c43395dbbba14962aa2c3855e1277136085fc22ad12ebfb8ac4e76f16358296039b8ea2 diff --git a/media-video/mpv/files/0.27.0/mpv-0.27.0-fix-hwdec-autoprobing.patch b/media-video/mpv/files/0.27.0/mpv-0.27.0-fix-hwdec-autoprobing.patch deleted file mode 100644 index e83be2250e72..000000000000 --- a/media-video/mpv/files/0.27.0/mpv-0.27.0-fix-hwdec-autoprobing.patch +++ /dev/null @@ -1,50 +0,0 @@ -commit b881881dbd38a1720a9f8401fd1baafdd0dfccc0 -Author: wm4 <wm4@nowhere> -Date: Tue Sep 19 18:33:37 2017 +0200 - -Revert "vd_lavc: change auto-probe order to prefer cuda over vdpau-copy" - -This reverts commit 96462040ec79b353457b64949f96fad30bd6e988. - -I guess the autoprobing is still too primitive to handle this well. What -it really should be trying is initializing the wrapper decoder, and if -that doesn't work, try another method. This is complicated by hwaccels -initializing in a delayed way, so there is no easy solution yet. - -Probably fixes #4865. - -diff --git a/video/decode/vd_lavc.c b/video/decode/vd_lavc.c -index 476beeb9e..e08246a29 100644 ---- a/video/decode/vd_lavc.c -+++ b/video/decode/vd_lavc.c -@@ -261,11 +261,16 @@ static const struct vd_lavc_hwdec *const hwdec_list[] = { - #endif - #if HAVE_VDPAU_HWACCEL - &mp_vd_lavc_vdpau, -+ &mp_vd_lavc_vdpau_copy, - #endif - #if HAVE_VIDEOTOOLBOX_HWACCEL - &mp_vd_lavc_videotoolbox, - &mp_vd_lavc_videotoolbox_copy, - #endif -+#if HAVE_VAAPI_HWACCEL -+ &mp_vd_lavc_vaapi, -+ &mp_vd_lavc_vaapi_copy, -+#endif - #if HAVE_D3D_HWACCEL - &mp_vd_lavc_d3d11va, - -@@ -285,13 +290,6 @@ static const struct vd_lavc_hwdec *const hwdec_list[] = { - &mp_vd_lavc_cuda_old, - #endif - &mp_vd_lavc_cuda_copy, --#endif --#if HAVE_VDPAU_HWACCEL -- &mp_vd_lavc_vdpau_copy, --#endif --#if HAVE_VAAPI_HWACCEL -- &mp_vd_lavc_vaapi, -- &mp_vd_lavc_vaapi_copy, - #endif - &mp_vd_lavc_crystalhd, - NULL diff --git a/media-video/mpv/files/0.27.0/mpv-0.27.0-fix-wrong-colors-with-hwdec.patch b/media-video/mpv/files/0.27.0/mpv-0.27.0-fix-wrong-colors-with-hwdec.patch deleted file mode 100644 index f7d3129d8559..000000000000 --- a/media-video/mpv/files/0.27.0/mpv-0.27.0-fix-wrong-colors-with-hwdec.patch +++ /dev/null @@ -1,44 +0,0 @@ -commit 810990a7465f31ee5ff5e29ebea1fb783e5ed502 -Author: wm4 <wm4@nowhere> -Date: Tue Sep 19 18:59:01 2017 +0200 - -mp_image: always copy color attributes on hw download - -It was noticed that -copy hwdec modes typically dropped the -chroma_location field. This happened because the attributes on hw -download are copied with mp_image_copy_attributes(), which tries to copy -these parameters only if src and dst were both YUV (in an attempt to -copy parameters only if it makes sense). - -But hardware formats did not have the YUV flag set (anymore?), and code -shouldn't attempt to check the flag in this way anyway. Drop the check, -and always copy the whole color metadata struct. There is a call to -mp_image_params_guess_csp() below, which tries to unset nonsense -metadata if it was copied from a YUV format to RGB. This function would -also do the right thing for hw formats (although for the cited bug only -the software case matters). - -Fixes #4804. - -diff --git a/video/mp_image.c b/video/mp_image.c -index 7180e2be5..5aa564775 100644 ---- a/video/mp_image.c -+++ b/video/mp_image.c -@@ -525,15 +525,8 @@ void mp_image_copy_attributes(struct mp_image *dst, struct mp_image *src) - dst->params.p_w = src->params.p_w; - dst->params.p_h = src->params.p_h; - } -- dst->params.color.primaries = src->params.color.primaries; -- dst->params.color.gamma = src->params.color.gamma; -- dst->params.color.sig_peak = src->params.color.sig_peak; -- dst->params.color.light = src->params.color.light; -- if ((dst->fmt.flags & MP_IMGFLAG_YUV) == (src->fmt.flags & MP_IMGFLAG_YUV)) { -- dst->params.color.space = src->params.color.space; -- dst->params.color.levels = src->params.color.levels; -- dst->params.chroma_location = src->params.chroma_location; -- } -+ dst->params.color = src->params.color; -+ dst->params.chroma_location = src->params.chroma_location; - dst->params.spherical = src->params.spherical; - mp_image_params_guess_csp(&dst->params); // ensure colorspace consistency - if ((dst->fmt.flags & MP_IMGFLAG_PAL) && (src->fmt.flags & MP_IMGFLAG_PAL)) { diff --git a/media-video/mpv/files/0.27.0/mpv-0.27.0-remove-duplicate-android-option.patch b/media-video/mpv/files/0.27.0/mpv-0.27.0-remove-duplicate-android-option.patch deleted file mode 100644 index 3f2a5d1f56a3..000000000000 --- a/media-video/mpv/files/0.27.0/mpv-0.27.0-remove-duplicate-android-option.patch +++ /dev/null @@ -1,27 +0,0 @@ -commit 8810c1fc050347e1bef0d3eb89edd30c8e840648 -Author: Ilya Tumaykin <itumaykin@gmail.com> -Date: Sun Sep 17 21:54:37 2017 +0300 - -build: remove duplicate android option after 72a8120da - -The first one (line 140) comes from 69650851f8 and is the correct one. -The second one (line 731) comes from 72a8120daa and slipped in with the -revert commit. - -Remove the second one. - -diff --git a/wscript b/wscript -index 9d885884d..9fe5b0bc8 100644 ---- a/wscript -+++ b/wscript -@@ -727,10 +727,6 @@ video_output_features = [ - 'desc': 'Direct3D support', - 'deps': [ 'win32-desktop' ], - 'func': check_cc(header_name='d3d9.h'), -- }, { -- 'name': '--android', -- 'desc': 'Android support', -- 'func': check_statement('android/api-level.h', '(void)__ANDROID__'), # arbitrary android-specific header - }, { - # We need MMAL/bcm_host/dispmanx APIs. Also, most RPI distros require - # every project to hardcode the paths to the include directories. Also, diff --git a/media-video/mpv/files/0.27.0/mpv-0.27.0-support-libva2.patch b/media-video/mpv/files/0.27.0/mpv-0.27.0-support-libva2.patch deleted file mode 100644 index 8ae7f537682f..000000000000 --- a/media-video/mpv/files/0.27.0/mpv-0.27.0-support-libva2.patch +++ /dev/null @@ -1,86 +0,0 @@ -commit 2ecf240b1cd20875991a5b18efafbe799864ff7f -Author: Mark Thompson <sw@jkqxz.net> -Date: Mon Oct 9 20:10:26 2017 +0100 - -vaapi: Use libva2 message callbacks - -They are no longer global, so they work vaguely sensibly. - -diff --git a/video/vaapi.c b/video/vaapi.c -index 6bedbbaa18..3b1cb9cc41 100644 ---- a/video/vaapi.c -+++ b/video/vaapi.c -@@ -40,9 +40,27 @@ int va_get_colorspace_flag(enum mp_csp csp) - return 0; - } - --// VA message callbacks are global and do not have a context parameter, so it's --// impossible to know from which VADisplay they originate. Try to route them --// to existing mpv/libmpv instances within this process. -+#if VA_CHECK_VERSION(1, 0, 0) -+static void va_message_callback(void *context, const char *msg, int mp_level) -+{ -+ struct mp_vaapi_ctx *res = context; -+ mp_msg(res->log, mp_level, "libva: %s", msg); -+} -+ -+static void va_error_callback(void *context, const char *msg) -+{ -+ va_message_callback(context, msg, MSGL_ERR); -+} -+ -+static void va_info_callback(void *context, const char *msg) -+{ -+ va_message_callback(context, msg, MSGL_V); -+} -+#else -+// Pre-libva2 VA message callbacks are global and do not have a context -+// parameter, so it's impossible to know from which VADisplay they -+// originate. Try to route them to existing mpv/libmpv instances within -+// this process. - static pthread_mutex_t va_log_mutex = PTHREAD_MUTEX_INITIALIZER; - static struct mp_vaapi_ctx **va_mpv_clients; - static int num_va_mpv_clients; -@@ -77,6 +95,7 @@ static void va_info_callback(const char *msg) - { - va_message_callback(msg, MSGL_V); - } -+#endif - - static void open_lavu_vaapi_device(struct mp_vaapi_ctx *ctx) - { -@@ -108,6 +127,10 @@ struct mp_vaapi_ctx *va_initialize(VADisplay *display, struct mp_log *plog, - }, - }; - -+#if VA_CHECK_VERSION(1, 0, 0) -+ vaSetErrorCallback(display, va_error_callback, res); -+ vaSetInfoCallback(display, va_info_callback, res); -+#else - pthread_mutex_lock(&va_log_mutex); - MP_TARRAY_APPEND(NULL, va_mpv_clients, num_va_mpv_clients, res); - pthread_mutex_unlock(&va_log_mutex); -@@ -117,6 +140,7 @@ struct mp_vaapi_ctx *va_initialize(VADisplay *display, struct mp_log *plog, - #ifdef VA_FOURCC_I010 - vaSetErrorCallback(va_error_callback); - vaSetInfoCallback(va_info_callback); -+#endif - #endif - - int major, minor; -@@ -154,6 +178,7 @@ void va_destroy(struct mp_vaapi_ctx *ctx) - if (ctx->destroy_native_ctx) - ctx->destroy_native_ctx(ctx->native_ctx); - -+#if !VA_CHECK_VERSION(1, 0, 0) - pthread_mutex_lock(&va_log_mutex); - for (int n = 0; n < num_va_mpv_clients; n++) { - if (va_mpv_clients[n] == ctx) { -@@ -164,6 +189,7 @@ void va_destroy(struct mp_vaapi_ctx *ctx) - if (num_va_mpv_clients == 0) - TA_FREEP(&va_mpv_clients); // avoid triggering leak detectors - pthread_mutex_unlock(&va_log_mutex); -+#endif - - talloc_free(ctx); - } diff --git a/media-video/mpv/mpv-0.26.0.ebuild b/media-video/mpv/mpv-0.26.0.ebuild deleted file mode 100644 index c3ff2f124af7..000000000000 --- a/media-video/mpv/mpv-0.26.0.ebuild +++ /dev/null @@ -1,374 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python{2_7,3_4,3_5} ) -PYTHON_REQ_USE='threads(+)' - -WAF_PV=1.9.8 - -inherit gnome2-utils pax-utils python-r1 toolchain-funcs versionator waf-utils xdg-utils - -DESCRIPTION="Media player based on MPlayer and mplayer2" -HOMEPAGE="https://mpv.io/" - -if [[ ${PV} != *9999* ]]; then - SRC_URI="https://github.com/mpv-player/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux" - DOCS=( RELEASE_NOTES ) -else - EGIT_REPO_URI="https://github.com/mpv-player/${PN}.git" - inherit git-r3 -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 samba? ( GPL-3+ )" -SLOT="0" -IUSE="+alsa aqua archive bluray cdda +cli coreaudio cplugins cuda doc drm dvb - dvd +egl encode gbm +iconv jack javascript jpeg lcms +libass libav libcaca - libmpv +lua luajit openal +opengl oss pulseaudio raspberry-pi rubberband - samba sdl selinux test tools +uchardet v4l vaapi vdpau wayland +X +xv zlib - zsh-completion" - -REQUIRED_USE=" - || ( cli libmpv ) - aqua? ( opengl ) - cuda? ( !libav opengl ) - egl? ( || ( gbm X wayland ) ) - gbm? ( drm egl opengl ) - lcms? ( opengl ) - luajit? ( lua ) - opengl? ( || ( aqua egl X raspberry-pi !cli ) ) - raspberry-pi? ( opengl ) - test? ( opengl ) - tools? ( cli ) - uchardet? ( iconv ) - v4l? ( || ( alsa oss ) ) - vaapi? ( || ( gbm X wayland ) ) - vdpau? ( X ) - wayland? ( egl ) - X? ( egl? ( opengl ) ) - xv? ( X ) - zsh-completion? ( cli ) - ${PYTHON_REQUIRED_USE} -" - -COMMON_DEPEND=" - !libav? ( >=media-video/ffmpeg-3.2.2:0=[encode?,threads,vaapi?,vdpau?] ) - libav? ( >=media-video/libav-12:0=[encode?,threads,vaapi?,vdpau?] ) - alsa? ( >=media-libs/alsa-lib-1.0.18 ) - archive? ( >=app-arch/libarchive-3.0.0:= ) - bluray? ( >=media-libs/libbluray-0.3.0:= ) - cdda? ( dev-libs/libcdio-paranoia ) - cuda? ( >=media-video/ffmpeg-3.3:0 ) - drm? ( x11-libs/libdrm ) - dvd? ( - >=media-libs/libdvdnav-4.2.0 - >=media-libs/libdvdread-4.1.0 - ) - egl? ( media-libs/mesa[egl,gbm(-)?,wayland(-)?] ) - 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 ) - libass? ( - >=media-libs/libass-0.12.1:=[fontconfig,harfbuzz] - virtual/ttf-fonts - ) - libcaca? ( >=media-libs/libcaca-0.99_beta18 ) - lua? ( - !luajit? ( <dev-lang/lua-5.3:= ) - luajit? ( dev-lang/luajit:2 ) - ) - 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 ) - samba? ( net-fs/samba ) - sdl? ( media-libs/libsdl2[sound,threads,video] ) - v4l? ( media-libs/libv4l ) - vaapi? ( - !libav? ( >=media-video/ffmpeg-3.3:0 ) - libav? ( >=media-video/libav-13:0 ) - x11-libs/libva[drm?,X?,wayland?] - ) - vdpau? ( - !libav? ( >=media-video/ffmpeg-3.3:0 ) - libav? ( >=media-video/libav-13:0 ) - x11-libs/libvdpau - ) - wayland? ( - >=dev-libs/wayland-1.6.0 - >=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 ) -" -DEPEND="${COMMON_DEPEND} - ${PYTHON_DEPS} - dev-python/docutils - virtual/pkgconfig - doc? ( dev-python/rst2pdf ) - dvb? ( virtual/linuxtv-dvb-headers ) - test? ( >=dev-util/cmocka-1.0.0 ) - v4l? ( virtual/os-headers ) - zsh-completion? ( dev-lang/perl ) -" -RDEPEND="${COMMON_DEPEND} - cuda? ( x11-drivers/nvidia-drivers[X] ) - selinux? ( sec-policy/selinux-mplayer ) - tools? ( ${PYTHON_DEPS} ) -" - -PATCHES=( - "${FILESDIR}/${PN}-0.19.0-make-ffmpeg-version-check-non-fatal.patch" - "${FILESDIR}/${PN}-0.23.0-make-libavdevice-check-accept-libav.patch" - "${FILESDIR}/${PN}-0.25.0-fix-float-comparisons-in-tests.patch" -) - -pkg_setup() { - [[ ${MERGE_TYPE} != "binary" ]] && python_setup -} - -src_prepare() { - cp "${DISTDIR}/waf-${WAF_PV}" "${S}"/waf || die - chmod +x "${S}"/waf || die - default_src_prepare -} - -src_configure() { - tc-export CC PKG_CONFIG AR - - if tc-is-cross-compiler && use raspberry-pi; then - export EXTRA_PKG_CONFIG_LIBDIR="${SYSROOT%/}${EPREFIX}/opt/vc/lib/pkgconfig" - # Drop next line when Gentoo bug 607344 is fixed or if you fixed it locally. - die "${PN} can't be cross built with raspberry-pi USE enabled. See Gentoo bug 607344." - fi - - local mywafargs=( - --confdir="${EPREFIX}/etc/${PN}" - --docdir="${EPREFIX}/usr/share/doc/${PF}" - --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" - - $(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. - --disable-debug-build # Don't add '-g' to CFLAGS. - --enable-html-build - - $(use_enable doc pdf-build) - $(use_enable cplugins) - $(use_enable zsh-completion zsh-comp) - $(use_enable test) - - $(use_enable iconv) - $(use_enable samba libsmbclient) - $(use_enable lua) - $(usex luajit '--lua=luajit' '') - $(use_enable javascript) - $(use_enable libass) - $(use_enable libass libass-osd) - $(use_enable zlib) - $(use_enable encode encoding) - $(use_enable bluray libbluray) - $(use_enable dvd dvdread) - $(use_enable dvd dvdnav) - $(use_enable cdda) - $(use_enable uchardet) - $(use_enable rubberband) - $(use_enable lcms lcms2) - --disable-vapoursynth # Only available in overlays. - --disable-vapoursynth-lazy - $(use_enable archive libarchive) - - --enable-libavdevice - - # Audio outputs: - $(use_enable sdl sdl2) # Listed under audio, but also includes video. - --disable-sdl1 - $(use_enable oss oss-audio) - --disable-rsound # Only available in overlays. - --disable-sndio # Only available in overlays. - $(use_enable pulseaudio pulse) - $(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) - $(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) - --disable-android - $(use_enable raspberry-pi rpi) - $(usex libmpv "$(use_enable opengl plain-gl)" '--disable-plain-gl') - --disable-mali-fbdev # Only available in overlays. - $(usex opengl '' '--disable-gl') - - # HWaccels: - # Automagic Video Toolbox HW acceleration. See Gentoo bug 577332. - $(use_enable vaapi vaapi-hwaccel) - $(use_enable vdpau vdpau-hwaccel) - $(use_enable cuda cuda-hwaccel) - - # TV features: - $(use_enable v4l tv) - $(use_enable v4l tv-v4l2) - $(use_enable v4l libv4l2) - $(use_enable v4l audio-input) - $(use_enable dvb dvbin) - - # Miscellaneous features: - --disable-apple-remote # Needs testing first. See Gentoo bug 577332. - ) - - if use vaapi && use X; then - mywafargs+=( - $(use_enable opengl vaapi-glx) - $(use_enable egl vaapi-x-egl) - ) - fi - - # 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 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_preinst() { - gnome2_icon_savelist -} - -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 - version_compare ${rv} 0.18.1 - [[ $? -eq 1 ]] && softvol_0_18_1=1 - version_compare ${rv} 0.21.0 - [[ $? -eq 1 ]] && osc_0_21_0=1 - version_compare ${rv} 0.24.0 - [[ $? -eq 1 ]] && txtsubs_0_24_0=1 - version_compare ${rv} 0.25.0 - [[ $? -eq 1 ]] && ! 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 - - if use cli && ! has_version 'app-shells/mpv-bash-completion'; then - elog "If you want to have command-line completion via bash-completion," - elog "please install app-shells/mpv-bash-completion." - fi - - if use cli && [[ -n ${REPLACING_VERSIONS} ]] && \ - has_version 'app-shells/mpv-bash-completion'; then - elog "If command-line completion doesn't work after mpv update," - elog "please rebuild app-shells/mpv-bash-completion." - fi - - gnome2_icon_cache_update - xdg_desktop_database_update -} - -pkg_postrm() { - gnome2_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.27.0-r1.ebuild b/media-video/mpv/mpv-0.27.0-r1.ebuild deleted file mode 100644 index 558adb5ce720..000000000000 --- a/media-video/mpv/mpv-0.27.0-r1.ebuild +++ /dev/null @@ -1,371 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) -PYTHON_REQ_USE='threads(+)' - -WAF_PV=1.9.8 - -inherit gnome2-utils pax-utils python-r1 toolchain-funcs versionator waf-utils xdg-utils - -DESCRIPTION="Media player based on MPlayer and mplayer2" -HOMEPAGE="https://mpv.io/" - -if [[ ${PV} != *9999* ]]; then - SRC_URI="https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux" - DOCS=( RELEASE_NOTES ) -else - EGIT_REPO_URI="https://github.com/mpv-player/mpv.git" - inherit git-r3 -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 samba? ( GPL-3+ )" -SLOT="0" -IUSE="+alsa aqua archive bluray cdda +cli coreaudio cplugins cuda doc drm dvb - dvd +egl encode gbm +iconv jack javascript jpeg lcms +libass libav libcaca - libmpv +lua luajit openal +opengl oss pulseaudio raspberry-pi rubberband - samba sdl selinux test tools +uchardet v4l vaapi vdpau wayland +X +xv zlib - zsh-completion" - -REQUIRED_USE=" - || ( cli libmpv ) - aqua? ( opengl ) - cuda? ( !libav opengl ) - egl? ( || ( gbm X wayland ) ) - gbm? ( drm egl opengl ) - lcms? ( opengl ) - luajit? ( lua ) - opengl? ( || ( aqua egl X raspberry-pi !cli ) ) - raspberry-pi? ( opengl ) - test? ( opengl ) - tools? ( cli ) - uchardet? ( iconv ) - v4l? ( || ( alsa oss ) ) - vaapi? ( || ( gbm X wayland ) ) - vdpau? ( X ) - wayland? ( egl ) - X? ( egl? ( opengl ) ) - xv? ( X ) - zsh-completion? ( cli ) - ${PYTHON_REQUIRED_USE} -" - -COMMON_DEPEND=" - !libav? ( >=media-video/ffmpeg-3.2.2:0=[encode?,threads,vaapi?,vdpau?] ) - libav? ( >=media-video/libav-12:0=[encode?,threads,vaapi?,vdpau?] ) - alsa? ( >=media-libs/alsa-lib-1.0.18 ) - archive? ( >=app-arch/libarchive-3.0.0:= ) - bluray? ( >=media-libs/libbluray-0.3.0:= ) - cdda? ( dev-libs/libcdio-paranoia ) - cuda? ( >=media-video/ffmpeg-3.3:0 ) - drm? ( x11-libs/libdrm ) - dvd? ( - >=media-libs/libdvdnav-4.2.0 - >=media-libs/libdvdread-4.1.0 - ) - egl? ( media-libs/mesa[egl,gbm(-)?,wayland(-)?] ) - 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 ) - libass? ( - >=media-libs/libass-0.12.1:=[fontconfig,harfbuzz] - virtual/ttf-fonts - ) - libcaca? ( >=media-libs/libcaca-0.99_beta18 ) - lua? ( - !luajit? ( <dev-lang/lua-5.3:= ) - luajit? ( dev-lang/luajit:2 ) - ) - 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 ) - samba? ( net-fs/samba ) - sdl? ( media-libs/libsdl2[sound,threads,video] ) - v4l? ( media-libs/libv4l ) - vaapi? ( - !libav? ( >=media-video/ffmpeg-3.3:0 ) - libav? ( >=media-video/libav-13:0 ) - x11-libs/libva:=[drm?,X?,wayland?] - ) - vdpau? ( - !libav? ( >=media-video/ffmpeg-3.3:0 ) - libav? ( >=media-video/libav-13:0 ) - x11-libs/libvdpau - ) - wayland? ( - >=dev-libs/wayland-1.6.0 - >=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 ) -" -DEPEND="${COMMON_DEPEND} - ${PYTHON_DEPS} - dev-python/docutils - virtual/pkgconfig - doc? ( dev-python/rst2pdf ) - dvb? ( virtual/linuxtv-dvb-headers ) - test? ( >=dev-util/cmocka-1.0.0 ) - v4l? ( virtual/os-headers ) - zsh-completion? ( dev-lang/perl ) -" -RDEPEND="${COMMON_DEPEND} - cuda? ( x11-drivers/nvidia-drivers[X] ) - selinux? ( sec-policy/selinux-mplayer ) - tools? ( ${PYTHON_DEPS} ) -" - -PATCHES=( - "${FILESDIR}/${PN}-0.19.0-make-ffmpeg-version-check-non-fatal.patch" - "${FILESDIR}/${PN}-0.23.0-make-libavdevice-check-accept-libav.patch" - "${FILESDIR}/${PN}-0.25.0-fix-float-comparisons-in-tests.patch" -) - -pkg_setup() { - [[ ${MERGE_TYPE} != "binary" ]] && python_setup -} - -src_prepare() { - cp "${DISTDIR}/waf-${WAF_PV}" "${S}"/waf || die - chmod +x "${S}"/waf || die - eapply "${FILESDIR}/${PV}" - default_src_prepare -} - -src_configure() { - tc-export CC PKG_CONFIG AR - - if tc-is-cross-compiler && use raspberry-pi; then - export EXTRA_PKG_CONFIG_LIBDIR="${SYSROOT%/}${EPREFIX}/opt/vc/lib/pkgconfig" - # Drop next line when Gentoo bug 607344 is fixed or if you fixed it locally. - die "${PN} can't be cross built with raspberry-pi USE enabled. See Gentoo bug 607344." - fi - - local mywafargs=( - --confdir="${EPREFIX}/etc/${PN}" - --docdir="${EPREFIX}/usr/share/doc/${PF}" - --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" - - $(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. - --disable-debug-build # Don't add '-g' to CFLAGS. - --enable-html-build - - $(use_enable doc pdf-build) - $(use_enable cplugins) - $(use_enable zsh-completion zsh-comp) - $(use_enable test) - - --disable-android - $(use_enable iconv) - $(use_enable samba libsmbclient) - $(use_enable lua) - $(usex luajit '--lua=luajit' '') - $(use_enable javascript) - $(use_enable libass) - $(use_enable libass libass-osd) - $(use_enable zlib) - $(use_enable encode encoding) - $(use_enable bluray libbluray) - $(use_enable dvd dvdread) - $(use_enable dvd dvdnav) - $(use_enable cdda) - $(use_enable uchardet) - $(use_enable rubberband) - $(use_enable lcms lcms2) - --disable-vapoursynth # Only available in overlays. - --disable-vapoursynth-lazy - $(use_enable archive libarchive) - - --enable-libavdevice - - # Audio outputs: - $(use_enable sdl sdl2) # Listed under audio, but also includes video. - --disable-sdl1 - $(use_enable oss oss-audio) - --disable-rsound # Only available in overlays. - --disable-sndio # Only available in overlays. - $(use_enable pulseaudio pulse) - $(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) - $(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 raspberry-pi rpi) - $(usex libmpv "$(use_enable opengl plain-gl)" '--disable-plain-gl') - --disable-mali-fbdev # Only available in overlays. - $(usex opengl '' '--disable-gl') - - # HWaccels: - # Automagic Video Toolbox HW acceleration. See Gentoo bug 577332. - $(use_enable vaapi vaapi-hwaccel) - $(use_enable vdpau vdpau-hwaccel) - $(use_enable cuda cuda-hwaccel) - - # TV features: - $(use_enable v4l tv) - $(use_enable v4l tv-v4l2) - $(use_enable v4l libv4l2) - $(use_enable v4l audio-input) - $(use_enable dvb dvbin) - - # Miscellaneous features: - --disable-apple-remote # Needs testing first. See Gentoo bug 577332. - ) - - if use vaapi && use X; then - mywafargs+=( - $(use_enable opengl vaapi-glx) - $(use_enable egl vaapi-x-egl) - ) - fi - - # 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 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 - version_compare ${rv} 0.18.1 - [[ $? -eq 1 ]] && softvol_0_18_1=1 - version_compare ${rv} 0.21.0 - [[ $? -eq 1 ]] && osc_0_21_0=1 - version_compare ${rv} 0.24.0 - [[ $? -eq 1 ]] && txtsubs_0_24_0=1 - version_compare ${rv} 0.25.0 - [[ $? -eq 1 ]] && ! 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 - - if use cli && ! has_version 'app-shells/mpv-bash-completion'; then - elog "If you want to have command-line completion via bash-completion," - elog "please install app-shells/mpv-bash-completion." - fi - - if use cli && [[ -n ${REPLACING_VERSIONS} ]] && \ - has_version 'app-shells/mpv-bash-completion'; then - elog "If command-line completion doesn't work after mpv update," - elog "please rebuild app-shells/mpv-bash-completion." - fi - - gnome2_icon_cache_update - xdg_desktop_database_update -} - -pkg_postrm() { - gnome2_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.28.0.ebuild b/media-video/mpv/mpv-0.28.0.ebuild deleted file mode 100644 index 23b6694770d7..000000000000 --- a/media-video/mpv/mpv-0.28.0.ebuild +++ /dev/null @@ -1,361 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) -PYTHON_REQ_USE='threads(+)' - -WAF_PV=1.9.8 - -inherit gnome2-utils pax-utils python-r1 toolchain-funcs versionator waf-utils xdg-utils - -DESCRIPTION="Media player based on MPlayer and mplayer2" -HOMEPAGE="https://mpv.io/" - -if [[ ${PV} != *9999* ]]; then - SRC_URI="https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux" - DOCS=( RELEASE_NOTES ) -else - EGIT_REPO_URI="https://github.com/mpv-player/mpv.git" - inherit git-r3 -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 samba? ( GPL-3+ )" -SLOT="0" -IUSE="+alsa aqua archive bluray cdda +cli coreaudio cplugins cuda doc drm dvb - dvd +egl encode gbm +iconv jack javascript jpeg lcms +libass libav libcaca - libmpv +lua luajit openal +opengl oss pulseaudio raspberry-pi rubberband - samba sdl selinux test tools +uchardet v4l vaapi vdpau wayland +X +xv zlib - zsh-completion" - -REQUIRED_USE=" - || ( cli libmpv ) - aqua? ( opengl ) - cuda? ( !libav opengl ) - egl? ( || ( gbm X wayland ) ) - gbm? ( drm egl opengl ) - lcms? ( opengl ) - luajit? ( lua ) - opengl? ( || ( aqua egl X raspberry-pi !cli ) ) - raspberry-pi? ( opengl ) - test? ( opengl ) - tools? ( cli ) - uchardet? ( iconv ) - v4l? ( || ( alsa oss ) ) - vaapi? ( || ( gbm X wayland ) ) - vdpau? ( X ) - wayland? ( egl ) - X? ( egl? ( opengl ) ) - xv? ( X ) - zsh-completion? ( cli ) - ${PYTHON_REQUIRED_USE} -" - -COMMON_DEPEND=" - !libav? ( >=media-video/ffmpeg-9999:0=[encode?,threads,vaapi?,vdpau?] ) - libav? ( >=media-video/libav-9999:0=[encode?,threads,vaapi?,vdpau?] ) - alsa? ( >=media-libs/alsa-lib-1.0.18 ) - archive? ( >=app-arch/libarchive-3.0.0:= ) - bluray? ( >=media-libs/libbluray-0.3.0:= ) - cdda? ( dev-libs/libcdio-paranoia ) - drm? ( x11-libs/libdrm ) - dvd? ( - >=media-libs/libdvdnav-4.2.0 - >=media-libs/libdvdread-4.1.0 - ) - egl? ( media-libs/mesa[egl,gbm(-)?,wayland(-)?] ) - 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 ) - libass? ( - >=media-libs/libass-0.12.1:=[fontconfig,harfbuzz] - virtual/ttf-fonts - ) - libcaca? ( >=media-libs/libcaca-0.99_beta18 ) - lua? ( - !luajit? ( <dev-lang/lua-5.3:= ) - luajit? ( dev-lang/luajit:2 ) - ) - 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 ) - samba? ( net-fs/samba ) - sdl? ( media-libs/libsdl2[sound,threads,video] ) - v4l? ( media-libs/libv4l ) - vaapi? ( x11-libs/libva:=[drm?,X?,wayland?] ) - vdpau? ( x11-libs/libvdpau ) - wayland? ( - >=dev-libs/wayland-1.6.0 - >=x11-libs/libxkbcommon-0.3.0 - dev-libs/wayland-protocols - ) - 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 ) -" -DEPEND="${COMMON_DEPEND} - ${PYTHON_DEPS} - dev-python/docutils - virtual/pkgconfig - doc? ( dev-python/rst2pdf ) - dvb? ( virtual/linuxtv-dvb-headers ) - test? ( >=dev-util/cmocka-1.0.0 ) - v4l? ( virtual/os-headers ) - zsh-completion? ( dev-lang/perl ) -" -RDEPEND="${COMMON_DEPEND} - cuda? ( x11-drivers/nvidia-drivers[X] ) - selinux? ( sec-policy/selinux-mplayer ) - tools? ( ${PYTHON_DEPS} ) -" - -PATCHES=( - "${FILESDIR}/${PN}-0.19.0-make-ffmpeg-version-check-non-fatal.patch" - "${FILESDIR}/${PN}-0.25.0-fix-float-comparisons-in-tests.patch" -) - -pkg_setup() { - [[ ${MERGE_TYPE} != "binary" ]] && python_setup -} - -src_prepare() { - cp "${DISTDIR}/waf-${WAF_PV}" "${S}"/waf || die - chmod +x "${S}"/waf || die - default_src_prepare -} - -src_configure() { - tc-export CC PKG_CONFIG AR - - if tc-is-cross-compiler && use raspberry-pi; then - export EXTRA_PKG_CONFIG_LIBDIR="${SYSROOT%/}${EPREFIX}/opt/vc/lib/pkgconfig" - # Drop next line when Gentoo bug 607344 is fixed or if you fixed it locally. - die "${PN} can't be cross built with raspberry-pi USE enabled. See Gentoo bug 607344." - fi - - local mywafargs=( - --confdir="${EPREFIX}/etc/${PN}" - --docdir="${EPREFIX}/usr/share/doc/${PF}" - --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" - - $(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. - --disable-debug-build # Don't add '-g' to CFLAGS. - --enable-html-build - - $(use_enable doc pdf-build) - $(use_enable cplugins) - $(use_enable zsh-completion zsh-comp) - $(use_enable test) - - --disable-android - $(use_enable iconv) - $(use_enable samba libsmbclient) - $(use_enable lua) - $(usex luajit '--lua=luajit' '') - $(use_enable javascript) - $(use_enable libass) - $(use_enable libass libass-osd) - $(use_enable zlib) - $(use_enable encode encoding) - $(use_enable bluray libbluray) - $(use_enable dvd dvdread) - $(use_enable dvd dvdnav) - $(use_enable cdda) - $(use_enable uchardet) - $(use_enable rubberband) - $(use_enable lcms lcms2) - --disable-vapoursynth # Only available in overlays. - --disable-vapoursynth-lazy - $(use_enable archive libarchive) - - --enable-libavdevice - - # Audio outputs: - $(use_enable sdl sdl2) # Listed under audio, but also includes video. - --disable-sdl1 - $(use_enable oss oss-audio) - --disable-rsound # Only available in overlays. - --disable-sndio # Only available in overlays. - $(use_enable pulseaudio pulse) - $(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 raspberry-pi rpi) - $(usex libmpv "$(use_enable opengl plain-gl)" '--disable-plain-gl') - --disable-mali-fbdev # Only available in overlays. - $(usex opengl '' '--disable-gl') - - # HWaccels: - # Automagic Video Toolbox HW acceleration. See Gentoo bug 577332. - $(use_enable cuda cuda-hwaccel) - - # TV features: - $(use_enable v4l tv) - $(use_enable v4l tv-v4l2) - $(use_enable v4l libv4l2) - $(use_enable v4l audio-input) - $(use_enable dvb dvbin) - - # Miscellaneous features: - --disable-apple-remote # Needs testing first. See Gentoo bug 577332. - ) - - if use vaapi && use X; then - mywafargs+=( - $(use_enable opengl vaapi-glx) - $(use_enable egl vaapi-x-egl) - ) - fi - - # 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 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 - version_compare ${rv} 0.18.1 - [[ $? -eq 1 ]] && softvol_0_18_1=1 - version_compare ${rv} 0.21.0 - [[ $? -eq 1 ]] && osc_0_21_0=1 - version_compare ${rv} 0.24.0 - [[ $? -eq 1 ]] && txtsubs_0_24_0=1 - version_compare ${rv} 0.25.0 - [[ $? -eq 1 ]] && ! 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 - - if use cli && ! has_version 'app-shells/mpv-bash-completion'; then - elog "If you want to have command-line completion via bash-completion," - elog "please install app-shells/mpv-bash-completion." - fi - - if use cli && [[ -n ${REPLACING_VERSIONS} ]] && \ - has_version 'app-shells/mpv-bash-completion'; then - elog "If command-line completion doesn't work after mpv update," - elog "please rebuild app-shells/mpv-bash-completion." - fi - - gnome2_icon_cache_update - xdg_desktop_database_update -} - -pkg_postrm() { - gnome2_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 -} |