From f0f36737e20724aa8260c827c493ec0f26d879e2 Mon Sep 17 00:00:00 2001 From: eyJhb Date: Sun, 9 Dec 2018 12:48:15 +0100 Subject: displaylink: changed systemd start to not block (#51760) Previously during boot, displaylink would hang during boot for the 2 minutes timeout. --- pkgs/os-specific/linux/displaylink/default.nix | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'pkgs/os-specific/linux/displaylink/default.nix') diff --git a/pkgs/os-specific/linux/displaylink/default.nix b/pkgs/os-specific/linux/displaylink/default.nix index 35c9f087966..9da5170c2e5 100644 --- a/pkgs/os-specific/linux/displaylink/default.nix +++ b/pkgs/os-specific/linux/displaylink/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, unzip, utillinux, - libusb1, evdi, systemd, makeWrapper, requireFile }: + libusb1, evdi, systemd, makeWrapper, requireFile, substituteAll }: let arch = @@ -33,17 +33,23 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ unzip makeWrapper ]; - buildCommand = '' + unpackPhase = '' unzip $src chmod +x displaylink-driver-${version}.run ./displaylink-driver-${version}.run --target . --noexec + ''; + + patches = [ (substituteAll { + src = ./udev-installer.patch; + inherit systemd; + })]; + installPhase = '' sed -i "s,/opt/displaylink/udev.sh,$out/lib/udev/displaylink.sh,g" udev-installer.sh ( source udev-installer.sh mkdir -p $out/lib/udev/rules.d main systemd "$out/lib/udev/rules.d/99-displaylink.rules" "$out/lib/udev/displaylink.sh" ) - sed -i '2iPATH=${systemd}/bin:$PATH' $out/lib/udev/displaylink.sh install -Dt $out/lib/displaylink *.spkg install -Dm755 ${bins}/DisplayLinkManager $out/bin/DisplayLinkManager @@ -53,13 +59,12 @@ in stdenv.mkDerivation rec { $out/bin/DisplayLinkManager wrapProgram $out/bin/DisplayLinkManager \ --run "cd $out/lib/displaylink" - - fixupPhase ''; dontStrip = true; dontPatchELF = true; + meta = with stdenv.lib; { description = "DisplayLink DL-5xxx, DL-41xx and DL-3x00 Driver for Linux"; platforms = [ "x86_64-linux" "i686-linux" ]; -- cgit 1.4.1