* [Buildroot] [PATCH v3] package/mpv: switch to meson from waf
@ 2025-04-19 15:56 Thomas Bonnefille via buildroot
2025-04-28 19:52 ` Julien Olivain
2025-05-16 10:43 ` Arnout Vandecappelle via buildroot
0 siblings, 2 replies; 3+ messages in thread
From: Thomas Bonnefille via buildroot @ 2025-04-19 15:56 UTC (permalink / raw)
To: buildroot
Cc: Thomas Petazzoni, Miquèl Raynal, Mahyar Koshkouei,
Eric Le Bihan, Thomas Bonnefille, J. Neuschäfer
Since commit fd562315, which updated waf to v2.1.1, Buildroot has
encountered issues building mpv, likely due to an outdated version of
the waf build system.
Starting with mpv v0.35, meson was introduced as an alternative to waf,
and in mpv v0.37, waf was completely removed.
This commit updates the mpv makefile to use meson, resolving the build
issues and simplifying future updates to newer versions of mpv.
All options previously used for Waf have been translated to the new
build system by replacing `--disable-feature` with `-Dfeature=disabled`
(and similarly for enabling features). Some features have special
handling:
- The `/usr` prefix is automatically passed to meson packages by
default.
- The Android feature "has been removed since meson can detect if a
machine is Android"[1].
- The `libmpv` parameter has been enabled in the makefile as `libmpv`
must be built by default with mpv.
- Meson packages automatically set whether the library should be built
statically using the `default_library` meson parameter.
- Meson automatically detects the presence of `libatomic` and passes the
correct argument to the linker. However, it is possible to set the
`stdatomic` meson parameter to specify whether `libatomic` must or
must not be used.
Fixes:
https://autobuild.buildroot.org/results/68d42441fc0da34e1bf2a4247726f5f4ec3b8e77/
[1]: https://github.com/mpv-player/mpv/blob/140ec21c89d671d392877a7f3b91d67e7d7b9239/DOCS/build-system-differences.md?plain=1#L48
Signed-off-by: Thomas Bonnefille <thomas.bonnefille@bootlin.com>
Tested-by: J. Neuschäfer <j.ne@posteo.net>
---
Changes in v3:
- Set build-date to false instead of disable when Buildroot is built
with repoducibility activated
- Link to v2: https://lore.kernel.org/r/20250106-fix_mpv-v2-1-85117ce7b16b@bootlin.com
Changes in v2:
- Extend commit log
- Remove --prefix=/usr as it is already handled by pkg-meson
- Modify call to libatomic to match meson way of doing things
- Link to v1: https://lore.kernel.org/r/20241221-fix_mpv-v1-1-d7ba39606571@bootlin.com
---
package/mpv/mpv.mk | 127 +++++++++++++++++++++++++----------------------------
1 file changed, 60 insertions(+), 67 deletions(-)
diff --git a/package/mpv/mpv.mk b/package/mpv/mpv.mk
index cf37091186a2ffa67db964cc3d1c9dd7dda05e6e..8832b68ece543630c3467029cc4e25bca98e4641 100644
--- a/package/mpv/mpv.mk
+++ b/package/mpv/mpv.mk
@@ -14,197 +14,188 @@ MPV_LICENSE_FILES = LICENSE.GPL
MPV_CPE_ID_VENDOR = mpv
MPV_INSTALL_STAGING = YES
-MPV_NEEDS_EXTERNAL_WAF = YES
-
# Some of these options need testing and/or tweaks
MPV_CONF_OPTS = \
- --prefix=/usr \
- --disable-android \
- --disable-caca \
- --disable-cocoa \
- --disable-coreaudio \
- --disable-cuda-hwaccel \
- --disable-opensles \
- --disable-rubberband \
- --disable-uchardet \
- --disable-vapoursynth
+ -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 += --disable-build-date
-endif
-
-ifeq ($(BR2_STATIC_LIBS),y)
-MPV_CONF_OPTS += --disable-libmpv-shared --enable-libmpv-static
-else
-MPV_CONF_OPTS += --enable-libmpv-shared --disable-libmpv-static
+MPV_CONF_OPTS += -Dbuild-date=false
endif
ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
-MPV_CONF_OPTS += --enable-alsa
+MPV_CONF_OPTS += -Dalsa=enabled
MPV_DEPENDENCIES += alsa-lib
else
-MPV_CONF_OPTS += --disable-alsa
+MPV_CONF_OPTS += -Dalsa=disabled
endif
ifeq ($(BR2_PACKAGE_MESA3D_GBM),y)
-MPV_CONF_OPTS += --enable-gbm
+MPV_CONF_OPTS += -Dgbm=enabled
MPV_DEPENDENCIES += mesa3d
ifeq ($(BR2_PACKAGE_LIBDRM),y)
-MPV_CONF_OPTS += --enable-egl-drm
+MPV_CONF_OPTS += -Degl-drm=enabled
else
-MPV_CONF_OPTS += --disable-egl-drm
+MPV_CONF_OPTS += -Degl-drm=disabled
endif
else
-MPV_CONF_OPTS += --disable-gbm --disable-egl-drm
+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 += --enable-jack
+MPV_CONF_OPTS += -Djack=enabled
MPV_DEPENDENCIES += jack2
else
-MPV_CONF_OPTS += --disable-jack
+MPV_CONF_OPTS += -Djack=disabled
endif
# jpeg support
ifeq ($(BR2_PACKAGE_JPEG),y)
-MPV_CONF_OPTS += --enable-jpeg
+MPV_CONF_OPTS += -Djpeg=enabled
MPV_DEPENDENCIES += jpeg
else
-MPV_CONF_OPTS += --disable-jpeg
+MPV_CONF_OPTS += -Djpeg=disabled
endif
# lcms2 support
ifeq ($(BR2_PACKAGE_LCMS2),y)
-MPV_CONF_OPTS += --enable-lcms2
+MPV_CONF_OPTS += -Dlcms2=enabled
MPV_DEPENDENCIES += lcms2
else
-MPV_CONF_OPTS += --disable-lcms2
+MPV_CONF_OPTS += -Dlcms2=disabled
endif
# libarchive support
ifeq ($(BR2_PACKAGE_LIBARCHIVE),y)
-MPV_CONF_OPTS += --enable-libarchive
+MPV_CONF_OPTS += -Dlibarchive=enabled
MPV_DEPENDENCIES += libarchive
else
-MPV_CONF_OPTS += --disable-libarchive
+MPV_CONF_OPTS += -Dlibarchive=disabled
endif
# bluray support
ifeq ($(BR2_PACKAGE_LIBBLURAY),y)
-MPV_CONF_OPTS += --enable-libbluray
+MPV_CONF_OPTS += -Dlibbluray=enabled
MPV_DEPENDENCIES += libbluray
else
-MPV_CONF_OPTS += --disable-libbluray
+MPV_CONF_OPTS += -Dlibbluray=disabled
endif
# libcdio-paranoia
ifeq ($(BR2_PACKAGE_LIBCDIO_PARANOIA),y)
-MPV_CONF_OPTS += --enable-cdda
+MPV_CONF_OPTS += -Dcdda=enabled
MPV_DEPENDENCIES += libcdio-paranoia
else
-MPV_CONF_OPTS += --disable-cdda
+MPV_CONF_OPTS += -Dcdda=disabled
endif
# libdvdnav
ifeq ($(BR2_PACKAGE_LIBDVDNAV),y)
-MPV_CONF_OPTS += --enable-dvdnav
+MPV_CONF_OPTS += -Ddvdnav=enabled
MPV_DEPENDENCIES += libdvdnav
else
-MPV_CONF_OPTS += --disable-dvdnav
+MPV_CONF_OPTS += -Ddvdnav=disabled
endif
# libdrm
ifeq ($(BR2_PACKAGE_LIBDRM),y)
-MPV_CONF_OPTS += --enable-drm
+MPV_CONF_OPTS += -Ddrm=enabled
MPV_DEPENDENCIES += libdrm
else
-MPV_CONF_OPTS += --disable-drm
+MPV_CONF_OPTS += -Ddrm=disabled
endif
# libvdpau
ifeq ($(BR2_PACKAGE_LIBVDPAU),y)
-MPV_CONF_OPTS += --enable-vdpau
+MPV_CONF_OPTS += -Dvdpau=enabled
MPV_DEPENDENCIES += libvdpau
else
-MPV_CONF_OPTS += --disable-vdpau
+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 += --enable-lua
+MPV_CONF_OPTS += -Dlua=enabled
MPV_DEPENDENCIES += luainterpreter
else
-MPV_CONF_OPTS += --disable-lua
+MPV_CONF_OPTS += -Dlua=disabled
endif
# OpenGL support
ifeq ($(BR2_PACKAGE_HAS_LIBGL),y)
-MPV_CONF_OPTS += --enable-gl
+MPV_CONF_OPTS += -Dgl=enabled
MPV_DEPENDENCIES += libgl
else ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y)
-MPV_CONF_OPTS += --enable-gl
+MPV_CONF_OPTS += -Dgl=enabled
MPV_DEPENDENCIES += libgles
else ifeq ($(BR2_PACKAGE_HAS_LIBEGL),y)
-MPV_CONF_OPTS += --enable-gl
+MPV_CONF_OPTS += -Dgl=enabled
MPV_DEPENDENCIES += libegl
else
-MPV_CONF_OPTS += --disable-gl
+MPV_CONF_OPTS += -Dgl=disabled
endif
# pulseaudio support
ifeq ($(BR2_PACKAGE_PULSEAUDIO),y)
-MPV_CONF_OPTS += --enable-pulse
+MPV_CONF_OPTS += -Dpulse=enabled
MPV_DEPENDENCIES += pulseaudio
else
-MPV_CONF_OPTS += --disable-pulse
+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 += --enable-sdl2
+MPV_CONF_OPTS += -Dsdl2=enabled
MPV_DEPENDENCIES += sdl2
else
-MPV_CONF_OPTS += --disable-sdl2
+MPV_CONF_OPTS += -Dsdl2=disabled
endif
# Raspberry Pi support
ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
-MPV_CONF_OPTS += --enable-rpi --enable-gl
+MPV_CONF_OPTS += -Drpi=enabled -Dgl=enabled
MPV_DEPENDENCIES += rpi-userland
else
-MPV_CONF_OPTS += --disable-rpi
+MPV_CONF_OPTS += -Drpi=disabled
endif
# va-api support
ifeq ($(BR2_PACKAGE_LIBVA)$(BR2_PACKAGE_MPV_SUPPORTS_VAAPI),yy)
-MPV_CONF_OPTS += --enable-vaapi
+MPV_CONF_OPTS += -Dvaapi=enabled
MPV_DEPENDENCIES += libva
ifeq ($(BR2_PACKAGE_LIBDRM)$(BR2_PACKAGE_MESA3D_OPENGL_EGL),yy)
-MPV_CONF_OPTS += --enable-vaapi-drm
+MPV_CONF_OPTS += -Dvaapi-drm=enabled
else
-MPV_CONF_OPTS += --disable-vaapi-drm
+MPV_CONF_OPTS += -Dvaapi-drm=disabled
endif
else
-MPV_CONF_OPTS += --disable-vaapi --disable-vaapi-drm
+MPV_CONF_OPTS += -Dvaapi=disabled -Dvaapi-drm=disabled
endif
# wayland support
ifeq ($(BR2_PACKAGE_WAYLAND),y)
-MPV_CONF_OPTS += --enable-wayland
+MPV_CONF_OPTS += -Dwayland=enabled
MPV_DEPENDENCIES += libxkbcommon wayland wayland-protocols
else
-MPV_CONF_OPTS += --disable-wayland
+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 += --enable-x11
+MPV_CONF_OPTS += -Dx11=enabled
MPV_DEPENDENCIES += \
xlib_libX11 \
xlib_libXext \
@@ -214,17 +205,19 @@ MPV_DEPENDENCIES += \
xlib_libXScrnSaver
# XVideo
ifeq ($(BR2_PACKAGE_XLIB_LIBXV),y)
-MPV_CONF_OPTS += --enable-xv
+MPV_CONF_OPTS += -Dxv=enabled
MPV_DEPENDENCIES += xlib_libXv
else
-MPV_CONF_OPTS += --disable-xv
+MPV_CONF_OPTS += -Dxv=disabled
endif
else
-MPV_CONF_OPTS += --disable-x11
+MPV_CONF_OPTS += -Dx11=disabled
endif
ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
-MPV_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) -latomic"
+MPV_CONF_OPTS += -Dstdatomic=enabled
+else
+MPV_CONF_OPTS += -Dstdatomic=disabled
endif
-$(eval $(waf-package))
+$(eval $(meson-package))
---
base-commit: 387e3e30cf8e586140012f64d1492a9edff6bee1
change-id: 20241221-fix_mpv-a0a4fba5b044
Best regards,
--
Thomas Bonnefille <thomas.bonnefille@bootlin.com>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Buildroot] [PATCH v3] package/mpv: switch to meson from waf
2025-04-19 15:56 [Buildroot] [PATCH v3] package/mpv: switch to meson from waf Thomas Bonnefille via buildroot
@ 2025-04-28 19:52 ` Julien Olivain
2025-05-16 10:43 ` Arnout Vandecappelle via buildroot
1 sibling, 0 replies; 3+ messages in thread
From: Julien Olivain @ 2025-04-28 19:52 UTC (permalink / raw)
To: Thomas Bonnefille
Cc: buildroot, Thomas Petazzoni, Miquèl Raynal, Mahyar Koshkouei,
Eric Le Bihan, J. Neuschäfer
On 19/04/2025 17:56, Thomas Bonnefille via buildroot wrote:
> Since commit fd562315, which updated waf to v2.1.1, Buildroot has
> encountered issues building mpv, likely due to an outdated version of
> the waf build system.
[...]
> Signed-off-by: Thomas Bonnefille <thomas.bonnefille@bootlin.com>
> Tested-by: J. Neuschäfer <j.ne@posteo.net>
Applied to master, thanks.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Buildroot] [PATCH v3] package/mpv: switch to meson from waf
2025-04-19 15:56 [Buildroot] [PATCH v3] package/mpv: switch to meson from waf Thomas Bonnefille via buildroot
2025-04-28 19:52 ` Julien Olivain
@ 2025-05-16 10:43 ` Arnout Vandecappelle via buildroot
1 sibling, 0 replies; 3+ messages in thread
From: Arnout Vandecappelle via buildroot @ 2025-05-16 10:43 UTC (permalink / raw)
To: Thomas Bonnefille, buildroot
Cc: Thomas Petazzoni, Miquèl Raynal, Mahyar Koshkouei,
Eric Le Bihan, J. Neuschäfer
On 19/04/2025 17:56, Thomas Bonnefille via buildroot wrote:
> Since commit fd562315, which updated waf to v2.1.1, Buildroot has
> encountered issues building mpv, likely due to an outdated version of
> the waf build system.
>
> Starting with mpv v0.35, meson was introduced as an alternative to waf,
> and in mpv v0.37, waf was completely removed.
>
> This commit updates the mpv makefile to use meson, resolving the build
> issues and simplifying future updates to newer versions of mpv.
>
> All options previously used for Waf have been translated to the new
> build system by replacing `--disable-feature` with `-Dfeature=disabled`
> (and similarly for enabling features). Some features have special
> handling:
>
> - The `/usr` prefix is automatically passed to meson packages by
> default.
> - The Android feature "has been removed since meson can detect if a
> machine is Android"[1].
> - The `libmpv` parameter has been enabled in the makefile as `libmpv`
> must be built by default with mpv.
> - Meson packages automatically set whether the library should be built
> statically using the `default_library` meson parameter.
> - Meson automatically detects the presence of `libatomic` and passes the
> correct argument to the linker. However, it is possible to set the
> `stdatomic` meson parameter to specify whether `libatomic` must or
> must not be used.
>
> Fixes:
> https://autobuild.buildroot.org/results/68d42441fc0da34e1bf2a4247726f5f4ec3b8e77/
>
> [1]: https://github.com/mpv-player/mpv/blob/140ec21c89d671d392877a7f3b91d67e7d7b9239/DOCS/build-system-differences.md?plain=1#L48
>
> Signed-off-by: Thomas Bonnefille <thomas.bonnefille@bootlin.com>
> Tested-by: J. Neuschäfer <j.ne@posteo.net>
Applied to 2025.02.x, thanks.
Regards,
Arnout
> ---
> Changes in v3:
> - Set build-date to false instead of disable when Buildroot is built
> with repoducibility activated
> - Link to v2: https://lore.kernel.org/r/20250106-fix_mpv-v2-1-85117ce7b16b@bootlin.com
>
> Changes in v2:
> - Extend commit log
> - Remove --prefix=/usr as it is already handled by pkg-meson
> - Modify call to libatomic to match meson way of doing things
> - Link to v1: https://lore.kernel.org/r/20241221-fix_mpv-v1-1-d7ba39606571@bootlin.com
> ---
> package/mpv/mpv.mk | 127 +++++++++++++++++++++++++----------------------------
> 1 file changed, 60 insertions(+), 67 deletions(-)
>
> diff --git a/package/mpv/mpv.mk b/package/mpv/mpv.mk
> index cf37091186a2ffa67db964cc3d1c9dd7dda05e6e..8832b68ece543630c3467029cc4e25bca98e4641 100644
> --- a/package/mpv/mpv.mk
> +++ b/package/mpv/mpv.mk
> @@ -14,197 +14,188 @@ MPV_LICENSE_FILES = LICENSE.GPL
> MPV_CPE_ID_VENDOR = mpv
> MPV_INSTALL_STAGING = YES
>
> -MPV_NEEDS_EXTERNAL_WAF = YES
> -
> # Some of these options need testing and/or tweaks
> MPV_CONF_OPTS = \
> - --prefix=/usr \
> - --disable-android \
> - --disable-caca \
> - --disable-cocoa \
> - --disable-coreaudio \
> - --disable-cuda-hwaccel \
> - --disable-opensles \
> - --disable-rubberband \
> - --disable-uchardet \
> - --disable-vapoursynth
> + -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 += --disable-build-date
> -endif
> -
> -ifeq ($(BR2_STATIC_LIBS),y)
> -MPV_CONF_OPTS += --disable-libmpv-shared --enable-libmpv-static
> -else
> -MPV_CONF_OPTS += --enable-libmpv-shared --disable-libmpv-static
> +MPV_CONF_OPTS += -Dbuild-date=false
> endif
>
> ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
> -MPV_CONF_OPTS += --enable-alsa
> +MPV_CONF_OPTS += -Dalsa=enabled
> MPV_DEPENDENCIES += alsa-lib
> else
> -MPV_CONF_OPTS += --disable-alsa
> +MPV_CONF_OPTS += -Dalsa=disabled
> endif
>
> ifeq ($(BR2_PACKAGE_MESA3D_GBM),y)
> -MPV_CONF_OPTS += --enable-gbm
> +MPV_CONF_OPTS += -Dgbm=enabled
> MPV_DEPENDENCIES += mesa3d
> ifeq ($(BR2_PACKAGE_LIBDRM),y)
> -MPV_CONF_OPTS += --enable-egl-drm
> +MPV_CONF_OPTS += -Degl-drm=enabled
> else
> -MPV_CONF_OPTS += --disable-egl-drm
> +MPV_CONF_OPTS += -Degl-drm=disabled
> endif
> else
> -MPV_CONF_OPTS += --disable-gbm --disable-egl-drm
> +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 += --enable-jack
> +MPV_CONF_OPTS += -Djack=enabled
> MPV_DEPENDENCIES += jack2
> else
> -MPV_CONF_OPTS += --disable-jack
> +MPV_CONF_OPTS += -Djack=disabled
> endif
>
> # jpeg support
> ifeq ($(BR2_PACKAGE_JPEG),y)
> -MPV_CONF_OPTS += --enable-jpeg
> +MPV_CONF_OPTS += -Djpeg=enabled
> MPV_DEPENDENCIES += jpeg
> else
> -MPV_CONF_OPTS += --disable-jpeg
> +MPV_CONF_OPTS += -Djpeg=disabled
> endif
>
> # lcms2 support
> ifeq ($(BR2_PACKAGE_LCMS2),y)
> -MPV_CONF_OPTS += --enable-lcms2
> +MPV_CONF_OPTS += -Dlcms2=enabled
> MPV_DEPENDENCIES += lcms2
> else
> -MPV_CONF_OPTS += --disable-lcms2
> +MPV_CONF_OPTS += -Dlcms2=disabled
> endif
>
> # libarchive support
> ifeq ($(BR2_PACKAGE_LIBARCHIVE),y)
> -MPV_CONF_OPTS += --enable-libarchive
> +MPV_CONF_OPTS += -Dlibarchive=enabled
> MPV_DEPENDENCIES += libarchive
> else
> -MPV_CONF_OPTS += --disable-libarchive
> +MPV_CONF_OPTS += -Dlibarchive=disabled
> endif
>
> # bluray support
> ifeq ($(BR2_PACKAGE_LIBBLURAY),y)
> -MPV_CONF_OPTS += --enable-libbluray
> +MPV_CONF_OPTS += -Dlibbluray=enabled
> MPV_DEPENDENCIES += libbluray
> else
> -MPV_CONF_OPTS += --disable-libbluray
> +MPV_CONF_OPTS += -Dlibbluray=disabled
> endif
>
> # libcdio-paranoia
> ifeq ($(BR2_PACKAGE_LIBCDIO_PARANOIA),y)
> -MPV_CONF_OPTS += --enable-cdda
> +MPV_CONF_OPTS += -Dcdda=enabled
> MPV_DEPENDENCIES += libcdio-paranoia
> else
> -MPV_CONF_OPTS += --disable-cdda
> +MPV_CONF_OPTS += -Dcdda=disabled
> endif
>
> # libdvdnav
> ifeq ($(BR2_PACKAGE_LIBDVDNAV),y)
> -MPV_CONF_OPTS += --enable-dvdnav
> +MPV_CONF_OPTS += -Ddvdnav=enabled
> MPV_DEPENDENCIES += libdvdnav
> else
> -MPV_CONF_OPTS += --disable-dvdnav
> +MPV_CONF_OPTS += -Ddvdnav=disabled
> endif
>
> # libdrm
> ifeq ($(BR2_PACKAGE_LIBDRM),y)
> -MPV_CONF_OPTS += --enable-drm
> +MPV_CONF_OPTS += -Ddrm=enabled
> MPV_DEPENDENCIES += libdrm
> else
> -MPV_CONF_OPTS += --disable-drm
> +MPV_CONF_OPTS += -Ddrm=disabled
> endif
>
> # libvdpau
> ifeq ($(BR2_PACKAGE_LIBVDPAU),y)
> -MPV_CONF_OPTS += --enable-vdpau
> +MPV_CONF_OPTS += -Dvdpau=enabled
> MPV_DEPENDENCIES += libvdpau
> else
> -MPV_CONF_OPTS += --disable-vdpau
> +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 += --enable-lua
> +MPV_CONF_OPTS += -Dlua=enabled
> MPV_DEPENDENCIES += luainterpreter
> else
> -MPV_CONF_OPTS += --disable-lua
> +MPV_CONF_OPTS += -Dlua=disabled
> endif
>
> # OpenGL support
> ifeq ($(BR2_PACKAGE_HAS_LIBGL),y)
> -MPV_CONF_OPTS += --enable-gl
> +MPV_CONF_OPTS += -Dgl=enabled
> MPV_DEPENDENCIES += libgl
> else ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y)
> -MPV_CONF_OPTS += --enable-gl
> +MPV_CONF_OPTS += -Dgl=enabled
> MPV_DEPENDENCIES += libgles
> else ifeq ($(BR2_PACKAGE_HAS_LIBEGL),y)
> -MPV_CONF_OPTS += --enable-gl
> +MPV_CONF_OPTS += -Dgl=enabled
> MPV_DEPENDENCIES += libegl
> else
> -MPV_CONF_OPTS += --disable-gl
> +MPV_CONF_OPTS += -Dgl=disabled
> endif
>
> # pulseaudio support
> ifeq ($(BR2_PACKAGE_PULSEAUDIO),y)
> -MPV_CONF_OPTS += --enable-pulse
> +MPV_CONF_OPTS += -Dpulse=enabled
> MPV_DEPENDENCIES += pulseaudio
> else
> -MPV_CONF_OPTS += --disable-pulse
> +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 += --enable-sdl2
> +MPV_CONF_OPTS += -Dsdl2=enabled
> MPV_DEPENDENCIES += sdl2
> else
> -MPV_CONF_OPTS += --disable-sdl2
> +MPV_CONF_OPTS += -Dsdl2=disabled
> endif
>
> # Raspberry Pi support
> ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
> -MPV_CONF_OPTS += --enable-rpi --enable-gl
> +MPV_CONF_OPTS += -Drpi=enabled -Dgl=enabled
> MPV_DEPENDENCIES += rpi-userland
> else
> -MPV_CONF_OPTS += --disable-rpi
> +MPV_CONF_OPTS += -Drpi=disabled
> endif
>
> # va-api support
> ifeq ($(BR2_PACKAGE_LIBVA)$(BR2_PACKAGE_MPV_SUPPORTS_VAAPI),yy)
> -MPV_CONF_OPTS += --enable-vaapi
> +MPV_CONF_OPTS += -Dvaapi=enabled
> MPV_DEPENDENCIES += libva
> ifeq ($(BR2_PACKAGE_LIBDRM)$(BR2_PACKAGE_MESA3D_OPENGL_EGL),yy)
> -MPV_CONF_OPTS += --enable-vaapi-drm
> +MPV_CONF_OPTS += -Dvaapi-drm=enabled
> else
> -MPV_CONF_OPTS += --disable-vaapi-drm
> +MPV_CONF_OPTS += -Dvaapi-drm=disabled
> endif
> else
> -MPV_CONF_OPTS += --disable-vaapi --disable-vaapi-drm
> +MPV_CONF_OPTS += -Dvaapi=disabled -Dvaapi-drm=disabled
> endif
>
> # wayland support
> ifeq ($(BR2_PACKAGE_WAYLAND),y)
> -MPV_CONF_OPTS += --enable-wayland
> +MPV_CONF_OPTS += -Dwayland=enabled
> MPV_DEPENDENCIES += libxkbcommon wayland wayland-protocols
> else
> -MPV_CONF_OPTS += --disable-wayland
> +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 += --enable-x11
> +MPV_CONF_OPTS += -Dx11=enabled
> MPV_DEPENDENCIES += \
> xlib_libX11 \
> xlib_libXext \
> @@ -214,17 +205,19 @@ MPV_DEPENDENCIES += \
> xlib_libXScrnSaver
> # XVideo
> ifeq ($(BR2_PACKAGE_XLIB_LIBXV),y)
> -MPV_CONF_OPTS += --enable-xv
> +MPV_CONF_OPTS += -Dxv=enabled
> MPV_DEPENDENCIES += xlib_libXv
> else
> -MPV_CONF_OPTS += --disable-xv
> +MPV_CONF_OPTS += -Dxv=disabled
> endif
> else
> -MPV_CONF_OPTS += --disable-x11
> +MPV_CONF_OPTS += -Dx11=disabled
> endif
>
> ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
> -MPV_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) -latomic"
> +MPV_CONF_OPTS += -Dstdatomic=enabled
> +else
> +MPV_CONF_OPTS += -Dstdatomic=disabled
> endif
>
> -$(eval $(waf-package))
> +$(eval $(meson-package))
>
> ---
> base-commit: 387e3e30cf8e586140012f64d1492a9edff6bee1
> change-id: 20241221-fix_mpv-a0a4fba5b044
>
> Best regards,
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-05-16 10:43 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-19 15:56 [Buildroot] [PATCH v3] package/mpv: switch to meson from waf Thomas Bonnefille via buildroot
2025-04-28 19:52 ` Julien Olivain
2025-05-16 10:43 ` Arnout Vandecappelle via buildroot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox