about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader')
-rw-r--r--nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/tracing.patch13
2 files changed, 39 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix b/nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix
new file mode 100644
index 000000000000..732efda1df46
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix
@@ -0,0 +1,26 @@
+{ lib, stdenv, fetchFromGitHub, opencl-headers, cmake, withTracing ? false }:
+
+stdenv.mkDerivation rec {
+  name = "khronos-ocl-icd-loader-${version}";
+  version = "2022.01.04";
+
+  src = fetchFromGitHub {
+    owner = "KhronosGroup";
+    repo = "OpenCL-ICD-Loader";
+    rev = "v${version}";
+    sha256 = "sha256-T2tBoN0yv41W+UksFABVjsetdkXlnEFUINfxumGgC04=";
+  };
+
+  patches = lib.optional withTracing ./tracing.patch;
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ opencl-headers ];
+
+  meta = with lib; {
+    description = "Offical Khronos OpenCL ICD Loader";
+    homepage = "https://github.com/KhronosGroup/OpenCL-ICD-Loader";
+    license = licenses.asl20;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ davidtwco ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/tracing.patch b/nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/tracing.patch
new file mode 100644
index 000000000000..cef22457e5a1
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/khronos-ocl-icd-loader/tracing.patch
@@ -0,0 +1,13 @@
+diff --git a/loader/icd.h b/loader/icd.h
+index 34751e9..01a33fd 100644
+--- a/loader/icd.h
++++ b/loader/icd.h
+@@ -123,7 +123,7 @@ void khrIcdContextPropertiesGetPlatform(
+     cl_platform_id *outPlatform);
+ 
+ // internal tracing macros
+-#if 0
++#if 1
+     #include <stdio.h>
+     #define KHR_ICD_TRACE(...) \
+     do \