1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 setuptools,
6 zope-event,
7 zope-hookable,
8 zope-interface,
9 persistent,
10 zope-configuration,
11 zope-i18nmessageid,
12 zope-location,
13 zope-proxy,
14 zope-security,
15 unittestCheckHook,
16}:
17
18buildPythonPackage rec {
19 pname = "zope-component";
20 version = "6.0";
21 pyproject = true;
22
23 src = fetchPypi {
24 pname = "zope.component";
25 inherit version;
26 hash = "sha256-mgoEcq0gG5S0/mdBzprCwwuLsixRYHe/A2kt7E37aQY=";
27 };
28
29 build-system = [ setuptools ];
30
31 dependencies = [
32 zope-event
33 zope-hookable
34 zope-interface
35 ];
36
37 optional-dependencies = {
38 persistentregistry = [ persistent ];
39 security = [
40 zope-location
41 zope-proxy
42 zope-security
43 ];
44 zcml = [
45 zope-configuration
46 zope-i18nmessageid
47 ];
48 };
49
50 pythonImportsCheck = [ "zope.component" ];
51
52 nativeCheckInputs = [
53 unittestCheckHook
54 zope-configuration
55 ];
56
57 unittestFlagsArray = [ "src/zope/component/tests" ];
58
59 # AssertionError: 'test_interface.IFoo' != 'zope.component.tests.test_interface.IFoo'
60 preCheck = ''
61 rm src/zope/component/tests/test_interface.py
62 '';
63
64 pythonNamespaces = [ "zope" ];
65
66 meta = {
67 homepage = "https://github.com/zopefoundation/zope.component";
68 description = "Zope Component Architecture";
69 changelog = "https://github.com/zopefoundation/zope.component/blob/${version}/CHANGES.rst";
70 license = lib.licenses.zpl21;
71 maintainers = [ ];
72 };
73}