1 |
commit: e834ef497c80f7b45a8b16d49df4c3649f61506c |
2 |
Author: Ilya Tumaykin <itumaykin <AT> gmail <DOT> com> |
3 |
AuthorDate: Tue Feb 13 20:43:05 2018 +0000 |
4 |
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Feb 14 19:55:01 2018 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e834ef49 |
7 |
|
8 |
media-video/mpv: verbump to 0.27.1 and 0.28.1 with fix for CVE-2018-6360 |
9 |
|
10 |
Bug: https://bugs.gentoo.org/646886 |
11 |
Package-Manager: Portage-2.3.24, Repoman-2.3.6 |
12 |
|
13 |
media-video/mpv/Manifest | 3 + |
14 |
...mpv-0.27.0-add-missing-link-flags-for-rpi.patch | 25 ++ |
15 |
media-video/mpv/mpv-0.27.1.ebuild | 374 +++++++++++++++++++++ |
16 |
media-video/mpv/mpv-0.28.1.ebuild | 361 ++++++++++++++++++++ |
17 |
4 files changed, 763 insertions(+) |
18 |
|
19 |
diff --git a/media-video/mpv/Manifest b/media-video/mpv/Manifest |
20 |
index f68d7e9520b..7d531db6ac5 100644 |
21 |
--- a/media-video/mpv/Manifest |
22 |
+++ b/media-video/mpv/Manifest |
23 |
@@ -2,5 +2,8 @@ DIST mpv-0.25.0-patches-r2.tar.xz 11036 BLAKE2B 09fdd566c5fcca290829c536c9e41b65 |
24 |
DIST mpv-0.25.0.tar.gz 2874584 BLAKE2B c64321b50fd635f82bbcbce5cdefee1d0da011558cebdacd3339aaa14162f659c955bea75341ed21096eea5b689e4c1ca4d2d97feff1f4026044ddd61bdd9944 SHA512 eefc574e2995ddf6bd15c9b62986a5ca277c30949b036d57a11bbfb796c11c1e6dd7c313abd91a909dd98ca0f2b0be29ec6b980d0287a5891b42b0ffba926cbf |
25 |
DIST mpv-0.26.0.tar.gz 2916212 BLAKE2B b6402868face65c1179351697eff02116765eecdd105eef621faa73dc77f376aa060476bc80b92eba4839c46836c13bce0e56c6dccf0fe1aa49b1cfa463ec43e SHA512 fd772b4765317eb1ea3b54f12b86e0ac6c4d5e9d16895eb5bebe2e074a01f6b790981b9b34a87d9b23e4291149d3a7154b09fba4a259cec1949a6aa88d6ddec7 |
26 |
DIST mpv-0.27.0.tar.gz 2956816 BLAKE2B 2af0fc7edbecb552fd7df93dcd9124fd4e30a2c29aa53d2139f2817356a6c4eb82eed74a8fdf0493ebb0315cb2806d76a8b2d8c24706975acf4d4704fd291dac SHA512 22738f907d84d362095773972f685e3b03ab4c8172a22ddede290fc221a83ab9135b96f8b18191dabe842b2963f68983929cf065097287fc1a054a7d5f1d0ae4 |
27 |
+DIST mpv-0.27.1-patches-r0.tar.xz 6580 BLAKE2B fdf5f580fbda9ec6856354d43fd80a177464af27ea6f65ab31c610996fced64670f178956b4030c9c34d0707f8fa4544c829e4401679d2e2d6e730b19ebfe6d8 SHA512 8f25c51f0a3c6b5304090144b8343afba4d872216f8fa13890240a51ac464bd2c486b017390d4d3398d7082ffdf3e617659861f15505bd2db72b6f5ab4500bcb |
28 |
+DIST mpv-0.27.1.tar.gz 2957202 BLAKE2B 79dd06ba9399368f24c2c0a065218432110829af08d97cfdf753966ec7ca75e5af8f04da381f83251cb57bdce9b30c0d2d8c6fc772f73b5a0ed43139ce66a316 SHA512 3b8e12edb20b6ffdbbb02aba9cc64ad25e4fb583efc72248549641a46cc840827c1b6b017e7efc323d8a8299b7b094a676525bd978b8c3c9ecccca32fe39149a |
29 |
DIST mpv-0.28.0.tar.gz 2982165 BLAKE2B 50f095d499df9685dec958287c159fc88be3b5db1465264404ba7c74184569ba47c147cb6491342ba8762199290f408737d03403e454a180bd0ed8b7191d14cc SHA512 33e889f9ca2dd16ad055ccd9fc5549fcead3fd15dcbc52c6b5f3ef608cf87b3d9952e9236e3dec8e7f32240b68d0b0cff1499f511d39c8f3a0501334f5c57a70 |
30 |
+DIST mpv-0.28.1.tar.gz 2982546 BLAKE2B ae078e3393b1113a8211699da1fea867324c50d3696ab82446996f04b2571b29791811b3d3dc082761ca36d63c9b1aa844d7cd56b740e73821b3e7ca35d39512 SHA512 7593e5dbb5963bf39f57f8a08f1b5142474897172a2c6cafcbfd3a83a2f0cfb9a3e5d62eea6625f01aae8ccc236b738511846cd5a5016b93d2510f12f0be7624 |
31 |
DIST waf-1.9.8 100685 BLAKE2B b335115b7ba5af4f8f49fc4da7967fa20e0633bfc7de7ad28fdb58dfcf7ae9c7833d053d298280e26e94b18af70a66fc13d08adf1fc7f9ad9b81e70d95cc74fc SHA512 e7493767f65deeb38aa162adef22adf60ebbd038410e9cdf4fe6f0de8c43395dbbba14962aa2c3855e1277136085fc22ad12ebfb8ac4e76f16358296039b8ea2 |
32 |
|
33 |
diff --git a/media-video/mpv/files/mpv-0.27.0-add-missing-link-flags-for-rpi.patch b/media-video/mpv/files/mpv-0.27.0-add-missing-link-flags-for-rpi.patch |
34 |
new file mode 100644 |
35 |
index 00000000000..411573a6625 |
36 |
--- /dev/null |
37 |
+++ b/media-video/mpv/files/mpv-0.27.0-add-missing-link-flags-for-rpi.patch |
38 |
@@ -0,0 +1,25 @@ |
39 |
+commit 48143b0cf52de37f93ae53a95261988d9b5ebff2 |
40 |
+Author: Ilya Tumaykin <itumaykin@×××××.com> |
41 |
+Date: Thu Jan 26 23:51:29 2017 +0300 |
42 |
+ |
43 |
+build: rpi: add missing linker flags to fix build |
44 |
+ |
45 |
+See https://www.raspberrypi.org/forums/viewtopic.php?f=67&t=20005&p=194090 |
46 |
+and https://github.com/raspberrypi/firmware/issues/110 |
47 |
+ |
48 |
+Raspberry-pi upstream also adds '-lGLESv2' when EGL is used: |
49 |
+https://github.com/raspberrypi/userland/blob/master/pkgconfig/egl.pc.in |
50 |
+ |
51 |
+diff --git a/wscript b/wscript |
52 |
+index 1880f631e5..741fe1e5a4 100644 |
53 |
+--- a/wscript |
54 |
++++ b/wscript |
55 |
+@@ -772,7 +772,7 @@ video_output_features = [ |
56 |
+ lib=['mmal_core', 'mmal_util', 'mmal_vc_client', 'bcm_host']), |
57 |
+ # We still need all OpenGL symbols, because the vo_opengl code is |
58 |
+ # generic and supports anything from GLES2/OpenGL 2.1 to OpenGL 4 core. |
59 |
+- check_cc(lib="EGL"), |
60 |
++ check_cc(lib="EGL", linkflags="-lGLESv2"), |
61 |
+ check_cc(lib="GLESv2"), |
62 |
+ ), |
63 |
+ } , { |
64 |
|
65 |
diff --git a/media-video/mpv/mpv-0.27.1.ebuild b/media-video/mpv/mpv-0.27.1.ebuild |
66 |
new file mode 100644 |
67 |
index 00000000000..dec8d69628f |
68 |
--- /dev/null |
69 |
+++ b/media-video/mpv/mpv-0.27.1.ebuild |
70 |
@@ -0,0 +1,374 @@ |
71 |
+# Copyright 1999-2018 Gentoo Foundation |
72 |
+# Distributed under the terms of the GNU General Public License v2 |
73 |
+ |
74 |
+EAPI=6 |
75 |
+ |
76 |
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) |
77 |
+PYTHON_REQ_USE='threads(+)' |
78 |
+ |
79 |
+WAF_PV=1.9.8 |
80 |
+ |
81 |
+inherit flag-o-matic gnome2-utils pax-utils python-r1 toolchain-funcs versionator waf-utils xdg-utils |
82 |
+ |
83 |
+DESCRIPTION="Media player based on MPlayer and mplayer2" |
84 |
+HOMEPAGE="https://mpv.io/" |
85 |
+ |
86 |
+if [[ ${PV} != *9999* ]]; then |
87 |
+ SRC_URI=" |
88 |
+ https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz |
89 |
+ https://dev.gentoo.org/~kensington/distfiles/${P}-patches-${PR}.tar.xz |
90 |
+ " |
91 |
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux" |
92 |
+ DOCS=( RELEASE_NOTES ) |
93 |
+else |
94 |
+ EGIT_REPO_URI="https://github.com/mpv-player/mpv.git" |
95 |
+ inherit git-r3 |
96 |
+fi |
97 |
+SRC_URI+=" https://waf.io/waf-${WAF_PV}" |
98 |
+DOCS+=( README.md DOCS/{client-api,interface}-changes.rst ) |
99 |
+ |
100 |
+# See Copyright in sources and Gentoo bug 506946. Waf is BSD, libmpv is ISC. |
101 |
+LICENSE="LGPL-2.1+ GPL-2+ BSD ISC samba? ( GPL-3+ )" |
102 |
+SLOT="0" |
103 |
+IUSE="+alsa aqua archive bluray cdda +cli coreaudio cplugins cuda doc drm dvb |
104 |
+ dvd +egl encode gbm +iconv jack javascript jpeg lcms +libass libav libcaca |
105 |
+ libmpv +lua luajit openal +opengl oss pulseaudio raspberry-pi rubberband |
106 |
+ samba sdl selinux test tools +uchardet v4l vaapi vdpau wayland +X +xv zlib |
107 |
+ zsh-completion" |
108 |
+ |
109 |
+REQUIRED_USE=" |
110 |
+ || ( cli libmpv ) |
111 |
+ aqua? ( opengl ) |
112 |
+ cuda? ( !libav opengl ) |
113 |
+ egl? ( || ( gbm X wayland ) ) |
114 |
+ gbm? ( drm egl opengl ) |
115 |
+ lcms? ( opengl ) |
116 |
+ luajit? ( lua ) |
117 |
+ opengl? ( || ( aqua egl X raspberry-pi !cli ) ) |
118 |
+ raspberry-pi? ( opengl ) |
119 |
+ test? ( opengl ) |
120 |
+ tools? ( cli ) |
121 |
+ uchardet? ( iconv ) |
122 |
+ v4l? ( || ( alsa oss ) ) |
123 |
+ vaapi? ( || ( gbm X wayland ) ) |
124 |
+ vdpau? ( X ) |
125 |
+ wayland? ( egl ) |
126 |
+ X? ( egl? ( opengl ) ) |
127 |
+ xv? ( X ) |
128 |
+ zsh-completion? ( cli ) |
129 |
+ ${PYTHON_REQUIRED_USE} |
130 |
+" |
131 |
+ |
132 |
+COMMON_DEPEND=" |
133 |
+ !libav? ( >=media-video/ffmpeg-3.2.2:0=[encode?,threads,vaapi?,vdpau?] ) |
134 |
+ libav? ( >=media-video/libav-12:0=[encode?,threads,vaapi?,vdpau?] ) |
135 |
+ alsa? ( >=media-libs/alsa-lib-1.0.18 ) |
136 |
+ archive? ( >=app-arch/libarchive-3.0.0:= ) |
137 |
+ bluray? ( >=media-libs/libbluray-0.3.0:= ) |
138 |
+ cdda? ( dev-libs/libcdio-paranoia ) |
139 |
+ cuda? ( >=media-video/ffmpeg-3.3:0 ) |
140 |
+ drm? ( x11-libs/libdrm ) |
141 |
+ dvd? ( |
142 |
+ >=media-libs/libdvdnav-4.2.0 |
143 |
+ >=media-libs/libdvdread-4.1.0 |
144 |
+ ) |
145 |
+ egl? ( media-libs/mesa[egl,gbm(-)?,wayland(-)?] ) |
146 |
+ iconv? ( |
147 |
+ virtual/libiconv |
148 |
+ uchardet? ( app-i18n/uchardet ) |
149 |
+ ) |
150 |
+ jack? ( virtual/jack ) |
151 |
+ javascript? ( >=dev-lang/mujs-1.0.0 ) |
152 |
+ jpeg? ( virtual/jpeg:0 ) |
153 |
+ lcms? ( >=media-libs/lcms-2.6:2 ) |
154 |
+ libass? ( |
155 |
+ >=media-libs/libass-0.12.1:=[fontconfig,harfbuzz] |
156 |
+ virtual/ttf-fonts |
157 |
+ ) |
158 |
+ libcaca? ( >=media-libs/libcaca-0.99_beta18 ) |
159 |
+ lua? ( |
160 |
+ !luajit? ( <dev-lang/lua-5.3:= ) |
161 |
+ luajit? ( dev-lang/luajit:2 ) |
162 |
+ ) |
163 |
+ openal? ( >=media-libs/openal-1.13 ) |
164 |
+ pulseaudio? ( media-sound/pulseaudio ) |
165 |
+ raspberry-pi? ( >=media-libs/raspberrypi-userland-0_pre20160305-r1 ) |
166 |
+ rubberband? ( >=media-libs/rubberband-1.8.0 ) |
167 |
+ samba? ( net-fs/samba ) |
168 |
+ sdl? ( media-libs/libsdl2[sound,threads,video] ) |
169 |
+ v4l? ( media-libs/libv4l ) |
170 |
+ vaapi? ( |
171 |
+ !libav? ( >=media-video/ffmpeg-3.3:0 ) |
172 |
+ libav? ( >=media-video/libav-13:0 ) |
173 |
+ x11-libs/libva:=[drm?,X?,wayland?] |
174 |
+ ) |
175 |
+ vdpau? ( |
176 |
+ !libav? ( >=media-video/ffmpeg-3.3:0 ) |
177 |
+ libav? ( >=media-video/libav-13:0 ) |
178 |
+ x11-libs/libvdpau |
179 |
+ ) |
180 |
+ wayland? ( |
181 |
+ >=dev-libs/wayland-1.6.0 |
182 |
+ >=x11-libs/libxkbcommon-0.3.0 |
183 |
+ ) |
184 |
+ X? ( |
185 |
+ x11-libs/libX11 |
186 |
+ x11-libs/libXScrnSaver |
187 |
+ x11-libs/libXext |
188 |
+ x11-libs/libXinerama |
189 |
+ x11-libs/libXrandr |
190 |
+ opengl? ( |
191 |
+ x11-libs/libXdamage |
192 |
+ virtual/opengl |
193 |
+ ) |
194 |
+ xv? ( x11-libs/libXv ) |
195 |
+ ) |
196 |
+ zlib? ( sys-libs/zlib ) |
197 |
+" |
198 |
+DEPEND="${COMMON_DEPEND} |
199 |
+ ${PYTHON_DEPS} |
200 |
+ dev-python/docutils |
201 |
+ virtual/pkgconfig |
202 |
+ doc? ( dev-python/rst2pdf ) |
203 |
+ dvb? ( virtual/linuxtv-dvb-headers ) |
204 |
+ test? ( >=dev-util/cmocka-1.0.0 ) |
205 |
+ v4l? ( virtual/os-headers ) |
206 |
+ zsh-completion? ( dev-lang/perl ) |
207 |
+" |
208 |
+RDEPEND="${COMMON_DEPEND} |
209 |
+ cuda? ( x11-drivers/nvidia-drivers[X] ) |
210 |
+ selinux? ( sec-policy/selinux-mplayer ) |
211 |
+ tools? ( ${PYTHON_DEPS} ) |
212 |
+" |
213 |
+ |
214 |
+PATCHES=( |
215 |
+ "${FILESDIR}/${PN}-0.19.0-make-ffmpeg-version-check-non-fatal.patch" |
216 |
+ "${FILESDIR}/${PN}-0.23.0-make-libavdevice-check-accept-libav.patch" |
217 |
+ "${FILESDIR}/${PN}-0.25.0-fix-float-comparisons-in-tests.patch" |
218 |
+ "${FILESDIR}/${PN}-0.27.0-add-missing-link-flags-for-rpi.patch" |
219 |
+) |
220 |
+ |
221 |
+pkg_setup() { |
222 |
+ [[ ${MERGE_TYPE} != "binary" ]] && python_setup |
223 |
+} |
224 |
+ |
225 |
+src_prepare() { |
226 |
+ cp "${DISTDIR}/waf-${WAF_PV}" "${S}"/waf || die |
227 |
+ chmod +x "${S}"/waf || die |
228 |
+ eapply "${WORKDIR}/${PV}" |
229 |
+ default_src_prepare |
230 |
+} |
231 |
+ |
232 |
+src_configure() { |
233 |
+ tc-export CC PKG_CONFIG AR |
234 |
+ |
235 |
+ if use raspberry-pi; then |
236 |
+ append-cflags -I"${SYSROOT%/}${EPREFIX}/opt/vc/include" |
237 |
+ append-ldflags -L"${SYSROOT%/}${EPREFIX}/opt/vc/lib" |
238 |
+ fi |
239 |
+ |
240 |
+ local mywafargs=( |
241 |
+ --confdir="${EPREFIX}/etc/${PN}" |
242 |
+ --docdir="${EPREFIX}/usr/share/doc/${PF}" |
243 |
+ --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" |
244 |
+ |
245 |
+ $(usex cli '' '--disable-cplayer') |
246 |
+ $(use_enable libmpv libmpv-shared) |
247 |
+ |
248 |
+ --disable-libmpv-static |
249 |
+ --disable-static-build |
250 |
+ # See deep down below for build-date. |
251 |
+ --disable-optimize # Don't add '-O2' to CFLAGS. |
252 |
+ --disable-debug-build # Don't add '-g' to CFLAGS. |
253 |
+ --enable-html-build |
254 |
+ |
255 |
+ $(use_enable doc pdf-build) |
256 |
+ $(use_enable cplugins) |
257 |
+ $(use_enable zsh-completion zsh-comp) |
258 |
+ $(use_enable test) |
259 |
+ |
260 |
+ --disable-android |
261 |
+ $(use_enable iconv) |
262 |
+ $(use_enable samba libsmbclient) |
263 |
+ $(use_enable lua) |
264 |
+ $(usex luajit '--lua=luajit' '') |
265 |
+ $(use_enable javascript) |
266 |
+ $(use_enable libass) |
267 |
+ $(use_enable libass libass-osd) |
268 |
+ $(use_enable zlib) |
269 |
+ $(use_enable encode encoding) |
270 |
+ $(use_enable bluray libbluray) |
271 |
+ $(use_enable dvd dvdread) |
272 |
+ $(use_enable dvd dvdnav) |
273 |
+ $(use_enable cdda) |
274 |
+ $(use_enable uchardet) |
275 |
+ $(use_enable rubberband) |
276 |
+ $(use_enable lcms lcms2) |
277 |
+ --disable-vapoursynth # Only available in overlays. |
278 |
+ --disable-vapoursynth-lazy |
279 |
+ $(use_enable archive libarchive) |
280 |
+ |
281 |
+ --enable-libavdevice |
282 |
+ |
283 |
+ # Audio outputs: |
284 |
+ $(use_enable sdl sdl2) # Listed under audio, but also includes video. |
285 |
+ --disable-sdl1 |
286 |
+ $(use_enable oss oss-audio) |
287 |
+ --disable-rsound # Only available in overlays. |
288 |
+ --disable-sndio # Only available in overlays. |
289 |
+ $(use_enable pulseaudio pulse) |
290 |
+ $(use_enable jack) |
291 |
+ $(use_enable openal) |
292 |
+ --disable-opensles |
293 |
+ $(use_enable alsa) |
294 |
+ $(use_enable coreaudio) |
295 |
+ |
296 |
+ # Video outputs: |
297 |
+ $(use_enable aqua cocoa) |
298 |
+ $(use_enable drm) |
299 |
+ $(use_enable gbm) |
300 |
+ $(use_enable wayland) |
301 |
+ $(use_enable X x11) |
302 |
+ $(use_enable xv) |
303 |
+ $(usex opengl "$(use_enable aqua gl-cocoa)" '--disable-gl-cocoa') |
304 |
+ $(usex opengl "$(use_enable X gl-x11)" '--disable-gl-x11') |
305 |
+ $(usex egl "$(use_enable X egl-x11)" '--disable-egl-x11') |
306 |
+ $(usex egl "$(use_enable gbm egl-drm)" '--disable-egl-drm') |
307 |
+ $(usex opengl "$(use_enable wayland gl-wayland)" '--disable-gl-wayland') |
308 |
+ $(use_enable vdpau) |
309 |
+ $(usex vdpau "$(use_enable opengl vdpau-gl-x11)" '--disable-vdpau-gl-x11') |
310 |
+ $(use_enable vaapi) # See below for vaapi-glx, vaapi-x-egl. |
311 |
+ $(usex vaapi "$(use_enable X vaapi-x11)" '--disable-vaapi-x11') |
312 |
+ $(usex vaapi "$(use_enable wayland vaapi-wayland)" '--disable-vaapi-wayland') |
313 |
+ $(usex vaapi "$(use_enable gbm vaapi-drm)" '--disable-vaapi-drm') |
314 |
+ $(use_enable libcaca caca) |
315 |
+ $(use_enable jpeg) |
316 |
+ $(use_enable raspberry-pi rpi) |
317 |
+ $(usex libmpv "$(use_enable opengl plain-gl)" '--disable-plain-gl') |
318 |
+ --disable-mali-fbdev # Only available in overlays. |
319 |
+ $(usex opengl '' '--disable-gl') |
320 |
+ |
321 |
+ # HWaccels: |
322 |
+ # Automagic Video Toolbox HW acceleration. See Gentoo bug 577332. |
323 |
+ $(use_enable vaapi vaapi-hwaccel) |
324 |
+ $(use_enable vdpau vdpau-hwaccel) |
325 |
+ $(use_enable cuda cuda-hwaccel) |
326 |
+ |
327 |
+ # TV features: |
328 |
+ $(use_enable v4l tv) |
329 |
+ $(use_enable v4l tv-v4l2) |
330 |
+ $(use_enable v4l libv4l2) |
331 |
+ $(use_enable v4l audio-input) |
332 |
+ $(use_enable dvb dvbin) |
333 |
+ |
334 |
+ # Miscellaneous features: |
335 |
+ --disable-apple-remote # Needs testing first. See Gentoo bug 577332. |
336 |
+ ) |
337 |
+ |
338 |
+ if use vaapi && use X; then |
339 |
+ mywafargs+=( |
340 |
+ $(use_enable opengl vaapi-glx) |
341 |
+ $(use_enable egl vaapi-x-egl) |
342 |
+ ) |
343 |
+ fi |
344 |
+ |
345 |
+ # Create reproducible non-live builds. |
346 |
+ [[ ${PV} != *9999* ]] && mywafargs+=(--disable-build-date) |
347 |
+ |
348 |
+ waf-utils_src_configure "${mywafargs[@]}" |
349 |
+} |
350 |
+ |
351 |
+src_install() { |
352 |
+ waf-utils_src_install |
353 |
+ |
354 |
+ if use lua; then |
355 |
+ insinto /usr/share/${PN} |
356 |
+ doins -r TOOLS/lua |
357 |
+ fi |
358 |
+ |
359 |
+ if use cli && use luajit; then |
360 |
+ pax-mark -m "${ED}"usr/bin/${PN} |
361 |
+ fi |
362 |
+ |
363 |
+ if use tools; then |
364 |
+ dobin TOOLS/{mpv_identify.sh,umpv} |
365 |
+ newbin TOOLS/idet.sh mpv_idet.sh |
366 |
+ python_replicate_script "${ED}"usr/bin/umpv |
367 |
+ fi |
368 |
+} |
369 |
+ |
370 |
+pkg_postinst() { |
371 |
+ local rv softvol_0_18_1=0 osc_0_21_0=0 txtsubs_0_24_0=0 opengl_0_25_0=0 |
372 |
+ |
373 |
+ for rv in ${REPLACING_VERSIONS}; do |
374 |
+ version_compare ${rv} 0.18.1 |
375 |
+ [[ $? -eq 1 ]] && softvol_0_18_1=1 |
376 |
+ version_compare ${rv} 0.21.0 |
377 |
+ [[ $? -eq 1 ]] && osc_0_21_0=1 |
378 |
+ version_compare ${rv} 0.24.0 |
379 |
+ [[ $? -eq 1 ]] && txtsubs_0_24_0=1 |
380 |
+ version_compare ${rv} 0.25.0 |
381 |
+ [[ $? -eq 1 ]] && ! use opengl && opengl_0_25_0=1 |
382 |
+ done |
383 |
+ |
384 |
+ if [[ ${softvol_0_18_1} -eq 1 ]]; then |
385 |
+ elog "Since version 0.18.1 the software volume control is always enabled." |
386 |
+ elog "This means that volume controls don't change the system volume," |
387 |
+ elog "e.g. per-application volume with PulseAudio." |
388 |
+ elog "If you want to restore the previous behaviour, please refer to" |
389 |
+ elog |
390 |
+ elog "https://wiki.gentoo.org/wiki/Mpv#Volume_in_0.18.1" |
391 |
+ elog |
392 |
+ fi |
393 |
+ |
394 |
+ if [[ ${osc_0_21_0} -eq 1 ]]; then |
395 |
+ elog "In version 0.21.0 the default OSC layout was changed." |
396 |
+ elog "If you want to restore the previous layout, please refer to" |
397 |
+ elog |
398 |
+ elog "https://wiki.gentoo.org/wiki/Mpv#OSC_in_0.21.0" |
399 |
+ elog |
400 |
+ fi |
401 |
+ |
402 |
+ if [[ ${txtsubs_0_24_0} -eq 1 ]]; then |
403 |
+ elog "Since version 0.24.0 subtitles with .txt extension aren't autoloaded." |
404 |
+ elog "If you want to restore the previous behaviour, please refer to" |
405 |
+ elog |
406 |
+ elog "https://wiki.gentoo.org/wiki/Mpv#Subtitles_with_.txt_extension_in_0.24.0" |
407 |
+ elog |
408 |
+ fi |
409 |
+ |
410 |
+ if [[ ${opengl_0_25_0} -eq 1 ]]; then |
411 |
+ elog "Since version 0.25.0 the 'opengl' USE flag is mapped to" |
412 |
+ elog "the 'opengl' video output and no longer explicitly requires" |
413 |
+ elog "X11 or Mac OS Aqua. Consider enabling the 'opengl' USE flag." |
414 |
+ fi |
415 |
+ |
416 |
+ if use cli && ! has_version 'app-shells/mpv-bash-completion'; then |
417 |
+ elog "If you want to have command-line completion via bash-completion," |
418 |
+ elog "please install app-shells/mpv-bash-completion." |
419 |
+ fi |
420 |
+ |
421 |
+ if use cli && [[ -n ${REPLACING_VERSIONS} ]] && \ |
422 |
+ has_version 'app-shells/mpv-bash-completion'; then |
423 |
+ elog "If command-line completion doesn't work after mpv update," |
424 |
+ elog "please rebuild app-shells/mpv-bash-completion." |
425 |
+ fi |
426 |
+ |
427 |
+ gnome2_icon_cache_update |
428 |
+ xdg_desktop_database_update |
429 |
+} |
430 |
+ |
431 |
+pkg_postrm() { |
432 |
+ gnome2_icon_cache_update |
433 |
+ xdg_desktop_database_update |
434 |
+} |
435 |
+ |
436 |
+src_test() { |
437 |
+ cd "${S}"/build/test || die |
438 |
+ local test |
439 |
+ for test in *; do |
440 |
+ if [[ -x ${test} ]]; then |
441 |
+ ./"${test}" || die "Test suite failed" |
442 |
+ fi |
443 |
+ done |
444 |
+} |
445 |
|
446 |
diff --git a/media-video/mpv/mpv-0.28.1.ebuild b/media-video/mpv/mpv-0.28.1.ebuild |
447 |
new file mode 100644 |
448 |
index 00000000000..472b73c52c5 |
449 |
--- /dev/null |
450 |
+++ b/media-video/mpv/mpv-0.28.1.ebuild |
451 |
@@ -0,0 +1,361 @@ |
452 |
+# Copyright 1999-2018 Gentoo Foundation |
453 |
+# Distributed under the terms of the GNU General Public License v2 |
454 |
+ |
455 |
+EAPI=6 |
456 |
+ |
457 |
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) |
458 |
+PYTHON_REQ_USE='threads(+)' |
459 |
+ |
460 |
+WAF_PV=1.9.8 |
461 |
+ |
462 |
+inherit flag-o-matic gnome2-utils pax-utils python-r1 toolchain-funcs versionator waf-utils xdg-utils |
463 |
+ |
464 |
+DESCRIPTION="Media player based on MPlayer and mplayer2" |
465 |
+HOMEPAGE="https://mpv.io/" |
466 |
+ |
467 |
+if [[ ${PV} != *9999* ]]; then |
468 |
+ SRC_URI="https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz" |
469 |
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux" |
470 |
+ DOCS=( RELEASE_NOTES ) |
471 |
+else |
472 |
+ EGIT_REPO_URI="https://github.com/mpv-player/mpv.git" |
473 |
+ inherit git-r3 |
474 |
+fi |
475 |
+SRC_URI+=" https://waf.io/waf-${WAF_PV}" |
476 |
+DOCS+=( README.md DOCS/{client-api,interface}-changes.rst ) |
477 |
+ |
478 |
+# See Copyright in sources and Gentoo bug 506946. Waf is BSD, libmpv is ISC. |
479 |
+LICENSE="LGPL-2.1+ GPL-2+ BSD ISC samba? ( GPL-3+ )" |
480 |
+SLOT="0" |
481 |
+IUSE="+alsa aqua archive bluray cdda +cli coreaudio cplugins cuda doc drm dvb |
482 |
+ dvd +egl encode gbm +iconv jack javascript jpeg lcms +libass libav libcaca |
483 |
+ libmpv +lua luajit openal +opengl oss pulseaudio raspberry-pi rubberband |
484 |
+ samba sdl selinux test tools +uchardet v4l vaapi vdpau wayland +X +xv zlib |
485 |
+ zsh-completion" |
486 |
+ |
487 |
+REQUIRED_USE=" |
488 |
+ || ( cli libmpv ) |
489 |
+ aqua? ( opengl ) |
490 |
+ cuda? ( !libav opengl ) |
491 |
+ egl? ( || ( gbm X wayland ) ) |
492 |
+ gbm? ( drm egl opengl ) |
493 |
+ lcms? ( opengl ) |
494 |
+ luajit? ( lua ) |
495 |
+ opengl? ( || ( aqua egl X raspberry-pi !cli ) ) |
496 |
+ raspberry-pi? ( opengl ) |
497 |
+ test? ( opengl ) |
498 |
+ tools? ( cli ) |
499 |
+ uchardet? ( iconv ) |
500 |
+ v4l? ( || ( alsa oss ) ) |
501 |
+ vaapi? ( || ( gbm X wayland ) ) |
502 |
+ vdpau? ( X ) |
503 |
+ wayland? ( egl ) |
504 |
+ X? ( egl? ( opengl ) ) |
505 |
+ xv? ( X ) |
506 |
+ zsh-completion? ( cli ) |
507 |
+ ${PYTHON_REQUIRED_USE} |
508 |
+" |
509 |
+ |
510 |
+COMMON_DEPEND=" |
511 |
+ !libav? ( >=media-video/ffmpeg-9999:0=[encode?,threads,vaapi?,vdpau?] ) |
512 |
+ libav? ( >=media-video/libav-9999:0=[encode?,threads,vaapi?,vdpau?] ) |
513 |
+ alsa? ( >=media-libs/alsa-lib-1.0.18 ) |
514 |
+ archive? ( >=app-arch/libarchive-3.0.0:= ) |
515 |
+ bluray? ( >=media-libs/libbluray-0.3.0:= ) |
516 |
+ cdda? ( dev-libs/libcdio-paranoia ) |
517 |
+ drm? ( x11-libs/libdrm ) |
518 |
+ dvd? ( |
519 |
+ >=media-libs/libdvdnav-4.2.0 |
520 |
+ >=media-libs/libdvdread-4.1.0 |
521 |
+ ) |
522 |
+ egl? ( media-libs/mesa[egl,gbm(-)?,wayland(-)?] ) |
523 |
+ iconv? ( |
524 |
+ virtual/libiconv |
525 |
+ uchardet? ( app-i18n/uchardet ) |
526 |
+ ) |
527 |
+ jack? ( virtual/jack ) |
528 |
+ javascript? ( >=dev-lang/mujs-1.0.0 ) |
529 |
+ jpeg? ( virtual/jpeg:0 ) |
530 |
+ lcms? ( >=media-libs/lcms-2.6:2 ) |
531 |
+ libass? ( |
532 |
+ >=media-libs/libass-0.12.1:=[fontconfig,harfbuzz] |
533 |
+ virtual/ttf-fonts |
534 |
+ ) |
535 |
+ libcaca? ( >=media-libs/libcaca-0.99_beta18 ) |
536 |
+ lua? ( |
537 |
+ !luajit? ( <dev-lang/lua-5.3:= ) |
538 |
+ luajit? ( dev-lang/luajit:2 ) |
539 |
+ ) |
540 |
+ openal? ( >=media-libs/openal-1.13 ) |
541 |
+ pulseaudio? ( media-sound/pulseaudio ) |
542 |
+ raspberry-pi? ( >=media-libs/raspberrypi-userland-0_pre20160305-r1 ) |
543 |
+ rubberband? ( >=media-libs/rubberband-1.8.0 ) |
544 |
+ samba? ( net-fs/samba ) |
545 |
+ sdl? ( media-libs/libsdl2[sound,threads,video] ) |
546 |
+ v4l? ( media-libs/libv4l ) |
547 |
+ vaapi? ( x11-libs/libva:=[drm?,X?,wayland?] ) |
548 |
+ vdpau? ( x11-libs/libvdpau ) |
549 |
+ wayland? ( |
550 |
+ >=dev-libs/wayland-1.6.0 |
551 |
+ >=x11-libs/libxkbcommon-0.3.0 |
552 |
+ dev-libs/wayland-protocols |
553 |
+ ) |
554 |
+ X? ( |
555 |
+ x11-libs/libX11 |
556 |
+ x11-libs/libXScrnSaver |
557 |
+ x11-libs/libXext |
558 |
+ x11-libs/libXinerama |
559 |
+ x11-libs/libXrandr |
560 |
+ opengl? ( |
561 |
+ x11-libs/libXdamage |
562 |
+ virtual/opengl |
563 |
+ ) |
564 |
+ xv? ( x11-libs/libXv ) |
565 |
+ ) |
566 |
+ zlib? ( sys-libs/zlib ) |
567 |
+" |
568 |
+DEPEND="${COMMON_DEPEND} |
569 |
+ ${PYTHON_DEPS} |
570 |
+ dev-python/docutils |
571 |
+ virtual/pkgconfig |
572 |
+ doc? ( dev-python/rst2pdf ) |
573 |
+ dvb? ( virtual/linuxtv-dvb-headers ) |
574 |
+ test? ( >=dev-util/cmocka-1.0.0 ) |
575 |
+ v4l? ( virtual/os-headers ) |
576 |
+ zsh-completion? ( dev-lang/perl ) |
577 |
+" |
578 |
+RDEPEND="${COMMON_DEPEND} |
579 |
+ cuda? ( x11-drivers/nvidia-drivers[X] ) |
580 |
+ selinux? ( sec-policy/selinux-mplayer ) |
581 |
+ tools? ( ${PYTHON_DEPS} ) |
582 |
+" |
583 |
+ |
584 |
+PATCHES=( |
585 |
+ "${FILESDIR}/${PN}-0.19.0-make-ffmpeg-version-check-non-fatal.patch" |
586 |
+ "${FILESDIR}/${PN}-0.25.0-fix-float-comparisons-in-tests.patch" |
587 |
+ "${FILESDIR}/${PN}-0.27.0-add-missing-link-flags-for-rpi.patch" |
588 |
+) |
589 |
+ |
590 |
+pkg_setup() { |
591 |
+ [[ ${MERGE_TYPE} != "binary" ]] && python_setup |
592 |
+} |
593 |
+ |
594 |
+src_prepare() { |
595 |
+ cp "${DISTDIR}/waf-${WAF_PV}" "${S}"/waf || die |
596 |
+ chmod +x "${S}"/waf || die |
597 |
+ default_src_prepare |
598 |
+} |
599 |
+ |
600 |
+src_configure() { |
601 |
+ tc-export CC PKG_CONFIG AR |
602 |
+ |
603 |
+ if use raspberry-pi; then |
604 |
+ append-cflags -I"${SYSROOT%/}${EPREFIX}/opt/vc/include" |
605 |
+ append-ldflags -L"${SYSROOT%/}${EPREFIX}/opt/vc/lib" |
606 |
+ fi |
607 |
+ |
608 |
+ local mywafargs=( |
609 |
+ --confdir="${EPREFIX}/etc/${PN}" |
610 |
+ --docdir="${EPREFIX}/usr/share/doc/${PF}" |
611 |
+ --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" |
612 |
+ |
613 |
+ $(usex cli '' '--disable-cplayer') |
614 |
+ $(use_enable libmpv libmpv-shared) |
615 |
+ |
616 |
+ --disable-libmpv-static |
617 |
+ --disable-static-build |
618 |
+ # See deep down below for build-date. |
619 |
+ --disable-optimize # Don't add '-O2' to CFLAGS. |
620 |
+ --disable-debug-build # Don't add '-g' to CFLAGS. |
621 |
+ --enable-html-build |
622 |
+ |
623 |
+ $(use_enable doc pdf-build) |
624 |
+ $(use_enable cplugins) |
625 |
+ $(use_enable zsh-completion zsh-comp) |
626 |
+ $(use_enable test) |
627 |
+ |
628 |
+ --disable-android |
629 |
+ $(use_enable iconv) |
630 |
+ $(use_enable samba libsmbclient) |
631 |
+ $(use_enable lua) |
632 |
+ $(usex luajit '--lua=luajit' '') |
633 |
+ $(use_enable javascript) |
634 |
+ $(use_enable libass) |
635 |
+ $(use_enable libass libass-osd) |
636 |
+ $(use_enable zlib) |
637 |
+ $(use_enable encode encoding) |
638 |
+ $(use_enable bluray libbluray) |
639 |
+ $(use_enable dvd dvdread) |
640 |
+ $(use_enable dvd dvdnav) |
641 |
+ $(use_enable cdda) |
642 |
+ $(use_enable uchardet) |
643 |
+ $(use_enable rubberband) |
644 |
+ $(use_enable lcms lcms2) |
645 |
+ --disable-vapoursynth # Only available in overlays. |
646 |
+ --disable-vapoursynth-lazy |
647 |
+ $(use_enable archive libarchive) |
648 |
+ |
649 |
+ --enable-libavdevice |
650 |
+ |
651 |
+ # Audio outputs: |
652 |
+ $(use_enable sdl sdl2) # Listed under audio, but also includes video. |
653 |
+ --disable-sdl1 |
654 |
+ $(use_enable oss oss-audio) |
655 |
+ --disable-rsound # Only available in overlays. |
656 |
+ --disable-sndio # Only available in overlays. |
657 |
+ $(use_enable pulseaudio pulse) |
658 |
+ $(use_enable jack) |
659 |
+ $(use_enable openal) |
660 |
+ --disable-opensles |
661 |
+ $(use_enable alsa) |
662 |
+ $(use_enable coreaudio) |
663 |
+ |
664 |
+ # Video outputs: |
665 |
+ $(use_enable aqua cocoa) |
666 |
+ $(use_enable drm) |
667 |
+ $(use_enable gbm) |
668 |
+ $(use_enable wayland wayland-scanner) |
669 |
+ $(use_enable wayland wayland-protocols) |
670 |
+ $(use_enable wayland) |
671 |
+ $(use_enable X x11) |
672 |
+ $(use_enable xv) |
673 |
+ $(usex opengl "$(use_enable aqua gl-cocoa)" '--disable-gl-cocoa') |
674 |
+ $(usex opengl "$(use_enable X gl-x11)" '--disable-gl-x11') |
675 |
+ $(usex egl "$(use_enable X egl-x11)" '--disable-egl-x11') |
676 |
+ $(usex egl "$(use_enable gbm egl-drm)" '--disable-egl-drm') |
677 |
+ $(usex opengl "$(use_enable wayland gl-wayland)" '--disable-gl-wayland') |
678 |
+ $(use_enable vdpau) |
679 |
+ $(usex vdpau "$(use_enable opengl vdpau-gl-x11)" '--disable-vdpau-gl-x11') |
680 |
+ $(use_enable vaapi) # See below for vaapi-glx, vaapi-x-egl. |
681 |
+ $(usex vaapi "$(use_enable X vaapi-x11)" '--disable-vaapi-x11') |
682 |
+ $(usex vaapi "$(use_enable wayland vaapi-wayland)" '--disable-vaapi-wayland') |
683 |
+ $(usex vaapi "$(use_enable gbm vaapi-drm)" '--disable-vaapi-drm') |
684 |
+ $(use_enable libcaca caca) |
685 |
+ $(use_enable jpeg) |
686 |
+ $(use_enable raspberry-pi rpi) |
687 |
+ $(usex libmpv "$(use_enable opengl plain-gl)" '--disable-plain-gl') |
688 |
+ --disable-mali-fbdev # Only available in overlays. |
689 |
+ $(usex opengl '' '--disable-gl') |
690 |
+ |
691 |
+ # HWaccels: |
692 |
+ # Automagic Video Toolbox HW acceleration. See Gentoo bug 577332. |
693 |
+ $(use_enable cuda cuda-hwaccel) |
694 |
+ |
695 |
+ # TV features: |
696 |
+ $(use_enable v4l tv) |
697 |
+ $(use_enable v4l tv-v4l2) |
698 |
+ $(use_enable v4l libv4l2) |
699 |
+ $(use_enable v4l audio-input) |
700 |
+ $(use_enable dvb dvbin) |
701 |
+ |
702 |
+ # Miscellaneous features: |
703 |
+ --disable-apple-remote # Needs testing first. See Gentoo bug 577332. |
704 |
+ ) |
705 |
+ |
706 |
+ if use vaapi && use X; then |
707 |
+ mywafargs+=( |
708 |
+ $(use_enable opengl vaapi-glx) |
709 |
+ $(use_enable egl vaapi-x-egl) |
710 |
+ ) |
711 |
+ fi |
712 |
+ |
713 |
+ # Create reproducible non-live builds. |
714 |
+ [[ ${PV} != *9999* ]] && mywafargs+=(--disable-build-date) |
715 |
+ |
716 |
+ waf-utils_src_configure "${mywafargs[@]}" |
717 |
+} |
718 |
+ |
719 |
+src_install() { |
720 |
+ waf-utils_src_install |
721 |
+ |
722 |
+ if use lua; then |
723 |
+ insinto /usr/share/${PN} |
724 |
+ doins -r TOOLS/lua |
725 |
+ fi |
726 |
+ |
727 |
+ if use cli && use luajit; then |
728 |
+ pax-mark -m "${ED}"usr/bin/${PN} |
729 |
+ fi |
730 |
+ |
731 |
+ if use tools; then |
732 |
+ dobin TOOLS/{mpv_identify.sh,umpv} |
733 |
+ newbin TOOLS/idet.sh mpv_idet.sh |
734 |
+ python_replicate_script "${ED}"usr/bin/umpv |
735 |
+ fi |
736 |
+} |
737 |
+ |
738 |
+pkg_postinst() { |
739 |
+ local rv softvol_0_18_1=0 osc_0_21_0=0 txtsubs_0_24_0=0 opengl_0_25_0=0 |
740 |
+ |
741 |
+ for rv in ${REPLACING_VERSIONS}; do |
742 |
+ version_compare ${rv} 0.18.1 |
743 |
+ [[ $? -eq 1 ]] && softvol_0_18_1=1 |
744 |
+ version_compare ${rv} 0.21.0 |
745 |
+ [[ $? -eq 1 ]] && osc_0_21_0=1 |
746 |
+ version_compare ${rv} 0.24.0 |
747 |
+ [[ $? -eq 1 ]] && txtsubs_0_24_0=1 |
748 |
+ version_compare ${rv} 0.25.0 |
749 |
+ [[ $? -eq 1 ]] && ! use opengl && opengl_0_25_0=1 |
750 |
+ done |
751 |
+ |
752 |
+ if [[ ${softvol_0_18_1} -eq 1 ]]; then |
753 |
+ elog "Since version 0.18.1 the software volume control is always enabled." |
754 |
+ elog "This means that volume controls don't change the system volume," |
755 |
+ elog "e.g. per-application volume with PulseAudio." |
756 |
+ elog "If you want to restore the previous behaviour, please refer to" |
757 |
+ elog |
758 |
+ elog "https://wiki.gentoo.org/wiki/Mpv#Volume_in_0.18.1" |
759 |
+ elog |
760 |
+ fi |
761 |
+ |
762 |
+ if [[ ${osc_0_21_0} -eq 1 ]]; then |
763 |
+ elog "In version 0.21.0 the default OSC layout was changed." |
764 |
+ elog "If you want to restore the previous layout, please refer to" |
765 |
+ elog |
766 |
+ elog "https://wiki.gentoo.org/wiki/Mpv#OSC_in_0.21.0" |
767 |
+ elog |
768 |
+ fi |
769 |
+ |
770 |
+ if [[ ${txtsubs_0_24_0} -eq 1 ]]; then |
771 |
+ elog "Since version 0.24.0 subtitles with .txt extension aren't autoloaded." |
772 |
+ elog "If you want to restore the previous behaviour, please refer to" |
773 |
+ elog |
774 |
+ elog "https://wiki.gentoo.org/wiki/Mpv#Subtitles_with_.txt_extension_in_0.24.0" |
775 |
+ elog |
776 |
+ fi |
777 |
+ |
778 |
+ if [[ ${opengl_0_25_0} -eq 1 ]]; then |
779 |
+ elog "Since version 0.25.0 the 'opengl' USE flag is mapped to" |
780 |
+ elog "the 'opengl' video output and no longer explicitly requires" |
781 |
+ elog "X11 or Mac OS Aqua. Consider enabling the 'opengl' USE flag." |
782 |
+ fi |
783 |
+ |
784 |
+ if use cli && ! has_version 'app-shells/mpv-bash-completion'; then |
785 |
+ elog "If you want to have command-line completion via bash-completion," |
786 |
+ elog "please install app-shells/mpv-bash-completion." |
787 |
+ fi |
788 |
+ |
789 |
+ if use cli && [[ -n ${REPLACING_VERSIONS} ]] && \ |
790 |
+ has_version 'app-shells/mpv-bash-completion'; then |
791 |
+ elog "If command-line completion doesn't work after mpv update," |
792 |
+ elog "please rebuild app-shells/mpv-bash-completion." |
793 |
+ fi |
794 |
+ |
795 |
+ gnome2_icon_cache_update |
796 |
+ xdg_desktop_database_update |
797 |
+} |
798 |
+ |
799 |
+pkg_postrm() { |
800 |
+ gnome2_icon_cache_update |
801 |
+ xdg_desktop_database_update |
802 |
+} |
803 |
+ |
804 |
+src_test() { |
805 |
+ cd "${S}"/build/test || die |
806 |
+ local test |
807 |
+ for test in *; do |
808 |
+ if [[ -x ${test} ]]; then |
809 |
+ ./"${test}" || die "Test suite failed" |
810 |
+ fi |
811 |
+ done |
812 |
+} |