1{
2 lib,
3 python3Packages,
4 fetchFromGitHub,
5 nixosTests,
6}:
7
8python3Packages.buildPythonApplication rec {
9 pname = "stratis-cli";
10 version = "3.8.2";
11 pyproject = true;
12
13 src = fetchFromGitHub {
14 owner = "stratis-storage";
15 repo = "stratis-cli";
16 tag = "v${version}";
17 hash = "sha256-0evuBr3ziiWKkR0FDjZ9BXrfRpQR7JtHsm/sYE8pIbg=";
18 };
19
20 build-system = with python3Packages; [
21 setuptools
22 ];
23
24 dependencies = with python3Packages; [
25 dbus-client-gen
26 dbus-python-client-gen
27 justbytes
28 packaging
29 psutil
30 python-dateutil
31 wcwidth
32 ];
33
34 nativeCheckInputs = with python3Packages; [
35 pytestCheckHook
36 ];
37
38 disabledTestPaths = [
39 # tests below require dbus daemon
40 "tests/whitebox/integration"
41 ];
42
43 pythonImportsCheck = [ "stratis_cli" ];
44
45 env.STRATIS_STRICT_POOL_FEATURES = "1"; # required for unit tests
46
47 passthru.tests = nixosTests.stratis;
48
49 meta = with lib; {
50 description = "CLI for the Stratis project";
51 homepage = "https://stratis-storage.github.io";
52 license = licenses.asl20;
53 maintainers = with maintainers; [ nickcao ];
54 mainProgram = "stratis";
55 };
56}