From bcf023dc060a0be0c58663021ac109d17cf7c0ef Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Sat, 25 Nov 2023 08:45:44 +0000 Subject: [PATCH] mpv-drmprime: update to 0.37.0 --- .../mpv-drmprime/package.mk | 69 ++++++++----------- ...xpose-present_sync-for-VT-only-after.patch | 41 +++++++++++ 2 files changed, 68 insertions(+), 42 deletions(-) create mode 100644 packages/addons/addon-depends/multimedia-tools-depends/mpv-drmprime/patches/mpv-drmprime-0001-meson-also-expose-present_sync-for-VT-only-after.patch diff --git a/packages/addons/addon-depends/multimedia-tools-depends/mpv-drmprime/package.mk b/packages/addons/addon-depends/multimedia-tools-depends/mpv-drmprime/package.mk index 774181eb02..cceac1ec36 100644 --- a/packages/addons/addon-depends/multimedia-tools-depends/mpv-drmprime/package.mk +++ b/packages/addons/addon-depends/multimedia-tools-depends/mpv-drmprime/package.mk @@ -2,32 +2,32 @@ # Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv) PKG_NAME="mpv-drmprime" -PKG_VERSION="0.36.0" -PKG_SHA256="29abc44f8ebee013bb2f9fe14d80b30db19b534c679056e4851ceadf5a5e8bf6" +PKG_VERSION="0.37.0" +PKG_SHA256="1d2d4adbaf048a2fa6ee134575032c4b2dad9a7efafd5b3e69b88db935afaddf" PKG_LICENSE="GPL" PKG_SITE="https://mpv.io/" PKG_URL="https://github.com/mpv-player/mpv/archive/v${PKG_VERSION}.tar.gz" -PKG_DEPENDS_TARGET="toolchain waf:host alsa ffmpeg libass libdrm lua52" +PKG_DEPENDS_TARGET="toolchain alsa ffmpeg libass libdrm libplacebo lua52" PKG_LONGDESC="A media player based on MPlayer and mplayer2. It supports a wide variety of video file formats, audio and video codecs, and subtitle types." -PKG_TOOLCHAIN="manual" PKG_BUILD_FLAGS="-sysroot" -PKG_MANUAL_OPTS_TARGET="--prefix=/usr \ - --disable-libarchive \ - --enable-lua \ - --disable-javascript \ - --disable-uchardet \ - --disable-rubberband \ - --disable-lcms2 \ - --disable-vapoursynth \ - --disable-jack \ - --disable-wayland \ - --disable-x11 \ - --disable-vulkan \ - --disable-caca \ - --enable-drm \ - --enable-gbm \ - --enable-egl-drm" +PKG_MESON_OPTS_TARGET="--prefix=/usr \ + -Dlibarchive=disabled \ + -Dlua=enabled \ + -Djavascript=disabled \ + -Duchardet=disabled \ + -Drubberband=disabled \ + -Dlcms2=disabled \ + -Dvapoursynth=disabled \ + -Djack=disabled \ + -Dwayland=disabled \ + -Dx11=disabled \ + -Dvulkan=disabled \ + -Dcaca=disabled \ + -Ddrm=enabled \ + -Dgbm=enabled \ + -Degl-drm=enabled \ + -Dmanpage-build=disabled" if [ "${OPENGLES_SUPPORT}" = "yes" ]; then PKG_DEPENDS_TARGET+=" ${OPENGLES}" @@ -39,40 +39,25 @@ fi if [ "${VAAPI_SUPPORT}" = "yes" ]; then PKG_DEPENDS_TARGET+=" libva" - PKG_MANUAL_OPTS_TARGET+=" --enable-vaapi --enable-vaapi-drm" + PKG_MESON_OPTS_TARGET+=" -Dvaapi=enabled -Dvaapi-drm=enabled" else - PKG_MANUAL_OPTS_TARGET+=" --disable-vaapi" + PKG_MESON_OPTS_TARGET+=" -Dvaapi=disabled" fi if [ "${PULSEAUDIO_SUPPORT}" = "yes" ]; then PKG_DEPENDS_TARGET+=" pulseaudio" - PKG_MANUAL_OPTS_TARGET+=" --enable-pulse" + PKG_MESON_OPTS_TARGET+=" -Dpulse=enabled" else - PKG_MANUAL_OPTS_TARGET+=" --disable-pulse" + PKG_MESON_OPTS_TARGET+=" -Dpulse=disabled" fi if [ "${KODI_BLURAY_SUPPORT}" = "yes" ]; then PKG_DEPENDS_TARGET+=" libbluray" - PKG_MANUAL_OPTS_TARGET+=" --enable-libbluray" + PKG_MESON_OPTS_TARGET+=" -Dlibbluray=enabled" else - PKG_MANUAL_OPTS_TARGET+=" --disable-libbluray" + PKG_MESON_OPTS_TARGET+=" -Dlibbluray=disabled" fi pre_configure_target() { -#mpv does not build in the .TARGET_NAME - cd ${PKG_BUILD} - rm -rf .${TARGET_NAME} -} - -configure_target() { - waf configure ${PKG_MANUAL_OPTS_TARGET} -} - -make_target() { - waf build -} - -makeinstall_target() { - waf install --destdir=${INSTALL} - rm -r ${INSTALL}/usr/share + export PKG_CONFIG_PATH="$(get_install_dir libplacebo)/usr/lib/pkgconfig:${PKG_CONFIG_PATH}" } diff --git a/packages/addons/addon-depends/multimedia-tools-depends/mpv-drmprime/patches/mpv-drmprime-0001-meson-also-expose-present_sync-for-VT-only-after.patch b/packages/addons/addon-depends/multimedia-tools-depends/mpv-drmprime/patches/mpv-drmprime-0001-meson-also-expose-present_sync-for-VT-only-after.patch new file mode 100644 index 0000000000..7e10c07eeb --- /dev/null +++ b/packages/addons/addon-depends/multimedia-tools-depends/mpv-drmprime/patches/mpv-drmprime-0001-meson-also-expose-present_sync-for-VT-only-after.patch @@ -0,0 +1,41 @@ +From e575ec4fc3654387c7358bd3640877ef32628d2c Mon Sep 17 00:00:00 2001 +From: Jan Beich +Date: Wed, 22 Nov 2023 19:44:13 +0100 +Subject: [PATCH] meson: also expose present_sync for VT-only after + a96d04f19d73 + +$ meson setup --auto-features=disabled -Ddrm=enabled -Degl=enabled -Dgbm=enabled -Degl-drm=enabled /tmp/mpv_build +$ meson compile -C /tmp/mpv_build +[...] +ld: error: undefined symbol: mp_present_initialize +>>> referenced by drm_common.c +>>> libmpv.so.2.2.0.p/video_out_drm_common.c.o:(vo_drm_init) + +ld: error: undefined symbol: present_sync_update_values +>>> referenced by drm_common.c +>>> libmpv.so.2.2.0.p/video_out_drm_common.c.o:(drm_pflip_cb) + +ld: error: undefined symbol: present_sync_swap +>>> referenced by drm_common.c +>>> libmpv.so.2.2.0.p/video_out_drm_common.c.o:(drm_pflip_cb) + +ld: error: undefined symbol: present_sync_get_info +>>> referenced by vo_drm.c +>>> libmpv.so.2.2.0.p/video_out_vo_drm.c.o:(get_vsync) +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index a3c3430dd47b..6fd5afa5122a 100644 +--- a/meson.build ++++ b/meson.build +@@ -1049,7 +1049,7 @@ if features['xv'] + sources += files('video/out/vo_xv.c') + endif + +-if features['wayland'] or features['x11'] ++if features['wayland'] or features['x11'] or features['drm'] + sources += ('video/out/present_sync.c') + endif +