linux_xanmod: 5.11.14 -> 5.11.15
[NixPkgs.git] / pkgs / development / python-modules / pwntools / default.nix
bloba24e1d5db13eb3ae60b0f5da47c2ef3c06888341
1 { lib
2 , buildPythonPackage
3 , debugger
4 , fetchPypi
5 , isPy3k
6 , Mako
7 , makeWrapper
8 , packaging
9 , pysocks
10 , pygments
11 , ROPGadget
12 , capstone
13 , paramiko
14 , pip
15 , psutil
16 , pyelftools
17 , pyserial
18 , dateutil
19 , requests
20 , tox
21 , unicorn
22 , intervaltree
23 , fetchpatch
26 buildPythonPackage rec {
27   version = "4.3.1";
28   pname = "pwntools";
30   src = fetchPypi {
31     inherit pname version;
32     sha256 = "12ja913kz8wl4afrmpzxh9fx6j7rcwc2vqzkvfr1fxn42gkqhqf4";
33   };
35   # Upstream has set an upper bound on unicorn because of https://github.com/Gallopsled/pwntools/issues/1538,
36   # but since that is a niche use case and it requires extra work to get unicorn 1.0.2rc3 to work we relax
37   # the bound here. Check if this is still necessary when updating!
38   postPatch = ''
39     sed -i 's/unicorn>=1.0.2rc1,<1.0.2rc4/unicorn>=1.0.2rc1/' setup.py
40   '';
42   propagatedBuildInputs = [
43     Mako
44     packaging
45     pysocks
46     pygments
47     ROPGadget
48     capstone
49     paramiko
50     pip
51     psutil
52     pyelftools
53     pyserial
54     dateutil
55     requests
56     tox
57     unicorn
58     intervaltree
59   ];
61   doCheck = false; # no setuptools tests for the package
63   postFixup = ''
64     mkdir -p "$out/bin"
65     makeWrapper "${debugger}/bin/${lib.strings.getName debugger}" "$out/bin/pwntools-gdb"
66   '';
68   meta = with lib; {
69     homepage = "http://pwntools.com";
70     description = "CTF framework and exploit development library";
71     license = licenses.mit;
72     maintainers = with maintainers; [ bennofs kristoff3r pamplemousse ];
73   };