[oe] [meta-oe][PATCH] mpv: 0.26.0 -> 0.32.0

Martin Jansa martin.jansa at gmail.com
Wed Feb 5 21:07:07 UTC 2020


On Wed, Feb 05, 2020 at 03:30:53PM -0500, Trevor Woerner wrote:
> Remove mpv from the PNBLACKLIST by updating to the latest release and using a
> newer, python3-aware waf for building (copied from glmark2).
> 
> The name of the license file changed, but the licence of the software itself
> did not.
> 
> Added mime-xdg to inherit to handle mime artifacts.
> 
> Added to the FILES command to scoop up additional files being generated by
> the build.
> 
> Extensively fixed and cleaned up the PACKAGECONFIG options to reflect the
> current options available when configuring mpv. Also cleaned up any configure
> options which are no longer available.
> 
> Tested with core-image-x11 on a rock-pi-4 with
> PACKAGECONFIG = "libass x11 opengl egl drm gbm vaapi vdpau"
> 	# mpv --vo=help
> 	Available video outputs:
> 	  libmpv           render API for libmpv
> 	  gpu              Shader-based GPU Renderer
> 	  vdpau            VDPAU with X11
> 	  vaapi            VA API with X11
> 	  x11              X11 (slow, old crap)
> 	  null             Null video output
> 	  image            Write video frames to image files
> 	  tct              true-color terminals
> 	  drm              Direct Rendering Manager
> 
> Signed-off-by: Trevor Woerner <twoerner at gmail.com>
> ---
>  .../mplayer/mpv/python3.patch                 |  12 ++
>  .../recipes-multimedia/mplayer/mpv_0.26.0.bb  |  85 -------------
>  .../recipes-multimedia/mplayer/mpv_0.32.0.bb  | 115 ++++++++++++++++++
>  3 files changed, 127 insertions(+), 85 deletions(-)
>  create mode 100644 meta-oe/recipes-multimedia/mplayer/mpv/python3.patch
>  delete mode 100644 meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb
>  create mode 100644 meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb

Thanks,

would you mind undoing:
http://git.openembedded.org/meta-openembedded/commit/?id=0c182e58775966699c303c1e2561c273197bf445
in the same commit?

Also was this sent with -M?

