summary refs log tree commit diff
diff options
context:
space:
mode:
authorIlan Joselevich <personal@ilanjoselevich.com>2023-04-08 12:19:06 +0300
committerGitHub <noreply@github.com>2023-04-08 12:19:06 +0300
commitd9f759f2ea8d265d974a6e1259bd510ac5844c5d (patch)
tree97665ce318651b5912fd1bea736f86edb2a31556
parentdb87eaab76f01c4b07183c8c8664e25266532653 (diff)
parentee9df2c1a838f2f6905dd34d03b36926c55929e2 (diff)
downloadnixpkgs-d9f759f2ea8d265d974a6e1259bd510ac5844c5d.tar
nixpkgs-d9f759f2ea8d265d974a6e1259bd510ac5844c5d.tar.gz
nixpkgs-d9f759f2ea8d265d974a6e1259bd510ac5844c5d.tar.bz2
nixpkgs-d9f759f2ea8d265d974a6e1259bd510ac5844c5d.tar.lz
nixpkgs-d9f759f2ea8d265d974a6e1259bd510ac5844c5d.tar.xz
nixpkgs-d9f759f2ea8d265d974a6e1259bd510ac5844c5d.tar.zst
nixpkgs-d9f759f2ea8d265d974a6e1259bd510ac5844c5d.zip
Merge pull request #224650 from Kranzes/vulkan-sdk-update-script
vulkan-headers: add update script
-rw-r--r--pkgs/development/libraries/vulkan-headers/default.nix2
-rwxr-xr-xpkgs/development/libraries/vulkan-headers/update.sh23
-rw-r--r--pkgs/development/libraries/vulkan-loader/default.nix14
-rw-r--r--pkgs/development/tools/spirv-tools/default.nix15
-rw-r--r--pkgs/development/tools/vulkan-validation-layers/default.nix14
-rw-r--r--pkgs/tools/graphics/vulkan-extension-layer/default.nix14
-rw-r--r--pkgs/tools/graphics/vulkan-tools-lunarg/default.nix16
-rw-r--r--pkgs/tools/graphics/vulkan-tools/default.nix17
8 files changed, 68 insertions, 47 deletions
diff --git a/pkgs/development/libraries/vulkan-headers/default.nix b/pkgs/development/libraries/vulkan-headers/default.nix
index e34cf98d510..dc102c7e678 100644
--- a/pkgs/development/libraries/vulkan-headers/default.nix
+++ b/pkgs/development/libraries/vulkan-headers/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
     hash = "sha256-mzxT6s4ZHShB9tGyyf8jDtVWVEclHPYW+9oKy7v0bC4=";
   };
 
