1{
2 lib,
3 boto3,
4 botocore,
5 buildPythonPackage,
6 click,
7 configparser,
8 fetchFromGitHub,
9 fido2,
10 lxml,
11 poetry-core,
12 pyopenssl,
13 pytestCheckHook,
14 pythonOlder,
15 requests,
16 requests-kerberos,
17 toml,
18}:
19
20buildPythonPackage rec {
21 pname = "aws-adfs";
22 version = "2.12.1";
23 pyproject = true;
24
25 disabled = pythonOlder "3.7";
26
27 src = fetchFromGitHub {
28 owner = "venth";
29 repo = "aws-adfs";
30 tag = "v${version}";
31 hash = "sha256-U1ptI/VynHArJ1SwX4LanHB0f4U38YZO9XDCXcLBu+s=";
32 };
33
34 build-system = [
35 poetry-core
36 ];
37
38 pythonRelaxDeps = [
39 "configparser"
40 "fido2"
41 "lxml"
42 "requests-kerberos"
43 ];
44
45 dependencies = [
46 boto3
47 botocore
48 click
49 configparser
50 fido2
51 lxml
52 pyopenssl
53 requests
54 requests-kerberos
55 ];
56
57 nativeCheckInputs = [
58 pytestCheckHook
59 toml
60 ];
61
62 preCheck = ''
63 export HOME=$(mktemp -d);
64 '';
65
66 pythonImportsCheck = [ "aws_adfs" ];
67
68 meta = with lib; {
69 description = "Command line tool to ease AWS CLI authentication against ADFS";
70 homepage = "https://github.com/venth/aws-adfs";
71 changelog = "https://github.com/venth/aws-adfs/releases/tag/${src.tag}";
72 license = licenses.psfl;
73 maintainers = with maintainers; [ bhipple ];
74 mainProgram = "aws-adfs";
75 };
76}