1{
2 atk,
3 buildFHSEnv,
4 cairo,
5 dpkg,
6 gdk-pixbuf,
7 glib,
8 gtk2-x11,
9 makeWrapper,
10 pango,
11 lib,
12 stdenv,
13 xorg,
14}:
15
16{
17 src,
18 toolName,
19 version,
20 ...
21}@attrs:
22let
23 wrapBinary = libPaths: binaryName: ''
24 wrapProgram "$out/bin/${binaryName}" \
25 --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath libPaths}"
26 '';
27 pkg = stdenv.mkDerivation (rec {
28 inherit (attrs) version src;
29
30 name = "${toolName}-${version}";
31
32 meta =
33 with lib;
34 {
35 homepage = "http://bitscope.com/software/";
36 sourceProvenance = with sourceTypes; [ binaryNativeCode ];
37 license = licenses.unfree;
38 platforms = [ "x86_64-linux" ];
39 maintainers = with maintainers; [
40 vidbina
41 ];
42 }
43 // (attrs.meta or { });
44
45 nativeBuildInputs = [
46 makeWrapper
47 dpkg
48 ];
49
50 libs =
51 attrs.libs or [
52 atk
53 cairo
54 gdk-pixbuf
55 glib
56 gtk2-x11
57 pango
58 xorg.libX11
59 ];
60
61 dontBuild = true;
62
63 unpackPhase =
64 attrs.unpackPhase or ''
65 dpkg-deb -x ${attrs.src} ./
66 '';
67
68 installPhase =
69 attrs.installPhase or ''
70 mkdir -p "$out/bin"
71 cp -a usr/* "$out/"
72 ${(wrapBinary libs) attrs.toolName}
73 '';
74 });
75in
76buildFHSEnv {
77 pname = attrs.toolName;
78 inherit (attrs) version;
79 runScript = "${pkg.outPath}/bin/${attrs.toolName}";
80}
81// {
82 inherit (pkg) meta name;
83}