aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/development/python-modules/pwntools/default.nix
diff options
context:
space:
mode:
authorMx Kookie <kookie@spacekookie.de>2020-10-31 19:35:09 +0100
committerMx Kookie <kookie@spacekookie.de>2020-10-31 19:35:09 +0100
commitc4625b175f8200f643fd6e11010932ea44c78433 (patch)
treebce3f89888c8ac3991fa5569a878a9eab6801ccc /infra/libkookie/nixpkgs/pkgs/development/python-modules/pwntools/default.nix
parent49f735974dd103039ddc4cb576bb76555164a9e7 (diff)
parentd661aa56a8843e991261510c1bb28fdc2f6975ae (diff)
Add 'infra/libkookie/' from commit 'd661aa56a8843e991261510c1bb28fdc2f6975ae'
git-subtree-dir: infra/libkookie git-subtree-mainline: 49f735974dd103039ddc4cb576bb76555164a9e7 git-subtree-split: d661aa56a8843e991261510c1bb28fdc2f6975ae
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/python-modules/pwntools/default.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/python-modules/pwntools/default.nix74
1 files changed, 74 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/development/python-modules/pwntools/default.nix b/infra/libkookie/nixpkgs/pkgs/development/python-modules/pwntools/default.nix
new file mode 100644
index 000000000000..623140546e1d
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/python-modules/pwntools/default.nix
@@ -0,0 +1,74 @@
+{ stdenv
+, buildPythonPackage
+, debugger
+, fetchPypi
+, isPy3k
+, Mako
+, makeWrapper
+, packaging
+, pysocks
+, pygments
+, ROPGadget
+, capstone
+, paramiko
+, pip
+, psutil
+, pyelftools
+, pyserial
+, dateutil
+, requests
+, tox
+, unicorn
+, intervaltree
+, fetchpatch
+}:
+
+buildPythonPackage rec {
+ version = "4.2.1";
+ pname = "pwntools";
+
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "1fh7sq9wrcfvn44qryln9cyg99pilvyq9bp80758lgdd6ss6hdqd";
+ };
+
+ # 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 = ''
+ sed -i 's/unicorn>=1.0.2rc1,<1.0.2rc4/unicorn>=1.0.2rc1/' setup.py
+ '';
+
+ propagatedBuildInputs = [
+ Mako
+ packaging
+ pysocks
+ pygments
+ ROPGadget
+ capstone
+ paramiko
+ pip
+ psutil
+ pyelftools
+ pyserial
+ dateutil
+ requests
+ tox
+ unicorn
+ intervaltree
+ ];
+
+ doCheck = false; # no setuptools tests for the package
+
+ postFixup = ''
+ mkdir -p "$out/bin"
+ makeWrapper "${debugger}/bin/${stdenv.lib.strings.getName debugger}" "$out/bin/pwntools-gdb"
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = "http://pwntools.com";
+ description = "CTF framework and exploit development library";
+ license = licenses.mit;
+ maintainers = with maintainers; [ bennofs kristoff3r pamplemousse ];
+ };
+}