53 lines
1.5 KiB
Nix
53 lines
1.5 KiB
Nix
|
{ 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;
|
||
|
};
|
||
|
}
|