diff options
author | Nikolay Amiantov <ab@fmap.me> | 2017-05-01 15:23:41 +0300 |
---|---|---|
committer | Nikolay Amiantov <ab@fmap.me> | 2017-05-19 02:51:45 +0300 |
commit | e17744067a5d3460e06d531a93b2527757b20a55 (patch) | |
tree | e9282762d6a68ce392c004ca70eae54cd7deb86b /pkgs/os-specific/linux/displaylink | |
parent | 8e7c7af3b88ca7df22e02f054f8fe07df52923f6 (diff) | |
download | nixpkgs-e17744067a5d3460e06d531a93b2527757b20a55.tar nixpkgs-e17744067a5d3460e06d531a93b2527757b20a55.tar.gz nixpkgs-e17744067a5d3460e06d531a93b2527757b20a55.tar.bz2 nixpkgs-e17744067a5d3460e06d531a93b2527757b20a55.tar.lz nixpkgs-e17744067a5d3460e06d531a93b2527757b20a55.tar.xz nixpkgs-e17744067a5d3460e06d531a93b2527757b20a55.tar.zst nixpkgs-e17744067a5d3460e06d531a93b2527757b20a55.zip |
displaylink: 1.1.62 -> 1.3.52
Diffstat (limited to 'pkgs/os-specific/linux/displaylink')
-rw-r--r-- | pkgs/os-specific/linux/displaylink/default.nix | 61 |
1 files changed, 22 insertions, 39 deletions
diff --git a/pkgs/os-specific/linux/displaylink/default.nix b/pkgs/os-specific/linux/displaylink/default.nix index 87cf7c18caf..1f923b9567a 100644 --- a/pkgs/os-specific/linux/displaylink/default.nix +++ b/pkgs/os-specific/linux/displaylink/default.nix @@ -1,64 +1,47 @@ -{ stdenv, lib, fetchurl, fetchFromGitHub, unzip, kernel, utillinux, libdrm, libusb1, makeWrapper }: +{ stdenv, lib, fetchurl, unzip, utillinux, libusb1, evdi, systemd, makeWrapper }: let arch = if stdenv.system == "x86_64-linux" then "x64" else if stdenv.system == "i686-linux" then "x86" else throw "Unsupported architecture"; - libPath = lib.makeLibraryPath [ stdenv.cc.cc utillinux libusb1 ]; + bins = "${arch}-ubuntu-1604"; + libPath = lib.makeLibraryPath [ stdenv.cc.cc utillinux libusb1 evdi ]; in stdenv.mkDerivation rec { name = "displaylink-${version}"; - version = "1.1.62"; + version = "1.3.52"; - src = fetchFromGitHub { - owner = "DisplayLink"; - repo = "evdi"; - rev = "fe779940ff9fc7b512019619e24a5b22e4070f6a"; - sha256 = "02hw83f6lscms8hssjzf30hl9zly3b28qcxwmxvnqwfhx1q491z9"; - }; - - daemon = fetchurl { + src = fetchurl { name = "displaylink.zip"; - url = "http://www.displaylink.com/downloads/file?id=607"; - sha256 = "0jky3xk4dfzbzg386qya9l9952i4m8zhf55fdl06pi9r82k2iijx"; + url = "http://www.displaylink.com/downloads/file?id=744"; + sha256 = "0ridpsxcf761vym0nlpq702qa46ynddzci17bjmyax2pph7khr0k"; }; nativeBuildInputs = [ unzip makeWrapper ]; - buildInputs = [ kernel libdrm ]; - buildCommand = '' - unpackPhase - cd $sourceRoot - unzip $daemon + unzip $src chmod +x displaylink-driver-${version}.run - ./displaylink-driver-${version}.run --target daemon --noexec + ./displaylink-driver-${version}.run --target . --noexec - ( cd module - export makeFlags="$makeFlags KVER=${kernel.modDirVersion} KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" - export hardeningDisable="pic format" - buildPhase - install -Dm755 evdi.ko $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/gpu/drm/evdi/evdi.ko + 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 - ( cd library - buildPhase - install -Dm755 libevdi.so $out/lib/libevdi.so - ) + install -Dt $out/lib/displaylink *.spkg + install -Dm755 ${bins}/DisplayLinkManager $out/bin/DisplayLinkManager + patchelf \ + --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \ + --set-rpath ${libPath} \ + $out/bin/DisplayLinkManager + wrapProgram $out/bin/DisplayLinkManager \ + --run "cd $out/lib/displaylink" fixupPhase - - ( cd daemon - install -Dt $out/lib/displaylink *.spkg - install -Dm755 ${arch}/DisplayLinkManager $out/bin/DisplayLinkManager - patchelf \ - --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \ - --set-rpath $out/lib:${libPath} \ - $out/bin/DisplayLinkManager - wrapProgram $out/bin/DisplayLinkManager \ - --run "cd $out/lib/displaylink" - ) ''; meta = with stdenv.lib; { |