##// END OF EJS Templates
channelstream: do not send comment notifications to the commenting user
ergo -
r544:db07bcfc default
parent child Browse files
Show More
@@ -1,1732 +1,1732 b''
1 1 {
2 2 Babel = super.buildPythonPackage {
3 3 name = "Babel-1.3";
4 4 buildInputs = with self; [];
5 5 doCheck = false;
6 6 propagatedBuildInputs = with self; [pytz];
7 7 src = fetchurl {
8 8 url = "https://pypi.python.org/packages/33/27/e3978243a03a76398c384c83f7ca879bc6e8f1511233a621fcada135606e/Babel-1.3.tar.gz";
9 9 md5 = "5264ceb02717843cbc9ffce8e6e06bdb";
10 10 };
11 11 meta = {
12 12 license = [ pkgs.lib.licenses.bsdOriginal ];
13 13 };
14 14 };
15 15 Beaker = super.buildPythonPackage {
16 16 name = "Beaker-1.7.0";
17 17 buildInputs = with self; [];
18 18 doCheck = false;
19 19 propagatedBuildInputs = with self; [];
20 20 src = fetchurl {
21 21 url = "https://pypi.python.org/packages/97/8e/409d2e7c009b8aa803dc9e6f239f1db7c3cdf578249087a404e7c27a505d/Beaker-1.7.0.tar.gz";
22 22 md5 = "386be3f7fe427358881eee4622b428b3";
23 23 };
24 24 meta = {
25 25 license = [ pkgs.lib.licenses.bsdOriginal ];
26 26 };
27 27 };
28 28 CProfileV = super.buildPythonPackage {
29 29 name = "CProfileV-1.0.6";
30 30 buildInputs = with self; [];
31 31 doCheck = false;
32 32 propagatedBuildInputs = with self; [bottle];
33 33 src = fetchurl {
34 34 url = "https://pypi.python.org/packages/eb/df/983a0b6cfd3ac94abf023f5011cb04f33613ace196e33f53c86cf91850d5/CProfileV-1.0.6.tar.gz";
35 35 md5 = "08c7c242b6e64237bc53c5d13537e03d";
36 36 };
37 37 meta = {
38 38 license = [ pkgs.lib.licenses.mit ];
39 39 };
40 40 };
41 41 Chameleon = super.buildPythonPackage {
42 42 name = "Chameleon-2.24";
43 43 buildInputs = with self; [];
44 44 doCheck = false;
45 45 propagatedBuildInputs = with self; [];
46 46 src = fetchurl {
47 47 url = "https://pypi.python.org/packages/5a/9e/637379ffa13c5172b5c0e704833ffea6bf51cec7567f93fd6e903d53ed74/Chameleon-2.24.tar.gz";
48 48 md5 = "1b01f1f6533a8a11d0d2f2366dec5342";
49 49 };
50 50 meta = {
51 51 license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ];
52 52 };
53 53 };
54 54 Fabric = super.buildPythonPackage {
55 55 name = "Fabric-1.10.0";
56 56 buildInputs = with self; [];
57 57 doCheck = false;
58 58 propagatedBuildInputs = with self; [paramiko];
59 59 src = fetchurl {
60 60 url = "https://pypi.python.org/packages/e3/5f/b6ebdb5241d5ec9eab582a5c8a01255c1107da396f849e538801d2fe64a5/Fabric-1.10.0.tar.gz";
61 61 md5 = "2cb96473387f0e7aa035210892352f4a";
62 62 };
63 63 meta = {
64 64 license = [ pkgs.lib.licenses.bsdOriginal ];
65 65 };
66 66 };
67 67 FormEncode = super.buildPythonPackage {
68 68 name = "FormEncode-1.2.4";
69 69 buildInputs = with self; [];
70 70 doCheck = false;
71 71 propagatedBuildInputs = with self; [];
72 72 src = fetchurl {
73 73 url = "https://pypi.python.org/packages/8e/59/0174271a6f004512e0201188593e6d319db139d14cb7490e488bbb078015/FormEncode-1.2.4.tar.gz";
74 74 md5 = "6bc17fb9aed8aea198975e888e2077f4";
75 75 };
76 76 meta = {
77 77 license = [ pkgs.lib.licenses.psfl ];
78 78 };
79 79 };
80 80 Jinja2 = super.buildPythonPackage {
81 81 name = "Jinja2-2.7.3";
82 82 buildInputs = with self; [];
83 83 doCheck = false;
84 84 propagatedBuildInputs = with self; [MarkupSafe];
85 85 src = fetchurl {
86 86 url = "https://pypi.python.org/packages/b0/73/eab0bca302d6d6a0b5c402f47ad1760dc9cb2dd14bbc1873ad48db258e4d/Jinja2-2.7.3.tar.gz";
87 87 md5 = "b9dffd2f3b43d673802fe857c8445b1a";
88 88 };
89 89 meta = {
90 90 license = [ pkgs.lib.licenses.bsdOriginal ];
91 91 };
92 92 };
93 93 Mako = super.buildPythonPackage {
94 94 name = "Mako-1.0.1";
95 95 buildInputs = with self; [];
96 96 doCheck = false;
97 97 propagatedBuildInputs = with self; [MarkupSafe];
98 98 src = fetchurl {
99 99 url = "https://pypi.python.org/packages/8e/a4/aa56533ecaa5f22ca92428f74e074d0c9337282933c722391902c8f9e0f8/Mako-1.0.1.tar.gz";
100 100 md5 = "9f0aafd177b039ef67b90ea350497a54";
101 101 };
102 102 meta = {
103 103 license = [ pkgs.lib.licenses.mit ];
104 104 };
105 105 };
106 106 Markdown = super.buildPythonPackage {
107 107 name = "Markdown-2.6.2";
108 108 buildInputs = with self; [];
109 109 doCheck = false;
110 110 propagatedBuildInputs = with self; [];
111 111 src = fetchurl {
112 112 url = "https://pypi.python.org/packages/62/8b/83658b5f6c220d5fcde9f9852d46ea54765d734cfbc5a9f4c05bfc36db4d/Markdown-2.6.2.tar.gz";
113 113 md5 = "256d19afcc564dc4ce4c229bb762f7ae";
114 114 };
115 115 meta = {
116 116 license = [ pkgs.lib.licenses.bsdOriginal ];
117 117 };
118 118 };
119 119 MarkupSafe = super.buildPythonPackage {
120 120 name = "MarkupSafe-0.23";
121 121 buildInputs = with self; [];
122 122 doCheck = false;
123 123 propagatedBuildInputs = with self; [];
124 124 src = fetchurl {
125 125 url = "https://pypi.python.org/packages/c0/41/bae1254e0396c0cc8cf1751cb7d9afc90a602353695af5952530482c963f/MarkupSafe-0.23.tar.gz";
126 126 md5 = "f5ab3deee4c37cd6a922fb81e730da6e";
127 127 };
128 128 meta = {
129 129 license = [ pkgs.lib.licenses.bsdOriginal ];
130 130 };
131 131 };
132 132 MySQL-python = super.buildPythonPackage {
133 133 name = "MySQL-python-1.2.5";
134 134 buildInputs = with self; [];
135 135 doCheck = false;
136 136 propagatedBuildInputs = with self; [];
137 137 src = fetchurl {
138 138 url = "https://pypi.python.org/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip";
139 139 md5 = "654f75b302db6ed8dc5a898c625e030c";
140 140 };
141 141 meta = {
142 142 license = [ pkgs.lib.licenses.gpl1 ];
143 143 };
144 144 };
145 145 Paste = super.buildPythonPackage {
146 146 name = "Paste-2.0.2";
147 147 buildInputs = with self; [];
148 148 doCheck = false;
149 149 propagatedBuildInputs = with self; [six];
150 150 src = fetchurl {
151 151 url = "https://pypi.python.org/packages/d5/8d/0f8ac40687b97ff3e07ebd1369be20bdb3f93864d2dc3c2ff542edb4ce50/Paste-2.0.2.tar.gz";
152 152 md5 = "4bfc8a7eaf858f6309d2ac0f40fc951c";
153 153 };
154 154 meta = {
155 155 license = [ pkgs.lib.licenses.mit ];
156 156 };
157 157 };
158 158 PasteDeploy = super.buildPythonPackage {
159 159 name = "PasteDeploy-1.5.2";
160 160 buildInputs = with self; [];
161 161 doCheck = false;
162 162 propagatedBuildInputs = with self; [];
163 163 src = fetchurl {
164 164 url = "https://pypi.python.org/packages/0f/90/8e20cdae206c543ea10793cbf4136eb9a8b3f417e04e40a29d72d9922cbd/PasteDeploy-1.5.2.tar.gz";
165 165 md5 = "352b7205c78c8de4987578d19431af3b";
166 166 };
167 167 meta = {
168 168 license = [ pkgs.lib.licenses.mit ];
169 169 };
170 170 };
171 171 PasteScript = super.buildPythonPackage {
172 172 name = "PasteScript-1.7.5";
173 173 buildInputs = with self; [];
174 174 doCheck = false;
175 175 propagatedBuildInputs = with self; [Paste PasteDeploy];
176 176 src = fetchurl {
177 177 url = "https://pypi.python.org/packages/a5/05/fc60efa7c2f17a1dbaeccb2a903a1e90902d92b9d00eebabe3095829d806/PasteScript-1.7.5.tar.gz";
178 178 md5 = "4c72d78dcb6bb993f30536842c16af4d";
179 179 };
180 180 meta = {
181 181 license = [ pkgs.lib.licenses.mit ];
182 182 };
183 183 };
184 184 Pygments = super.buildPythonPackage {
185 185 name = "Pygments-2.1.3";
186 186 buildInputs = with self; [];
187 187 doCheck = false;
188 188 propagatedBuildInputs = with self; [];
189 189 src = fetchurl {
190 190 url = "https://pypi.python.org/packages/b8/67/ab177979be1c81bc99c8d0592ef22d547e70bb4c6815c383286ed5dec504/Pygments-2.1.3.tar.gz";
191 191 md5 = "ed3fba2467c8afcda4d317e4ef2c6150";
192 192 };
193 193 meta = {
194 194 license = [ pkgs.lib.licenses.bsdOriginal ];
195 195 };
196 196 };
197 197 Pylons = super.buildPythonPackage {
198 198 name = "Pylons-1.0.1";
199 199 buildInputs = with self; [];
200 200 doCheck = false;
201 201 propagatedBuildInputs = with self; [Routes WebHelpers Beaker Paste PasteDeploy PasteScript FormEncode simplejson decorator nose Mako WebError WebTest Tempita MarkupSafe WebOb];
202 202 src = fetchurl {
203 203 url = "https://pypi.python.org/packages/a2/69/b835a6bad00acbfeed3f33c6e44fa3f936efc998c795bfb15c61a79ecf62/Pylons-1.0.1.tar.gz";
204 204 md5 = "6cb880d75fa81213192142b07a6e4915";
205 205 };
206 206 meta = {
207 207 license = [ pkgs.lib.licenses.bsdOriginal ];
208 208 };
209 209 };
210 210 Pyro4 = super.buildPythonPackage {
211 211 name = "Pyro4-4.41";
212 212 buildInputs = with self; [];
213 213 doCheck = false;
214 214 propagatedBuildInputs = with self; [serpent];
215 215 src = fetchurl {
216 216 url = "https://pypi.python.org/packages/56/2b/89b566b4bf3e7f8ba790db2d1223852f8cb454c52cab7693dd41f608ca2a/Pyro4-4.41.tar.gz";
217 217 md5 = "ed69e9bfafa9c06c049a87cb0c4c2b6c";
218 218 };
219 219 meta = {
220 220 license = [ pkgs.lib.licenses.mit ];
221 221 };
222 222 };
223 223 Routes = super.buildPythonPackage {
224 224 name = "Routes-1.13";
225 225 buildInputs = with self; [];
226 226 doCheck = false;
227 227 propagatedBuildInputs = with self; [repoze.lru];
228 228 src = fetchurl {
229 229 url = "https://pypi.python.org/packages/88/d3/259c3b3cde8837eb9441ab5f574a660e8a4acea8f54a078441d4d2acac1c/Routes-1.13.tar.gz";
230 230 md5 = "d527b0ab7dd9172b1275a41f97448783";
231 231 };
232 232 meta = {
233 233 license = [ pkgs.lib.licenses.bsdOriginal ];
234 234 };
235 235 };
236 236 SQLAlchemy = super.buildPythonPackage {
237 237 name = "SQLAlchemy-0.9.9";
238 238 buildInputs = with self; [];
239 239 doCheck = false;
240 240 propagatedBuildInputs = with self; [];
241 241 src = fetchurl {
242 242 url = "https://pypi.python.org/packages/28/f7/1bbfd0d8597e8c358d5e15a166a486ad82fc5579b4e67b6ef7c05b1d182b/SQLAlchemy-0.9.9.tar.gz";
243 243 md5 = "8a10a9bd13ed3336ef7333ac2cc679ff";
244 244 };
245 245 meta = {
246 246 license = [ pkgs.lib.licenses.mit ];
247 247 };
248 248 };
249 249 Sphinx = super.buildPythonPackage {
250 250 name = "Sphinx-1.2.2";
251 251 buildInputs = with self; [];
252 252 doCheck = false;
253 253 propagatedBuildInputs = with self; [Pygments docutils Jinja2];
254 254 src = fetchurl {
255 255 url = "https://pypi.python.org/packages/0a/50/34017e6efcd372893a416aba14b84a1a149fc7074537b0e9cb6ca7b7abe9/Sphinx-1.2.2.tar.gz";
256 256 md5 = "3dc73ccaa8d0bfb2d62fb671b1f7e8a4";
257 257 };
258 258 meta = {
259 259 license = [ pkgs.lib.licenses.bsdOriginal ];
260 260 };
261 261 };
262 262 Tempita = super.buildPythonPackage {
263 263 name = "Tempita-0.5.2";
264 264 buildInputs = with self; [];
265 265 doCheck = false;
266 266 propagatedBuildInputs = with self; [];
267 267 src = fetchurl {
268 268 url = "https://pypi.python.org/packages/56/c8/8ed6eee83dbddf7b0fc64dd5d4454bc05e6ccaafff47991f73f2894d9ff4/Tempita-0.5.2.tar.gz";
269 269 md5 = "4c2f17bb9d481821c41b6fbee904cea1";
270 270 };
271 271 meta = {
272 272 license = [ pkgs.lib.licenses.mit ];
273 273 };
274 274 };
275 275 URLObject = super.buildPythonPackage {
276 276 name = "URLObject-2.4.0";
277 277 buildInputs = with self; [];
278 278 doCheck = false;
279 279 propagatedBuildInputs = with self; [];
280 280 src = fetchurl {
281 281 url = "https://pypi.python.org/packages/cb/b6/e25e58500f9caef85d664bec71ec67c116897bfebf8622c32cb75d1ca199/URLObject-2.4.0.tar.gz";
282 282 md5 = "2ed819738a9f0a3051f31dc9924e3065";
283 283 };
284 284 meta = {
285 285 license = [ ];
286 286 };
287 287 };
288 288 WebError = super.buildPythonPackage {
289 289 name = "WebError-0.10.3";
290 290 buildInputs = with self; [];
291 291 doCheck = false;
292 292 propagatedBuildInputs = with self; [WebOb Tempita Pygments Paste];
293 293 src = fetchurl {
294 294 url = "https://pypi.python.org/packages/35/76/e7e5c2ce7e9c7f31b54c1ff295a495886d1279a002557d74dd8957346a79/WebError-0.10.3.tar.gz";
295 295 md5 = "84b9990b0baae6fd440b1e60cdd06f9a";
296 296 };
297 297 meta = {
298 298 license = [ pkgs.lib.licenses.mit ];
299 299 };
300 300 };
301 301 WebHelpers = super.buildPythonPackage {
302 302 name = "WebHelpers-1.3";
303 303 buildInputs = with self; [];
304 304 doCheck = false;
305 305 propagatedBuildInputs = with self; [MarkupSafe];
306 306 src = fetchurl {
307 307 url = "https://pypi.python.org/packages/ee/68/4d07672821d514184357f1552f2dad923324f597e722de3b016ca4f7844f/WebHelpers-1.3.tar.gz";
308 308 md5 = "32749ffadfc40fea51075a7def32588b";
309 309 };
310 310 meta = {
311 311 license = [ pkgs.lib.licenses.bsdOriginal ];
312 312 };
313 313 };
314 314 WebHelpers2 = super.buildPythonPackage {
315 315 name = "WebHelpers2-2.0";
316 316 buildInputs = with self; [];
317 317 doCheck = false;
318 318 propagatedBuildInputs = with self; [MarkupSafe six];
319 319 src = fetchurl {
320 320 url = "https://pypi.python.org/packages/ff/30/56342c6ea522439e3662427c8d7b5e5b390dff4ff2dc92d8afcb8ab68b75/WebHelpers2-2.0.tar.gz";
321 321 md5 = "0f6b68d70c12ee0aed48c00b24da13d3";
322 322 };
323 323 meta = {
324 324 license = [ pkgs.lib.licenses.mit ];
325 325 };
326 326 };
327 327 WebOb = super.buildPythonPackage {
328 328 name = "WebOb-1.3.1";
329 329 buildInputs = with self; [];
330 330 doCheck = false;
331 331 propagatedBuildInputs = with self; [];
332 332 src = fetchurl {
333 333 url = "https://pypi.python.org/packages/16/78/adfc0380b8a0d75b2d543fa7085ba98a573b1ae486d9def88d172b81b9fa/WebOb-1.3.1.tar.gz";
334 334 md5 = "20918251c5726956ba8fef22d1556177";
335 335 };
336 336 meta = {
337 337 license = [ pkgs.lib.licenses.mit ];
338 338 };
339 339 };
340 340 WebTest = super.buildPythonPackage {
341 341 name = "WebTest-1.4.3";
342 342 buildInputs = with self; [];
343 343 doCheck = false;
344 344 propagatedBuildInputs = with self; [WebOb];
345 345 src = fetchurl {
346 346 url = "https://pypi.python.org/packages/51/3d/84fd0f628df10b30c7db87895f56d0158e5411206b721ca903cb51bfd948/WebTest-1.4.3.zip";
347 347 md5 = "631ce728bed92c681a4020a36adbc353";
348 348 };
349 349 meta = {
350 350 license = [ pkgs.lib.licenses.mit ];
351 351 };
352 352 };
353 353 Whoosh = super.buildPythonPackage {
354 354 name = "Whoosh-2.7.0";
355 355 buildInputs = with self; [];
356 356 doCheck = false;
357 357 propagatedBuildInputs = with self; [];
358 358 src = fetchurl {
359 359 url = "https://pypi.python.org/packages/1c/dc/2f0231ff3875ded36df8c1ab851451e51a237dc0e5a86d3d96036158da94/Whoosh-2.7.0.zip";
360 360 md5 = "7abfd970f16fadc7311960f3fa0bc7a9";
361 361 };
362 362 meta = {
363 363 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.bsd2 ];
364 364 };
365 365 };
366 366 alembic = super.buildPythonPackage {
367 367 name = "alembic-0.8.4";
368 368 buildInputs = with self; [];
369 369 doCheck = false;
370 370 propagatedBuildInputs = with self; [SQLAlchemy Mako python-editor];
371 371 src = fetchurl {
372 372 url = "https://pypi.python.org/packages/ca/7e/299b4499b5c75e5a38c5845145ad24755bebfb8eec07a2e1c366b7181eeb/alembic-0.8.4.tar.gz";
373 373 md5 = "5f95d8ee62b443f9b37eb5bee76c582d";
374 374 };
375 375 meta = {
376 376 license = [ pkgs.lib.licenses.mit ];
377 377 };
378 378 };
379 379 amqplib = super.buildPythonPackage {
380 380 name = "amqplib-1.0.2";
381 381 buildInputs = with self; [];
382 382 doCheck = false;
383 383 propagatedBuildInputs = with self; [];
384 384 src = fetchurl {
385 385 url = "https://pypi.python.org/packages/75/b7/8c2429bf8d92354a0118614f9a4d15e53bc69ebedce534284111de5a0102/amqplib-1.0.2.tgz";
386 386 md5 = "5c92f17fbedd99b2b4a836d4352d1e2f";
387 387 };
388 388 meta = {
389 389 license = [ { fullName = "LGPL"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ];
390 390 };
391 391 };
392 392 anyjson = super.buildPythonPackage {
393 393 name = "anyjson-0.3.3";
394 394 buildInputs = with self; [];
395 395 doCheck = false;
396 396 propagatedBuildInputs = with self; [];
397 397 src = fetchurl {
398 398 url = "https://pypi.python.org/packages/c3/4d/d4089e1a3dd25b46bebdb55a992b0797cff657b4477bc32ce28038fdecbc/anyjson-0.3.3.tar.gz";
399 399 md5 = "2ea28d6ec311aeeebaf993cb3008b27c";
400 400 };
401 401 meta = {
402 402 license = [ pkgs.lib.licenses.bsdOriginal ];
403 403 };
404 404 };
405 405 appenlight-client = super.buildPythonPackage {
406 406 name = "appenlight-client-0.6.14";
407 407 buildInputs = with self; [];
408 408 doCheck = false;
409 409 propagatedBuildInputs = with self; [WebOb requests];
410 410 src = fetchurl {
411 411 url = "https://pypi.python.org/packages/4d/e0/23fee3ebada8143f707e65c06bcb82992040ee64ea8355e044ed55ebf0c1/appenlight_client-0.6.14.tar.gz";
412 412 md5 = "578c69b09f4356d898fff1199b98a95c";
413 413 };
414 414 meta = {
415 415 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "DFSG approved"; } ];
416 416 };
417 417 };
418 418 authomatic = super.buildPythonPackage {
419 419 name = "authomatic-0.1.0.post1";
420 420 buildInputs = with self; [];
421 421 doCheck = false;
422 422 propagatedBuildInputs = with self; [];
423 423 src = fetchurl {
424 424 url = "https://pypi.python.org/packages/08/1a/8a930461e604c2d5a7a871e1ac59fa82ccf994c32e807230c8d2fb07815a/Authomatic-0.1.0.post1.tar.gz";
425 425 md5 = "be3f3ce08747d776aae6d6cc8dcb49a9";
426 426 };
427 427 meta = {
428 428 license = [ pkgs.lib.licenses.mit ];
429 429 };
430 430 };
431 431 backport-ipaddress = super.buildPythonPackage {
432 432 name = "backport-ipaddress-0.1";
433 433 buildInputs = with self; [];
434 434 doCheck = false;
435 435 propagatedBuildInputs = with self; [];
436 436 src = fetchurl {
437 437 url = "https://pypi.python.org/packages/d3/30/54c6dab05a4dec44db25ff309f1fbb6b7a8bde3f2bade38bb9da67bbab8f/backport_ipaddress-0.1.tar.gz";
438 438 md5 = "9c1f45f4361f71b124d7293a60006c05";
439 439 };
440 440 meta = {
441 441 license = [ pkgs.lib.licenses.psfl ];
442 442 };
443 443 };
444 444 bottle = super.buildPythonPackage {
445 445 name = "bottle-0.12.8";
446 446 buildInputs = with self; [];
447 447 doCheck = false;
448 448 propagatedBuildInputs = with self; [];
449 449 src = fetchurl {
450 450 url = "https://pypi.python.org/packages/52/df/e4a408f3a7af396d186d4ecd3b389dd764f0f943b4fa8d257bfe7b49d343/bottle-0.12.8.tar.gz";
451 451 md5 = "13132c0a8f607bf860810a6ee9064c5b";
452 452 };
453 453 meta = {
454 454 license = [ pkgs.lib.licenses.mit ];
455 455 };
456 456 };
457 457 bumpversion = super.buildPythonPackage {
458 458 name = "bumpversion-0.5.3";
459 459 buildInputs = with self; [];
460 460 doCheck = false;
461 461 propagatedBuildInputs = with self; [];
462 462 src = fetchurl {
463 463 url = "https://pypi.python.org/packages/14/41/8c9da3549f8e00c84f0432c3a8cf8ed6898374714676aab91501d48760db/bumpversion-0.5.3.tar.gz";
464 464 md5 = "c66a3492eafcf5ad4b024be9fca29820";
465 465 };
466 466 meta = {
467 467 license = [ pkgs.lib.licenses.mit ];
468 468 };
469 469 };
470 470 celery = super.buildPythonPackage {
471 471 name = "celery-2.2.10";
472 472 buildInputs = with self; [];
473 473 doCheck = false;
474 474 propagatedBuildInputs = with self; [python-dateutil anyjson kombu pyparsing];
475 475 src = fetchurl {
476 476 url = "https://pypi.python.org/packages/b1/64/860fd50e45844c83442e7953effcddeff66b2851d90b2d784f7201c111b8/celery-2.2.10.tar.gz";
477 477 md5 = "898bc87e54f278055b561316ba73e222";
478 478 };
479 479 meta = {
480 480 license = [ pkgs.lib.licenses.bsdOriginal ];
481 481 };
482 482 };
483 483 channelstream = super.buildPythonPackage {
484 name = "channelstream-0.4.2";
484 name = "channelstream-0.5.2";
485 485 buildInputs = with self; [];
486 486 doCheck = false;
487 propagatedBuildInputs = with self; [gevent gevent-websocket pyramid pyramid-jinja2 itsdangerous];
487 propagatedBuildInputs = with self; [gevent ws4py pyramid pyramid-jinja2 itsdangerous requests six];
488 488 src = fetchurl {
489 url = "https://pypi.python.org/packages/91/e7/b5faffc810e5e31aa01e74e43f9d66aaf52034d03e54c2782c474cb3e8a7/channelstream-0.4.2.tar.gz";
490 md5 = "5857cc2b1cef993088817ccc31285254";
489 url = "https://pypi.python.org/packages/2b/31/29a8e085cf5bf97fa88e7b947adabfc581a18a3463adf77fb6dada34a65f/channelstream-0.5.2.tar.gz";
490 md5 = "1c5eb2a8a405be6f1073da94da6d81d3";
491 491 };
492 492 meta = {
493 493 license = [ pkgs.lib.licenses.bsdOriginal ];
494 494 };
495 495 };
496 496 click = super.buildPythonPackage {
497 497 name = "click-5.1";
498 498 buildInputs = with self; [];
499 499 doCheck = false;
500 500 propagatedBuildInputs = with self; [];
501 501 src = fetchurl {
502 502 url = "https://pypi.python.org/packages/b7/34/a496632c4fb6c1ee76efedf77bb8d28b29363d839953d95095b12defe791/click-5.1.tar.gz";
503 503 md5 = "9c5323008cccfe232a8b161fc8196d41";
504 504 };
505 505 meta = {
506 506 license = [ pkgs.lib.licenses.bsdOriginal ];
507 507 };
508 508 };
509 509 colander = super.buildPythonPackage {
510 510 name = "colander-1.2";
511 511 buildInputs = with self; [];
512 512 doCheck = false;
513 513 propagatedBuildInputs = with self; [translationstring iso8601];
514 514 src = fetchurl {
515 515 url = "https://pypi.python.org/packages/14/23/c9ceba07a6a1dc0eefbb215fc0dc64aabc2b22ee756bc0f0c13278fa0887/colander-1.2.tar.gz";
516 516 md5 = "83db21b07936a0726e588dae1914b9ed";
517 517 };
518 518 meta = {
519 519 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
520 520 };
521 521 };
522 522 configobj = super.buildPythonPackage {
523 523 name = "configobj-5.0.6";
524 524 buildInputs = with self; [];
525 525 doCheck = false;
526 526 propagatedBuildInputs = with self; [six];
527 527 src = fetchurl {
528 528 url = "https://pypi.python.org/packages/64/61/079eb60459c44929e684fa7d9e2fdca403f67d64dd9dbac27296be2e0fab/configobj-5.0.6.tar.gz";
529 529 md5 = "e472a3a1c2a67bb0ec9b5d54c13a47d6";
530 530 };
531 531 meta = {
532 532 license = [ pkgs.lib.licenses.bsdOriginal ];
533 533 };
534 534 };
535 535 cov-core = super.buildPythonPackage {
536 536 name = "cov-core-1.15.0";
537 537 buildInputs = with self; [];
538 538 doCheck = false;
539 539 propagatedBuildInputs = with self; [coverage];
540 540 src = fetchurl {
541 541 url = "https://pypi.python.org/packages/4b/87/13e75a47b4ba1be06f29f6d807ca99638bedc6b57fa491cd3de891ca2923/cov-core-1.15.0.tar.gz";
542 542 md5 = "f519d4cb4c4e52856afb14af52919fe6";
543 543 };
544 544 meta = {
545 545 license = [ pkgs.lib.licenses.mit ];
546 546 };
547 547 };
548 548 coverage = super.buildPythonPackage {
549 549 name = "coverage-3.7.1";
550 550 buildInputs = with self; [];
551 551 doCheck = false;
552 552 propagatedBuildInputs = with self; [];
553 553 src = fetchurl {
554 554 url = "https://pypi.python.org/packages/09/4f/89b06c7fdc09687bca507dc411c342556ef9c5a3b26756137a4878ff19bf/coverage-3.7.1.tar.gz";
555 555 md5 = "c47b36ceb17eaff3ecfab3bcd347d0df";
556 556 };
557 557 meta = {
558 558 license = [ pkgs.lib.licenses.bsdOriginal ];
559 559 };
560 560 };
561 561 cssselect = super.buildPythonPackage {
562 562 name = "cssselect-0.9.1";
563 563 buildInputs = with self; [];
564 564 doCheck = false;
565 565 propagatedBuildInputs = with self; [];
566 566 src = fetchurl {
567 567 url = "https://pypi.python.org/packages/aa/e5/9ee1460d485b94a6d55732eb7ad5b6c084caf73dd6f9cb0bb7d2a78fafe8/cssselect-0.9.1.tar.gz";
568 568 md5 = "c74f45966277dc7a0f768b9b0f3522ac";
569 569 };
570 570 meta = {
571 571 license = [ pkgs.lib.licenses.bsdOriginal ];
572 572 };
573 573 };
574 574 decorator = super.buildPythonPackage {
575 575 name = "decorator-3.4.2";
576 576 buildInputs = with self; [];
577 577 doCheck = false;
578 578 propagatedBuildInputs = with self; [];
579 579 src = fetchurl {
580 580 url = "https://pypi.python.org/packages/35/3a/42566eb7a2cbac774399871af04e11d7ae3fc2579e7dae85213b8d1d1c57/decorator-3.4.2.tar.gz";
581 581 md5 = "9e0536870d2b83ae27d58dbf22582f4d";
582 582 };
583 583 meta = {
584 584 license = [ pkgs.lib.licenses.bsdOriginal ];
585 585 };
586 586 };
587 587 deform = super.buildPythonPackage {
588 588 name = "deform-2.0a2";
589 589 buildInputs = with self; [];
590 590 doCheck = false;
591 591 propagatedBuildInputs = with self; [Chameleon colander peppercorn translationstring zope.deprecation];
592 592 src = fetchurl {
593 593 url = "https://pypi.python.org/packages/8d/b3/aab57e81da974a806dc9c5fa024a6404720f890a6dcf2e80885e3cb4609a/deform-2.0a2.tar.gz";
594 594 md5 = "7a90d41f7fbc18002ce74f39bd90a5e4";
595 595 };
596 596 meta = {
597 597 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
598 598 };
599 599 };
600 600 docutils = super.buildPythonPackage {
601 601 name = "docutils-0.12";
602 602 buildInputs = with self; [];
603 603 doCheck = false;
604 604 propagatedBuildInputs = with self; [];
605 605 src = fetchurl {
606 606 url = "https://pypi.python.org/packages/37/38/ceda70135b9144d84884ae2fc5886c6baac4edea39550f28bcd144c1234d/docutils-0.12.tar.gz";
607 607 md5 = "4622263b62c5c771c03502afa3157768";
608 608 };
609 609 meta = {
610 610 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.publicDomain pkgs.lib.licenses.gpl1 { fullName = "public domain, Python, 2-Clause BSD, GPL 3 (see COPYING.txt)"; } pkgs.lib.licenses.psfl ];
611 611 };
612 612 };
613 613 dogpile.cache = super.buildPythonPackage {
614 614 name = "dogpile.cache-0.6.1";
615 615 buildInputs = with self; [];
616 616 doCheck = false;
617 617 propagatedBuildInputs = with self; [];
618 618 src = fetchurl {
619 619 url = "https://pypi.python.org/packages/f6/a0/6f2142c58c6588d17c734265b103ae1cd0741e1681dd9483a63f22033375/dogpile.cache-0.6.1.tar.gz";
620 620 md5 = "35d7fb30f22bbd0685763d894dd079a9";
621 621 };
622 622 meta = {
623 623 license = [ pkgs.lib.licenses.bsdOriginal ];
624 624 };
625 625 };
626 626 dogpile.core = super.buildPythonPackage {
627 627 name = "dogpile.core-0.4.1";
628 628 buildInputs = with self; [];
629 629 doCheck = false;
630 630 propagatedBuildInputs = with self; [];
631 631 src = fetchurl {
632 632 url = "https://pypi.python.org/packages/0e/77/e72abc04c22aedf874301861e5c1e761231c288b5de369c18be8f4b5c9bb/dogpile.core-0.4.1.tar.gz";
633 633 md5 = "01cb19f52bba3e95c9b560f39341f045";
634 634 };
635 635 meta = {
636 636 license = [ pkgs.lib.licenses.bsdOriginal ];
637 637 };
638 638 };
639 639 dulwich = super.buildPythonPackage {
640 640 name = "dulwich-0.12.0";
641 641 buildInputs = with self; [];
642 642 doCheck = false;
643 643 propagatedBuildInputs = with self; [];
644 644 src = fetchurl {
645 645 url = "https://pypi.python.org/packages/6f/04/fbe561b6d45c0ec758330d5b7f5ba4b6cb4f1ca1ab49859d2fc16320da75/dulwich-0.12.0.tar.gz";
646 646 md5 = "f3a8a12bd9f9dd8c233e18f3d49436fa";
647 647 };
648 648 meta = {
649 649 license = [ pkgs.lib.licenses.gpl2Plus ];
650 650 };
651 651 };
652 652 ecdsa = super.buildPythonPackage {
653 653 name = "ecdsa-0.11";
654 654 buildInputs = with self; [];
655 655 doCheck = false;
656 656 propagatedBuildInputs = with self; [];
657 657 src = fetchurl {
658 658 url = "https://pypi.python.org/packages/6c/3f/92fe5dcdcaa7bd117be21e5520c9a54375112b66ec000d209e9e9519fad1/ecdsa-0.11.tar.gz";
659 659 md5 = "8ef586fe4dbb156697d756900cb41d7c";
660 660 };
661 661 meta = {
662 662 license = [ pkgs.lib.licenses.mit ];
663 663 };
664 664 };
665 665 elasticsearch = super.buildPythonPackage {
666 666 name = "elasticsearch-2.3.0";
667 667 buildInputs = with self; [];
668 668 doCheck = false;
669 669 propagatedBuildInputs = with self; [urllib3];
670 670 src = fetchurl {
671 671 url = "https://pypi.python.org/packages/10/35/5fd52c5f0b0ee405ed4b5195e8bce44c5e041787680dc7b94b8071cac600/elasticsearch-2.3.0.tar.gz";
672 672 md5 = "2550f3b51629cf1ef9636608af92c340";
673 673 };
674 674 meta = {
675 675 license = [ pkgs.lib.licenses.asl20 ];
676 676 };
677 677 };
678 678 elasticsearch-dsl = super.buildPythonPackage {
679 679 name = "elasticsearch-dsl-2.0.0";
680 680 buildInputs = with self; [];
681 681 doCheck = false;
682 682 propagatedBuildInputs = with self; [six python-dateutil elasticsearch];
683 683 src = fetchurl {
684 684 url = "https://pypi.python.org/packages/4e/5d/e788ae8dbe2ff4d13426db0a027533386a5c276c77a2654dc0e2007ce04a/elasticsearch-dsl-2.0.0.tar.gz";
685 685 md5 = "4cdfec81bb35383dd3b7d02d7dc5ee68";
686 686 };
687 687 meta = {
688 688 license = [ pkgs.lib.licenses.asl20 ];
689 689 };
690 690 };
691 691 flake8 = super.buildPythonPackage {
692 692 name = "flake8-2.4.1";
693 693 buildInputs = with self; [];
694 694 doCheck = false;
695 695 propagatedBuildInputs = with self; [pyflakes pep8 mccabe];
696 696 src = fetchurl {
697 697 url = "https://pypi.python.org/packages/8f/b5/9a73c66c7dba273bac8758398f060c008a25f3e84531063b42503b5d0a95/flake8-2.4.1.tar.gz";
698 698 md5 = "ed45d3db81a3b7c88bd63c6e37ca1d65";
699 699 };
700 700 meta = {
701 701 license = [ pkgs.lib.licenses.mit ];
702 702 };
703 703 };
704 704 future = super.buildPythonPackage {
705 705 name = "future-0.14.3";
706 706 buildInputs = with self; [];
707 707 doCheck = false;
708 708 propagatedBuildInputs = with self; [];
709 709 src = fetchurl {
710 710 url = "https://pypi.python.org/packages/83/80/8ef3a11a15f8eaafafa0937b20c1b3f73527e69ab6b3fa1cf94a5a96aabb/future-0.14.3.tar.gz";
711 711 md5 = "e94079b0bd1fc054929e8769fc0f6083";
712 712 };
713 713 meta = {
714 714 license = [ { fullName = "OSI Approved"; } pkgs.lib.licenses.mit ];
715 715 };
716 716 };
717 717 futures = super.buildPythonPackage {
718 718 name = "futures-3.0.2";
719 719 buildInputs = with self; [];
720 720 doCheck = false;
721 721 propagatedBuildInputs = with self; [];
722 722 src = fetchurl {
723 723 url = "https://pypi.python.org/packages/f8/e7/fc0fcbeb9193ba2d4de00b065e7fd5aecd0679e93ce95a07322b2b1434f4/futures-3.0.2.tar.gz";
724 724 md5 = "42aaf1e4de48d6e871d77dc1f9d96d5a";
725 725 };
726 726 meta = {
727 727 license = [ pkgs.lib.licenses.bsdOriginal ];
728 728 };
729 729 };
730 730 gevent = super.buildPythonPackage {
731 731 name = "gevent-1.1.1";
732 732 buildInputs = with self; [];
733 733 doCheck = false;
734 734 propagatedBuildInputs = with self; [greenlet];
735 735 src = fetchurl {
736 736 url = "https://pypi.python.org/packages/12/dc/0b2e57823225de86f6e111a65d212c9e3b64847dddaa19691a6cb94b0b2e/gevent-1.1.1.tar.gz";
737 737 md5 = "1532f5396ab4d07a231f1935483be7c3";
738 738 };
739 739 meta = {
740 740 license = [ pkgs.lib.licenses.mit ];
741 741 };
742 742 };
743 gevent-websocket = super.buildPythonPackage {
744 name = "gevent-websocket-0.9.5";
745 buildInputs = with self; [];
746 doCheck = false;
747 propagatedBuildInputs = with self; [gevent];
748 src = fetchurl {
749 url = "https://pypi.python.org/packages/de/93/6bc86ddd65435a56a2f2ea7cc908d92fea894fc08e364156656e71cc1435/gevent-websocket-0.9.5.tar.gz";
750 md5 = "03a8473b9a61426b0ef6094319141389";
751 };
752 meta = {
753 license = [ { fullName = "Copyright 2011-2013 Jeffrey Gelens <jeffrey@noppo.pro>"; } pkgs.lib.licenses.asl20 ];
754 };
755 };
756 743 gnureadline = super.buildPythonPackage {
757 744 name = "gnureadline-6.3.3";
758 745 buildInputs = with self; [];
759 746 doCheck = false;
760 747 propagatedBuildInputs = with self; [];
761 748 src = fetchurl {
762 749 url = "https://pypi.python.org/packages/3a/ee/2c3f568b0a74974791ac590ec742ef6133e2fbd287a074ba72a53fa5e97c/gnureadline-6.3.3.tar.gz";
763 750 md5 = "c4af83c9a3fbeac8f2da9b5a7c60e51c";
764 751 };
765 752 meta = {
766 753 license = [ pkgs.lib.licenses.gpl1 ];
767 754 };
768 755 };
769 756 gprof2dot = super.buildPythonPackage {
770 757 name = "gprof2dot-2015.12.01";
771 758 buildInputs = with self; [];
772 759 doCheck = false;
773 760 propagatedBuildInputs = with self; [];
774 761 src = fetchurl {
775 762 url = "https://pypi.python.org/packages/b9/34/7bf93c1952d40fa5c95ad963f4d8344b61ef58558632402eca18e6c14127/gprof2dot-2015.12.1.tar.gz";
776 763 md5 = "e23bf4e2f94db032750c193384b4165b";
777 764 };
778 765 meta = {
779 766 license = [ { fullName = "LGPL"; } ];
780 767 };
781 768 };
782 769 greenlet = super.buildPythonPackage {
783 770 name = "greenlet-0.4.9";
784 771 buildInputs = with self; [];
785 772 doCheck = false;
786 773 propagatedBuildInputs = with self; [];
787 774 src = fetchurl {
788 775 url = "https://pypi.python.org/packages/4e/3d/9d421539b74e33608b245092870156b2e171fb49f2b51390aa4641eecb4a/greenlet-0.4.9.zip";
789 776 md5 = "c6659cdb2a5e591723e629d2eef22e82";
790 777 };
791 778 meta = {
792 779 license = [ pkgs.lib.licenses.mit ];
793 780 };
794 781 };
795 782 gunicorn = super.buildPythonPackage {
796 783 name = "gunicorn-19.6.0";
797 784 buildInputs = with self; [];
798 785 doCheck = false;
799 786 propagatedBuildInputs = with self; [];
800 787 src = fetchurl {
801 788 url = "https://pypi.python.org/packages/84/ce/7ea5396efad1cef682bbc4068e72a0276341d9d9d0f501da609fab9fcb80/gunicorn-19.6.0.tar.gz";
802 789 md5 = "338e5e8a83ea0f0625f768dba4597530";
803 790 };
804 791 meta = {
805 792 license = [ pkgs.lib.licenses.mit ];
806 793 };
807 794 };
808 795 infrae.cache = super.buildPythonPackage {
809 796 name = "infrae.cache-1.0.1";
810 797 buildInputs = with self; [];
811 798 doCheck = false;
812 799 propagatedBuildInputs = with self; [Beaker repoze.lru];
813 800 src = fetchurl {
814 801 url = "https://pypi.python.org/packages/bb/f0/e7d5e984cf6592fd2807dc7bc44a93f9d18e04e6a61f87fdfb2622422d74/infrae.cache-1.0.1.tar.gz";
815 802 md5 = "b09076a766747e6ed2a755cc62088e32";
816 803 };
817 804 meta = {
818 805 license = [ pkgs.lib.licenses.zpt21 ];
819 806 };
820 807 };
821 808 invoke = super.buildPythonPackage {
822 809 name = "invoke-0.13.0";
823 810 buildInputs = with self; [];
824 811 doCheck = false;
825 812 propagatedBuildInputs = with self; [];
826 813 src = fetchurl {
827 814 url = "https://pypi.python.org/packages/47/bf/d07ef52fa1ac645468858bbac7cb95b246a972a045e821493d17d89c81be/invoke-0.13.0.tar.gz";
828 815 md5 = "c0d1ed4bfb34eaab551662d8cfee6540";
829 816 };
830 817 meta = {
831 818 license = [ pkgs.lib.licenses.bsdOriginal ];
832 819 };
833 820 };
834 821 ipdb = super.buildPythonPackage {
835 822 name = "ipdb-0.8";
836 823 buildInputs = with self; [];
837 824 doCheck = false;
838 825 propagatedBuildInputs = with self; [ipython];
839 826 src = fetchurl {
840 827 url = "https://pypi.python.org/packages/f0/25/d7dd430ced6cd8dc242a933c8682b5dbf32eb4011d82f87e34209e5ec845/ipdb-0.8.zip";
841 828 md5 = "96dca0712efa01aa5eaf6b22071dd3ed";
842 829 };
843 830 meta = {
844 831 license = [ pkgs.lib.licenses.gpl1 ];
845 832 };
846 833 };
847 834 ipython = super.buildPythonPackage {
848 835 name = "ipython-3.1.0";
849 836 buildInputs = with self; [];
850 837 doCheck = false;
851 838 propagatedBuildInputs = with self; [];
852 839 src = fetchurl {
853 840 url = "https://pypi.python.org/packages/06/91/120c0835254c120af89f066afaabf81289bc2726c1fc3ca0555df6882f58/ipython-3.1.0.tar.gz";
854 841 md5 = "a749d90c16068687b0ec45a27e72ef8f";
855 842 };
856 843 meta = {
857 844 license = [ pkgs.lib.licenses.bsdOriginal ];
858 845 };
859 846 };
860 847 iso8601 = super.buildPythonPackage {
861 848 name = "iso8601-0.1.11";
862 849 buildInputs = with self; [];
863 850 doCheck = false;
864 851 propagatedBuildInputs = with self; [];
865 852 src = fetchurl {
866 853 url = "https://pypi.python.org/packages/c0/75/c9209ee4d1b5975eb8c2cba4428bde6b61bd55664a98290dd015cdb18e98/iso8601-0.1.11.tar.gz";
867 854 md5 = "b06d11cd14a64096f907086044f0fe38";
868 855 };
869 856 meta = {
870 857 license = [ pkgs.lib.licenses.mit ];
871 858 };
872 859 };
873 860 itsdangerous = super.buildPythonPackage {
874 861 name = "itsdangerous-0.24";
875 862 buildInputs = with self; [];
876 863 doCheck = false;
877 864 propagatedBuildInputs = with self; [];
878 865 src = fetchurl {
879 866 url = "https://pypi.python.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz";
880 867 md5 = "a3d55aa79369aef5345c036a8a26307f";
881 868 };
882 869 meta = {
883 870 license = [ pkgs.lib.licenses.bsdOriginal ];
884 871 };
885 872 };
886 873 kombu = super.buildPythonPackage {
887 874 name = "kombu-1.5.1";
888 875 buildInputs = with self; [];
889 876 doCheck = false;
890 877 propagatedBuildInputs = with self; [anyjson amqplib];
891 878 src = fetchurl {
892 879 url = "https://pypi.python.org/packages/19/53/74bf2a624644b45f0850a638752514fc10a8e1cbd738f10804951a6df3f5/kombu-1.5.1.tar.gz";
893 880 md5 = "50662f3c7e9395b3d0721fb75d100b63";
894 881 };
895 882 meta = {
896 883 license = [ pkgs.lib.licenses.bsdOriginal ];
897 884 };
898 885 };
899 886 lxml = super.buildPythonPackage {
900 887 name = "lxml-3.4.4";
901 888 buildInputs = with self; [];
902 889 doCheck = false;
903 890 propagatedBuildInputs = with self; [];
904 891 src = fetchurl {
905 892 url = "https://pypi.python.org/packages/63/c7/4f2a2a4ad6c6fa99b14be6b3c1cece9142e2d915aa7c43c908677afc8fa4/lxml-3.4.4.tar.gz";
906 893 md5 = "a9a65972afc173ec7a39c585f4eea69c";
907 894 };
908 895 meta = {
909 896 license = [ pkgs.lib.licenses.bsdOriginal ];
910 897 };
911 898 };
912 899 mccabe = super.buildPythonPackage {
913 900 name = "mccabe-0.3";
914 901 buildInputs = with self; [];
915 902 doCheck = false;
916 903 propagatedBuildInputs = with self; [];
917 904 src = fetchurl {
918 905 url = "https://pypi.python.org/packages/c9/2e/75231479e11a906b64ac43bad9d0bb534d00080b18bdca8db9da46e1faf7/mccabe-0.3.tar.gz";
919 906 md5 = "81640948ff226f8c12b3277059489157";
920 907 };
921 908 meta = {
922 909 license = [ { fullName = "Expat license"; } pkgs.lib.licenses.mit ];
923 910 };
924 911 };
925 912 meld3 = super.buildPythonPackage {
926 913 name = "meld3-1.0.2";
927 914 buildInputs = with self; [];
928 915 doCheck = false;
929 916 propagatedBuildInputs = with self; [];
930 917 src = fetchurl {
931 918 url = "https://pypi.python.org/packages/45/a0/317c6422b26c12fe0161e936fc35f36552069ba8e6f7ecbd99bbffe32a5f/meld3-1.0.2.tar.gz";
932 919 md5 = "3ccc78cd79cffd63a751ad7684c02c91";
933 920 };
934 921 meta = {
935 922 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
936 923 };
937 924 };
938 925 mock = super.buildPythonPackage {
939 926 name = "mock-1.0.1";
940 927 buildInputs = with self; [];
941 928 doCheck = false;
942 929 propagatedBuildInputs = with self; [];
943 930 src = fetchurl {
944 931 url = "https://pypi.python.org/packages/15/45/30273ee91feb60dabb8fbb2da7868520525f02cf910279b3047182feed80/mock-1.0.1.zip";
945 932 md5 = "869f08d003c289a97c1a6610faf5e913";
946 933 };
947 934 meta = {
948 935 license = [ pkgs.lib.licenses.bsdOriginal ];
949 936 };
950 937 };
951 938 msgpack-python = super.buildPythonPackage {
952 939 name = "msgpack-python-0.4.6";
953 940 buildInputs = with self; [];
954 941 doCheck = false;
955 942 propagatedBuildInputs = with self; [];
956 943 src = fetchurl {
957 944 url = "https://pypi.python.org/packages/15/ce/ff2840885789ef8035f66cd506ea05bdb228340307d5e71a7b1e3f82224c/msgpack-python-0.4.6.tar.gz";
958 945 md5 = "8b317669314cf1bc881716cccdaccb30";
959 946 };
960 947 meta = {
961 948 license = [ pkgs.lib.licenses.asl20 ];
962 949 };
963 950 };
964 951 nose = super.buildPythonPackage {
965 952 name = "nose-1.3.6";
966 953 buildInputs = with self; [];
967 954 doCheck = false;
968 955 propagatedBuildInputs = with self; [];
969 956 src = fetchurl {
970 957 url = "https://pypi.python.org/packages/70/c7/469e68148d17a0d3db5ed49150242fd70a74a8147b8f3f8b87776e028d99/nose-1.3.6.tar.gz";
971 958 md5 = "0ca546d81ca8309080fc80cb389e7a16";
972 959 };
973 960 meta = {
974 961 license = [ { fullName = "GNU Library or Lesser General Public License (LGPL)"; } { fullName = "GNU LGPL"; } ];
975 962 };
976 963 };
977 964 objgraph = super.buildPythonPackage {
978 965 name = "objgraph-2.0.0";
979 966 buildInputs = with self; [];
980 967 doCheck = false;
981 968 propagatedBuildInputs = with self; [];
982 969 src = fetchurl {
983 970 url = "https://pypi.python.org/packages/d7/33/ace750b59247496ed769b170586c5def7202683f3d98e737b75b767ff29e/objgraph-2.0.0.tar.gz";
984 971 md5 = "25b0d5e5adc74aa63ead15699614159c";
985 972 };
986 973 meta = {
987 974 license = [ pkgs.lib.licenses.mit ];
988 975 };
989 976 };
990 977 packaging = super.buildPythonPackage {
991 978 name = "packaging-15.2";
992 979 buildInputs = with self; [];
993 980 doCheck = false;
994 981 propagatedBuildInputs = with self; [];
995 982 src = fetchurl {
996 983 url = "https://pypi.python.org/packages/24/c4/185da1304f07047dc9e0c46c31db75c0351bd73458ac3efad7da3dbcfbe1/packaging-15.2.tar.gz";
997 984 md5 = "c16093476f6ced42128bf610e5db3784";
998 985 };
999 986 meta = {
1000 987 license = [ pkgs.lib.licenses.asl20 ];
1001 988 };
1002 989 };
1003 990 paramiko = super.buildPythonPackage {
1004 991 name = "paramiko-1.15.1";
1005 992 buildInputs = with self; [];
1006 993 doCheck = false;
1007 994 propagatedBuildInputs = with self; [pycrypto ecdsa];
1008 995 src = fetchurl {
1009 996 url = "https://pypi.python.org/packages/04/2b/a22d2a560c1951abbbf95a0628e245945565f70dc082d9e784666887222c/paramiko-1.15.1.tar.gz";
1010 997 md5 = "48c274c3f9b1282932567b21f6acf3b5";
1011 998 };
1012 999 meta = {
1013 1000 license = [ { fullName = "LGPL"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ];
1014 1001 };
1015 1002 };
1016 1003 pep8 = super.buildPythonPackage {
1017 1004 name = "pep8-1.5.7";
1018 1005 buildInputs = with self; [];
1019 1006 doCheck = false;
1020 1007 propagatedBuildInputs = with self; [];
1021 1008 src = fetchurl {
1022 1009 url = "https://pypi.python.org/packages/8b/de/259f5e735897ada1683489dd514b2a1c91aaa74e5e6b68f80acf128a6368/pep8-1.5.7.tar.gz";
1023 1010 md5 = "f6adbdd69365ecca20513c709f9b7c93";
1024 1011 };
1025 1012 meta = {
1026 1013 license = [ { fullName = "Expat license"; } pkgs.lib.licenses.mit ];
1027 1014 };
1028 1015 };
1029 1016 peppercorn = super.buildPythonPackage {
1030 1017 name = "peppercorn-0.5";
1031 1018 buildInputs = with self; [];
1032 1019 doCheck = false;
1033 1020 propagatedBuildInputs = with self; [];
1034 1021 src = fetchurl {
1035 1022 url = "https://pypi.python.org/packages/45/ec/a62ec317d1324a01567c5221b420742f094f05ee48097e5157d32be3755c/peppercorn-0.5.tar.gz";
1036 1023 md5 = "f08efbca5790019ab45d76b7244abd40";
1037 1024 };
1038 1025 meta = {
1039 1026 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1040 1027 };
1041 1028 };
1042 1029 psutil = super.buildPythonPackage {
1043 1030 name = "psutil-2.2.1";
1044 1031 buildInputs = with self; [];
1045 1032 doCheck = false;
1046 1033 propagatedBuildInputs = with self; [];
1047 1034 src = fetchurl {
1048 1035 url = "https://pypi.python.org/packages/df/47/ee54ef14dd40f8ce831a7581001a5096494dc99fe71586260ca6b531fe86/psutil-2.2.1.tar.gz";
1049 1036 md5 = "1a2b58cd9e3a53528bb6148f0c4d5244";
1050 1037 };
1051 1038 meta = {
1052 1039 license = [ pkgs.lib.licenses.bsdOriginal ];
1053 1040 };
1054 1041 };
1055 1042 psycopg2 = super.buildPythonPackage {
1056 1043 name = "psycopg2-2.6.1";
1057 1044 buildInputs = with self; [];
1058 1045 doCheck = false;
1059 1046 propagatedBuildInputs = with self; [];
1060 1047 src = fetchurl {
1061 1048 url = "https://pypi.python.org/packages/86/fd/cc8315be63a41fe000cce20482a917e874cdc1151e62cb0141f5e55f711e/psycopg2-2.6.1.tar.gz";
1062 1049 md5 = "842b44f8c95517ed5b792081a2370da1";
1063 1050 };
1064 1051 meta = {
1065 1052 license = [ pkgs.lib.licenses.zpt21 { fullName = "GNU Library or Lesser General Public License (LGPL)"; } { fullName = "LGPL with exceptions or ZPL"; } ];
1066 1053 };
1067 1054 };
1068 1055 py = super.buildPythonPackage {
1069 1056 name = "py-1.4.29";
1070 1057 buildInputs = with self; [];
1071 1058 doCheck = false;
1072 1059 propagatedBuildInputs = with self; [];
1073 1060 src = fetchurl {
1074 1061 url = "https://pypi.python.org/packages/2a/bc/a1a4a332ac10069b8e5e25136a35e08a03f01fd6ab03d819889d79a1fd65/py-1.4.29.tar.gz";
1075 1062 md5 = "c28e0accba523a29b35a48bb703fb96c";
1076 1063 };
1077 1064 meta = {
1078 1065 license = [ pkgs.lib.licenses.mit ];
1079 1066 };
1080 1067 };
1081 1068 py-bcrypt = super.buildPythonPackage {
1082 1069 name = "py-bcrypt-0.4";
1083 1070 buildInputs = with self; [];
1084 1071 doCheck = false;
1085 1072 propagatedBuildInputs = with self; [];
1086 1073 src = fetchurl {
1087 1074 url = "https://pypi.python.org/packages/68/b1/1c3068c5c4d2e35c48b38dcc865301ebfdf45f54507086ac65ced1fd3b3d/py-bcrypt-0.4.tar.gz";
1088 1075 md5 = "dd8b367d6b716a2ea2e72392525f4e36";
1089 1076 };
1090 1077 meta = {
1091 1078 license = [ pkgs.lib.licenses.bsdOriginal ];
1092 1079 };
1093 1080 };
1094 1081 py-gfm = super.buildPythonPackage {
1095 1082 name = "py-gfm-0.1.3";
1096 1083 buildInputs = with self; [];
1097 1084 doCheck = false;
1098 1085 propagatedBuildInputs = with self; [setuptools Markdown];
1099 1086 src = fetchurl {
1100 1087 url = "https://pypi.python.org/packages/12/e4/6b3d8678da04f97d7490d8264d8de51c2dc9fb91209ccee9c515c95e14c5/py-gfm-0.1.3.tar.gz";
1101 1088 md5 = "e588d9e69640a241b97e2c59c22527a6";
1102 1089 };
1103 1090 meta = {
1104 1091 license = [ pkgs.lib.licenses.bsdOriginal ];
1105 1092 };
1106 1093 };
1107 1094 pycrypto = super.buildPythonPackage {
1108 1095 name = "pycrypto-2.6.1";
1109 1096 buildInputs = with self; [];
1110 1097 doCheck = false;
1111 1098 propagatedBuildInputs = with self; [];
1112 1099 src = fetchurl {
1113 1100 url = "https://pypi.python.org/packages/60/db/645aa9af249f059cc3a368b118de33889219e0362141e75d4eaf6f80f163/pycrypto-2.6.1.tar.gz";
1114 1101 md5 = "55a61a054aa66812daf5161a0d5d7eda";
1115 1102 };
1116 1103 meta = {
1117 1104 license = [ pkgs.lib.licenses.publicDomain ];
1118 1105 };
1119 1106 };
1120 1107 pycurl = super.buildPythonPackage {
1121 1108 name = "pycurl-7.19.5";
1122 1109 buildInputs = with self; [];
1123 1110 doCheck = false;
1124 1111 propagatedBuildInputs = with self; [];
1125 1112 src = fetchurl {
1126 1113 url = "https://pypi.python.org/packages/6c/48/13bad289ef6f4869b1d8fc11ae54de8cfb3cc4a2eb9f7419c506f763be46/pycurl-7.19.5.tar.gz";
1127 1114 md5 = "47b4eac84118e2606658122104e62072";
1128 1115 };
1129 1116 meta = {
1130 1117 license = [ pkgs.lib.licenses.mit { fullName = "LGPL/MIT"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ];
1131 1118 };
1132 1119 };
1133 1120 pyflakes = super.buildPythonPackage {
1134 1121 name = "pyflakes-0.8.1";
1135 1122 buildInputs = with self; [];
1136 1123 doCheck = false;
1137 1124 propagatedBuildInputs = with self; [];
1138 1125 src = fetchurl {
1139 1126 url = "https://pypi.python.org/packages/75/22/a90ec0252f4f87f3ffb6336504de71fe16a49d69c4538dae2f12b9360a38/pyflakes-0.8.1.tar.gz";
1140 1127 md5 = "905fe91ad14b912807e8fdc2ac2e2c23";
1141 1128 };
1142 1129 meta = {
1143 1130 license = [ pkgs.lib.licenses.mit ];
1144 1131 };
1145 1132 };
1146 1133 pyparsing = super.buildPythonPackage {
1147 1134 name = "pyparsing-1.5.7";
1148 1135 buildInputs = with self; [];
1149 1136 doCheck = false;
1150 1137 propagatedBuildInputs = with self; [];
1151 1138 src = fetchurl {
1152 1139 url = "https://pypi.python.org/packages/2e/26/e8fb5b4256a5f5036be7ce115ef8db8d06bc537becfbdc46c6af008314ee/pyparsing-1.5.7.zip";
1153 1140 md5 = "b86854857a368d6ccb4d5b6e76d0637f";
1154 1141 };
1155 1142 meta = {
1156 1143 license = [ pkgs.lib.licenses.mit ];
1157 1144 };
1158 1145 };
1159 1146 pyramid = super.buildPythonPackage {
1160 1147 name = "pyramid-1.6.1";
1161 1148 buildInputs = with self; [];
1162 1149 doCheck = false;
1163 1150 propagatedBuildInputs = with self; [setuptools WebOb repoze.lru zope.interface zope.deprecation venusian translationstring PasteDeploy];
1164 1151 src = fetchurl {
1165 1152 url = "https://pypi.python.org/packages/30/b3/fcc4a2a4800cbf21989e00454b5828cf1f7fe35c63e0810b350e56d4c475/pyramid-1.6.1.tar.gz";
1166 1153 md5 = "b18688ff3cc33efdbb098a35b45dd122";
1167 1154 };
1168 1155 meta = {
1169 1156 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1170 1157 };
1171 1158 };
1172 1159 pyramid-beaker = super.buildPythonPackage {
1173 1160 name = "pyramid-beaker-0.8";
1174 1161 buildInputs = with self; [];
1175 1162 doCheck = false;
1176 1163 propagatedBuildInputs = with self; [pyramid Beaker];
1177 1164 src = fetchurl {
1178 1165 url = "https://pypi.python.org/packages/d9/6e/b85426e00fd3d57f4545f74e1c3828552d8700f13ededeef9233f7bca8be/pyramid_beaker-0.8.tar.gz";
1179 1166 md5 = "22f14be31b06549f80890e2c63a93834";
1180 1167 };
1181 1168 meta = {
1182 1169 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1183 1170 };
1184 1171 };
1185 1172 pyramid-debugtoolbar = super.buildPythonPackage {
1186 1173 name = "pyramid-debugtoolbar-2.4.2";
1187 1174 buildInputs = with self; [];
1188 1175 doCheck = false;
1189 1176 propagatedBuildInputs = with self; [pyramid pyramid-mako repoze.lru Pygments];
1190 1177 src = fetchurl {
1191 1178 url = "https://pypi.python.org/packages/89/00/ed5426ee41ed747ba3ffd30e8230841a6878286ea67d480b1444d24f06a2/pyramid_debugtoolbar-2.4.2.tar.gz";
1192 1179 md5 = "073ea67086cc4bd5decc3a000853642d";
1193 1180 };
1194 1181 meta = {
1195 1182 license = [ { fullName = "Repoze Public License"; } pkgs.lib.licenses.bsdOriginal ];
1196 1183 };
1197 1184 };
1198 1185 pyramid-jinja2 = super.buildPythonPackage {
1199 1186 name = "pyramid-jinja2-2.5";
1200 1187 buildInputs = with self; [];
1201 1188 doCheck = false;
1202 1189 propagatedBuildInputs = with self; [pyramid zope.deprecation Jinja2 MarkupSafe];
1203 1190 src = fetchurl {
1204 1191 url = "https://pypi.python.org/packages/a1/80/595e26ffab7deba7208676b6936b7e5a721875710f982e59899013cae1ed/pyramid_jinja2-2.5.tar.gz";
1205 1192 md5 = "07cb6547204ac5e6f0b22a954ccee928";
1206 1193 };
1207 1194 meta = {
1208 1195 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1209 1196 };
1210 1197 };
1211 1198 pyramid-mako = super.buildPythonPackage {
1212 1199 name = "pyramid-mako-1.0.2";
1213 1200 buildInputs = with self; [];
1214 1201 doCheck = false;
1215 1202 propagatedBuildInputs = with self; [pyramid Mako];
1216 1203 src = fetchurl {
1217 1204 url = "https://pypi.python.org/packages/f1/92/7e69bcf09676d286a71cb3bbb887b16595b96f9ba7adbdc239ffdd4b1eb9/pyramid_mako-1.0.2.tar.gz";
1218 1205 md5 = "ee25343a97eb76bd90abdc2a774eb48a";
1219 1206 };
1220 1207 meta = {
1221 1208 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1222 1209 };
1223 1210 };
1224 1211 pysqlite = super.buildPythonPackage {
1225 1212 name = "pysqlite-2.6.3";
1226 1213 buildInputs = with self; [];
1227 1214 doCheck = false;
1228 1215 propagatedBuildInputs = with self; [];
1229 1216 src = fetchurl {
1230 1217 url = "https://pypi.python.org/packages/5c/a6/1c429cd4c8069cf4bfbd0eb4d592b3f4042155a8202df83d7e9b93aa3dc2/pysqlite-2.6.3.tar.gz";
1231 1218 md5 = "7ff1cedee74646b50117acff87aa1cfa";
1232 1219 };
1233 1220 meta = {
1234 1221 license = [ { fullName = "zlib/libpng License"; } { fullName = "zlib/libpng license"; } ];
1235 1222 };
1236 1223 };
1237 1224 pytest = super.buildPythonPackage {
1238 1225 name = "pytest-2.8.5";
1239 1226 buildInputs = with self; [];
1240 1227 doCheck = false;
1241 1228 propagatedBuildInputs = with self; [py];
1242 1229 src = fetchurl {
1243 1230 url = "https://pypi.python.org/packages/b1/3d/d7ea9b0c51e0cacded856e49859f0a13452747491e842c236bbab3714afe/pytest-2.8.5.zip";
1244 1231 md5 = "8493b06f700862f1294298d6c1b715a9";
1245 1232 };
1246 1233 meta = {
1247 1234 license = [ pkgs.lib.licenses.mit ];
1248 1235 };
1249 1236 };
1250 1237 pytest-catchlog = super.buildPythonPackage {
1251 1238 name = "pytest-catchlog-1.2.2";
1252 1239 buildInputs = with self; [];
1253 1240 doCheck = false;
1254 1241 propagatedBuildInputs = with self; [py pytest];
1255 1242 src = fetchurl {
1256 1243 url = "https://pypi.python.org/packages/f2/2b/2faccdb1a978fab9dd0bf31cca9f6847fbe9184a0bdcc3011ac41dd44191/pytest-catchlog-1.2.2.zip";
1257 1244 md5 = "09d890c54c7456c818102b7ff8c182c8";
1258 1245 };
1259 1246 meta = {
1260 1247 license = [ pkgs.lib.licenses.mit ];
1261 1248 };
1262 1249 };
1263 1250 pytest-cov = super.buildPythonPackage {
1264 1251 name = "pytest-cov-1.8.1";
1265 1252 buildInputs = with self; [];
1266 1253 doCheck = false;
1267 1254 propagatedBuildInputs = with self; [py pytest coverage cov-core];
1268 1255 src = fetchurl {
1269 1256 url = "https://pypi.python.org/packages/11/4b/b04646e97f1721878eb21e9f779102d84dd044d324382263b1770a3e4838/pytest-cov-1.8.1.tar.gz";
1270 1257 md5 = "76c778afa2494088270348be42d759fc";
1271 1258 };
1272 1259 meta = {
1273 1260 license = [ pkgs.lib.licenses.mit ];
1274 1261 };
1275 1262 };
1276 1263 pytest-profiling = super.buildPythonPackage {
1277 1264 name = "pytest-profiling-1.0.1";
1278 1265 buildInputs = with self; [];
1279 1266 doCheck = false;
1280 1267 propagatedBuildInputs = with self; [six pytest gprof2dot];
1281 1268 src = fetchurl {
1282 1269 url = "https://pypi.python.org/packages/d8/67/8ffab73406e22870e07fa4dc8dce1d7689b26dba8efd00161c9b6fc01ec0/pytest-profiling-1.0.1.tar.gz";
1283 1270 md5 = "354404eb5b3fd4dc5eb7fffbb3d9b68b";
1284 1271 };
1285 1272 meta = {
1286 1273 license = [ pkgs.lib.licenses.mit ];
1287 1274 };
1288 1275 };
1289 1276 pytest-runner = super.buildPythonPackage {
1290 1277 name = "pytest-runner-2.7.1";
1291 1278 buildInputs = with self; [];
1292 1279 doCheck = false;
1293 1280 propagatedBuildInputs = with self; [];
1294 1281 src = fetchurl {
1295 1282 url = "https://pypi.python.org/packages/99/6b/c4ff4418d3424d4475b7af60724fd4a5cdd91ed8e489dc9443281f0052bc/pytest-runner-2.7.1.tar.gz";
1296 1283 md5 = "e56f0bc8d79a6bd91772b44ef4215c7e";
1297 1284 };
1298 1285 meta = {
1299 1286 license = [ pkgs.lib.licenses.mit ];
1300 1287 };
1301 1288 };
1302 1289 pytest-timeout = super.buildPythonPackage {
1303 1290 name = "pytest-timeout-0.4";
1304 1291 buildInputs = with self; [];
1305 1292 doCheck = false;
1306 1293 propagatedBuildInputs = with self; [pytest];
1307 1294 src = fetchurl {
1308 1295 url = "https://pypi.python.org/packages/24/48/5f6bd4b8026a26e1dd427243d560a29a0f1b24a5c7cffca4bf049a7bb65b/pytest-timeout-0.4.tar.gz";
1309 1296 md5 = "03b28aff69cbbfb959ed35ade5fde262";
1310 1297 };
1311 1298 meta = {
1312 1299 license = [ pkgs.lib.licenses.mit { fullName = "DFSG approved"; } ];
1313 1300 };
1314 1301 };
1315 1302 python-dateutil = super.buildPythonPackage {
1316 1303 name = "python-dateutil-1.5";
1317 1304 buildInputs = with self; [];
1318 1305 doCheck = false;
1319 1306 propagatedBuildInputs = with self; [];
1320 1307 src = fetchurl {
1321 1308 url = "https://pypi.python.org/packages/b4/7c/df59c89a753eb33c7c44e1dd42de0e9bc2ccdd5a4d576e0bfad97cc280cb/python-dateutil-1.5.tar.gz";
1322 1309 md5 = "0dcb1de5e5cad69490a3b6ab63f0cfa5";
1323 1310 };
1324 1311 meta = {
1325 1312 license = [ pkgs.lib.licenses.psfl ];
1326 1313 };
1327 1314 };
1328 1315 python-editor = super.buildPythonPackage {
1329 1316 name = "python-editor-1.0.1";
1330 1317 buildInputs = with self; [];
1331 1318 doCheck = false;
1332 1319 propagatedBuildInputs = with self; [];
1333 1320 src = fetchurl {
1334 1321 url = "https://pypi.python.org/packages/2b/c0/df7b87d5cf016f82eab3b05cd35f53287c1178ad8c42bfb6fa61b89b22f6/python-editor-1.0.1.tar.gz";
1335 1322 md5 = "e1fa63535b40e022fa4fd646fd8b511a";
1336 1323 };
1337 1324 meta = {
1338 1325 license = [ pkgs.lib.licenses.asl20 ];
1339 1326 };
1340 1327 };
1341 1328 python-ldap = super.buildPythonPackage {
1342 1329 name = "python-ldap-2.4.19";
1343 1330 buildInputs = with self; [];
1344 1331 doCheck = false;
1345 1332 propagatedBuildInputs = with self; [setuptools];
1346 1333 src = fetchurl {
1347 1334 url = "https://pypi.python.org/packages/42/81/1b64838c82e64f14d4e246ff00b52e650a35c012551b891ada2b85d40737/python-ldap-2.4.19.tar.gz";
1348 1335 md5 = "b941bf31d09739492aa19ef679e94ae3";
1349 1336 };
1350 1337 meta = {
1351 1338 license = [ pkgs.lib.licenses.psfl ];
1352 1339 };
1353 1340 };
1354 1341 python-memcached = super.buildPythonPackage {
1355 1342 name = "python-memcached-1.57";
1356 1343 buildInputs = with self; [];
1357 1344 doCheck = false;
1358 1345 propagatedBuildInputs = with self; [six];
1359 1346 src = fetchurl {
1360 1347 url = "https://pypi.python.org/packages/52/9d/eebc0dcbc5c7c66840ad207dfc1baa376dadb74912484bff73819cce01e6/python-memcached-1.57.tar.gz";
1361 1348 md5 = "de21f64b42b2d961f3d4ad7beb5468a1";
1362 1349 };
1363 1350 meta = {
1364 1351 license = [ pkgs.lib.licenses.psfl ];
1365 1352 };
1366 1353 };
1367 1354 python-pam = super.buildPythonPackage {
1368 1355 name = "python-pam-1.8.2";
1369 1356 buildInputs = with self; [];
1370 1357 doCheck = false;
1371 1358 propagatedBuildInputs = with self; [];
1372 1359 src = fetchurl {
1373 1360 url = "https://pypi.python.org/packages/de/8c/f8f5d38b4f26893af267ea0b39023d4951705ab0413a39e0cf7cf4900505/python-pam-1.8.2.tar.gz";
1374 1361 md5 = "db71b6b999246fb05d78ecfbe166629d";
1375 1362 };
1376 1363 meta = {
1377 1364 license = [ { fullName = "License :: OSI Approved :: MIT License"; } pkgs.lib.licenses.mit ];
1378 1365 };
1379 1366 };
1380 1367 pytz = super.buildPythonPackage {
1381 1368 name = "pytz-2015.4";
1382 1369 buildInputs = with self; [];
1383 1370 doCheck = false;
1384 1371 propagatedBuildInputs = with self; [];
1385 1372 src = fetchurl {
1386 1373 url = "https://pypi.python.org/packages/7e/1a/f43b5c92df7b156822030fed151327ea096bcf417e45acc23bd1df43472f/pytz-2015.4.zip";
1387 1374 md5 = "233f2a2b370d03f9b5911700cc9ebf3c";
1388 1375 };
1389 1376 meta = {
1390 1377 license = [ pkgs.lib.licenses.mit ];
1391 1378 };
1392 1379 };
1393 1380 pyzmq = super.buildPythonPackage {
1394 1381 name = "pyzmq-14.6.0";
1395 1382 buildInputs = with self; [];
1396 1383 doCheck = false;
1397 1384 propagatedBuildInputs = with self; [];
1398 1385 src = fetchurl {
1399 1386 url = "https://pypi.python.org/packages/8a/3b/5463d5a9d712cd8bbdac335daece0d69f6a6792da4e3dd89956c0db4e4e6/pyzmq-14.6.0.tar.gz";
1400 1387 md5 = "395b5de95a931afa5b14c9349a5b8024";
1401 1388 };
1402 1389 meta = {
1403 1390 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "LGPL+BSD"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ];
1404 1391 };
1405 1392 };
1406 1393 recaptcha-client = super.buildPythonPackage {
1407 1394 name = "recaptcha-client-1.0.6";
1408 1395 buildInputs = with self; [];
1409 1396 doCheck = false;
1410 1397 propagatedBuildInputs = with self; [];
1411 1398 src = fetchurl {
1412 1399 url = "https://pypi.python.org/packages/0a/ea/5f2fbbfd894bdac1c68ef8d92019066cfcf9fbff5fe3d728d2b5c25c8db4/recaptcha-client-1.0.6.tar.gz";
1413 1400 md5 = "74228180f7e1fb76c4d7089160b0d919";
1414 1401 };
1415 1402 meta = {
1416 1403 license = [ { fullName = "MIT/X11"; } ];
1417 1404 };
1418 1405 };
1419 1406 repoze.lru = super.buildPythonPackage {
1420 1407 name = "repoze.lru-0.6";
1421 1408 buildInputs = with self; [];
1422 1409 doCheck = false;
1423 1410 propagatedBuildInputs = with self; [];
1424 1411 src = fetchurl {
1425 1412 url = "https://pypi.python.org/packages/6e/1e/aa15cc90217e086dc8769872c8778b409812ff036bf021b15795638939e4/repoze.lru-0.6.tar.gz";
1426 1413 md5 = "2c3b64b17a8e18b405f55d46173e14dd";
1427 1414 };
1428 1415 meta = {
1429 1416 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1430 1417 };
1431 1418 };
1432 1419 requests = super.buildPythonPackage {
1433 1420 name = "requests-2.9.1";
1434 1421 buildInputs = with self; [];
1435 1422 doCheck = false;
1436 1423 propagatedBuildInputs = with self; [];
1437 1424 src = fetchurl {
1438 1425 url = "https://pypi.python.org/packages/f9/6d/07c44fb1ebe04d069459a189e7dab9e4abfe9432adcd4477367c25332748/requests-2.9.1.tar.gz";
1439 1426 md5 = "0b7f480d19012ec52bab78292efd976d";
1440 1427 };
1441 1428 meta = {
1442 1429 license = [ pkgs.lib.licenses.asl20 ];
1443 1430 };
1444 1431 };
1445 1432 rhodecode-enterprise-ce = super.buildPythonPackage {
1446 1433 name = "rhodecode-enterprise-ce-4.3.0";
1447 1434 buildInputs = with self; [WebTest configobj cssselect flake8 lxml mock pytest pytest-cov pytest-runner];
1448 1435 doCheck = true;
1449 1436 propagatedBuildInputs = with self; [Babel Beaker FormEncode Mako Markdown MarkupSafe MySQL-python Paste PasteDeploy PasteScript Pygments Pylons Pyro4 Routes SQLAlchemy Tempita URLObject WebError WebHelpers WebHelpers2 WebOb WebTest Whoosh alembic amqplib anyjson appenlight-client authomatic backport-ipaddress celery channelstream colander decorator deform docutils gevent gunicorn infrae.cache ipython iso8601 kombu msgpack-python packaging psycopg2 py-gfm pycrypto pycurl pyparsing pyramid pyramid-debugtoolbar pyramid-mako pyramid-beaker pysqlite python-dateutil python-ldap python-memcached python-pam recaptcha-client repoze.lru requests simplejson waitress zope.cachedescriptors dogpile.cache dogpile.core psutil py-bcrypt];
1450 1437 src = ./.;
1451 1438 meta = {
1452 1439 license = [ { fullName = "AGPLv3, and Commercial License"; } ];
1453 1440 };
1454 1441 };
1455 1442 rhodecode-tools = super.buildPythonPackage {
1456 1443 name = "rhodecode-tools-0.8.3";
1457 1444 buildInputs = with self; [];
1458 1445 doCheck = false;
1459 1446 propagatedBuildInputs = with self; [click future six Mako MarkupSafe requests Whoosh elasticsearch elasticsearch-dsl];
1460 1447 src = fetchurl {
1461 1448 url = "https://code.rhodecode.com/rhodecode-tools-ce/archive/v0.8.3.zip";
1462 1449 md5 = "9acdfd71b8ddf4056057065f37ab9ccb";
1463 1450 };
1464 1451 meta = {
1465 1452 license = [ { fullName = "AGPLv3 and Proprietary"; } ];
1466 1453 };
1467 1454 };
1468 1455 serpent = super.buildPythonPackage {
1469 1456 name = "serpent-1.12";
1470 1457 buildInputs = with self; [];
1471 1458 doCheck = false;
1472 1459 propagatedBuildInputs = with self; [];
1473 1460 src = fetchurl {
1474 1461 url = "https://pypi.python.org/packages/3b/19/1e0e83b47c09edaef8398655088036e7e67386b5c48770218ebb339fbbd5/serpent-1.12.tar.gz";
1475 1462 md5 = "05869ac7b062828b34f8f927f0457b65";
1476 1463 };
1477 1464 meta = {
1478 1465 license = [ pkgs.lib.licenses.mit ];
1479 1466 };
1480 1467 };
1481 1468 setproctitle = super.buildPythonPackage {
1482 1469 name = "setproctitle-1.1.8";
1483 1470 buildInputs = with self; [];
1484 1471 doCheck = false;
1485 1472 propagatedBuildInputs = with self; [];
1486 1473 src = fetchurl {
1487 1474 url = "https://pypi.python.org/packages/33/c3/ad367a4f4f1ca90468863ae727ac62f6edb558fc09a003d344a02cfc6ea6/setproctitle-1.1.8.tar.gz";
1488 1475 md5 = "728f4c8c6031bbe56083a48594027edd";
1489 1476 };
1490 1477 meta = {
1491 1478 license = [ pkgs.lib.licenses.bsdOriginal ];
1492 1479 };
1493 1480 };
1494 1481 setuptools = super.buildPythonPackage {
1495 1482 name = "setuptools-20.8.1";
1496 1483 buildInputs = with self; [];
1497 1484 doCheck = false;
1498 1485 propagatedBuildInputs = with self; [];
1499 1486 src = fetchurl {
1500 1487 url = "https://pypi.python.org/packages/c4/19/c1bdc88b53da654df43770f941079dbab4e4788c2dcb5658fb86259894c7/setuptools-20.8.1.zip";
1501 1488 md5 = "fe58a5cac0df20bb83942b252a4b0543";
1502 1489 };
1503 1490 meta = {
1504 1491 license = [ pkgs.lib.licenses.mit ];
1505 1492 };
1506 1493 };
1507 1494 setuptools-scm = super.buildPythonPackage {
1508 1495 name = "setuptools-scm-1.11.0";
1509 1496 buildInputs = with self; [];
1510 1497 doCheck = false;
1511 1498 propagatedBuildInputs = with self; [];
1512 1499 src = fetchurl {
1513 1500 url = "https://pypi.python.org/packages/cd/5f/e3a038292358058d83d764a47d09114aa5a8003ed4529518f9e580f1a94f/setuptools_scm-1.11.0.tar.gz";
1514 1501 md5 = "4c5c896ba52e134bbc3507bac6400087";
1515 1502 };
1516 1503 meta = {
1517 1504 license = [ pkgs.lib.licenses.mit ];
1518 1505 };
1519 1506 };
1520 1507 simplejson = super.buildPythonPackage {
1521 1508 name = "simplejson-3.7.2";
1522 1509 buildInputs = with self; [];
1523 1510 doCheck = false;
1524 1511 propagatedBuildInputs = with self; [];
1525 1512 src = fetchurl {
1526 1513 url = "https://pypi.python.org/packages/6d/89/7f13f099344eea9d6722779a1f165087cb559598107844b1ac5dbd831fb1/simplejson-3.7.2.tar.gz";
1527 1514 md5 = "a5fc7d05d4cb38492285553def5d4b46";
1528 1515 };
1529 1516 meta = {
1530 1517 license = [ pkgs.lib.licenses.mit pkgs.lib.licenses.afl21 ];
1531 1518 };
1532 1519 };
1533 1520 six = super.buildPythonPackage {
1534 1521 name = "six-1.9.0";
1535 1522 buildInputs = with self; [];
1536 1523 doCheck = false;
1537 1524 propagatedBuildInputs = with self; [];
1538 1525 src = fetchurl {
1539 1526 url = "https://pypi.python.org/packages/16/64/1dc5e5976b17466fd7d712e59cbe9fb1e18bec153109e5ba3ed6c9102f1a/six-1.9.0.tar.gz";
1540 1527 md5 = "476881ef4012262dfc8adc645ee786c4";
1541 1528 };
1542 1529 meta = {
1543 1530 license = [ pkgs.lib.licenses.mit ];
1544 1531 };
1545 1532 };
1546 1533 subprocess32 = super.buildPythonPackage {
1547 1534 name = "subprocess32-3.2.6";
1548 1535 buildInputs = with self; [];
1549 1536 doCheck = false;
1550 1537 propagatedBuildInputs = with self; [];
1551 1538 src = fetchurl {
1552 1539 url = "https://pypi.python.org/packages/28/8d/33ccbff51053f59ae6c357310cac0e79246bbed1d345ecc6188b176d72c3/subprocess32-3.2.6.tar.gz";
1553 1540 md5 = "754c5ab9f533e764f931136974b618f1";
1554 1541 };
1555 1542 meta = {
1556 1543 license = [ pkgs.lib.licenses.psfl ];
1557 1544 };
1558 1545 };
1559 1546 supervisor = super.buildPythonPackage {
1560 1547 name = "supervisor-3.3.0";
1561 1548 buildInputs = with self; [];
1562 1549 doCheck = false;
1563 1550 propagatedBuildInputs = with self; [meld3];
1564 1551 src = fetchurl {
1565 1552 url = "https://pypi.python.org/packages/44/80/d28047d120bfcc8158b4e41127706731ee6a3419c661e0a858fb0e7c4b2d/supervisor-3.3.0.tar.gz";
1566 1553 md5 = "46bac00378d1eddb616752b990c67416";
1567 1554 };
1568 1555 meta = {
1569 1556 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1570 1557 };
1571 1558 };
1572 1559 transifex-client = super.buildPythonPackage {
1573 1560 name = "transifex-client-0.10";
1574 1561 buildInputs = with self; [];
1575 1562 doCheck = false;
1576 1563 propagatedBuildInputs = with self; [];
1577 1564 src = fetchurl {
1578 1565 url = "https://pypi.python.org/packages/f3/4e/7b925192aee656fb3e04fa6381c8b3dc40198047c3b4a356f6cfd642c809/transifex-client-0.10.tar.gz";
1579 1566 md5 = "5549538d84b8eede6b254cd81ae024fa";
1580 1567 };
1581 1568 meta = {
1582 1569 license = [ pkgs.lib.licenses.gpl2 ];
1583 1570 };
1584 1571 };
1585 1572 translationstring = super.buildPythonPackage {
1586 1573 name = "translationstring-1.3";
1587 1574 buildInputs = with self; [];
1588 1575 doCheck = false;
1589 1576 propagatedBuildInputs = with self; [];
1590 1577 src = fetchurl {
1591 1578 url = "https://pypi.python.org/packages/5e/eb/bee578cc150b44c653b63f5ebe258b5d0d812ddac12497e5f80fcad5d0b4/translationstring-1.3.tar.gz";
1592 1579 md5 = "a4b62e0f3c189c783a1685b3027f7c90";
1593 1580 };
1594 1581 meta = {
1595 1582 license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ];
1596 1583 };
1597 1584 };
1598 1585 trollius = super.buildPythonPackage {
1599 1586 name = "trollius-1.0.4";
1600 1587 buildInputs = with self; [];
1601 1588 doCheck = false;
1602 1589 propagatedBuildInputs = with self; [futures];
1603 1590 src = fetchurl {
1604 1591 url = "https://pypi.python.org/packages/aa/e6/4141db437f55e6ee7a3fb69663239e3fde7841a811b4bef293145ad6c836/trollius-1.0.4.tar.gz";
1605 1592 md5 = "3631a464d49d0cbfd30ab2918ef2b783";
1606 1593 };
1607 1594 meta = {
1608 1595 license = [ pkgs.lib.licenses.asl20 ];
1609 1596 };
1610 1597 };
1611 1598 uWSGI = super.buildPythonPackage {
1612 1599 name = "uWSGI-2.0.11.2";
1613 1600 buildInputs = with self; [];
1614 1601 doCheck = false;
1615 1602 propagatedBuildInputs = with self; [];
1616 1603 src = fetchurl {
1617 1604 url = "https://pypi.python.org/packages/9b/78/918db0cfab0546afa580c1e565209c49aaf1476bbfe491314eadbe47c556/uwsgi-2.0.11.2.tar.gz";
1618 1605 md5 = "1f02dcbee7f6f61de4b1fd68350cf16f";
1619 1606 };
1620 1607 meta = {
1621 1608 license = [ pkgs.lib.licenses.gpl2 ];
1622 1609 };
1623 1610 };
1624 1611 urllib3 = super.buildPythonPackage {
1625 1612 name = "urllib3-1.16";
1626 1613 buildInputs = with self; [];
1627 1614 doCheck = false;
1628 1615 propagatedBuildInputs = with self; [];
1629 1616 src = fetchurl {
1630 1617 url = "https://pypi.python.org/packages/3b/f0/e763169124e3f5db0926bc3dbfcd580a105f9ca44cf5d8e6c7a803c9f6b5/urllib3-1.16.tar.gz";
1631 1618 md5 = "fcaab1c5385c57deeb7053d3d7d81d59";
1632 1619 };
1633 1620 meta = {
1634 1621 license = [ pkgs.lib.licenses.mit ];
1635 1622 };
1636 1623 };
1637 1624 venusian = super.buildPythonPackage {
1638 1625 name = "venusian-1.0";
1639 1626 buildInputs = with self; [];
1640 1627 doCheck = false;
1641 1628 propagatedBuildInputs = with self; [];
1642 1629 src = fetchurl {
1643 1630 url = "https://pypi.python.org/packages/86/20/1948e0dfc4930ddde3da8c33612f6a5717c0b4bc28f591a5c5cf014dd390/venusian-1.0.tar.gz";
1644 1631 md5 = "dccf2eafb7113759d60c86faf5538756";
1645 1632 };
1646 1633 meta = {
1647 1634 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1648 1635 };
1649 1636 };
1650 1637 waitress = super.buildPythonPackage {
1651 1638 name = "waitress-0.8.9";
1652 1639 buildInputs = with self; [];
1653 1640 doCheck = false;
1654 1641 propagatedBuildInputs = with self; [setuptools];
1655 1642 src = fetchurl {
1656 1643 url = "https://pypi.python.org/packages/ee/65/fc9dee74a909a1187ca51e4f15ad9c4d35476e4ab5813f73421505c48053/waitress-0.8.9.tar.gz";
1657 1644 md5 = "da3f2e62b3676be5dd630703a68e2a04";
1658 1645 };
1659 1646 meta = {
1660 1647 license = [ pkgs.lib.licenses.zpt21 ];
1661 1648 };
1662 1649 };
1650 ws4py = super.buildPythonPackage {
1651 name = "ws4py-0.3.5";
1652 buildInputs = with self; [];
1653 doCheck = false;
1654 propagatedBuildInputs = with self; [];
1655 src = fetchurl {
1656 url = "https://pypi.python.org/packages/b6/4f/34af703be86939629479e74d6e650e39f3bd73b3b09212c34e5125764cbc/ws4py-0.3.5.zip";
1657 md5 = "a261b75c20b980e55ce7451a3576a867";
1658 };
1659 meta = {
1660 license = [ pkgs.lib.licenses.bsdOriginal ];
1661 };
1662 };
1663 1663 wsgiref = super.buildPythonPackage {
1664 1664 name = "wsgiref-0.1.2";
1665 1665 buildInputs = with self; [];
1666 1666 doCheck = false;
1667 1667 propagatedBuildInputs = with self; [];
1668 1668 src = fetchurl {
1669 1669 url = "https://pypi.python.org/packages/41/9e/309259ce8dff8c596e8c26df86dbc4e848b9249fd36797fd60be456f03fc/wsgiref-0.1.2.zip";
1670 1670 md5 = "29b146e6ebd0f9fb119fe321f7bcf6cb";
1671 1671 };
1672 1672 meta = {
1673 1673 license = [ { fullName = "PSF or ZPL"; } ];
1674 1674 };
1675 1675 };
1676 1676 zope.cachedescriptors = super.buildPythonPackage {
1677 1677 name = "zope.cachedescriptors-4.0.0";
1678 1678 buildInputs = with self; [];
1679 1679 doCheck = false;
1680 1680 propagatedBuildInputs = with self; [setuptools];
1681 1681 src = fetchurl {
1682 1682 url = "https://pypi.python.org/packages/40/33/694b6644c37f28553f4b9f20b3c3a20fb709a22574dff20b5bdffb09ecd5/zope.cachedescriptors-4.0.0.tar.gz";
1683 1683 md5 = "8d308de8c936792c8e758058fcb7d0f0";
1684 1684 };
1685 1685 meta = {
1686 1686 license = [ pkgs.lib.licenses.zpt21 ];
1687 1687 };
1688 1688 };
1689 1689 zope.deprecation = super.buildPythonPackage {
1690 1690 name = "zope.deprecation-4.1.2";
1691 1691 buildInputs = with self; [];
1692 1692 doCheck = false;
1693 1693 propagatedBuildInputs = with self; [setuptools];
1694 1694 src = fetchurl {
1695 1695 url = "https://pypi.python.org/packages/c1/d3/3919492d5e57d8dd01b36f30b34fc8404a30577392b1eb817c303499ad20/zope.deprecation-4.1.2.tar.gz";
1696 1696 md5 = "e9a663ded58f4f9f7881beb56cae2782";
1697 1697 };
1698 1698 meta = {
1699 1699 license = [ pkgs.lib.licenses.zpt21 ];
1700 1700 };
1701 1701 };
1702 1702 zope.event = super.buildPythonPackage {
1703 1703 name = "zope.event-4.0.3";
1704 1704 buildInputs = with self; [];
1705 1705 doCheck = false;
1706 1706 propagatedBuildInputs = with self; [setuptools];
1707 1707 src = fetchurl {
1708 1708 url = "https://pypi.python.org/packages/c1/29/91ba884d7d6d96691df592e9e9c2bfa57a47040ec1ff47eff18c85137152/zope.event-4.0.3.tar.gz";
1709 1709 md5 = "9a3780916332b18b8b85f522bcc3e249";
1710 1710 };
1711 1711 meta = {
1712 1712 license = [ pkgs.lib.licenses.zpt21 ];
1713 1713 };
1714 1714 };
1715 1715 zope.interface = super.buildPythonPackage {
1716 1716 name = "zope.interface-4.1.3";
1717 1717 buildInputs = with self; [];
1718 1718 doCheck = false;
1719 1719 propagatedBuildInputs = with self; [setuptools];
1720 1720 src = fetchurl {
1721 1721 url = "https://pypi.python.org/packages/9d/81/2509ca3c6f59080123c1a8a97125eb48414022618cec0e64eb1313727bfe/zope.interface-4.1.3.tar.gz";
1722 1722 md5 = "9ae3d24c0c7415deb249dd1a132f0f79";
1723 1723 };
1724 1724 meta = {
1725 1725 license = [ pkgs.lib.licenses.zpt21 ];
1726 1726 };
1727 1727 };
1728 1728
1729 1729 ### Test requirements
1730 1730
1731 1731
1732 1732 }
@@ -1,151 +1,151 b''
1 1 Babel==1.3
2 2 Beaker==1.7.0
3 3 CProfileV==1.0.6
4 4 Fabric==1.10.0
5 5 FormEncode==1.2.4
6 6 Jinja2==2.7.3
7 7 Mako==1.0.1
8 8 Markdown==2.6.2
9 9 MarkupSafe==0.23
10 10 MySQL-python==1.2.5
11 11 Paste==2.0.2
12 12 PasteDeploy==1.5.2
13 13 PasteScript==1.7.5
14 14 Pygments==2.1.3
15 15
16 16 # TODO: This version is not available on PyPI
17 17 # Pylons==1.0.2.dev20160108
18 18 Pylons==1.0.1
19 19
20 20 # TODO: This version is not available, but newer ones are
21 21 # Pyro4==4.35
22 22 Pyro4==4.41
23 23
24 24 # TODO: This should probably not be in here
25 25 # -e hg+https://johbo@code.rhodecode.com/johbo/rhodecode-fork@3a454bd1f17c0b2b2a951cf2b111e0320d7942a9#egg=RhodeCodeEnterprise-dev
26 26
27 27 Routes==1.13
28 28 SQLAlchemy==0.9.9
29 29 Sphinx==1.2.2
30 30 Tempita==0.5.2
31 31 URLObject==2.4.0
32 32 WebError==0.10.3
33 33
34 34 # TODO: This is modified by us, needs a better integration. For now
35 35 # using the latest version before.
36 36 # WebHelpers==1.3.dev20150807
37 37 WebHelpers==1.3
38 38
39 39 WebHelpers2==2.0
40 40 WebOb==1.3.1
41 41 WebTest==1.4.3
42 42 Whoosh==2.7.0
43 43 alembic==0.8.4
44 44 amqplib==1.0.2
45 45 anyjson==0.3.3
46 46 appenlight-client==0.6.14
47 47 authomatic==0.1.0.post1;
48 48 backport-ipaddress==0.1
49 49 bottle==0.12.8
50 50 bumpversion==0.5.3
51 51 celery==2.2.10
52 channelstream==0.4.2
52 channelstream==0.5.2
53 53 click==5.1
54 54 colander==1.2
55 55 configobj==5.0.6
56 56 cov-core==1.15.0
57 57 coverage==3.7.1
58 58 cssselect==0.9.1
59 59 decorator==3.4.2
60 60 deform==2.0a2
61 61 docutils==0.12
62 62 dogpile.cache==0.6.1
63 63 dogpile.core==0.4.1
64 64 dulwich==0.12.0
65 65 ecdsa==0.11
66 66 flake8==2.4.1
67 67 future==0.14.3
68 68 futures==3.0.2
69 69 gevent==1.1.1
70 70 gprof2dot==2015.12.1
71 71 greenlet==0.4.9
72 72 gunicorn==19.6.0
73 73
74 74 # TODO: Needs subvertpy and blows up without Subversion headers,
75 75 # actually we should not need this for Enterprise at all.
76 76 # hgsubversion==1.8.2
77 77
78 78 gnureadline==6.3.3
79 79 infrae.cache==1.0.1
80 80 invoke==0.13.0
81 81 ipdb==0.8
82 82 ipython==3.1.0
83 83 iso8601==0.1.11
84 84 itsdangerous==0.24
85 85 kombu==1.5.1
86 86 lxml==3.4.4
87 87 mccabe==0.3
88 88 meld3==1.0.2
89 89 mock==1.0.1
90 90 msgpack-python==0.4.6
91 91 nose==1.3.6
92 92 objgraph==2.0.0
93 93 packaging==15.2
94 94 paramiko==1.15.1
95 95 pep8==1.5.7
96 96 psutil==2.2.1
97 97 psycopg2==2.6.1
98 98 py==1.4.29
99 99 py-bcrypt==0.4
100 100 py-gfm==0.1.3
101 101 pycrypto==2.6.1
102 102 pycurl==7.19.5
103 103 pyflakes==0.8.1
104 104 pyparsing==1.5.7
105 105 pyramid==1.6.1
106 106 pyramid-beaker==0.8
107 107 pyramid-debugtoolbar==2.4.2
108 108 pyramid-jinja2==2.5
109 109 pyramid-mako==1.0.2
110 110 pysqlite==2.6.3
111 111 pytest==2.8.5
112 112 pytest-runner==2.7.1
113 113 pytest-catchlog==1.2.2
114 114 pytest-cov==1.8.1
115 115 pytest-profiling==1.0.1
116 116 pytest-timeout==0.4
117 117 python-dateutil==1.5
118 118 python-ldap==2.4.19
119 119 python-memcached==1.57
120 120 python-pam==1.8.2
121 121 pytz==2015.4
122 122 pyzmq==14.6.0
123 123
124 124 # TODO: This is not available in public
125 125 # rc-testdata==0.2.0
126 126
127 127 https://code.rhodecode.com/rhodecode-tools-ce/archive/v0.8.3.zip#md5=9acdfd71b8ddf4056057065f37ab9ccb
128 128
129 129
130 130 recaptcha-client==1.0.6
131 131 repoze.lru==0.6
132 132 requests==2.9.1
133 133 serpent==1.12
134 134 setproctitle==1.1.8
135 135 setuptools==20.8.1
136 136 setuptools-scm==1.11.0
137 137 simplejson==3.7.2
138 138 six==1.9.0
139 139 subprocess32==3.2.6
140 140 supervisor==3.3.0
141 141 transifex-client==0.10
142 142 translationstring==1.3
143 143 trollius==1.0.4
144 144 uWSGI==2.0.11.2
145 145 venusian==1.0
146 146 waitress==0.8.9
147 147 wsgiref==0.1.2
148 148 zope.cachedescriptors==4.0.0
149 149 zope.deprecation==4.1.2
150 150 zope.event==4.0.3
151 151 zope.interface==4.1.3
@@ -1,512 +1,513 b''
1 1 # -*- coding: utf-8 -*-
2 2
3 3 # Copyright (C) 2011-2016 RhodeCode GmbH
4 4 #
5 5 # This program is free software: you can redistribute it and/or modify
6 6 # it under the terms of the GNU Affero General Public License, version 3
7 7 # (only), as published by the Free Software Foundation.
8 8 #
9 9 # This program is distributed in the hope that it will be useful,
10 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 12 # GNU General Public License for more details.
13 13 #
14 14 # You should have received a copy of the GNU Affero General Public License
15 15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
16 16 #
17 17 # This program is dual-licensed. If you wish to learn more about the
18 18 # RhodeCode Enterprise Edition, including its added features, Support services,
19 19 # and proprietary license terms, please see https://rhodecode.com/licenses/
20 20
21 21 """
22 22 comments model for RhodeCode
23 23 """
24 24
25 25 import logging
26 26 import traceback
27 27 import collections
28 28
29 29 from datetime import datetime
30 30
31 31 from pylons.i18n.translation import _
32 32 from pyramid.threadlocal import get_current_registry
33 33 from sqlalchemy.sql.expression import null
34 34 from sqlalchemy.sql.functions import coalesce
35 35
36 36 from rhodecode.lib import helpers as h, diffs
37 37 from rhodecode.lib.channelstream import channelstream_request
38 38 from rhodecode.lib.utils import action_logger
39 39 from rhodecode.lib.utils2 import extract_mentioned_users
40 40 from rhodecode.model import BaseModel
41 41 from rhodecode.model.db import (
42 42 ChangesetComment, User, Notification, PullRequest)
43 43 from rhodecode.model.notification import NotificationModel
44 44 from rhodecode.model.meta import Session
45 45 from rhodecode.model.settings import VcsSettingsModel
46 46 from rhodecode.model.notification import EmailNotificationModel
47 47
48 48 log = logging.getLogger(__name__)
49 49
50 50
51 51 class ChangesetCommentsModel(BaseModel):
52 52
53 53 cls = ChangesetComment
54 54
55 55 DIFF_CONTEXT_BEFORE = 3
56 56 DIFF_CONTEXT_AFTER = 3
57 57
58 58 def __get_commit_comment(self, changeset_comment):
59 59 return self._get_instance(ChangesetComment, changeset_comment)
60 60
61 61 def __get_pull_request(self, pull_request):
62 62 return self._get_instance(PullRequest, pull_request)
63 63
64 64 def _extract_mentions(self, s):
65 65 user_objects = []
66 66 for username in extract_mentioned_users(s):
67 67 user_obj = User.get_by_username(username, case_insensitive=True)
68 68 if user_obj:
69 69 user_objects.append(user_obj)
70 70 return user_objects
71 71
72 72 def _get_renderer(self, global_renderer='rst'):
73 73 try:
74 74 # try reading from visual context
75 75 from pylons import tmpl_context
76 76 global_renderer = tmpl_context.visual.default_renderer
77 77 except AttributeError:
78 78 log.debug("Renderer not set, falling back "
79 79 "to default renderer '%s'", global_renderer)
80 80 except Exception:
81 81 log.error(traceback.format_exc())
82 82 return global_renderer
83 83
84 84 def create(self, text, repo, user, revision=None, pull_request=None,
85 85 f_path=None, line_no=None, status_change=None, closing_pr=False,
86 86 send_email=True, renderer=None):
87 87 """
88 88 Creates new comment for commit or pull request.
89 89 IF status_change is not none this comment is associated with a
90 90 status change of commit or commit associated with pull request
91 91
92 92 :param text:
93 93 :param repo:
94 94 :param user:
95 95 :param revision:
96 96 :param pull_request:
97 97 :param f_path:
98 98 :param line_no:
99 99 :param status_change:
100 100 :param closing_pr:
101 101 :param send_email:
102 102 """
103 103 if not text:
104 104 log.warning('Missing text for comment, skipping...')
105 105 return
106 106
107 107 if not renderer:
108 108 renderer = self._get_renderer()
109 109
110 110 repo = self._get_repo(repo)
111 111 user = self._get_user(user)
112 112 comment = ChangesetComment()
113 113 comment.renderer = renderer
114 114 comment.repo = repo
115 115 comment.author = user
116 116 comment.text = text
117 117 comment.f_path = f_path
118 118 comment.line_no = line_no
119 119
120 120 #TODO (marcink): fix this and remove revision as param
121 121 commit_id = revision
122 122 pull_request_id = pull_request
123 123
124 124 commit_obj = None
125 125 pull_request_obj = None
126 126
127 127 if commit_id:
128 128 notification_type = EmailNotificationModel.TYPE_COMMIT_COMMENT
129 129 # do a lookup, so we don't pass something bad here
130 130 commit_obj = repo.scm_instance().get_commit(commit_id=commit_id)
131 131 comment.revision = commit_obj.raw_id
132 132
133 133 elif pull_request_id:
134 134 notification_type = EmailNotificationModel.TYPE_PULL_REQUEST_COMMENT
135 135 pull_request_obj = self.__get_pull_request(pull_request_id)
136 136 comment.pull_request = pull_request_obj
137 137 else:
138 138 raise Exception('Please specify commit or pull_request_id')
139 139
140 140 Session().add(comment)
141 141 Session().flush()
142 142 kwargs = {
143 143 'user': user,
144 144 'renderer_type': renderer,
145 145 'repo_name': repo.repo_name,
146 146 'status_change': status_change,
147 147 'comment_body': text,
148 148 'comment_file': f_path,
149 149 'comment_line': line_no,
150 150 }
151 151
152 152 if commit_obj:
153 153 recipients = ChangesetComment.get_users(
154 154 revision=commit_obj.raw_id)
155 155 # add commit author if it's in RhodeCode system
156 156 cs_author = User.get_from_cs_author(commit_obj.author)
157 157 if not cs_author:
158 158 # use repo owner if we cannot extract the author correctly
159 159 cs_author = repo.user
160 160 recipients += [cs_author]
161 161
162 162 commit_comment_url = self.get_url(comment)
163 163
164 164 target_repo_url = h.link_to(
165 165 repo.repo_name,
166 166 h.url('summary_home',
167 167 repo_name=repo.repo_name, qualified=True))
168 168
169 169 # commit specifics
170 170 kwargs.update({
171 171 'commit': commit_obj,
172 172 'commit_message': commit_obj.message,
173 173 'commit_target_repo': target_repo_url,
174 174 'commit_comment_url': commit_comment_url,
175 175 })
176 176
177 177 elif pull_request_obj:
178 178 # get the current participants of this pull request
179 179 recipients = ChangesetComment.get_users(
180 180 pull_request_id=pull_request_obj.pull_request_id)
181 181 # add pull request author
182 182 recipients += [pull_request_obj.author]
183 183
184 184 # add the reviewers to notification
185 185 recipients += [x.user for x in pull_request_obj.reviewers]
186 186
187 187 pr_target_repo = pull_request_obj.target_repo
188 188 pr_source_repo = pull_request_obj.source_repo
189 189
190 190 pr_comment_url = h.url(
191 191 'pullrequest_show',
192 192 repo_name=pr_target_repo.repo_name,
193 193 pull_request_id=pull_request_obj.pull_request_id,
194 194 anchor='comment-%s' % comment.comment_id,
195 195 qualified=True,)
196 196
197 197 # set some variables for email notification
198 198 pr_target_repo_url = h.url(
199 199 'summary_home', repo_name=pr_target_repo.repo_name,
200 200 qualified=True)
201 201
202 202 pr_source_repo_url = h.url(
203 203 'summary_home', repo_name=pr_source_repo.repo_name,
204 204 qualified=True)
205 205
206 206 # pull request specifics
207 207 kwargs.update({
208 208 'pull_request': pull_request_obj,
209 209 'pr_id': pull_request_obj.pull_request_id,
210 210 'pr_target_repo': pr_target_repo,
211 211 'pr_target_repo_url': pr_target_repo_url,
212 212 'pr_source_repo': pr_source_repo,
213 213 'pr_source_repo_url': pr_source_repo_url,
214 214 'pr_comment_url': pr_comment_url,
215 215 'pr_closing': closing_pr,
216 216 })
217 217 if send_email:
218 218 # pre-generate the subject for notification itself
219 219 (subject,
220 220 _h, _e, # we don't care about those
221 221 body_plaintext) = EmailNotificationModel().render_email(
222 222 notification_type, **kwargs)
223 223
224 224 mention_recipients = set(
225 225 self._extract_mentions(text)).difference(recipients)
226 226
227 227 # create notification objects, and emails
228 228 NotificationModel().create(
229 229 created_by=user,
230 230 notification_subject=subject,
231 231 notification_body=body_plaintext,
232 232 notification_type=notification_type,
233 233 recipients=recipients,
234 234 mention_recipients=mention_recipients,
235 235 email_kwargs=kwargs,
236 236 )
237 237
238 238 action = (
239 239 'user_commented_pull_request:{}'.format(
240 240 comment.pull_request.pull_request_id)
241 241 if comment.pull_request
242 242 else 'user_commented_revision:{}'.format(comment.revision)
243 243 )
244 244 action_logger(user, action, comment.repo)
245 245
246 246 registry = get_current_registry()
247 247 rhodecode_plugins = getattr(registry, 'rhodecode_plugins', {})
248 248 channelstream_config = rhodecode_plugins.get('channelstream')
249 249 msg_url = ''
250 250 if commit_obj:
251 251 msg_url = commit_comment_url
252 252 repo_name = repo.repo_name
253 253 elif pull_request_obj:
254 254 msg_url = pr_comment_url
255 255 repo_name = pr_target_repo.repo_name
256 256
257 257 if channelstream_config:
258 258 message = '<strong>{}</strong> {} - ' \
259 259 '<a onclick="window.location=\'{}\';' \
260 260 'window.location.reload()">' \
261 261 '<strong>{}</strong></a>'
262 262 message = message.format(
263 263 user.username, _('made a comment'), msg_url,
264 264 _('Refresh page'))
265 265 if channelstream_config:
266 266 channel = '/repo${}$/pr/{}'.format(
267 267 repo_name,
268 268 pull_request_id
269 269 )
270 270 payload = {
271 271 'type': 'message',
272 272 'timestamp': datetime.utcnow(),
273 273 'user': 'system',
274 'exclude_users': [user.username],
274 275 'channel': channel,
275 276 'message': {
276 277 'message': message,
277 278 'level': 'info',
278 279 'topic': '/notifications'
279 280 }
280 281 }
281 282 channelstream_request(channelstream_config, [payload],
282 283 '/message', raise_exc=False)
283 284
284 285 return comment
285 286
286 287 def delete(self, comment):
287 288 """
288 289 Deletes given comment
289 290
290 291 :param comment_id:
291 292 """
292 293 comment = self.__get_commit_comment(comment)
293 294 Session().delete(comment)
294 295
295 296 return comment
296 297
297 298 def get_all_comments(self, repo_id, revision=None, pull_request=None):
298 299 q = ChangesetComment.query()\
299 300 .filter(ChangesetComment.repo_id == repo_id)
300 301 if revision:
301 302 q = q.filter(ChangesetComment.revision == revision)
302 303 elif pull_request:
303 304 pull_request = self.__get_pull_request(pull_request)
304 305 q = q.filter(ChangesetComment.pull_request == pull_request)
305 306 else:
306 307 raise Exception('Please specify commit or pull_request')
307 308 q = q.order_by(ChangesetComment.created_on)
308 309 return q.all()
309 310
310 311 def get_url(self, comment):
311 312 comment = self.__get_commit_comment(comment)
312 313 if comment.pull_request:
313 314 return h.url(
314 315 'pullrequest_show',
315 316 repo_name=comment.pull_request.target_repo.repo_name,
316 317 pull_request_id=comment.pull_request.pull_request_id,
317 318 anchor='comment-%s' % comment.comment_id,
318 319 qualified=True,)
319 320 else:
320 321 return h.url(
321 322 'changeset_home',
322 323 repo_name=comment.repo.repo_name,
323 324 revision=comment.revision,
324 325 anchor='comment-%s' % comment.comment_id,
325 326 qualified=True,)
326 327
327 328 def get_comments(self, repo_id, revision=None, pull_request=None):
328 329 """
329 330 Gets main comments based on revision or pull_request_id
330 331
331 332 :param repo_id:
332 333 :param revision:
333 334 :param pull_request:
334 335 """
335 336
336 337 q = ChangesetComment.query()\
337 338 .filter(ChangesetComment.repo_id == repo_id)\
338 339 .filter(ChangesetComment.line_no == None)\
339 340 .filter(ChangesetComment.f_path == None)
340 341 if revision:
341 342 q = q.filter(ChangesetComment.revision == revision)
342 343 elif pull_request:
343 344 pull_request = self.__get_pull_request(pull_request)
344 345 q = q.filter(ChangesetComment.pull_request == pull_request)
345 346 else:
346 347 raise Exception('Please specify commit or pull_request')
347 348 q = q.order_by(ChangesetComment.created_on)
348 349 return q.all()
349 350
350 351 def get_inline_comments(self, repo_id, revision=None, pull_request=None):
351 352 q = self._get_inline_comments_query(repo_id, revision, pull_request)
352 353 return self._group_comments_by_path_and_line_number(q)
353 354
354 355 def get_outdated_comments(self, repo_id, pull_request):
355 356 # TODO: johbo: Remove `repo_id`, it is not needed to find the comments
356 357 # of a pull request.
357 358 q = self._all_inline_comments_of_pull_request(pull_request)
358 359 q = q.filter(
359 360 ChangesetComment.display_state ==
360 361 ChangesetComment.COMMENT_OUTDATED
361 362 ).order_by(ChangesetComment.comment_id.asc())
362 363
363 364 return self._group_comments_by_path_and_line_number(q)
364 365
365 366 def _get_inline_comments_query(self, repo_id, revision, pull_request):
366 367 # TODO: johbo: Split this into two methods: One for PR and one for
367 368 # commit.
368 369 if revision:
369 370 q = Session().query(ChangesetComment).filter(
370 371 ChangesetComment.repo_id == repo_id,
371 372 ChangesetComment.line_no != null(),
372 373 ChangesetComment.f_path != null(),
373 374 ChangesetComment.revision == revision)
374 375
375 376 elif pull_request:
376 377 pull_request = self.__get_pull_request(pull_request)
377 378 if ChangesetCommentsModel.use_outdated_comments(pull_request):
378 379 q = self._visible_inline_comments_of_pull_request(pull_request)
379 380 else:
380 381 q = self._all_inline_comments_of_pull_request(pull_request)
381 382
382 383 else:
383 384 raise Exception('Please specify commit or pull_request_id')
384 385 q = q.order_by(ChangesetComment.comment_id.asc())
385 386 return q
386 387
387 388 def _group_comments_by_path_and_line_number(self, q):
388 389 comments = q.all()
389 390 paths = collections.defaultdict(lambda: collections.defaultdict(list))
390 391 for co in comments:
391 392 paths[co.f_path][co.line_no].append(co)
392 393 return paths
393 394
394 395 @classmethod
395 396 def needed_extra_diff_context(cls):
396 397 return max(cls.DIFF_CONTEXT_BEFORE, cls.DIFF_CONTEXT_AFTER)
397 398
398 399 def outdate_comments(self, pull_request, old_diff_data, new_diff_data):
399 400 if not ChangesetCommentsModel.use_outdated_comments(pull_request):
400 401 return
401 402
402 403 comments = self._visible_inline_comments_of_pull_request(pull_request)
403 404 comments_to_outdate = comments.all()
404 405
405 406 for comment in comments_to_outdate:
406 407 self._outdate_one_comment(comment, old_diff_data, new_diff_data)
407 408
408 409 def _outdate_one_comment(self, comment, old_diff_proc, new_diff_proc):
409 410 diff_line = _parse_comment_line_number(comment.line_no)
410 411
411 412 try:
412 413 old_context = old_diff_proc.get_context_of_line(
413 414 path=comment.f_path, diff_line=diff_line)
414 415 new_context = new_diff_proc.get_context_of_line(
415 416 path=comment.f_path, diff_line=diff_line)
416 417 except (diffs.LineNotInDiffException,
417 418 diffs.FileNotInDiffException):
418 419 comment.display_state = ChangesetComment.COMMENT_OUTDATED
419 420 return
420 421
421 422 if old_context == new_context:
422 423 return
423 424
424 425 if self._should_relocate_diff_line(diff_line):
425 426 new_diff_lines = new_diff_proc.find_context(
426 427 path=comment.f_path, context=old_context,
427 428 offset=self.DIFF_CONTEXT_BEFORE)
428 429 if not new_diff_lines:
429 430 comment.display_state = ChangesetComment.COMMENT_OUTDATED
430 431 else:
431 432 new_diff_line = self._choose_closest_diff_line(
432 433 diff_line, new_diff_lines)
433 434 comment.line_no = _diff_to_comment_line_number(new_diff_line)
434 435 else:
435 436 comment.display_state = ChangesetComment.COMMENT_OUTDATED
436 437
437 438 def _should_relocate_diff_line(self, diff_line):
438 439 """
439 440 Checks if relocation shall be tried for the given `diff_line`.
440 441
441 442 If a comment points into the first lines, then we can have a situation
442 443 that after an update another line has been added on top. In this case
443 444 we would find the context still and move the comment around. This
444 445 would be wrong.
445 446 """
446 447 should_relocate = (
447 448 (diff_line.new and diff_line.new > self.DIFF_CONTEXT_BEFORE) or
448 449 (diff_line.old and diff_line.old > self.DIFF_CONTEXT_BEFORE))
449 450 return should_relocate
450 451
451 452 def _choose_closest_diff_line(self, diff_line, new_diff_lines):
452 453 candidate = new_diff_lines[0]
453 454 best_delta = _diff_line_delta(diff_line, candidate)
454 455 for new_diff_line in new_diff_lines[1:]:
455 456 delta = _diff_line_delta(diff_line, new_diff_line)
456 457 if delta < best_delta:
457 458 candidate = new_diff_line
458 459 best_delta = delta
459 460 return candidate
460 461
461 462 def _visible_inline_comments_of_pull_request(self, pull_request):
462 463 comments = self._all_inline_comments_of_pull_request(pull_request)
463 464 comments = comments.filter(
464 465 coalesce(ChangesetComment.display_state, '') !=
465 466 ChangesetComment.COMMENT_OUTDATED)
466 467 return comments
467 468
468 469 def _all_inline_comments_of_pull_request(self, pull_request):
469 470 comments = Session().query(ChangesetComment)\
470 471 .filter(ChangesetComment.line_no != None)\
471 472 .filter(ChangesetComment.f_path != None)\
472 473 .filter(ChangesetComment.pull_request == pull_request)
473 474 return comments
474 475
475 476 @staticmethod
476 477 def use_outdated_comments(pull_request):
477 478 settings_model = VcsSettingsModel(repo=pull_request.target_repo)
478 479 settings = settings_model.get_general_settings()
479 480 return settings.get('rhodecode_use_outdated_comments', False)
480 481
481 482
482 483 def _parse_comment_line_number(line_no):
483 484 """
484 485 Parses line numbers of the form "(o|n)\d+" and returns them in a tuple.
485 486 """
486 487 old_line = None
487 488 new_line = None
488 489 if line_no.startswith('o'):
489 490 old_line = int(line_no[1:])
490 491 elif line_no.startswith('n'):
491 492 new_line = int(line_no[1:])
492 493 else:
493 494 raise ValueError("Comment lines have to start with either 'o' or 'n'.")
494 495 return diffs.DiffLineNumber(old_line, new_line)
495 496
496 497
497 498 def _diff_to_comment_line_number(diff_line):
498 499 if diff_line.new is not None:
499 500 return u'n{}'.format(diff_line.new)
500 501 elif diff_line.old is not None:
501 502 return u'o{}'.format(diff_line.old)
502 503 return u''
503 504
504 505
505 506 def _diff_line_delta(a, b):
506 507 if None not in (a.new, b.new):
507 508 return abs(a.new - b.new)
508 509 elif None not in (a.old, b.old):
509 510 return abs(a.old - b.old)
510 511 else:
511 512 raise ValueError(
512 513 "Cannot compute delta between {} and {}".format(a, b))
General Comments 0
You need to be logged in to leave comments. Login now