1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 fetchFromGitHub,
6
7 # build-system
8 setuptools,
9
10 # dependencies
11 debtcollector,
12 oslo-config,
13 oslo-context,
14 oslo-serialization,
15 oslo-utils,
16 pbr,
17 python-dateutil,
18 pyinotify,
19
20 # tests
21 eventlet,
22 oslotest,
23 pytestCheckHook,
24}:
25
26buildPythonPackage rec {
27 pname = "oslo-log";
28 version = "7.2.1";
29 pyproject = true;
30
31 src = fetchFromGitHub {
32 owner = "openstack";
33 repo = "oslo.log";
34 tag = version;
35 hash = "sha256-DEKRkVaGJeHx/2k3pC/OxtJ0lzFj1IXtRFz1uJJPgR8=";
36 };
37
38 # Manually set version because prb wants to get it from the git upstream repository (and we are
39 # installing from tarball instead)
40 PBR_VERSION = version;
41
42 build-system = [ setuptools ];
43
44 dependencies = [
45 debtcollector
46 oslo-config
47 oslo-context
48 oslo-serialization
49 oslo-utils
50 pbr
51 python-dateutil
52 ]
53 ++ lib.optionals stdenv.hostPlatform.isLinux [ pyinotify ];
54
55 nativeCheckInputs = [
56 eventlet
57 oslotest
58 pytestCheckHook
59 ];
60
61 disabledTests = [
62 # not compatible with sandbox
63 "test_logging_handle_error"
64 # Incompatible Exception Representation, displaying natively
65 "test_rate_limit"
66 "test_rate_limit_except_level"
67 ];
68
69 pythonImportsCheck = [ "oslo_log" ];
70
71 __darwinAllowLocalNetworking = true;
72
73 meta = {
74 description = "oslo.log library";
75 mainProgram = "convert-json";
76 homepage = "https://github.com/openstack/oslo.log";
77 license = lib.licenses.asl20;
78 teams = [ lib.teams.openstack ];
79 };
80}