mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-08-26 02:05:02 +00:00
78 lines
1.6 KiB
Nix
78 lines
1.6 KiB
Nix
{
|
|
lib,
|
|
buildPythonPackage,
|
|
cmake,
|
|
config,
|
|
cudaSupport ? config.cudaSupport,
|
|
fetchFromGitHub,
|
|
nanobind,
|
|
ninja,
|
|
setuptools,
|
|
torch,
|
|
comfyui,
|
|
}:
|
|
|
|
let
|
|
inherit (torch) cudaPackages;
|
|
in
|
|
buildPythonPackage (finalAttrs: {
|
|
pname = "comfy-kitchen";
|
|
version = "0.2.31";
|
|
pyproject = true;
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "Comfy-Org";
|
|
repo = "comfy-kitchen";
|
|
tag = "v${finalAttrs.version}";
|
|
fetchSubmodules = true;
|
|
hash = "sha256-apa7N9Y0bt4fpbMTP0qRUC0QnMuJvoxoCOeWONWCExo=";
|
|
};
|
|
|
|
buildInputs = lib.optionals cudaSupport (
|
|
with cudaPackages;
|
|
[
|
|
cuda_cudart
|
|
libcublas
|
|
]
|
|
);
|
|
|
|
build-system = [
|
|
cmake
|
|
nanobind
|
|
ninja
|
|
setuptools
|
|
];
|
|
|
|
dependencies = [ torch ];
|
|
|
|
dontUseCmakeConfigure = true;
|
|
|
|
pypaBuildFlags =
|
|
if cudaSupport then
|
|
[
|
|
''--config-setting=--cuda-archs="${
|
|
lib.concatMapStringsSep ";" cudaPackages.flags.dropDots torch.cudaCapabilities
|
|
}"''
|
|
]
|
|
else
|
|
[ "-C--global-option=--no-cuda" ];
|
|
|
|
env = lib.optionalAttrs cudaSupport {
|
|
CUDA_HOME = cudaPackages.cuda_nvcc;
|
|
};
|
|
|
|
# Upstream tests exercise the CUDA/Triton kernel backends; this build
|
|
# might use BUILD_NO_CUDA = True, so those backends would be unavailable
|
|
# and additionally the nix sandbox would prevent it.
|
|
doCheck = false;
|
|
|
|
pythonImportsCheck = [ "comfy_kitchen" ];
|
|
|
|
meta = {
|
|
description = "Fast kernel library for ComfyUI with multiple compute backends";
|
|
homepage = "https://github.com/Comfy-Org/comfy-kitchen";
|
|
license = lib.licenses.asl20;
|
|
inherit (comfyui.meta) maintainers;
|
|
};
|
|
})
|