summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-multimedia
diff options
context:
space:
mode:
authorTrevor Woerner <twoerner@gmail.com>2020-02-08 14:24:33 -0500
committerKhem Raj <raj.khem@gmail.com>2020-02-09 10:46:32 -0800
commit835358a130e4c67929dc3f1f82b5ce0867d0ad4f (patch)
tree89d11a7078faac6c6712510323f1e7c31da38c47 /meta-oe/recipes-multimedia
parent208b2feab63ba01d5c8c1fbf3b3b892f244bcd00 (diff)
downloadmeta-openembedded-835358a130e4c67929dc3f1f82b5ce0867d0ad4f.tar.gz
mpv: 0.26.0 -> 0.32.0
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> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-multimedia')
-rw-r--r--meta-oe/recipes-multimedia/mplayer/mpv/python3.patch12
-rw-r--r--meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb85
-rw-r--r--meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb115
3 files changed, 127 insertions, 85 deletions
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 @@
1Use Python 3 instead of Python 2.
2
3Upstream-Status: Pending
4Signed-off-by: Ross Burton <ross.burton@intel.com>
5
6diff --git a/waf b/waf
7index 6ce2a24..de3c898 100755
8--- a/waf
9+++ b/waf
10@@ -1 +1 @@
11-#!/usr/bin/env python
12+#!/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 @@
1SUMMARY = "Open Source multimedia player"
2DESCRIPTION = "mpv is a fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more."
3SECTION = "multimedia"
4HOMEPAGE = "http://www.mpv.io/"
5DEPENDS = "zlib ffmpeg jpeg virtual/libx11 xsp libxv \
6 libxscrnsaver libv4l libxinerama \
7"
8
9REQUIRED_DISTRO_FEATURES = "x11"
10
11LICENSE = "GPLv2+"
12LIC_FILES_CHKSUM = "file://LICENSE;md5=91f1cb870c1cc2d31351a4d2595441cb"
13
14# While this item does not require it, it depends on ffmpeg which does
15LICENSE_FLAGS = "commercial"
16
17SRCREV_mpv = "4db82f04502cbcd20d9a975df9dfde91d8c389e3"
18SRC_URI = " \
19 git://github.com/mpv-player/mpv;name=mpv \
20 http://www.freehackers.org/~tnagy/release/waf-1.8.12;name=waf;downloadfilename=waf;subdir=git \
21"
22SRC_URI[waf.md5sum] = "cef4ee82206b1843db082d0b0506bf71"
23SRC_URI[waf.sha256sum] = "01bf2beab2106d1558800c8709bc2c8e496d3da4a2ca343fe091f22fca60c98b"
24
25S = "${WORKDIR}/git"
26
27inherit waf pkgconfig python3native features_check
28
29LUA ?= "lua"
30LUA_mips64 = ""
31LUA_aarch64 = ""
32LUA_powerpc64 = ""
33LUA_powerpc64le = ""
34LUA_powerpc = ""
35
36# Note: both lua and libass are required to get on-screen-display (controls)
37PACKAGECONFIG ??= " \
38 ${LUA} \
39 libass \
40 ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)} \
41"
42
43PACKAGECONFIG_remove_aarch64 = "lua"
44PACKAGECONFIG[drm] = "--enable-drm,--disable-drm,libdrm"
45PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm,virtual/mesa"
46PACKAGECONFIG[lua] = "--enable-lua,--disable-lua,lua luajit"
47PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass"
48PACKAGECONFIG[libarchive] = "--enable-libarchive,--disable-libarchive,libarchive"
49PACKAGECONFIG[jack] = "--enable-jack, --disable-jack, jack"
50PACKAGECONFIG[vaapi] = "--enable-vaapi, --disable-vaapi,libva"
51PACKAGECONFIG[vdpau] = "--enable-vdpau, --disable-vdpau,libvdpau"
52PACKAGECONFIG[wayland] = "--enable-wayland, --disable-wayland,wayland libxkbcommon"
53
54SIMPLE_TARGET_SYS = "${@'${TARGET_SYS}'.replace('${TARGET_VENDOR}', '')}"
55
56EXTRA_OECONF = " \
57 --prefix=${prefix} \
58 --target=${SIMPLE_TARGET_SYS} \
59 --confdir=${sysconfdir} \
60 --datadir=${datadir} \
61 --disable-manpage-build \
62 --disable-gl \
63 --disable-libsmbclient \
64 --disable-encoding \
65 --disable-libbluray \
66 --disable-dvdread \
67 --disable-dvdnav \
68 --disable-cdda \
69 --disable-uchardet \
70 --disable-rubberband \
71 --disable-lcms2 \
72 --disable-vapoursynth \
73 --disable-vapoursynth-lazy \
74 ${PACKAGECONFIG_CONFARGS} \
75"
76
77adjust_waf_perms() {
78 chmod +x ${S}/waf
79}
80
81do_patch[postfuncs] += "adjust_waf_perms"
82
83FILES_${PN} += "${datadir}/icons"
84
85PNBLACKLIST[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..bd2e389fe
--- /dev/null
+++ b/meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb
@@ -0,0 +1,115 @@
1SUMMARY = "Open Source multimedia player"
2DESCRIPTION = "mpv is a fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more."
3SECTION = "multimedia"
4HOMEPAGE = "http://www.mpv.io/"
5DEPENDS = "zlib ffmpeg jpeg virtual/libx11 xsp libxv \
6 libxscrnsaver libv4l libxinerama \
7"
8
9REQUIRED_DISTRO_FEATURES = "x11"
10
11LICENSE = "GPLv2+"
12LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=91f1cb870c1cc2d31351a4d2595441cb"
13
14# While this item does not require it, it depends on ffmpeg which does
15LICENSE_FLAGS = "commercial"
16
17SRCREV_mpv = "70b991749df389bcc0a4e145b5687233a03b4ed7"
18SRC_URI = " \
19 git://github.com/mpv-player/mpv;name=mpv \
20 https://www.freehackers.org/~tnagy/release/waf-2.0.19;name=waf;downloadfilename=waf;subdir=git \
21 file://python3.patch \
22"
23SRC_URI[waf.md5sum] = "cef4ee82206b1843db082d0b0506bf71"
24SRC_URI[waf.sha256sum] = "01bf2beab2106d1558800c8709bc2c8e496d3da4a2ca343fe091f22fca60c98b"
25
26S = "${WORKDIR}/git"
27
28inherit waf pkgconfig features_check mime-xdg
29
30LUA ?= "lua"
31LUA_mips64 = ""
32LUA_aarch64 = ""
33LUA_powerpc64 = ""
34LUA_powerpc64le = ""
35LUA_powerpc = ""
36
37# Note: both lua and libass are required to get on-screen-display (controls)
38PACKAGECONFIG ??= " \
39 ${LUA} \
40 libass \
41 ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)} \
42 ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \
43 ${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)} \
44"
45
46PACKAGECONFIG_remove_aarch64 = "lua"
47PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11"
48PACKAGECONFIG[xv] = "--enable-xv,--disable-xv,libxv"
49PACKAGECONFIG[opengl] = "--enable-gl,--disable-gl,virtual/libgl"
50PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,"
51PACKAGECONFIG[drm] = "--enable-drm,--disable-drm,libdrm"
52PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm,virtual/libgbm"
53PACKAGECONFIG[lua] = "--enable-lua,--disable-lua,lua luajit"
54PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass"
55PACKAGECONFIG[libarchive] = "--enable-libarchive,--disable-libarchive,libarchive"
56PACKAGECONFIG[jack] = "--enable-jack, --disable-jack, jack"
57PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
58PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
59PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native libxkbcommon"
60
61python __anonymous() {
62 packageconfig = (d.getVar("PACKAGECONFIG") or "").split()
63 extras = []
64 if "x11" in packageconfig and "opengl" in packageconfig:
65 extras.append(" --enable-gl-x11")
66 if "x11" in packageconfig and "egl" in packageconfig:
67 extras.append(" --enable-egl-x11")
68 if "egl" in packageconfig and "drm" in packageconfig:
69 extras.append(" --enable-egl-drm")
70 if "vaapi" in packageconfig and "x11" in packageconfig:
71 extras.append(" --enable-vaapi-x11")
72 if "vaapi" in packageconfig and "drm" in packageconfig:
73 extras.append(" --enable-vaapi-drm")
74 if "vaapi" in packageconfig and "x11" in packageconfig and "egl" in packageconfig:
75 extras.append(" --enable-vaapi-x-egl")
76 if "vdpau" in packageconfig and "opengl" in packageconfig and "x11" in packageconfig:
77 extras.append(" --enable-vdpau-gl-x11")
78 if "wayland" in packageconfig and "opengl" in packageconfig:
79 extras.append(" --enable-gl-wayland")
80 if "wayland" in packageconfig and "vaapi" in packageconfig:
81 extras.append(" --enable-vaapi-wayland")
82 if extras:
83 d.appendVar("EXTRA_OECONF", "".join(extras))
84}
85
86SIMPLE_TARGET_SYS = "${@'${TARGET_SYS}'.replace('${TARGET_VENDOR}', '')}"
87
88EXTRA_OECONF = " \
89 --prefix=${prefix} \
90 --target=${SIMPLE_TARGET_SYS} \
91 --confdir=${sysconfdir} \
92 --datadir=${datadir} \
93 --disable-manpage-build \
94 --disable-libsmbclient \
95 --disable-libbluray \
96 --disable-dvdnav \
97 --disable-cdda \
98 --disable-uchardet \
99 --disable-rubberband \
100 --disable-lcms2 \
101 --disable-vapoursynth \
102 ${PACKAGECONFIG_CONFARGS} \
103"
104
105adjust_waf_perms() {
106 chmod +x ${S}/waf
107}
108
109do_patch[postfuncs] += "adjust_waf_perms"
110
111FILES_${PN} += " \
112 ${datadir}/icons \
113 ${datadir}/zsh \
114 ${datadir}/bash-completion \
115 "