1{ stdenv, fetchFromGitHub, kernel, libdrm }:
2
3stdenv.mkDerivation rec {
4 name = "evdi-${version}";
5 version = "1.5.0";
6
7 src = fetchFromGitHub {
8 owner = "DisplayLink";
9 repo = "evdi";
10 rev = "v${version}";
11 sha256 = "01z7bx5rgpb5lc4c6dxfiv52ni25564djxmvmgy3d7r1x1mqhxgs";
12 };
13
14 nativeBuildInputs = kernel.moduleBuildDependencies;
15
16 buildInputs = [ kernel libdrm ];
17
18 makeFlags = [ "KVER=${kernel.modDirVersion}" "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ];
19
20 hardeningDisable = [ "format" "pic" "fortify" ];
21
22 installPhase = ''
23 install -Dm755 module/evdi.ko $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/gpu/drm/evdi/evdi.ko
24 install -Dm755 library/libevdi.so $out/lib/libevdi.so
25 '';
26
27 meta = with stdenv.lib; {
28 description = "Extensible Virtual Display Interface";
29 platforms = platforms.linux;
30 license = licenses.gpl2;
31 homepage = http://www.displaylink.com/;
32 broken = versionOlder kernel.version "4.9" || versionAtLeast kernel.version "4.15";
33 };
34}