From b1800419769236f7c449630a9fb398e084e81e47 Mon Sep 17 00:00:00 2001 From: William Huang Date: Thu, 2 Sep 2021 07:25:07 -0400 Subject: recipes-devtools: python: add support for Kivy Signed-off-by: Khem Raj Signed-off-by: Trevor Gamblin --- .../python3-kivy/0001-add-support-for-glesv2.patch | 24 ++++++++ .../recipes-devtools/python/python3-kivy_2.0.0.bb | 71 ++++++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 meta-python/recipes-devtools/python/python3-kivy/0001-add-support-for-glesv2.patch create mode 100644 meta-python/recipes-devtools/python/python3-kivy_2.0.0.bb (limited to 'meta-python') diff --git a/meta-python/recipes-devtools/python/python3-kivy/0001-add-support-for-glesv2.patch b/meta-python/recipes-devtools/python/python3-kivy/0001-add-support-for-glesv2.patch new file mode 100644 index 0000000000..e50c7e7e24 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-kivy/0001-add-support-for-glesv2.patch @@ -0,0 +1,24 @@ +diff --git a/setup.py b/setup.py +index 9a507c6c4..3f5b70866 100644 +--- a/setup.py ++++ b/setup.py +@@ -680,7 +680,18 @@ def determine_gl_flags(): + c_options['use_x11'] = True + c_options['use_egl'] = True + else: +- flags['libraries'] = ['GL'] ++ if cross_sysroot: ++ flags['include_dirs'] = [cross_sysroot + '/usr/include'] ++ flags['library_dirs'] = [cross_sysroot + '/usr/lib'] ++ ++ if c_options['use_opengl_es2']: ++ print("using GLESv2 libraries") ++ flags['libraries'] = ['GLESv2'] ++ else: ++ flags['libraries'] = ['GL'] ++ ++ ++ print("cross_sysroot: " + str(cross_sysroot)) + return flags, base_flags + + diff --git a/meta-python/recipes-devtools/python/python3-kivy_2.0.0.bb b/meta-python/recipes-devtools/python/python3-kivy_2.0.0.bb new file mode 100644 index 0000000000..3f6bafda81 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-kivy_2.0.0.bb @@ -0,0 +1,71 @@ +SUMMARY = "Open source Python library for rapid development of applications \ + that make use of innovative user interfaces, such as multi-touch apps." +HOMEPAGE = "https://kivy.org/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f0c851d60495c7e27225a819e179208a" + +inherit setuptools3 + +SRC_URI = "\ + git://github.com/kivy/kivy.git;protocol=git;\ +" + +# Kivy's setup files only look for GLES libraries for Android, iOS, RPi, +# and mali-based OS's. We need to patch the setup file to tell Kivy setup +# that our machine has GLES libaries installed as well +# Also, if using SDL2 as backend, SDL2 needs to be configured wth gles +SRC_URI += " \ + file://0001-add-support-for-glesv2.patch \ +" +SRCREV = "dedcb6bcabe3d8d6758dcee607e8c33b174d782b" + +S = "${WORKDIR}/git" + +PACKAGES += "${PN}-examples" +FILES:${PN}-examples = "/usr/share/kivy-examples" + +USE_WAYLAND = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '1', '0', d)}" +export USE_WAYLAND + +# if using Wayland, let's use pure Wayland (and not XWayland) +# so do not build using X11 flag when we detect Wayland +USE_X11 = " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '0', \ + bb.utils.contains('DISTRO_FEATURES', 'x11', '1', \ + '0', d), d)}" +export USE_X11 + +# Use OpenGL ES 2.0 library +KIVY_GRAPHICS = "gles" +export KIVY_GRAPHICS + +KIVY_CROSS_SYSROOT="${WORKDIR}/recipe-sysroot" +export KIVY_CROSS_SYSROOT + +DEPENDS += " \ + gstreamer1.0 \ + gstreamer1.0-python \ + libsdl2 \ + libsdl2-ttf \ + libsdl2-image \ + libsdl2-mixer \ + pango \ + python3 \ + python3-cython-native \ +" + +RDEPENDS_${PN} = " \ + gstreamer1.0 \ + gstreamer1.0-python \ + libsdl2 \ + libsdl2-ttf \ + libsdl2-image \ + libsdl2-mixer \ + pango \ + python3 \ + python3-docutils \ + python3-fcntl \ + python3-image \ + python3-pillow \ + python3-pygments \ +" -- cgit 1.2.3-korg