diff options
Diffstat (limited to 'meta/recipes-graphics/waffle')
3 files changed, 90 insertions, 37 deletions
diff --git a/meta/recipes-graphics/waffle/waffle/0001-waffle-do-not-make-core-protocol-into-the-library.patch b/meta/recipes-graphics/waffle/waffle/0001-waffle-do-not-make-core-protocol-into-the-library.patch new file mode 100644 index 0000000000..31ac3e0dd1 --- /dev/null +++ b/meta/recipes-graphics/waffle/waffle/0001-waffle-do-not-make-core-protocol-into-the-library.patch @@ -0,0 +1,40 @@ +From 79b9e4338f803d79449e53a40b1ecc0a5a5889e4 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex@linutronix.de> +Date: Tue, 26 Oct 2021 08:52:17 +0200 +Subject: [PATCH] waffle: do not make core protocol into the library + +None of the consumers (which is just piglit) use it, and +this avoids host contamination from pkg-config suggesting +wayland.xml from the host. + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +--- + src/waffle/meson.build | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/src/waffle/meson.build b/src/waffle/meson.build +index 1cc99f6..022745a 100644 +--- a/src/waffle/meson.build ++++ b/src/waffle/meson.build +@@ -89,12 +89,6 @@ if build_surfaceless + endif + + if build_wayland +- wl_core_proto_c = custom_target( +- 'wl-core-proto.c', +- input: wayland_core_xml, +- output: 'wl-core-proto.c', +- command: [prog_wayland_scanner, 'private-code', '@INPUT@', '@OUTPUT@'], +- ) + wl_xdg_shell_proto_c = custom_target( + 'wl-xdg-shell-proto.c', + input: wayland_xdg_shell_xml, +@@ -115,7 +109,6 @@ if build_wayland + 'wayland/wayland_wrapper.c', + ) + files_libwaffle += [ +- wl_core_proto_c, + wl_xdg_shell_proto_c, + wl_xdg_shell_proto_h, + ] diff --git a/meta/recipes-graphics/waffle/waffle_1.6.0.bb b/meta/recipes-graphics/waffle/waffle_1.6.0.bb deleted file mode 100644 index 8a1d5748f6..0000000000 --- a/meta/recipes-graphics/waffle/waffle_1.6.0.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "cross-platform C library to defer selection of GL API and of window system" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4c5154407c2490750dd461c50ad94797 \ - file://include/waffle/waffle.h;endline=24;md5=61dbf8697f61c78645e75a93c585b1bf" - -SRC_URI = "http://waffle-gl.org/files/release/${BPN}-${PV}/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "61bfc1a478e840825f33ddb4057115e7" -SRC_URI[sha256sum] = "d9c899f710c50cfdd00f5f4cdfeaef0687d8497362239bdde93bed6c909c81d7" - -UPSTREAM_CHECK_URI = "http://www.waffle-gl.org/releases.html" - -inherit meson distro_features_check lib_package bash-completion - -# This should be overridden per-machine to reflect the capabilities of the GL -# stack. -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glx x11-egl', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \ - surfaceless-egl gbm" - -# virtual/libgl requires opengl in DISTRO_FEATURES. -REQUIRED_DISTRO_FEATURES += "${@bb.utils.contains('DEPENDS', 'virtual/${MLPREFIX}libgl', 'opengl', '', d)}" - -# I say virtual/libgl, actually wants gl.pc -PACKAGECONFIG[glx] = "-Dglx=enabled,-Dglx=disabled,virtual/${MLPREFIX}libgl libx11" - -# I say virtual/libgl, actually wants wayland-egl.pc, egl.pc, and the wayland -# DISTRO_FEATURE. -PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,virtual/${MLPREFIX}libgl wayland" - -# I say virtual/libgl, actually wants gbm.pc egl.pc -PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled,virtual/${MLPREFIX}libgl udev" - -# I say virtual/libgl, actually wants egl.pc -PACKAGECONFIG[x11-egl] = "-Dx11_egl=enabled,-Dx11_egl=disabled,virtual/${MLPREFIX}libgl libxcb" -PACKAGECONFIG[surfaceless-egl] = "-Dsurfaceless_egl=enabled,-Dsurfaceless_egl=disabled,virtual/${MLPREFIX}libgl" - -# TODO: optionally build manpages and examples diff --git a/meta/recipes-graphics/waffle/waffle_1.8.0.bb b/meta/recipes-graphics/waffle/waffle_1.8.0.bb new file mode 100644 index 0000000000..ad8649b40e --- /dev/null +++ b/meta/recipes-graphics/waffle/waffle_1.8.0.bb @@ -0,0 +1,50 @@ +SUMMARY = "A C library for selecting an OpenGL API and window system at runtime" +DESCRIPTION = "A cross-platform C library that allows one to defer selection \ +of an OpenGL API and window system until runtime. For example, on Linux, Waffle \ +enables an application to select X11/EGL with an OpenGL 3.3 core profile, \ +Wayland with OpenGL ES2, and other window system / API combinations." +HOMEPAGE = "https://gitlab.freedesktop.org/mesa/waffle" +BUGTRACKER = "https://gitlab.freedesktop.org/mesa/waffle" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4c5154407c2490750dd461c50ad94797 \ + file://include/waffle-1/waffle.h;endline=24;md5=61dbf8697f61c78645e75a93c585b1bf" + +SRC_URI = "git://gitlab.freedesktop.org/mesa/waffle.git;protocol=https;branch=master \ + file://0001-waffle-do-not-make-core-protocol-into-the-library.patch \ + " +SRCREV = "580b912a30085528886603942c100c7b309b3bdb" +S = "${WORKDIR}/git" + +inherit meson features_check lib_package bash-completion pkgconfig + +DEPENDS:append = " python3" + +# This should be overridden per-machine to reflect the capabilities of the GL +# stack. +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glx x11-egl', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gbm surfaceless-egl', '', d)} \ +" + +# virtual/libgl requires opengl in DISTRO_FEATURES. +REQUIRED_DISTRO_FEATURES += "${@bb.utils.contains('DEPENDS', 'virtual/${MLPREFIX}libgl', 'opengl', '', d)}" + +# I say virtual/libgl, actually wants gl.pc +PACKAGECONFIG[glx] = "-Dglx=enabled,-Dglx=disabled,virtual/${MLPREFIX}libgl libx11" + +# wants wayland-egl.pc, egl.pc, and the wayland +# DISTRO_FEATURE. +PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,virtual/${MLPREFIX}egl wayland wayland-native wayland-protocols" + +# wants gbm.pc egl.pc +PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled,virtual/${MLPREFIX}egl virtual/${MLPREFIX}libgbm libdrm" + +# wants egl.pc +PACKAGECONFIG[x11-egl] = "-Dx11_egl=enabled,-Dx11_egl=disabled,virtual/${MLPREFIX}egl libxcb" +PACKAGECONFIG[surfaceless-egl] = "-Dsurfaceless_egl=enabled,-Dsurfaceless_egl=disabled,virtual/${MLPREFIX}egl" + +# TODO: optionally build manpages and examples + +do_install:append() { + rm -rf ${D}${datadir}/zsh +} |