1SUMMARY = "Open source Python library for rapid development of applications \
2    that make use of innovative user interfaces, such as multi-touch apps."
3HOMEPAGE = "https://kivy.org/"
4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=22e7b4dd8140eec57fd7edfd9fa23dfc"
6
7inherit setuptools3 pkgconfig features_check
8PIP_INSTALL_PACKAGE = "Kivy"
9
10SRC_URI = "\
11    git://github.com/kivy/kivy.git;protocol=https;branch=master \
12"
13
14# Kivy's setup files only look for GLES libraries for Android, iOS, RPi,
15# and mali-based OS's. We need to patch the setup file to tell Kivy setup
16# that our machine has GLES libaries installed as well
17# Also, if using SDL2 as backend, SDL2 needs to be configured wth gles
18SRC_URI += " \
19    file://0001-add-support-for-glesv2.patch \
20"
21SRCREV = "960b95dc666753f59eff1b449124490fbec10184"
22
23S = "${WORKDIR}/git"
24
25PACKAGES += "${PN}-examples"
26FILES:${PN}-examples = "/usr/share/kivy-examples"
27
28USE_WAYLAND = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '1', '0', d)}"
29export USE_WAYLAND
30
31# if using Wayland, let's use pure Wayland (and not XWayland)
32# so do not build using X11 flag when we detect Wayland
33USE_X11 = " \
34    ${@bb.utils.contains('DISTRO_FEATURES', 'wayland',  '0', \
35       bb.utils.contains('DISTRO_FEATURES', 'x11',      '1', \
36                                                        '0', d), d)}"
37export USE_X11
38
39# Use OpenGL ES 2.0 library
40KIVY_GRAPHICS = "gles"
41export KIVY_GRAPHICS
42
43KIVY_CROSS_SYSROOT="${RECIPE_SYSROOT}"
44export KIVY_CROSS_SYSROOT
45
46REQUIRED_DISTRO_FEATURES += "x11 opengl"
47
48DEPENDS += " \
49    gstreamer1.0 \
50    gstreamer1.0-python \
51    libsdl2 \
52    libsdl2-ttf \
53    libsdl2-image \
54    libsdl2-mixer \
55    pango \
56    python3 \
57    python3-cython-native \
58"
59
60RDEPENDS:${PN} = " \
61    gstreamer1.0 \
62    gstreamer1.0-python \
63    libsdl2 \
64    libsdl2-ttf \
65    libsdl2-image \
66    libsdl2-mixer \
67    pango \
68    python3 \
69    python3-docutils \
70    python3-fcntl \
71    python3-image \
72    python3-pillow \
73    python3-pygments \
74"
75