1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 oslotest,
6 stestr,
7 pbr,
8 setuptools,
9 typing-extensions,
10}:
11
12buildPythonPackage rec {
13 pname = "oslo-context";
14 version = "6.1.0";
15 pyproject = true;
16
17 src = fetchPypi {
18 inherit version;
19 pname = "oslo_context";
20 hash = "sha256-wajRfHn1DHECTVTMF8wLAeidv/JYMV3BHX4E5rGgLOM=";
21 };
22
23 postPatch = ''
24 # only a small portion of the listed packages are actually needed for running the tests
25 # so instead of removing them one by one remove everything
26 rm test-requirements.txt
27 '';
28
29 build-system = [ setuptools ];
30
31 dependencies = [
32 pbr
33 typing-extensions
34 ];
35
36 nativeCheckInputs = [
37 oslotest
38 stestr
39 ];
40
41 checkPhase = ''
42 runHook preCheck
43 stestr run
44 runHook postCheck
45 '';
46
47 pythonImportsCheck = [ "oslo_context" ];
48
49 meta = with lib; {
50 description = "Oslo Context library";
51 homepage = "https://github.com/openstack/oslo.context";
52 license = licenses.asl20;
53 teams = [ teams.openstack ];
54 };
55}