+  passthru.updateScript = ./update.sh;
+
   meta = with lib; {
     description = "Vulkan Header files and API registry";
     homepage    = "https://www.lunarg.com";
diff --git a/pkgs/development/libraries/vulkan-headers/update.sh b/pkgs/development/libraries/vulkan-headers/update.sh
new file mode 100755
index 00000000000..9857af699e2
--- /dev/null
+++ b/pkgs/development/libraries/vulkan-headers/update.sh
@@ -0,0 +1,23 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl jq nix-update
+
+set -euf -o pipefail
+
+NEW_VERSION=$(curl https://vulkan.lunarg.com/sdk/latest/linux.json | jq -r '.linux')
+
+VULKAN_SDK_PACKAGES=(
+    "vulkan-headers"
+    "spirv-headers"
+    "glslang"
+    "vulkan-loader"
+    "spirv-tools"
+    "spirv-cross"
+    "vulkan-validation-layers"
+    "vulkan-tools"
+    "vulkan-tools-lunarg"
+    "vulkan-extension-layer"
+)
+
+for P in "${VULKAN_SDK_PACKAGES[@]}"; do
+    nix-update "$P" --version "$NEW_VERSION" --commit
+done
diff --git a/pkgs/development/libraries/vulkan-loader/default.nix b/pkgs/development/libraries/vulkan-loader/default.nix
index b45bf4c66be..2c22211969d 100644
--- a/pkgs/development/libraries/vulkan-loader/default.nix
+++ b/pkgs/development/libraries/vulkan-loader/default.nix
@@ -5,13 +5,12 @@ stdenv.mkDerivation rec {
   pname = "vulkan-loader";
   version = "1.3.239.0";
 
-  src = (assert version == vulkan-headers.version;
-    fetchFromGitHub {
-      owner = "KhronosGroup";
-      repo = "Vulkan-Loader";
-      rev = "sdk-${version}";
-      hash = "sha256-4oxynsbFLmsrpI5NEs7gI50g0XVcaUWuZRn6JKB/+hA=";
-    });
+  src = fetchFromGitHub {
+    owner = "KhronosGroup";
+    repo = "Vulkan-Loader";
+    rev = "sdk-${version}";
+    hash = "sha256-4oxynsbFLmsrpI5NEs7gI50g0XVcaUWuZRn6JKB/+hA=";
+  };
 
   patches = [ ./fix-pkgconfig.patch ];
 
@@ -41,5 +40,6 @@ stdenv.mkDerivation rec {
     platforms   = platforms.unix;
     license     = licenses.asl20;
     maintainers = [ maintainers.ralith ];
+    broken = (version != vulkan-headers.version);
   };
 }
diff --git a/pkgs/development/tools/spirv-tools/default.nix b/pkgs/development/tools/spirv-tools/default.nix
index cc8b30ab18c..25253633593 100644
--- a/pkgs/development/tools/spirv-tools/default.nix
+++ b/pkgs/development/tools/spirv-tools/default.nix
@@ -4,14 +4,12 @@ stdenv.mkDerivation rec {
   pname = "spirv-tools";
   version = "1.3.239.0";
 
-  src = (assert version == spirv-headers.version;
-    fetchFromGitHub {
-      owner = "KhronosGroup";
-      repo = "SPIRV-Tools";
-      rev = "sdk-${version}";
-      hash = "sha256-xLYykbCHb6OH5wUSgheAfReXhxZtI3RqBJ+PxDZx58s=";
-    }
-  );
+  src = fetchFromGitHub {
+    owner = "KhronosGroup";
+    repo = "SPIRV-Tools";
+    rev = "sdk-${version}";
+    hash = "sha256-xLYykbCHb6OH5wUSgheAfReXhxZtI3RqBJ+PxDZx58s=";
+  };
 
   nativeBuildInputs = [ cmake python3 ];
 
@@ -43,5 +41,6 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     platforms = platforms.unix;
     maintainers = [ maintainers.ralith ];
+    broken = (version != spirv-headers.version);
   };
 }
diff --git a/pkgs/development/tools/vulkan-validation-layers/default.nix b/pkgs/development/tools/vulkan-validation-layers/default.nix
index c2477ed02d5..65797d3c81c 100644
--- a/pkgs/development/tools/vulkan-validation-layers/default.nix
+++ b/pkgs/development/tools/vulkan-validation-layers/default.nix
@@ -30,13 +30,12 @@ stdenv.mkDerivation rec {
   outputs = ["out" "headers"];
   outputInclude = "headers";
 
-  src = (assert (lib.all (pkg: pkg.version == version) [vulkan-headers glslang spirv-tools spirv-headers]);
-    fetchFromGitHub {
-      owner = "KhronosGroup";
-      repo = "Vulkan-ValidationLayers";
-      rev = "sdk-${version}";
-      hash = "sha256-k/A0TaERQAHSM0Fal2IOaRvTz3FV2Go/17P12FSBG1s=";
-    });
+  src = fetchFromGitHub {
+    owner = "KhronosGroup";
+    repo = "Vulkan-ValidationLayers";
+    rev = "sdk-${version}";
+    hash = "sha256-k/A0TaERQAHSM0Fal2IOaRvTz3FV2Go/17P12FSBG1s=";
+  };
 
   nativeBuildInputs = [
     cmake
@@ -85,5 +84,6 @@ 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]);
   };
 }
