Gentoo Archives: gentoo-commits

From: Patrice Clement <monsieurp@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-video/mpv/, media-video/mpv/files/0.27.0/
Date: Thu, 28 Sep 2017 09:43:57
Message-Id: 1506591776.b576e37305f28fd5e3c363c98d1ffcbdf1fae54e.monsieurp@gentoo
1 commit: b576e37305f28fd5e3c363c98d1ffcbdf1fae54e
2 Author: Ilya Tumaykin <itumaykin <AT> gmail <DOT> com>
3 AuthorDate: Sun Sep 24 18:13:56 2017 +0000
4 Commit: Patrice Clement <monsieurp <AT> gentoo <DOT> org>
5 CommitDate: Thu Sep 28 09:42:56 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b576e373
7
8 media-video/mpv: verbump to 0.27.0
9
10 Closes: https://bugs.gentoo.org/630556
11 Closes: https://github.com/gentoo/gentoo/pull/5787
12 Package-Manager: Portage-2.3.10, Repoman-2.3.3
13
14 media-video/mpv/Manifest | 1 +
15 .../0.27.0/mpv-0.27.0-fix-hwdec-autoprobing.patch | 50 +++
16 .../mpv-0.27.0-fix-wrong-colors-with-hwdec.patch | 44 +++
17 ...pv-0.27.0-remove-duplicate-android-option.patch | 27 ++
18 media-video/mpv/mpv-0.27.0.ebuild | 370 +++++++++++++++++++++
19 5 files changed, 492 insertions(+)
20
21 diff --git a/media-video/mpv/Manifest b/media-video/mpv/Manifest
22 index 55ba0d3a8af..07e19a528ed 100644
23 --- a/media-video/mpv/Manifest
24 +++ b/media-video/mpv/Manifest
25 @@ -2,5 +2,6 @@ DIST mpv-0.18.0.tar.gz 2758960 SHA256 b656638d4f6bce2621baaacb60d8be384aa492fcd8
26 DIST mpv-0.25.0-patches-r2.tar.xz 11036 SHA256 34440d419e95983f50dc97c323737c19891234478566bdf613ec9db81fb0e0e7 SHA512 fc8d2a23dff27131d2c18d3f91861ec6e6d5240e6531d1a04c06ebef8d5467250c4f131d9faee802842e1ea485dbf350b43a3eebcc13c230cd45ff875fc855e2 WHIRLPOOL 9e1540e8e4b2a2a8e70861dd9eb7f32281549b9c418ea716da697e5de39118b0806998f40958e84d868e00854a4bead929ef9958de0becc120fa5f525b34ccab
27 DIST mpv-0.25.0.tar.gz 2874584 SHA256 07423ffad6921ec4da32f703cd7fbfb27012301dcb736ac8542ac8e6083b0bce SHA512 eefc574e2995ddf6bd15c9b62986a5ca277c30949b036d57a11bbfb796c11c1e6dd7c313abd91a909dd98ca0f2b0be29ec6b980d0287a5891b42b0ffba926cbf WHIRLPOOL 4c5225040ed8793de5daa00a4bb5cf2754fb877c73055dbe4bed92d9fa1bb3f5e67d341c698658e9f10e183084bbe691c8bbb90960e16358b9ffdaa58b11bf2b
28 DIST mpv-0.26.0.tar.gz 2916212 SHA256 daf3ef358d5f260f2269f7caabce27f446c291457ec330077152127133b71b46 SHA512 fd772b4765317eb1ea3b54f12b86e0ac6c4d5e9d16895eb5bebe2e074a01f6b790981b9b34a87d9b23e4291149d3a7154b09fba4a259cec1949a6aa88d6ddec7 WHIRLPOOL b3648d3f67565c54923fda0c1989dfa94b02b844152a558d531d936c94563ab32654cc59576c39fef8614901fe51afafd2029f9465ec1a15696a093d1bdb563f
29 +DIST mpv-0.27.0.tar.gz 2956816 SHA256 341d8bf18b75c1f78d5b681480b5b7f5c8b87d97a0d4f53a5648ede9c219a49c SHA512 22738f907d84d362095773972f685e3b03ab4c8172a22ddede290fc221a83ab9135b96f8b18191dabe842b2963f68983929cf065097287fc1a054a7d5f1d0ae4 WHIRLPOOL 53ea0f8f1995b9517954860f4a0c2c1acb797bbd8bf9311c2f6a5998d45869a202e45aa1c3198e2b489b3efe210f58654e690a8a9ec15b4fd88f320ad48c8cb4
30 DIST waf-1.8.12 97567 SHA256 01bf2beab2106d1558800c8709bc2c8e496d3da4a2ca343fe091f22fca60c98b SHA512 8e47112abb134f965f15a27a600b4453cad3075afb5dadc17f2f6dac33d80ec68b679ac0ebc5f8a0245cbd07ae9fc7b899e69afc1bd021cce74e7af2ab457939 WHIRLPOOL c36d37c2d8c08e4048b4800f511611af5cf534304fcb58388ca491ff308bfcbcdd959d153edfd6ff8c118404e7293d8b786e43b07486139bf915a82aa75d792b
31 DIST waf-1.9.8 100685 SHA256 167dc42bab6d5bd823b798af195420319cb5c9b571e00db7d83df2a0fe1f4dbf SHA512 e7493767f65deeb38aa162adef22adf60ebbd038410e9cdf4fe6f0de8c43395dbbba14962aa2c3855e1277136085fc22ad12ebfb8ac4e76f16358296039b8ea2 WHIRLPOOL 447b6936b8bd5904d85001a96bdcfd0d517f92ff0a859f8a63efd032a418c1b335578266d0f7ce0c5f71ffc7b81643d18e21c14981502153e2d586a9ce152c3a
32
33 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
34 new file mode 100644
35 index 00000000000..e83be2250e7
36 --- /dev/null
37 +++ b/media-video/mpv/files/0.27.0/mpv-0.27.0-fix-hwdec-autoprobing.patch
38 @@ -0,0 +1,50 @@
39 +commit b881881dbd38a1720a9f8401fd1baafdd0dfccc0
40 +Author: wm4 <wm4@nowhere>
41 +Date: Tue Sep 19 18:33:37 2017 +0200
42 +
43 +Revert "vd_lavc: change auto-probe order to prefer cuda over vdpau-copy"
44 +
45 +This reverts commit 96462040ec79b353457b64949f96fad30bd6e988.
46 +
47 +I guess the autoprobing is still too primitive to handle this well. What
48 +it really should be trying is initializing the wrapper decoder, and if
49 +that doesn't work, try another method. This is complicated by hwaccels
50 +initializing in a delayed way, so there is no easy solution yet.
51 +
52 +Probably fixes #4865.
53 +
54 +diff --git a/video/decode/vd_lavc.c b/video/decode/vd_lavc.c
55 +index 476beeb9e..e08246a29 100644
56 +--- a/video/decode/vd_lavc.c
57 ++++ b/video/decode/vd_lavc.c
58 +@@ -261,11 +261,16 @@ static const struct vd_lavc_hwdec *const hwdec_list[] = {
59 + #endif
60 + #if HAVE_VDPAU_HWACCEL
61 + &mp_vd_lavc_vdpau,
62 ++ &mp_vd_lavc_vdpau_copy,
63 + #endif
64 + #if HAVE_VIDEOTOOLBOX_HWACCEL
65 + &mp_vd_lavc_videotoolbox,
66 + &mp_vd_lavc_videotoolbox_copy,
67 + #endif
68 ++#if HAVE_VAAPI_HWACCEL
69 ++ &mp_vd_lavc_vaapi,
70 ++ &mp_vd_lavc_vaapi_copy,
71 ++#endif
72 + #if HAVE_D3D_HWACCEL
73 + &mp_vd_lavc_d3d11va,
74 +
75 +@@ -285,13 +290,6 @@ static const struct vd_lavc_hwdec *const hwdec_list[] = {
76 + &mp_vd_lavc_cuda_old,
77 + #endif
78 + &mp_vd_lavc_cuda_copy,
79 +-#endif
80 +-#if HAVE_VDPAU_HWACCEL
81 +- &mp_vd_lavc_vdpau_copy,
82 +-#endif
83 +-#if HAVE_VAAPI_HWACCEL
84 +- &mp_vd_lavc_vaapi,
85 +- &mp_vd_lavc_vaapi_copy,
86 + #endif
87 + &mp_vd_lavc_crystalhd,
88 + NULL
89
90 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
91 new file mode 100644
92 index 00000000000..f7d3129d855
93 --- /dev/null
94 +++ b/media-video/mpv/files/0.27.0/mpv-0.27.0-fix-wrong-colors-with-hwdec.patch
95 @@ -0,0 +1,44 @@
96 +commit 810990a7465f31ee5ff5e29ebea1fb783e5ed502
97 +Author: wm4 <wm4@nowhere>
98 +Date: Tue Sep 19 18:59:01 2017 +0200
99 +
100 +mp_image: always copy color attributes on hw download
101 +
102 +It was noticed that -copy hwdec modes typically dropped the
103 +chroma_location field. This happened because the attributes on hw
104 +download are copied with mp_image_copy_attributes(), which tries to copy
105 +these parameters only if src and dst were both YUV (in an attempt to
106 +copy parameters only if it makes sense).
107 +
108 +But hardware formats did not have the YUV flag set (anymore?), and code
109 +shouldn't attempt to check the flag in this way anyway. Drop the check,
110 +and always copy the whole color metadata struct. There is a call to
111 +mp_image_params_guess_csp() below, which tries to unset nonsense
112 +metadata if it was copied from a YUV format to RGB. This function would
113 +also do the right thing for hw formats (although for the cited bug only
114 +the software case matters).
115 +
116 +Fixes #4804.
117 +
118 +diff --git a/video/mp_image.c b/video/mp_image.c
119 +index 7180e2be5..5aa564775 100644
120 +--- a/video/mp_image.c
121 ++++ b/video/mp_image.c
122 +@@ -525,15 +525,8 @@ void mp_image_copy_attributes(struct mp_image *dst, struct mp_image *src)
123 + dst->params.p_w = src->params.p_w;
124 + dst->params.p_h = src->params.p_h;
125 + }
126 +- dst->params.color.primaries = src->params.color.primaries;
127 +- dst->params.color.gamma = src->params.color.gamma;
128 +- dst->params.color.sig_peak = src->params.color.sig_peak;
129 +- dst->params.color.light = src->params.color.light;
130 +- if ((dst->fmt.flags & MP_IMGFLAG_YUV) == (src->fmt.flags & MP_IMGFLAG_YUV)) {
131 +- dst->params.color.space = src->params.color.space;
132 +- dst->params.color.levels = src->params.color.levels;
133 +- dst->params.chroma_location = src->params.chroma_location;
134 +- }
135 ++ dst->params.color = src->params.color;
136 ++ dst->params.chroma_location = src->params.chroma_location;
137 + dst->params.spherical = src->params.spherical;
138 + mp_image_params_guess_csp(&dst->params); // ensure colorspace consistency
139 + if ((dst->fmt.flags & MP_IMGFLAG_PAL) && (src->fmt.flags & MP_IMGFLAG_PAL)) {
140
141 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
142 new file mode 100644
143 index 00000000000..3f2a5d1f56a
144 --- /dev/null
145 +++ b/media-video/mpv/files/0.27.0/mpv-0.27.0-remove-duplicate-android-option.patch
146 @@ -0,0 +1,27 @@
147 +commit 8810c1fc050347e1bef0d3eb89edd30c8e840648
148 +Author: Ilya Tumaykin <itumaykin@×××××.com>
149 +Date: Sun Sep 17 21:54:37 2017 +0300
150 +
151 +build: remove duplicate android option after 72a8120da
152 +
153 +The first one (line 140) comes from 69650851f8 and is the correct one.
154 +The second one (line 731) comes from 72a8120daa and slipped in with the
155 +revert commit.
156 +
157 +Remove the second one.
158 +
159 +diff --git a/wscript b/wscript
160 +index 9d885884d..9fe5b0bc8 100644
161 +--- a/wscript
162 ++++ b/wscript
163 +@@ -727,10 +727,6 @@ video_output_features = [
164 + 'desc': 'Direct3D support',
165 + 'deps': [ 'win32-desktop' ],
166 + 'func': check_cc(header_name='d3d9.h'),
167 +- }, {
168 +- 'name': '--android',
169 +- 'desc': 'Android support',
170 +- 'func': check_statement('android/api-level.h', '(void)__ANDROID__'), # arbitrary android-specific header
171 + }, {
172 + # We need MMAL/bcm_host/dispmanx APIs. Also, most RPI distros require
173 + # every project to hardcode the paths to the include directories. Also,
174
175 diff --git a/media-video/mpv/mpv-0.27.0.ebuild b/media-video/mpv/mpv-0.27.0.ebuild
176 new file mode 100644
177 index 00000000000..00e654a222a
178 --- /dev/null
179 +++ b/media-video/mpv/mpv-0.27.0.ebuild
180 @@ -0,0 +1,370 @@
181 +# Copyright 1999-2017 Gentoo Foundation
182 +# Distributed under the terms of the GNU General Public License v2
183 +
184 +EAPI=6
185 +
186 +PYTHON_COMPAT=( python{2_7,3_4,3_5} )
187 +PYTHON_REQ_USE='threads(+)'
188 +
189 +WAF_PV=1.9.8
190 +
191 +inherit gnome2-utils pax-utils python-r1 toolchain-funcs versionator waf-utils xdg-utils
192 +
193 +DESCRIPTION="Media player based on MPlayer and mplayer2"
194 +HOMEPAGE="https://mpv.io/"
195 +
196 +if [[ ${PV} != *9999* ]]; then
197 + SRC_URI="https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
198 + KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux"
199 + DOCS=( RELEASE_NOTES )
200 +else
201 + EGIT_REPO_URI="https://github.com/mpv-player/mpv.git"
202 + inherit git-r3
203 +fi
204 +SRC_URI+=" https://waf.io/waf-${WAF_PV}"
205 +DOCS+=( README.md DOCS/{client-api,interface}-changes.rst )
206 +
207 +# See Copyright in sources and Gentoo bug 506946. Waf is BSD, libmpv is ISC.
208 +LICENSE="LGPL-2.1+ GPL-2+ BSD ISC samba? ( GPL-3+ )"
209 +SLOT="0"
210 +IUSE="+alsa aqua archive bluray cdda +cli coreaudio cplugins cuda doc drm dvb
211 + dvd +egl encode gbm +iconv jack javascript jpeg lcms +libass libav libcaca
212 + libmpv +lua luajit openal +opengl oss pulseaudio raspberry-pi rubberband
213 + samba sdl selinux test tools +uchardet v4l vaapi vdpau wayland +X +xv zlib
214 + zsh-completion"
215 +
216 +REQUIRED_USE="
217 + || ( cli libmpv )
218 + aqua? ( opengl )
219 + cuda? ( !libav opengl )
220 + egl? ( || ( gbm X wayland ) )
221 + gbm? ( drm egl opengl )
222 + lcms? ( opengl )
223 + luajit? ( lua )
224 + opengl? ( || ( aqua egl X raspberry-pi !cli ) )
225 + raspberry-pi? ( opengl )
226 + test? ( opengl )
227 + tools? ( cli )
228 + uchardet? ( iconv )
229 + v4l? ( || ( alsa oss ) )
230 + vaapi? ( || ( gbm X wayland ) )
231 + vdpau? ( X )
232 + wayland? ( egl )
233 + X? ( egl? ( opengl ) )
234 + xv? ( X )
235 + zsh-completion? ( cli )
236 + ${PYTHON_REQUIRED_USE}
237 +"
238 +
239 +COMMON_DEPEND="
240 + !libav? ( >=media-video/ffmpeg-3.2.2:0=[encode?,threads,vaapi?,vdpau?] )
241 + libav? ( >=media-video/libav-12:0=[encode?,threads,vaapi?,vdpau?] )
242 + alsa? ( >=media-libs/alsa-lib-1.0.18 )
243 + archive? ( >=app-arch/libarchive-3.0.0:= )
244 + bluray? ( >=media-libs/libbluray-0.3.0:= )
245 + cdda? ( dev-libs/libcdio-paranoia )
246 + cuda? ( >=media-video/ffmpeg-3.3:0 )
247 + drm? ( x11-libs/libdrm )
248 + dvd? (
249 + >=media-libs/libdvdnav-4.2.0
250 + >=media-libs/libdvdread-4.1.0
251 + )
252 + egl? ( media-libs/mesa[egl,gbm(-)?,wayland(-)?] )
253 + iconv? (
254 + virtual/libiconv
255 + uchardet? ( app-i18n/uchardet )
256 + )
257 + jack? ( virtual/jack )
258 + javascript? ( >=dev-lang/mujs-1.0.0 )
259 + jpeg? ( virtual/jpeg:0 )
260 + lcms? ( >=media-libs/lcms-2.6:2 )
261 + libass? (
262 + >=media-libs/libass-0.12.1:=[fontconfig,harfbuzz]
263 + virtual/ttf-fonts
264 + )
265 + libcaca? ( >=media-libs/libcaca-0.99_beta18 )
266 + lua? (
267 + !luajit? ( <dev-lang/lua-5.3:= )
268 + luajit? ( dev-lang/luajit:2 )
269 + )
270 + openal? ( >=media-libs/openal-1.13 )
271 + pulseaudio? ( media-sound/pulseaudio )
272 + raspberry-pi? ( >=media-libs/raspberrypi-userland-0_pre20160305-r1 )
273 + rubberband? ( >=media-libs/rubberband-1.8.0 )
274 + samba? ( net-fs/samba )
275 + sdl? ( media-libs/libsdl2[sound,threads,video] )
276 + v4l? ( media-libs/libv4l )
277 + vaapi? (
278 + !libav? ( >=media-video/ffmpeg-3.3:0 )
279 + libav? ( >=media-video/libav-13:0 )
280 + x11-libs/libva[drm?,X?,wayland?]
281 + )
282 + vdpau? (
283 + !libav? ( >=media-video/ffmpeg-3.3:0 )
284 + libav? ( >=media-video/libav-13:0 )
285 + x11-libs/libvdpau
286 + )
287 + wayland? (
288 + >=dev-libs/wayland-1.6.0
289 + >=x11-libs/libxkbcommon-0.3.0
290 + )
291 + X? (
292 + x11-libs/libX11
293 + x11-libs/libXScrnSaver
294 + x11-libs/libXext
295 + x11-libs/libXinerama
296 + x11-libs/libXrandr
297 + opengl? (
298 + x11-libs/libXdamage
299 + virtual/opengl
300 + )
301 + xv? ( x11-libs/libXv )
302 + )
303 + zlib? ( sys-libs/zlib )
304 +"
305 +DEPEND="${COMMON_DEPEND}
306 + ${PYTHON_DEPS}
307 + dev-python/docutils
308 + virtual/pkgconfig
309 + doc? ( dev-python/rst2pdf )
310 + dvb? ( virtual/linuxtv-dvb-headers )
311 + test? ( >=dev-util/cmocka-1.0.0 )
312 + v4l? ( virtual/os-headers )
313 + zsh-completion? ( dev-lang/perl )
314 +"
315 +RDEPEND="${COMMON_DEPEND}
316 + cuda? ( x11-drivers/nvidia-drivers[X] )
317 + selinux? ( sec-policy/selinux-mplayer )
318 + tools? ( ${PYTHON_DEPS} )
319 +"
320 +
321 +PATCHES=(
322 + "${FILESDIR}/${PN}-0.19.0-make-ffmpeg-version-check-non-fatal.patch"
323 + "${FILESDIR}/${PN}-0.23.0-make-libavdevice-check-accept-libav.patch"
324 +)
325 +
326 +pkg_setup() {
327 + [[ ${MERGE_TYPE} != "binary" ]] && python_setup
328 +}
329 +
330 +src_prepare() {
331 + cp "${DISTDIR}/waf-${WAF_PV}" "${S}"/waf || die
332 + chmod +x "${S}"/waf || die
333 + eapply "${FILESDIR}/${PV}"
334 + default_src_prepare
335 +}
336 +
337 +src_configure() {
338 + tc-export CC PKG_CONFIG AR
339 +
340 + if tc-is-cross-compiler && use raspberry-pi; then
341 + export EXTRA_PKG_CONFIG_LIBDIR="${SYSROOT%/}${EPREFIX}/opt/vc/lib/pkgconfig"
342 + # Drop next line when Gentoo bug 607344 is fixed or if you fixed it locally.
343 + die "${PN} can't be cross built with raspberry-pi USE enabled. See Gentoo bug 607344."
344 + fi
345 +
346 + local mywafargs=(
347 + --confdir="${EPREFIX}/etc/${PN}"
348 + --docdir="${EPREFIX}/usr/share/doc/${PF}"
349 + --htmldir="${EPREFIX}/usr/share/doc/${PF}/html"
350 +
351 + $(usex cli '' '--disable-cplayer')
352 + $(use_enable libmpv libmpv-shared)
353 +
354 + --disable-libmpv-static
355 + --disable-static-build
356 + # See deep down below for build-date.
357 + --disable-optimize # Don't add '-O2' to CFLAGS.
358 + --disable-debug-build # Don't add '-g' to CFLAGS.
359 + --enable-html-build
360 +
361 + $(use_enable doc pdf-build)
362 + $(use_enable cplugins)
363 + $(use_enable zsh-completion zsh-comp)
364 + $(use_enable test)
365 +
366 + --disable-android
367 + $(use_enable iconv)
368 + $(use_enable samba libsmbclient)
369 + $(use_enable lua)
370 + $(usex luajit '--lua=luajit' '')
371 + $(use_enable javascript)
372 + $(use_enable libass)
373 + $(use_enable libass libass-osd)
374 + $(use_enable zlib)
375 + $(use_enable encode encoding)
376 + $(use_enable bluray libbluray)
377 + $(use_enable dvd dvdread)
378 + $(use_enable dvd dvdnav)
379 + $(use_enable cdda)
380 + $(use_enable uchardet)
381 + $(use_enable rubberband)
382 + $(use_enable lcms lcms2)
383 + --disable-vapoursynth # Only available in overlays.
384 + --disable-vapoursynth-lazy
385 + $(use_enable archive libarchive)
386 +
387 + --enable-libavdevice
388 +
389 + # Audio outputs:
390 + $(use_enable sdl sdl2) # Listed under audio, but also includes video.
391 + --disable-sdl1
392 + $(use_enable oss oss-audio)
393 + --disable-rsound # Only available in overlays.
394 + --disable-sndio # Only available in overlays.
395 + $(use_enable pulseaudio pulse)
396 + $(use_enable jack)
397 + $(use_enable openal)
398 + --disable-opensles
399 + $(use_enable alsa)
400 + $(use_enable coreaudio)
401 +
402 + # Video outputs:
403 + $(use_enable aqua cocoa)
404 + $(use_enable drm)
405 + $(use_enable gbm)
406 + $(use_enable wayland)
407 + $(use_enable X x11)
408 + $(use_enable xv)
409 + $(usex opengl "$(use_enable aqua gl-cocoa)" '--disable-gl-cocoa')
410 + $(usex opengl "$(use_enable X gl-x11)" '--disable-gl-x11')
411 + $(usex egl "$(use_enable X egl-x11)" '--disable-egl-x11')
412 + $(usex egl "$(use_enable gbm egl-drm)" '--disable-egl-drm')
413 + $(usex opengl "$(use_enable wayland gl-wayland)" '--disable-gl-wayland')
414 + $(use_enable vdpau)
415 + $(usex vdpau "$(use_enable opengl vdpau-gl-x11)" '--disable-vdpau-gl-x11')
416 + $(use_enable vaapi) # See below for vaapi-glx, vaapi-x-egl.
417 + $(usex vaapi "$(use_enable X vaapi-x11)" '--disable-vaapi-x11')
418 + $(usex vaapi "$(use_enable wayland vaapi-wayland)" '--disable-vaapi-wayland')
419 + $(usex vaapi "$(use_enable gbm vaapi-drm)" '--disable-vaapi-drm')
420 + $(use_enable libcaca caca)
421 + $(use_enable jpeg)
422 + $(use_enable raspberry-pi rpi)
423 + $(usex libmpv "$(use_enable opengl plain-gl)" '--disable-plain-gl')
424 + --disable-mali-fbdev # Only available in overlays.
425 + $(usex opengl '' '--disable-gl')
426 +
427 + # HWaccels:
428 + # Automagic Video Toolbox HW acceleration. See Gentoo bug 577332.
429 + $(use_enable vaapi vaapi-hwaccel)
430 + $(use_enable vdpau vdpau-hwaccel)
431 + $(use_enable cuda cuda-hwaccel)
432 +
433 + # TV features:
434 + $(use_enable v4l tv)
435 + $(use_enable v4l tv-v4l2)
436 + $(use_enable v4l libv4l2)
437 + $(use_enable v4l audio-input)
438 + $(use_enable dvb dvbin)
439 +
440 + # Miscellaneous features:
441 + --disable-apple-remote # Needs testing first. See Gentoo bug 577332.
442 + )
443 +
444 + if use vaapi && use X; then
445 + mywafargs+=(
446 + $(use_enable opengl vaapi-glx)
447 + $(use_enable egl vaapi-x-egl)
448 + )
449 + fi
450 +
451 + # Create reproducible non-live builds.
452 + [[ ${PV} != *9999* ]] && mywafargs+=(--disable-build-date)
453 +
454 + waf-utils_src_configure "${mywafargs[@]}"
455 +}
456 +
457 +src_install() {
458 + waf-utils_src_install
459 +
460 + if use lua; then
461 + insinto /usr/share/${PN}
462 + doins -r TOOLS/lua
463 + fi
464 +
465 + if use cli && use luajit; then
466 + pax-mark -m "${ED}"usr/bin/${PN}
467 + fi
468 +
469 + if use tools; then
470 + dobin TOOLS/{mpv_identify.sh,umpv}
471 + newbin TOOLS/idet.sh mpv_idet.sh
472 + python_replicate_script "${ED}"usr/bin/umpv
473 + fi
474 +}
475 +
476 +pkg_postinst() {
477 + local rv softvol_0_18_1=0 osc_0_21_0=0 txtsubs_0_24_0=0 opengl_0_25_0=0
478 +
479 + for rv in ${REPLACING_VERSIONS}; do
480 + version_compare ${rv} 0.18.1
481 + [[ $? -eq 1 ]] && softvol_0_18_1=1
482 + version_compare ${rv} 0.21.0
483 + [[ $? -eq 1 ]] && osc_0_21_0=1
484 + version_compare ${rv} 0.24.0
485 + [[ $? -eq 1 ]] && txtsubs_0_24_0=1
486 + version_compare ${rv} 0.25.0
487 + [[ $? -eq 1 ]] && ! use opengl && opengl_0_25_0=1
488 + done
489 +
490 + if [[ ${softvol_0_18_1} -eq 1 ]]; then
491 + elog "Since version 0.18.1 the software volume control is always enabled."
492 + elog "This means that volume controls don't change the system volume,"
493 + elog "e.g. per-application volume with PulseAudio."
494 + elog "If you want to restore the previous behaviour, please refer to"
495 + elog
496 + elog "https://wiki.gentoo.org/wiki/Mpv#Volume_in_0.18.1"
497 + elog
498 + fi
499 +
500 + if [[ ${osc_0_21_0} -eq 1 ]]; then
501 + elog "In version 0.21.0 the default OSC layout was changed."
502 + elog "If you want to restore the previous layout, please refer to"
503 + elog
504 + elog "https://wiki.gentoo.org/wiki/Mpv#OSC_in_0.21.0"
505 + elog
506 + fi
507 +
508 + if [[ ${txtsubs_0_24_0} -eq 1 ]]; then
509 + elog "Since version 0.24.0 subtitles with .txt extension aren't autoloaded."
510 + elog "If you want to restore the previous behaviour, please refer to"
511 + elog
512 + elog "https://wiki.gentoo.org/wiki/Mpv#Subtitles_with_.txt_extension_in_0.24.0"
513 + elog
514 + fi
515 +
516 + if [[ ${opengl_0_25_0} -eq 1 ]]; then
517 + elog "Since version 0.25.0 the 'opengl' USE flag is mapped to"
518 + elog "the 'opengl' video output and no longer explicitly requires"
519 + elog "X11 or Mac OS Aqua. Consider enabling the 'opengl' USE flag."
520 + fi
521 +
522 + if use cli && ! has_version 'app-shells/mpv-bash-completion'; then
523 + elog "If you want to have command-line completion via bash-completion,"
524 + elog "please install app-shells/mpv-bash-completion."
525 + fi
526 +
527 + if use cli && [[ -n ${REPLACING_VERSIONS} ]] && \
528 + has_version 'app-shells/mpv-bash-completion'; then
529 + elog "If command-line completion doesn't work after mpv update,"
530 + elog "please rebuild app-shells/mpv-bash-completion."
531 + fi
532 +
533 + gnome2_icon_cache_update
534 + xdg_desktop_database_update
535 +}
536 +
537 +pkg_postrm() {
538 + gnome2_icon_cache_update
539 + xdg_desktop_database_update
540 +}
541 +
542 +src_test() {
543 + cd "${S}"/build/test || die
544 + local test
545 + for test in *; do
546 + if [[ -x ${test} ]]; then
547 + ./"${test}" || die "Test suite failed"
548 + fi
549 + done
550 +}