at 23.11-beta 52 lines 1.5 kB view raw
1{ lib, stdenv, fetchFromGitHub, kernel, libdrm, python3 }: 2 3let 4 python3WithLibs = python3.withPackages (ps: with ps; [ 5 pybind11 6 ]); 7in 8stdenv.mkDerivation rec { 9 pname = "evdi"; 10 version = "1.14.1"; 11 12 src = fetchFromGitHub { 13 owner = "DisplayLink"; 14 repo = pname; 15 rev = "v${version}"; 16 hash = "sha256-em3Y56saB7K3Wr31Y0boc38xGb57gdveN0Cstgy8y20="; 17 }; 18 19 env.NIX_CFLAGS_COMPILE = toString [ 20 "-Wno-error" 21 "-Wno-error=discarded-qualifiers" # for Linux 4.19 compatibility 22 "-Wno-error=sign-compare" 23 ]; 24 25 nativeBuildInputs = kernel.moduleBuildDependencies; 26 27 buildInputs = [ kernel libdrm python3WithLibs ]; 28 29 makeFlags = kernel.makeFlags ++ [ 30 "KVER=${kernel.modDirVersion}" 31 "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" 32 ]; 33 34 hardeningDisable = [ "format" "pic" "fortify" ]; 35 36 installPhase = '' 37 install -Dm755 module/evdi.ko $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/gpu/drm/evdi/evdi.ko 38 install -Dm755 library/libevdi.so $out/lib/libevdi.so 39 ''; 40 41 enableParallelBuilding = true; 42 43 meta = with lib; { 44 changelog = "https://github.com/DisplayLink/evdi/releases/tag/v${version}"; 45 description = "Extensible Virtual Display Interface"; 46 maintainers = with maintainers; [ ]; 47 platforms = platforms.linux; 48 license = with licenses; [ lgpl21Only gpl2Only ]; 49 homepage = "https://www.displaylink.com/"; 50 broken = kernel.kernelOlder "4.19" || kernel.kernelAtLeast "6.6"; 51 }; 52}