summary refs log tree commit diff
diff options
context:
space:
mode:
authorK900 <me@0upti.me>2023-05-04 00:05:04 +0300
committerK900 <me@0upti.me>2023-05-04 00:05:04 +0300
commit0cb697b2df391b5cf48c7ce757033b8a3e2f0414 (patch)
treee4a612cdb681fe324034686db989417e8e9b47af
parente9465b7bf0402b9a83fdbc8eaec68407f7d52dbc (diff)
downloadnixpkgs-0cb697b2df391b5cf48c7ce757033b8a3e2f0414.tar
nixpkgs-0cb697b2df391b5cf48c7ce757033b8a3e2f0414.tar.gz
nixpkgs-0cb697b2df391b5cf48c7ce757033b8a3e2f0414.tar.bz2
nixpkgs-0cb697b2df391b5cf48c7ce757033b8a3e2f0414.tar.lz
nixpkgs-0cb697b2df391b5cf48c7ce757033b8a3e2f0414.tar.xz
nixpkgs-0cb697b2df391b5cf48c7ce757033b8a3e2f0414.tar.zst
nixpkgs-0cb697b2df391b5cf48c7ce757033b8a3e2f0414.zip
vulkan-validation-layers: fix hash, update spirv-headers to fix build
-rw-r--r--pkgs/development/tools/vulkan-validation-layers/default.nix25
1 files changed, 20 insertions, 5 deletions
diff --git a/pkgs/development/tools/vulkan-validation-layers/default.nix b/pkgs/development/tools/vulkan-validation-layers/default.nix
index 9927a3a4bae..5a408913da4 100644
--- a/pkgs/development/tools/vulkan-validation-layers/default.nix
+++ b/pkgs/development/tools/vulkan-validation-layers/default.nix
@@ -13,13 +13,30 @@
 , libXdmcp
 , libXrandr
 , spirv-headers
-, spirv-tools
 , vulkan-headers
 , wayland
 }:
 
 let
   robin-hood-hashing = callPackage ./robin-hood-hashing.nix {};
+
+  # Current VVL version requires a newer spirv-headers than the latest release tag.
+  # This should hopefully not be too common and the override should be removed after
+  # the next SPIRV headers release.
+  # FIXME: if this ever becomes common, figure out a way to pull revisions directly
+  # from upstream known-good.json
+  spirv-headers' = spirv-headers.overrideAttrs(_: {
+    version = "unstable-2023-04-27";
+
+    src = fetchFromGitHub {
+      owner = "KhronosGroup";
+      repo = "SPIRV-Headers";
+      rev = "7f1d2f4158704337aff1f739c8e494afc5716e7e";
+      hash = "sha256-DHOYIZQqP5uWDYdb+vePpMBaQDOCB5Pcg8wPBMF8itk=";
+    };
+
+    postPatch = "";
+  });
 in
 stdenv.mkDerivation rec {
   pname = "vulkan-validation-layers";
@@ -34,7 +51,7 @@ stdenv.mkDerivation rec {
     owner = "KhronosGroup";
     repo = "Vulkan-ValidationLayers";
     rev = "v${version}";
-    hash = "sha256-viVceH8qFz6Cl/RlMMWZnMIdzULELlnIvtPZ87ySs2M=";
+    hash = "sha256-+Vjy3hzzpC+bFNSEHLsfUaaHMSrMv2G+B8lGjui0fJs=";
   };
 
   nativeBuildInputs = [
@@ -50,14 +67,13 @@ stdenv.mkDerivation rec {
     libXrandr
     libffi
     libxcb
-    spirv-tools
     vulkan-headers
     wayland
   ];
 
   cmakeFlags = [
     "-DGLSLANG_INSTALL_DIR=${glslang}"
-    "-DSPIRV_HEADERS_INSTALL_DIR=${spirv-headers}"
+    "-DSPIRV_HEADERS_INSTALL_DIR=${spirv-headers'}"
     "-DROBIN_HOOD_HASHING_INSTALL_DIR=${robin-hood-hashing}"
     "-DBUILD_LAYER_SUPPORT_FILES=ON"
     "-DPKG_CONFIG_EXECUTABLE=${pkg-config}/bin/pkg-config"
@@ -84,6 +100,5 @@ stdenv.mkDerivation rec {
     platforms   = platforms.linux;
     license     = licenses.asl20;
     maintainers = [ maintainers.ralith ];
-    broken = (lib.all (pkg: pkg.version != version) [vulkan-headers glslang spirv-tools spirv-headers]);
   };
 }