summaryrefslogtreecommitdiff
path: root/gnu/packages/gl.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/gl.scm')
-rw-r--r--gnu/packages/gl.scm47
1 files changed, 47 insertions, 0 deletions
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index e3c3ed850d..8a17f7dd65 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -679,6 +679,53 @@ OpenGL graphics API.")
"A library for handling OpenGL function pointer management.")
(license license:x11)))
+(define-public libglvnd
+ (package
+ (name "libglvnd")
+ (version "1.3.1")
+ (home-page "https://gitlab.freedesktop.org/glvnd/libglvnd")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0mkzdzdxjxjl794rblq4mq33wmb8ikqmfswbqdbr8gw2kw4wlhdl"))))
+ (build-system meson-build-system)
+ (arguments
+ '(#:configure-flags '("-Dx11=enabled")
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'disable-glx-tests
+ (lambda _
+ ;; This package is meant to be used alongside Mesa.
+ ;; To avoid a circular dependency, disable tests that
+ ;; require a running Xorg server.
+ (substitute* "tests/meson.build"
+ (("if with_glx")
+ "if false"))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libx11" ,libx11)
+ ("libxext" ,libxext)
+ ("xorgproto" ,xorgproto)))
+ (synopsis "Vendor-neutral OpenGL dispatch library")
+ (description
+ "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.")
+ ;; libglvnd is available under a custom X11-style license, and incorporates
+ ;; code with various other licenses. See README.md for details.
+ (license (list (license:x11-style "file://README.md")
+ license:x11
+ license:expat))))
+
(define-public soil
(package
(name "soil")