bitscope: init at 2017-12-28

This commit is contained in:
David Asabina 2017-12-28 17:50:46 +01:00 committed by Bjørn Forsman
parent 8dbfe6990e
commit 810ec3f8bd
3 changed files with 222 additions and 0 deletions

View File

@ -0,0 +1,67 @@
{ atk
, buildFHSUserEnv
, cairo
, dpkg
, fetchurl
, gdk_pixbuf
, glib
, gtk2-x11
, makeWrapper
, pango
, stdenv
, writeScriptBin
, xorg
}:
{ src, toolName, version, ... } @ attrs:
let
wrapBinary = libPaths: binaryName: ''
wrapProgram "$out/bin/${binaryName}" \
--prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath libPaths}"
'';
pkg = stdenv.mkDerivation (rec {
inherit (attrs) version src;
name = "${toolName}-${version}";
meta = with stdenv.lib; {
homepage = http://bitscope.com/software/;
license = licenses.unfree;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [
vidbina
];
} // (attrs.meta or {});
buildInputs = [
dpkg
makeWrapper
];
libs = attrs.libs or [
atk
cairo
gdk_pixbuf
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;
meta = pkg.meta;
runScript = "${pkg.outPath}/bin/${attrs.toolName}";
}

View File

@ -0,0 +1,153 @@
{ buildFHSUserEnv
, callPackage
, fetchurl
, makeWrapper
, stdenv
}:
let
wrapBinary = libPaths: binaryName: ''
wrapProgram "$out/bin/${binaryName}" \
--prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath libPaths}"
'';
mkBitscope = callPackage (import ./common.nix) { };
in {
chart = let
toolName = "bitscope-chart";
version = "2.0.FK22M";
in mkBitscope {
inherit toolName version;
meta = {
description = "Multi-channel waveform data acquisition and chart recording application";
homepage = "http://bitscope.com/software/chart/";
};
src = fetchurl {
url = "http://bitscope.com/download/files/${toolName}_${version}_amd64.deb";
sha256 = "08mc82pjamyyyhh15sagsv0sc7yx5v5n54bg60fpj7v41wdwrzxw";
};
};
console = let
toolName = "bitscope-console";
version = "1.0.FK29A";
in mkBitscope {
# NOTE: this is meant as a demo by BitScope
inherit toolName version;
meta = {
description = "Demonstrative communications program designed to make it easy to talk to any model BitScope";
};
src = fetchurl {
url = "http://bitscope.com/download/files/${toolName}_${version}_amd64.deb";
sha256 = "00b4gxwz7w6pmfrcz14326b24kl44hp0gzzqcqxwi5vws3f0y49d";
};
};
display = let
toolName = "bitscope-display";
version = "1.0.EC17A";
in mkBitscope {
inherit toolName version;
meta = {
description = "Display diagnostic application for BitScope";
homepage = "http://bitscope.com/software/display/";
};
src = fetchurl {
url = "http://bitscope.com/download/files/${toolName}_${version}_amd64.deb";
sha256 = "05xr5mnka1v3ibcasg74kmj6nlv1nmn3lca1wv77whkq85cmz0s1";
};
};
dso = let
toolName = "bitscope-dso";
version = "2.8.FE22H";
in mkBitscope {
inherit toolName version;
meta = {
description = "Test and measurement software for BitScope";
homepage = "http://bitscope.com/software/dso/";
};
src = fetchurl {
url = "http://bitscope.com/download/files/${toolName}_${version}_amd64.deb";
sha256 = "0fc6crfkprj78dxxhvhbn1dx1db5chm0cpwlqpqv8sz6whp12mcj";
};
};
logic = let
toolName = "bitscope-logic";
version = "1.2.FC20C";
in mkBitscope {
inherit toolName version;
meta = {
description = "Mixed signal logic timing and serial protocol analysis software for BitScope";
home = "http://bitscope.com/software/logic/";
};
src = fetchurl {
url = "http://bitscope.com/download/files/${toolName}_${version}_amd64.deb";
sha256 = "0lkb7z9gfkiyxdwh4dq1zxfls8gzdw0na1vrrbgnxfg3klv4xns3";
};
};
meter = let
toolName = "bitscope-meter";
version = "2.0.FK22G";
in mkBitscope {
inherit toolName version;
meta = {
description = "Automated oscilloscope, voltmeter and frequency meter for BitScope";
homepage = "http://bitscope.com/software/logic/";
};
src = fetchurl {
url = "http://bitscope.com/download/files/${toolName}_${version}_amd64.deb";
sha256 = "0nirbci6ymhk4h4bck2s4wbsl5r9yndk2jvvv72zwkg21248mnbp";
};
};
proto = let
toolName = "bitscope-proto";
version = "0.9.FG13B";
in mkBitscope rec {
inherit toolName version;
# NOTE: this is meant as a demo by BitScope
# NOTE: clicking on logo produces error
# TApplication.HandleException Executable not found: "http://bitscope.com/blog/DK/?p=DK15A"
meta = {
description = "Demonstrative prototype oscilloscope built using the BitScope Library";
homepage = "http://bitscope.com/blog/DK/?p=DK15A";
};
src = fetchurl {
url = "http://bitscope.com/download/files/${toolName}_${version}_amd64.deb";
sha256 = "1ybjfbh3narn29ll4nci4b7rnxy0hj3wdfm4v8c6pjr8pfvv9spy";
};
};
server = let
toolName = "bitscope-server";
version = "1.0.FK26A";
in mkBitscope {
inherit toolName version;
meta = {
description = "Remote access server solution for any BitScope";
homepage = "http://bitscope.com/software/server/";
};
src = fetchurl {
url = "http://bitscope.com/download/files/${toolName}_${version}_amd64.deb";
sha256 = "1079n7msq6ks0n4aasx40rd4q99w8j9hcsaci71nd2im2jvjpw9a";
};
};
}

View File

@ -14165,6 +14165,8 @@ with pkgs;
bitmeter = callPackage ../applications/audio/bitmeter { }; bitmeter = callPackage ../applications/audio/bitmeter { };
bitscope = callPackage ../applications/science/electronics/bitscope/packages.nix { };
bitwig-studio = callPackage ../applications/audio/bitwig-studio { bitwig-studio = callPackage ../applications/audio/bitwig-studio {
inherit (gnome2) zenity; inherit (gnome2) zenity;
}; };