From ec4814ae69c1acd7a7c229a5d059e7a370293c9e Mon Sep 17 00:00:00 2001 From: Pamplemousse Date: Thu, 13 May 2021 10:27:27 -0700 Subject: [PATCH] python3Packages.pwntools: Patch check for `gdb-multiarch` Signed-off-by: Pamplemousse --- .../python-modules/pwntools/default.nix | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/pwntools/default.nix b/pkgs/development/python-modules/pwntools/default.nix index 308f308dbb7..e4779f07273 100644 --- a/pkgs/development/python-modules/pwntools/default.nix +++ b/pkgs/development/python-modules/pwntools/default.nix @@ -21,6 +21,9 @@ , installShellFiles }: +let + debuggerName = lib.strings.getName debugger; +in buildPythonPackage rec { version = "4.3.1"; pname = "pwntools"; @@ -30,11 +33,15 @@ buildPythonPackage rec { sha256 = "12ja913kz8wl4afrmpzxh9fx6j7rcwc2vqzkvfr1fxn42gkqhqf4"; }; - # 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 = [ @@ -68,7 +75,7 @@ buildPythonPackage rec { 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; {