@@ -311,6 +311,7 @@ comment "Graphic libraries"
source "package/fbv/Config.in"
source "package/freerdp/Config.in"
source "package/imagemagick/Config.in"
+ source "package/libglvnd/Config.in"
source "package/linux-fusion/Config.in"
source "package/lite/Config.in"
source "package/mesa3d/Config.in"
new file mode 100644
@@ -0,0 +1,42 @@
+config BR2_PACKAGE_LIBGLVND
+ bool "libglvnd"
+ help
+ The GL Vendor-Neutral Dispatch library
+
+ libglvnd is a vendor-neutral dispatch layer for arbitrating
+ OpenGL API calls between multiple vendors. It allows multiple
+ drivers from different vendors to coexist on the same
+ filesystem, and determines which vendor to dispatch each API
+ call to at runtime.
+
+ Both GLX and EGL are supported, in any combination with OpenGL
+ and OpenGL ES.
+
+if BR2_PACKAGE_LIBGLVND
+
+config BR2_PACKAGE_LIBGLVND_DISPATCH_GL
+ bool
+ depends on BR2_PACKAGE_XORG7 # libx11, libXext, xorgproto
+ select BR2_PACKAGE_XLIB_LIBX11
+ select BR2_PACKAGE_XLIB_LIBXEXT
+ select BR2_PACKAGE_XLIB_XORGPROTO
+ select BR2_PACKAGE_HAS_LIBGL
+
+config BR2_PACKAGE_LIBGLVND_DISPATCH_EGL
+ bool
+ select BR2_PACKAGE_HAS_LIBEGL
+
+config BR2_PACKAGE_LIBGLVND_DISPATCH_GLES
+ bool
+ select BR2_PACKAGE_HAS_LIBGLES
+
+config BR2_PACKAGE_PROVIDES_LIBGL
+ default "libglvnd" if BR2_PACKAGE_LIBGLVND_DISPATCH_GL
+
+config BR2_PACKAGE_PROVIDES_LIBEGL
+ default "libglvnd" if BR2_PACKAGE_LIBGLVND_DISPATCH_EGL
+
+config BR2_PACKAGE_PROVIDES_LIBGLES
+ default "libglvnd" if BR2_PACKAGE_LIBGLVND_DISPATCH_GLES
+
+endif
new file mode 100644
@@ -0,0 +1,7 @@
+# Locally computed
+sha256 6332c27f4c792b09a3eb1d7ae18c2d6ff6a0acaf3a746489caf859e659fca2f7 libglvnd-v1.3.2.tar.gz
+
+# Locally computed hashes for license files
+sha256 224534547628a9e5e889d8808385bd38839e6bdb77d89c90ac04dad6891a4f5f README.md
+sha256 bebdc0fd27cd37af8406e47af23c113866b7856c3f7349ffcbc672029ec8acf7 src/util/uthash/LICENSE
+sha256 f6f207863675ca5a5128fd120b9aef4f4bbab73ffa57e5f771ccffc8e3cc56b7 src/util/cJSON/LICENSE
new file mode 100644
@@ -0,0 +1,53 @@
+################################################################################
+#
+# libglvnd
+#
+################################################################################
+
+LIBGLVND_VERSION = 1.3.2
+LIBGLVND_SOURCE = libglvnd-v$(LIBGLVND_VERSION).tar.gz
+LIBGLVND_SITE = https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v$(LIBGLVND_VERSION)
+
+LIBGLVND_LICENSE = \
+ libglvnd license, \
+ Apache-2.0 (Khronos headers), \
+ MIT (Xorg; mesa; cJSON), \
+ BSD-1=Clause (uthash)
+
+LIBGLVND_LICENSE_FILES = \
+ README.md \
+ src/util/uthash/LICENSE \
+ src/util/cJSON/LICENSE
+
+LIBGLVND_INSTALL_STAGING = YES
+
+ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y)
+LIBGLVND_DEPENDENCIES += xlib_libX11
+LIBGLVND_CONF_OPTS += -Dx11=enabled
+else
+LIBGLVND_CONF_OPTS += -Dx11=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_LIBGLVND_DISPATCH_GL),y)
+LIBGLVND_DEPENDENCIES += xlib_libXext xorgproto
+LIBGLVND_CONF_OPTS += -Dglx=enabled
+LIBGLVND_PROVIDES += libgl
+else
+LIBGLVND_CONF_OPTS += -Dglx=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_LIBGLVND_DISPATCH_EGL),y)
+LIBGLVND_CONF_OPTS = -Degl=true
+LIBGLVND_PROVIDES += libegl
+else
+LIBGLVND_CONF_OPTS = -Degl=false
+endif
+
+ifeq ($(BR2_PACKAGE_LIBGLVND_DISPATCH_GLES),y)
+LIBGLVND_CONF_OPTS = -Dgles1=true -Dgles2=true
+LIBGLVND_PROVIDES += libgles
+else
+LIBGLVND_CONF_OPTS = -Dgles1=false -Dgles2=false
+endif
+
+$(eval $(meson-package))