diff --git a/pkgs/development/python-modules/wfuzz/default.nix b/pkgs/development/python-modules/wfuzz/default.nix index 5df717c8b4da..63ea5c81adcf 100644 --- a/pkgs/development/python-modules/wfuzz/default.nix +++ b/pkgs/development/python-modules/wfuzz/default.nix @@ -35,6 +35,9 @@ buildPythonPackage (finalAttrs: { url = "https://github.com/xmendez/wfuzz/commit/f4c028b9ada4c36dabf3bc752f69f6ddc110920f.patch?full_index=1"; hash = "sha256-t7pUMcdFmwAsGUNBRdZr+Jje/yR0yzeGIgeYNEq4hFE="; }) + # replace removed `pipes` stdlib module with `shlex` for Python >= 3.13 + # https://github.com/xmendez/wfuzz/issues/380 + ./python-313-shlex.patch ]; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/wfuzz/python-313-shlex.patch b/pkgs/development/python-modules/wfuzz/python-313-shlex.patch new file mode 100644 index 000000000000..a55bac99493b --- /dev/null +++ b/pkgs/development/python-modules/wfuzz/python-313-shlex.patch @@ -0,0 +1,29 @@ +Replace removed `pipes` stdlib module with `shlex` in screenshot plugin. + +`pipes` was deprecated in Python 3.11 (PEP 594) and removed in 3.13; +`shlex.quote` is the documented stdlib replacement and behaves identically +for the single argument used here. + +Reported upstream: https://github.com/xmendez/wfuzz/issues/380 + +diff --git a/src/wfuzz/plugins/scripts/screenshot.py b/src/wfuzz/plugins/scripts/screenshot.py +--- a/src/wfuzz/plugins/scripts/screenshot.py ++++ b/src/wfuzz/plugins/scripts/screenshot.py +@@ -3,7 +3,7 @@ from wfuzz.externals.moduleman.plugin import moduleman_plugin + + import subprocess + import tempfile +-import pipes ++import shlex + import os + import re + +@@ -42,7 +42,7 @@ class screenshot(BasePlugin): + subprocess.call( + [ + "cutycapt", +- "--url=%s" % pipes.quote(fuzzresult.url), ++ "--url=%s" % shlex.quote(fuzzresult.url), + "--out=%s" % filename, + "--insecure", + "--print-backgrounds=on",