at 24.11-pre 1.8 kB view raw
1{ 2 lib, 3 stdenv, 4 buildPythonPackage, 5 fetchFromGitHub, 6 capstone, 7 future, 8 ipython, 9 psutil, 10 pwntools, 11 pycparser, 12 pyelftools, 13 pygments, 14 requests, 15 rpyc, 16 sortedcontainers, 17 tabulate, 18 typing-extensions, 19 unicorn, 20 gdb-pt-dump, 21 poetry-core, 22 pythonRelaxDepsHook, 23}: 24let 25 # The newest gdb-pt-dump is incompatible with pwndbg 2024.02.14. 26 # See https://github.com/martinradev/gdb-pt-dump/issues/29 27 gdb-pt-dump' = gdb-pt-dump.overrideAttrs (oldAttrs: { 28 version = "0-unstable-2023-11-11"; 29 30 src = fetchFromGitHub { 31 inherit (oldAttrs.src) owner repo; 32 rev = "89ea252f6efc5d75eacca16fc17ff8966a389690"; 33 hash = "sha256-i+SAcZ/kgfKstJnkyCVMh/lWtrJJOHTYoJH4tVfYHrE="; 34 }; 35 36 # This revision relies on the package being imported from within GDB, which 37 # won't work with pythonImportsCheck. 38 pythonImportsCheck = [ ]; 39 }); 40in 41buildPythonPackage rec { 42 pname = "pwndbg"; 43 version = "2024.02.14"; 44 pyproject = true; 45 46 src = fetchFromGitHub { 47 owner = "pwndbg"; 48 repo = "pwndbg"; 49 rev = version; 50 hash = "sha256-/pDo2J5EtpWWCurD7H34AlTlQi7WziIRRxHxGm3K2yk="; 51 }; 52 53 nativeBuildInputs = [ 54 poetry-core 55 pythonRelaxDepsHook 56 ]; 57 pythonRelaxDeps = true; 58 59 propagatedBuildInputs = [ 60 capstone 61 future 62 ipython 63 psutil 64 pwntools 65 pycparser 66 pyelftools 67 pygments 68 requests 69 rpyc 70 sortedcontainers 71 tabulate 72 typing-extensions 73 unicorn 74 gdb-pt-dump' 75 ]; 76 77 meta = { 78 description = "Exploit Development and Reverse Engineering with GDB Made Easy"; 79 homepage = "https://pwndbg.re"; 80 changelog = "https://github.com/pwndbg/pwndbg/releases/tag/${version}"; 81 license = lib.licenses.mit; 82 maintainers = with lib.maintainers; [ msanft ]; 83 }; 84}