diff options
Diffstat (limited to 'pkgs/development/python-modules/pwntools/default.nix')
| -rw-r--r-- | pkgs/development/python-modules/pwntools/default.nix | 35 |
1 files changed, 26 insertions, 9 deletions
diff --git a/pkgs/development/python-modules/pwntools/default.nix b/pkgs/development/python-modules/pwntools/default.nix index a24e1d5db13e..b9f71de8e94f 100644 --- a/pkgs/development/python-modules/pwntools/default.nix +++ b/pkgs/development/python-modules/pwntools/default.nix @@ -2,14 +2,13 @@ , buildPythonPackage , debugger , fetchPypi -, isPy3k , Mako -, makeWrapper , packaging , pysocks , pygments , ROPGadget , capstone +, colored-traceback , paramiko , pip , psutil @@ -17,28 +16,40 @@ , pyserial , dateutil , requests +, rpyc , tox , unicorn , intervaltree -, fetchpatch +, installShellFiles }: +let + debuggerName = lib.strings.getName debugger; +in buildPythonPackage rec { - version = "4.3.1"; + version = "4.5.0"; pname = "pwntools"; src = fetchPypi { inherit pname version; - sha256 = "12ja913kz8wl4afrmpzxh9fx6j7rcwc2vqzkvfr1fxn42gkqhqf4"; + sha256 = "sha256-IWHMorSASG/po8ib1whS3xPuoUUlD0tbbWI35DI2SIY="; }; - # Upstream has set an upper bound on unicorn because of https://github.com/Gallopsled/pwntools/issues/1538, - # but since that is a niche use case and it requires extra work to get unicorn 1.0.2rc3 to work we relax - # the bound here. Check if this is still necessary when updating! postPatch = '' + # Upstream has set an upper bound on unicorn because of https://github.com/Gallopsled/pwntools/issues/1538, + # but since that is a niche use case and it requires extra work to get unicorn 1.0.2rc3 to work we relax + # the bound here. Check if this is still necessary when updating! sed -i 's/unicorn>=1.0.2rc1,<1.0.2rc4/unicorn>=1.0.2rc1/' setup.py + + # Upstream hardcoded the check for the command `gdb-multiarch`; + # Forcefully use the provided debugger, as `gdb` (hence `pwndbg`) is built with multiarch in `nixpkgs`. + sed -i 's/gdb-multiarch/${debuggerName}/' pwnlib/gdb.py ''; + nativeBuildInputs = [ + installShellFiles + ]; + propagatedBuildInputs = [ Mako packaging @@ -46,6 +57,7 @@ buildPythonPackage rec { pygments ROPGadget capstone + colored-traceback paramiko pip psutil @@ -53,6 +65,7 @@ buildPythonPackage rec { pyserial dateutil requests + rpyc tox unicorn intervaltree @@ -60,9 +73,13 @@ buildPythonPackage rec { doCheck = false; # no setuptools tests for the package + postInstall = '' + installShellCompletion --bash extra/bash_completion.d/shellcraft + ''; + postFixup = '' mkdir -p "$out/bin" - makeWrapper "${debugger}/bin/${lib.strings.getName debugger}" "$out/bin/pwntools-gdb" + makeWrapper "${debugger}/bin/${debuggerName}" "$out/bin/pwntools-gdb" ''; meta = with lib; { |
