1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 kernel,
6 kernelModuleMakeFlags,
7}:
8
9stdenv.mkDerivation {
10 pname = "ivsc-driver";
11 version = "unstable-2024-09-18";
12
13 src = fetchFromGitHub {
14 owner = "intel";
15 repo = "ivsc-driver";
16 rev = "10f440febe87419d5c82d8fe48580319ea135b54";
17 hash = "sha256-jc+8geVquRtaZeIOtadCjY9F162Rb05ptE7dk8kuof0=";
18 };
19
20 nativeBuildInputs = kernel.moduleBuildDependencies;
21
22 makeFlags = kernelModuleMakeFlags ++ [
23 "KERNELRELEASE=${kernel.modDirVersion}"
24 "KERNEL_SRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
25 ];
26
27 enableParallelBuilding = true;
28
29 preInstall = ''
30 sed -i -e "s,INSTALL_MOD_DIR=,INSTALL_MOD_PATH=$out INSTALL_MOD_DIR=," Makefile
31 '';
32
33 installTargets = [
34 "modules_install"
35 ];
36
37 meta = {
38 homepage = "https://github.com/intel/ivsc-driver";
39 description = "Intel Vision Sensing Controller kernel driver";
40 license = lib.licenses.gpl2Only;
41 maintainers = [ ];
42 platforms = [ "x86_64-linux" ];
43 # This module is in mainline now and upstream suggests using that
44 # with recent kernels rather than the out-of-tree module.
45 broken = kernel.kernelOlder "5.15" || kernel.kernelAtLeast "6.9";
46 };
47}