From e7b2ac1cd8aaa3451e29b7529317932ed9149e68 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 23 May 2020 14:04:48 +0200 Subject: [PATCH] gnu: Add libglvnd. * gnu/packages/gl.scm (libglvnd): New public variable. --- gnu/packages/gl.scm | 47 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index fdc361d761..23b8ed1a29 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -664,6 +664,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")