> diff --git a/meta-oe/recipes-multimedia/mplayer/mpv/python3.patch b/meta-oe/recipes-multimedia/mplayer/mpv/python3.patch
> new file mode 100644
> index 000000000..df208cf87
> --- /dev/null
> +++ b/meta-oe/recipes-multimedia/mplayer/mpv/python3.patch
> @@ -0,0 +1,12 @@
> +Use Python 3 instead of Python 2.
> +
> +Upstream-Status: Pending
> +Signed-off-by: Ross Burton <ross.burton at intel.com>
> +
> +diff --git a/waf b/waf
> +index 6ce2a24..de3c898 100755
> +--- a/waf
> ++++ b/waf
> +@@ -1 +1 @@
> +-#!/usr/bin/env python
> ++#!/usr/bin/env python3
> diff --git a/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb b/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb
> deleted file mode 100644
> index c98aa7ab0..000000000
> --- a/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb
> +++ /dev/null
> @@ -1,85 +0,0 @@
> -SUMMARY = "Open Source multimedia player"
> -DESCRIPTION = "mpv is a fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more."
> -SECTION = "multimedia"
> -HOMEPAGE = "http://www.mpv.io/"
> -DEPENDS = "zlib ffmpeg jpeg virtual/libx11 xsp libxv \
> -           libxscrnsaver libv4l libxinerama \
> -"
> -
> -REQUIRED_DISTRO_FEATURES = "x11"
> -
> -LICENSE = "GPLv2+"
> -LIC_FILES_CHKSUM = "file://LICENSE;md5=91f1cb870c1cc2d31351a4d2595441cb"
> -
> -# While this item does not require it, it depends on ffmpeg which does
> -LICENSE_FLAGS = "commercial"
> -
> -SRCREV_mpv = "4db82f04502cbcd20d9a975df9dfde91d8c389e3"
> -SRC_URI = " \
> -    git://github.com/mpv-player/mpv;name=mpv \
> -    http://www.freehackers.org/~tnagy/release/waf-1.8.12;name=waf;downloadfilename=waf;subdir=git \
> -"
> -SRC_URI[waf.md5sum] = "cef4ee82206b1843db082d0b0506bf71"
> -SRC_URI[waf.sha256sum] = "01bf2beab2106d1558800c8709bc2c8e496d3da4a2ca343fe091f22fca60c98b"
> -
> -S = "${WORKDIR}/git"
> -
> -inherit waf pkgconfig python3native features_check
> -
> -LUA ?= "lua"
> -LUA_mips64  = ""
> -LUA_aarch64  = ""
> -LUA_powerpc64  = ""
> -LUA_powerpc64le  = ""
> -LUA_powerpc  = ""
> -
> -# Note: both lua and libass are required to get on-screen-display (controls)
> -PACKAGECONFIG ??= " \
> -    ${LUA} \
> -    libass \
> -    ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)} \
> -"
> -
> -PACKAGECONFIG_remove_aarch64 = "lua"
> -PACKAGECONFIG[drm] = "--enable-drm,--disable-drm,libdrm"
> -PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm,virtual/mesa"
> -PACKAGECONFIG[lua] = "--enable-lua,--disable-lua,lua luajit"
> -PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass"
> -PACKAGECONFIG[libarchive] = "--enable-libarchive,--disable-libarchive,libarchive"
> -PACKAGECONFIG[jack] = "--enable-jack, --disable-jack, jack"
> -PACKAGECONFIG[vaapi] = "--enable-vaapi, --disable-vaapi,libva"
> -PACKAGECONFIG[vdpau] = "--enable-vdpau, --disable-vdpau,libvdpau"
> -PACKAGECONFIG[wayland] = "--enable-wayland, --disable-wayland,wayland libxkbcommon"
> -
> -SIMPLE_TARGET_SYS = "${@'${TARGET_SYS}'.replace('${TARGET_VENDOR}', '')}"
> -
> -EXTRA_OECONF = " \
> -    --prefix=${prefix} \
> -    --target=${SIMPLE_TARGET_SYS} \
> -    --confdir=${sysconfdir} \
> -    --datadir=${datadir} \
> -    --disable-manpage-build \
> -    --disable-gl \
> -    --disable-libsmbclient \
> -    --disable-encoding \
> -    --disable-libbluray \
> -    --disable-dvdread \
> -    --disable-dvdnav \
> -    --disable-cdda \
> -    --disable-uchardet \
> -    --disable-rubberband \
> -    --disable-lcms2 \
> -    --disable-vapoursynth \
> -    --disable-vapoursynth-lazy \
> -    ${PACKAGECONFIG_CONFARGS} \
> -"
> -
> -adjust_waf_perms() {
> -    chmod +x ${S}/waf
> -}
> -
> -do_patch[postfuncs] += "adjust_waf_perms"
> -
> -FILES_${PN} += "${datadir}/icons"
> -
> -PNBLACKLIST[mpv] = "Needs forward porting to use python3"
> diff --git a/meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb b/meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb
> new file mode 100644
> index 000000000..e6bab6b3f
> --- /dev/null
> +++ b/meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb
> @@ -0,0 +1,115 @@
> +SUMMARY = "Open Source multimedia player"
> +DESCRIPTION = "mpv is a fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more."
> +SECTION = "multimedia"
> +HOMEPAGE = "http://www.mpv.io/"
> +DEPENDS = "zlib ffmpeg jpeg virtual/libx11 xsp libxv \
> +           libxscrnsaver libv4l libxinerama \
> +"
> +
> +REQUIRED_DISTRO_FEATURES = "x11"
> +
> +LICENSE = "GPLv2+"
> +LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=91f1cb870c1cc2d31351a4d2595441cb"
> +
> +# While this item does not require it, it depends on ffmpeg which does
> +LICENSE_FLAGS = "commercial"
> +
> +SRCREV_mpv = "70b991749df389bcc0a4e145b5687233a03b4ed7"
> +SRC_URI = " \
> +    git://github.com/mpv-player/mpv;name=mpv \
> +    https://www.freehackers.org/~tnagy/release/waf-2.0.19;name=waf;downloadfilename=waf;subdir=git \
> +    file://python3.patch \
> +"
> +SRC_URI[waf.md5sum] = "cef4ee82206b1843db082d0b0506bf71"
> +SRC_URI[waf.sha256sum] = "01bf2beab2106d1558800c8709bc2c8e496d3da4a2ca343fe091f22fca60c98b"
> +
> +S = "${WORKDIR}/git"
> +
> +inherit waf pkgconfig features_check mime-xdg
> +
> +LUA ?= "lua"
> +LUA_mips64  = ""
> +LUA_aarch64  = ""
> +LUA_powerpc64  = ""
> +LUA_powerpc64le  = ""
> +LUA_powerpc  = ""
> +
> +# Note: both lua and libass are required to get on-screen-display (controls)
> +PACKAGECONFIG ??= " \
> +    ${LUA} \
> +    libass \
> +    ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)} \
> +    ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \
> +    ${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)} \
> +"
> +
> +PACKAGECONFIG_remove_aarch64 = "lua"
> +PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11"
> +PACKAGECONFIG[xv] = "--enable-xv,--disable-xv,libxv"
> +PACKAGECONFIG[opengl] = "--enable-gl,--disable-gl,virtual/libgl"
> +PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,"
> +PACKAGECONFIG[drm] = "--enable-drm,--disable-drm,libdrm"
> +PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm,virtual/libgbm"
> +PACKAGECONFIG[lua] = "--enable-lua,--disable-lua,lua luajit"
> +PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass"
> +PACKAGECONFIG[libarchive] = "--enable-libarchive,--disable-libarchive,libarchive"
> +PACKAGECONFIG[jack] = "--enable-jack, --disable-jack, jack"
> +PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
> +PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
> +PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland"
> +
> +python __anonymous() {
> +    packageconfig = (d.getVar("PACKAGECONFIG") or "").split()
> +    extras = []
> +    if "x11" in packageconfig and "opengl" in packageconfig:
> +        extras.append(" --enable-gl-x11")
> +    if "x11" in packageconfig and "egl" in packageconfig:
> +        extras.append(" --enable-egl-x11")
> +    if "egl" in packageconfig and "drm" in packageconfig:
> +        extras.append(" --enable-egl-drm")
> +    if "vaapi" in packageconfig and "x11" in packageconfig:
> +        extras.append(" --enable-vaapi-x11")
> +    if "vaapi" in packageconfig and "drm" in packageconfig:
> +        extras.append(" --enable-vaapi-drm")
> +    if "vaapi" in packageconfig and "x11" in packageconfig and "egl" in packageconfig:
> +        extras.append(" --enable-vaapi-x-egl")
> +    if "vdpau" in packageconfig and "opengl" in packageconfig and "x11" in packageconfig:
> +        extras.append(" --enable-vdpau-gl-x11")
> +    if "wayland" in packageconfig and "opengl" in packageconfig:
> +        extras.append(" --enable-gl-wayland")
> +    if "wayland" in packageconfig and "vaapi" in packageconfig:
> +        extras.append(" --enable-vaapi-wayland")
> +    if extras:
> +        d.appendVar("EXTRA_OECONF", "".join(extras))
> +}
> +
> +SIMPLE_TARGET_SYS = "${@'${TARGET_SYS}'.replace('${TARGET_VENDOR}', '')}"
> +
> +EXTRA_OECONF = " \
> +    --prefix=${prefix} \
> +    --target=${SIMPLE_TARGET_SYS} \
> +    --confdir=${sysconfdir} \
> +    --datadir=${datadir} \
> +    --disable-manpage-build \
> +    --disable-libsmbclient \
> +    --disable-libbluray \
> +    --disable-dvdnav \
> +    --disable-cdda \
> +    --disable-uchardet \
> +    --disable-rubberband \
> +    --disable-lcms2 \
> +    --disable-vapoursynth \
> +    ${PACKAGECONFIG_CONFARGS} \
> +"
> +
> +adjust_waf_perms() {
> +    chmod +x ${S}/waf
> +}
> +
> +do_patch[postfuncs] += "adjust_waf_perms"
> +
> +FILES_${PN} += " \
> +    ${datadir}/icons \
> +    ${datadir}/zsh \
> +    ${datadir}/bash-completion \
> +    "
> -- 
> 2.23.0.37.g745f681289
> 
> -- 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20200205/1c669071/attachment.sig>


More information about the Openembedded-devel mailing list