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 |
+} |