1 # Created by: Grzegorz Blach <gblach@FreeBSD.org>
8 CATEGORIES= multimedia audio
10 MAINTAINER= cpm@FreeBSD.org
11 COMMENT= Free and open-source general-purpose video player
13 LICENSE= GPLv2+ LGPL21+
16 LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg
17 BUILD_DEPENDS= rst2man:textproc/py-docutils \
18 rst2html:textproc/py-docutils
21 GH_ACCOUNT= mpv-player waf-project:waf
23 GH_TAGNAME= waf-1.9.3:waf
25 WAF_CMD= ${WRKSRC_waf}/waf-light
27 USES= compiler:c11 desktop-file-utils iconv jpeg localbase pkgconfig python:build waf
30 CONFIGURE_ARGS= --docdir=${EXAMPLESDIR} \
31 --htmldir=${DOCSDIR}/html \
32 --mandir=${MANPREFIX}/man \
34 --disable-debug-build \
35 --disable-d3d-hwaccel \
38 --disable-rubberband \
39 --disable-vaapi-wayland \
40 --disable-vapoursynth \
41 --disable-vapoursynth-lazy \
42 --disable-videotoolbox-hwaccel \
43 --disable-videotoolbox-gl \
45 --enable-libmpv-shared \
48 OPTIONS_DEFINE= ASS DOCS ENCA LCMS2 \
49 LIBGUESS LUAJIT UCHARDET ZSH
50 OPTIONS_DEFAULT= ASS DVDREAD DVDNAV ENCA OPENGL \
51 V4L VAAPI VDPAU X11 XINERAMA YTDL ZSH
52 OPTIONS_GROUP= IN VO AO
53 OPTIONS_GROUP_IN= CDIO DVDREAD DVDNAV LIBBLURAY V4L YTDL SMB
54 OPTIONS_GROUP_VO= CACA OPENGL VAAPI VDPAU X11 XINERAMA
55 OPTIONS_GROUP_AO= ALSA JACK PULSEAUDIO SDL SNDIO
58 ASS_DESC= ASS/SSA subtitle and OSD rendering
59 DVDREAD_DESC= DVD Playback support
60 DVDNAV_DESC= DVD menu navigation
61 ENCA_DESC= Enable encoding detection support
62 LIBGUESS_DESC= Enable high-speed character set detection support
63 LUAJIT_DESC= Use LuaJIT instead of Lua scripting language support
64 YTDL_DESC= Install youtube-dl
65 UCHARDET_DESC= Use UCHARDET instead ENCA support
70 ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
71 ALSA_CONFIGURE_OFF= --disable-alsa
73 ASS_LIB_DEPENDS= libass.so:multimedia/libass
74 ASS_CONFIGURE_OFF= --disable-libass
76 CACA_LIB_DEPENDS= libcaca.so:graphics/libcaca
77 CACA_CONFIGURE_OFF= --disable-caca
79 CDIO_LIB_DEPENDS= libcdio_paranoia.so:sysutils/libcdio-paranoia
80 CDIO_CONFIGURE_OFF= --disable-cdda
82 DVDNAV_LIB_DEPENDS= libdvdnav.so:multimedia/libdvdnav
83 DVDNAV_CONFIGURE_OFF= --disable-dvdnav
85 DVDREAD_LIB_DEPENDS= libdvdread.so:multimedia/libdvdread
86 DVDREAD_CONFIGURE_OFF= --disable-dvdread
88 ENCA_LIB_DEPENDS= libenca.so:converters/enca
89 ENCA_CONFIGURE_OFF= --disable-enca
91 JACK_LIB_DEPENDS= libjack.so:audio/jack
92 JACK_CONFIGURE_OFF= --disable-jack
94 LCMS2_LIB_DEPENDS= liblcms2.so:graphics/lcms2
95 LCMS2_CONFIGURE_OFF= --disable-lcms2
97 LIBBLURAY_LIB_DEPENDS= libbluray.so:multimedia/libbluray
98 LIBBLURAY_CONFIGURE_OFF= --disable-libbluray
100 LIBGUESS_LIB_DEPENDS= libguess.so:textproc/libguess
101 LIBGUESS_CONFIGURE_OFF= --disable-libguess
103 LUAJIT_LIB_DEPENDS= libluajit-5.1.so:lang/luajit
105 LUAJIT_CONFIGURE_ON= --lua=luajit
106 LUAJIT_CONFIGURE_OFF= --lua=${LUA_VER_STR}fbsd
108 OPENGL_USE= GL=egl,gbm,gl
109 OPENGL_CONFIGURE_OFF= --disable-gl
112 PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
113 PULSEAUDIO_CONFIGURE_OFF= --disable-pulse
116 SDL_CONFIGURE_ON= --enable-sdl2
117 SDL_CONFIGURE_OFF= --disable-sdl2
119 SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio
120 SNDIO_CONFIGURE_ON= --enable-sndio
121 SNDIO_CONFIGURE_OFF= --disable-sndio
123 SMB_LIB_DEPENDS= libsmbclient.so:net/samba-libsmbclient
124 SMB_CONFIGURE_OFF= --disable-libsmbclient
126 UCHARDET_LIB_DEPENDS= libuchardet.so:textproc/uchardet
127 UCHARDET_CONFIGURE_OFF= --disable-uchardet
129 V4L_BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat
130 V4L_LIB_DEPENDS= libv4l2.so:multimedia/libv4l
131 V4L_CONFIGURE_OFF= --disable-tv-v4l2
133 VAAPI_LIB_DEPENDS= libva.so:multimedia/libva
134 VAAPI_CONFIGURE_OFF= --disable-vaapi
136 VDPAU_LIB_DEPENDS= libvdpau.so:multimedia/libvdpau
137 VDPAU_CONFIGURE_OFF= --disable-vdpau
139 X11_USE= XORG=x11,xext,xrandr,xscrnsaver,xv,xxf86vm
140 X11_VARS= INSTALLS_ICONS=yes
141 X11_CONFIGURE_OFF= --disable-x11
143 XINERAMA_USE= XORG=xinerama,xineramaproto
144 XINERAMA_CONFIGURE_OFF= --disable-xinerama
145 XINERAMA_IMPLIES= X11
147 YTDL_RUN_DEPENDS= youtube-dl:www/youtube_dl
151 ZSH_CONFIGURE_ENABLE= zsh-comp
154 @${REINPLACE_CMD} -e 's|/pkgconfig/mpv.pc|data/pkgconfig/mpv.pc|g' \
155 ${WRKSRC}/wscript_build.py
156 @${FIND} ${WRKSRC}/DOCS/man -name '*.rst' | ${XARGS} ${REINPLACE_CMD} \
157 -e 's|/usr/local|${PREFIX}|g'
160 @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/mpv
161 @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libmpv.so
163 .include <bsd.port.mk>