1{ lib, stdenv, fetchFromGitLab, kernel }:
2
3stdenv.mkDerivation rec {
4 pname = "ddcci-driver";
5 version = "0.4.2";
6 name = "${pname}-${kernel.version}-${version}";
7
8 src = fetchFromGitLab {
9 owner = "${pname}-linux";
10 repo = "${pname}-linux";
11 rev = "v${version}";
12 sha256 = "sSmL8PqxqHHQiume62si/Kc9El58/b4wkB93iG0dnNM=";
13 };
14
15 hardeningDisable = [ "pic" ];
16
17 nativeBuildInputs = kernel.moduleBuildDependencies;
18
19 prePatch = ''
20 substituteInPlace ./ddcci/Makefile \
21 --replace '"$(src)"' '$(PWD)' \
22 --replace depmod \#
23 substituteInPlace ./ddcci-backlight/Makefile \
24 --replace '"$(src)"' '$(PWD)' \
25 --replace depmod \#
26 '';
27
28 makeFlags = kernel.makeFlags ++ [
29 "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
30 "KVER=${kernel.modDirVersion}"
31 "KERNEL_MODLIB=$(out)/lib/modules/${kernel.modDirVersion}"
32 "INCLUDEDIR=$(out)/include"
33 ];
34
35 meta = with lib; {
36 description = "Kernel module driver for DDC/CI monitors";
37 homepage = "https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux";
38 license = licenses.gpl2Plus;
39 maintainers = with maintainers; [ ];
40 platforms = platforms.linux;
41 broken = kernel.kernelOlder "5.1";
42 };
43}