nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at 19.03 59 lines 2.2 kB view raw
1{ stdenv, lib, makeWrapper, fetchurl, 2 alsaLib, atk, cairo, cups, dbus, expat, fontconfig, freetype, gdk_pixbuf, glib, 3 gnome2, gtk2-x11, nspr, nss, 4 libX11, libxcb, libXcomposite, libXcursor, libXdamage, libXext, libXfixes, 5 libXi, libXrandr, libXrender, libXScrnSaver, libXtst, 6 libudev0-shim 7}: 8 stdenv.mkDerivation rec { 9 name = "sweep-visualizer-${version}"; 10 version = "0.15.0"; 11 12 src = fetchurl { 13 url = "https://s3.amazonaws.com/scanse/Visualizer/v${version}/sweepvisualizer_${version}_amd64.deb"; 14 sha256 = "1k6rdjw2340qrzafv6hjxvbvyh3s1wad6d3629nchdcrpyx9xy1c"; 15 }; 16 17 nativeBuildInputs = [ makeWrapper ]; 18 19 sourceRoot = "."; 20 unpackCmd = '' 21 ar p "$src" data.tar.xz | tar xJ 22 ''; 23 24 buildPhase = ":"; 25 26 installPhase = '' 27 mkdir -p $out/bin $out/share/sweep-visualizer 28 mv usr/share/* $out/share 29 mv opt/Sweep\ Visualizer\ BETA/* $out/share/sweep-visualizer/ 30 ln -s $out/share/sweep-visualizer/sweep_visualizer $out/bin/sweep_visualizer 31 ''; 32 33 preFixup = let 34 libPath = lib.makeLibraryPath [ 35 alsaLib atk cairo cups.lib dbus.lib expat fontconfig.lib freetype 36 gdk_pixbuf glib gnome2.GConf gnome2.pango gtk2-x11 nspr nss stdenv.cc.cc.lib 37 libX11 libxcb libXcomposite libXcursor libXdamage libXext libXfixes 38 libXi libXrandr libXrender libXScrnSaver libXtst 39 ]; 40 runtimeLibs = lib.makeLibraryPath [ libudev0-shim ]; 41 in '' 42 for lib in $out/share/sweep-visualizer/*.so; do 43 patchelf --set-rpath "$out/share/sweep-visualizer:${libPath}" $lib 44 done 45 patchelf \ 46 --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ 47 --set-rpath "$out/share/sweep-visualizer:${libPath}" \ 48 $out/share/sweep-visualizer/sweep_visualizer 49 wrapProgram "$out/bin/sweep_visualizer" --prefix LD_LIBRARY_PATH : ${runtimeLibs} 50 ''; 51 52 meta = with stdenv.lib; { 53 homepage = https://support.scanse.io/hc/en-us/articles/115006008948-Visualizer-Overview; 54 description = "A minimal desktop application for interfacing with the Sweep device"; 55 license = licenses.unfree; 56 platforms = [ "x86_64-linux" ]; 57 maintainers = with maintainers; [ mt-caret ]; 58 }; 59 }