anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / applications / science / electronics / bitscope / common.nix
blob6a024748daf285af529476fdaf650dc026653703
1 { atk
2 , buildFHSEnv
3 , cairo
4 , dpkg
5 , gdk-pixbuf
6 , glib
7 , gtk2-x11
8 , makeWrapper
9 , pango
10 , lib, stdenv
11 , xorg
14 { src, toolName, version, ... } @ attrs:
15 let
16   wrapBinary = libPaths: binaryName: ''
17     wrapProgram "$out/bin/${binaryName}" \
18       --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath libPaths}"
19   '';
20   pkg = stdenv.mkDerivation (rec {
21     inherit (attrs) version src;
23     name = "${toolName}-${version}";
25     meta = with lib; {
26       homepage = "http://bitscope.com/software/";
27       sourceProvenance = with sourceTypes; [ binaryNativeCode ];
28       license = licenses.unfree;
29       platforms = [ "x86_64-linux" ];
30       maintainers = with maintainers; [
31         vidbina
32       ];
33     } // (attrs.meta or {});
35     nativeBuildInputs = [ makeWrapper dpkg ];
37     libs = attrs.libs or [
38       atk
39       cairo
40       gdk-pixbuf
41       glib
42       gtk2-x11
43       pango
44       xorg.libX11
45     ];
47     dontBuild = true;
49     unpackPhase = attrs.unpackPhase or ''
50       dpkg-deb -x ${attrs.src} ./
51     '';
53     installPhase = attrs.installPhase or ''
54       mkdir -p "$out/bin"
55       cp -a usr/* "$out/"
56       ${(wrapBinary libs) attrs.toolName}
57     '';
58   });
59 in buildFHSEnv {
60   name = "${attrs.toolName}-${attrs.version}";
61   runScript = "${pkg.outPath}/bin/${attrs.toolName}";
62 } // { inherit (pkg) meta name; }