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.scm44
1 files changed, 27 insertions, 17 deletions
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index c14e7c0d53..b86f8218b2 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -13,6 +13,7 @@
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
+;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net>
;;;
;;; This file is part of GNU Guix.
@@ -235,7 +236,7 @@ also known as DXTn or DXTC) for Mesa.")
(define-public mesa
(package
(name "mesa")
- (version "20.2.4")
+ (version "20.2.6")
(source
(origin
(method url-fetch)
@@ -247,7 +248,7 @@ also known as DXTn or DXTC) for Mesa.")
version "/mesa-" version ".tar.xz")))
(sha256
(base32
- "14m09bk7akj0k02lg8fhvvzbdsashlbdsgl2cw7wbqfj2mhdqwh5"))
+ "1nw5k2qrlcrp5bljy1lmyybgl525y0h44synkbbirw92qv3a6b7i"))
(patches
(search-patches "mesa-skip-tests.patch"))))
(build-system meson-build-system)
@@ -270,7 +271,7 @@ also known as DXTn or DXTC) for Mesa.")
("libxrandr" ,libxrandr)
("libxvmc" ,libxvmc)
,@(match (%current-system)
- ((or "x86_64-linux" "i686-linux" "powerpc64le-linux")
+ ((or "x86_64-linux" "i686-linux" "powerpc64le-linux" "aarch64-linux")
;; Note: update the 'clang' input of mesa-opencl when bumping this.
`(("llvm" ,llvm-11)))
(_
@@ -282,7 +283,7 @@ also known as DXTn or DXTC) for Mesa.")
("flex" ,flex)
("gettext" ,gettext-minimal)
,@(match (%current-system)
- ((or "x86_64-linux" "i686-linux" "powerpc64le-linux")
+ ((or "x86_64-linux" "i686-linux" "powerpc64le-linux" "aarch64-linux")
`(("glslang" ,glslang)))
(_
`()))
@@ -303,17 +304,17 @@ also known as DXTn or DXTC) for Mesa.")
'("-Dgallium-drivers=iris,nouveau,r300,r600,radeonsi,svga,swrast,virgl")))
;; Enable various optional features. TODO: opencl requires libclc,
;; omx requires libomxil-bellagio
- "-Dplatforms=x11,drm,surfaceless,wayland"
+ "-Dplatforms=x11,wayland"
"-Dglx=dri" ;Thread Local Storage, improves performance
;; "-Dopencl=true"
;; "-Domx=true"
"-Dosmesa=gallium"
- "-Dgallium-xa=true"
+ "-Dgallium-xa=enabled"
;; features required by wayland
- "-Dgles2=true"
- "-Dgbm=true"
- "-Dshared-glapi=true"
+ "-Dgles2=enabled"
+ "-Dgbm=enabled"
+ "-Dshared-glapi=enabled"
;; Explicitly enable Vulkan on some architectures.
,@(match (%current-system)
@@ -321,12 +322,14 @@ also known as DXTn or DXTC) for Mesa.")
'("-Dvulkan-drivers=intel,amd"))
("powerpc64le-linux"
'("-Dvulkan-drivers=amd"))
+ ("aarch64-linux"
+ '("-Dvulkan-drivers=freedreno,amd"))
(_
'("-Dvulkan-drivers=auto")))
;; Enable the Vulkan overlay layer on architectures using llvm.
,@(match (%current-system)
- ((or "x86_64-linux" "i686-linux" "powerpc64le-linux")
+ ((or "x86_64-linux" "i686-linux" "powerpc64le-linux" "aarch64-linux")
'("-Dvulkan-overlay-layer=true"))
(_
'()))
@@ -339,10 +342,10 @@ also known as DXTn or DXTC) for Mesa.")
,@(match (%current-system)
((or "x86_64-linux" "i686-linux")
'("-Ddri-drivers=i915,i965,nouveau,r200,r100"
- "-Dllvm=true")) ; default is x86/x86_64 only
- ("powerpc64le-linux"
+ "-Dllvm=enabled")) ; default is x86/x86_64 only
+ ((or "powerpc64le-linux" "aarch64-linux")
'("-Ddri-drivers=nouveau,r200,r100"
- "-Dllvm=true"))
+ "-Dllvm=enabled"))
(_
'("-Ddri-drivers=nouveau,r200,r100"))))
@@ -375,6 +378,12 @@ also known as DXTn or DXTC) for Mesa.")
(("'u_format_test',") ""))
#t)))
'())
+ (add-after 'unpack 'fix-tests
+ (lambda _
+ ;; See <https://gitlab.freedesktop.org/mesa/mesa/-/issues/3181>.
+ (substitute* "src/compiler/glsl/glcpp/tests/084-unbalanced-parentheses.c.expected"
+ (("unexpected \\$end") "unexpected end of file"))
+ #t))
(add-before 'configure 'fix-dlopen-libnames
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
@@ -399,7 +408,7 @@ also known as DXTn or DXTC) for Mesa.")
(let ((out (assoc-ref outputs "out"))
(bin (assoc-ref outputs "bin")))
,@(match (%current-system)
- ((or "i686-linux" "x86_64-linux" "powerpc64le-linux")
+ ((or "i686-linux" "x86_64-linux" "powerpc64le-linux" "aarch64-linux")
;; Install the Vulkan overlay control script to a separate
;; output to prevent a reference on Python, saving ~70 MiB
;; on the closure size.
@@ -663,7 +672,7 @@ OpenGL graphics API.")
(define-public libepoxy
(package
(name "libepoxy")
- (version "1.5.4")
+ (version "1.5.5")
(source (origin
(method url-fetch)
(uri (string-append
@@ -671,7 +680,7 @@ OpenGL graphics API.")
version "/libepoxy-" version ".tar.xz"))
(sha256
(base32
- "1ll9fach4v30dsyd47s5ial4gaiwihzr2afb77vxxzzy3mlcrlhb"))))
+ "0mh5bdgqfd8m4wj6jlvn4ac94sgfa8r6ish75ciwrhdw47dn65i6"))))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -691,7 +700,8 @@ OpenGL graphics API.")
(native-inputs
`(("pkg-config" ,pkg-config)
("python" ,python)))
- (inputs
+ (propagated-inputs
+ ;; epoxy.pc: 'Requires.private: gl egl'
`(("mesa" ,mesa)))
(home-page "https://github.com/anholt/libepoxy/")
(synopsis "A library for handling OpenGL function pointer management")