aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Huang <whuang8933@gmail.com>2021-09-02 07:25:07 -0400
committerKhem Raj <raj.khem@gmail.com>2021-09-03 08:35:28 -0700
commitb1800419769236f7c449630a9fb398e084e81e47 (patch)
tree05bbe3711d4c3d413f8466fdbe489cedb3c76b57
parent2ff8168c649b93e1d13fca5b2d563adc412c1571 (diff)
downloadmeta-openembedded-b1800419769236f7c449630a9fb398e084e81e47.tar.gz
meta-openembedded-b1800419769236f7c449630a9fb398e084e81e47.tar.bz2
meta-openembedded-b1800419769236f7c449630a9fb398e084e81e47.zip
recipes-devtools: python: add support for Kivy
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
-rw-r--r--meta-python/recipes-devtools/python/python3-kivy/0001-add-support-for-glesv2.patch24
-rw-r--r--meta-python/recipes-devtools/python/python3-kivy_2.0.0.bb71
2 files changed, 95 insertions, 0 deletions
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 000000000..e50c7e7e2
--- /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 000000000..3f6bafda8
--- /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 \
+"