From: Trevor Woerner <twoerner@gmail.com>
To: openembedded-devel@lists.openembedded.org
Subject: [meta-oe][PATCH v2] mpv: 0.26.0 -> 0.32.0
Date: Sat, 8 Feb 2020 14:24:33 -0500 [thread overview]
Message-ID: <20200208192433.20869-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.
Re-added 'mpv' back to LICENSE_FLAGS_WHITELIST search list in
packagegroup-meta-oe.
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.
Added the correct dependencies so mpv builds under wayland.
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
Tested with core-image-weston on a rock-pi-4 with:
PACKAGECONFIG = "libass wayland x11 opengl"
# mpv -vo=help
Available video outputs:
libmpv render API for libmpv
gpu Shader-based GPU Renderer
wlshm Wayland SHM video output
x11 X11 (slow, old crap)
null Null video output
image Write video frames to image files
tct true-color terminals
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
---
changes in v2:
- Martin Jansa pointed out that this patch should also re-add mpv to the
LICENSE_FLAGS_WHITELIST list in packagegroup-meta-oe
https://git.openembedded.org/meta-openembedded/commit/?id=0c182e58775966699c303c1e2561c273197bf445
- Khem Raj pointed out that this recipe fails to build with wayland
https://errors.yoctoproject.org/Errors/Details/390294/
---
.../packagegroups/packagegroup-meta-oe.bb | 2 +-
.../mplayer/mpv/python3.patch | 12 ++++
.../mplayer/{mpv_0.26.0.bb => mpv_0.32.0.bb} | 60 ++++++++++++++-----
3 files changed, 58 insertions(+), 16 deletions(-)
create mode 100644 meta-oe/recipes-multimedia/mplayer/mpv/python3.patch
rename meta-oe/recipes-multimedia/mplayer/{mpv_0.26.0.bb => mpv_0.32.0.bb} (46%)
diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
index d5789a758..865cbb0bf 100644
--- a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
+++ b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
@@ -207,7 +207,7 @@ RDEPENDS_packagegroup-meta-oe-multimedia ="\
sound-theme-freedesktop v4l-utils yavta wavpack libvpx \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "xpext pavucontrol xsp", "", d)} \
libmikmod \
- ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libmad faad2", "", d)} \
+ ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libmad faad2 mpv", "", d)} \
"
RDEPENDS_packagegroup-meta-oe-multimedia_remove_libc-musl = "alsa-oss"
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.32.0.bb
similarity index 46%
rename from meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb
rename to meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb
index c98aa7ab0..bd2e389fe 100644
--- a/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb
+++ b/meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb
@@ -9,22 +9,23 @@ DEPENDS = "zlib ffmpeg jpeg virtual/libx11 xsp libxv \
REQUIRED_DISTRO_FEATURES = "x11"
LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=91f1cb870c1cc2d31351a4d2595441cb"
+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 = "4db82f04502cbcd20d9a975df9dfde91d8c389e3"
+SRCREV_mpv = "70b991749df389bcc0a4e145b5687233a03b4ed7"
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 \
+ 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 python3native features_check
+inherit waf pkgconfig features_check mime-xdg
LUA ?= "lua"
LUA_mips64 = ""
@@ -38,18 +39,49 @@ 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/mesa"
+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 libxkbcommon"
+PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
+PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
+PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native libxkbcommon"
+
+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}', '')}"
@@ -59,18 +91,14 @@ EXTRA_OECONF = " \
--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} \
"
@@ -80,6 +108,8 @@ adjust_waf_perms() {
do_patch[postfuncs] += "adjust_waf_perms"
-FILES_${PN} += "${datadir}/icons"
-
-PNBLACKLIST[mpv] = "Needs forward porting to use python3"
+FILES_${PN} += " \
+ ${datadir}/icons \
+ ${datadir}/zsh \
+ ${datadir}/bash-completion \
+ "
--
2.25.0.114.g5b0ca878e0
next reply other threads:[~2020-02-08 19:24 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-08 19:24 Trevor Woerner [this message]
2020-02-10 15:39 ` [meta-oe][PATCH v2] mpv: 0.26.0 -> 0.32.0 Khem Raj
2020-02-10 17:18 ` 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=20200208192433.20869-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.