From 6ab4d8ac87caef3761e01cb363b3c665f13f5048 Mon Sep 17 00:00:00 2001 From: Michiel Leenaars Date: Mon, 26 Mar 2018 22:35:59 +0200 Subject: [PATCH] panopticon: init -> 0.16.0 --- .../tools/analysis/panopticon/default.nix | 52 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 54 insertions(+) create mode 100644 pkgs/development/tools/analysis/panopticon/default.nix diff --git a/pkgs/development/tools/analysis/panopticon/default.nix b/pkgs/development/tools/analysis/panopticon/default.nix new file mode 100644 index 00000000000..a50f6993c33 --- /dev/null +++ b/pkgs/development/tools/analysis/panopticon/default.nix @@ -0,0 +1,52 @@ +{ stdenv, fetchFromGitHub, rustPlatform, qt5, git, cmake +, pkgconfig, makeWrapper }: + +rustPlatform.buildRustPackage rec { + pname = "panopticon"; + version = "unstable-20171202"; + name = "${pname}-${version}"; + + src = fetchFromGitHub { + owner = "das-labor"; + repo = pname; + rev = "33ffec0d6d379d51b38d6ea00d040f54b1356ae4"; + sha256 = "1zv87nqhrzsxx0m891df4vagzssj3kblfv9yp7j96dw0vn9950qa"; + }; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ makeWrapper ]; + propagatedBuildInputs = with qt5; [ + qt5.qtbase + qtdeclarative + qtsvg + qtquickcontrols2 + qtgraphicaleffects + pkgconfig + git + ]; + + cargoSha256 = "02k21mh0jyc6vz52jx1qijsfk07pkdv1g2hqx7gyvmm4v10vbfna"; + doCheck = false; + + postInstall = '' + mkdir -p $out/share/${pname} $out/bin + cp -R qml $out/share/${pname} + mv $out/bin/${pname} $out/share/${pname} + chmod +x $out/share/${pname} + makeWrapper $out/share/${pname}/${pname} $out/bin/${pname} + ''; + + meta = with stdenv.lib; { + description = "A libre cross-platform disassembler"; + longDescription = '' + Panopticon is a cross platform disassembler for reverse + engineering written in Rust. It can disassemble AMD64, + x86, AVR and MOS 6502 instruction sets and open ELF files. + Panopticon comes with Qt GUI for browsing and annotating + control flow graphs. + ''; + license = with licenses; [ gpl3 ]; + maintainers = with maintainers; [ leenaars ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a4726f59b89..f03190c8330 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8039,6 +8039,8 @@ with pkgs; pahole = callPackage ../development/tools/misc/pahole {}; + panopticon = callPackage ../development/tools/analysis/panopticon {}; + pants = callPackage ../development/tools/build-managers/pants {}; parse-cli-bin = callPackage ../development/tools/parse-cli-bin { };