1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 python,
6 setuptools,
7 zope-i18nmessageid,
8 zope-interface,
9 zope-schema,
10 unittestCheckHook,
11}:
12
13buildPythonPackage rec {
14 pname = "zope-configuration";
15 version = "6.0";
16 pyproject = true;
17
18 src = fetchFromGitHub {
19 owner = "zopefoundation";
20 repo = "zope.configuration";
21 tag = version;
22 hash = "sha256-dkEVIHaXk/oP4uYYzI1hgSnPZXBMDjDu97zmOXnj9NA=";
23 };
24
25 postPatch = ''
26 substituteInPlace pyproject.toml \
27 --replace-fail "setuptools < 74" "setuptools"
28 '';
29
30 build-system = [ setuptools ];
31
32 dependencies = [
33 zope-i18nmessageid
34 zope-interface
35 zope-schema
36 ];
37
38 pythonImportsCheck = [ "zope.configuration" ];
39
40 nativeCheckInputs = [ unittestCheckHook ];
41
42 preCheck = ''
43 cd $out/${python.sitePackages}/zope/
44 '';
45
46 unittestFlagsArray = [ "configuration/tests" ];
47
48 pythonNamespaces = [ "zope" ];
49
50 meta = with lib; {
51 description = "Zope Configuration Markup Language (ZCML)";
52 homepage = "https://github.com/zopefoundation/zope.configuration";
53 changelog = "https://github.com/zopefoundation/zope.configuration/blob/${version}/CHANGES.rst";
54 license = licenses.zpl21;
55 maintainers = [ ];
56 };
57}