All of lore.kernel.org
 help / color / mirror / Atom feed
From: Trevor Woerner <twoerner@gmail.com>
To: openembedded-devel@lists.openembedded.org
Subject: [meta-oe][PATCH] mpv: 0.26.0 -> 0.32.0
Date: Wed,  5 Feb 2020 15:30:53 -0500	[thread overview]
Message-ID: <20200205203053.6742-1-twoerner@gmail.com> (raw)

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@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

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@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



             reply	other threads:[~2020-02-05 20:30 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-05 20:30 Trevor Woerner [this message]
2020-02-05 20:44 ` [meta-oe][PATCH] mpv: 0.26.0 -> 0.32.0 Andreas Müller
2020-02-05 21:07 ` Martin Jansa
2020-02-05 23:02   ` Trevor Woerner
2020-02-05 23:32     ` Khem Raj
2020-02-06  0:00       ` Trevor Woerner
2020-02-06 21:51     ` Trevor Woerner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200205203053.6742-1-twoerner@gmail.com \
    --to=twoerner@gmail.com \
    --cc=openembedded-devel@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.