All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-oe][PATCH v2] mpv: 0.26.0 -> 0.32.0
@ 2020-02-08 19:24 Trevor Woerner
  2020-02-10 15:39 ` Khem Raj
  0 siblings, 1 reply; 3+ messages in thread
From: Trevor Woerner @ 2020-02-08 19:24 UTC (permalink / raw)
  To: openembedded-devel

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



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [meta-oe][PATCH v2] mpv: 0.26.0 -> 0.32.0
  2020-02-08 19:24 [meta-oe][PATCH v2] mpv: 0.26.0 -> 0.32.0 Trevor Woerner
@ 2020-02-10 15:39 ` Khem Raj
  2020-02-10 17:18   ` Trevor Woerner
  0 siblings, 1 reply; 3+ messages in thread
From: Khem Raj @ 2020-02-10 15:39 UTC (permalink / raw)
  To: Trevor Woerner; +Cc: openembeded-devel

Trevor

Its failing for one of builds with musl/arm
http://errors.yoctoproject.org/Errors/Details/390554/

On Sat, Feb 8, 2020 at 11:24 AM Trevor Woerner <twoerner@gmail.com> 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.
>
> 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
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [meta-oe][PATCH v2] mpv: 0.26.0 -> 0.32.0
  2020-02-10 15:39 ` Khem Raj
@ 2020-02-10 17:18   ` Trevor Woerner
  0 siblings, 0 replies; 3+ messages in thread
From: Trevor Woerner @ 2020-02-10 17:18 UTC (permalink / raw)
  To: Khem Raj; +Cc: openembeded-devel

Okay, I'll take a look.
Thanks!

On Mon, Feb 10, 2020 at 10:40 AM Khem Raj <raj.khem@gmail.com> wrote:

> Trevor
>
> Its failing for one of builds with musl/arm
> http://errors.yoctoproject.org/Errors/Details/390554/
>
> On Sat, Feb 8, 2020 at 11:24 AM Trevor Woerner <twoerner@gmail.com> 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.
> >
> > 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
> >
> > --
> > _______________________________________________
> > Openembedded-devel mailing list
> > Openembedded-devel@lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-02-10 17:18 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-08 19:24 [meta-oe][PATCH v2] mpv: 0.26.0 -> 0.32.0 Trevor Woerner
2020-02-10 15:39 ` Khem Raj
2020-02-10 17:18   ` Trevor Woerner

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.