summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/os-specific/linux/evdi/default.nix31
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 33 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/evdi/default.nix b/pkgs/os-specific/linux/evdi/default.nix
new file mode 100644
index 00000000000..d1e8a466953
--- /dev/null
+++ b/pkgs/os-specific/linux/evdi/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, kernel, libdrm }:
+
+stdenv.mkDerivation rec {
+  name = "evdi-${version}";
+  version = "1.4.1";
+
+  src = fetchFromGitHub {
+    owner = "DisplayLink";
+    repo = "evdi";
+    rev = "v${version}";
+    sha256 = "176cq83qlmhc4c00dwfnqgd021l7s4gyj8604m5zmxbz0r5mnawv";
+  };
+
+  buildInputs = [ kernel libdrm ];
+
+  makeFlags = [ "KVER=${kernel.modDirVersion}" "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ];
+
+  hardeningDisable = [ "pic" "format" ];
+
+  installPhase = ''
+    install -Dm755 module/evdi.ko $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/gpu/drm/evdi/evdi.ko
+    install -Dm755 library/libevdi.so $out/lib/libevdi.so
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Extensible Virtual Display Interface";
+    platforms = platforms.linux;
+    license = licenses.gpl2;
+    homepage = "http://www.displaylink.com/";
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 87fae1fcf02..d382141896a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -11886,6 +11886,8 @@ with pkgs;
 
     exfat-nofuse = callPackage ../os-specific/linux/exfat { };
 
+    evdi = callPackage ../os-specific/linux/evdi { };
+
     pktgen = callPackage ../os-specific/linux/pktgen { };
 
     odp-dpdk = callPackage ../os-specific/linux/odp-dpdk { };