summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>2025-06-20 22:14:55 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-06-24 13:51:31 +0100
commite9d69043cf065aacaca44dd584b41c8b3be8067f (patch)
tree46a535c2fe9864ae723a0080af737e6bef8ae3d0 /meta
parent9941e6f292c8c707fcf86858bff00a8812ec2299 (diff)
downloadpoky-e9d69043cf065aacaca44dd584b41c8b3be8067f.tar.gz
libglvnd: migrate from meta-oe
libglvnd is a vendor-neutral approach to handling OpenGL / OpenGL ES / EGL / GLX libraries. It has been proposed and initially implemented by NVIDIA in order to simplify coinstallation of GL drivers provided by different vendors. Major Linux distributions (Debian, Ubuntu, Fedora, etc.) have already switched to libglvnd. Having libglvnd in OE-Core simplifies integration of this ABI into distro and BSP layers (e.g. it will help meta-tegra, which currently provides its own version of the recipe). Import recipe for libglvnd from the meta-oe layer (changes: fix virtual package names, add add the SUMMARY data, drop git@ from SRC_URI, require glvnd DISTRO_FEATURE). (From OE-Core rev: 621e9be9663e448dde3f6b6a02b413fd65983e6c) Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/conf/distro/include/maintainers.inc1
-rw-r--r--meta/lib/oeqa/selftest/cases/distrodata.py2
-rw-r--r--meta/recipes-graphics/libglvnd/libglvnd_1.7.0.bb39
3 files changed, 41 insertions, 1 deletions
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index 870c81e85f..d94fb693e3 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -353,6 +353,7 @@ RECIPE_MAINTAINER:pn-libgcrypt = "Hongxu Jia <hongxu.jia@windriver.com>"
353RECIPE_MAINTAINER:pn-libgfortran = "Khem Raj <raj.khem@gmail.com>" 353RECIPE_MAINTAINER:pn-libgfortran = "Khem Raj <raj.khem@gmail.com>"
354RECIPE_MAINTAINER:pn-libgit2 = "Unassigned <unassigned@yoctoproject.org>" 354RECIPE_MAINTAINER:pn-libgit2 = "Unassigned <unassigned@yoctoproject.org>"
355RECIPE_MAINTAINER:pn-libgloss = "Alejandro Hernandez <alejandro@enedino.org>" 355RECIPE_MAINTAINER:pn-libgloss = "Alejandro Hernandez <alejandro@enedino.org>"
356RECIPE_MAINTAINER:pn-libglvnd = "Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>"
356RECIPE_MAINTAINER:pn-libglu = "Ross Burton <ross.burton@arm.com>" 357RECIPE_MAINTAINER:pn-libglu = "Ross Burton <ross.burton@arm.com>"
357RECIPE_MAINTAINER:pn-libgpg-error = "Hongxu Jia <hongxu.jia@windriver.com>" 358RECIPE_MAINTAINER:pn-libgpg-error = "Hongxu Jia <hongxu.jia@windriver.com>"
358RECIPE_MAINTAINER:pn-libgudev = "Ross Burton <ross.burton@arm.com>" 359RECIPE_MAINTAINER:pn-libgudev = "Ross Burton <ross.burton@arm.com>"
diff --git a/meta/lib/oeqa/selftest/cases/distrodata.py b/meta/lib/oeqa/selftest/cases/distrodata.py
index 1e88ea82e6..f2c6124d70 100644
--- a/meta/lib/oeqa/selftest/cases/distrodata.py
+++ b/meta/lib/oeqa/selftest/cases/distrodata.py
@@ -56,7 +56,7 @@ but their recipes claim otherwise by setting UPSTREAM_VERSION_UNKNOWN. Please re
56 56
57 def is_maintainer_exception(entry): 57 def is_maintainer_exception(entry):
58 exceptions = ["musl", "newlib", "picolibc", "linux-yocto", "linux-dummy", "mesa-gl", "libgfortran", "libx11-compose-data", 58 exceptions = ["musl", "newlib", "picolibc", "linux-yocto", "linux-dummy", "mesa-gl", "libgfortran", "libx11-compose-data",
59 "cve-update-nvd2-native", "barebox"] 59 "cve-update-nvd2-native", "barebox", "libglvnd"]
60 for i in exceptions: 60 for i in exceptions:
61 if i in entry: 61 if i in entry:
62 return True 62 return True
diff --git a/meta/recipes-graphics/libglvnd/libglvnd_1.7.0.bb b/meta/recipes-graphics/libglvnd/libglvnd_1.7.0.bb
new file mode 100644
index 0000000000..d2a4b2dc51
--- /dev/null
+++ b/meta/recipes-graphics/libglvnd/libglvnd_1.7.0.bb
@@ -0,0 +1,39 @@
1SUMMARY = "the GL Vendor-Neutral Dispatch library"
2DESCRIPTION = "libglvnd is a vendor-neutral dispatch layer for arbitrating \
3OpenGL API calls between multiple vendors."
4HOMEPAGE = "https://gitlab.freedesktop.org/glvnd/libglvnd"
5LICENSE = "MIT & BSD-1-Clause & BSD-3-Clause & GPL-3.0-with-autoconf-exception"
6LIC_FILES_CHKSUM = "file://README.md;beginline=323;md5=7ac5f0111f648b92fe5427efeb08e8c4"
7
8SRC_URI = "git://gitlab.freedesktop.org/glvnd/libglvnd.git;protocol=https;branch=master"
9
10SRCREV = "faa23f21fc677af5792825dc30cb1ccef4bf33a6"
11
12REQUIRED_DISTRO_FEATURES = "opengl glvnd"
13
14inherit meson pkgconfig features_check
15
16S = "${WORKDIR}/git"
17
18PACKAGECONFIG ?= "\
19 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
20 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'egl gles1 gles2', '', d)} \
21 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'glx', '', d)} \
22 "
23
24PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,libx11 libxext xorgproto"
25PACKAGECONFIG[glx] = "-Dglx=enabled,-Dglx=disabled,libx11 libxext xorgproto,,virtual-libglx-icd"
26PACKAGECONFIG[egl] = "-Degl=true,-Degl=false,,virtual-libegl-icd"
27PACKAGECONFIG[gles1] = "-Dgles1=true,-Dgles1=false,"
28PACKAGECONFIG[gles2] = "-Dgles2=true,-Dgles2=false,"
29
30BBCLASSEXTEND = "native nativesdk"
31
32PROVIDES = " \
33 ${@bb.utils.contains('PACKAGECONFIG', 'glx', 'virtual/libgl', '', d)} \
34 ${@bb.utils.contains('PACKAGECONFIG', 'gles1', 'virtual/libgles1', '', d)} \
35 ${@bb.utils.contains('PACKAGECONFIG', 'gles2', 'virtual/libgles2 virtual/libgles3', '', d)} \
36 ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'virtual/egl', '', d)} \
37"
38
39RPROVIDES:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'egl', 'libegl', '', d)}"