Andrew Geissler | 90fd73c | 2021-03-05 15:25:55 -0600 | [diff] [blame] | 1 | SUMMARY = "A C library for selecting an OpenGL API and window system at runtime" |
| 2 | DESCRIPTION = "A cross-platform C library that allows one to defer selection \ |
| 3 | of an OpenGL API and window system until runtime. For example, on Linux, Waffle \ |
| 4 | enables an application to select X11/EGL with an OpenGL 3.3 core profile, \ |
| 5 | Wayland with OpenGL ES2, and other window system / API combinations." |
| 6 | HOMEPAGE = "http://www.waffle-gl.org/" |
| 7 | BUGTRACKER = "https://gitlab.freedesktop.org/mesa/waffle" |
Brad Bishop | 08902b0 | 2019-08-20 09:16:51 -0400 | [diff] [blame] | 8 | LICENSE = "BSD-2-Clause" |
| 9 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4c5154407c2490750dd461c50ad94797 \ |
| 10 | file://include/waffle/waffle.h;endline=24;md5=61dbf8697f61c78645e75a93c585b1bf" |
| 11 | |
| 12 | SRC_URI = "http://waffle-gl.org/files/release/${BPN}-${PV}/${BPN}-${PV}.tar.xz" |
Andrew Geissler | 4ed12e1 | 2020-06-05 18:00:41 -0500 | [diff] [blame] | 13 | SRC_URI[md5sum] = "c91529e579483f44fb330052872b9c73" |
| 14 | SRC_URI[sha256sum] = "31565649ff0e2d8dff1b8f7f2264ab7a78452063c7e04adfc4ce03e64b655080" |
Brad Bishop | 08902b0 | 2019-08-20 09:16:51 -0400 | [diff] [blame] | 15 | |
| 16 | UPSTREAM_CHECK_URI = "http://www.waffle-gl.org/releases.html" |
| 17 | |
Andrew Geissler | 5199d83 | 2021-09-24 16:47:35 -0500 | [diff] [blame] | 18 | inherit meson features_check lib_package bash-completion pkgconfig |
Brad Bishop | 08902b0 | 2019-08-20 09:16:51 -0400 | [diff] [blame] | 19 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 20 | DEPENDS:append = " python3" |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 21 | |
Brad Bishop | 08902b0 | 2019-08-20 09:16:51 -0400 | [diff] [blame] | 22 | # This should be overridden per-machine to reflect the capabilities of the GL |
| 23 | # stack. |
| 24 | PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glx x11-egl', '', d)} \ |
| 25 | ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \ |
| 26 | surfaceless-egl gbm" |
| 27 | |
| 28 | # virtual/libgl requires opengl in DISTRO_FEATURES. |
| 29 | REQUIRED_DISTRO_FEATURES += "${@bb.utils.contains('DEPENDS', 'virtual/${MLPREFIX}libgl', 'opengl', '', d)}" |
| 30 | |
| 31 | # I say virtual/libgl, actually wants gl.pc |
| 32 | PACKAGECONFIG[glx] = "-Dglx=enabled,-Dglx=disabled,virtual/${MLPREFIX}libgl libx11" |
| 33 | |
| 34 | # I say virtual/libgl, actually wants wayland-egl.pc, egl.pc, and the wayland |
| 35 | # DISTRO_FEATURE. |
| 36 | PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,virtual/${MLPREFIX}libgl wayland" |
| 37 | |
| 38 | # I say virtual/libgl, actually wants gbm.pc egl.pc |
| 39 | PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled,virtual/${MLPREFIX}libgl udev" |
| 40 | |
| 41 | # I say virtual/libgl, actually wants egl.pc |
| 42 | PACKAGECONFIG[x11-egl] = "-Dx11_egl=enabled,-Dx11_egl=disabled,virtual/${MLPREFIX}libgl libxcb" |
| 43 | PACKAGECONFIG[surfaceless-egl] = "-Dsurfaceless_egl=enabled,-Dsurfaceless_egl=disabled,virtual/${MLPREFIX}libgl" |
| 44 | |
| 45 | # TODO: optionally build manpages and examples |