1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 zope-i18nmessageid,
7 zope-interface,
8 unittestCheckHook,
9 zope-component,
10 zope-configuration,
11 zope-security,
12}:
13
14buildPythonPackage rec {
15 pname = "zope-size";
16 version = "5.1";
17 pyproject = true;
18
19 src = fetchFromGitHub {
20 owner = "zopefoundation";
21 repo = "zope.size";
22 tag = version;
23 hash = "sha256-9r7l3RgE9gvxJ2I5rFvNn/XIztecXW3GseGeM3MzfTU=";
24 };
25
26 postPatch = ''
27 substituteInPlace pyproject.toml \
28 --replace-fail "setuptools <= 75.6.0" setuptools
29 '';
30
31 build-system = [ setuptools ];
32
33 dependencies = [
34 zope-i18nmessageid
35 zope-interface
36 ];
37
38 pythonImportsCheck = [ "zope.size" ];
39
40 nativeCheckInputs = [
41 unittestCheckHook
42 zope-component
43 zope-configuration
44 zope-security
45 ];
46
47 unittestFlagsArray = [ "src/zope/size" ];
48
49 pythonNamespaces = [ "zope" ];
50
51 meta = {
52 homepage = "https://github.com/zopefoundation/zope.size";
53 description = "Interfaces and simple adapter that give the size of an object";
54 changelog = "https://github.com/zopefoundation/zope.size/blob/${version}/CHANGES.rst";
55 license = lib.licenses.zpl21;
56 maintainers = [ ];
57 };
58}