1{ lib
2, boto
3, buildPythonPackage
4, fasteners
5, fetchFromGitHub
6, freezegun
7, google-reauth
8, httplib2
9, oauth2client
10, pyopenssl
11, pytestCheckHook
12, pythonOlder
13, pythonRelaxDepsHook
14, retry_decorator
15, rsa
16, six
17}:
18
19buildPythonPackage rec {
20 pname = "gcs-oauth2-boto-plugin";
21 version = "3.0";
22 format = "setuptools";
23
24 disabled = pythonOlder "3.7";
25
26 src = fetchFromGitHub {
27 owner = "GoogleCloudPlatform";
28 repo = pname;
29 rev = "refs/tags/v${version}";
30 hash = "sha256-slTxh2j9VhLiSyiTmJIFFakzpzH/+mgilDRxx0VqqKQ=";
31 };
32
33 postPatch = ''
34 substituteInPlace setup.py \
35 --replace "rsa==4.7.2" "rsa" \
36 --replace "version='2.7'" "version='${version}'"
37 '';
38
39 propagatedBuildInputs = [
40 boto
41 freezegun
42 google-reauth
43 httplib2
44 oauth2client
45 pyopenssl
46 retry_decorator
47 rsa
48 six
49 ];
50
51 nativeCheckInputs = [
52 pytestCheckHook
53 ];
54
55 pythonImportsCheck = [
56 "gcs_oauth2_boto_plugin"
57 ];
58
59 meta = with lib; {
60 description = "Auth plugin allowing use the use of OAuth 2.0 credentials for Google Cloud Storage";
61 homepage = "https://github.com/GoogleCloudPlatform/gcs-oauth2-boto-plugin";
62 changelog = "https://github.com/GoogleCloudPlatform/gcs-oauth2-boto-plugin/releases/tag/v${version}";
63 license = with licenses; [ asl20 ];
64 maintainers = with maintainers; [ fab ];
65 };
66}