Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 83 lines 1.4 kB view raw
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}