nixpkgs/pkgs/applications/science/electronics/bitscope/common.nix

63 lines
1.3 KiB
Nix
Raw Normal View History

2017-12-28 16:50:46 +00:00
{ atk
, buildFHSUserEnv
, cairo
, dpkg
2019-05-22 11:03:39 +00:00
, gdk-pixbuf
2017-12-28 16:50:46 +00:00
, glib
, gtk2-x11
, makeWrapper
, pango
, lib, stdenv
2017-12-28 16:50:46 +00:00
, xorg
}:
{ src, toolName, version, ... } @ attrs:
let
wrapBinary = libPaths: binaryName: ''
wrapProgram "$out/bin/${binaryName}" \
2021-01-15 13:21:58 +00:00
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath libPaths}"
2017-12-28 16:50:46 +00:00
'';
pkg = stdenv.mkDerivation (rec {
inherit (attrs) version src;
name = "${toolName}-${version}";
meta = with lib; {
homepage = "http://bitscope.com/software/";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
2017-12-28 16:50:46 +00:00
license = licenses.unfree;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [
vidbina
];
} // (attrs.meta or {});
nativeBuildInputs = [ makeWrapper dpkg ];
2017-12-28 16:50:46 +00:00
libs = attrs.libs or [
atk
cairo
2019-05-22 11:03:39 +00:00
gdk-pixbuf
2017-12-28 16:50:46 +00:00
glib
gtk2-x11
pango
xorg.libX11
];
dontBuild = true;
unpackPhase = attrs.unpackPhase or ''
dpkg-deb -x ${attrs.src} ./
'';
installPhase = attrs.installPhase or ''
mkdir -p "$out/bin"
cp -a usr/* "$out/"
${(wrapBinary libs) attrs.toolName}
'';
});
in buildFHSUserEnv {
name = "${attrs.toolName}-${attrs.version}";
2017-12-28 16:50:46 +00:00
runScript = "${pkg.outPath}/bin/${attrs.toolName}";
} // { inherit (pkg) meta name; }