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