1{ lib
2, stdenv
3, fetchFromGitHub
4, fetchpatch
5, cmake
6, vulkan-headers
7, vulkan-loader
8, fmt
9, glslang
10, ninja
11}:
12
13stdenv.mkDerivation rec {
14 pname = "kompute";
15 version = "0.8.1";
16
17 src = fetchFromGitHub {
18 owner = "KomputeProject";
19 repo = "kompute";
20 rev = "v${version}";
21 sha256 = "sha256-OkVGYh8QrD7JNqWFBLrDTYlk6IYHdvt4i7UtC4sQTzo=";
22 };
23
24 patches = [
25 (fetchpatch {
26 url = "https://github.com/KomputeProject/kompute/commit/9a791b161dd58ca927fe090f65fa2b0e5e85e7ca.diff";
27 sha256 = "OtFTN8sgPlyiMmVzUnqzCkVMKj6DWxbCXtYwkRdEprY=";
28 })
29 ];
30
31 cmakeFlags = [
32 "-DKOMPUTE_OPT_INSTALL=1"
33 "-DRELEASE=1"
34 "-DKOMPUTE_ENABLE_SPDLOG=1"
35 ];
36
37 nativeBuildInputs = [ cmake ninja ];
38 buildInputs = [ fmt ];
39 propagatedBuildInputs = [ glslang vulkan-headers vulkan-loader ];
40
41 meta = with lib; {
42 description = "General purpose GPU compute framework built on Vulkan";
43 longDescription = ''
44 General purpose GPU compute framework built on Vulkan to
45 support 1000s of cross vendor graphics cards (AMD,
46 Qualcomm, NVIDIA & friends). Blazing fast, mobile-enabled,
47 asynchronous and optimized for advanced GPU data
48 processing usecases. Backed by the Linux Foundation"
49 '';
50 homepage = "https://kompute.cc/";
51 license = licenses.asl20;
52 maintainers = with maintainers; [ atila ];
53 platforms = platforms.linux;
54 };
55}