1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 fetchpatch2,
6 setuptools,
7 atpublic,
8 zope-interface,
9 pytestCheckHook,
10}:
11
12buildPythonPackage rec {
13 pname = "flufl-bounce";
14 version = "4.0";
15 pyproject = true;
16
17 src = fetchPypi {
18 pname = "flufl.bounce";
19 inherit version;
20 hash = "sha256-JVBK65duwP5aGc1sQTo0EMtRT9zb3Kn5tdjTQ6hgODE=";
21 };
22
23 patches = [
24 (fetchpatch2 {
25 # Replace deprecated failIf with assertFalse for Python 3.12 compatibility.
26 url = "https://gitlab.com/warsaw/flufl.bounce/-/commit/e0b9fd0f24572e024a8d0484a3c9fb4542337d18.patch";
27 hash = "sha256-HJHEbRVjiiP5Z7W0sQCj6elUMyaWOTqQw6UpYOYCVZM=";
28 })
29 ];
30
31 nativeBuildInputs = [ setuptools ];
32
33 propagatedBuildInputs = [
34 atpublic
35 zope-interface
36 ];
37
38 nativeCheckInputs = [ pytestCheckHook ];
39
40 pythonImportsCheck = [ "flufl.bounce" ];
41
42 pythonNamespaces = [ "flufl" ];
43
44 meta = with lib; {
45 description = "Email bounce detectors";
46 homepage = "https://gitlab.com/warsaw/flufl.bounce";
47 changelog = "https://gitlab.com/warsaw/flufl.bounce/-/blob/${version}/flufl/bounce/NEWS.rst";
48 maintainers = [ ];
49 license = licenses.asl20;
50 };
51}