diff --git a/pkgs/by-name/sh/shader-slang/1-find-packages.patch b/pkgs/by-name/sh/shader-slang/1-find-packages.patch deleted file mode 100644 index 5f98b301c8b58..0000000000000 --- a/pkgs/by-name/sh/shader-slang/1-find-packages.patch +++ /dev/null @@ -1,83 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 549e465ac..546c94607 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -175,6 +175,8 @@ advanced_option( - "Build using system unordered dense" - OFF - ) -+advanced_option(SLANG_USE_SYSTEM_SPIRV_TOOLS "Build using system SPIR-V tools library" OFF) -+advanced_option(SLANG_USE_SYSTEM_GLSLANG "Build using system glslang library" OFF) - - option( - SLANG_SPIRV_HEADERS_INCLUDE_DIR -@@ -404,6 +406,34 @@ if(${SLANG_USE_SYSTEM_UNORDERED_DENSE}) - find_package(unordered_dense CONFIG QUIET) - endif() - -+if(${SLANG_USE_SYSTEM_MINIZ}) -+ find_package(miniz REQUIRED) -+ add_library(miniz ALIAS miniz::miniz) -+endif() -+ -+if(${SLANG_USE_SYSTEM_LZ4}) -+ find_package(lz4 REQUIRED) -+ add_library(lz4_static ALIAS LZ4::lz4) -+endif() -+ -+if(${SLANG_USE_SYSTEM_VULKAN_HEADERS}) -+ find_package(VulkanHeaders REQUIRED) -+endif() -+ -+if(${SLANG_USE_SYSTEM_SPIRV_HEADERS}) -+ find_package(SPIRV-Headers REQUIRED) -+ add_library(SPIRV-Headers ALIAS SPIRV-Headers::SPIRV-Headers) -+endif() -+ -+if(${SLANG_USE_SYSTEM_SPIRV_TOOLS}) -+ find_package(SPIRV-Tools REQUIRED) -+endif() -+ -+if(${SLANG_USE_SYSTEM_GLSLANG}) -+ find_package(glslang REQUIRED) -+ add_library(glslang ALIAS glslang::glslang) -+endif() -+ - add_subdirectory(external) - - # webgpu_dawn is only available as a fetched shared library, since Dawn's nested source -diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt -index 801cae4d6..d45150118 100644 ---- a/external/CMakeLists.txt -+++ b/external/CMakeLists.txt -@@ -133,6 +133,7 @@ if(SLANG_ENABLE_SLANG_GLSLANG) - ) - endif() - -+if(NOT ${SLANG_USE_SYSTEM_SPIRV_TOOLS}) - # SPIRV-Tools - set(SPIRV_TOOLS_BUILD_STATIC ON) - set(SPIRV_WERROR OFF) -@@ -148,11 +149,14 @@ if(SLANG_ENABLE_SLANG_GLSLANG) - ${system} - ) - endif() -+endif() - -+if(NOT ${SLANG_USE_SYSTEM_GLSLANG}) - # glslang - set(SKIP_GLSLANG_INSTALL ON) - set(ENABLE_OPT ON) - set(ENABLE_PCH OFF) -+ set(ALLOW_EXTERNAL_SPIRV_TOOLS ${SLANG_USE_SYSTEM_SPIRV_TOOLS}) - if(NOT SLANG_OVERRIDE_GLSLANG_PATH) - add_subdirectory(glslang EXCLUDE_FROM_ALL ${system}) - else() -@@ -164,6 +168,7 @@ if(SLANG_ENABLE_SLANG_GLSLANG) - ) - endif() - endif() -+endif() - - # imgui - add_library(imgui INTERFACE) diff --git a/pkgs/by-name/sh/shader-slang/2-shared-llvm.patch b/pkgs/by-name/sh/shader-slang/1-shared-llvm.patch similarity index 100% rename from pkgs/by-name/sh/shader-slang/2-shared-llvm.patch rename to pkgs/by-name/sh/shader-slang/1-shared-llvm.patch diff --git a/pkgs/by-name/sh/shader-slang/3-glslang-15.patch b/pkgs/by-name/sh/shader-slang/2-glslang-15.patch similarity index 100% rename from pkgs/by-name/sh/shader-slang/3-glslang-15.patch rename to pkgs/by-name/sh/shader-slang/2-glslang-15.patch diff --git a/pkgs/by-name/sh/shader-slang/package.nix b/pkgs/by-name/sh/shader-slang/package.nix index b45b51197a478..d7199d6879c47 100644 --- a/pkgs/by-name/sh/shader-slang/package.nix +++ b/pkgs/by-name/sh/shader-slang/package.nix @@ -10,7 +10,7 @@ libxml2, libX11, glslang, - llvmPackages_13, + llvmPackages_14, versionCheckHook, gitUpdater, @@ -27,33 +27,26 @@ stdenv.mkDerivation (finalAttrs: { pname = "shader-slang"; - version = "2025.14.3"; + version = "2025.15"; src = fetchFromGitHub { owner = "shader-slang"; repo = "slang"; tag = "v${finalAttrs.version}"; - hash = "sha256-tHLm0XmS5vV+o3VmFHWG8wZnrb0p63Nz1zVyvc/e5+s="; + hash = "sha256-m1Xn8OybEDJYrR5c5eJZNvDhXtnydQ5lx1v2PqyJu5c="; fetchSubmodules = true; }; - patches = [ - # Slang's build definitions do not support using system provided cmake packages - # for its dependencies. - # While it does come with "SLANG_USE_SYSTEM_XYZ" flags, these expect Slang to be - # imported into some other CMake build that already provides the necessary target. - # This patch adds the required `find_package` calls and sets up target aliases where needed. - ./1-find-packages.patch - ] - ++ lib.optionals withSharedLLVM [ - # Upstream statically links libllvm and libclang++, resulting in a ~5x increase in binary size. - ./2-shared-llvm.patch - ] - ++ lib.optionals withGlslang [ - # Upstream depends on glslang 13 and there are minor breaking changes in glslang 15, the version - # we ship in nixpkgs. - ./3-glslang-15.patch - ]; + patches = + lib.optionals withSharedLLVM [ + # Upstream statically links libllvm and libclang++, resulting in a ~5x increase in binary size. + ./1-shared-llvm.patch + ] + ++ lib.optionals withGlslang [ + # Upstream depends on glslang 13 and there are minor breaking changes in glslang 15, the version + # we ship in nixpkgs. + ./2-glslang-15.patch + ]; outputs = [ "out" @@ -78,10 +71,10 @@ stdenv.mkDerivation (finalAttrs: { libX11 ] ++ lib.optionals withLLVM [ - # Slang only supports LLVM 13: - # https://github.com/shader-slang/slang/blob/master/docs/building.md#llvm-support - llvmPackages_13.llvm - llvmPackages_13.libclang + # Slang only supports LLVM 14: + # https://github.com/shader-slang/slang/blob/v2025.15/docs/building.md#llvm-support + llvmPackages_14.llvm + llvmPackages_14.libclang ] ++ lib.optionals withGlslang [ # SPIRV-tools is included in glslang.