summary refs log tree commit diff
path: root/pkgs/development/libraries/vulkan-loader/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/vulkan-loader/default.nix')
-rw-r--r--pkgs/development/libraries/vulkan-loader/default.nix23
1 files changed, 14 insertions, 9 deletions
diff --git a/pkgs/development/libraries/vulkan-loader/default.nix b/pkgs/development/libraries/vulkan-loader/default.nix
index 4bc64203051..b9b18dc7910 100644
--- a/pkgs/development/libraries/vulkan-loader/default.nix
+++ b/pkgs/development/libraries/vulkan-loader/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchgit, fetchFromGitHub, cmake, pkgconfig, git, python3,
   python3Packages, glslang, spirv-tools, x11, libxcb, libXrandr,
-  libXext, wayland, libGL, makeWrapper }:
+  libXext, wayland, libGL_driver, makeWrapper }:
 
 let
-  version = "1.0.61.1";
+  version = "1.1.70.0";
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "Vulkan-LoaderAndValidationLayers";
     rev = "sdk-${version}";
-    sha256 = "043kw6wnrpdplnb40x6n9rgf3gygsn9jiv91y458sydbhalfr945";
+    sha256 = "1a7xwl65bi03l4zbjq54qkxjb8kb4m78qvw8bas5alhf9v6i6yqp";
   };
 in
 
@@ -18,23 +18,28 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ makeWrapper pkgconfig ];
   buildInputs = [ cmake git python3 python3Packages.lxml
-                  glslang spirv-tools x11 libxcb libXrandr libXext wayland
+                  glslang x11 libxcb libXrandr libXext wayland
                 ];
   enableParallelBuilding = true;
 
   cmakeFlags = [
     "-DBUILD_WSI_MIR_SUPPORT=OFF"
-    "-DFALLBACK_DATA_DIRS=${libGL.driverLink}/share:/usr/local/share:/usr/share"
+    "-DFALLBACK_DATA_DIRS=${libGL_driver.driverLink}/share:/usr/local/share:/usr/share"
   ];
 
   outputs = [ "out" "dev" "demos" ];
+  patches = [ ./rev-file.patch ];
+
+  postUnpack = ''
+    # Hack so a version header can be generated. Relies on ./rev-file.patch to work.
+    mkdir -p "$sourceRoot/external/glslang/External"
+    echo "${spirv-tools.src.rev}" > "$sourceRoot/external/glslang/External/spirv-tools"
+  '';
 
   preConfigure = ''
     checkRev() {
       [ "$2" = $(cat "external_revisions/$1_revision") ] || (echo "ERROR: dependency $1 is revision $2 but should be revision" $(cat "external_revisions/$1_revision") && exit 1)
     }
-    checkRev spirv-tools "${spirv-tools.src.rev}"
-    checkRev spirv-headers "${spirv-tools.headers.rev}"
     checkRev glslang "${glslang.src.rev}"
   '';
 
@@ -43,8 +48,8 @@ stdenv.mkDerivation rec {
     cp -d loader/libvulkan.so* $out/lib
     cp demos/vulkaninfo $out/bin
     mkdir -p $out/lib $out/share/vulkan/explicit_layer.d
-    cp -d layers/*.so $out/lib/
-    cp -d layers/*.json $out/share/vulkan/explicit_layer.d/
+    cp -L layers/*.so $out/lib/
+    cp -L layers/*.json $out/share/vulkan/explicit_layer.d/
     sed -i "s:\\./lib:$out/lib/lib:g" "$out/share/vulkan/"*/*.json
     mkdir -p $dev/include
     cp -rv ../include $dev/