Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib
2, buildPythonPackage
3, fasteners
4, fetchFromGitHub
5, gflags
6, httplib2
7, mock
8, oauth2client
9, pytestCheckHook
10, pythonOlder
11, six
12}:
13
14buildPythonPackage rec {
15 pname = "google-apitools";
16 version = "0.5.32";
17 format = "setuptools";
18
19 disabled = pythonOlder "3.7";
20
21 src = fetchFromGitHub {
22 owner = "google";
23 repo = "apitools";
24 rev = "refs/tags/v${version}";
25 hash = "sha256-Z9BTDU6KKCcjspVLi5mJqVZMYEapnMXLPL5BXsIKZAw=";
26 };
27
28 propagatedBuildInputs = [
29 fasteners
30 httplib2
31 oauth2client
32 six
33 ];
34
35 passthru.optional-dependencies = {
36 cli = [
37 gflags
38 ];
39 };
40
41 checkInputs = [
42 mock
43 pytestCheckHook
44 ];
45
46 pythonImportsCheck = [
47 "apitools"
48 ];
49
50 disabledTests = [
51 # AttributeError: 'FieldList' object has no attribute '_FieldList__field'
52 "testPickle"
53 "testDecodeBadBase64BytesField"
54 "testConvertIdThatNeedsEscaping"
55 "testGeneration"
56 ];
57
58 disabledTestPaths = [
59 # Samples are partially postfixed with test
60 "samples"
61 ];
62
63 meta = with lib; {
64 description = "Collection of utilities to make it easier to build client-side tools";
65 homepage = "https://github.com/google/apitools";
66 changelog = "https://github.com/google/apitools/releases/tag/v${version}";
67 license = with licenses; [ asl20 ];
68 maintainers = with maintainers; [ fab ];
69 };
70}