aboutsummaryrefslogtreecommitdiffstats
path: root/meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb')
-rw-r--r--meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb84
1 files changed, 84 insertions, 0 deletions
diff --git a/meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb b/meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb
new file mode 100644
index 0000000000..045ac23106
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb
@@ -0,0 +1,84 @@
+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=6d3bc49400e35d5a2279d14c40dcfb09"
+
+inherit setuptools3 pkgconfig features_check
+
+# 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 with gles
+SRC_URI = "git://github.com/kivy/kivy.git;protocol=https;branch=stable \
+ file://0001-add-support-for-glesv2.patch \
+ "
+
+SRCREV = "9ef218027178115a66b417ae34b21f488bdd3617"
+
+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="${RECIPE_SYSROOT}"
+export KIVY_CROSS_SYSROOT
+
+REQUIRED_DISTRO_FEATURES += "opengl gobject-introspection-data"
+
+ANY_OF_DISTRO_FEATURES = "x11 wayland"
+
+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 \
+"
+
+# http://errors.yoctoproject.org/Errors/Details/766917/
+# python3-kivy/2.3.0/git/kivy/graphics/cgl_backend/cgl_gl.c:4568:52: error: assignment to 'void (*)(GLuint, GLsizei, const GLchar **, const GLint *)' {aka 'void (*)(unsigned int, int, const char **, const int *)'} from incompatible pointer type 'void (*)(GLuint, GLsizei, const GLchar * const*, const GLint *)' {aka 'void (*)(unsigned int, int, const char * const*, const int *)'} [-Wincompatible-pointer-types]
+# python3-kivy/2.3.0/git/kivy/core/window/_window_sdl2.c:8781:23: error: passing argument 1 of 'SDL_SetEventFilter' from incompatible pointer type [-Wincompatible-pointer-types]
+CFLAGS += "-Wno-error=incompatible-pointer-types"
+
+do_compile:append() {
+ for f in `find ${B} -name *.c`
+ do
+ sed -i -e "/BEGIN: Cython Metadata/,/END: Cython Metadata/d" $f
+ done
+}