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