|
@@ -0,0 +1,255 @@
|
|
|
+################################################################################
|
|
|
+#
|
|
|
+# mpv
|
|
|
+#
|
|
|
+################################################################################
|
|
|
+
|
|
|
+MPV_VERSION = 0.17.0
|
|
|
+MPV_WAF_VERSION = 1.8.12
|
|
|
+MPV_SITE = https://github.com/mpv-player/mpv/archive
|
|
|
+MPV_SOURCE = v$(MPV_VERSION).tar.gz
|
|
|
+MPV_EXTRA_DOWNLOADS = https://waf.io/waf-$(MPV_WAF_VERSION)
|
|
|
+MPV_DEPENDENCIES = \
|
|
|
+ host-pkgconf ffmpeg zlib \
|
|
|
+ $(if $(BR2_PACKAGE_LIBICONV),libiconv)
|
|
|
+MPV_LICENSE = GPLv2+
|
|
|
+MPV_LICENSE_FILES = LICENSE
|
|
|
+
|
|
|
+# Some of these options need testing and/or tweaks
|
|
|
+MPV_CONF_OPTS = \
|
|
|
+ --prefix=/usr \
|
|
|
+ --disable-android \
|
|
|
+ --disable-caca \
|
|
|
+ --disable-cdda \
|
|
|
+ --disable-cocoa \
|
|
|
+ --disable-coreaudio \
|
|
|
+ --disable-gpl3 \
|
|
|
+ --disable-libguess \
|
|
|
+ --disable-libv4l2 \
|
|
|
+ --disable-opensles \
|
|
|
+ --disable-rpi \
|
|
|
+ --disable-rsound \
|
|
|
+ --disable-rubberband \
|
|
|
+ --disable-uchardet \
|
|
|
+ --disable-vapoursynth \
|
|
|
+ --disable-vapoursynth-lazy \
|
|
|
+ --disable-vdpau
|
|
|
+
|
|
|
+# ALSA support requires pcm+mixer
|
|
|
+ifeq ($(BR2_PACKAGE_ALSA_LIB_MIXER)$(BR2_PACKAGE_ALSA_LIB_PCM),yy)
|
|
|
+MPV_CONF_OPTS += --enable-alsa
|
|
|
+MPV_DEPENDENCIES += alsa-lib
|
|
|
+else
|
|
|
+MPV_CONF_OPTS += --disable-alsa
|
|
|
+endif
|
|
|
+
|
|
|
+# GBM support is provided by mesa3d when EGL=y
|
|
|
+ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y)
|
|
|
+MPV_CONF_OPTS += --enable-gbm
|
|
|
+MPV_DEPENDENIES += mesa3d
|
|
|
+else
|
|
|
+MPV_CONF_OPTS += --disable-gbm
|
|
|
+endif
|
|
|
+
|
|
|
+# jack support
|
|
|
+ifeq ($(BR2_PACKAGE_JACK2),y)
|
|
|
+MPV_CONF_OPTS += --enable-jack
|
|
|
+MPV_DEPENDENCIES += jack2
|
|
|
+else
|
|
|
+MPV_CONF_OPTS += --disable-jack
|
|
|
+endif
|
|
|
+
|
|
|
+# jpeg support
|
|
|
+ifeq ($(BR2_PACKAGE_JPEG),y)
|
|
|
+MPV_CONF_OPTS += --enable-jpeg
|
|
|
+MPV_DEPENDENCIES += jpeg
|
|
|
+else
|
|
|
+MPV_CONF_OPTS += --disable-jpeg
|
|
|
+endif
|
|
|
+
|
|
|
+# lcms2 support
|
|
|
+ifeq ($(BR2_PACKAGE_LCMS2),y)
|
|
|
+MPV_CONF_OPTS += --enable-lcms2
|
|
|
+MPV_DEPENDENCIES += lcms2
|
|
|
+else
|
|
|
+MPV_CONF_OPTS += --disable-lcms2
|
|
|
+endif
|
|
|
+
|
|
|
+# libarchive support
|
|
|
+ifeq ($(BR2_PACKAGE_LIBARCHIVE),y)
|
|
|
+MPV_CONF_OPTS += --enable-libarchive
|
|
|
+MPV_DEPENDENCIES += libarchive
|
|
|
+else
|
|
|
+MPV_CONF_OPTS += --disable-libarchive
|
|
|
+endif
|
|
|
+
|
|
|
+# libass subtitle support
|
|
|
+ifeq ($(BR2_PACKAGE_LIBASS),y)
|
|
|
+MPV_CONF_OPTS += --enable-libass
|
|
|
+MPV_DEPENDENCIES += libass
|
|
|
+else
|
|
|
+MPV_CONF_OPTS += --disable-libass
|
|
|
+endif
|
|
|
+
|
|
|
+# bluray support
|
|
|
+ifeq ($(BR2_PACKAGE_LIBBLURAY),y)
|
|
|
+MPV_CONF_OPTS += --enable-libbluray
|
|
|
+MPV_DEPENDENCIES += libbluray
|
|
|
+else
|
|
|
+MPV_CONF_OPTS += --disable-libbluray
|
|
|
+endif
|
|
|
+
|
|
|
+# libdvdnav
|
|
|
+ifeq ($(BR2_PACKAGE_LIBDVDNAV),y)
|
|
|
+MPV_CONF_OPTS += --enable-dvdnav
|
|
|
+MPV_DEPENDENCIES += libdvdnav
|
|
|
+else
|
|
|
+MPV_CONF_OPTS += --disable-dvdnav
|
|
|
+endif
|
|
|
+
|
|
|
+# libdvdread
|
|
|
+ifeq ($(BR2_PACKAGE_LIBDVDREAD),y)
|
|
|
+MPV_CONF_OPTS += --enable-dvdread
|
|
|
+MPV_DEPENDENCIES += libdvdread
|
|
|
+else
|
|
|
+MPV_CONF_OPTS += --disable-dvdread
|
|
|
+endif
|
|
|
+
|
|
|
+# libdrm
|
|
|
+ifeq ($(BR2_PACKAGE_LIBDRM),y)
|
|
|
+MPV_CONF_OPTS += --enable-drm
|
|
|
+MPV_DEPENDENCIES += libdrm
|
|
|
+else
|
|
|
+MPV_CONF_OPTS += --disable-drm
|
|
|
+endif
|
|
|
+
|
|
|
+# libenca support
|
|
|
+ifeq ($(BR2_PACKAGE_LIBENCA),y)
|
|
|
+MPV_CONF_OPTS += --enable-enca
|
|
|
+MPV_DEPENDENCIES += libenca
|
|
|
+else
|
|
|
+MPV_CONF_OPTS += --disable-enca
|
|
|
+endif
|
|
|
+
|
|
|
+# LUA support, only for lua51/lua52/luajit
|
|
|
+# This enables the controller (OSD) together with libass
|
|
|
+ifeq ($(BR2_PACKAGE_LUA_5_1)$(BR2_PACKAGE_LUA_5_2)$(BR2_PACKAGE_LUAJIT),y)
|
|
|
+MPV_CONF_OPTS += --enable-lua
|
|
|
+MPV_DEPENDENCIES += luainterpreter
|
|
|
+else
|
|
|
+MPV_CONF_OPTS += --disable-lua
|
|
|
+endif
|
|
|
+
|
|
|
+# OpenGL support
|
|
|
+ifeq ($(BR2_PACKAGE_HAS_LIBGL),y)
|
|
|
+MPV_CONF_OPTS += --enable-gl --enable-standard-gl
|
|
|
+MPV_DEPENDENCIES += libgl
|
|
|
+else
|
|
|
+MPV_CONF_OPTS += --disable-gl --disable-standard-gl
|
|
|
+endif
|
|
|
+
|
|
|
+# pulseaudio support
|
|
|
+ifeq ($(BR2_PACKAGE_PULSEAUDIO),y)
|
|
|
+MPV_CONF_OPTS += --enable-pulse
|
|
|
+MPV_DEPENDENCIES += pulseaudio
|
|
|
+else
|
|
|
+MPV_CONF_OPTS += --disable-pulse
|
|
|
+endif
|
|
|
+
|
|
|
+# samba support
|
|
|
+ifeq ($(BR2_PACKAGE_SAMBA4),y)
|
|
|
+MPV_CONF_OPTS += --enable-libsmbclient
|
|
|
+MPV_DEPENDENCIES += samba4
|
|
|
+else
|
|
|
+MPV_CONF_OPTS += --disable-libsmbclient
|
|
|
+endif
|
|
|
+
|
|
|
+# SDL support
|
|
|
+# Both can't be used at the same time, prefer newer API
|
|
|
+ifeq ($(BR2_PACKAGE_SDL2),y)
|
|
|
+MPV_CONF_OPTS += --enable-sdl2 --disable-sdl1
|
|
|
+MPV_DEPENDENCIES += sdl2
|
|
|
+else ifeq ($(BR2_PACKAGE_SDL),y)
|
|
|
+MPV_CONF_OPTS += --enable-sdl1 --disable-sdl2
|
|
|
+MPV_DEPENDENCIES += sdl
|
|
|
+else
|
|
|
+MPV_CONF_OPTS += --disable-sdl1 --disable-sdl2
|
|
|
+endif
|
|
|
+
|
|
|
+# va-api support
|
|
|
+ifeq ($(BR2_PACKAGE_LIBVA),y)
|
|
|
+MPV_CONF_OPTS += --enable-vaapi
|
|
|
+MPV_DEPENDENCIES += libva
|
|
|
+else
|
|
|
+MPV_CONF_OPTS += --disable-vaapi
|
|
|
+endif
|
|
|
+
|
|
|
+# wayland support
|
|
|
+ifeq ($(BR2_PACKAGE_WAYLAND),y)
|
|
|
+MPV_CONF_OPTS += --enable-wayland
|
|
|
+MPV_DEPENDENCIES += wayland
|
|
|
+else
|
|
|
+MPV_CONF_OPTS += --disable-wayland
|
|
|
+endif
|
|
|
+
|
|
|
+# Base X11 support
|
|
|
+ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y)
|
|
|
+MPV_CONF_OPTS += --enable-x11 --disable-xss
|
|
|
+MPV_DEPENDENCIES += xlib_libX11
|
|
|
+# xext
|
|
|
+ifeq ($(BR2_PACKAGE_XLIB_LIBXEXT),y)
|
|
|
+MPV_CONF_OPTS += --enable-xext
|
|
|
+MPV_DEPENDENCIES += xlib_libXext
|
|
|
+else
|
|
|
+MPV_CONF_OPTS += --disable-xext
|
|
|
+endif
|
|
|
+# xinerama
|
|
|
+ifeq ($(BR2_PACKAGE_XLIB_LIBXINERAMA),y)
|
|
|
+MPV_CONF_OPTS += --enable-xinerama
|
|
|
+MPV_DEPENDENCIES += xlib_libXinerama
|
|
|
+else
|
|
|
+MPV_CONF_OPTS += --disable-xinerama
|
|
|
+endif
|
|
|
+# xrandr
|
|
|
+ifeq ($(BR2_PACKAGE_XLIB_LIBXRANDR),y)
|
|
|
+MPV_CONF_OPTS += --enable-xrandr
|
|
|
+MPV_DEPENDENCIES += xlib_libXrandr
|
|
|
+else
|
|
|
+MPV_CONF_OPTS += --disable-xrandr
|
|
|
+endif
|
|
|
+# XVideo
|
|
|
+ifeq ($(BR2_PACKAGE_XLIB_LIBXV),y)
|
|
|
+MPV_CONF_OPTS += --enable-xv
|
|
|
+MPV_DEPENDENCIES += xlib_libXv
|
|
|
+else
|
|
|
+MPV_CONF_OPTS += --disable-xv
|
|
|
+endif
|
|
|
+else
|
|
|
+MPV_CONF_OPTS += --disable-x11
|
|
|
+endif
|
|
|
+
|
|
|
+define MPV_COPY_WAF
|
|
|
+ $(INSTALL) -m 0755 $(DL_DIR)/waf-$(MPV_WAF_VERSION) $(@D)/waf
|
|
|
+endef
|
|
|
+MPV_POST_EXTRACT_HOOKS += MPV_COPY_WAF
|
|
|
+
|
|
|
+define MPV_CONFIGURE_CMDS
|
|
|
+ cd $(@D); \
|
|
|
+ $(TARGET_CONFIGURE_OPTS) \
|
|
|
+ ./waf configure $(MPV_CONF_OPTS)
|
|
|
+endef
|
|
|
+
|
|
|
+define MPV_BUILD_CMDS
|
|
|
+ cd $(@D); \
|
|
|
+ $(TARGET_MAKE_ENV) \
|
|
|
+ ./waf build
|
|
|
+endef
|
|
|
+
|
|
|
+define MPV_INSTALL_TARGET_CMDS
|
|
|
+ cd $(@D); \
|
|
|
+ $(TARGET_MAKE_ENV) \
|
|
|
+ DESTDIR=$(TARGET_DIR) \
|
|
|
+ ./waf install
|
|
|
+endef
|
|
|
+
|
|
|
+$(eval $(generic-package))
|