me
/
guix
Archived
1
0
Fork 0

gnu: mesa: Update to 18.3.5.

* gnu/packages/gl.scm (mesa): Update to 18.3.5.
[build-system]: Switch to meson-build-system.
[native-inputs]: Add "bison", "flex" and "gettext-minimal".
[arguments]: Adjust arguments to Meson.
* gnu/packages/sdl.scm (sdl)[propogated-inputs]: Add mesa.
[inputs]: Remove mesa.
master
Rutger Helling 2019-03-19 10:45:16 +01:00
parent 34b81a9cdd
commit f6dadee426
No known key found for this signature in database
GPG Key ID: F3A727DB44FCCA36
2 changed files with 32 additions and 25 deletions

View File

@ -221,7 +221,7 @@ also known as DXTn or DXTC) for Mesa.")
(define-public mesa
(package
(name "mesa")
(version "18.3.4")
(version "18.3.5")
(source
(origin
(method url-fetch)
@ -233,10 +233,10 @@ also known as DXTn or DXTC) for Mesa.")
version "/mesa-" version ".tar.xz")))
(sha256
(base32
"01xv03ah4l5lcfx015n3fg1620dh4nbbv6gmhh6zhdsx6sj4sc9j"))
"0lvrfjaic7dhay9v52f9k3q5aac8xagfq3pnzjrl0cn65jlaw9s0"))
(patches
(search-patches "mesa-skip-disk-cache-test.patch"))))
(build-system gnu-build-system)
(build-system meson-build-system)
(propagated-inputs
`(;; The following are in the Requires.private field of gl.pc.
("libdrm" ,libdrm)
@ -264,7 +264,10 @@ also known as DXTn or DXTC) for Mesa.")
("wayland" ,wayland)
("wayland-protocols" ,wayland-protocols)))
(native-inputs
`(("pkg-config" ,pkg-config)
`(("bison" ,bison)
("flex" ,flex)
("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)
("python" ,python)
("python-mako" ,python-mako)
("which" ,(@ (gnu packages base) which))))
@ -273,47 +276,48 @@ also known as DXTn or DXTC) for Mesa.")
'(,@(match (%current-system)
((or "armhf-linux" "aarch64-linux")
;; TODO: Fix svga driver for aarch64 and armhf.
'("--with-gallium-drivers=etnaviv,freedreno,imx,nouveau,pl111,r300,r600,swrast,tegra,v3d,vc4,virgl"))
'("-Dgallium-drivers=etnaviv,freedreno,imx,nouveau,pl111,r300,r600,swrast,tegra,v3d,vc4,virgl"))
(_
'("--with-gallium-drivers=i915,nouveau,r300,r600,radeonsi,svga,swrast,virgl")))
'("-Dgallium-drivers=nouveau,r300,r600,radeonsi,svga,swrast,virgl")))
;; Enable various optional features. TODO: opencl requires libclc,
;; omx requires libomxil-bellagio
"--with-platforms=x11,drm,surfaceless,wayland"
"--enable-glx-tls" ;Thread Local Storage, improves performance
;; "--enable-opencl"
;; "--enable-omx"
"--enable-osmesa"
"--enable-xa"
"-Dplatforms=x11,drm,surfaceless,wayland"
"-Dglx=dri" ;Thread Local Storage, improves performance
;; "-Dopencl=true"
;; "-Domx=true"
"-Dosmesa=gallium"
"-Dgallium-xa=true"
;; features required by wayland
"--enable-gles2"
"--enable-gbm"
"--enable-shared-glapi"
"-Dgles2=true"
"-Dgbm=true"
"-Dshared-glapi=true"
;; Enable Vulkan on i686-linux and x86-64-linux.
,@(match (%current-system)
("x86_64-linux"
'("--with-vulkan-drivers=intel,radeon"))
'("-Dvulkan-drivers=intel,amd"))
;; TODO: Fix intel driver on i686-linux.
("i686-linux"
'("--with-vulkan-drivers=radeon"))
'("-Dvulkan-drivers=amd"))
(_
'("")))
;; Also enable the tests.
"--enable-gallium-tests"
"-Dbuild-tests=true"
;; on non-intel systems, drop i915 and i965
;; from the default dri drivers
,@(match (%current-system)
((or "x86_64-linux" "i686-linux")
'("--with-dri-drivers=i915,i965,nouveau,r200,radeon,swrast"
"--enable-llvm")) ; default is x86/x86_64 only
'("-Ddri-drivers=i915,i965,nouveau,r200,r100"
"-Dllvm=true")) ; default is x86/x86_64 only
(_
'("--with-dri-drivers=nouveau,r200,radeon,swrast"))))
'("-Ddri-drivers=nouveau,r200,r100"))))
#:modules ((ice-9 match)
(srfi srfi-1)
(guix build utils)
(guix build gnu-build-system))
(guix build meson-build-system))
#:phases
(modify-phases %standard-phases
(add-after
@ -323,7 +327,7 @@ also known as DXTn or DXTC) for Mesa.")
(("/usr/bin/env python2") (which "python")))
#t))
(add-before
'build 'fix-dlopen-libnames
'configure 'fix-dlopen-libnames
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
;; Remain agnostic to .so.X.Y.Z versions while doing

View File

@ -87,10 +87,13 @@
(propagated-inputs
;; SDL headers include X11 headers.
`(("libx11" ,libx11)
("libcap" ,libcap))) ; 'libSDL.la' contain `-lcap'.
("libcap" ,libcap) ; 'libSDL.la' contain `-lcap'.
;; TODO: Since building Mesa with Meson it is now necessary that Mesa is
;; a propogated input. We still need to figure out why, possibly due to a
;; change in pkg-config.
("mesa" ,mesa)))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("libxrandr" ,libxrandr)
("mesa" ,mesa)
("glu" ,glu)
("alsa-lib" ,alsa-lib)
("pulseaudio" ,pulseaudio)))