diff options
Diffstat (limited to 'nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix b/nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix new file mode 100644 index 000000000000..764fa6677345 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix @@ -0,0 +1,52 @@ +{ lib, stdenv +, python3 +, fetchFromGitHub +, makeWrapper +, gdb +}: + +let + pythonPath = with python3.pkgs; makePythonPath [ + future + isort + psutil + pycparser + pyelftools + python-ptrace + ROPGadget + six + unicorn + pygments + ]; + +in stdenv.mkDerivation rec { + pname = "pwndbg"; + version = "2020.07.23"; + format = "other"; + + src = fetchFromGitHub { + owner = "pwndbg"; + repo = "pwndbg"; + rev = version; + sha256 = "0w1dmjy8ii12367wza8c35a9q9x204fppf6x328q75bhb3gd845c"; + }; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + mkdir -p $out/share/pwndbg + cp -r *.py pwndbg $out/share/pwndbg + chmod +x $out/share/pwndbg/gdbinit.py + makeWrapper ${gdb}/bin/gdb $out/bin/pwndbg \ + --add-flags "-q -x $out/share/pwndbg/gdbinit.py" \ + --set NIX_PYTHONPATH ${pythonPath} + ''; + + meta = with lib; { + description = "Exploit Development and Reverse Engineering with GDB Made Easy"; + homepage = "https://github.com/pwndbg/pwndbg"; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ mic92 ]; + }; +} |