diff options
Diffstat (limited to 'pkgs/development/libraries/mesa')
-rw-r--r-- | pkgs/development/libraries/mesa/default.nix | 23 | ||||
-rw-r--r-- | pkgs/development/libraries/mesa/dlopen-absolute-paths.diff | 22 |
2 files changed, 12 insertions, 33 deletions
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 5ff884fd3c1d..2b31405980b0 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, fetchpatch , pkgconfig, intltool, autoreconfHook, substituteAll -, file, expat, libdrm, xorg, wayland, systemd, openssl +, file, expat, libdrm, xorg, wayland, openssl , llvmPackages, libffi, libomxil-bellagio, libva , libelf, libvdpau, python2 , grsecEnabled ? false @@ -26,7 +26,7 @@ if ! lists.elem stdenv.system platforms.mesaPlatforms then else let - version = "12.0.3"; + version = "13.0.1"; branch = head (splitString "." version); driverLink = "/run/opengl-driver" + optionalString stdenv.isi686 "-32"; in @@ -40,7 +40,7 @@ stdenv.mkDerivation { "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz" "https://launchpad.net/mesa/trunk/${version}/+download/mesa-${version}.tar.xz" ]; - sha256 = "1dc86dd9b51272eee1fad3df65e18cda2e556ef1bc0b6e07cd750b9757f493b1"; + sha256 = "0cd7axwihwsay0i9fvcw14cldbxyvf8b8rd5sh53plvppyr2z5ki"; }; prePatch = "patchShebangs ."; @@ -51,11 +51,7 @@ stdenv.mkDerivation { patches = [ ./glx_ro_text_segm.patch # fix for grsecurity/PaX ./symlink-drivers.patch - ] ++ optional stdenv.isLinux - (substituteAll { - src = ./dlopen-absolute-paths.diff; - libudev = systemd.lib; - }); + ]; postPatch = '' substituteInPlace src/egl/main/egldriver.c \ @@ -116,7 +112,7 @@ stdenv.mkDerivation { libffi wayland libvdpau libelf libXvMC libomxil-bellagio libva libpthreadstubs openssl/*or another sha1 provider*/ (python2.withPackages (ps: [ ps.Mako ])) - ] ++ optional stdenv.isLinux systemd; + ]; enableParallelBuilding = true; @@ -136,12 +132,17 @@ stdenv.mkDerivation { $out/lib/vdpau \ $out/lib/bellagio \ $out/lib/libxatracker* \ - $out/lib/libvulkan_* \ + $out/lib/libvulkan_* # move share/vulkan/icd.d/ mv $out/share/ $drivers/ + # Update search path used by Vulkan (it's pointing to $out but + # drivers are in $drivers) + for js in $drivers/share/vulkan/icd.d/*.json; do + substituteInPlace "$js" --replace "$out" "$drivers" + done - mv $out/lib/dri/* $drivers/lib/dri + mv $out/lib/dri/* $drivers/lib/dri # */ rmdir "$out/lib/dri" # move libOSMesa to $osmesa, as it's relatively big diff --git a/pkgs/development/libraries/mesa/dlopen-absolute-paths.diff b/pkgs/development/libraries/mesa/dlopen-absolute-paths.diff deleted file mode 100644 index 9a5226572239..000000000000 --- a/pkgs/development/libraries/mesa/dlopen-absolute-paths.diff +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/loader.c b/loader.c -index 4fdf3c2..69ea22d 100644 ---- a/src/loader/loader.c -+++ b/src/loader/loader.c -@@ -112,7 +112,7 @@ static void *udev_handle = NULL; - static void * - udev_dlopen_handle(void) - { -- char name[80]; -+ char name[256]; - unsigned flags = RTLD_NOLOAD | RTLD_LOCAL | RTLD_LAZY; - int version; - -@@ -126,7 +126,7 @@ udev_dlopen_handle(void) - /* First try opening an already linked libudev, then try loading one */ - do { - for (version = 1; version >= 0; version--) { -- snprintf(name, sizeof(name), "libudev.so.%d", version); -+ snprintf(name, sizeof(name), "@libudev@/lib/libudev.so.%d", version); - udev_handle = dlopen(name, flags); - if (udev_handle) - return udev_handle; |