nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ buildPythonPackage
2, fetchPypi
3, isPy37
4, lib
5
6# pythonPackages
7, aiohttp
8, androguard
9, azure-identity
10, azure-keyvault-keys
11, azure-keyvault-secrets
12, azure-mgmt-compute
13, azure-mgmt-keyvault
14, azure-mgmt-network
15, azure-mgmt-resource
16, azure-mgmt-security
17, azure-mgmt-storage
18, azure-mgmt-web
19, azure-storage-file
20, azure-storage-file-share
21, bandit
22, bcrypt
23, beautifulsoup4
24, boto3
25, cfn-flip
26, cython
27, dnspython
28, colorama
29, configobj
30, defusedxml
31, GitPython
32, google_api_python_client
33, kubernetes
34, ldap3
35, mixpanel
36, mysql-connector
37, names
38, ntplib
39, oyaml
40, paramiko
41, pillow
42, psycopg2
43, pycrypto
44, pygments
45, pyhcl
46, pyjks
47, pynacl
48, pyopenssl
49, pypdf2
50, pysmb
51, python_magic
52, pytz
53, requirements-detector
54, selenium
55, tlslite-ng
56, viewstate
57
58# pythonPackages to test the derivation
59, pytest
60}:
61
62buildPythonPackage rec {
63 pname = "fluidasserts";
64 version = "20.1.33141";
65 disabled = !isPy37;
66
67 src = fetchPypi {
68 inherit pname version;
69 extension = "zip";
70 sha256 = "01l6yb3r19q8b4kwqkrzn7mpfsr65zsgzax2fbs43hb6pq6vavnx";
71 };
72
73 patchPhase = ''
74 # Version mismatches between current FluidAsserts and Nixpkgs
75 substituteInPlace ./setup.py \
76 --replace 'tlslite-ng==0.8.0-alpha36' 'tlslite-ng==0.7.5' \
77 --replace 'boto3==1.11.7' 'boto3==1.10.1' \
78 --replace 'cfn-flip==1.2.2' 'cfn-flip==1.1.0.post1' \
79 --replace 'typed-ast==1.4.1' 'typed-ast==1.4.0' \
80 --replace 'pillow==7.0.0' 'pillow==6.2.1' \
81
82 # Functionality that will be not present for the momment
83 # but that we'll work to add in the future
84 # Just a minimal portion of fluidasserts use this
85 substituteInPlace ./setup.py \
86 --replace "'pymssql==2.1.4'," "" \
87 --replace "'pytesseract==0.3.1'," "" \
88 --replace "'pywinrm==0.4.1'," "" \
89 --replace "'mitmproxy==5.0.1'," "" \
90
91 '';
92
93 propagatedBuildInputs = [
94 # pythonPackages
95 aiohttp
96 androguard
97 azure-identity
98 azure-keyvault-keys
99 azure-keyvault-secrets
100 azure-mgmt-compute
101 azure-mgmt-keyvault
102 azure-mgmt-network
103 azure-mgmt-resource
104 azure-mgmt-security
105 azure-mgmt-storage
106 azure-mgmt-web
107 azure-storage-file
108 azure-storage-file-share
109 bandit
110 bcrypt
111 beautifulsoup4
112 boto3
113 cfn-flip
114 cython
115 dnspython
116 colorama
117 configobj
118 defusedxml
119 GitPython
120 google_api_python_client
121 kubernetes
122 ldap3
123 mixpanel
124 mysql-connector
125 names
126 ntplib
127 oyaml
128 paramiko
129 pillow
130 psycopg2
131 pycrypto
132 pygments
133 pyhcl
134 pyjks
135 pynacl
136 pyopenssl
137 pypdf2
138 pysmb
139 python_magic
140 pytz
141 requirements-detector
142 selenium
143 tlslite-ng
144 viewstate
145 ];
146
147 checkInputs = [
148 pytest
149 ];
150
151 checkPhase = ''
152 # This file launches mock docker containers and servers
153 # let's remove it to create a custom test environment
154 rm test/conftest.py
155
156 pytest \
157 test/test_cloud_aws_terraform_{ebs,ec2}.py \
158 test/test_cloud_aws_cloudformation_{cloudfront,dynamodb,ec2,elb,elb2}.py \
159 test/test_cloud_aws_cloudformation_{fsx,iam,kms,rds,s3,secretsmanager}.py \
160 test/test_format_{apk,jks,jwt,pdf,pkcs12,string}.py \
161 test/test_helper_{asynchronous,crypto}.py \
162 test/test_lang_{javascript,java}.py \
163 test/test_lang_{core,csharp,docker,dotnetconfig,html,php,python,rpgle}.py \
164 test/test_utils_generic.py
165
166 '';
167
168 meta = with lib; {
169 description = "Assertion Library for Security Assumptions";
170 homepage = "https://gitlab.com/fluidattacks/asserts";
171 license = licenses.mpl20;
172 maintainers = with maintainers; [
173 kamadorueda
174 ];
175 broken = true;
176 };
177}