nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
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 }