Files
shredos.x86_64/package/mpv/mpv.mk
2026-01-06 22:53:29 +00:00

224 lines
5.0 KiB
Makefile

################################################################################
#
# mpv
#
################################################################################
MPV_VERSION = 0.35.1
MPV_SITE = $(call github,mpv-player,mpv,v$(MPV_VERSION))
MPV_DEPENDENCIES = \
host-pkgconf ffmpeg libass zlib \
$(if $(BR2_PACKAGE_LIBICONV),libiconv)
MPV_LICENSE = GPL-2.0+
MPV_LICENSE_FILES = LICENSE.GPL
MPV_CPE_ID_VENDOR = mpv
MPV_INSTALL_STAGING = YES
# Some of these options need testing and/or tweaks
MPV_CONF_OPTS = \
-Dcaca=disabled \
-Dcocoa=disabled \
-Dcoreaudio=disabled \
-Dcuda-hwaccel=disabled \
-Dlibmpv=true \
-Dopensles=disabled \
-Drubberband=disabled \
-Duchardet=disabled \
-Dvapoursynth=disabled
ifeq ($(BR2_REPRODUCIBLE),y)
MPV_CONF_OPTS += -Dbuild-date=false
endif
ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
MPV_CONF_OPTS += -Dalsa=enabled
MPV_DEPENDENCIES += alsa-lib
else
MPV_CONF_OPTS += -Dalsa=disabled
endif
ifeq ($(BR2_PACKAGE_MESA3D_GBM),y)
MPV_CONF_OPTS += -Dgbm=enabled
MPV_DEPENDENCIES += mesa3d
ifeq ($(BR2_PACKAGE_LIBDRM),y)
MPV_CONF_OPTS += -Degl-drm=enabled
else
MPV_CONF_OPTS += -Degl-drm=disabled
endif
else
MPV_CONF_OPTS += -Dgbm=disabled -Degl-drm=disabled
endif
# jack support
# It also requires 64-bit sync intrinsics
ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_8)$(BR2_PACKAGE_JACK2),yy)
MPV_CONF_OPTS += -Djack=enabled
MPV_DEPENDENCIES += jack2
else
MPV_CONF_OPTS += -Djack=disabled
endif
# jpeg support
ifeq ($(BR2_PACKAGE_JPEG),y)
MPV_CONF_OPTS += -Djpeg=enabled
MPV_DEPENDENCIES += jpeg
else
MPV_CONF_OPTS += -Djpeg=disabled
endif
# lcms2 support
ifeq ($(BR2_PACKAGE_LCMS2),y)
MPV_CONF_OPTS += -Dlcms2=enabled
MPV_DEPENDENCIES += lcms2
else
MPV_CONF_OPTS += -Dlcms2=disabled
endif
# libarchive support
ifeq ($(BR2_PACKAGE_LIBARCHIVE),y)
MPV_CONF_OPTS += -Dlibarchive=enabled
MPV_DEPENDENCIES += libarchive
else
MPV_CONF_OPTS += -Dlibarchive=disabled
endif
# bluray support
ifeq ($(BR2_PACKAGE_LIBBLURAY),y)
MPV_CONF_OPTS += -Dlibbluray=enabled
MPV_DEPENDENCIES += libbluray
else
MPV_CONF_OPTS += -Dlibbluray=disabled
endif
# libcdio-paranoia
ifeq ($(BR2_PACKAGE_LIBCDIO_PARANOIA),y)
MPV_CONF_OPTS += -Dcdda=enabled
MPV_DEPENDENCIES += libcdio-paranoia
else
MPV_CONF_OPTS += -Dcdda=disabled
endif
# libdvdnav
ifeq ($(BR2_PACKAGE_LIBDVDNAV),y)
MPV_CONF_OPTS += -Ddvdnav=enabled
MPV_DEPENDENCIES += libdvdnav
else
MPV_CONF_OPTS += -Ddvdnav=disabled
endif
# libdrm
ifeq ($(BR2_PACKAGE_LIBDRM),y)
MPV_CONF_OPTS += -Ddrm=enabled
MPV_DEPENDENCIES += libdrm
else
MPV_CONF_OPTS += -Ddrm=disabled
endif
# libvdpau
ifeq ($(BR2_PACKAGE_LIBVDPAU),y)
MPV_CONF_OPTS += -Dvdpau=enabled
MPV_DEPENDENCIES += libvdpau
else
MPV_CONF_OPTS += -Dvdpau=disabled
endif
# LUA support, only for lua51/lua52/luajit
# This enables the controller (OSD) together with libass
ifeq ($(BR2_PACKAGE_LUA_5_1)$(BR2_PACKAGE_LUAJIT),y)
MPV_CONF_OPTS += -Dlua=enabled
MPV_DEPENDENCIES += luainterpreter
else
MPV_CONF_OPTS += -Dlua=disabled
endif
# OpenGL support
ifeq ($(BR2_PACKAGE_HAS_LIBGL),y)
MPV_CONF_OPTS += -Dgl=enabled
MPV_DEPENDENCIES += libgl
else ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y)
MPV_CONF_OPTS += -Dgl=enabled
MPV_DEPENDENCIES += libgles
else ifeq ($(BR2_PACKAGE_HAS_LIBEGL),y)
MPV_CONF_OPTS += -Dgl=enabled
MPV_DEPENDENCIES += libegl
else
MPV_CONF_OPTS += -Dgl=disabled
endif
# pulseaudio support
ifeq ($(BR2_PACKAGE_PULSEAUDIO),y)
MPV_CONF_OPTS += -Dpulse=enabled
MPV_DEPENDENCIES += pulseaudio
else
MPV_CONF_OPTS += -Dpulse=disabled
endif
# SDL support
# Sdl2 requires 64-bit sync intrinsics
ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_8)$(BR2_PACKAGE_SDL2),yy)
MPV_CONF_OPTS += -Dsdl2=enabled
MPV_DEPENDENCIES += sdl2
else
MPV_CONF_OPTS += -Dsdl2=disabled
endif
# Raspberry Pi support
ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
MPV_CONF_OPTS += -Drpi=enabled -Dgl=enabled
MPV_DEPENDENCIES += rpi-userland
else
MPV_CONF_OPTS += -Drpi=disabled
endif
# va-api support
ifeq ($(BR2_PACKAGE_LIBVA)$(BR2_PACKAGE_MPV_SUPPORTS_VAAPI),yy)
MPV_CONF_OPTS += -Dvaapi=enabled
MPV_DEPENDENCIES += libva
ifeq ($(BR2_PACKAGE_LIBDRM)$(BR2_PACKAGE_MESA3D_OPENGL_EGL),yy)
MPV_CONF_OPTS += -Dvaapi-drm=enabled
else
MPV_CONF_OPTS += -Dvaapi-drm=disabled
endif
else
MPV_CONF_OPTS += -Dvaapi=disabled -Dvaapi-drm=disabled
endif
# wayland support
ifeq ($(BR2_PACKAGE_WAYLAND),y)
MPV_CONF_OPTS += -Dwayland=enabled
MPV_DEPENDENCIES += libxkbcommon wayland wayland-protocols
else
MPV_CONF_OPTS += -Dwayland=disabled
endif
# Base X11 support. Config.in ensures that if BR2_PACKAGE_XORG7 is
# enabled, xlib_libX11, xlib_libXext, xlib_libXinerama,
# xlib_libXrandr, xlib_libXScrnSaver.
ifeq ($(BR2_PACKAGE_XORG7),y)
MPV_CONF_OPTS += -Dx11=enabled
MPV_DEPENDENCIES += \
xlib_libX11 \
xlib_libXext \
xlib_libXinerama \
xlib_libXpresent \
xlib_libXrandr \
xlib_libXScrnSaver
# XVideo
ifeq ($(BR2_PACKAGE_XLIB_LIBXV),y)
MPV_CONF_OPTS += -Dxv=enabled
MPV_DEPENDENCIES += xlib_libXv
else
MPV_CONF_OPTS += -Dxv=disabled
endif
else
MPV_CONF_OPTS += -Dx11=disabled
endif
ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
MPV_CONF_OPTS += -Dstdatomic=enabled
else
MPV_CONF_OPTS += -Dstdatomic=disabled
endif
$(eval $(meson-package))