gnu: Add libglvnd.

* gnu/packages/gl.scm (libglvnd): New public variable.
This commit is contained in:
Marius Bakke 2020-05-23 14:04:48 +02:00
parent 28e9a1118b
commit e7b2ac1cd8
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA

View file

@ -664,6 +664,53 @@ (define-public libepoxy
"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")