1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 isPy3k,
6 setuptools,
7 colorama,
8 texttable,
9 tqdm,
10 certifi,
11 housekeeping,
12 puremagic,
13 pydiffx,
14 typing-extensions,
15 importlib-metadata,
16 importlib-resources,
17 packaging,
18 pytestCheckHook,
19 pytest-env,
20 kgb,
21 gitSetupHook,
22 gitFull,
23 subversion,
24}:
25
26buildPythonPackage rec {
27 pname = "rbtools";
28 version = "5.2.1";
29 pyproject = true;
30 disabled = !isPy3k;
31
32 src = fetchFromGitHub {
33 owner = "reviewboard";
34 repo = "rbtools";
35 tag = "release-${version}";
36 hash = "sha256-Ci9lHlP2X95y7ldHBbqb5qWozPj3TJ0AxeVhqzVsdFA=";
37 };
38
39 build-system = [ setuptools ];
40
41 dependencies = [
42 texttable
43 tqdm
44 colorama
45 certifi
46 housekeeping
47 puremagic
48 pydiffx
49 typing-extensions
50 importlib-metadata
51 importlib-resources
52 packaging
53 ];
54
55 pythonRelaxDeps = [ "pydiffx" ];
56
57 nativeCheckInputs = [
58 pytestCheckHook
59 pytest-env
60 kgb
61 gitSetupHook
62 gitFull
63 subversion
64 ];
65
66 disabledTestPaths = [
67 "rbtools/utils/tests/test_repository.py::RepositoryMatchTests::test_find_matching_server_repository_no_match" # AttributeError: 'APICache' object has no attribute 'db'
68 # kgb.errors.ExistingSpyError
69 "rbtools/utils/tests/test_repository.py::RepositoryMatchTests::test_find_matching_server_repository_with_mirror_path_match"
70 "rbtools/utils/tests/test_repository.py::RepositoryMatchTests::test_find_matching_server_repository_with_multiple_matches"
71 "rbtools/utils/tests/test_repository.py::RepositoryMatchTests::test_find_matching_server_repository_with_path_match"
72 "rbtools/diffs/tests/test_apple_diff_tool.py::AppleDiffToolTests::test_run_diff_file_with_text_differences" # AssertionError: b'---[38 chars]0000 +0000\n+++ /path2.txt\t2022-09-26 10:20:3[42 chars]ar\n' != b'---[38 chars]0000 -0700\n+++ /path2.txt\t2022-09-26 10:20:3[42 chars]ar\n'
73 # rbtools.utils.process.RunProcessError: Unexpected error executing the command: svn co file:///build/source/rbtools/clients/tests/testdata/svn-repo /build/rbtools._bw2ih4g/working/svn-repo
74 "rbtools/clients/tests/test_svn.py"
75 "rbtools/utils/tests/test_source_tree.py"
76 "rbtools/clients/tests/test_scanning.py::ScanningTests::test_scanning_nested_repos_1"
77 "rbtools/clients/tests/test_scanning.py::ScanningTests::test_scanning_nested_repos_2"
78 ];
79
80 meta = {
81 homepage = "https://www.reviewboard.org/docs/rbtools/dev/";
82 description = "RBTools is a set of command line tools for working with Review Board and RBCommons";
83 mainProgram = "rbt";
84 license = lib.licenses.mit;
85 maintainers = with lib.maintainers; [ ];
86 };
87}