diff options
Diffstat (limited to 'pkgs/applications')
5 files changed, 308 insertions, 3 deletions
diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix index a339770ba588..10f12885dcd8 100644 --- a/pkgs/applications/misc/electrum/default.nix +++ b/pkgs/applications/misc/electrum/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, python3, python3Packages }: +{ stdenv, fetchurl, python3, python3Packages, zbar }: python3Packages.buildPythonApplication rec { name = "electrum-${version}"; @@ -38,6 +38,7 @@ python3Packages.buildPythonApplication rec { pyrcc5 icons.qrc -o gui/qt/icons_rc.py # Recording the creation timestamps introduces indeterminism to the build sed -i '/Created: .*/d' gui/qt/icons_rc.py + sed -i "s|name = 'libzbar.*'|name='${zbar}/lib/libzbar.so'|" lib/qrscanner.py ''; postInstall = '' diff --git a/pkgs/applications/misc/tint2/default.nix b/pkgs/applications/misc/tint2/default.nix index 2bd8b07e4995..e0a29e5de5fe 100644 --- a/pkgs/applications/misc/tint2/default.nix +++ b/pkgs/applications/misc/tint2/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { name = "tint2-${version}"; - version = "16.0"; + version = "16.1"; src = fetchFromGitLab { owner = "o9000"; repo = "tint2"; rev = version; - sha256 = "04h32f9yybxb2v6bwmlyjzr8gg8jv4iidhpwaq3zhg44iz2b75j0"; + sha256 = "0qhp1i24b03g15393lf8jd2ykznh6kvwvf7k7yqdb99zv5i8r75z"; }; enableParallelBuilding = true; diff --git a/pkgs/applications/science/electronics/bitscope/common.nix b/pkgs/applications/science/electronics/bitscope/common.nix new file mode 100644 index 000000000000..b93b68458f9a --- /dev/null +++ b/pkgs/applications/science/electronics/bitscope/common.nix @@ -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}"; +} diff --git a/pkgs/applications/science/electronics/bitscope/packages.nix b/pkgs/applications/science/electronics/bitscope/packages.nix new file mode 100644 index 000000000000..bb7710bf82eb --- /dev/null +++ b/pkgs/applications/science/electronics/bitscope/packages.nix @@ -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"; + }; + }; +} diff --git a/pkgs/applications/science/logic/tamarin-prover/default.nix b/pkgs/applications/science/logic/tamarin-prover/default.nix new file mode 100644 index 000000000000..f03751bacf2b --- /dev/null +++ b/pkgs/applications/science/logic/tamarin-prover/default.nix @@ -0,0 +1,84 @@ +{ haskell, haskellPackages, mkDerivation, fetchFromGitHub, lib +, makeWrapper, maude +}: + +let + version = "1.3.0"; + src = fetchFromGitHub { + owner = "tamarin-prover"; + repo = "tamarin-prover"; + rev = "8e823691ad3325bce8921617b013735523d74557"; + sha256 = "0rr2syl9xhv17bwky5p39mhn0bypr24h8pld1xidxv87vy7vk7nr"; + }; + + # tamarin has its own dependencies, but they're kept inside the repo, + # no submodules. this factors out the common metadata among all derivations + common = pname: src: { + inherit pname version src; + + license = lib.licenses.gpl3; + homepage = https://tamarin-prover.github.io; + description = "Security protocol verification in the symbolic model"; + maintainers = [ lib.maintainers.thoughtpolice ]; + }; + + # tamarin use symlinks to the LICENSE and Setup.hs files, so for these sublibraries + # we set the patchPhase to fix that. otherwise, cabal cries a lot. + replaceSymlinks = '' + cp --remove-destination ${src}/LICENSE .; + cp --remove-destination ${src}/Setup.hs .; + ''; + + tamarin-prover-utils = mkDerivation (common "tamarin-prover-utils" (src + "/lib/utils") // { + patchPhase = replaceSymlinks; + libraryHaskellDepends = with haskellPackages; [ + base base64-bytestring binary blaze-builder bytestring containers + deepseq dlist fclabels mtl pretty safe SHA syb time transformers + ]; + }); + + tamarin-prover-term = mkDerivation (common "tamarin-prover-term" (src + "/lib/term") // { + patchPhase = replaceSymlinks; + libraryHaskellDepends = (with haskellPackages; [ + attoparsec base binary bytestring containers deepseq dlist HUnit + mtl process safe + ]) ++ [ tamarin-prover-utils ]; + }); + + tamarin-prover-theory = mkDerivation (common "tamarin-prover-theory" (src + "/lib/theory") // { + patchPhase = replaceSymlinks; + doHaddock = false; # broken + libraryHaskellDepends = (with haskellPackages; [ + aeson aeson-pretty base binary bytestring containers deepseq dlist + fclabels mtl parallel parsec process safe text transformers uniplate + ]) ++ [ tamarin-prover-utils tamarin-prover-term ]; + }); + +in +mkDerivation (common "tamarin-prover" src // { + isLibrary = false; + isExecutable = true; + + # strip out unneeded deps manually + doHaddock = false; + enableSharedExecutables = false; + postFixup = "rm -rf $out/lib $out/nix-support $out/share/doc"; + + # wrap the prover to be sure it can find maude + postInstall = '' + wrapProgram $out/bin/tamarin-prover \ + --prefix PATH : ${lib.makeBinPath [ maude ]} + ''; + + executableToolDepends = [ makeWrapper ]; + executableHaskellDepends = (with haskellPackages; [ + base binary binary-orphans blaze-builder blaze-html bytestring + cmdargs conduit containers deepseq directory fclabels file-embed + filepath gitrev http-types HUnit lifted-base mtl parsec process + resourcet safe shakespeare tamarin-prover-term + template-haskell text threads time wai warp yesod-core yesod-static + ]) ++ [ tamarin-prover-utils + tamarin-prover-term + tamarin-prover-theory + ]; +}) |