1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 click,
6 colorama,
7 cryptography,
8 exrex,
9 fetchFromGitHub,
10 poetry-core,
11 pyopenssl,
12 pyperclip,
13 pytest-mock,
14 pytestCheckHook,
15 pythonOlder,
16 questionary,
17 requests,
18 requests-mock,
19}:
20
21buildPythonPackage rec {
22 pname = "myjwt";
23 version = "2.1.0";
24 pyproject = true;
25
26 disabled = pythonOlder "3.10";
27
28 src = fetchFromGitHub {
29 owner = "mBouamama";
30 repo = "MyJWT";
31 tag = version;
32 hash = "sha256-jqBnxo7Omn5gLMCQ7SNbjo54nyFK7pn94796z2Qc9lg=";
33 };
34
35 pythonRelaxDeps = [
36 "cryptography"
37 "pyopenssl"
38 "questionary"
39 ];
40
41 build-system = [
42 poetry-core
43 ];
44
45 dependencies = [
46 click
47 colorama
48 cryptography
49 exrex
50 pyopenssl
51 pyperclip
52 questionary
53 requests
54 ];
55
56 nativeCheckInputs = [
57 pytest-mock
58 pytestCheckHook
59 requests-mock
60 ];
61
62 pythonImportsCheck = [ "myjwt" ];
63
64 meta = with lib; {
65 description = "CLI tool for testing vulnerabilities of JSON Web Tokens (JWT)";
66 homepage = "https://github.com/mBouamama/MyJWT";
67 changelog = "https://github.com/tyki6/MyJWT/releases/tag/${version}";
68 license = with licenses; [ mit ];
69 maintainers = with maintainers; [ fab ];
70 # Build failures
71 broken = stdenv.hostPlatform.isDarwin;
72 };
73}