meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb
Khem Raj bdae51c584
python3-kivy: Remove buildpaths from comments in generated C sources
Cython does not provide a direct option to disable or customize
the metadata written in the generated C files. The metadata
includes information like the Cython version and absolute paths to
the original Cython files, which can be problematic for doing
reproducible builds

Therefore edit out these comments from the cython generated C files
they are nicely tucked between two known tags at the top of file.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-08-15 23:20:05 -07:00

85 lines
2.8 KiB
BlitzBasic

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
}