1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 zope-interface,
7 zope-proxy,
8 zope-schema,
9 zope-component,
10 zope-configuration,
11 unittestCheckHook,
12}:
13
14buildPythonPackage rec {
15 pname = "zope-location";
16 version = "5.0";
17 pyproject = true;
18
19 src = fetchFromGitHub {
20 owner = "zopefoundation";
21 repo = "zope.location";
22 tag = version;
23 hash = "sha256-C8tQ4qqzkQx+iU+Pm3iCEchtqOZT/qcYFSzJWzqlhnI=";
24 };
25
26 build-system = [ setuptools ];
27
28 dependencies = [
29 zope-interface
30 zope-proxy
31 zope-schema
32 ];
33
34 optional-dependencies = {
35 zcml = [ zope-configuration ];
36 component = [ zope-component ];
37 };
38
39 pythonImportsCheck = [ "zope.location" ];
40
41 nativeCheckInputs = [ unittestCheckHook ];
42
43 # prevent cirtular import
44 preCheck = ''
45 rm src/zope/location/tests/test_configure.py
46 rm src/zope/location/tests/test_pickling.py
47 '';
48
49 unittestFlagsArray = [ "src/zope/location/tests" ];
50
51 pythonNamespaces = [ "zope" ];
52
53 meta = {
54 homepage = "https://github.com/zopefoundation/zope.location/";
55 description = "Zope Location";
56 changelog = "https://github.com/zopefoundation/zope.location/blob/${src.tag}/CHANGES.rst";
57 license = lib.licenses.zpl21;
58 maintainers = [ ];
59 };
60}