diff options
Diffstat (limited to 'pkgs/development/tools/analysis/panopticon/default.nix')
-rw-r--r-- | pkgs/development/tools/analysis/panopticon/default.nix | 52 |
1 files changed, 52 insertions, 0 deletions
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; + }; +} |