diff --git a/pkgs/development/libraries/vulkan-headers/default.nix b/pkgs/development/libraries/vulkan-headers/default.nix index e34cf98d5106..dc102c7e6782 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 000000000000..9857af699e2f --- /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 b45bf4c66be8..2c22211969df 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 cc8b30ab18ca..25253633593b 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 c2477ed02d52..65797d3c81c3 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 63d763a893da..a398c4f0e988 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 ec1862df9cd7..c837e0d3061b 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 da84038fd0fd..b3a2bca200e1 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); }; }