1{ lib
2, stdenv
3, fetchFromGitHub
4, ivsc-driver
5, kernel
6}:
7
8stdenv.mkDerivation {
9 pname = "ipu6-drivers";
10 version = "unstable-2023-05-19";
11
12 src = fetchFromGitHub {
13 owner = "intel";
14 repo = "ipu6-drivers";
15 rev = "8c02a846d1afe0e108964a2d3db4acb175712da9";
16 hash = "sha256-f2EuxVkCvEPyH0XbLCv5t/Mi0jdk7BOh1QluG/TxZr0=";
17 };
18
19 postPatch = ''
20 cp --no-preserve=mode --recursive --verbose \
21 ${ivsc-driver.src}/backport-include \
22 ${ivsc-driver.src}/drivers \
23 ${ivsc-driver.src}/include \
24 .
25 '';
26
27 nativeBuildInputs = kernel.moduleBuildDependencies;
28
29 makeFlags = kernel.makeFlags ++ [
30 "KERNELRELEASE=${kernel.modDirVersion}"
31 "KERNEL_SRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
32 ];
33
34 enableParallelBuilding = true;
35
36 preInstall = ''
37 sed -i -e "s,INSTALL_MOD_DIR=,INSTALL_MOD_PATH=$out INSTALL_MOD_DIR=," Makefile
38 '';
39
40 installTargets = [
41 "modules_install"
42 ];
43
44 meta = {
45 homepage = "https://github.com/intel/ipu6-drivers";
46 description = "IPU6 kernel driver";
47 license = lib.licenses.gpl2;
48 maintainers = with lib.maintainers; [ hexa ];
49 platforms = [ "x86_64-linux" ];
50 # requires 6.1.7 https://github.com/intel/ipu6-drivers/pull/84
51 broken = kernel.kernelOlder "6.1.7";
52 };
53}