diff options
Diffstat (limited to 'nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix | 54 |
1 files changed, 22 insertions, 32 deletions
diff --git a/nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix b/nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix index 7182144fd200..449d9ee09848 100644 --- a/nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix +++ b/nixpkgs/pkgs/development/tools/misc/pwndbg/default.nix @@ -1,33 +1,12 @@ { stdenv +, python3 , fetchFromGitHub , makeWrapper , gdb -, future -, isort -, psutil -, pycparser -, pyelftools -, python-ptrace -, ROPGadget -, six -, unicorn -, pygments -, }: +}: -stdenv.mkDerivation rec { - pname = "pwndbg"; - version = "2019.01.25"; - - src = fetchFromGitHub { - owner = "pwndbg"; - repo = "pwndbg"; - rev = version; - sha256 = "0k7n6pcrj62ccag801yzf04a9mj9znghpkbnqwrzz0qn3rs42vgs"; - }; - - nativeBuildInputs = [ makeWrapper ]; - - propagatedBuildInputs = [ +let + pythonPath = with python3.pkgs; makePythonPath [ future isort psutil @@ -40,21 +19,32 @@ stdenv.mkDerivation rec { pygments ]; +in stdenv.mkDerivation rec { + pname = "pwndbg"; + version = "2019.01.25"; + format = "other"; + + src = fetchFromGitHub { + owner = "pwndbg"; + repo = "pwndbg"; + rev = version; + sha256 = "0k7n6pcrj62ccag801yzf04a9mj9znghpkbnqwrzz0qn3rs42vgs"; + }; + + 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" - ''; - - preFixup = '' - sed -i "/import sys/a import sys; sys.path[0:0] = '$PYTHONPATH'.split(':')" \ - $out/share/pwndbg/gdbinit.py + --add-flags "-q -x $out/share/pwndbg/gdbinit.py" \ + --set NIX_PYTHONPATH ${pythonPath} ''; meta = with stdenv.lib; { description = "Exploit Development and Reverse Engineering with GDB Made Easy"; - homepage = http://pwndbg.com; + homepage = "https://github.com/pwndbg/pwndbg"; license = licenses.mit; platforms = platforms.linux; maintainers = with maintainers; [ mic92 ]; |