diff --git a/pkgs/tools/graphics/vulkan-extension-layer/default.nix b/pkgs/tools/graphics/vulkan-extension-layer/default.nix
index 63d763a893d..a398c4f0e98 100644
--- a/pkgs/tools/graphics/vulkan-extension-layer/default.nix
+++ b/pkgs/tools/graphics/vulkan-extension-layer/default.nix
@@ -4,13 +4,12 @@ stdenv.mkDerivation rec {
   pname = "vulkan-extension-layer";
   version = "1.3.239.0";
 
-  src = (assert version == vulkan-headers.version;
-    fetchFromGitHub {
-      owner = "KhronosGroup";
-      repo = "Vulkan-ExtensionLayer";
-      rev = "sdk-${version}";
-      hash = "sha256-0t9HGyiYk3twYQLFCcWsrPiXY1dqjdCadjP4yMLoFwA=";
-    });
+  src = fetchFromGitHub {
+    owner = "KhronosGroup";
+    repo = "Vulkan-ExtensionLayer";
+    rev = "sdk-${version}";
+    hash = "sha256-0t9HGyiYk3twYQLFCcWsrPiXY1dqjdCadjP4yMLoFwA=";
+  };
 
   nativeBuildInputs = [ cmake jq ];
 
@@ -41,5 +40,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     license = licenses.asl20;
     maintainers = with maintainers; [ expipiplus1 ];
+    broken = (version != vulkan-headers.version);
   };
 }
diff --git a/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix b/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix
index ec1862df9cd..c837e0d3061 100644
--- a/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix
+++ b/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix
@@ -27,14 +27,13 @@ stdenv.mkDerivation rec {
   # The version must match that in vulkan-headers
   version = "1.3.239.0";
 
-  src = (assert version == vulkan-headers.version;
-    fetchFromGitHub {
-      owner = "LunarG";
-      repo = "VulkanTools";
-      rev = "sdk-${version}";
-      hash = "sha256-zgkuTy9ccg8D/riA1CM/PnbXW1R0jWEINtcEVilETwk=";
-      fetchSubmodules = true;
-    });
+  src = fetchFromGitHub {
+   owner = "LunarG";
+   repo = "VulkanTools";
+   rev = "sdk-${version}";
+   hash = "sha256-zgkuTy9ccg8D/riA1CM/PnbXW1R0jWEINtcEVilETwk=";
+   fetchSubmodules = true;
+ };
 
   nativeBuildInputs = [ cmake python3 jq which pkg-config ];
 
@@ -103,5 +102,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     license = licenses.asl20;
     maintainers = [ maintainers.expipiplus1 ];
+    broken = (version != vulkan-headers.version);
   };
 }
diff --git a/pkgs/tools/graphics/vulkan-tools/default.nix b/pkgs/tools/graphics/vulkan-tools/default.nix
index da84038fd0f..b3a2bca200e 100644
--- a/pkgs/tools/graphics/vulkan-tools/default.nix
+++ b/pkgs/tools/graphics/vulkan-tools/default.nix
@@ -23,16 +23,12 @@ stdenv.mkDerivation rec {
   pname = "vulkan-tools";
   version = "1.3.239.0";
 
-  # It's not strictly necessary to have matching versions here, however
-  # since we're using the SDK version we may as well be consistent with
-  # the rest of nixpkgs.
-  src = (assert (version) == vulkan-headers.version;
-    fetchFromGitHub {
-      owner = "KhronosGroup";
-      repo = "Vulkan-Tools";
-      rev = "sdk-${version}";
-      hash = "sha256-DQGwxTZzS0eATKodMpeJaQdXADvomiqPOspDYoPFZjI=";
-    });
+  src = fetchFromGitHub {
+    owner = "KhronosGroup";
+    repo = "Vulkan-Tools";
+    rev = "sdk-${version}";
+    hash = "sha256-DQGwxTZzS0eATKodMpeJaQdXADvomiqPOspDYoPFZjI=";
+  };
 
   nativeBuildInputs = [
     cmake
@@ -107,5 +103,6 @@ stdenv.mkDerivation rec {
     platforms   = platforms.unix;
     license     = licenses.asl20;
     maintainers = [ maintainers.ralith ];
+    broken = (version != vulkan-headers.version);
   };
 }