Ravenports generated: 02 Apr 2018 18:22
[ravenports.git] / bucket_15 / mpv
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               mpv
4 VERSION=                0.27.2
5 KEYWORDS=               multimedia
6 VARIANTS=               standard
7 SDESC[standard]=        Advanced general-purpose multimedia player
8 HOMEPAGE=               https://mpv.io/
9 CONTACT=                nobody
10
11 DOWNLOAD_GROUPS=        main waf
12 SITES[main]=            GITHUB/mpv-player:mpv:v0.27.2
13 SITES[waf]=             GITHUB/waf-project:waf:waf-1.9.8
14 DISTFILE[1]=            generated:main
15 DISTFILE[2]=            generated:waf
16 DF_INDEX=               1 2
17 SPKGS[standard]=        complete
18                         primary
19                         examples
20                         docs
21
22 OPTIONS_AVAILABLE=      none
23 OPTIONS_STANDARD=       none
24
25 BUILD_DEPENDS=          python-docutils:single:python_default
26                         video4linux:headers:standard
27 BUILDRUN_DEPENDS=       ffmpeg:primary:standard
28                         libarchive:single:standard
29                         libass:single:standard
30                         libdvdnav:single:standard
31                         libdvdread:single:standard
32                         libvdpau:single:standard
33                         libva:single:standard
34                         uchardet:single:standard
35                         video4linux:primary:standard
36 RUN_DEPENDS=            youtube-dl:single:standard
37
38 USES=                   desktop-utils iconv jpeg lua:5.2 pkgconfig
39                         perl:build python:build gnome-icons
40 SDL_COMPONENTS=         sdl2
41 XORG_COMPONENTS=        x11 xext xinerama xrandr xscrnsaver xv xxf86vm
42
43 FPC_EQUIVALENT=         multimedia/mpv
44
45 MUST_CONFIGURE=         yes
46 CONFIGURE_ARGS=         --prefix="{{PREFIX}}"
47                         --docdir="{{STD_EXAMPLESDIR}}"
48                         --htmldir="{{STD_DOCDIR}}/html"
49                         --mandir="{{MANPREFIX}}/man"
50                         --lua={{LUA_VER_STR}}fbsd
51                         --enable-libmpv-shared
52                         --enable-libarchive
53                         --enable-html
54                         --enable-dvdnav
55                         --enable-dvdread
56                         --enable-sdl2
57                         --enable-tv
58                         --enable-dvbin
59                         --enable-zsh-comp
60                         --disable-debug-build
61                         --disable-optimize
62                         --disable-pdf
63                         --disable-rubberband
64                         --disable-vaapi-wayland
65                         --disable-vapoursynth
66                         --disable-vapoursynth-lazy
67                         --disable-wayland
68                         --disable-alsa
69                         --disable-caca
70                         --disable-jack
71                         --disable-lcms2
72                         --disable-libbluray
73                         --disable-sndio
74                         -j{{MAKE_JOBS_NUMBER}}
75 CONFIGURE_ENV=          BIN_PYTHON="{{PYTHON_CMD}}"
76                         BIN_PERL="{{PERL}}"
77
78 BUILD_TARGET=           build
79 DESTDIRNAME=            --destdir
80
81 post-patch:
82         ${FIND} ${WRKSRC}/DOCS/man -name '*.rst' | \
83                 ${XARGS} ${REINPLACE_CMD} -e 's|/usr/local|${PREFIX}|g'
84
85 post-install:
86         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/mpv
87         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libmpv.so
88
89 [FILE:364:descriptions/desc.primary]
90 Mpv is based on the MPlayer and mplayer2 projects which it greatly improves.
91 It supports a wide variety of video file formats, audio and video codecs, and
92 subtitle types. Special input URL types are available to read input from
93 a variety of sources other than disk files. Depending on platform, a variety of
94 different video and audio output methods are supported.
95
96
97 [FILE:218:distinfo]
98 2ad104d83fd3b2b9457716615acad57e479fd1537b8fc5e37bfe9065359b50be      2957191 mpv-player-mpv-0.27.2.tar.gz
99 b487efec83ea33cf8df0495cc5730e245f8dc8784e68aebf3dcf07c6712c5913       628874 waf-project-waf-waf-1.9.8.tar.gz
100
101
102 [FILE:465:manifests/plist.primary]
103 bin/mpv
104 etc/mpv/encoding-profiles.conf
105 include/mpv/
106  client.h
107  opengl_cb.h
108  qthelper.hpp
109  stream_cb.h
110 lib/
111  libmpv.so
112  libmpv.so.1
113  libmpv.so.1.25.0
114 lib/pkgconfig/mpv.pc
115 share/man/man1/mpv.1.gz
116 share/applications/mpv.desktop
117 share/icons/hicolor/16x16/apps/mpv.png
118 share/icons/hicolor/32x32/apps/mpv.png
119 share/icons/hicolor/64x64/apps/mpv.png
120 share/icons/hicolor/scalable/apps/mpv.svg
121 share/icons/hicolor/symbolic/apps/mpv-symbolic.svg
122 share/zsh/site-functions/_mpv
123
124
125 [FILE:89:manifests/plist.examples]
126 share/examples/mpv/
127  input.conf
128  mplayer-input.conf
129  mpv.conf
130  restore-old-bindings.conf
131
132
133 [FILE:28:manifests/plist.docs]
134 share/doc/mpv/html/mpv.html
135
136
137 [FILE:3093:patches/patch-2ecf240]
138 From 2ecf240b1cd20875991a5b18efafbe799864ff7f Mon Sep 17 00:00:00 2001
139 From: Mark Thompson <sw@jkqxz.net>
140 Date: Mon, 9 Oct 2017 20:10:26 +0100
141 Subject: [PATCH] vaapi: Use libva2 message callbacks
142
143 They are no longer global, so they work vaguely sensibly.
144 ---
145  video/vaapi.c | 32 +++++++++++++++++++++++++++++---
146  1 file changed, 29 insertions(+), 3 deletions(-)
147
148 diff --git video/vaapi.c video/vaapi.c
149 index 6bedbbaa18..3b1cb9cc41 100644
150 --- video/vaapi.c
151 +++ video/vaapi.c
152 @@ -40,9 +40,27 @@ int va_get_colorspace_flag(enum mp_csp csp)
153      return 0;
154  }
155  
156 -// VA message callbacks are global and do not have a context parameter, so it's
157 -// impossible to know from which VADisplay they originate. Try to route them
158 -// to existing mpv/libmpv instances within this process.
159 +#if VA_CHECK_VERSION(1, 0, 0)
160 +static void va_message_callback(void *context, const char *msg, int mp_level)
161 +{
162 +    struct mp_vaapi_ctx *res = context;
163 +    mp_msg(res->log, mp_level, "libva: %s", msg);
164 +}
165 +
166 +static void va_error_callback(void *context, const char *msg)
167 +{
168 +    va_message_callback(context, msg, MSGL_ERR);
169 +}
170 +
171 +static void va_info_callback(void *context, const char *msg)
172 +{
173 +    va_message_callback(context, msg, MSGL_V);
174 +}
175 +#else
176 +// Pre-libva2 VA message callbacks are global and do not have a context
177 +// parameter, so it's impossible to know from which VADisplay they
178 +// originate.  Try to route them to existing mpv/libmpv instances within
179 +// this process.
180  static pthread_mutex_t va_log_mutex = PTHREAD_MUTEX_INITIALIZER;
181  static struct mp_vaapi_ctx **va_mpv_clients;
182  static int num_va_mpv_clients;
183 @@ -77,6 +95,7 @@ static void va_info_callback(const char *msg)
184  {
185      va_message_callback(msg, MSGL_V);
186  }
187 +#endif
188  
189  static void open_lavu_vaapi_device(struct mp_vaapi_ctx *ctx)
190  {
191 @@ -108,6 +127,10 @@ struct mp_vaapi_ctx *va_initialize(VADisplay *display, struct mp_log *plog,
192          },
193      };
194  
195 +#if VA_CHECK_VERSION(1, 0, 0)
196 +    vaSetErrorCallback(display, va_error_callback, res);
197 +    vaSetInfoCallback(display,  va_info_callback,  res);
198 +#else
199      pthread_mutex_lock(&va_log_mutex);
200      MP_TARRAY_APPEND(NULL, va_mpv_clients, num_va_mpv_clients, res);
201      pthread_mutex_unlock(&va_log_mutex);
202 @@ -118,6 +141,7 @@ struct mp_vaapi_ctx *va_initialize(VADisplay *display, struct mp_log *plog,
203      vaSetErrorCallback(va_error_callback);
204      vaSetInfoCallback(va_info_callback);
205  #endif
206 +#endif
207  
208      int major, minor;
209      int status = vaInitialize(display, &major, &minor);
210 @@ -154,6 +178,7 @@ void va_destroy(struct mp_vaapi_ctx *ctx)
211          if (ctx->destroy_native_ctx)
212              ctx->destroy_native_ctx(ctx->native_ctx);
213  
214 +#if !VA_CHECK_VERSION(1, 0, 0)
215          pthread_mutex_lock(&va_log_mutex);
216          for (int n = 0; n < num_va_mpv_clients; n++) {
217              if (va_mpv_clients[n] == ctx) {
218 @@ -164,6 +189,7 @@ void va_destroy(struct mp_vaapi_ctx *ctx)
219          if (num_va_mpv_clients == 0)
220              TA_FREEP(&va_mpv_clients); // avoid triggering leak detectors
221          pthread_mutex_unlock(&va_log_mutex);
222 +#endif
223  
224          talloc_free(ctx);
225      }
226
227
228 [FILE:178:files/special.mk]
229 # Emulate USES=waf
230 MAKE_CMD=       ${PYTHON_CMD} ${WRKDIR}/waf-*/waf-light
231 CONFIGURE_CMD=  ${PYTHON_CMD} ${WRKDIR}/waf-*/waf-light configure
232 MAKEFILE=
233 MAKE_FLAGS=
234 MAKE_ARGS+=     --verbose
235
236
237 [FILE:158:dragonfly/patch-libmpv_mpv.def]
238 --- libmpv/mpv.def.orig 2017-07-18 19:14:02 UTC
239 +++ libmpv/mpv.def
240 @@ -1,3 +1,5 @@
241 +__progname
242 +environ
243  mpv_client_api_version
244  mpv_client_name
245  mpv_command
246
247
248 [FILE:158:freebsd/patch-libmpv_mpv.def]
249 --- libmpv/mpv.def.orig 2017-07-18 19:14:02 UTC
250 +++ libmpv/mpv.def
251 @@ -1,3 +1,5 @@
252 +__progname
253 +environ
254  mpv_client_api_version
255  mpv_client_name
256  mpv_command
257