python3Packages.wfuzz: fix build on Python 3.12

- add patch from upstream PR fixing imp module uses
- disable test depending on imp module
- replace distutils with setuptools._distutils
This commit is contained in:
ghpzin
2024-07-30 22:53:20 +03:00
parent dd081b2473
commit e2d06ea4f5
@@ -13,6 +13,7 @@
pythonOlder,
setuptools,
six,
fetchpatch2,
}:
buildPythonPackage rec {
@@ -29,9 +30,22 @@ buildPythonPackage rec {
hash = "sha256-RM6QM/iR00ymg0FBUtaWAtxPHIX4u9U/t5N/UT/T6sc=";
};
patches = [
# replace use of imp module for Python 3.12
# https://github.com/xmendez/wfuzz/pull/365
(fetchpatch2 {
url = "https://github.com/xmendez/wfuzz/commit/f4c028b9ada4c36dabf3bc752f69f6ddc110920f.patch?full_index=1";
hash = "sha256-t7pUMcdFmwAsGUNBRdZr+Jje/yR0yzeGIgeYNEq4hFE=";
})
];
postPatch = ''
substituteInPlace setup.py \
--replace "pyparsing>=2.4*" "pyparsing>=2.4"
# fix distutils use for Python 3.12
substituteInPlace src/wfuzz/plugin_api/base.py \
--replace-fail "from distutils import util" "from setuptools._distutils import util"
'';
propagatedBuildInputs = [
@@ -56,6 +70,8 @@ buildPythonPackage rec {
# The tests are requiring a local web server
"tests/test_acceptance.py"
"tests/acceptance/test_saved_filter.py"
# depends on imp module removed from Python 3.12
"tests/test_moduleman.py"
];
pythonImportsCheck = [ "wfuzz" ];