1{ lib
2, stdenv
3, fetchFromGitHub
4, cmake
5, pkg-config
6, intel-gmmlib
7, intel-graphics-compiler
8, level-zero
9, libva
10}:
11
12stdenv.mkDerivation rec {
13 pname = "intel-compute-runtime";
14 version = "23.30.26918.20";
15
16 src = fetchFromGitHub {
17 owner = "intel";
18 repo = "compute-runtime";
19 rev = version;
20 hash = "sha256-dEznHRgAcJa/BBTD/AWJHlA7fNj2IXHHrYcKM4M+/1o=";
21 };
22
23 nativeBuildInputs = [ cmake pkg-config ];
24
25 buildInputs = [ intel-gmmlib intel-graphics-compiler libva level-zero ];
26
27 cmakeFlags = [
28 "-DSKIP_UNIT_TESTS=1"
29 "-DIGC_DIR=${intel-graphics-compiler}"
30 "-DOCL_ICD_VENDORDIR=${placeholder "out"}/etc/OpenCL/vendors"
31 # The install script assumes this path is relative to CMAKE_INSTALL_PREFIX
32 "-DCMAKE_INSTALL_LIBDIR=lib"
33 ];
34
35 outputs = [ "out" "drivers" ];
36
37 # causes redefinition of _FORTIFY_SOURCE
38 hardeningDisable = [ "fortify3" ];
39
40 postInstall = ''
41 # Avoid clash with intel-ocl
42 mv $out/etc/OpenCL/vendors/intel.icd $out/etc/OpenCL/vendors/intel-neo.icd
43
44 mkdir -p $drivers/lib
45 mv -t $drivers/lib $out/lib/libze_intel*
46 '';
47
48 postFixup = ''
49 patchelf --set-rpath ${lib.makeLibraryPath [ intel-gmmlib intel-graphics-compiler libva stdenv.cc.cc.lib ]} \
50 $out/lib/intel-opencl/libigdrcl.so
51 '';
52
53 meta = with lib; {
54 homepage = "https://github.com/intel/compute-runtime";
55 description = "Intel Graphics Compute Runtime for OpenCL. Replaces Beignet for Gen8 (Broadwell) and beyond";
56 license = licenses.mit;
57 platforms = [ "x86_64-linux" "aarch64-linux" ];
58 maintainers = with maintainers; [ SuperSandro2000 ];
59 };
60}