Show More
@@ -1,257 +1,250 b'' | |||||
1 | # Overrides for the generated python-packages.nix |
|
1 | # Overrides for the generated python-packages.nix | |
2 | # |
|
2 | # | |
3 | # This function is intended to be used as an extension to the generated file |
|
3 | # This function is intended to be used as an extension to the generated file | |
4 | # python-packages.nix. The main objective is to add needed dependencies of C |
|
4 | # python-packages.nix. The main objective is to add needed dependencies of C | |
5 | # libraries and tweak the build instructions where needed. |
|
5 | # libraries and tweak the build instructions where needed. | |
6 |
|
6 | |||
7 | { pkgs, basePythonPackages }: |
|
7 | { pkgs, basePythonPackages }: | |
8 |
|
8 | |||
9 | let |
|
9 | let | |
10 | sed = "sed -i"; |
|
10 | sed = "sed -i"; | |
11 | localLicenses = { |
|
11 | localLicenses = { | |
12 | repoze = { |
|
12 | repoze = { | |
13 | fullName = "Repoze License"; |
|
13 | fullName = "Repoze License"; | |
14 | url = http://www.repoze.org/LICENSE.txt; |
|
14 | url = http://www.repoze.org/LICENSE.txt; | |
15 | }; |
|
15 | }; | |
16 | }; |
|
16 | }; | |
17 |
|
17 | |||
18 | in |
|
18 | in | |
19 |
|
19 | |||
20 | self: super: { |
|
20 | self: super: { | |
21 |
|
21 | |||
22 | appenlight-client = super.appenlight-client.override (attrs: { |
|
22 | appenlight-client = super.appenlight-client.override (attrs: { | |
23 | meta = { |
|
23 | meta = { | |
24 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
24 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
25 | }; |
|
25 | }; | |
26 | }); |
|
26 | }); | |
27 |
|
27 | |||
28 | Beaker = super.Beaker.override (attrs: { |
|
28 | Beaker = super.Beaker.override (attrs: { | |
29 | patches = [ |
|
29 | patches = [ | |
30 | ./patch-beaker-lock-func-debug.diff |
|
30 | ./patch-beaker-lock-func-debug.diff | |
31 | ]; |
|
31 | ]; | |
32 | }); |
|
32 | }); | |
33 |
|
33 | |||
34 | future = super.future.override (attrs: { |
|
34 | future = super.future.override (attrs: { | |
35 | meta = { |
|
35 | meta = { | |
36 | license = [ pkgs.lib.licenses.mit ]; |
|
36 | license = [ pkgs.lib.licenses.mit ]; | |
37 | }; |
|
37 | }; | |
38 | }); |
|
38 | }); | |
39 |
|
39 | |||
40 | testpath = super.testpath.override (attrs: { |
|
40 | testpath = super.testpath.override (attrs: { | |
41 | meta = { |
|
41 | meta = { | |
42 | license = [ pkgs.lib.licenses.mit ]; |
|
42 | license = [ pkgs.lib.licenses.mit ]; | |
43 | }; |
|
43 | }; | |
44 | }); |
|
44 | }); | |
45 |
|
45 | |||
46 | gnureadline = super.gnureadline.override (attrs: { |
|
46 | gnureadline = super.gnureadline.override (attrs: { | |
47 | buildInputs = attrs.buildInputs ++ [ |
|
47 | buildInputs = attrs.buildInputs ++ [ | |
48 | pkgs.ncurses |
|
48 | pkgs.ncurses | |
49 | ]; |
|
49 | ]; | |
50 | patchPhase = '' |
|
50 | patchPhase = '' | |
51 | substituteInPlace setup.py --replace "/bin/bash" "${pkgs.bash}/bin/bash" |
|
51 | substituteInPlace setup.py --replace "/bin/bash" "${pkgs.bash}/bin/bash" | |
52 | ''; |
|
52 | ''; | |
53 | }); |
|
53 | }); | |
54 |
|
54 | |||
55 | gunicorn = super.gunicorn.override (attrs: { |
|
55 | gunicorn = super.gunicorn.override (attrs: { | |
56 | propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ |
|
56 | propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ | |
57 | # johbo: futures is needed as long as we are on Python 2, otherwise |
|
57 | # johbo: futures is needed as long as we are on Python 2, otherwise | |
58 | # gunicorn explodes if used with multiple threads per worker. |
|
58 | # gunicorn explodes if used with multiple threads per worker. | |
59 | self.futures |
|
59 | self.futures | |
60 | ]; |
|
60 | ]; | |
61 | }); |
|
61 | }); | |
62 |
|
62 | |||
63 | nbconvert = super.nbconvert.override (attrs: { |
|
63 | nbconvert = super.nbconvert.override (attrs: { | |
64 | propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ |
|
64 | propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ | |
65 | # marcink: plug in jupyter-client for notebook rendering |
|
65 | # marcink: plug in jupyter-client for notebook rendering | |
66 | self.jupyter-client |
|
66 | self.jupyter-client | |
67 | ]; |
|
67 | ]; | |
68 | }); |
|
68 | }); | |
69 |
|
69 | |||
70 | ipython = super.ipython.override (attrs: { |
|
70 | ipython = super.ipython.override (attrs: { | |
71 | propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ |
|
71 | propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ | |
72 | self.gnureadline |
|
72 | self.gnureadline | |
73 | ]; |
|
73 | ]; | |
74 | }); |
|
74 | }); | |
75 |
|
75 | |||
76 | lxml = super.lxml.override (attrs: { |
|
76 | lxml = super.lxml.override (attrs: { | |
77 | # johbo: On 16.09 we need this to compile on darwin, otherwise compilation |
|
77 | # johbo: On 16.09 we need this to compile on darwin, otherwise compilation | |
78 | # fails on Darwin. |
|
78 | # fails on Darwin. | |
79 | hardeningDisable = if pkgs.stdenv.isDarwin then [ "format" ] else null; |
|
79 | hardeningDisable = if pkgs.stdenv.isDarwin then [ "format" ] else null; | |
80 | buildInputs = with self; [ |
|
80 | buildInputs = with self; [ | |
81 | pkgs.libxml2 |
|
81 | pkgs.libxml2 | |
82 | pkgs.libxslt |
|
82 | pkgs.libxslt | |
83 | ]; |
|
83 | ]; | |
84 | }); |
|
84 | }); | |
85 |
|
85 | |||
86 | MySQL-python = super.MySQL-python.override (attrs: { |
|
86 | MySQL-python = super.MySQL-python.override (attrs: { | |
87 | buildInputs = attrs.buildInputs ++ [ |
|
87 | buildInputs = attrs.buildInputs ++ [ | |
88 | pkgs.openssl |
|
88 | pkgs.openssl | |
89 | ]; |
|
89 | ]; | |
90 | propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ |
|
90 | propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ | |
91 | pkgs.libmysql |
|
91 | pkgs.libmysql | |
92 | pkgs.zlib |
|
92 | pkgs.zlib | |
93 | ]; |
|
93 | ]; | |
94 | }); |
|
94 | }); | |
95 |
|
95 | |||
96 | psutil = super.psutil.override (attrs: { |
|
96 | psutil = super.psutil.override (attrs: { | |
97 | buildInputs = attrs.buildInputs ++ |
|
97 | buildInputs = attrs.buildInputs ++ | |
98 | pkgs.lib.optional pkgs.stdenv.isDarwin pkgs.darwin.IOKit; |
|
98 | pkgs.lib.optional pkgs.stdenv.isDarwin pkgs.darwin.IOKit; | |
99 | }); |
|
99 | }); | |
100 |
|
100 | |||
101 | psycopg2 = super.psycopg2.override (attrs: { |
|
101 | psycopg2 = super.psycopg2.override (attrs: { | |
102 | buildInputs = attrs.buildInputs ++ |
|
102 | buildInputs = attrs.buildInputs ++ | |
103 | pkgs.lib.optional pkgs.stdenv.isDarwin pkgs.openssl; |
|
103 | pkgs.lib.optional pkgs.stdenv.isDarwin pkgs.openssl; | |
104 | propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ |
|
104 | propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ | |
105 | pkgs.postgresql |
|
105 | pkgs.postgresql | |
106 | ]; |
|
106 | ]; | |
107 | meta = { |
|
107 | meta = { | |
108 | license = pkgs.lib.licenses.lgpl3Plus; |
|
108 | license = pkgs.lib.licenses.lgpl3Plus; | |
109 | }; |
|
109 | }; | |
110 | }); |
|
110 | }); | |
111 |
|
111 | |||
112 | pycurl = super.pycurl.override (attrs: { |
|
112 | pycurl = super.pycurl.override (attrs: { | |
113 | propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ |
|
113 | propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ | |
114 | pkgs.curl |
|
114 | pkgs.curl | |
115 | pkgs.openssl |
|
115 | pkgs.openssl | |
116 | ]; |
|
116 | ]; | |
117 | preConfigure = '' |
|
117 | preConfigure = '' | |
118 | substituteInPlace setup.py --replace '--static-libs' '--libs' |
|
118 | substituteInPlace setup.py --replace '--static-libs' '--libs' | |
119 | export PYCURL_SSL_LIBRARY=openssl |
|
119 | export PYCURL_SSL_LIBRARY=openssl | |
120 | ''; |
|
120 | ''; | |
121 | meta = { |
|
121 | meta = { | |
122 | # TODO: It is LGPL and MIT |
|
122 | # TODO: It is LGPL and MIT | |
123 | license = pkgs.lib.licenses.mit; |
|
123 | license = pkgs.lib.licenses.mit; | |
124 | }; |
|
124 | }; | |
125 | }); |
|
125 | }); | |
126 |
|
126 | |||
127 | pyramid = super.pyramid.override (attrs: { |
|
127 | pyramid = super.pyramid.override (attrs: { | |
128 | postFixup = '' |
|
128 | postFixup = '' | |
129 | wrapPythonPrograms |
|
129 | wrapPythonPrograms | |
130 | # TODO: johbo: "wrapPython" adds this magic line which |
|
130 | # TODO: johbo: "wrapPython" adds this magic line which | |
131 | # confuses pserve. |
|
131 | # confuses pserve. | |
132 | ${sed} '/import sys; sys.argv/d' $out/bin/.pserve-wrapped |
|
132 | ${sed} '/import sys; sys.argv/d' $out/bin/.pserve-wrapped | |
133 | ''; |
|
133 | ''; | |
134 | meta = { |
|
134 | meta = { | |
135 | license = localLicenses.repoze; |
|
135 | license = localLicenses.repoze; | |
136 | }; |
|
136 | }; | |
137 | }); |
|
137 | }); | |
138 |
|
138 | |||
139 | pyramid-debugtoolbar = super.pyramid-debugtoolbar.override (attrs: { |
|
139 | pyramid-debugtoolbar = super.pyramid-debugtoolbar.override (attrs: { | |
140 | meta = { |
|
140 | meta = { | |
141 | license = [ pkgs.lib.licenses.bsdOriginal localLicenses.repoze ]; |
|
141 | license = [ pkgs.lib.licenses.bsdOriginal localLicenses.repoze ]; | |
142 | }; |
|
142 | }; | |
143 | }); |
|
143 | }); | |
144 |
|
144 | |||
145 | pysqlite = super.pysqlite.override (attrs: { |
|
145 | pysqlite = super.pysqlite.override (attrs: { | |
146 | propagatedBuildInputs = [ |
|
146 | propagatedBuildInputs = [ | |
147 | pkgs.sqlite |
|
147 | pkgs.sqlite | |
148 | ]; |
|
148 | ]; | |
149 | meta = { |
|
149 | meta = { | |
150 | license = [ pkgs.lib.licenses.zlib pkgs.lib.licenses.libpng ]; |
|
150 | license = [ pkgs.lib.licenses.zlib pkgs.lib.licenses.libpng ]; | |
151 | }; |
|
151 | }; | |
152 | }); |
|
152 | }); | |
153 |
|
153 | |||
154 | pytest-runner = super.pytest-runner.override (attrs: { |
|
154 | pytest-runner = super.pytest-runner.override (attrs: { | |
155 | propagatedBuildInputs = [ |
|
155 | propagatedBuildInputs = [ | |
156 | self.setuptools-scm |
|
156 | self.setuptools-scm | |
157 | ]; |
|
157 | ]; | |
158 | }); |
|
158 | }); | |
159 |
|
159 | |||
160 | python-ldap = super.python-ldap.override (attrs: { |
|
160 | python-ldap = super.python-ldap.override (attrs: { | |
161 | propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ |
|
161 | propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ | |
162 | pkgs.cyrus_sasl |
|
162 | pkgs.cyrus_sasl | |
163 | pkgs.openldap |
|
163 | pkgs.openldap | |
164 | pkgs.openssl |
|
164 | pkgs.openssl | |
165 | ]; |
|
165 | ]; | |
166 | # TODO: johbo: Remove the "or" once we drop 16.03 support. |
|
166 | # TODO: johbo: Remove the "or" once we drop 16.03 support. | |
167 | NIX_CFLAGS_COMPILE = "-I${pkgs.cyrus_sasl.dev or pkgs.cyrus_sasl}/include/sasl"; |
|
167 | NIX_CFLAGS_COMPILE = "-I${pkgs.cyrus_sasl.dev or pkgs.cyrus_sasl}/include/sasl"; | |
168 | }); |
|
168 | }); | |
169 |
|
169 | |||
170 | python-pam = super.python-pam.override (attrs: |
|
170 | python-pam = super.python-pam.override (attrs: | |
171 | let |
|
171 | let | |
172 | includeLibPam = pkgs.stdenv.isLinux; |
|
172 | includeLibPam = pkgs.stdenv.isLinux; | |
173 | in { |
|
173 | in { | |
174 | # TODO: johbo: Move the option up into the default.nix, we should |
|
174 | # TODO: johbo: Move the option up into the default.nix, we should | |
175 | # include python-pam only on supported platforms. |
|
175 | # include python-pam only on supported platforms. | |
176 | propagatedBuildInputs = attrs.propagatedBuildInputs ++ |
|
176 | propagatedBuildInputs = attrs.propagatedBuildInputs ++ | |
177 | pkgs.lib.optional includeLibPam [ |
|
177 | pkgs.lib.optional includeLibPam [ | |
178 | pkgs.pam |
|
178 | pkgs.pam | |
179 | ]; |
|
179 | ]; | |
180 | # TODO: johbo: Check if this can be avoided, or transform into |
|
180 | # TODO: johbo: Check if this can be avoided, or transform into | |
181 | # a real patch |
|
181 | # a real patch | |
182 | patchPhase = pkgs.lib.optionals includeLibPam '' |
|
182 | patchPhase = pkgs.lib.optionals includeLibPam '' | |
183 | substituteInPlace pam.py \ |
|
183 | substituteInPlace pam.py \ | |
184 | --replace 'find_library("pam")' '"${pkgs.pam}/lib/libpam.so.0"' |
|
184 | --replace 'find_library("pam")' '"${pkgs.pam}/lib/libpam.so.0"' | |
185 | ''; |
|
185 | ''; | |
186 | }); |
|
186 | }); | |
187 |
|
187 | |||
188 | URLObject = super.URLObject.override (attrs: { |
|
188 | URLObject = super.URLObject.override (attrs: { | |
189 | meta = { |
|
189 | meta = { | |
190 | license = { |
|
190 | license = { | |
191 | spdxId = "Unlicense"; |
|
191 | spdxId = "Unlicense"; | |
192 | fullName = "The Unlicense"; |
|
192 | fullName = "The Unlicense"; | |
193 | url = http://unlicense.org/; |
|
193 | url = http://unlicense.org/; | |
194 | }; |
|
194 | }; | |
195 | }; |
|
195 | }; | |
196 | }); |
|
196 | }); | |
197 |
|
197 | |||
198 | docutils = super.docutils.override (attrs: { |
|
198 | docutils = super.docutils.override (attrs: { | |
199 | meta = { |
|
199 | meta = { | |
200 | license = pkgs.lib.licenses.bsd2; |
|
200 | license = pkgs.lib.licenses.bsd2; | |
201 | }; |
|
201 | }; | |
202 | }); |
|
202 | }); | |
203 |
|
203 | |||
204 | colander = super.colander.override (attrs: { |
|
204 | colander = super.colander.override (attrs: { | |
205 | meta = { |
|
205 | meta = { | |
206 | license = localLicenses.repoze; |
|
206 | license = localLicenses.repoze; | |
207 | }; |
|
207 | }; | |
208 | }); |
|
208 | }); | |
209 |
|
209 | |||
210 | pyramid-beaker = super.pyramid-beaker.override (attrs: { |
|
210 | pyramid-beaker = super.pyramid-beaker.override (attrs: { | |
211 | meta = { |
|
211 | meta = { | |
212 | license = localLicenses.repoze; |
|
212 | license = localLicenses.repoze; | |
213 | }; |
|
213 | }; | |
214 | }); |
|
214 | }); | |
215 |
|
215 | |||
216 | pyramid-mako = super.pyramid-mako.override (attrs: { |
|
216 | pyramid-mako = super.pyramid-mako.override (attrs: { | |
217 | meta = { |
|
217 | meta = { | |
218 | license = localLicenses.repoze; |
|
218 | license = localLicenses.repoze; | |
219 | }; |
|
219 | }; | |
220 | }); |
|
220 | }); | |
221 |
|
221 | |||
222 | repoze.lru = super.repoze.lru.override (attrs: { |
|
222 | repoze.lru = super.repoze.lru.override (attrs: { | |
223 | meta = { |
|
223 | meta = { | |
224 | license = localLicenses.repoze; |
|
224 | license = localLicenses.repoze; | |
225 | }; |
|
225 | }; | |
226 | }); |
|
226 | }); | |
227 |
|
227 | |||
228 | recaptcha-client = super.recaptcha-client.override (attrs: { |
|
|||
229 | meta = { |
|
|||
230 | # TODO: It is MIT/X11 |
|
|||
231 | license = pkgs.lib.licenses.mit; |
|
|||
232 | }; |
|
|||
233 | }); |
|
|||
234 |
|
||||
235 | python-editor = super.python-editor.override (attrs: { |
|
228 | python-editor = super.python-editor.override (attrs: { | |
236 | meta = { |
|
229 | meta = { | |
237 | license = pkgs.lib.licenses.asl20; |
|
230 | license = pkgs.lib.licenses.asl20; | |
238 | }; |
|
231 | }; | |
239 | }); |
|
232 | }); | |
240 |
|
233 | |||
241 | translationstring = super.translationstring.override (attrs: { |
|
234 | translationstring = super.translationstring.override (attrs: { | |
242 | meta = { |
|
235 | meta = { | |
243 | license = localLicenses.repoze; |
|
236 | license = localLicenses.repoze; | |
244 | }; |
|
237 | }; | |
245 | }); |
|
238 | }); | |
246 |
|
239 | |||
247 | venusian = super.venusian.override (attrs: { |
|
240 | venusian = super.venusian.override (attrs: { | |
248 | meta = { |
|
241 | meta = { | |
249 | license = localLicenses.repoze; |
|
242 | license = localLicenses.repoze; | |
250 | }; |
|
243 | }; | |
251 | }); |
|
244 | }); | |
252 |
|
245 | |||
253 | # Avoid that setuptools is replaced, this leads to trouble |
|
246 | # Avoid that setuptools is replaced, this leads to trouble | |
254 | # with buildPythonPackage. |
|
247 | # with buildPythonPackage. | |
255 | setuptools = basePythonPackages.setuptools; |
|
248 | setuptools = basePythonPackages.setuptools; | |
256 |
|
249 | |||
257 | } |
|
250 | } |
@@ -1,2099 +1,2086 b'' | |||||
1 | # Generated by pip2nix 0.4.0 |
|
1 | # Generated by pip2nix 0.4.0 | |
2 | # See https://github.com/johbo/pip2nix |
|
2 | # See https://github.com/johbo/pip2nix | |
3 |
|
3 | |||
4 | { |
|
4 | { | |
5 | Babel = super.buildPythonPackage { |
|
5 | Babel = super.buildPythonPackage { | |
6 | name = "Babel-1.3"; |
|
6 | name = "Babel-1.3"; | |
7 | buildInputs = with self; []; |
|
7 | buildInputs = with self; []; | |
8 | doCheck = false; |
|
8 | doCheck = false; | |
9 | propagatedBuildInputs = with self; [pytz]; |
|
9 | propagatedBuildInputs = with self; [pytz]; | |
10 | src = fetchurl { |
|
10 | src = fetchurl { | |
11 | url = "https://pypi.python.org/packages/33/27/e3978243a03a76398c384c83f7ca879bc6e8f1511233a621fcada135606e/Babel-1.3.tar.gz"; |
|
11 | url = "https://pypi.python.org/packages/33/27/e3978243a03a76398c384c83f7ca879bc6e8f1511233a621fcada135606e/Babel-1.3.tar.gz"; | |
12 | md5 = "5264ceb02717843cbc9ffce8e6e06bdb"; |
|
12 | md5 = "5264ceb02717843cbc9ffce8e6e06bdb"; | |
13 | }; |
|
13 | }; | |
14 | meta = { |
|
14 | meta = { | |
15 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
15 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
16 | }; |
|
16 | }; | |
17 | }; |
|
17 | }; | |
18 | Beaker = super.buildPythonPackage { |
|
18 | Beaker = super.buildPythonPackage { | |
19 | name = "Beaker-1.9.1"; |
|
19 | name = "Beaker-1.9.1"; | |
20 | buildInputs = with self; []; |
|
20 | buildInputs = with self; []; | |
21 | doCheck = false; |
|
21 | doCheck = false; | |
22 | propagatedBuildInputs = with self; [funcsigs]; |
|
22 | propagatedBuildInputs = with self; [funcsigs]; | |
23 | src = fetchurl { |
|
23 | src = fetchurl { | |
24 | url = "https://pypi.python.org/packages/ca/14/a626188d0d0c7b55dd7cf1902046c2743bd392a7078bb53073e13280eb1e/Beaker-1.9.1.tar.gz"; |
|
24 | url = "https://pypi.python.org/packages/ca/14/a626188d0d0c7b55dd7cf1902046c2743bd392a7078bb53073e13280eb1e/Beaker-1.9.1.tar.gz"; | |
25 | md5 = "46fda0a164e2b0d24ccbda51a2310301"; |
|
25 | md5 = "46fda0a164e2b0d24ccbda51a2310301"; | |
26 | }; |
|
26 | }; | |
27 | meta = { |
|
27 | meta = { | |
28 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
28 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
29 | }; |
|
29 | }; | |
30 | }; |
|
30 | }; | |
31 | CProfileV = super.buildPythonPackage { |
|
31 | CProfileV = super.buildPythonPackage { | |
32 | name = "CProfileV-1.0.7"; |
|
32 | name = "CProfileV-1.0.7"; | |
33 | buildInputs = with self; []; |
|
33 | buildInputs = with self; []; | |
34 | doCheck = false; |
|
34 | doCheck = false; | |
35 | propagatedBuildInputs = with self; [bottle]; |
|
35 | propagatedBuildInputs = with self; [bottle]; | |
36 | src = fetchurl { |
|
36 | src = fetchurl { | |
37 | url = "https://pypi.python.org/packages/df/50/d8c1ada7d537c64b0f76453fa31dedb6af6e27b82fcf0331e5f71a4cf98b/CProfileV-1.0.7.tar.gz"; |
|
37 | url = "https://pypi.python.org/packages/df/50/d8c1ada7d537c64b0f76453fa31dedb6af6e27b82fcf0331e5f71a4cf98b/CProfileV-1.0.7.tar.gz"; | |
38 | md5 = "db4c7640438aa3d8887e194c81c7a019"; |
|
38 | md5 = "db4c7640438aa3d8887e194c81c7a019"; | |
39 | }; |
|
39 | }; | |
40 | meta = { |
|
40 | meta = { | |
41 | license = [ pkgs.lib.licenses.mit ]; |
|
41 | license = [ pkgs.lib.licenses.mit ]; | |
42 | }; |
|
42 | }; | |
43 | }; |
|
43 | }; | |
44 | Chameleon = super.buildPythonPackage { |
|
44 | Chameleon = super.buildPythonPackage { | |
45 | name = "Chameleon-2.24"; |
|
45 | name = "Chameleon-2.24"; | |
46 | buildInputs = with self; []; |
|
46 | buildInputs = with self; []; | |
47 | doCheck = false; |
|
47 | doCheck = false; | |
48 | propagatedBuildInputs = with self; []; |
|
48 | propagatedBuildInputs = with self; []; | |
49 | src = fetchurl { |
|
49 | src = fetchurl { | |
50 | url = "https://pypi.python.org/packages/5a/9e/637379ffa13c5172b5c0e704833ffea6bf51cec7567f93fd6e903d53ed74/Chameleon-2.24.tar.gz"; |
|
50 | url = "https://pypi.python.org/packages/5a/9e/637379ffa13c5172b5c0e704833ffea6bf51cec7567f93fd6e903d53ed74/Chameleon-2.24.tar.gz"; | |
51 | md5 = "1b01f1f6533a8a11d0d2f2366dec5342"; |
|
51 | md5 = "1b01f1f6533a8a11d0d2f2366dec5342"; | |
52 | }; |
|
52 | }; | |
53 | meta = { |
|
53 | meta = { | |
54 | license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ]; |
|
54 | license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ]; | |
55 | }; |
|
55 | }; | |
56 | }; |
|
56 | }; | |
57 | FormEncode = super.buildPythonPackage { |
|
57 | FormEncode = super.buildPythonPackage { | |
58 | name = "FormEncode-1.2.4"; |
|
58 | name = "FormEncode-1.2.4"; | |
59 | buildInputs = with self; []; |
|
59 | buildInputs = with self; []; | |
60 | doCheck = false; |
|
60 | doCheck = false; | |
61 | propagatedBuildInputs = with self; []; |
|
61 | propagatedBuildInputs = with self; []; | |
62 | src = fetchurl { |
|
62 | src = fetchurl { | |
63 | url = "https://pypi.python.org/packages/8e/59/0174271a6f004512e0201188593e6d319db139d14cb7490e488bbb078015/FormEncode-1.2.4.tar.gz"; |
|
63 | url = "https://pypi.python.org/packages/8e/59/0174271a6f004512e0201188593e6d319db139d14cb7490e488bbb078015/FormEncode-1.2.4.tar.gz"; | |
64 | md5 = "6bc17fb9aed8aea198975e888e2077f4"; |
|
64 | md5 = "6bc17fb9aed8aea198975e888e2077f4"; | |
65 | }; |
|
65 | }; | |
66 | meta = { |
|
66 | meta = { | |
67 | license = [ pkgs.lib.licenses.psfl ]; |
|
67 | license = [ pkgs.lib.licenses.psfl ]; | |
68 | }; |
|
68 | }; | |
69 | }; |
|
69 | }; | |
70 | Jinja2 = super.buildPythonPackage { |
|
70 | Jinja2 = super.buildPythonPackage { | |
71 | name = "Jinja2-2.9.6"; |
|
71 | name = "Jinja2-2.9.6"; | |
72 | buildInputs = with self; []; |
|
72 | buildInputs = with self; []; | |
73 | doCheck = false; |
|
73 | doCheck = false; | |
74 | propagatedBuildInputs = with self; [MarkupSafe]; |
|
74 | propagatedBuildInputs = with self; [MarkupSafe]; | |
75 | src = fetchurl { |
|
75 | src = fetchurl { | |
76 | url = "https://pypi.python.org/packages/90/61/f820ff0076a2599dd39406dcb858ecb239438c02ce706c8e91131ab9c7f1/Jinja2-2.9.6.tar.gz"; |
|
76 | url = "https://pypi.python.org/packages/90/61/f820ff0076a2599dd39406dcb858ecb239438c02ce706c8e91131ab9c7f1/Jinja2-2.9.6.tar.gz"; | |
77 | md5 = "6411537324b4dba0956aaa8109f3c77b"; |
|
77 | md5 = "6411537324b4dba0956aaa8109f3c77b"; | |
78 | }; |
|
78 | }; | |
79 | meta = { |
|
79 | meta = { | |
80 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
80 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
81 | }; |
|
81 | }; | |
82 | }; |
|
82 | }; | |
83 | Mako = super.buildPythonPackage { |
|
83 | Mako = super.buildPythonPackage { | |
84 | name = "Mako-1.0.7"; |
|
84 | name = "Mako-1.0.7"; | |
85 | buildInputs = with self; []; |
|
85 | buildInputs = with self; []; | |
86 | doCheck = false; |
|
86 | doCheck = false; | |
87 | propagatedBuildInputs = with self; [MarkupSafe]; |
|
87 | propagatedBuildInputs = with self; [MarkupSafe]; | |
88 | src = fetchurl { |
|
88 | src = fetchurl { | |
89 | url = "https://pypi.python.org/packages/eb/f3/67579bb486517c0d49547f9697e36582cd19dafb5df9e687ed8e22de57fa/Mako-1.0.7.tar.gz"; |
|
89 | url = "https://pypi.python.org/packages/eb/f3/67579bb486517c0d49547f9697e36582cd19dafb5df9e687ed8e22de57fa/Mako-1.0.7.tar.gz"; | |
90 | md5 = "5836cc997b1b773ef389bf6629c30e65"; |
|
90 | md5 = "5836cc997b1b773ef389bf6629c30e65"; | |
91 | }; |
|
91 | }; | |
92 | meta = { |
|
92 | meta = { | |
93 | license = [ pkgs.lib.licenses.mit ]; |
|
93 | license = [ pkgs.lib.licenses.mit ]; | |
94 | }; |
|
94 | }; | |
95 | }; |
|
95 | }; | |
96 | Markdown = super.buildPythonPackage { |
|
96 | Markdown = super.buildPythonPackage { | |
97 | name = "Markdown-2.6.11"; |
|
97 | name = "Markdown-2.6.11"; | |
98 | buildInputs = with self; []; |
|
98 | buildInputs = with self; []; | |
99 | doCheck = false; |
|
99 | doCheck = false; | |
100 | propagatedBuildInputs = with self; []; |
|
100 | propagatedBuildInputs = with self; []; | |
101 | src = fetchurl { |
|
101 | src = fetchurl { | |
102 | url = "https://pypi.python.org/packages/b3/73/fc5c850f44af5889192dff783b7b0d8f3fe8d30b65c8e3f78f8f0265fecf/Markdown-2.6.11.tar.gz"; |
|
102 | url = "https://pypi.python.org/packages/b3/73/fc5c850f44af5889192dff783b7b0d8f3fe8d30b65c8e3f78f8f0265fecf/Markdown-2.6.11.tar.gz"; | |
103 | md5 = "a67c1b2914f7d74eeede2ebe0fdae470"; |
|
103 | md5 = "a67c1b2914f7d74eeede2ebe0fdae470"; | |
104 | }; |
|
104 | }; | |
105 | meta = { |
|
105 | meta = { | |
106 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
106 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
107 | }; |
|
107 | }; | |
108 | }; |
|
108 | }; | |
109 | MarkupSafe = super.buildPythonPackage { |
|
109 | MarkupSafe = super.buildPythonPackage { | |
110 | name = "MarkupSafe-1.0"; |
|
110 | name = "MarkupSafe-1.0"; | |
111 | buildInputs = with self; []; |
|
111 | buildInputs = with self; []; | |
112 | doCheck = false; |
|
112 | doCheck = false; | |
113 | propagatedBuildInputs = with self; []; |
|
113 | propagatedBuildInputs = with self; []; | |
114 | src = fetchurl { |
|
114 | src = fetchurl { | |
115 | url = "https://pypi.python.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz"; |
|
115 | url = "https://pypi.python.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz"; | |
116 | md5 = "2fcedc9284d50e577b5192e8e3578355"; |
|
116 | md5 = "2fcedc9284d50e577b5192e8e3578355"; | |
117 | }; |
|
117 | }; | |
118 | meta = { |
|
118 | meta = { | |
119 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
119 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
120 | }; |
|
120 | }; | |
121 | }; |
|
121 | }; | |
122 | MySQL-python = super.buildPythonPackage { |
|
122 | MySQL-python = super.buildPythonPackage { | |
123 | name = "MySQL-python-1.2.5"; |
|
123 | name = "MySQL-python-1.2.5"; | |
124 | buildInputs = with self; []; |
|
124 | buildInputs = with self; []; | |
125 | doCheck = false; |
|
125 | doCheck = false; | |
126 | propagatedBuildInputs = with self; []; |
|
126 | propagatedBuildInputs = with self; []; | |
127 | src = fetchurl { |
|
127 | src = fetchurl { | |
128 | url = "https://pypi.python.org/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip"; |
|
128 | url = "https://pypi.python.org/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip"; | |
129 | md5 = "654f75b302db6ed8dc5a898c625e030c"; |
|
129 | md5 = "654f75b302db6ed8dc5a898c625e030c"; | |
130 | }; |
|
130 | }; | |
131 | meta = { |
|
131 | meta = { | |
132 | license = [ pkgs.lib.licenses.gpl1 ]; |
|
132 | license = [ pkgs.lib.licenses.gpl1 ]; | |
133 | }; |
|
133 | }; | |
134 | }; |
|
134 | }; | |
135 | Paste = super.buildPythonPackage { |
|
135 | Paste = super.buildPythonPackage { | |
136 | name = "Paste-2.0.3"; |
|
136 | name = "Paste-2.0.3"; | |
137 | buildInputs = with self; []; |
|
137 | buildInputs = with self; []; | |
138 | doCheck = false; |
|
138 | doCheck = false; | |
139 | propagatedBuildInputs = with self; [six]; |
|
139 | propagatedBuildInputs = with self; [six]; | |
140 | src = fetchurl { |
|
140 | src = fetchurl { | |
141 | url = "https://pypi.python.org/packages/30/c3/5c2f7c7a02e4f58d4454353fa1c32c94f79fa4e36d07a67c0ac295ea369e/Paste-2.0.3.tar.gz"; |
|
141 | url = "https://pypi.python.org/packages/30/c3/5c2f7c7a02e4f58d4454353fa1c32c94f79fa4e36d07a67c0ac295ea369e/Paste-2.0.3.tar.gz"; | |
142 | md5 = "1231e14eae62fa7ed76e9130b04bc61e"; |
|
142 | md5 = "1231e14eae62fa7ed76e9130b04bc61e"; | |
143 | }; |
|
143 | }; | |
144 | meta = { |
|
144 | meta = { | |
145 | license = [ pkgs.lib.licenses.mit ]; |
|
145 | license = [ pkgs.lib.licenses.mit ]; | |
146 | }; |
|
146 | }; | |
147 | }; |
|
147 | }; | |
148 | PasteDeploy = super.buildPythonPackage { |
|
148 | PasteDeploy = super.buildPythonPackage { | |
149 | name = "PasteDeploy-1.5.2"; |
|
149 | name = "PasteDeploy-1.5.2"; | |
150 | buildInputs = with self; []; |
|
150 | buildInputs = with self; []; | |
151 | doCheck = false; |
|
151 | doCheck = false; | |
152 | propagatedBuildInputs = with self; []; |
|
152 | propagatedBuildInputs = with self; []; | |
153 | src = fetchurl { |
|
153 | src = fetchurl { | |
154 | url = "https://pypi.python.org/packages/0f/90/8e20cdae206c543ea10793cbf4136eb9a8b3f417e04e40a29d72d9922cbd/PasteDeploy-1.5.2.tar.gz"; |
|
154 | url = "https://pypi.python.org/packages/0f/90/8e20cdae206c543ea10793cbf4136eb9a8b3f417e04e40a29d72d9922cbd/PasteDeploy-1.5.2.tar.gz"; | |
155 | md5 = "352b7205c78c8de4987578d19431af3b"; |
|
155 | md5 = "352b7205c78c8de4987578d19431af3b"; | |
156 | }; |
|
156 | }; | |
157 | meta = { |
|
157 | meta = { | |
158 | license = [ pkgs.lib.licenses.mit ]; |
|
158 | license = [ pkgs.lib.licenses.mit ]; | |
159 | }; |
|
159 | }; | |
160 | }; |
|
160 | }; | |
161 | PasteScript = super.buildPythonPackage { |
|
161 | PasteScript = super.buildPythonPackage { | |
162 | name = "PasteScript-2.0.2"; |
|
162 | name = "PasteScript-2.0.2"; | |
163 | buildInputs = with self; []; |
|
163 | buildInputs = with self; []; | |
164 | doCheck = false; |
|
164 | doCheck = false; | |
165 | propagatedBuildInputs = with self; [Paste PasteDeploy six]; |
|
165 | propagatedBuildInputs = with self; [Paste PasteDeploy six]; | |
166 | src = fetchurl { |
|
166 | src = fetchurl { | |
167 | url = "https://pypi.python.org/packages/e5/f0/78e766c3dcc61a4f3a6f71dd8c95168ae9c7a31722b5663d19c1fdf62cb6/PasteScript-2.0.2.tar.gz"; |
|
167 | url = "https://pypi.python.org/packages/e5/f0/78e766c3dcc61a4f3a6f71dd8c95168ae9c7a31722b5663d19c1fdf62cb6/PasteScript-2.0.2.tar.gz"; | |
168 | md5 = "ccb3045445097192ca71a13b746c77b2"; |
|
168 | md5 = "ccb3045445097192ca71a13b746c77b2"; | |
169 | }; |
|
169 | }; | |
170 | meta = { |
|
170 | meta = { | |
171 | license = [ pkgs.lib.licenses.mit ]; |
|
171 | license = [ pkgs.lib.licenses.mit ]; | |
172 | }; |
|
172 | }; | |
173 | }; |
|
173 | }; | |
174 | Pygments = super.buildPythonPackage { |
|
174 | Pygments = super.buildPythonPackage { | |
175 | name = "Pygments-2.2.0"; |
|
175 | name = "Pygments-2.2.0"; | |
176 | buildInputs = with self; []; |
|
176 | buildInputs = with self; []; | |
177 | doCheck = false; |
|
177 | doCheck = false; | |
178 | propagatedBuildInputs = with self; []; |
|
178 | propagatedBuildInputs = with self; []; | |
179 | src = fetchurl { |
|
179 | src = fetchurl { | |
180 | url = "https://pypi.python.org/packages/71/2a/2e4e77803a8bd6408a2903340ac498cb0a2181811af7c9ec92cb70b0308a/Pygments-2.2.0.tar.gz"; |
|
180 | url = "https://pypi.python.org/packages/71/2a/2e4e77803a8bd6408a2903340ac498cb0a2181811af7c9ec92cb70b0308a/Pygments-2.2.0.tar.gz"; | |
181 | md5 = "13037baca42f16917cbd5ad2fab50844"; |
|
181 | md5 = "13037baca42f16917cbd5ad2fab50844"; | |
182 | }; |
|
182 | }; | |
183 | meta = { |
|
183 | meta = { | |
184 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
184 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
185 | }; |
|
185 | }; | |
186 | }; |
|
186 | }; | |
187 | Routes = super.buildPythonPackage { |
|
187 | Routes = super.buildPythonPackage { | |
188 | name = "Routes-2.4.1"; |
|
188 | name = "Routes-2.4.1"; | |
189 | buildInputs = with self; []; |
|
189 | buildInputs = with self; []; | |
190 | doCheck = false; |
|
190 | doCheck = false; | |
191 | propagatedBuildInputs = with self; [six repoze.lru]; |
|
191 | propagatedBuildInputs = with self; [six repoze.lru]; | |
192 | src = fetchurl { |
|
192 | src = fetchurl { | |
193 | url = "https://pypi.python.org/packages/33/38/ea827837e68d9c7dde4cff7ec122a93c319f0effc08ce92a17095576603f/Routes-2.4.1.tar.gz"; |
|
193 | url = "https://pypi.python.org/packages/33/38/ea827837e68d9c7dde4cff7ec122a93c319f0effc08ce92a17095576603f/Routes-2.4.1.tar.gz"; | |
194 | md5 = "c058dff6832941dec47e0d0052548ad8"; |
|
194 | md5 = "c058dff6832941dec47e0d0052548ad8"; | |
195 | }; |
|
195 | }; | |
196 | meta = { |
|
196 | meta = { | |
197 | license = [ pkgs.lib.licenses.mit ]; |
|
197 | license = [ pkgs.lib.licenses.mit ]; | |
198 | }; |
|
198 | }; | |
199 | }; |
|
199 | }; | |
200 | SQLAlchemy = super.buildPythonPackage { |
|
200 | SQLAlchemy = super.buildPythonPackage { | |
201 | name = "SQLAlchemy-1.1.15"; |
|
201 | name = "SQLAlchemy-1.1.15"; | |
202 | buildInputs = with self; []; |
|
202 | buildInputs = with self; []; | |
203 | doCheck = false; |
|
203 | doCheck = false; | |
204 | propagatedBuildInputs = with self; []; |
|
204 | propagatedBuildInputs = with self; []; | |
205 | src = fetchurl { |
|
205 | src = fetchurl { | |
206 | url = "https://pypi.python.org/packages/c2/f6/11fcc1ce19a7cb81b1c9377f4e27ce3813265611922e355905e57c44d164/SQLAlchemy-1.1.15.tar.gz"; |
|
206 | url = "https://pypi.python.org/packages/c2/f6/11fcc1ce19a7cb81b1c9377f4e27ce3813265611922e355905e57c44d164/SQLAlchemy-1.1.15.tar.gz"; | |
207 | md5 = "077f9bd3339957f53068b5572a152674"; |
|
207 | md5 = "077f9bd3339957f53068b5572a152674"; | |
208 | }; |
|
208 | }; | |
209 | meta = { |
|
209 | meta = { | |
210 | license = [ pkgs.lib.licenses.mit ]; |
|
210 | license = [ pkgs.lib.licenses.mit ]; | |
211 | }; |
|
211 | }; | |
212 | }; |
|
212 | }; | |
213 | Tempita = super.buildPythonPackage { |
|
213 | Tempita = super.buildPythonPackage { | |
214 | name = "Tempita-0.5.2"; |
|
214 | name = "Tempita-0.5.2"; | |
215 | buildInputs = with self; []; |
|
215 | buildInputs = with self; []; | |
216 | doCheck = false; |
|
216 | doCheck = false; | |
217 | propagatedBuildInputs = with self; []; |
|
217 | propagatedBuildInputs = with self; []; | |
218 | src = fetchurl { |
|
218 | src = fetchurl { | |
219 | url = "https://pypi.python.org/packages/56/c8/8ed6eee83dbddf7b0fc64dd5d4454bc05e6ccaafff47991f73f2894d9ff4/Tempita-0.5.2.tar.gz"; |
|
219 | url = "https://pypi.python.org/packages/56/c8/8ed6eee83dbddf7b0fc64dd5d4454bc05e6ccaafff47991f73f2894d9ff4/Tempita-0.5.2.tar.gz"; | |
220 | md5 = "4c2f17bb9d481821c41b6fbee904cea1"; |
|
220 | md5 = "4c2f17bb9d481821c41b6fbee904cea1"; | |
221 | }; |
|
221 | }; | |
222 | meta = { |
|
222 | meta = { | |
223 | license = [ pkgs.lib.licenses.mit ]; |
|
223 | license = [ pkgs.lib.licenses.mit ]; | |
224 | }; |
|
224 | }; | |
225 | }; |
|
225 | }; | |
226 | URLObject = super.buildPythonPackage { |
|
226 | URLObject = super.buildPythonPackage { | |
227 | name = "URLObject-2.4.0"; |
|
227 | name = "URLObject-2.4.0"; | |
228 | buildInputs = with self; []; |
|
228 | buildInputs = with self; []; | |
229 | doCheck = false; |
|
229 | doCheck = false; | |
230 | propagatedBuildInputs = with self; []; |
|
230 | propagatedBuildInputs = with self; []; | |
231 | src = fetchurl { |
|
231 | src = fetchurl { | |
232 | url = "https://pypi.python.org/packages/cb/b6/e25e58500f9caef85d664bec71ec67c116897bfebf8622c32cb75d1ca199/URLObject-2.4.0.tar.gz"; |
|
232 | url = "https://pypi.python.org/packages/cb/b6/e25e58500f9caef85d664bec71ec67c116897bfebf8622c32cb75d1ca199/URLObject-2.4.0.tar.gz"; | |
233 | md5 = "2ed819738a9f0a3051f31dc9924e3065"; |
|
233 | md5 = "2ed819738a9f0a3051f31dc9924e3065"; | |
234 | }; |
|
234 | }; | |
235 | meta = { |
|
235 | meta = { | |
236 | license = [ ]; |
|
236 | license = [ ]; | |
237 | }; |
|
237 | }; | |
238 | }; |
|
238 | }; | |
239 | WebError = super.buildPythonPackage { |
|
239 | WebError = super.buildPythonPackage { | |
240 | name = "WebError-0.10.3"; |
|
240 | name = "WebError-0.10.3"; | |
241 | buildInputs = with self; []; |
|
241 | buildInputs = with self; []; | |
242 | doCheck = false; |
|
242 | doCheck = false; | |
243 | propagatedBuildInputs = with self; [WebOb Tempita Pygments Paste]; |
|
243 | propagatedBuildInputs = with self; [WebOb Tempita Pygments Paste]; | |
244 | src = fetchurl { |
|
244 | src = fetchurl { | |
245 | url = "https://pypi.python.org/packages/35/76/e7e5c2ce7e9c7f31b54c1ff295a495886d1279a002557d74dd8957346a79/WebError-0.10.3.tar.gz"; |
|
245 | url = "https://pypi.python.org/packages/35/76/e7e5c2ce7e9c7f31b54c1ff295a495886d1279a002557d74dd8957346a79/WebError-0.10.3.tar.gz"; | |
246 | md5 = "84b9990b0baae6fd440b1e60cdd06f9a"; |
|
246 | md5 = "84b9990b0baae6fd440b1e60cdd06f9a"; | |
247 | }; |
|
247 | }; | |
248 | meta = { |
|
248 | meta = { | |
249 | license = [ pkgs.lib.licenses.mit ]; |
|
249 | license = [ pkgs.lib.licenses.mit ]; | |
250 | }; |
|
250 | }; | |
251 | }; |
|
251 | }; | |
252 | WebHelpers = super.buildPythonPackage { |
|
252 | WebHelpers = super.buildPythonPackage { | |
253 | name = "WebHelpers-1.3"; |
|
253 | name = "WebHelpers-1.3"; | |
254 | buildInputs = with self; []; |
|
254 | buildInputs = with self; []; | |
255 | doCheck = false; |
|
255 | doCheck = false; | |
256 | propagatedBuildInputs = with self; [MarkupSafe]; |
|
256 | propagatedBuildInputs = with self; [MarkupSafe]; | |
257 | src = fetchurl { |
|
257 | src = fetchurl { | |
258 | url = "https://pypi.python.org/packages/ee/68/4d07672821d514184357f1552f2dad923324f597e722de3b016ca4f7844f/WebHelpers-1.3.tar.gz"; |
|
258 | url = "https://pypi.python.org/packages/ee/68/4d07672821d514184357f1552f2dad923324f597e722de3b016ca4f7844f/WebHelpers-1.3.tar.gz"; | |
259 | md5 = "32749ffadfc40fea51075a7def32588b"; |
|
259 | md5 = "32749ffadfc40fea51075a7def32588b"; | |
260 | }; |
|
260 | }; | |
261 | meta = { |
|
261 | meta = { | |
262 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
262 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
263 | }; |
|
263 | }; | |
264 | }; |
|
264 | }; | |
265 | WebHelpers2 = super.buildPythonPackage { |
|
265 | WebHelpers2 = super.buildPythonPackage { | |
266 | name = "WebHelpers2-2.0"; |
|
266 | name = "WebHelpers2-2.0"; | |
267 | buildInputs = with self; []; |
|
267 | buildInputs = with self; []; | |
268 | doCheck = false; |
|
268 | doCheck = false; | |
269 | propagatedBuildInputs = with self; [MarkupSafe six]; |
|
269 | propagatedBuildInputs = with self; [MarkupSafe six]; | |
270 | src = fetchurl { |
|
270 | src = fetchurl { | |
271 | url = "https://pypi.python.org/packages/ff/30/56342c6ea522439e3662427c8d7b5e5b390dff4ff2dc92d8afcb8ab68b75/WebHelpers2-2.0.tar.gz"; |
|
271 | url = "https://pypi.python.org/packages/ff/30/56342c6ea522439e3662427c8d7b5e5b390dff4ff2dc92d8afcb8ab68b75/WebHelpers2-2.0.tar.gz"; | |
272 | md5 = "0f6b68d70c12ee0aed48c00b24da13d3"; |
|
272 | md5 = "0f6b68d70c12ee0aed48c00b24da13d3"; | |
273 | }; |
|
273 | }; | |
274 | meta = { |
|
274 | meta = { | |
275 | license = [ pkgs.lib.licenses.mit ]; |
|
275 | license = [ pkgs.lib.licenses.mit ]; | |
276 | }; |
|
276 | }; | |
277 | }; |
|
277 | }; | |
278 | WebOb = super.buildPythonPackage { |
|
278 | WebOb = super.buildPythonPackage { | |
279 | name = "WebOb-1.7.4"; |
|
279 | name = "WebOb-1.7.4"; | |
280 | buildInputs = with self; []; |
|
280 | buildInputs = with self; []; | |
281 | doCheck = false; |
|
281 | doCheck = false; | |
282 | propagatedBuildInputs = with self; []; |
|
282 | propagatedBuildInputs = with self; []; | |
283 | src = fetchurl { |
|
283 | src = fetchurl { | |
284 | url = "https://pypi.python.org/packages/75/34/731e23f52371852dfe7490a61644826ba7fe70fd52a377aaca0f4956ba7f/WebOb-1.7.4.tar.gz"; |
|
284 | url = "https://pypi.python.org/packages/75/34/731e23f52371852dfe7490a61644826ba7fe70fd52a377aaca0f4956ba7f/WebOb-1.7.4.tar.gz"; | |
285 | md5 = "397e46892d7f199b1a07eb20a2d3d9bd"; |
|
285 | md5 = "397e46892d7f199b1a07eb20a2d3d9bd"; | |
286 | }; |
|
286 | }; | |
287 | meta = { |
|
287 | meta = { | |
288 | license = [ pkgs.lib.licenses.mit ]; |
|
288 | license = [ pkgs.lib.licenses.mit ]; | |
289 | }; |
|
289 | }; | |
290 | }; |
|
290 | }; | |
291 | WebTest = super.buildPythonPackage { |
|
291 | WebTest = super.buildPythonPackage { | |
292 | name = "WebTest-2.0.29"; |
|
292 | name = "WebTest-2.0.29"; | |
293 | buildInputs = with self; []; |
|
293 | buildInputs = with self; []; | |
294 | doCheck = false; |
|
294 | doCheck = false; | |
295 | propagatedBuildInputs = with self; [six WebOb waitress beautifulsoup4]; |
|
295 | propagatedBuildInputs = with self; [six WebOb waitress beautifulsoup4]; | |
296 | src = fetchurl { |
|
296 | src = fetchurl { | |
297 | url = "https://pypi.python.org/packages/94/de/8f94738be649997da99c47b104aa3c3984ecec51a1d8153ed09638253d56/WebTest-2.0.29.tar.gz"; |
|
297 | url = "https://pypi.python.org/packages/94/de/8f94738be649997da99c47b104aa3c3984ecec51a1d8153ed09638253d56/WebTest-2.0.29.tar.gz"; | |
298 | md5 = "30b4cf0d340b9a5335fac4389e6f84fc"; |
|
298 | md5 = "30b4cf0d340b9a5335fac4389e6f84fc"; | |
299 | }; |
|
299 | }; | |
300 | meta = { |
|
300 | meta = { | |
301 | license = [ pkgs.lib.licenses.mit ]; |
|
301 | license = [ pkgs.lib.licenses.mit ]; | |
302 | }; |
|
302 | }; | |
303 | }; |
|
303 | }; | |
304 | Whoosh = super.buildPythonPackage { |
|
304 | Whoosh = super.buildPythonPackage { | |
305 | name = "Whoosh-2.7.4"; |
|
305 | name = "Whoosh-2.7.4"; | |
306 | buildInputs = with self; []; |
|
306 | buildInputs = with self; []; | |
307 | doCheck = false; |
|
307 | doCheck = false; | |
308 | propagatedBuildInputs = with self; []; |
|
308 | propagatedBuildInputs = with self; []; | |
309 | src = fetchurl { |
|
309 | src = fetchurl { | |
310 | url = "https://pypi.python.org/packages/25/2b/6beed2107b148edc1321da0d489afc4617b9ed317ef7b72d4993cad9b684/Whoosh-2.7.4.tar.gz"; |
|
310 | url = "https://pypi.python.org/packages/25/2b/6beed2107b148edc1321da0d489afc4617b9ed317ef7b72d4993cad9b684/Whoosh-2.7.4.tar.gz"; | |
311 | md5 = "c2710105f20b3e29936bd2357383c325"; |
|
311 | md5 = "c2710105f20b3e29936bd2357383c325"; | |
312 | }; |
|
312 | }; | |
313 | meta = { |
|
313 | meta = { | |
314 | license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.bsd2 ]; |
|
314 | license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.bsd2 ]; | |
315 | }; |
|
315 | }; | |
316 | }; |
|
316 | }; | |
317 | alembic = super.buildPythonPackage { |
|
317 | alembic = super.buildPythonPackage { | |
318 | name = "alembic-0.9.8"; |
|
318 | name = "alembic-0.9.8"; | |
319 | buildInputs = with self; []; |
|
319 | buildInputs = with self; []; | |
320 | doCheck = false; |
|
320 | doCheck = false; | |
321 | propagatedBuildInputs = with self; [SQLAlchemy Mako python-editor python-dateutil]; |
|
321 | propagatedBuildInputs = with self; [SQLAlchemy Mako python-editor python-dateutil]; | |
322 | src = fetchurl { |
|
322 | src = fetchurl { | |
323 | url = "https://pypi.python.org/packages/a1/95/2252783859df9ec76b9a25d968c2827ed75a43ba34c6e8d38f87a5c0fb26/alembic-0.9.8.tar.gz"; |
|
323 | url = "https://pypi.python.org/packages/a1/95/2252783859df9ec76b9a25d968c2827ed75a43ba34c6e8d38f87a5c0fb26/alembic-0.9.8.tar.gz"; | |
324 | md5 = "5cfef58641c9a94d4a5d547e951a7dda"; |
|
324 | md5 = "5cfef58641c9a94d4a5d547e951a7dda"; | |
325 | }; |
|
325 | }; | |
326 | meta = { |
|
326 | meta = { | |
327 | license = [ pkgs.lib.licenses.mit ]; |
|
327 | license = [ pkgs.lib.licenses.mit ]; | |
328 | }; |
|
328 | }; | |
329 | }; |
|
329 | }; | |
330 | amqp = super.buildPythonPackage { |
|
330 | amqp = super.buildPythonPackage { | |
331 | name = "amqp-2.2.2"; |
|
331 | name = "amqp-2.2.2"; | |
332 | buildInputs = with self; []; |
|
332 | buildInputs = with self; []; | |
333 | doCheck = false; |
|
333 | doCheck = false; | |
334 | propagatedBuildInputs = with self; [vine]; |
|
334 | propagatedBuildInputs = with self; [vine]; | |
335 | src = fetchurl { |
|
335 | src = fetchurl { | |
336 | url = "https://pypi.python.org/packages/e0/70/9ab9ccd8247fb7d2adb717e9f6a0ed358c9e1ab2c349048b0352f9e80ee2/amqp-2.2.2.tar.gz"; |
|
336 | url = "https://pypi.python.org/packages/e0/70/9ab9ccd8247fb7d2adb717e9f6a0ed358c9e1ab2c349048b0352f9e80ee2/amqp-2.2.2.tar.gz"; | |
337 | md5 = "0971a3fd2d635ded45c349cfc17106bd"; |
|
337 | md5 = "0971a3fd2d635ded45c349cfc17106bd"; | |
338 | }; |
|
338 | }; | |
339 | meta = { |
|
339 | meta = { | |
340 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
340 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
341 | }; |
|
341 | }; | |
342 | }; |
|
342 | }; | |
343 | appenlight-client = super.buildPythonPackage { |
|
343 | appenlight-client = super.buildPythonPackage { | |
344 | name = "appenlight-client-0.6.25"; |
|
344 | name = "appenlight-client-0.6.25"; | |
345 | buildInputs = with self; []; |
|
345 | buildInputs = with self; []; | |
346 | doCheck = false; |
|
346 | doCheck = false; | |
347 | propagatedBuildInputs = with self; [WebOb requests six]; |
|
347 | propagatedBuildInputs = with self; [WebOb requests six]; | |
348 | src = fetchurl { |
|
348 | src = fetchurl { | |
349 | url = "https://pypi.python.org/packages/fa/44/2911ef85ea4f4fe65058fd22959d8dad598fab6a3c84e5bcb569d15c8783/appenlight_client-0.6.25.tar.gz"; |
|
349 | url = "https://pypi.python.org/packages/fa/44/2911ef85ea4f4fe65058fd22959d8dad598fab6a3c84e5bcb569d15c8783/appenlight_client-0.6.25.tar.gz"; | |
350 | md5 = "76dd2f9d42659fae8f290982078dc880"; |
|
350 | md5 = "76dd2f9d42659fae8f290982078dc880"; | |
351 | }; |
|
351 | }; | |
352 | meta = { |
|
352 | meta = { | |
353 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
353 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
354 | }; |
|
354 | }; | |
355 | }; |
|
355 | }; | |
356 | authomatic = super.buildPythonPackage { |
|
356 | authomatic = super.buildPythonPackage { | |
357 | name = "authomatic-0.1.0.post1"; |
|
357 | name = "authomatic-0.1.0.post1"; | |
358 | buildInputs = with self; []; |
|
358 | buildInputs = with self; []; | |
359 | doCheck = false; |
|
359 | doCheck = false; | |
360 | propagatedBuildInputs = with self; []; |
|
360 | propagatedBuildInputs = with self; []; | |
361 | src = fetchurl { |
|
361 | src = fetchurl { | |
362 | url = "https://pypi.python.org/packages/08/1a/8a930461e604c2d5a7a871e1ac59fa82ccf994c32e807230c8d2fb07815a/Authomatic-0.1.0.post1.tar.gz"; |
|
362 | url = "https://pypi.python.org/packages/08/1a/8a930461e604c2d5a7a871e1ac59fa82ccf994c32e807230c8d2fb07815a/Authomatic-0.1.0.post1.tar.gz"; | |
363 | md5 = "be3f3ce08747d776aae6d6cc8dcb49a9"; |
|
363 | md5 = "be3f3ce08747d776aae6d6cc8dcb49a9"; | |
364 | }; |
|
364 | }; | |
365 | meta = { |
|
365 | meta = { | |
366 | license = [ pkgs.lib.licenses.mit ]; |
|
366 | license = [ pkgs.lib.licenses.mit ]; | |
367 | }; |
|
367 | }; | |
368 | }; |
|
368 | }; | |
369 | backports.shutil-get-terminal-size = super.buildPythonPackage { |
|
369 | backports.shutil-get-terminal-size = super.buildPythonPackage { | |
370 | name = "backports.shutil-get-terminal-size-1.0.0"; |
|
370 | name = "backports.shutil-get-terminal-size-1.0.0"; | |
371 | buildInputs = with self; []; |
|
371 | buildInputs = with self; []; | |
372 | doCheck = false; |
|
372 | doCheck = false; | |
373 | propagatedBuildInputs = with self; []; |
|
373 | propagatedBuildInputs = with self; []; | |
374 | src = fetchurl { |
|
374 | src = fetchurl { | |
375 | url = "https://pypi.python.org/packages/ec/9c/368086faa9c016efce5da3e0e13ba392c9db79e3ab740b763fe28620b18b/backports.shutil_get_terminal_size-1.0.0.tar.gz"; |
|
375 | url = "https://pypi.python.org/packages/ec/9c/368086faa9c016efce5da3e0e13ba392c9db79e3ab740b763fe28620b18b/backports.shutil_get_terminal_size-1.0.0.tar.gz"; | |
376 | md5 = "03267762480bd86b50580dc19dff3c66"; |
|
376 | md5 = "03267762480bd86b50580dc19dff3c66"; | |
377 | }; |
|
377 | }; | |
378 | meta = { |
|
378 | meta = { | |
379 | license = [ pkgs.lib.licenses.mit ]; |
|
379 | license = [ pkgs.lib.licenses.mit ]; | |
380 | }; |
|
380 | }; | |
381 | }; |
|
381 | }; | |
382 | beautifulsoup4 = super.buildPythonPackage { |
|
382 | beautifulsoup4 = super.buildPythonPackage { | |
383 | name = "beautifulsoup4-4.6.0"; |
|
383 | name = "beautifulsoup4-4.6.0"; | |
384 | buildInputs = with self; []; |
|
384 | buildInputs = with self; []; | |
385 | doCheck = false; |
|
385 | doCheck = false; | |
386 | propagatedBuildInputs = with self; []; |
|
386 | propagatedBuildInputs = with self; []; | |
387 | src = fetchurl { |
|
387 | src = fetchurl { | |
388 | url = "https://pypi.python.org/packages/fa/8d/1d14391fdaed5abada4e0f63543fef49b8331a34ca60c88bd521bcf7f782/beautifulsoup4-4.6.0.tar.gz"; |
|
388 | url = "https://pypi.python.org/packages/fa/8d/1d14391fdaed5abada4e0f63543fef49b8331a34ca60c88bd521bcf7f782/beautifulsoup4-4.6.0.tar.gz"; | |
389 | md5 = "c17714d0f91a23b708a592cb3c697728"; |
|
389 | md5 = "c17714d0f91a23b708a592cb3c697728"; | |
390 | }; |
|
390 | }; | |
391 | meta = { |
|
391 | meta = { | |
392 | license = [ pkgs.lib.licenses.mit ]; |
|
392 | license = [ pkgs.lib.licenses.mit ]; | |
393 | }; |
|
393 | }; | |
394 | }; |
|
394 | }; | |
395 | billiard = super.buildPythonPackage { |
|
395 | billiard = super.buildPythonPackage { | |
396 | name = "billiard-3.5.0.3"; |
|
396 | name = "billiard-3.5.0.3"; | |
397 | buildInputs = with self; []; |
|
397 | buildInputs = with self; []; | |
398 | doCheck = false; |
|
398 | doCheck = false; | |
399 | propagatedBuildInputs = with self; []; |
|
399 | propagatedBuildInputs = with self; []; | |
400 | src = fetchurl { |
|
400 | src = fetchurl { | |
401 | url = "https://pypi.python.org/packages/39/ac/f5571210cca2e4f4532e38aaff242f26c8654c5e2436bee966c230647ccc/billiard-3.5.0.3.tar.gz"; |
|
401 | url = "https://pypi.python.org/packages/39/ac/f5571210cca2e4f4532e38aaff242f26c8654c5e2436bee966c230647ccc/billiard-3.5.0.3.tar.gz"; | |
402 | md5 = "113ba481e48400adbf6fbbf59a2f8554"; |
|
402 | md5 = "113ba481e48400adbf6fbbf59a2f8554"; | |
403 | }; |
|
403 | }; | |
404 | meta = { |
|
404 | meta = { | |
405 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
405 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
406 | }; |
|
406 | }; | |
407 | }; |
|
407 | }; | |
408 | bleach = super.buildPythonPackage { |
|
408 | bleach = super.buildPythonPackage { | |
409 | name = "bleach-2.1.2"; |
|
409 | name = "bleach-2.1.2"; | |
410 | buildInputs = with self; []; |
|
410 | buildInputs = with self; []; | |
411 | doCheck = false; |
|
411 | doCheck = false; | |
412 | propagatedBuildInputs = with self; [six html5lib]; |
|
412 | propagatedBuildInputs = with self; [six html5lib]; | |
413 | src = fetchurl { |
|
413 | src = fetchurl { | |
414 | url = "https://pypi.python.org/packages/b3/5f/0da670d30d3ffbc57cc97fa82947f81bbe3eab8d441e2d42e661f215baf2/bleach-2.1.2.tar.gz"; |
|
414 | url = "https://pypi.python.org/packages/b3/5f/0da670d30d3ffbc57cc97fa82947f81bbe3eab8d441e2d42e661f215baf2/bleach-2.1.2.tar.gz"; | |
415 | md5 = "d0b14ae43a437ee0c650e04c6063eedd"; |
|
415 | md5 = "d0b14ae43a437ee0c650e04c6063eedd"; | |
416 | }; |
|
416 | }; | |
417 | meta = { |
|
417 | meta = { | |
418 | license = [ pkgs.lib.licenses.asl20 ]; |
|
418 | license = [ pkgs.lib.licenses.asl20 ]; | |
419 | }; |
|
419 | }; | |
420 | }; |
|
420 | }; | |
421 | bottle = super.buildPythonPackage { |
|
421 | bottle = super.buildPythonPackage { | |
422 | name = "bottle-0.12.13"; |
|
422 | name = "bottle-0.12.13"; | |
423 | buildInputs = with self; []; |
|
423 | buildInputs = with self; []; | |
424 | doCheck = false; |
|
424 | doCheck = false; | |
425 | propagatedBuildInputs = with self; []; |
|
425 | propagatedBuildInputs = with self; []; | |
426 | src = fetchurl { |
|
426 | src = fetchurl { | |
427 | url = "https://pypi.python.org/packages/bd/99/04dc59ced52a8261ee0f965a8968717a255ea84a36013e527944dbf3468c/bottle-0.12.13.tar.gz"; |
|
427 | url = "https://pypi.python.org/packages/bd/99/04dc59ced52a8261ee0f965a8968717a255ea84a36013e527944dbf3468c/bottle-0.12.13.tar.gz"; | |
428 | md5 = "d2fe1b48c1d49217e78bf326b1cad437"; |
|
428 | md5 = "d2fe1b48c1d49217e78bf326b1cad437"; | |
429 | }; |
|
429 | }; | |
430 | meta = { |
|
430 | meta = { | |
431 | license = [ pkgs.lib.licenses.mit ]; |
|
431 | license = [ pkgs.lib.licenses.mit ]; | |
432 | }; |
|
432 | }; | |
433 | }; |
|
433 | }; | |
434 | bumpversion = super.buildPythonPackage { |
|
434 | bumpversion = super.buildPythonPackage { | |
435 | name = "bumpversion-0.5.3"; |
|
435 | name = "bumpversion-0.5.3"; | |
436 | buildInputs = with self; []; |
|
436 | buildInputs = with self; []; | |
437 | doCheck = false; |
|
437 | doCheck = false; | |
438 | propagatedBuildInputs = with self; []; |
|
438 | propagatedBuildInputs = with self; []; | |
439 | src = fetchurl { |
|
439 | src = fetchurl { | |
440 | url = "https://pypi.python.org/packages/14/41/8c9da3549f8e00c84f0432c3a8cf8ed6898374714676aab91501d48760db/bumpversion-0.5.3.tar.gz"; |
|
440 | url = "https://pypi.python.org/packages/14/41/8c9da3549f8e00c84f0432c3a8cf8ed6898374714676aab91501d48760db/bumpversion-0.5.3.tar.gz"; | |
441 | md5 = "c66a3492eafcf5ad4b024be9fca29820"; |
|
441 | md5 = "c66a3492eafcf5ad4b024be9fca29820"; | |
442 | }; |
|
442 | }; | |
443 | meta = { |
|
443 | meta = { | |
444 | license = [ pkgs.lib.licenses.mit ]; |
|
444 | license = [ pkgs.lib.licenses.mit ]; | |
445 | }; |
|
445 | }; | |
446 | }; |
|
446 | }; | |
447 | celery = super.buildPythonPackage { |
|
447 | celery = super.buildPythonPackage { | |
448 | name = "celery-4.1.0"; |
|
448 | name = "celery-4.1.0"; | |
449 | buildInputs = with self; []; |
|
449 | buildInputs = with self; []; | |
450 | doCheck = false; |
|
450 | doCheck = false; | |
451 | propagatedBuildInputs = with self; [pytz billiard kombu]; |
|
451 | propagatedBuildInputs = with self; [pytz billiard kombu]; | |
452 | src = fetchurl { |
|
452 | src = fetchurl { | |
453 | url = "https://pypi.python.org/packages/07/65/88a2a45fc80f487872c93121a701a53bbbc3d3d832016876fac84fc8d46a/celery-4.1.0.tar.gz"; |
|
453 | url = "https://pypi.python.org/packages/07/65/88a2a45fc80f487872c93121a701a53bbbc3d3d832016876fac84fc8d46a/celery-4.1.0.tar.gz"; | |
454 | md5 = "db91e1d26936381127f01e150fe3054a"; |
|
454 | md5 = "db91e1d26936381127f01e150fe3054a"; | |
455 | }; |
|
455 | }; | |
456 | meta = { |
|
456 | meta = { | |
457 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
457 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
458 | }; |
|
458 | }; | |
459 | }; |
|
459 | }; | |
460 | channelstream = super.buildPythonPackage { |
|
460 | channelstream = super.buildPythonPackage { | |
461 | name = "channelstream-0.5.2"; |
|
461 | name = "channelstream-0.5.2"; | |
462 | buildInputs = with self; []; |
|
462 | buildInputs = with self; []; | |
463 | doCheck = false; |
|
463 | doCheck = false; | |
464 | propagatedBuildInputs = with self; [gevent ws4py pyramid pyramid-jinja2 itsdangerous requests six]; |
|
464 | propagatedBuildInputs = with self; [gevent ws4py pyramid pyramid-jinja2 itsdangerous requests six]; | |
465 | src = fetchurl { |
|
465 | src = fetchurl { | |
466 | url = "https://pypi.python.org/packages/2b/31/29a8e085cf5bf97fa88e7b947adabfc581a18a3463adf77fb6dada34a65f/channelstream-0.5.2.tar.gz"; |
|
466 | url = "https://pypi.python.org/packages/2b/31/29a8e085cf5bf97fa88e7b947adabfc581a18a3463adf77fb6dada34a65f/channelstream-0.5.2.tar.gz"; | |
467 | md5 = "1c5eb2a8a405be6f1073da94da6d81d3"; |
|
467 | md5 = "1c5eb2a8a405be6f1073da94da6d81d3"; | |
468 | }; |
|
468 | }; | |
469 | meta = { |
|
469 | meta = { | |
470 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
470 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
471 | }; |
|
471 | }; | |
472 | }; |
|
472 | }; | |
473 | click = super.buildPythonPackage { |
|
473 | click = super.buildPythonPackage { | |
474 | name = "click-6.6"; |
|
474 | name = "click-6.6"; | |
475 | buildInputs = with self; []; |
|
475 | buildInputs = with self; []; | |
476 | doCheck = false; |
|
476 | doCheck = false; | |
477 | propagatedBuildInputs = with self; []; |
|
477 | propagatedBuildInputs = with self; []; | |
478 | src = fetchurl { |
|
478 | src = fetchurl { | |
479 | url = "https://pypi.python.org/packages/7a/00/c14926d8232b36b08218067bcd5853caefb4737cda3f0a47437151344792/click-6.6.tar.gz"; |
|
479 | url = "https://pypi.python.org/packages/7a/00/c14926d8232b36b08218067bcd5853caefb4737cda3f0a47437151344792/click-6.6.tar.gz"; | |
480 | md5 = "d0b09582123605220ad6977175f3e51d"; |
|
480 | md5 = "d0b09582123605220ad6977175f3e51d"; | |
481 | }; |
|
481 | }; | |
482 | meta = { |
|
482 | meta = { | |
483 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
483 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
484 | }; |
|
484 | }; | |
485 | }; |
|
485 | }; | |
486 | colander = super.buildPythonPackage { |
|
486 | colander = super.buildPythonPackage { | |
487 | name = "colander-1.4"; |
|
487 | name = "colander-1.4"; | |
488 | buildInputs = with self; []; |
|
488 | buildInputs = with self; []; | |
489 | doCheck = false; |
|
489 | doCheck = false; | |
490 | propagatedBuildInputs = with self; [translationstring iso8601]; |
|
490 | propagatedBuildInputs = with self; [translationstring iso8601]; | |
491 | src = fetchurl { |
|
491 | src = fetchurl { | |
492 | url = "https://pypi.python.org/packages/cc/e2/c4e716ac4a426d8ad4dfe306c34f0018a22275d2420815784005bf771c84/colander-1.4.tar.gz"; |
|
492 | url = "https://pypi.python.org/packages/cc/e2/c4e716ac4a426d8ad4dfe306c34f0018a22275d2420815784005bf771c84/colander-1.4.tar.gz"; | |
493 | md5 = "cbb8e403c2ba05aeaa419d51fdb93736"; |
|
493 | md5 = "cbb8e403c2ba05aeaa419d51fdb93736"; | |
494 | }; |
|
494 | }; | |
495 | meta = { |
|
495 | meta = { | |
496 | license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; |
|
496 | license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; | |
497 | }; |
|
497 | }; | |
498 | }; |
|
498 | }; | |
499 | configobj = super.buildPythonPackage { |
|
499 | configobj = super.buildPythonPackage { | |
500 | name = "configobj-5.0.6"; |
|
500 | name = "configobj-5.0.6"; | |
501 | buildInputs = with self; []; |
|
501 | buildInputs = with self; []; | |
502 | doCheck = false; |
|
502 | doCheck = false; | |
503 | propagatedBuildInputs = with self; [six]; |
|
503 | propagatedBuildInputs = with self; [six]; | |
504 | src = fetchurl { |
|
504 | src = fetchurl { | |
505 | url = "https://pypi.python.org/packages/64/61/079eb60459c44929e684fa7d9e2fdca403f67d64dd9dbac27296be2e0fab/configobj-5.0.6.tar.gz"; |
|
505 | url = "https://pypi.python.org/packages/64/61/079eb60459c44929e684fa7d9e2fdca403f67d64dd9dbac27296be2e0fab/configobj-5.0.6.tar.gz"; | |
506 | md5 = "e472a3a1c2a67bb0ec9b5d54c13a47d6"; |
|
506 | md5 = "e472a3a1c2a67bb0ec9b5d54c13a47d6"; | |
507 | }; |
|
507 | }; | |
508 | meta = { |
|
508 | meta = { | |
509 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
509 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
510 | }; |
|
510 | }; | |
511 | }; |
|
511 | }; | |
512 | configparser = super.buildPythonPackage { |
|
512 | configparser = super.buildPythonPackage { | |
513 | name = "configparser-3.5.0"; |
|
513 | name = "configparser-3.5.0"; | |
514 | buildInputs = with self; []; |
|
514 | buildInputs = with self; []; | |
515 | doCheck = false; |
|
515 | doCheck = false; | |
516 | propagatedBuildInputs = with self; []; |
|
516 | propagatedBuildInputs = with self; []; | |
517 | src = fetchurl { |
|
517 | src = fetchurl { | |
518 | url = "https://pypi.python.org/packages/7c/69/c2ce7e91c89dc073eb1aa74c0621c3eefbffe8216b3f9af9d3885265c01c/configparser-3.5.0.tar.gz"; |
|
518 | url = "https://pypi.python.org/packages/7c/69/c2ce7e91c89dc073eb1aa74c0621c3eefbffe8216b3f9af9d3885265c01c/configparser-3.5.0.tar.gz"; | |
519 | md5 = "cfdd915a5b7a6c09917a64a573140538"; |
|
519 | md5 = "cfdd915a5b7a6c09917a64a573140538"; | |
520 | }; |
|
520 | }; | |
521 | meta = { |
|
521 | meta = { | |
522 | license = [ pkgs.lib.licenses.mit ]; |
|
522 | license = [ pkgs.lib.licenses.mit ]; | |
523 | }; |
|
523 | }; | |
524 | }; |
|
524 | }; | |
525 | cov-core = super.buildPythonPackage { |
|
525 | cov-core = super.buildPythonPackage { | |
526 | name = "cov-core-1.15.0"; |
|
526 | name = "cov-core-1.15.0"; | |
527 | buildInputs = with self; []; |
|
527 | buildInputs = with self; []; | |
528 | doCheck = false; |
|
528 | doCheck = false; | |
529 | propagatedBuildInputs = with self; [coverage]; |
|
529 | propagatedBuildInputs = with self; [coverage]; | |
530 | src = fetchurl { |
|
530 | src = fetchurl { | |
531 | url = "https://pypi.python.org/packages/4b/87/13e75a47b4ba1be06f29f6d807ca99638bedc6b57fa491cd3de891ca2923/cov-core-1.15.0.tar.gz"; |
|
531 | url = "https://pypi.python.org/packages/4b/87/13e75a47b4ba1be06f29f6d807ca99638bedc6b57fa491cd3de891ca2923/cov-core-1.15.0.tar.gz"; | |
532 | md5 = "f519d4cb4c4e52856afb14af52919fe6"; |
|
532 | md5 = "f519d4cb4c4e52856afb14af52919fe6"; | |
533 | }; |
|
533 | }; | |
534 | meta = { |
|
534 | meta = { | |
535 | license = [ pkgs.lib.licenses.mit ]; |
|
535 | license = [ pkgs.lib.licenses.mit ]; | |
536 | }; |
|
536 | }; | |
537 | }; |
|
537 | }; | |
538 | coverage = super.buildPythonPackage { |
|
538 | coverage = super.buildPythonPackage { | |
539 | name = "coverage-3.7.1"; |
|
539 | name = "coverage-3.7.1"; | |
540 | buildInputs = with self; []; |
|
540 | buildInputs = with self; []; | |
541 | doCheck = false; |
|
541 | doCheck = false; | |
542 | propagatedBuildInputs = with self; []; |
|
542 | propagatedBuildInputs = with self; []; | |
543 | src = fetchurl { |
|
543 | src = fetchurl { | |
544 | url = "https://pypi.python.org/packages/09/4f/89b06c7fdc09687bca507dc411c342556ef9c5a3b26756137a4878ff19bf/coverage-3.7.1.tar.gz"; |
|
544 | url = "https://pypi.python.org/packages/09/4f/89b06c7fdc09687bca507dc411c342556ef9c5a3b26756137a4878ff19bf/coverage-3.7.1.tar.gz"; | |
545 | md5 = "c47b36ceb17eaff3ecfab3bcd347d0df"; |
|
545 | md5 = "c47b36ceb17eaff3ecfab3bcd347d0df"; | |
546 | }; |
|
546 | }; | |
547 | meta = { |
|
547 | meta = { | |
548 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
548 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
549 | }; |
|
549 | }; | |
550 | }; |
|
550 | }; | |
551 | cssselect = super.buildPythonPackage { |
|
551 | cssselect = super.buildPythonPackage { | |
552 | name = "cssselect-1.0.1"; |
|
552 | name = "cssselect-1.0.1"; | |
553 | buildInputs = with self; []; |
|
553 | buildInputs = with self; []; | |
554 | doCheck = false; |
|
554 | doCheck = false; | |
555 | propagatedBuildInputs = with self; []; |
|
555 | propagatedBuildInputs = with self; []; | |
556 | src = fetchurl { |
|
556 | src = fetchurl { | |
557 | url = "https://pypi.python.org/packages/77/ff/9c865275cd19290feba56344eba570e719efb7ca5b34d67ed12b22ebbb0d/cssselect-1.0.1.tar.gz"; |
|
557 | url = "https://pypi.python.org/packages/77/ff/9c865275cd19290feba56344eba570e719efb7ca5b34d67ed12b22ebbb0d/cssselect-1.0.1.tar.gz"; | |
558 | md5 = "3fa03bf82a9f0b1223c0f1eb1369e139"; |
|
558 | md5 = "3fa03bf82a9f0b1223c0f1eb1369e139"; | |
559 | }; |
|
559 | }; | |
560 | meta = { |
|
560 | meta = { | |
561 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
561 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
562 | }; |
|
562 | }; | |
563 | }; |
|
563 | }; | |
564 | decorator = super.buildPythonPackage { |
|
564 | decorator = super.buildPythonPackage { | |
565 | name = "decorator-4.1.2"; |
|
565 | name = "decorator-4.1.2"; | |
566 | buildInputs = with self; []; |
|
566 | buildInputs = with self; []; | |
567 | doCheck = false; |
|
567 | doCheck = false; | |
568 | propagatedBuildInputs = with self; []; |
|
568 | propagatedBuildInputs = with self; []; | |
569 | src = fetchurl { |
|
569 | src = fetchurl { | |
570 | url = "https://pypi.python.org/packages/bb/e0/f6e41e9091e130bf16d4437dabbac3993908e4d6485ecbc985ef1352db94/decorator-4.1.2.tar.gz"; |
|
570 | url = "https://pypi.python.org/packages/bb/e0/f6e41e9091e130bf16d4437dabbac3993908e4d6485ecbc985ef1352db94/decorator-4.1.2.tar.gz"; | |
571 | md5 = "a0f7f4fe00ae2dde93494d90c192cf8c"; |
|
571 | md5 = "a0f7f4fe00ae2dde93494d90c192cf8c"; | |
572 | }; |
|
572 | }; | |
573 | meta = { |
|
573 | meta = { | |
574 | license = [ pkgs.lib.licenses.bsdOriginal { fullName = "new BSD License"; } ]; |
|
574 | license = [ pkgs.lib.licenses.bsdOriginal { fullName = "new BSD License"; } ]; | |
575 | }; |
|
575 | }; | |
576 | }; |
|
576 | }; | |
577 | deform = super.buildPythonPackage { |
|
577 | deform = super.buildPythonPackage { | |
578 | name = "deform-2.0.4"; |
|
578 | name = "deform-2.0.4"; | |
579 | buildInputs = with self; []; |
|
579 | buildInputs = with self; []; | |
580 | doCheck = false; |
|
580 | doCheck = false; | |
581 | propagatedBuildInputs = with self; [Chameleon colander iso8601 peppercorn translationstring zope.deprecation]; |
|
581 | propagatedBuildInputs = with self; [Chameleon colander iso8601 peppercorn translationstring zope.deprecation]; | |
582 | src = fetchurl { |
|
582 | src = fetchurl { | |
583 | url = "https://pypi.python.org/packages/66/3b/eefcb07abcab7a97f6665aa2d0cf1af741d9d6e78a2e4657fd2b89f89880/deform-2.0.4.tar.gz"; |
|
583 | url = "https://pypi.python.org/packages/66/3b/eefcb07abcab7a97f6665aa2d0cf1af741d9d6e78a2e4657fd2b89f89880/deform-2.0.4.tar.gz"; | |
584 | md5 = "34756e42cf50dd4b4430809116c4ec0a"; |
|
584 | md5 = "34756e42cf50dd4b4430809116c4ec0a"; | |
585 | }; |
|
585 | }; | |
586 | meta = { |
|
586 | meta = { | |
587 | license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; |
|
587 | license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; | |
588 | }; |
|
588 | }; | |
589 | }; |
|
589 | }; | |
590 | docutils = super.buildPythonPackage { |
|
590 | docutils = super.buildPythonPackage { | |
591 | name = "docutils-0.14"; |
|
591 | name = "docutils-0.14"; | |
592 | buildInputs = with self; []; |
|
592 | buildInputs = with self; []; | |
593 | doCheck = false; |
|
593 | doCheck = false; | |
594 | propagatedBuildInputs = with self; []; |
|
594 | propagatedBuildInputs = with self; []; | |
595 | src = fetchurl { |
|
595 | src = fetchurl { | |
596 | url = "https://pypi.python.org/packages/84/f4/5771e41fdf52aabebbadecc9381d11dea0fa34e4759b4071244fa094804c/docutils-0.14.tar.gz"; |
|
596 | url = "https://pypi.python.org/packages/84/f4/5771e41fdf52aabebbadecc9381d11dea0fa34e4759b4071244fa094804c/docutils-0.14.tar.gz"; | |
597 | md5 = "c53768d63db3873b7d452833553469de"; |
|
597 | md5 = "c53768d63db3873b7d452833553469de"; | |
598 | }; |
|
598 | }; | |
599 | meta = { |
|
599 | meta = { | |
600 | 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 ]; |
|
600 | 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 ]; | |
601 | }; |
|
601 | }; | |
602 | }; |
|
602 | }; | |
603 | dogpile.cache = super.buildPythonPackage { |
|
603 | dogpile.cache = super.buildPythonPackage { | |
604 | name = "dogpile.cache-0.6.4"; |
|
604 | name = "dogpile.cache-0.6.4"; | |
605 | buildInputs = with self; []; |
|
605 | buildInputs = with self; []; | |
606 | doCheck = false; |
|
606 | doCheck = false; | |
607 | propagatedBuildInputs = with self; []; |
|
607 | propagatedBuildInputs = with self; []; | |
608 | src = fetchurl { |
|
608 | src = fetchurl { | |
609 | url = "https://pypi.python.org/packages/b6/3d/35c05ca01c070bb70d9d422f2c4858ecb021b05b21af438fec5ccd7b945c/dogpile.cache-0.6.4.tar.gz"; |
|
609 | url = "https://pypi.python.org/packages/b6/3d/35c05ca01c070bb70d9d422f2c4858ecb021b05b21af438fec5ccd7b945c/dogpile.cache-0.6.4.tar.gz"; | |
610 | md5 = "66e0a6cae6c08cb1ea25f89d0eadfeb0"; |
|
610 | md5 = "66e0a6cae6c08cb1ea25f89d0eadfeb0"; | |
611 | }; |
|
611 | }; | |
612 | meta = { |
|
612 | meta = { | |
613 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
613 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
614 | }; |
|
614 | }; | |
615 | }; |
|
615 | }; | |
616 | dogpile.core = super.buildPythonPackage { |
|
616 | dogpile.core = super.buildPythonPackage { | |
617 | name = "dogpile.core-0.4.1"; |
|
617 | name = "dogpile.core-0.4.1"; | |
618 | buildInputs = with self; []; |
|
618 | buildInputs = with self; []; | |
619 | doCheck = false; |
|
619 | doCheck = false; | |
620 | propagatedBuildInputs = with self; []; |
|
620 | propagatedBuildInputs = with self; []; | |
621 | src = fetchurl { |
|
621 | src = fetchurl { | |
622 | url = "https://pypi.python.org/packages/0e/77/e72abc04c22aedf874301861e5c1e761231c288b5de369c18be8f4b5c9bb/dogpile.core-0.4.1.tar.gz"; |
|
622 | url = "https://pypi.python.org/packages/0e/77/e72abc04c22aedf874301861e5c1e761231c288b5de369c18be8f4b5c9bb/dogpile.core-0.4.1.tar.gz"; | |
623 | md5 = "01cb19f52bba3e95c9b560f39341f045"; |
|
623 | md5 = "01cb19f52bba3e95c9b560f39341f045"; | |
624 | }; |
|
624 | }; | |
625 | meta = { |
|
625 | meta = { | |
626 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
626 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
627 | }; |
|
627 | }; | |
628 | }; |
|
628 | }; | |
629 | ecdsa = super.buildPythonPackage { |
|
629 | ecdsa = super.buildPythonPackage { | |
630 | name = "ecdsa-0.13"; |
|
630 | name = "ecdsa-0.13"; | |
631 | buildInputs = with self; []; |
|
631 | buildInputs = with self; []; | |
632 | doCheck = false; |
|
632 | doCheck = false; | |
633 | propagatedBuildInputs = with self; []; |
|
633 | propagatedBuildInputs = with self; []; | |
634 | src = fetchurl { |
|
634 | src = fetchurl { | |
635 | url = "https://pypi.python.org/packages/f9/e5/99ebb176e47f150ac115ffeda5fedb6a3dbb3c00c74a59fd84ddf12f5857/ecdsa-0.13.tar.gz"; |
|
635 | url = "https://pypi.python.org/packages/f9/e5/99ebb176e47f150ac115ffeda5fedb6a3dbb3c00c74a59fd84ddf12f5857/ecdsa-0.13.tar.gz"; | |
636 | md5 = "1f60eda9cb5c46722856db41a3ae6670"; |
|
636 | md5 = "1f60eda9cb5c46722856db41a3ae6670"; | |
637 | }; |
|
637 | }; | |
638 | meta = { |
|
638 | meta = { | |
639 | license = [ pkgs.lib.licenses.mit ]; |
|
639 | license = [ pkgs.lib.licenses.mit ]; | |
640 | }; |
|
640 | }; | |
641 | }; |
|
641 | }; | |
642 | elasticsearch = super.buildPythonPackage { |
|
642 | elasticsearch = super.buildPythonPackage { | |
643 | name = "elasticsearch-2.3.0"; |
|
643 | name = "elasticsearch-2.3.0"; | |
644 | buildInputs = with self; []; |
|
644 | buildInputs = with self; []; | |
645 | doCheck = false; |
|
645 | doCheck = false; | |
646 | propagatedBuildInputs = with self; [urllib3]; |
|
646 | propagatedBuildInputs = with self; [urllib3]; | |
647 | src = fetchurl { |
|
647 | src = fetchurl { | |
648 | url = "https://pypi.python.org/packages/10/35/5fd52c5f0b0ee405ed4b5195e8bce44c5e041787680dc7b94b8071cac600/elasticsearch-2.3.0.tar.gz"; |
|
648 | url = "https://pypi.python.org/packages/10/35/5fd52c5f0b0ee405ed4b5195e8bce44c5e041787680dc7b94b8071cac600/elasticsearch-2.3.0.tar.gz"; | |
649 | md5 = "2550f3b51629cf1ef9636608af92c340"; |
|
649 | md5 = "2550f3b51629cf1ef9636608af92c340"; | |
650 | }; |
|
650 | }; | |
651 | meta = { |
|
651 | meta = { | |
652 | license = [ pkgs.lib.licenses.asl20 ]; |
|
652 | license = [ pkgs.lib.licenses.asl20 ]; | |
653 | }; |
|
653 | }; | |
654 | }; |
|
654 | }; | |
655 | elasticsearch-dsl = super.buildPythonPackage { |
|
655 | elasticsearch-dsl = super.buildPythonPackage { | |
656 | name = "elasticsearch-dsl-2.2.0"; |
|
656 | name = "elasticsearch-dsl-2.2.0"; | |
657 | buildInputs = with self; []; |
|
657 | buildInputs = with self; []; | |
658 | doCheck = false; |
|
658 | doCheck = false; | |
659 | propagatedBuildInputs = with self; [six python-dateutil elasticsearch]; |
|
659 | propagatedBuildInputs = with self; [six python-dateutil elasticsearch]; | |
660 | src = fetchurl { |
|
660 | src = fetchurl { | |
661 | url = "https://pypi.python.org/packages/66/2f/52a086968788e58461641570f45c3207a52d46ebbe9b77dc22b6a8ffda66/elasticsearch-dsl-2.2.0.tar.gz"; |
|
661 | url = "https://pypi.python.org/packages/66/2f/52a086968788e58461641570f45c3207a52d46ebbe9b77dc22b6a8ffda66/elasticsearch-dsl-2.2.0.tar.gz"; | |
662 | md5 = "fa6bd3c87ea3caa8f0f051bc37c53221"; |
|
662 | md5 = "fa6bd3c87ea3caa8f0f051bc37c53221"; | |
663 | }; |
|
663 | }; | |
664 | meta = { |
|
664 | meta = { | |
665 | license = [ pkgs.lib.licenses.asl20 ]; |
|
665 | license = [ pkgs.lib.licenses.asl20 ]; | |
666 | }; |
|
666 | }; | |
667 | }; |
|
667 | }; | |
668 | entrypoints = super.buildPythonPackage { |
|
668 | entrypoints = super.buildPythonPackage { | |
669 | name = "entrypoints-0.2.2"; |
|
669 | name = "entrypoints-0.2.2"; | |
670 | buildInputs = with self; []; |
|
670 | buildInputs = with self; []; | |
671 | doCheck = false; |
|
671 | doCheck = false; | |
672 | propagatedBuildInputs = with self; [configparser]; |
|
672 | propagatedBuildInputs = with self; [configparser]; | |
673 | src = fetchurl { |
|
673 | src = fetchurl { | |
674 | url = "https://code.rhodecode.com/upstream/entrypoints/archive/96e6d645684e1af3d7df5b5272f3fe85a546b233.tar.gz?md5=7db37771aea9ac9fefe093e5d6987313"; |
|
674 | url = "https://code.rhodecode.com/upstream/entrypoints/archive/96e6d645684e1af3d7df5b5272f3fe85a546b233.tar.gz?md5=7db37771aea9ac9fefe093e5d6987313"; | |
675 | md5 = "7db37771aea9ac9fefe093e5d6987313"; |
|
675 | md5 = "7db37771aea9ac9fefe093e5d6987313"; | |
676 | }; |
|
676 | }; | |
677 | meta = { |
|
677 | meta = { | |
678 | license = [ pkgs.lib.licenses.mit ]; |
|
678 | license = [ pkgs.lib.licenses.mit ]; | |
679 | }; |
|
679 | }; | |
680 | }; |
|
680 | }; | |
681 | enum34 = super.buildPythonPackage { |
|
681 | enum34 = super.buildPythonPackage { | |
682 | name = "enum34-1.1.6"; |
|
682 | name = "enum34-1.1.6"; | |
683 | buildInputs = with self; []; |
|
683 | buildInputs = with self; []; | |
684 | doCheck = false; |
|
684 | doCheck = false; | |
685 | propagatedBuildInputs = with self; []; |
|
685 | propagatedBuildInputs = with self; []; | |
686 | src = fetchurl { |
|
686 | src = fetchurl { | |
687 | url = "https://pypi.python.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz"; |
|
687 | url = "https://pypi.python.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz"; | |
688 | md5 = "5f13a0841a61f7fc295c514490d120d0"; |
|
688 | md5 = "5f13a0841a61f7fc295c514490d120d0"; | |
689 | }; |
|
689 | }; | |
690 | meta = { |
|
690 | meta = { | |
691 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
691 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
692 | }; |
|
692 | }; | |
693 | }; |
|
693 | }; | |
694 | funcsigs = super.buildPythonPackage { |
|
694 | funcsigs = super.buildPythonPackage { | |
695 | name = "funcsigs-1.0.2"; |
|
695 | name = "funcsigs-1.0.2"; | |
696 | buildInputs = with self; []; |
|
696 | buildInputs = with self; []; | |
697 | doCheck = false; |
|
697 | doCheck = false; | |
698 | propagatedBuildInputs = with self; []; |
|
698 | propagatedBuildInputs = with self; []; | |
699 | src = fetchurl { |
|
699 | src = fetchurl { | |
700 | url = "https://pypi.python.org/packages/94/4a/db842e7a0545de1cdb0439bb80e6e42dfe82aaeaadd4072f2263a4fbed23/funcsigs-1.0.2.tar.gz"; |
|
700 | url = "https://pypi.python.org/packages/94/4a/db842e7a0545de1cdb0439bb80e6e42dfe82aaeaadd4072f2263a4fbed23/funcsigs-1.0.2.tar.gz"; | |
701 | md5 = "7e583285b1fb8a76305d6d68f4ccc14e"; |
|
701 | md5 = "7e583285b1fb8a76305d6d68f4ccc14e"; | |
702 | }; |
|
702 | }; | |
703 | meta = { |
|
703 | meta = { | |
704 | license = [ { fullName = "ASL"; } pkgs.lib.licenses.asl20 ]; |
|
704 | license = [ { fullName = "ASL"; } pkgs.lib.licenses.asl20 ]; | |
705 | }; |
|
705 | }; | |
706 | }; |
|
706 | }; | |
707 | functools32 = super.buildPythonPackage { |
|
707 | functools32 = super.buildPythonPackage { | |
708 | name = "functools32-3.2.3.post2"; |
|
708 | name = "functools32-3.2.3.post2"; | |
709 | buildInputs = with self; []; |
|
709 | buildInputs = with self; []; | |
710 | doCheck = false; |
|
710 | doCheck = false; | |
711 | propagatedBuildInputs = with self; []; |
|
711 | propagatedBuildInputs = with self; []; | |
712 | src = fetchurl { |
|
712 | src = fetchurl { | |
713 | url = "https://pypi.python.org/packages/c5/60/6ac26ad05857c601308d8fb9e87fa36d0ebf889423f47c3502ef034365db/functools32-3.2.3-2.tar.gz"; |
|
713 | url = "https://pypi.python.org/packages/c5/60/6ac26ad05857c601308d8fb9e87fa36d0ebf889423f47c3502ef034365db/functools32-3.2.3-2.tar.gz"; | |
714 | md5 = "09f24ffd9af9f6cd0f63cb9f4e23d4b2"; |
|
714 | md5 = "09f24ffd9af9f6cd0f63cb9f4e23d4b2"; | |
715 | }; |
|
715 | }; | |
716 | meta = { |
|
716 | meta = { | |
717 | license = [ pkgs.lib.licenses.psfl ]; |
|
717 | license = [ pkgs.lib.licenses.psfl ]; | |
718 | }; |
|
718 | }; | |
719 | }; |
|
719 | }; | |
720 | future = super.buildPythonPackage { |
|
720 | future = super.buildPythonPackage { | |
721 | name = "future-0.14.3"; |
|
721 | name = "future-0.14.3"; | |
722 | buildInputs = with self; []; |
|
722 | buildInputs = with self; []; | |
723 | doCheck = false; |
|
723 | doCheck = false; | |
724 | propagatedBuildInputs = with self; []; |
|
724 | propagatedBuildInputs = with self; []; | |
725 | src = fetchurl { |
|
725 | src = fetchurl { | |
726 | url = "https://pypi.python.org/packages/83/80/8ef3a11a15f8eaafafa0937b20c1b3f73527e69ab6b3fa1cf94a5a96aabb/future-0.14.3.tar.gz"; |
|
726 | url = "https://pypi.python.org/packages/83/80/8ef3a11a15f8eaafafa0937b20c1b3f73527e69ab6b3fa1cf94a5a96aabb/future-0.14.3.tar.gz"; | |
727 | md5 = "e94079b0bd1fc054929e8769fc0f6083"; |
|
727 | md5 = "e94079b0bd1fc054929e8769fc0f6083"; | |
728 | }; |
|
728 | }; | |
729 | meta = { |
|
729 | meta = { | |
730 | license = [ { fullName = "OSI Approved"; } pkgs.lib.licenses.mit ]; |
|
730 | license = [ { fullName = "OSI Approved"; } pkgs.lib.licenses.mit ]; | |
731 | }; |
|
731 | }; | |
732 | }; |
|
732 | }; | |
733 | futures = super.buildPythonPackage { |
|
733 | futures = super.buildPythonPackage { | |
734 | name = "futures-3.0.2"; |
|
734 | name = "futures-3.0.2"; | |
735 | buildInputs = with self; []; |
|
735 | buildInputs = with self; []; | |
736 | doCheck = false; |
|
736 | doCheck = false; | |
737 | propagatedBuildInputs = with self; []; |
|
737 | propagatedBuildInputs = with self; []; | |
738 | src = fetchurl { |
|
738 | src = fetchurl { | |
739 | url = "https://pypi.python.org/packages/f8/e7/fc0fcbeb9193ba2d4de00b065e7fd5aecd0679e93ce95a07322b2b1434f4/futures-3.0.2.tar.gz"; |
|
739 | url = "https://pypi.python.org/packages/f8/e7/fc0fcbeb9193ba2d4de00b065e7fd5aecd0679e93ce95a07322b2b1434f4/futures-3.0.2.tar.gz"; | |
740 | md5 = "42aaf1e4de48d6e871d77dc1f9d96d5a"; |
|
740 | md5 = "42aaf1e4de48d6e871d77dc1f9d96d5a"; | |
741 | }; |
|
741 | }; | |
742 | meta = { |
|
742 | meta = { | |
743 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
743 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
744 | }; |
|
744 | }; | |
745 | }; |
|
745 | }; | |
746 | gevent = super.buildPythonPackage { |
|
746 | gevent = super.buildPythonPackage { | |
747 | name = "gevent-1.2.2"; |
|
747 | name = "gevent-1.2.2"; | |
748 | buildInputs = with self; []; |
|
748 | buildInputs = with self; []; | |
749 | doCheck = false; |
|
749 | doCheck = false; | |
750 | propagatedBuildInputs = with self; [greenlet]; |
|
750 | propagatedBuildInputs = with self; [greenlet]; | |
751 | src = fetchurl { |
|
751 | src = fetchurl { | |
752 | url = "https://pypi.python.org/packages/1b/92/b111f76e54d2be11375b47b213b56687214f258fd9dae703546d30b837be/gevent-1.2.2.tar.gz"; |
|
752 | url = "https://pypi.python.org/packages/1b/92/b111f76e54d2be11375b47b213b56687214f258fd9dae703546d30b837be/gevent-1.2.2.tar.gz"; | |
753 | md5 = "7f0baf355384fe5ff2ecf66853422554"; |
|
753 | md5 = "7f0baf355384fe5ff2ecf66853422554"; | |
754 | }; |
|
754 | }; | |
755 | meta = { |
|
755 | meta = { | |
756 | license = [ pkgs.lib.licenses.mit ]; |
|
756 | license = [ pkgs.lib.licenses.mit ]; | |
757 | }; |
|
757 | }; | |
758 | }; |
|
758 | }; | |
759 | gnureadline = super.buildPythonPackage { |
|
759 | gnureadline = super.buildPythonPackage { | |
760 | name = "gnureadline-6.3.8"; |
|
760 | name = "gnureadline-6.3.8"; | |
761 | buildInputs = with self; []; |
|
761 | buildInputs = with self; []; | |
762 | doCheck = false; |
|
762 | doCheck = false; | |
763 | propagatedBuildInputs = with self; []; |
|
763 | propagatedBuildInputs = with self; []; | |
764 | src = fetchurl { |
|
764 | src = fetchurl { | |
765 | url = "https://pypi.python.org/packages/50/64/86085c823cd78f9df9d8e33dce0baa71618016f8860460b82cf6610e1eb3/gnureadline-6.3.8.tar.gz"; |
|
765 | url = "https://pypi.python.org/packages/50/64/86085c823cd78f9df9d8e33dce0baa71618016f8860460b82cf6610e1eb3/gnureadline-6.3.8.tar.gz"; | |
766 | md5 = "ba341f4b907250bd1f47dbc06290604f"; |
|
766 | md5 = "ba341f4b907250bd1f47dbc06290604f"; | |
767 | }; |
|
767 | }; | |
768 | meta = { |
|
768 | meta = { | |
769 | license = [ { fullName = "GNU General Public License v3 (GPLv3)"; } pkgs.lib.licenses.gpl1 ]; |
|
769 | license = [ { fullName = "GNU General Public License v3 (GPLv3)"; } pkgs.lib.licenses.gpl1 ]; | |
770 | }; |
|
770 | }; | |
771 | }; |
|
771 | }; | |
772 | gprof2dot = super.buildPythonPackage { |
|
772 | gprof2dot = super.buildPythonPackage { | |
773 | name = "gprof2dot-2017.9.19"; |
|
773 | name = "gprof2dot-2017.9.19"; | |
774 | buildInputs = with self; []; |
|
774 | buildInputs = with self; []; | |
775 | doCheck = false; |
|
775 | doCheck = false; | |
776 | propagatedBuildInputs = with self; []; |
|
776 | propagatedBuildInputs = with self; []; | |
777 | src = fetchurl { |
|
777 | src = fetchurl { | |
778 | url = "https://pypi.python.org/packages/9d/36/f977122502979f3dfb50704979c9ed70e6b620787942b089bf1af15f5aba/gprof2dot-2017.9.19.tar.gz"; |
|
778 | url = "https://pypi.python.org/packages/9d/36/f977122502979f3dfb50704979c9ed70e6b620787942b089bf1af15f5aba/gprof2dot-2017.9.19.tar.gz"; | |
779 | md5 = "cda2d552bb0d0b9f16e6824a9aabd225"; |
|
779 | md5 = "cda2d552bb0d0b9f16e6824a9aabd225"; | |
780 | }; |
|
780 | }; | |
781 | meta = { |
|
781 | meta = { | |
782 | license = [ { fullName = "GNU Lesser General Public License v3 or later (LGPLv3+)"; } { fullName = "LGPL"; } ]; |
|
782 | license = [ { fullName = "GNU Lesser General Public License v3 or later (LGPLv3+)"; } { fullName = "LGPL"; } ]; | |
783 | }; |
|
783 | }; | |
784 | }; |
|
784 | }; | |
785 | graphviz = super.buildPythonPackage { |
|
785 | graphviz = super.buildPythonPackage { | |
786 | name = "graphviz-0.8.2"; |
|
786 | name = "graphviz-0.8.2"; | |
787 | buildInputs = with self; []; |
|
787 | buildInputs = with self; []; | |
788 | doCheck = false; |
|
788 | doCheck = false; | |
789 | propagatedBuildInputs = with self; []; |
|
789 | propagatedBuildInputs = with self; []; | |
790 | src = fetchurl { |
|
790 | src = fetchurl { | |
791 | url = "https://pypi.python.org/packages/fa/d1/63b62dee9e55368f60b5ea445e6afb361bb47e692fc27553f3672e16efb8/graphviz-0.8.2.zip"; |
|
791 | url = "https://pypi.python.org/packages/fa/d1/63b62dee9e55368f60b5ea445e6afb361bb47e692fc27553f3672e16efb8/graphviz-0.8.2.zip"; | |
792 | md5 = "50866e780f43e1cb0d073c70424fcaff"; |
|
792 | md5 = "50866e780f43e1cb0d073c70424fcaff"; | |
793 | }; |
|
793 | }; | |
794 | meta = { |
|
794 | meta = { | |
795 | license = [ pkgs.lib.licenses.mit ]; |
|
795 | license = [ pkgs.lib.licenses.mit ]; | |
796 | }; |
|
796 | }; | |
797 | }; |
|
797 | }; | |
798 | greenlet = super.buildPythonPackage { |
|
798 | greenlet = super.buildPythonPackage { | |
799 | name = "greenlet-0.4.13"; |
|
799 | name = "greenlet-0.4.13"; | |
800 | buildInputs = with self; []; |
|
800 | buildInputs = with self; []; | |
801 | doCheck = false; |
|
801 | doCheck = false; | |
802 | propagatedBuildInputs = with self; []; |
|
802 | propagatedBuildInputs = with self; []; | |
803 | src = fetchurl { |
|
803 | src = fetchurl { | |
804 | url = "https://pypi.python.org/packages/13/de/ba92335e9e76040ca7274224942282a80d54f85e342a5e33c5277c7f87eb/greenlet-0.4.13.tar.gz"; |
|
804 | url = "https://pypi.python.org/packages/13/de/ba92335e9e76040ca7274224942282a80d54f85e342a5e33c5277c7f87eb/greenlet-0.4.13.tar.gz"; | |
805 | md5 = "6e0b9dd5385f81d478451ec8ed1d62b3"; |
|
805 | md5 = "6e0b9dd5385f81d478451ec8ed1d62b3"; | |
806 | }; |
|
806 | }; | |
807 | meta = { |
|
807 | meta = { | |
808 | license = [ pkgs.lib.licenses.mit ]; |
|
808 | license = [ pkgs.lib.licenses.mit ]; | |
809 | }; |
|
809 | }; | |
810 | }; |
|
810 | }; | |
811 | gunicorn = super.buildPythonPackage { |
|
811 | gunicorn = super.buildPythonPackage { | |
812 | name = "gunicorn-19.7.1"; |
|
812 | name = "gunicorn-19.7.1"; | |
813 | buildInputs = with self; []; |
|
813 | buildInputs = with self; []; | |
814 | doCheck = false; |
|
814 | doCheck = false; | |
815 | propagatedBuildInputs = with self; []; |
|
815 | propagatedBuildInputs = with self; []; | |
816 | src = fetchurl { |
|
816 | src = fetchurl { | |
817 | url = "https://pypi.python.org/packages/30/3a/10bb213cede0cc4d13ac2263316c872a64bf4c819000c8ccd801f1d5f822/gunicorn-19.7.1.tar.gz"; |
|
817 | url = "https://pypi.python.org/packages/30/3a/10bb213cede0cc4d13ac2263316c872a64bf4c819000c8ccd801f1d5f822/gunicorn-19.7.1.tar.gz"; | |
818 | md5 = "174d3c3cd670a5be0404d84c484e590c"; |
|
818 | md5 = "174d3c3cd670a5be0404d84c484e590c"; | |
819 | }; |
|
819 | }; | |
820 | meta = { |
|
820 | meta = { | |
821 | license = [ pkgs.lib.licenses.mit ]; |
|
821 | license = [ pkgs.lib.licenses.mit ]; | |
822 | }; |
|
822 | }; | |
823 | }; |
|
823 | }; | |
824 | html5lib = super.buildPythonPackage { |
|
824 | html5lib = super.buildPythonPackage { | |
825 | name = "html5lib-1.0.1"; |
|
825 | name = "html5lib-1.0.1"; | |
826 | buildInputs = with self; []; |
|
826 | buildInputs = with self; []; | |
827 | doCheck = false; |
|
827 | doCheck = false; | |
828 | propagatedBuildInputs = with self; [six webencodings]; |
|
828 | propagatedBuildInputs = with self; [six webencodings]; | |
829 | src = fetchurl { |
|
829 | src = fetchurl { | |
830 | url = "https://pypi.python.org/packages/85/3e/cf449cf1b5004e87510b9368e7a5f1acd8831c2d6691edd3c62a0823f98f/html5lib-1.0.1.tar.gz"; |
|
830 | url = "https://pypi.python.org/packages/85/3e/cf449cf1b5004e87510b9368e7a5f1acd8831c2d6691edd3c62a0823f98f/html5lib-1.0.1.tar.gz"; | |
831 | md5 = "942a0688d6bdf20d087c9805c40182ad"; |
|
831 | md5 = "942a0688d6bdf20d087c9805c40182ad"; | |
832 | }; |
|
832 | }; | |
833 | meta = { |
|
833 | meta = { | |
834 | license = [ pkgs.lib.licenses.mit ]; |
|
834 | license = [ pkgs.lib.licenses.mit ]; | |
835 | }; |
|
835 | }; | |
836 | }; |
|
836 | }; | |
837 | hupper = super.buildPythonPackage { |
|
837 | hupper = super.buildPythonPackage { | |
838 | name = "hupper-1.0"; |
|
838 | name = "hupper-1.0"; | |
839 | buildInputs = with self; []; |
|
839 | buildInputs = with self; []; | |
840 | doCheck = false; |
|
840 | doCheck = false; | |
841 | propagatedBuildInputs = with self; []; |
|
841 | propagatedBuildInputs = with self; []; | |
842 | src = fetchurl { |
|
842 | src = fetchurl { | |
843 | url = "https://pypi.python.org/packages/2e/07/df892c564dc09bb3cf6f6deb976c26adf9117db75ba218cb4353dbc9d826/hupper-1.0.tar.gz"; |
|
843 | url = "https://pypi.python.org/packages/2e/07/df892c564dc09bb3cf6f6deb976c26adf9117db75ba218cb4353dbc9d826/hupper-1.0.tar.gz"; | |
844 | md5 = "26e77da7d5ac5858f59af050d1a6eb5a"; |
|
844 | md5 = "26e77da7d5ac5858f59af050d1a6eb5a"; | |
845 | }; |
|
845 | }; | |
846 | meta = { |
|
846 | meta = { | |
847 | license = [ pkgs.lib.licenses.mit ]; |
|
847 | license = [ pkgs.lib.licenses.mit ]; | |
848 | }; |
|
848 | }; | |
849 | }; |
|
849 | }; | |
850 | infrae.cache = super.buildPythonPackage { |
|
850 | infrae.cache = super.buildPythonPackage { | |
851 | name = "infrae.cache-1.0.1"; |
|
851 | name = "infrae.cache-1.0.1"; | |
852 | buildInputs = with self; []; |
|
852 | buildInputs = with self; []; | |
853 | doCheck = false; |
|
853 | doCheck = false; | |
854 | propagatedBuildInputs = with self; [Beaker repoze.lru]; |
|
854 | propagatedBuildInputs = with self; [Beaker repoze.lru]; | |
855 | src = fetchurl { |
|
855 | src = fetchurl { | |
856 | url = "https://pypi.python.org/packages/bb/f0/e7d5e984cf6592fd2807dc7bc44a93f9d18e04e6a61f87fdfb2622422d74/infrae.cache-1.0.1.tar.gz"; |
|
856 | url = "https://pypi.python.org/packages/bb/f0/e7d5e984cf6592fd2807dc7bc44a93f9d18e04e6a61f87fdfb2622422d74/infrae.cache-1.0.1.tar.gz"; | |
857 | md5 = "b09076a766747e6ed2a755cc62088e32"; |
|
857 | md5 = "b09076a766747e6ed2a755cc62088e32"; | |
858 | }; |
|
858 | }; | |
859 | meta = { |
|
859 | meta = { | |
860 | license = [ pkgs.lib.licenses.zpt21 ]; |
|
860 | license = [ pkgs.lib.licenses.zpt21 ]; | |
861 | }; |
|
861 | }; | |
862 | }; |
|
862 | }; | |
863 | invoke = super.buildPythonPackage { |
|
863 | invoke = super.buildPythonPackage { | |
864 | name = "invoke-0.13.0"; |
|
864 | name = "invoke-0.13.0"; | |
865 | buildInputs = with self; []; |
|
865 | buildInputs = with self; []; | |
866 | doCheck = false; |
|
866 | doCheck = false; | |
867 | propagatedBuildInputs = with self; []; |
|
867 | propagatedBuildInputs = with self; []; | |
868 | src = fetchurl { |
|
868 | src = fetchurl { | |
869 | url = "https://pypi.python.org/packages/47/bf/d07ef52fa1ac645468858bbac7cb95b246a972a045e821493d17d89c81be/invoke-0.13.0.tar.gz"; |
|
869 | url = "https://pypi.python.org/packages/47/bf/d07ef52fa1ac645468858bbac7cb95b246a972a045e821493d17d89c81be/invoke-0.13.0.tar.gz"; | |
870 | md5 = "c0d1ed4bfb34eaab551662d8cfee6540"; |
|
870 | md5 = "c0d1ed4bfb34eaab551662d8cfee6540"; | |
871 | }; |
|
871 | }; | |
872 | meta = { |
|
872 | meta = { | |
873 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
873 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
874 | }; |
|
874 | }; | |
875 | }; |
|
875 | }; | |
876 | ipaddress = super.buildPythonPackage { |
|
876 | ipaddress = super.buildPythonPackage { | |
877 | name = "ipaddress-1.0.19"; |
|
877 | name = "ipaddress-1.0.19"; | |
878 | buildInputs = with self; []; |
|
878 | buildInputs = with self; []; | |
879 | doCheck = false; |
|
879 | doCheck = false; | |
880 | propagatedBuildInputs = with self; []; |
|
880 | propagatedBuildInputs = with self; []; | |
881 | src = fetchurl { |
|
881 | src = fetchurl { | |
882 | url = "https://pypi.python.org/packages/f0/ba/860a4a3e283456d6b7e2ab39ce5cf11a3490ee1a363652ac50abf9f0f5df/ipaddress-1.0.19.tar.gz"; |
|
882 | url = "https://pypi.python.org/packages/f0/ba/860a4a3e283456d6b7e2ab39ce5cf11a3490ee1a363652ac50abf9f0f5df/ipaddress-1.0.19.tar.gz"; | |
883 | md5 = "d0687efaf93a32476d81e90ba0609c57"; |
|
883 | md5 = "d0687efaf93a32476d81e90ba0609c57"; | |
884 | }; |
|
884 | }; | |
885 | meta = { |
|
885 | meta = { | |
886 | license = [ pkgs.lib.licenses.psfl ]; |
|
886 | license = [ pkgs.lib.licenses.psfl ]; | |
887 | }; |
|
887 | }; | |
888 | }; |
|
888 | }; | |
889 | ipdb = super.buildPythonPackage { |
|
889 | ipdb = super.buildPythonPackage { | |
890 | name = "ipdb-0.10.3"; |
|
890 | name = "ipdb-0.10.3"; | |
891 | buildInputs = with self; []; |
|
891 | buildInputs = with self; []; | |
892 | doCheck = false; |
|
892 | doCheck = false; | |
893 | propagatedBuildInputs = with self; [setuptools ipython]; |
|
893 | propagatedBuildInputs = with self; [setuptools ipython]; | |
894 | src = fetchurl { |
|
894 | src = fetchurl { | |
895 | url = "https://pypi.python.org/packages/ad/cc/0e7298e1fbf2efd52667c9354a12aa69fb6f796ce230cca03525051718ef/ipdb-0.10.3.tar.gz"; |
|
895 | url = "https://pypi.python.org/packages/ad/cc/0e7298e1fbf2efd52667c9354a12aa69fb6f796ce230cca03525051718ef/ipdb-0.10.3.tar.gz"; | |
896 | md5 = "def1f6ac075d54bdee07e6501263d4fa"; |
|
896 | md5 = "def1f6ac075d54bdee07e6501263d4fa"; | |
897 | }; |
|
897 | }; | |
898 | meta = { |
|
898 | meta = { | |
899 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
899 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
900 | }; |
|
900 | }; | |
901 | }; |
|
901 | }; | |
902 | ipython = super.buildPythonPackage { |
|
902 | ipython = super.buildPythonPackage { | |
903 | name = "ipython-5.1.0"; |
|
903 | name = "ipython-5.1.0"; | |
904 | buildInputs = with self; []; |
|
904 | buildInputs = with self; []; | |
905 | doCheck = false; |
|
905 | doCheck = false; | |
906 | propagatedBuildInputs = with self; [setuptools decorator pickleshare simplegeneric traitlets prompt-toolkit Pygments pexpect backports.shutil-get-terminal-size pathlib2 pexpect]; |
|
906 | propagatedBuildInputs = with self; [setuptools decorator pickleshare simplegeneric traitlets prompt-toolkit Pygments pexpect backports.shutil-get-terminal-size pathlib2 pexpect]; | |
907 | src = fetchurl { |
|
907 | src = fetchurl { | |
908 | url = "https://pypi.python.org/packages/89/63/a9292f7cd9d0090a0f995e1167f3f17d5889dcbc9a175261719c513b9848/ipython-5.1.0.tar.gz"; |
|
908 | url = "https://pypi.python.org/packages/89/63/a9292f7cd9d0090a0f995e1167f3f17d5889dcbc9a175261719c513b9848/ipython-5.1.0.tar.gz"; | |
909 | md5 = "47c8122420f65b58784cb4b9b4af35e3"; |
|
909 | md5 = "47c8122420f65b58784cb4b9b4af35e3"; | |
910 | }; |
|
910 | }; | |
911 | meta = { |
|
911 | meta = { | |
912 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
912 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
913 | }; |
|
913 | }; | |
914 | }; |
|
914 | }; | |
915 | ipython-genutils = super.buildPythonPackage { |
|
915 | ipython-genutils = super.buildPythonPackage { | |
916 | name = "ipython-genutils-0.2.0"; |
|
916 | name = "ipython-genutils-0.2.0"; | |
917 | buildInputs = with self; []; |
|
917 | buildInputs = with self; []; | |
918 | doCheck = false; |
|
918 | doCheck = false; | |
919 | propagatedBuildInputs = with self; []; |
|
919 | propagatedBuildInputs = with self; []; | |
920 | src = fetchurl { |
|
920 | src = fetchurl { | |
921 | url = "https://pypi.python.org/packages/e8/69/fbeffffc05236398ebfcfb512b6d2511c622871dca1746361006da310399/ipython_genutils-0.2.0.tar.gz"; |
|
921 | url = "https://pypi.python.org/packages/e8/69/fbeffffc05236398ebfcfb512b6d2511c622871dca1746361006da310399/ipython_genutils-0.2.0.tar.gz"; | |
922 | md5 = "5a4f9781f78466da0ea1a648f3e1f79f"; |
|
922 | md5 = "5a4f9781f78466da0ea1a648f3e1f79f"; | |
923 | }; |
|
923 | }; | |
924 | meta = { |
|
924 | meta = { | |
925 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
925 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
926 | }; |
|
926 | }; | |
927 | }; |
|
927 | }; | |
928 | iso8601 = super.buildPythonPackage { |
|
928 | iso8601 = super.buildPythonPackage { | |
929 | name = "iso8601-0.1.12"; |
|
929 | name = "iso8601-0.1.12"; | |
930 | buildInputs = with self; []; |
|
930 | buildInputs = with self; []; | |
931 | doCheck = false; |
|
931 | doCheck = false; | |
932 | propagatedBuildInputs = with self; []; |
|
932 | propagatedBuildInputs = with self; []; | |
933 | src = fetchurl { |
|
933 | src = fetchurl { | |
934 | url = "https://pypi.python.org/packages/45/13/3db24895497345fb44c4248c08b16da34a9eb02643cea2754b21b5ed08b0/iso8601-0.1.12.tar.gz"; |
|
934 | url = "https://pypi.python.org/packages/45/13/3db24895497345fb44c4248c08b16da34a9eb02643cea2754b21b5ed08b0/iso8601-0.1.12.tar.gz"; | |
935 | md5 = "4de940f691c5ea759fb254384c8ddcf6"; |
|
935 | md5 = "4de940f691c5ea759fb254384c8ddcf6"; | |
936 | }; |
|
936 | }; | |
937 | meta = { |
|
937 | meta = { | |
938 | license = [ pkgs.lib.licenses.mit ]; |
|
938 | license = [ pkgs.lib.licenses.mit ]; | |
939 | }; |
|
939 | }; | |
940 | }; |
|
940 | }; | |
941 | itsdangerous = super.buildPythonPackage { |
|
941 | itsdangerous = super.buildPythonPackage { | |
942 | name = "itsdangerous-0.24"; |
|
942 | name = "itsdangerous-0.24"; | |
943 | buildInputs = with self; []; |
|
943 | buildInputs = with self; []; | |
944 | doCheck = false; |
|
944 | doCheck = false; | |
945 | propagatedBuildInputs = with self; []; |
|
945 | propagatedBuildInputs = with self; []; | |
946 | src = fetchurl { |
|
946 | src = fetchurl { | |
947 | url = "https://pypi.python.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz"; |
|
947 | url = "https://pypi.python.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz"; | |
948 | md5 = "a3d55aa79369aef5345c036a8a26307f"; |
|
948 | md5 = "a3d55aa79369aef5345c036a8a26307f"; | |
949 | }; |
|
949 | }; | |
950 | meta = { |
|
950 | meta = { | |
951 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
951 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
952 | }; |
|
952 | }; | |
953 | }; |
|
953 | }; | |
954 | jsonschema = super.buildPythonPackage { |
|
954 | jsonschema = super.buildPythonPackage { | |
955 | name = "jsonschema-2.6.0"; |
|
955 | name = "jsonschema-2.6.0"; | |
956 | buildInputs = with self; []; |
|
956 | buildInputs = with self; []; | |
957 | doCheck = false; |
|
957 | doCheck = false; | |
958 | propagatedBuildInputs = with self; [functools32]; |
|
958 | propagatedBuildInputs = with self; [functools32]; | |
959 | src = fetchurl { |
|
959 | src = fetchurl { | |
960 | url = "https://pypi.python.org/packages/58/b9/171dbb07e18c6346090a37f03c7e74410a1a56123f847efed59af260a298/jsonschema-2.6.0.tar.gz"; |
|
960 | url = "https://pypi.python.org/packages/58/b9/171dbb07e18c6346090a37f03c7e74410a1a56123f847efed59af260a298/jsonschema-2.6.0.tar.gz"; | |
961 | md5 = "50c6b69a373a8b55ff1e0ec6e78f13f4"; |
|
961 | md5 = "50c6b69a373a8b55ff1e0ec6e78f13f4"; | |
962 | }; |
|
962 | }; | |
963 | meta = { |
|
963 | meta = { | |
964 | license = [ pkgs.lib.licenses.mit ]; |
|
964 | license = [ pkgs.lib.licenses.mit ]; | |
965 | }; |
|
965 | }; | |
966 | }; |
|
966 | }; | |
967 | jupyter-client = super.buildPythonPackage { |
|
967 | jupyter-client = super.buildPythonPackage { | |
968 | name = "jupyter-client-5.0.0"; |
|
968 | name = "jupyter-client-5.0.0"; | |
969 | buildInputs = with self; []; |
|
969 | buildInputs = with self; []; | |
970 | doCheck = false; |
|
970 | doCheck = false; | |
971 | propagatedBuildInputs = with self; [traitlets jupyter-core pyzmq python-dateutil]; |
|
971 | propagatedBuildInputs = with self; [traitlets jupyter-core pyzmq python-dateutil]; | |
972 | src = fetchurl { |
|
972 | src = fetchurl { | |
973 | url = "https://pypi.python.org/packages/e5/6f/65412ed462202b90134b7e761b0b7e7f949e07a549c1755475333727b3d0/jupyter_client-5.0.0.tar.gz"; |
|
973 | url = "https://pypi.python.org/packages/e5/6f/65412ed462202b90134b7e761b0b7e7f949e07a549c1755475333727b3d0/jupyter_client-5.0.0.tar.gz"; | |
974 | md5 = "1acd331b5c9fb4d79dae9939e79f2426"; |
|
974 | md5 = "1acd331b5c9fb4d79dae9939e79f2426"; | |
975 | }; |
|
975 | }; | |
976 | meta = { |
|
976 | meta = { | |
977 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
977 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
978 | }; |
|
978 | }; | |
979 | }; |
|
979 | }; | |
980 | jupyter-core = super.buildPythonPackage { |
|
980 | jupyter-core = super.buildPythonPackage { | |
981 | name = "jupyter-core-4.4.0"; |
|
981 | name = "jupyter-core-4.4.0"; | |
982 | buildInputs = with self; []; |
|
982 | buildInputs = with self; []; | |
983 | doCheck = false; |
|
983 | doCheck = false; | |
984 | propagatedBuildInputs = with self; [traitlets]; |
|
984 | propagatedBuildInputs = with self; [traitlets]; | |
985 | src = fetchurl { |
|
985 | src = fetchurl { | |
986 | url = "https://pypi.python.org/packages/b6/2d/2804f4de3a95583f65e5dcb4d7c8c7183124882323758996e867f47e72af/jupyter_core-4.4.0.tar.gz"; |
|
986 | url = "https://pypi.python.org/packages/b6/2d/2804f4de3a95583f65e5dcb4d7c8c7183124882323758996e867f47e72af/jupyter_core-4.4.0.tar.gz"; | |
987 | md5 = "7829fc07884ed98459e170f217e2a5ba"; |
|
987 | md5 = "7829fc07884ed98459e170f217e2a5ba"; | |
988 | }; |
|
988 | }; | |
989 | meta = { |
|
989 | meta = { | |
990 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
990 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
991 | }; |
|
991 | }; | |
992 | }; |
|
992 | }; | |
993 | kombu = super.buildPythonPackage { |
|
993 | kombu = super.buildPythonPackage { | |
994 | name = "kombu-4.1.0"; |
|
994 | name = "kombu-4.1.0"; | |
995 | buildInputs = with self; []; |
|
995 | buildInputs = with self; []; | |
996 | doCheck = false; |
|
996 | doCheck = false; | |
997 | propagatedBuildInputs = with self; [amqp]; |
|
997 | propagatedBuildInputs = with self; [amqp]; | |
998 | src = fetchurl { |
|
998 | src = fetchurl { | |
999 | url = "https://pypi.python.org/packages/03/5e/1a47d1e543d4943d65330af4e4406049f443878818fb65bfdc651bb93a96/kombu-4.1.0.tar.gz"; |
|
999 | url = "https://pypi.python.org/packages/03/5e/1a47d1e543d4943d65330af4e4406049f443878818fb65bfdc651bb93a96/kombu-4.1.0.tar.gz"; | |
1000 | md5 = "2fb2be9fec0e6514231bba23a3779439"; |
|
1000 | md5 = "2fb2be9fec0e6514231bba23a3779439"; | |
1001 | }; |
|
1001 | }; | |
1002 | meta = { |
|
1002 | meta = { | |
1003 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
1003 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
1004 | }; |
|
1004 | }; | |
1005 | }; |
|
1005 | }; | |
1006 | lxml = super.buildPythonPackage { |
|
1006 | lxml = super.buildPythonPackage { | |
1007 | name = "lxml-3.7.3"; |
|
1007 | name = "lxml-3.7.3"; | |
1008 | buildInputs = with self; []; |
|
1008 | buildInputs = with self; []; | |
1009 | doCheck = false; |
|
1009 | doCheck = false; | |
1010 | propagatedBuildInputs = with self; []; |
|
1010 | propagatedBuildInputs = with self; []; | |
1011 | src = fetchurl { |
|
1011 | src = fetchurl { | |
1012 | url = "https://pypi.python.org/packages/39/e8/a8e0b1fa65dd021d48fe21464f71783655f39a41f218293c1c590d54eb82/lxml-3.7.3.tar.gz"; |
|
1012 | url = "https://pypi.python.org/packages/39/e8/a8e0b1fa65dd021d48fe21464f71783655f39a41f218293c1c590d54eb82/lxml-3.7.3.tar.gz"; | |
1013 | md5 = "075692ce442e69bbd604d44e21c02753"; |
|
1013 | md5 = "075692ce442e69bbd604d44e21c02753"; | |
1014 | }; |
|
1014 | }; | |
1015 | meta = { |
|
1015 | meta = { | |
1016 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
1016 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
1017 | }; |
|
1017 | }; | |
1018 | }; |
|
1018 | }; | |
1019 | meld3 = super.buildPythonPackage { |
|
1019 | meld3 = super.buildPythonPackage { | |
1020 | name = "meld3-1.0.2"; |
|
1020 | name = "meld3-1.0.2"; | |
1021 | buildInputs = with self; []; |
|
1021 | buildInputs = with self; []; | |
1022 | doCheck = false; |
|
1022 | doCheck = false; | |
1023 | propagatedBuildInputs = with self; []; |
|
1023 | propagatedBuildInputs = with self; []; | |
1024 | src = fetchurl { |
|
1024 | src = fetchurl { | |
1025 | url = "https://pypi.python.org/packages/45/a0/317c6422b26c12fe0161e936fc35f36552069ba8e6f7ecbd99bbffe32a5f/meld3-1.0.2.tar.gz"; |
|
1025 | url = "https://pypi.python.org/packages/45/a0/317c6422b26c12fe0161e936fc35f36552069ba8e6f7ecbd99bbffe32a5f/meld3-1.0.2.tar.gz"; | |
1026 | md5 = "3ccc78cd79cffd63a751ad7684c02c91"; |
|
1026 | md5 = "3ccc78cd79cffd63a751ad7684c02c91"; | |
1027 | }; |
|
1027 | }; | |
1028 | meta = { |
|
1028 | meta = { | |
1029 | license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; |
|
1029 | license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; | |
1030 | }; |
|
1030 | }; | |
1031 | }; |
|
1031 | }; | |
1032 | mistune = super.buildPythonPackage { |
|
1032 | mistune = super.buildPythonPackage { | |
1033 | name = "mistune-0.8.3"; |
|
1033 | name = "mistune-0.8.3"; | |
1034 | buildInputs = with self; []; |
|
1034 | buildInputs = with self; []; | |
1035 | doCheck = false; |
|
1035 | doCheck = false; | |
1036 | propagatedBuildInputs = with self; []; |
|
1036 | propagatedBuildInputs = with self; []; | |
1037 | src = fetchurl { |
|
1037 | src = fetchurl { | |
1038 | url = "https://pypi.python.org/packages/9d/be/e06d4346cc608a01dec6bf770d7d0303a4fd6db588b318ced18f5f257145/mistune-0.8.3.tar.gz"; |
|
1038 | url = "https://pypi.python.org/packages/9d/be/e06d4346cc608a01dec6bf770d7d0303a4fd6db588b318ced18f5f257145/mistune-0.8.3.tar.gz"; | |
1039 | md5 = "a5e4043e93fb8f9082e27f29eeb5e054"; |
|
1039 | md5 = "a5e4043e93fb8f9082e27f29eeb5e054"; | |
1040 | }; |
|
1040 | }; | |
1041 | meta = { |
|
1041 | meta = { | |
1042 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
1042 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
1043 | }; |
|
1043 | }; | |
1044 | }; |
|
1044 | }; | |
1045 | mock = super.buildPythonPackage { |
|
1045 | mock = super.buildPythonPackage { | |
1046 | name = "mock-1.0.1"; |
|
1046 | name = "mock-1.0.1"; | |
1047 | buildInputs = with self; []; |
|
1047 | buildInputs = with self; []; | |
1048 | doCheck = false; |
|
1048 | doCheck = false; | |
1049 | propagatedBuildInputs = with self; []; |
|
1049 | propagatedBuildInputs = with self; []; | |
1050 | src = fetchurl { |
|
1050 | src = fetchurl { | |
1051 | url = "https://pypi.python.org/packages/a2/52/7edcd94f0afb721a2d559a5b9aae8af4f8f2c79bc63fdbe8a8a6c9b23bbe/mock-1.0.1.tar.gz"; |
|
1051 | url = "https://pypi.python.org/packages/a2/52/7edcd94f0afb721a2d559a5b9aae8af4f8f2c79bc63fdbe8a8a6c9b23bbe/mock-1.0.1.tar.gz"; | |
1052 | md5 = "c3971991738caa55ec7c356bbc154ee2"; |
|
1052 | md5 = "c3971991738caa55ec7c356bbc154ee2"; | |
1053 | }; |
|
1053 | }; | |
1054 | meta = { |
|
1054 | meta = { | |
1055 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
1055 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
1056 | }; |
|
1056 | }; | |
1057 | }; |
|
1057 | }; | |
1058 | msgpack-python = super.buildPythonPackage { |
|
1058 | msgpack-python = super.buildPythonPackage { | |
1059 | name = "msgpack-python-0.4.8"; |
|
1059 | name = "msgpack-python-0.4.8"; | |
1060 | buildInputs = with self; []; |
|
1060 | buildInputs = with self; []; | |
1061 | doCheck = false; |
|
1061 | doCheck = false; | |
1062 | propagatedBuildInputs = with self; []; |
|
1062 | propagatedBuildInputs = with self; []; | |
1063 | src = fetchurl { |
|
1063 | src = fetchurl { | |
1064 | url = "https://pypi.python.org/packages/21/27/8a1d82041c7a2a51fcc73675875a5f9ea06c2663e02fcfeb708be1d081a0/msgpack-python-0.4.8.tar.gz"; |
|
1064 | url = "https://pypi.python.org/packages/21/27/8a1d82041c7a2a51fcc73675875a5f9ea06c2663e02fcfeb708be1d081a0/msgpack-python-0.4.8.tar.gz"; | |
1065 | md5 = "dcd854fb41ee7584ebbf35e049e6be98"; |
|
1065 | md5 = "dcd854fb41ee7584ebbf35e049e6be98"; | |
1066 | }; |
|
1066 | }; | |
1067 | meta = { |
|
1067 | meta = { | |
1068 | license = [ pkgs.lib.licenses.asl20 ]; |
|
1068 | license = [ pkgs.lib.licenses.asl20 ]; | |
1069 | }; |
|
1069 | }; | |
1070 | }; |
|
1070 | }; | |
1071 | nbconvert = super.buildPythonPackage { |
|
1071 | nbconvert = super.buildPythonPackage { | |
1072 | name = "nbconvert-5.3.1"; |
|
1072 | name = "nbconvert-5.3.1"; | |
1073 | buildInputs = with self; []; |
|
1073 | buildInputs = with self; []; | |
1074 | doCheck = false; |
|
1074 | doCheck = false; | |
1075 | propagatedBuildInputs = with self; [mistune Jinja2 Pygments traitlets jupyter-core nbformat entrypoints bleach pandocfilters testpath]; |
|
1075 | propagatedBuildInputs = with self; [mistune Jinja2 Pygments traitlets jupyter-core nbformat entrypoints bleach pandocfilters testpath]; | |
1076 | src = fetchurl { |
|
1076 | src = fetchurl { | |
1077 | url = "https://pypi.python.org/packages/b9/a4/d0a0938ad6f5eeb4dea4e73d255c617ef94b0b2849d51194c9bbdb838412/nbconvert-5.3.1.tar.gz"; |
|
1077 | url = "https://pypi.python.org/packages/b9/a4/d0a0938ad6f5eeb4dea4e73d255c617ef94b0b2849d51194c9bbdb838412/nbconvert-5.3.1.tar.gz"; | |
1078 | md5 = "c128d0d93d02f70a85429a383dae96d2"; |
|
1078 | md5 = "c128d0d93d02f70a85429a383dae96d2"; | |
1079 | }; |
|
1079 | }; | |
1080 | meta = { |
|
1080 | meta = { | |
1081 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
1081 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
1082 | }; |
|
1082 | }; | |
1083 | }; |
|
1083 | }; | |
1084 | nbformat = super.buildPythonPackage { |
|
1084 | nbformat = super.buildPythonPackage { | |
1085 | name = "nbformat-4.4.0"; |
|
1085 | name = "nbformat-4.4.0"; | |
1086 | buildInputs = with self; []; |
|
1086 | buildInputs = with self; []; | |
1087 | doCheck = false; |
|
1087 | doCheck = false; | |
1088 | propagatedBuildInputs = with self; [ipython-genutils traitlets jsonschema jupyter-core]; |
|
1088 | propagatedBuildInputs = with self; [ipython-genutils traitlets jsonschema jupyter-core]; | |
1089 | src = fetchurl { |
|
1089 | src = fetchurl { | |
1090 | url = "https://pypi.python.org/packages/6e/0e/160754f7ae3e984863f585a3743b0ed1702043a81245907c8fae2d537155/nbformat-4.4.0.tar.gz"; |
|
1090 | url = "https://pypi.python.org/packages/6e/0e/160754f7ae3e984863f585a3743b0ed1702043a81245907c8fae2d537155/nbformat-4.4.0.tar.gz"; | |
1091 | md5 = "2d5f873138d9fbc2a3f9eaaebca3b8a1"; |
|
1091 | md5 = "2d5f873138d9fbc2a3f9eaaebca3b8a1"; | |
1092 | }; |
|
1092 | }; | |
1093 | meta = { |
|
1093 | meta = { | |
1094 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
1094 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
1095 | }; |
|
1095 | }; | |
1096 | }; |
|
1096 | }; | |
1097 | objgraph = super.buildPythonPackage { |
|
1097 | objgraph = super.buildPythonPackage { | |
1098 | name = "objgraph-3.1.1"; |
|
1098 | name = "objgraph-3.1.1"; | |
1099 | buildInputs = with self; []; |
|
1099 | buildInputs = with self; []; | |
1100 | doCheck = false; |
|
1100 | doCheck = false; | |
1101 | propagatedBuildInputs = with self; [graphviz]; |
|
1101 | propagatedBuildInputs = with self; [graphviz]; | |
1102 | src = fetchurl { |
|
1102 | src = fetchurl { | |
1103 | url = "https://pypi.python.org/packages/be/58/9ca81a20cc837054e94866df1475d899caaa94f3732b8a46006858b015f7/objgraph-3.1.1.tar.gz"; |
|
1103 | url = "https://pypi.python.org/packages/be/58/9ca81a20cc837054e94866df1475d899caaa94f3732b8a46006858b015f7/objgraph-3.1.1.tar.gz"; | |
1104 | md5 = "253af9944763377877c3678d8aaebb8b"; |
|
1104 | md5 = "253af9944763377877c3678d8aaebb8b"; | |
1105 | }; |
|
1105 | }; | |
1106 | meta = { |
|
1106 | meta = { | |
1107 | license = [ pkgs.lib.licenses.mit ]; |
|
1107 | license = [ pkgs.lib.licenses.mit ]; | |
1108 | }; |
|
1108 | }; | |
1109 | }; |
|
1109 | }; | |
1110 | packaging = super.buildPythonPackage { |
|
1110 | packaging = super.buildPythonPackage { | |
1111 | name = "packaging-15.2"; |
|
1111 | name = "packaging-15.2"; | |
1112 | buildInputs = with self; []; |
|
1112 | buildInputs = with self; []; | |
1113 | doCheck = false; |
|
1113 | doCheck = false; | |
1114 | propagatedBuildInputs = with self; []; |
|
1114 | propagatedBuildInputs = with self; []; | |
1115 | src = fetchurl { |
|
1115 | src = fetchurl { | |
1116 | url = "https://pypi.python.org/packages/24/c4/185da1304f07047dc9e0c46c31db75c0351bd73458ac3efad7da3dbcfbe1/packaging-15.2.tar.gz"; |
|
1116 | url = "https://pypi.python.org/packages/24/c4/185da1304f07047dc9e0c46c31db75c0351bd73458ac3efad7da3dbcfbe1/packaging-15.2.tar.gz"; | |
1117 | md5 = "c16093476f6ced42128bf610e5db3784"; |
|
1117 | md5 = "c16093476f6ced42128bf610e5db3784"; | |
1118 | }; |
|
1118 | }; | |
1119 | meta = { |
|
1119 | meta = { | |
1120 | license = [ pkgs.lib.licenses.asl20 ]; |
|
1120 | license = [ pkgs.lib.licenses.asl20 ]; | |
1121 | }; |
|
1121 | }; | |
1122 | }; |
|
1122 | }; | |
1123 | pandocfilters = super.buildPythonPackage { |
|
1123 | pandocfilters = super.buildPythonPackage { | |
1124 | name = "pandocfilters-1.4.2"; |
|
1124 | name = "pandocfilters-1.4.2"; | |
1125 | buildInputs = with self; []; |
|
1125 | buildInputs = with self; []; | |
1126 | doCheck = false; |
|
1126 | doCheck = false; | |
1127 | propagatedBuildInputs = with self; []; |
|
1127 | propagatedBuildInputs = with self; []; | |
1128 | src = fetchurl { |
|
1128 | src = fetchurl { | |
1129 | url = "https://pypi.python.org/packages/4c/ea/236e2584af67bb6df960832731a6e5325fd4441de001767da328c33368ce/pandocfilters-1.4.2.tar.gz"; |
|
1129 | url = "https://pypi.python.org/packages/4c/ea/236e2584af67bb6df960832731a6e5325fd4441de001767da328c33368ce/pandocfilters-1.4.2.tar.gz"; | |
1130 | md5 = "dc391791ef54c7de1572d7b46b63361f"; |
|
1130 | md5 = "dc391791ef54c7de1572d7b46b63361f"; | |
1131 | }; |
|
1131 | }; | |
1132 | meta = { |
|
1132 | meta = { | |
1133 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
1133 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
1134 | }; |
|
1134 | }; | |
1135 | }; |
|
1135 | }; | |
1136 | pathlib2 = super.buildPythonPackage { |
|
1136 | pathlib2 = super.buildPythonPackage { | |
1137 | name = "pathlib2-2.3.0"; |
|
1137 | name = "pathlib2-2.3.0"; | |
1138 | buildInputs = with self; []; |
|
1138 | buildInputs = with self; []; | |
1139 | doCheck = false; |
|
1139 | doCheck = false; | |
1140 | propagatedBuildInputs = with self; [six scandir]; |
|
1140 | propagatedBuildInputs = with self; [six scandir]; | |
1141 | src = fetchurl { |
|
1141 | src = fetchurl { | |
1142 | url = "https://pypi.python.org/packages/a1/14/df0deb867c2733f7d857523c10942b3d6612a1b222502fdffa9439943dfb/pathlib2-2.3.0.tar.gz"; |
|
1142 | url = "https://pypi.python.org/packages/a1/14/df0deb867c2733f7d857523c10942b3d6612a1b222502fdffa9439943dfb/pathlib2-2.3.0.tar.gz"; | |
1143 | md5 = "89c90409d11fd5947966b6a30a47d18c"; |
|
1143 | md5 = "89c90409d11fd5947966b6a30a47d18c"; | |
1144 | }; |
|
1144 | }; | |
1145 | meta = { |
|
1145 | meta = { | |
1146 | license = [ pkgs.lib.licenses.mit ]; |
|
1146 | license = [ pkgs.lib.licenses.mit ]; | |
1147 | }; |
|
1147 | }; | |
1148 | }; |
|
1148 | }; | |
1149 | peppercorn = super.buildPythonPackage { |
|
1149 | peppercorn = super.buildPythonPackage { | |
1150 | name = "peppercorn-0.5"; |
|
1150 | name = "peppercorn-0.5"; | |
1151 | buildInputs = with self; []; |
|
1151 | buildInputs = with self; []; | |
1152 | doCheck = false; |
|
1152 | doCheck = false; | |
1153 | propagatedBuildInputs = with self; []; |
|
1153 | propagatedBuildInputs = with self; []; | |
1154 | src = fetchurl { |
|
1154 | src = fetchurl { | |
1155 | url = "https://pypi.python.org/packages/45/ec/a62ec317d1324a01567c5221b420742f094f05ee48097e5157d32be3755c/peppercorn-0.5.tar.gz"; |
|
1155 | url = "https://pypi.python.org/packages/45/ec/a62ec317d1324a01567c5221b420742f094f05ee48097e5157d32be3755c/peppercorn-0.5.tar.gz"; | |
1156 | md5 = "f08efbca5790019ab45d76b7244abd40"; |
|
1156 | md5 = "f08efbca5790019ab45d76b7244abd40"; | |
1157 | }; |
|
1157 | }; | |
1158 | meta = { |
|
1158 | meta = { | |
1159 | license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; |
|
1159 | license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; | |
1160 | }; |
|
1160 | }; | |
1161 | }; |
|
1161 | }; | |
1162 | pexpect = super.buildPythonPackage { |
|
1162 | pexpect = super.buildPythonPackage { | |
1163 | name = "pexpect-4.4.0"; |
|
1163 | name = "pexpect-4.4.0"; | |
1164 | buildInputs = with self; []; |
|
1164 | buildInputs = with self; []; | |
1165 | doCheck = false; |
|
1165 | doCheck = false; | |
1166 | propagatedBuildInputs = with self; [ptyprocess]; |
|
1166 | propagatedBuildInputs = with self; [ptyprocess]; | |
1167 | src = fetchurl { |
|
1167 | src = fetchurl { | |
1168 | url = "https://pypi.python.org/packages/fa/c3/60c0cbf96f242d0b47a82e9ca634dcd6dcb043832cf05e17540812e1c707/pexpect-4.4.0.tar.gz"; |
|
1168 | url = "https://pypi.python.org/packages/fa/c3/60c0cbf96f242d0b47a82e9ca634dcd6dcb043832cf05e17540812e1c707/pexpect-4.4.0.tar.gz"; | |
1169 | md5 = "e9b07f0765df8245ac72201d757baaef"; |
|
1169 | md5 = "e9b07f0765df8245ac72201d757baaef"; | |
1170 | }; |
|
1170 | }; | |
1171 | meta = { |
|
1171 | meta = { | |
1172 | license = [ pkgs.lib.licenses.isc { fullName = "ISC License (ISCL)"; } ]; |
|
1172 | license = [ pkgs.lib.licenses.isc { fullName = "ISC License (ISCL)"; } ]; | |
1173 | }; |
|
1173 | }; | |
1174 | }; |
|
1174 | }; | |
1175 | pickleshare = super.buildPythonPackage { |
|
1175 | pickleshare = super.buildPythonPackage { | |
1176 | name = "pickleshare-0.7.4"; |
|
1176 | name = "pickleshare-0.7.4"; | |
1177 | buildInputs = with self; []; |
|
1177 | buildInputs = with self; []; | |
1178 | doCheck = false; |
|
1178 | doCheck = false; | |
1179 | propagatedBuildInputs = with self; [pathlib2]; |
|
1179 | propagatedBuildInputs = with self; [pathlib2]; | |
1180 | src = fetchurl { |
|
1180 | src = fetchurl { | |
1181 | url = "https://pypi.python.org/packages/69/fe/dd137d84daa0fd13a709e448138e310d9ea93070620c9db5454e234af525/pickleshare-0.7.4.tar.gz"; |
|
1181 | url = "https://pypi.python.org/packages/69/fe/dd137d84daa0fd13a709e448138e310d9ea93070620c9db5454e234af525/pickleshare-0.7.4.tar.gz"; | |
1182 | md5 = "6a9e5dd8dfc023031f6b7b3f824cab12"; |
|
1182 | md5 = "6a9e5dd8dfc023031f6b7b3f824cab12"; | |
1183 | }; |
|
1183 | }; | |
1184 | meta = { |
|
1184 | meta = { | |
1185 | license = [ pkgs.lib.licenses.mit ]; |
|
1185 | license = [ pkgs.lib.licenses.mit ]; | |
1186 | }; |
|
1186 | }; | |
1187 | }; |
|
1187 | }; | |
1188 | plaster = super.buildPythonPackage { |
|
1188 | plaster = super.buildPythonPackage { | |
1189 | name = "plaster-1.0"; |
|
1189 | name = "plaster-1.0"; | |
1190 | buildInputs = with self; []; |
|
1190 | buildInputs = with self; []; | |
1191 | doCheck = false; |
|
1191 | doCheck = false; | |
1192 | propagatedBuildInputs = with self; [setuptools]; |
|
1192 | propagatedBuildInputs = with self; [setuptools]; | |
1193 | src = fetchurl { |
|
1193 | src = fetchurl { | |
1194 | url = "https://pypi.python.org/packages/37/e1/56d04382d718d32751017d32f351214384e529b794084eee20bb52405563/plaster-1.0.tar.gz"; |
|
1194 | url = "https://pypi.python.org/packages/37/e1/56d04382d718d32751017d32f351214384e529b794084eee20bb52405563/plaster-1.0.tar.gz"; | |
1195 | md5 = "80e6beb4760c16fea31754babcc0576e"; |
|
1195 | md5 = "80e6beb4760c16fea31754babcc0576e"; | |
1196 | }; |
|
1196 | }; | |
1197 | meta = { |
|
1197 | meta = { | |
1198 | license = [ pkgs.lib.licenses.mit ]; |
|
1198 | license = [ pkgs.lib.licenses.mit ]; | |
1199 | }; |
|
1199 | }; | |
1200 | }; |
|
1200 | }; | |
1201 | plaster-pastedeploy = super.buildPythonPackage { |
|
1201 | plaster-pastedeploy = super.buildPythonPackage { | |
1202 | name = "plaster-pastedeploy-0.4.2"; |
|
1202 | name = "plaster-pastedeploy-0.4.2"; | |
1203 | buildInputs = with self; []; |
|
1203 | buildInputs = with self; []; | |
1204 | doCheck = false; |
|
1204 | doCheck = false; | |
1205 | propagatedBuildInputs = with self; [PasteDeploy plaster]; |
|
1205 | propagatedBuildInputs = with self; [PasteDeploy plaster]; | |
1206 | src = fetchurl { |
|
1206 | src = fetchurl { | |
1207 | url = "https://pypi.python.org/packages/2c/62/0daf9c0be958e785023e583e51baac15863699e956bfb3d448898d80edd8/plaster_pastedeploy-0.4.2.tar.gz"; |
|
1207 | url = "https://pypi.python.org/packages/2c/62/0daf9c0be958e785023e583e51baac15863699e956bfb3d448898d80edd8/plaster_pastedeploy-0.4.2.tar.gz"; | |
1208 | md5 = "58fd7852002909378e818c9d5b71e90a"; |
|
1208 | md5 = "58fd7852002909378e818c9d5b71e90a"; | |
1209 | }; |
|
1209 | }; | |
1210 | meta = { |
|
1210 | meta = { | |
1211 | license = [ pkgs.lib.licenses.mit ]; |
|
1211 | license = [ pkgs.lib.licenses.mit ]; | |
1212 | }; |
|
1212 | }; | |
1213 | }; |
|
1213 | }; | |
1214 | prompt-toolkit = super.buildPythonPackage { |
|
1214 | prompt-toolkit = super.buildPythonPackage { | |
1215 | name = "prompt-toolkit-1.0.15"; |
|
1215 | name = "prompt-toolkit-1.0.15"; | |
1216 | buildInputs = with self; []; |
|
1216 | buildInputs = with self; []; | |
1217 | doCheck = false; |
|
1217 | doCheck = false; | |
1218 | propagatedBuildInputs = with self; [six wcwidth]; |
|
1218 | propagatedBuildInputs = with self; [six wcwidth]; | |
1219 | src = fetchurl { |
|
1219 | src = fetchurl { | |
1220 | url = "https://pypi.python.org/packages/8a/ad/cf6b128866e78ad6d7f1dc5b7f99885fb813393d9860778b2984582e81b5/prompt_toolkit-1.0.15.tar.gz"; |
|
1220 | url = "https://pypi.python.org/packages/8a/ad/cf6b128866e78ad6d7f1dc5b7f99885fb813393d9860778b2984582e81b5/prompt_toolkit-1.0.15.tar.gz"; | |
1221 | md5 = "8fe70295006dbc8afedd43e5eba99032"; |
|
1221 | md5 = "8fe70295006dbc8afedd43e5eba99032"; | |
1222 | }; |
|
1222 | }; | |
1223 | meta = { |
|
1223 | meta = { | |
1224 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
1224 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
1225 | }; |
|
1225 | }; | |
1226 | }; |
|
1226 | }; | |
1227 | psutil = super.buildPythonPackage { |
|
1227 | psutil = super.buildPythonPackage { | |
1228 | name = "psutil-5.4.3"; |
|
1228 | name = "psutil-5.4.3"; | |
1229 | buildInputs = with self; []; |
|
1229 | buildInputs = with self; []; | |
1230 | doCheck = false; |
|
1230 | doCheck = false; | |
1231 | propagatedBuildInputs = with self; []; |
|
1231 | propagatedBuildInputs = with self; []; | |
1232 | src = fetchurl { |
|
1232 | src = fetchurl { | |
1233 | url = "https://pypi.python.org/packages/e2/e1/600326635f97fee89bf8426fef14c5c29f4849c79f68fd79f433d8c1bd96/psutil-5.4.3.tar.gz"; |
|
1233 | url = "https://pypi.python.org/packages/e2/e1/600326635f97fee89bf8426fef14c5c29f4849c79f68fd79f433d8c1bd96/psutil-5.4.3.tar.gz"; | |
1234 | md5 = "3b291833dbea631db9d271aa602a169a"; |
|
1234 | md5 = "3b291833dbea631db9d271aa602a169a"; | |
1235 | }; |
|
1235 | }; | |
1236 | meta = { |
|
1236 | meta = { | |
1237 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
1237 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
1238 | }; |
|
1238 | }; | |
1239 | }; |
|
1239 | }; | |
1240 | psycopg2 = super.buildPythonPackage { |
|
1240 | psycopg2 = super.buildPythonPackage { | |
1241 | name = "psycopg2-2.7.3.2"; |
|
1241 | name = "psycopg2-2.7.3.2"; | |
1242 | buildInputs = with self; []; |
|
1242 | buildInputs = with self; []; | |
1243 | doCheck = false; |
|
1243 | doCheck = false; | |
1244 | propagatedBuildInputs = with self; []; |
|
1244 | propagatedBuildInputs = with self; []; | |
1245 | src = fetchurl { |
|
1245 | src = fetchurl { | |
1246 | url = "https://pypi.python.org/packages/dd/47/000b405d73ca22980684fd7bd3318690cc03cfa3b2ae1c5b7fff8050b28a/psycopg2-2.7.3.2.tar.gz"; |
|
1246 | url = "https://pypi.python.org/packages/dd/47/000b405d73ca22980684fd7bd3318690cc03cfa3b2ae1c5b7fff8050b28a/psycopg2-2.7.3.2.tar.gz"; | |
1247 | md5 = "8114e672d5f23fa5329874a4314fbd6f"; |
|
1247 | md5 = "8114e672d5f23fa5329874a4314fbd6f"; | |
1248 | }; |
|
1248 | }; | |
1249 | meta = { |
|
1249 | meta = { | |
1250 | license = [ pkgs.lib.licenses.zpt21 { fullName = "GNU Library or Lesser General Public License (LGPL)"; } { fullName = "LGPL with exceptions or ZPL"; } ]; |
|
1250 | license = [ pkgs.lib.licenses.zpt21 { fullName = "GNU Library or Lesser General Public License (LGPL)"; } { fullName = "LGPL with exceptions or ZPL"; } ]; | |
1251 | }; |
|
1251 | }; | |
1252 | }; |
|
1252 | }; | |
1253 | ptyprocess = super.buildPythonPackage { |
|
1253 | ptyprocess = super.buildPythonPackage { | |
1254 | name = "ptyprocess-0.5.2"; |
|
1254 | name = "ptyprocess-0.5.2"; | |
1255 | buildInputs = with self; []; |
|
1255 | buildInputs = with self; []; | |
1256 | doCheck = false; |
|
1256 | doCheck = false; | |
1257 | propagatedBuildInputs = with self; []; |
|
1257 | propagatedBuildInputs = with self; []; | |
1258 | src = fetchurl { |
|
1258 | src = fetchurl { | |
1259 | url = "https://pypi.python.org/packages/51/83/5d07dc35534640b06f9d9f1a1d2bc2513fb9cc7595a1b0e28ae5477056ce/ptyprocess-0.5.2.tar.gz"; |
|
1259 | url = "https://pypi.python.org/packages/51/83/5d07dc35534640b06f9d9f1a1d2bc2513fb9cc7595a1b0e28ae5477056ce/ptyprocess-0.5.2.tar.gz"; | |
1260 | md5 = "d3b8febae1b8c53b054bd818d0bb8665"; |
|
1260 | md5 = "d3b8febae1b8c53b054bd818d0bb8665"; | |
1261 | }; |
|
1261 | }; | |
1262 | meta = { |
|
1262 | meta = { | |
1263 | license = [ ]; |
|
1263 | license = [ ]; | |
1264 | }; |
|
1264 | }; | |
1265 | }; |
|
1265 | }; | |
1266 | py = super.buildPythonPackage { |
|
1266 | py = super.buildPythonPackage { | |
1267 | name = "py-1.5.2"; |
|
1267 | name = "py-1.5.2"; | |
1268 | buildInputs = with self; []; |
|
1268 | buildInputs = with self; []; | |
1269 | doCheck = false; |
|
1269 | doCheck = false; | |
1270 | propagatedBuildInputs = with self; []; |
|
1270 | propagatedBuildInputs = with self; []; | |
1271 | src = fetchurl { |
|
1271 | src = fetchurl { | |
1272 | url = "https://pypi.python.org/packages/90/e3/e075127d39d35f09a500ebb4a90afd10f9ef0a1d28a6d09abeec0e444fdd/py-1.5.2.tar.gz"; |
|
1272 | url = "https://pypi.python.org/packages/90/e3/e075127d39d35f09a500ebb4a90afd10f9ef0a1d28a6d09abeec0e444fdd/py-1.5.2.tar.gz"; | |
1273 | md5 = "279ca69c632069e1b71e11b14641ca28"; |
|
1273 | md5 = "279ca69c632069e1b71e11b14641ca28"; | |
1274 | }; |
|
1274 | }; | |
1275 | meta = { |
|
1275 | meta = { | |
1276 | license = [ pkgs.lib.licenses.mit ]; |
|
1276 | license = [ pkgs.lib.licenses.mit ]; | |
1277 | }; |
|
1277 | }; | |
1278 | }; |
|
1278 | }; | |
1279 | py-bcrypt = super.buildPythonPackage { |
|
1279 | py-bcrypt = super.buildPythonPackage { | |
1280 | name = "py-bcrypt-0.4"; |
|
1280 | name = "py-bcrypt-0.4"; | |
1281 | buildInputs = with self; []; |
|
1281 | buildInputs = with self; []; | |
1282 | doCheck = false; |
|
1282 | doCheck = false; | |
1283 | propagatedBuildInputs = with self; []; |
|
1283 | propagatedBuildInputs = with self; []; | |
1284 | src = fetchurl { |
|
1284 | src = fetchurl { | |
1285 | url = "https://pypi.python.org/packages/68/b1/1c3068c5c4d2e35c48b38dcc865301ebfdf45f54507086ac65ced1fd3b3d/py-bcrypt-0.4.tar.gz"; |
|
1285 | url = "https://pypi.python.org/packages/68/b1/1c3068c5c4d2e35c48b38dcc865301ebfdf45f54507086ac65ced1fd3b3d/py-bcrypt-0.4.tar.gz"; | |
1286 | md5 = "dd8b367d6b716a2ea2e72392525f4e36"; |
|
1286 | md5 = "dd8b367d6b716a2ea2e72392525f4e36"; | |
1287 | }; |
|
1287 | }; | |
1288 | meta = { |
|
1288 | meta = { | |
1289 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
1289 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
1290 | }; |
|
1290 | }; | |
1291 | }; |
|
1291 | }; | |
1292 | py-gfm = super.buildPythonPackage { |
|
1292 | py-gfm = super.buildPythonPackage { | |
1293 | name = "py-gfm-0.1.3"; |
|
1293 | name = "py-gfm-0.1.3"; | |
1294 | buildInputs = with self; []; |
|
1294 | buildInputs = with self; []; | |
1295 | doCheck = false; |
|
1295 | doCheck = false; | |
1296 | propagatedBuildInputs = with self; [setuptools Markdown]; |
|
1296 | propagatedBuildInputs = with self; [setuptools Markdown]; | |
1297 | src = fetchurl { |
|
1297 | src = fetchurl { | |
1298 | url = "https://pypi.python.org/packages/12/e4/6b3d8678da04f97d7490d8264d8de51c2dc9fb91209ccee9c515c95e14c5/py-gfm-0.1.3.tar.gz"; |
|
1298 | url = "https://pypi.python.org/packages/12/e4/6b3d8678da04f97d7490d8264d8de51c2dc9fb91209ccee9c515c95e14c5/py-gfm-0.1.3.tar.gz"; | |
1299 | md5 = "e588d9e69640a241b97e2c59c22527a6"; |
|
1299 | md5 = "e588d9e69640a241b97e2c59c22527a6"; | |
1300 | }; |
|
1300 | }; | |
1301 | meta = { |
|
1301 | meta = { | |
1302 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
1302 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
1303 | }; |
|
1303 | }; | |
1304 | }; |
|
1304 | }; | |
1305 | pycrypto = super.buildPythonPackage { |
|
1305 | pycrypto = super.buildPythonPackage { | |
1306 | name = "pycrypto-2.6.1"; |
|
1306 | name = "pycrypto-2.6.1"; | |
1307 | buildInputs = with self; []; |
|
1307 | buildInputs = with self; []; | |
1308 | doCheck = false; |
|
1308 | doCheck = false; | |
1309 | propagatedBuildInputs = with self; []; |
|
1309 | propagatedBuildInputs = with self; []; | |
1310 | src = fetchurl { |
|
1310 | src = fetchurl { | |
1311 | url = "https://pypi.python.org/packages/60/db/645aa9af249f059cc3a368b118de33889219e0362141e75d4eaf6f80f163/pycrypto-2.6.1.tar.gz"; |
|
1311 | url = "https://pypi.python.org/packages/60/db/645aa9af249f059cc3a368b118de33889219e0362141e75d4eaf6f80f163/pycrypto-2.6.1.tar.gz"; | |
1312 | md5 = "55a61a054aa66812daf5161a0d5d7eda"; |
|
1312 | md5 = "55a61a054aa66812daf5161a0d5d7eda"; | |
1313 | }; |
|
1313 | }; | |
1314 | meta = { |
|
1314 | meta = { | |
1315 | license = [ pkgs.lib.licenses.publicDomain ]; |
|
1315 | license = [ pkgs.lib.licenses.publicDomain ]; | |
1316 | }; |
|
1316 | }; | |
1317 | }; |
|
1317 | }; | |
1318 | pycurl = super.buildPythonPackage { |
|
1318 | pycurl = super.buildPythonPackage { | |
1319 | name = "pycurl-7.19.5"; |
|
1319 | name = "pycurl-7.19.5"; | |
1320 | buildInputs = with self; []; |
|
1320 | buildInputs = with self; []; | |
1321 | doCheck = false; |
|
1321 | doCheck = false; | |
1322 | propagatedBuildInputs = with self; []; |
|
1322 | propagatedBuildInputs = with self; []; | |
1323 | src = fetchurl { |
|
1323 | src = fetchurl { | |
1324 | url = "https://pypi.python.org/packages/6c/48/13bad289ef6f4869b1d8fc11ae54de8cfb3cc4a2eb9f7419c506f763be46/pycurl-7.19.5.tar.gz"; |
|
1324 | url = "https://pypi.python.org/packages/6c/48/13bad289ef6f4869b1d8fc11ae54de8cfb3cc4a2eb9f7419c506f763be46/pycurl-7.19.5.tar.gz"; | |
1325 | md5 = "47b4eac84118e2606658122104e62072"; |
|
1325 | md5 = "47b4eac84118e2606658122104e62072"; | |
1326 | }; |
|
1326 | }; | |
1327 | meta = { |
|
1327 | meta = { | |
1328 | license = [ pkgs.lib.licenses.mit { fullName = "LGPL/MIT"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ]; |
|
1328 | license = [ pkgs.lib.licenses.mit { fullName = "LGPL/MIT"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ]; | |
1329 | }; |
|
1329 | }; | |
1330 | }; |
|
1330 | }; | |
1331 | pyflakes = super.buildPythonPackage { |
|
1331 | pyflakes = super.buildPythonPackage { | |
1332 | name = "pyflakes-0.8.1"; |
|
1332 | name = "pyflakes-0.8.1"; | |
1333 | buildInputs = with self; []; |
|
1333 | buildInputs = with self; []; | |
1334 | doCheck = false; |
|
1334 | doCheck = false; | |
1335 | propagatedBuildInputs = with self; []; |
|
1335 | propagatedBuildInputs = with self; []; | |
1336 | src = fetchurl { |
|
1336 | src = fetchurl { | |
1337 | url = "https://pypi.python.org/packages/75/22/a90ec0252f4f87f3ffb6336504de71fe16a49d69c4538dae2f12b9360a38/pyflakes-0.8.1.tar.gz"; |
|
1337 | url = "https://pypi.python.org/packages/75/22/a90ec0252f4f87f3ffb6336504de71fe16a49d69c4538dae2f12b9360a38/pyflakes-0.8.1.tar.gz"; | |
1338 | md5 = "905fe91ad14b912807e8fdc2ac2e2c23"; |
|
1338 | md5 = "905fe91ad14b912807e8fdc2ac2e2c23"; | |
1339 | }; |
|
1339 | }; | |
1340 | meta = { |
|
1340 | meta = { | |
1341 | license = [ pkgs.lib.licenses.mit ]; |
|
1341 | license = [ pkgs.lib.licenses.mit ]; | |
1342 | }; |
|
1342 | }; | |
1343 | }; |
|
1343 | }; | |
1344 | pygments-markdown-lexer = super.buildPythonPackage { |
|
1344 | pygments-markdown-lexer = super.buildPythonPackage { | |
1345 | name = "pygments-markdown-lexer-0.1.0.dev39"; |
|
1345 | name = "pygments-markdown-lexer-0.1.0.dev39"; | |
1346 | buildInputs = with self; []; |
|
1346 | buildInputs = with self; []; | |
1347 | doCheck = false; |
|
1347 | doCheck = false; | |
1348 | propagatedBuildInputs = with self; [Pygments]; |
|
1348 | propagatedBuildInputs = with self; [Pygments]; | |
1349 | src = fetchurl { |
|
1349 | src = fetchurl { | |
1350 | url = "https://pypi.python.org/packages/c3/12/674cdee66635d638cedb2c5d9c85ce507b7b2f91bdba29e482f1b1160ff6/pygments-markdown-lexer-0.1.0.dev39.zip"; |
|
1350 | url = "https://pypi.python.org/packages/c3/12/674cdee66635d638cedb2c5d9c85ce507b7b2f91bdba29e482f1b1160ff6/pygments-markdown-lexer-0.1.0.dev39.zip"; | |
1351 | md5 = "6360fe0f6d1f896e35b7a0142ce6459c"; |
|
1351 | md5 = "6360fe0f6d1f896e35b7a0142ce6459c"; | |
1352 | }; |
|
1352 | }; | |
1353 | meta = { |
|
1353 | meta = { | |
1354 | license = [ pkgs.lib.licenses.asl20 ]; |
|
1354 | license = [ pkgs.lib.licenses.asl20 ]; | |
1355 | }; |
|
1355 | }; | |
1356 | }; |
|
1356 | }; | |
1357 | pyparsing = super.buildPythonPackage { |
|
1357 | pyparsing = super.buildPythonPackage { | |
1358 | name = "pyparsing-1.5.7"; |
|
1358 | name = "pyparsing-1.5.7"; | |
1359 | buildInputs = with self; []; |
|
1359 | buildInputs = with self; []; | |
1360 | doCheck = false; |
|
1360 | doCheck = false; | |
1361 | propagatedBuildInputs = with self; []; |
|
1361 | propagatedBuildInputs = with self; []; | |
1362 | src = fetchurl { |
|
1362 | src = fetchurl { | |
1363 | url = "https://pypi.python.org/packages/6f/2c/47457771c02a8ff0f302b695e094ec309e30452232bd79198ee94fda689f/pyparsing-1.5.7.tar.gz"; |
|
1363 | url = "https://pypi.python.org/packages/6f/2c/47457771c02a8ff0f302b695e094ec309e30452232bd79198ee94fda689f/pyparsing-1.5.7.tar.gz"; | |
1364 | md5 = "9be0fcdcc595199c646ab317c1d9a709"; |
|
1364 | md5 = "9be0fcdcc595199c646ab317c1d9a709"; | |
1365 | }; |
|
1365 | }; | |
1366 | meta = { |
|
1366 | meta = { | |
1367 | license = [ pkgs.lib.licenses.mit ]; |
|
1367 | license = [ pkgs.lib.licenses.mit ]; | |
1368 | }; |
|
1368 | }; | |
1369 | }; |
|
1369 | }; | |
1370 | pyramid = super.buildPythonPackage { |
|
1370 | pyramid = super.buildPythonPackage { | |
1371 | name = "pyramid-1.9.1"; |
|
1371 | name = "pyramid-1.9.1"; | |
1372 | buildInputs = with self; []; |
|
1372 | buildInputs = with self; []; | |
1373 | doCheck = false; |
|
1373 | doCheck = false; | |
1374 | propagatedBuildInputs = with self; [setuptools WebOb repoze.lru zope.interface zope.deprecation venusian translationstring PasteDeploy plaster plaster-pastedeploy hupper]; |
|
1374 | propagatedBuildInputs = with self; [setuptools WebOb repoze.lru zope.interface zope.deprecation venusian translationstring PasteDeploy plaster plaster-pastedeploy hupper]; | |
1375 | src = fetchurl { |
|
1375 | src = fetchurl { | |
1376 | url = "https://pypi.python.org/packages/9a/57/73447be9e7d0512d601e3f0a1fb9d7d1efb941911f49efdfe036d2826507/pyramid-1.9.1.tar.gz"; |
|
1376 | url = "https://pypi.python.org/packages/9a/57/73447be9e7d0512d601e3f0a1fb9d7d1efb941911f49efdfe036d2826507/pyramid-1.9.1.tar.gz"; | |
1377 | md5 = "0163e19c58c2d12976a3b6fdb57e052d"; |
|
1377 | md5 = "0163e19c58c2d12976a3b6fdb57e052d"; | |
1378 | }; |
|
1378 | }; | |
1379 | meta = { |
|
1379 | meta = { | |
1380 | license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; |
|
1380 | license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; | |
1381 | }; |
|
1381 | }; | |
1382 | }; |
|
1382 | }; | |
1383 | pyramid-beaker = super.buildPythonPackage { |
|
1383 | pyramid-beaker = super.buildPythonPackage { | |
1384 | name = "pyramid-beaker-0.8"; |
|
1384 | name = "pyramid-beaker-0.8"; | |
1385 | buildInputs = with self; []; |
|
1385 | buildInputs = with self; []; | |
1386 | doCheck = false; |
|
1386 | doCheck = false; | |
1387 | propagatedBuildInputs = with self; [pyramid Beaker]; |
|
1387 | propagatedBuildInputs = with self; [pyramid Beaker]; | |
1388 | src = fetchurl { |
|
1388 | src = fetchurl { | |
1389 | url = "https://pypi.python.org/packages/d9/6e/b85426e00fd3d57f4545f74e1c3828552d8700f13ededeef9233f7bca8be/pyramid_beaker-0.8.tar.gz"; |
|
1389 | url = "https://pypi.python.org/packages/d9/6e/b85426e00fd3d57f4545f74e1c3828552d8700f13ededeef9233f7bca8be/pyramid_beaker-0.8.tar.gz"; | |
1390 | md5 = "22f14be31b06549f80890e2c63a93834"; |
|
1390 | md5 = "22f14be31b06549f80890e2c63a93834"; | |
1391 | }; |
|
1391 | }; | |
1392 | meta = { |
|
1392 | meta = { | |
1393 | license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; |
|
1393 | license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; | |
1394 | }; |
|
1394 | }; | |
1395 | }; |
|
1395 | }; | |
1396 | pyramid-debugtoolbar = super.buildPythonPackage { |
|
1396 | pyramid-debugtoolbar = super.buildPythonPackage { | |
1397 | name = "pyramid-debugtoolbar-4.3"; |
|
1397 | name = "pyramid-debugtoolbar-4.3"; | |
1398 | buildInputs = with self; []; |
|
1398 | buildInputs = with self; []; | |
1399 | doCheck = false; |
|
1399 | doCheck = false; | |
1400 | propagatedBuildInputs = with self; [pyramid pyramid-mako repoze.lru Pygments ipaddress]; |
|
1400 | propagatedBuildInputs = with self; [pyramid pyramid-mako repoze.lru Pygments ipaddress]; | |
1401 | src = fetchurl { |
|
1401 | src = fetchurl { | |
1402 | url = "https://pypi.python.org/packages/a4/40/f09d8800bfc3c09bdb6c95f37bb61c890dc62c19c4e7caa304da7aa77403/pyramid_debugtoolbar-4.3.tar.gz"; |
|
1402 | url = "https://pypi.python.org/packages/a4/40/f09d8800bfc3c09bdb6c95f37bb61c890dc62c19c4e7caa304da7aa77403/pyramid_debugtoolbar-4.3.tar.gz"; | |
1403 | md5 = "9c49029e9f0695130499ef6416ffaaf8"; |
|
1403 | md5 = "9c49029e9f0695130499ef6416ffaaf8"; | |
1404 | }; |
|
1404 | }; | |
1405 | meta = { |
|
1405 | meta = { | |
1406 | license = [ { fullName = "Repoze Public License"; } pkgs.lib.licenses.bsdOriginal ]; |
|
1406 | license = [ { fullName = "Repoze Public License"; } pkgs.lib.licenses.bsdOriginal ]; | |
1407 | }; |
|
1407 | }; | |
1408 | }; |
|
1408 | }; | |
1409 | pyramid-jinja2 = super.buildPythonPackage { |
|
1409 | pyramid-jinja2 = super.buildPythonPackage { | |
1410 | name = "pyramid-jinja2-2.7"; |
|
1410 | name = "pyramid-jinja2-2.7"; | |
1411 | buildInputs = with self; []; |
|
1411 | buildInputs = with self; []; | |
1412 | doCheck = false; |
|
1412 | doCheck = false; | |
1413 | propagatedBuildInputs = with self; [pyramid zope.deprecation Jinja2 MarkupSafe]; |
|
1413 | propagatedBuildInputs = with self; [pyramid zope.deprecation Jinja2 MarkupSafe]; | |
1414 | src = fetchurl { |
|
1414 | src = fetchurl { | |
1415 | url = "https://pypi.python.org/packages/d8/80/d60a7233823de22ce77bd864a8a83736a1fe8b49884b08303a2e68b2c853/pyramid_jinja2-2.7.tar.gz"; |
|
1415 | url = "https://pypi.python.org/packages/d8/80/d60a7233823de22ce77bd864a8a83736a1fe8b49884b08303a2e68b2c853/pyramid_jinja2-2.7.tar.gz"; | |
1416 | md5 = "c2f8b2cd7b73a6f1d9a311fcfaf4fb92"; |
|
1416 | md5 = "c2f8b2cd7b73a6f1d9a311fcfaf4fb92"; | |
1417 | }; |
|
1417 | }; | |
1418 | meta = { |
|
1418 | meta = { | |
1419 | license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; |
|
1419 | license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; | |
1420 | }; |
|
1420 | }; | |
1421 | }; |
|
1421 | }; | |
1422 | pyramid-mako = super.buildPythonPackage { |
|
1422 | pyramid-mako = super.buildPythonPackage { | |
1423 | name = "pyramid-mako-1.0.2"; |
|
1423 | name = "pyramid-mako-1.0.2"; | |
1424 | buildInputs = with self; []; |
|
1424 | buildInputs = with self; []; | |
1425 | doCheck = false; |
|
1425 | doCheck = false; | |
1426 | propagatedBuildInputs = with self; [pyramid Mako]; |
|
1426 | propagatedBuildInputs = with self; [pyramid Mako]; | |
1427 | src = fetchurl { |
|
1427 | src = fetchurl { | |
1428 | url = "https://pypi.python.org/packages/f1/92/7e69bcf09676d286a71cb3bbb887b16595b96f9ba7adbdc239ffdd4b1eb9/pyramid_mako-1.0.2.tar.gz"; |
|
1428 | url = "https://pypi.python.org/packages/f1/92/7e69bcf09676d286a71cb3bbb887b16595b96f9ba7adbdc239ffdd4b1eb9/pyramid_mako-1.0.2.tar.gz"; | |
1429 | md5 = "ee25343a97eb76bd90abdc2a774eb48a"; |
|
1429 | md5 = "ee25343a97eb76bd90abdc2a774eb48a"; | |
1430 | }; |
|
1430 | }; | |
1431 | meta = { |
|
1431 | meta = { | |
1432 | license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; |
|
1432 | license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; | |
1433 | }; |
|
1433 | }; | |
1434 | }; |
|
1434 | }; | |
1435 | pysqlite = super.buildPythonPackage { |
|
1435 | pysqlite = super.buildPythonPackage { | |
1436 | name = "pysqlite-2.8.3"; |
|
1436 | name = "pysqlite-2.8.3"; | |
1437 | buildInputs = with self; []; |
|
1437 | buildInputs = with self; []; | |
1438 | doCheck = false; |
|
1438 | doCheck = false; | |
1439 | propagatedBuildInputs = with self; []; |
|
1439 | propagatedBuildInputs = with self; []; | |
1440 | src = fetchurl { |
|
1440 | src = fetchurl { | |
1441 | url = "https://pypi.python.org/packages/42/02/981b6703e3c83c5b25a829c6e77aad059f9481b0bbacb47e6e8ca12bd731/pysqlite-2.8.3.tar.gz"; |
|
1441 | url = "https://pypi.python.org/packages/42/02/981b6703e3c83c5b25a829c6e77aad059f9481b0bbacb47e6e8ca12bd731/pysqlite-2.8.3.tar.gz"; | |
1442 | md5 = "033f17b8644577715aee55e8832ac9fc"; |
|
1442 | md5 = "033f17b8644577715aee55e8832ac9fc"; | |
1443 | }; |
|
1443 | }; | |
1444 | meta = { |
|
1444 | meta = { | |
1445 | license = [ { fullName = "zlib/libpng License"; } { fullName = "zlib/libpng license"; } ]; |
|
1445 | license = [ { fullName = "zlib/libpng License"; } { fullName = "zlib/libpng license"; } ]; | |
1446 | }; |
|
1446 | }; | |
1447 | }; |
|
1447 | }; | |
1448 | pytest = super.buildPythonPackage { |
|
1448 | pytest = super.buildPythonPackage { | |
1449 | name = "pytest-3.2.5"; |
|
1449 | name = "pytest-3.2.5"; | |
1450 | buildInputs = with self; []; |
|
1450 | buildInputs = with self; []; | |
1451 | doCheck = false; |
|
1451 | doCheck = false; | |
1452 | propagatedBuildInputs = with self; [py setuptools]; |
|
1452 | propagatedBuildInputs = with self; [py setuptools]; | |
1453 | src = fetchurl { |
|
1453 | src = fetchurl { | |
1454 | url = "https://pypi.python.org/packages/1f/f8/8cd74c16952163ce0db0bd95fdd8810cbf093c08be00e6e665ebf0dc3138/pytest-3.2.5.tar.gz"; |
|
1454 | url = "https://pypi.python.org/packages/1f/f8/8cd74c16952163ce0db0bd95fdd8810cbf093c08be00e6e665ebf0dc3138/pytest-3.2.5.tar.gz"; | |
1455 | md5 = "6dbe9bb093883f75394a689a1426ac6f"; |
|
1455 | md5 = "6dbe9bb093883f75394a689a1426ac6f"; | |
1456 | }; |
|
1456 | }; | |
1457 | meta = { |
|
1457 | meta = { | |
1458 | license = [ pkgs.lib.licenses.mit ]; |
|
1458 | license = [ pkgs.lib.licenses.mit ]; | |
1459 | }; |
|
1459 | }; | |
1460 | }; |
|
1460 | }; | |
1461 | pytest-catchlog = super.buildPythonPackage { |
|
1461 | pytest-catchlog = super.buildPythonPackage { | |
1462 | name = "pytest-catchlog-1.2.2"; |
|
1462 | name = "pytest-catchlog-1.2.2"; | |
1463 | buildInputs = with self; []; |
|
1463 | buildInputs = with self; []; | |
1464 | doCheck = false; |
|
1464 | doCheck = false; | |
1465 | propagatedBuildInputs = with self; [py pytest]; |
|
1465 | propagatedBuildInputs = with self; [py pytest]; | |
1466 | src = fetchurl { |
|
1466 | src = fetchurl { | |
1467 | url = "https://pypi.python.org/packages/f2/2b/2faccdb1a978fab9dd0bf31cca9f6847fbe9184a0bdcc3011ac41dd44191/pytest-catchlog-1.2.2.zip"; |
|
1467 | url = "https://pypi.python.org/packages/f2/2b/2faccdb1a978fab9dd0bf31cca9f6847fbe9184a0bdcc3011ac41dd44191/pytest-catchlog-1.2.2.zip"; | |
1468 | md5 = "09d890c54c7456c818102b7ff8c182c8"; |
|
1468 | md5 = "09d890c54c7456c818102b7ff8c182c8"; | |
1469 | }; |
|
1469 | }; | |
1470 | meta = { |
|
1470 | meta = { | |
1471 | license = [ pkgs.lib.licenses.mit ]; |
|
1471 | license = [ pkgs.lib.licenses.mit ]; | |
1472 | }; |
|
1472 | }; | |
1473 | }; |
|
1473 | }; | |
1474 | pytest-cov = super.buildPythonPackage { |
|
1474 | pytest-cov = super.buildPythonPackage { | |
1475 | name = "pytest-cov-2.5.1"; |
|
1475 | name = "pytest-cov-2.5.1"; | |
1476 | buildInputs = with self; []; |
|
1476 | buildInputs = with self; []; | |
1477 | doCheck = false; |
|
1477 | doCheck = false; | |
1478 | propagatedBuildInputs = with self; [pytest coverage]; |
|
1478 | propagatedBuildInputs = with self; [pytest coverage]; | |
1479 | src = fetchurl { |
|
1479 | src = fetchurl { | |
1480 | url = "https://pypi.python.org/packages/24/b4/7290d65b2f3633db51393bdf8ae66309b37620bc3ec116c5e357e3e37238/pytest-cov-2.5.1.tar.gz"; |
|
1480 | url = "https://pypi.python.org/packages/24/b4/7290d65b2f3633db51393bdf8ae66309b37620bc3ec116c5e357e3e37238/pytest-cov-2.5.1.tar.gz"; | |
1481 | md5 = "5acf38d4909e19819eb5c1754fbfc0ac"; |
|
1481 | md5 = "5acf38d4909e19819eb5c1754fbfc0ac"; | |
1482 | }; |
|
1482 | }; | |
1483 | meta = { |
|
1483 | meta = { | |
1484 | license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.mit ]; |
|
1484 | license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.mit ]; | |
1485 | }; |
|
1485 | }; | |
1486 | }; |
|
1486 | }; | |
1487 | pytest-profiling = super.buildPythonPackage { |
|
1487 | pytest-profiling = super.buildPythonPackage { | |
1488 | name = "pytest-profiling-1.2.11"; |
|
1488 | name = "pytest-profiling-1.2.11"; | |
1489 | buildInputs = with self; []; |
|
1489 | buildInputs = with self; []; | |
1490 | doCheck = false; |
|
1490 | doCheck = false; | |
1491 | propagatedBuildInputs = with self; [six pytest gprof2dot]; |
|
1491 | propagatedBuildInputs = with self; [six pytest gprof2dot]; | |
1492 | src = fetchurl { |
|
1492 | src = fetchurl { | |
1493 | url = "https://pypi.python.org/packages/c0/4a/b4aa786e93c07a86f1f87c581a36bf355a9e06a9da7e00dbd05047626bd2/pytest-profiling-1.2.11.tar.gz"; |
|
1493 | url = "https://pypi.python.org/packages/c0/4a/b4aa786e93c07a86f1f87c581a36bf355a9e06a9da7e00dbd05047626bd2/pytest-profiling-1.2.11.tar.gz"; | |
1494 | md5 = "9ef6b60248731be5d44477980408e8f7"; |
|
1494 | md5 = "9ef6b60248731be5d44477980408e8f7"; | |
1495 | }; |
|
1495 | }; | |
1496 | meta = { |
|
1496 | meta = { | |
1497 | license = [ pkgs.lib.licenses.mit ]; |
|
1497 | license = [ pkgs.lib.licenses.mit ]; | |
1498 | }; |
|
1498 | }; | |
1499 | }; |
|
1499 | }; | |
1500 | pytest-runner = super.buildPythonPackage { |
|
1500 | pytest-runner = super.buildPythonPackage { | |
1501 | name = "pytest-runner-3.0"; |
|
1501 | name = "pytest-runner-3.0"; | |
1502 | buildInputs = with self; []; |
|
1502 | buildInputs = with self; []; | |
1503 | doCheck = false; |
|
1503 | doCheck = false; | |
1504 | propagatedBuildInputs = with self; []; |
|
1504 | propagatedBuildInputs = with self; []; | |
1505 | src = fetchurl { |
|
1505 | src = fetchurl { | |
1506 | url = "https://pypi.python.org/packages/65/b4/ae89338cd2d81e2cc54bd6db2e962bfe948f612303610d68ab24539ac2d1/pytest-runner-3.0.tar.gz"; |
|
1506 | url = "https://pypi.python.org/packages/65/b4/ae89338cd2d81e2cc54bd6db2e962bfe948f612303610d68ab24539ac2d1/pytest-runner-3.0.tar.gz"; | |
1507 | md5 = "8f8363a52bbabc4cedd5e239beb2ba11"; |
|
1507 | md5 = "8f8363a52bbabc4cedd5e239beb2ba11"; | |
1508 | }; |
|
1508 | }; | |
1509 | meta = { |
|
1509 | meta = { | |
1510 | license = [ pkgs.lib.licenses.mit ]; |
|
1510 | license = [ pkgs.lib.licenses.mit ]; | |
1511 | }; |
|
1511 | }; | |
1512 | }; |
|
1512 | }; | |
1513 | pytest-sugar = super.buildPythonPackage { |
|
1513 | pytest-sugar = super.buildPythonPackage { | |
1514 | name = "pytest-sugar-0.9.0"; |
|
1514 | name = "pytest-sugar-0.9.0"; | |
1515 | buildInputs = with self; []; |
|
1515 | buildInputs = with self; []; | |
1516 | doCheck = false; |
|
1516 | doCheck = false; | |
1517 | propagatedBuildInputs = with self; [pytest termcolor]; |
|
1517 | propagatedBuildInputs = with self; [pytest termcolor]; | |
1518 | src = fetchurl { |
|
1518 | src = fetchurl { | |
1519 | url = "https://pypi.python.org/packages/49/d8/c5ff6cca3ce2ebd8b73eec89779bf6b4a7737456a70e8ea4d44c1ff90f71/pytest-sugar-0.9.0.tar.gz"; |
|
1519 | url = "https://pypi.python.org/packages/49/d8/c5ff6cca3ce2ebd8b73eec89779bf6b4a7737456a70e8ea4d44c1ff90f71/pytest-sugar-0.9.0.tar.gz"; | |
1520 | md5 = "89fbff17277fa6a95a560a04b68cb9f9"; |
|
1520 | md5 = "89fbff17277fa6a95a560a04b68cb9f9"; | |
1521 | }; |
|
1521 | }; | |
1522 | meta = { |
|
1522 | meta = { | |
1523 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
1523 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
1524 | }; |
|
1524 | }; | |
1525 | }; |
|
1525 | }; | |
1526 | pytest-timeout = super.buildPythonPackage { |
|
1526 | pytest-timeout = super.buildPythonPackage { | |
1527 | name = "pytest-timeout-1.2.0"; |
|
1527 | name = "pytest-timeout-1.2.0"; | |
1528 | buildInputs = with self; []; |
|
1528 | buildInputs = with self; []; | |
1529 | doCheck = false; |
|
1529 | doCheck = false; | |
1530 | propagatedBuildInputs = with self; [pytest]; |
|
1530 | propagatedBuildInputs = with self; [pytest]; | |
1531 | src = fetchurl { |
|
1531 | src = fetchurl { | |
1532 | url = "https://pypi.python.org/packages/cc/b7/b2a61365ea6b6d2e8881360ae7ed8dad0327ad2df89f2f0be4a02304deb2/pytest-timeout-1.2.0.tar.gz"; |
|
1532 | url = "https://pypi.python.org/packages/cc/b7/b2a61365ea6b6d2e8881360ae7ed8dad0327ad2df89f2f0be4a02304deb2/pytest-timeout-1.2.0.tar.gz"; | |
1533 | md5 = "83607d91aa163562c7ee835da57d061d"; |
|
1533 | md5 = "83607d91aa163562c7ee835da57d061d"; | |
1534 | }; |
|
1534 | }; | |
1535 | meta = { |
|
1535 | meta = { | |
1536 | license = [ pkgs.lib.licenses.mit { fullName = "DFSG approved"; } ]; |
|
1536 | license = [ pkgs.lib.licenses.mit { fullName = "DFSG approved"; } ]; | |
1537 | }; |
|
1537 | }; | |
1538 | }; |
|
1538 | }; | |
1539 | python-dateutil = super.buildPythonPackage { |
|
1539 | python-dateutil = super.buildPythonPackage { | |
1540 | name = "python-dateutil-2.6.1"; |
|
1540 | name = "python-dateutil-2.6.1"; | |
1541 | buildInputs = with self; []; |
|
1541 | buildInputs = with self; []; | |
1542 | doCheck = false; |
|
1542 | doCheck = false; | |
1543 | propagatedBuildInputs = with self; [six]; |
|
1543 | propagatedBuildInputs = with self; [six]; | |
1544 | src = fetchurl { |
|
1544 | src = fetchurl { | |
1545 | url = "https://pypi.python.org/packages/54/bb/f1db86504f7a49e1d9b9301531181b00a1c7325dc85a29160ee3eaa73a54/python-dateutil-2.6.1.tar.gz"; |
|
1545 | url = "https://pypi.python.org/packages/54/bb/f1db86504f7a49e1d9b9301531181b00a1c7325dc85a29160ee3eaa73a54/python-dateutil-2.6.1.tar.gz"; | |
1546 | md5 = "db38f6b4511cefd76014745bb0cc45a4"; |
|
1546 | md5 = "db38f6b4511cefd76014745bb0cc45a4"; | |
1547 | }; |
|
1547 | }; | |
1548 | meta = { |
|
1548 | meta = { | |
1549 | license = [ pkgs.lib.licenses.bsdOriginal { fullName = "Simplified BSD"; } ]; |
|
1549 | license = [ pkgs.lib.licenses.bsdOriginal { fullName = "Simplified BSD"; } ]; | |
1550 | }; |
|
1550 | }; | |
1551 | }; |
|
1551 | }; | |
1552 | python-editor = super.buildPythonPackage { |
|
1552 | python-editor = super.buildPythonPackage { | |
1553 | name = "python-editor-1.0.3"; |
|
1553 | name = "python-editor-1.0.3"; | |
1554 | buildInputs = with self; []; |
|
1554 | buildInputs = with self; []; | |
1555 | doCheck = false; |
|
1555 | doCheck = false; | |
1556 | propagatedBuildInputs = with self; []; |
|
1556 | propagatedBuildInputs = with self; []; | |
1557 | src = fetchurl { |
|
1557 | src = fetchurl { | |
1558 | url = "https://pypi.python.org/packages/65/1e/adf6e000ea5dc909aa420352d6ba37f16434c8a3c2fa030445411a1ed545/python-editor-1.0.3.tar.gz"; |
|
1558 | url = "https://pypi.python.org/packages/65/1e/adf6e000ea5dc909aa420352d6ba37f16434c8a3c2fa030445411a1ed545/python-editor-1.0.3.tar.gz"; | |
1559 | md5 = "0aca5f2ef176ce68e98a5b7e31372835"; |
|
1559 | md5 = "0aca5f2ef176ce68e98a5b7e31372835"; | |
1560 | }; |
|
1560 | }; | |
1561 | meta = { |
|
1561 | meta = { | |
1562 | license = [ pkgs.lib.licenses.asl20 { fullName = "Apache"; } ]; |
|
1562 | license = [ pkgs.lib.licenses.asl20 { fullName = "Apache"; } ]; | |
1563 | }; |
|
1563 | }; | |
1564 | }; |
|
1564 | }; | |
1565 | python-ldap = super.buildPythonPackage { |
|
1565 | python-ldap = super.buildPythonPackage { | |
1566 | name = "python-ldap-2.4.45"; |
|
1566 | name = "python-ldap-2.4.45"; | |
1567 | buildInputs = with self; []; |
|
1567 | buildInputs = with self; []; | |
1568 | doCheck = false; |
|
1568 | doCheck = false; | |
1569 | propagatedBuildInputs = with self; [setuptools]; |
|
1569 | propagatedBuildInputs = with self; [setuptools]; | |
1570 | src = fetchurl { |
|
1570 | src = fetchurl { | |
1571 | url = "https://pypi.python.org/packages/ce/52/6b5372d0166820f4a4b0a88ed73dc7504219355049fc1d266d8ccdb7942e/python-ldap-2.4.45.tar.gz"; |
|
1571 | url = "https://pypi.python.org/packages/ce/52/6b5372d0166820f4a4b0a88ed73dc7504219355049fc1d266d8ccdb7942e/python-ldap-2.4.45.tar.gz"; | |
1572 | md5 = "6108e189a44eea8bc7d1cc281c222978"; |
|
1572 | md5 = "6108e189a44eea8bc7d1cc281c222978"; | |
1573 | }; |
|
1573 | }; | |
1574 | meta = { |
|
1574 | meta = { | |
1575 | license = [ pkgs.lib.licenses.psfl ]; |
|
1575 | license = [ pkgs.lib.licenses.psfl ]; | |
1576 | }; |
|
1576 | }; | |
1577 | }; |
|
1577 | }; | |
1578 | python-memcached = super.buildPythonPackage { |
|
1578 | python-memcached = super.buildPythonPackage { | |
1579 | name = "python-memcached-1.58"; |
|
1579 | name = "python-memcached-1.58"; | |
1580 | buildInputs = with self; []; |
|
1580 | buildInputs = with self; []; | |
1581 | doCheck = false; |
|
1581 | doCheck = false; | |
1582 | propagatedBuildInputs = with self; [six]; |
|
1582 | propagatedBuildInputs = with self; [six]; | |
1583 | src = fetchurl { |
|
1583 | src = fetchurl { | |
1584 | url = "https://pypi.python.org/packages/f7/62/14b2448cfb04427366f24104c9da97cf8ea380d7258a3233f066a951a8d8/python-memcached-1.58.tar.gz"; |
|
1584 | url = "https://pypi.python.org/packages/f7/62/14b2448cfb04427366f24104c9da97cf8ea380d7258a3233f066a951a8d8/python-memcached-1.58.tar.gz"; | |
1585 | md5 = "23b258105013d14d899828d334e6b044"; |
|
1585 | md5 = "23b258105013d14d899828d334e6b044"; | |
1586 | }; |
|
1586 | }; | |
1587 | meta = { |
|
1587 | meta = { | |
1588 | license = [ pkgs.lib.licenses.psfl ]; |
|
1588 | license = [ pkgs.lib.licenses.psfl ]; | |
1589 | }; |
|
1589 | }; | |
1590 | }; |
|
1590 | }; | |
1591 | python-pam = super.buildPythonPackage { |
|
1591 | python-pam = super.buildPythonPackage { | |
1592 | name = "python-pam-1.8.2"; |
|
1592 | name = "python-pam-1.8.2"; | |
1593 | buildInputs = with self; []; |
|
1593 | buildInputs = with self; []; | |
1594 | doCheck = false; |
|
1594 | doCheck = false; | |
1595 | propagatedBuildInputs = with self; []; |
|
1595 | propagatedBuildInputs = with self; []; | |
1596 | src = fetchurl { |
|
1596 | src = fetchurl { | |
1597 | url = "https://pypi.python.org/packages/de/8c/f8f5d38b4f26893af267ea0b39023d4951705ab0413a39e0cf7cf4900505/python-pam-1.8.2.tar.gz"; |
|
1597 | url = "https://pypi.python.org/packages/de/8c/f8f5d38b4f26893af267ea0b39023d4951705ab0413a39e0cf7cf4900505/python-pam-1.8.2.tar.gz"; | |
1598 | md5 = "db71b6b999246fb05d78ecfbe166629d"; |
|
1598 | md5 = "db71b6b999246fb05d78ecfbe166629d"; | |
1599 | }; |
|
1599 | }; | |
1600 | meta = { |
|
1600 | meta = { | |
1601 | license = [ { fullName = "License :: OSI Approved :: MIT License"; } pkgs.lib.licenses.mit ]; |
|
1601 | license = [ { fullName = "License :: OSI Approved :: MIT License"; } pkgs.lib.licenses.mit ]; | |
1602 | }; |
|
1602 | }; | |
1603 | }; |
|
1603 | }; | |
1604 | pytz = super.buildPythonPackage { |
|
1604 | pytz = super.buildPythonPackage { | |
1605 | name = "pytz-2018.3"; |
|
1605 | name = "pytz-2018.3"; | |
1606 | buildInputs = with self; []; |
|
1606 | buildInputs = with self; []; | |
1607 | doCheck = false; |
|
1607 | doCheck = false; | |
1608 | propagatedBuildInputs = with self; []; |
|
1608 | propagatedBuildInputs = with self; []; | |
1609 | src = fetchurl { |
|
1609 | src = fetchurl { | |
1610 | url = "https://pypi.python.org/packages/1b/50/4cdc62fc0753595fc16c8f722a89740f487c6e5670c644eb8983946777be/pytz-2018.3.tar.gz"; |
|
1610 | url = "https://pypi.python.org/packages/1b/50/4cdc62fc0753595fc16c8f722a89740f487c6e5670c644eb8983946777be/pytz-2018.3.tar.gz"; | |
1611 | md5 = "abb07c09c79f78d7c04f222a550c99ef"; |
|
1611 | md5 = "abb07c09c79f78d7c04f222a550c99ef"; | |
1612 | }; |
|
1612 | }; | |
1613 | meta = { |
|
1613 | meta = { | |
1614 | license = [ pkgs.lib.licenses.mit ]; |
|
1614 | license = [ pkgs.lib.licenses.mit ]; | |
1615 | }; |
|
1615 | }; | |
1616 | }; |
|
1616 | }; | |
1617 | pyzmq = super.buildPythonPackage { |
|
1617 | pyzmq = super.buildPythonPackage { | |
1618 | name = "pyzmq-14.6.0"; |
|
1618 | name = "pyzmq-14.6.0"; | |
1619 | buildInputs = with self; []; |
|
1619 | buildInputs = with self; []; | |
1620 | doCheck = false; |
|
1620 | doCheck = false; | |
1621 | propagatedBuildInputs = with self; []; |
|
1621 | propagatedBuildInputs = with self; []; | |
1622 | src = fetchurl { |
|
1622 | src = fetchurl { | |
1623 | url = "https://pypi.python.org/packages/8a/3b/5463d5a9d712cd8bbdac335daece0d69f6a6792da4e3dd89956c0db4e4e6/pyzmq-14.6.0.tar.gz"; |
|
1623 | url = "https://pypi.python.org/packages/8a/3b/5463d5a9d712cd8bbdac335daece0d69f6a6792da4e3dd89956c0db4e4e6/pyzmq-14.6.0.tar.gz"; | |
1624 | md5 = "395b5de95a931afa5b14c9349a5b8024"; |
|
1624 | md5 = "395b5de95a931afa5b14c9349a5b8024"; | |
1625 | }; |
|
1625 | }; | |
1626 | meta = { |
|
1626 | meta = { | |
1627 | license = [ pkgs.lib.licenses.bsdOriginal { fullName = "LGPL+BSD"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ]; |
|
1627 | license = [ pkgs.lib.licenses.bsdOriginal { fullName = "LGPL+BSD"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ]; | |
1628 | }; |
|
1628 | }; | |
1629 | }; |
|
1629 | }; | |
1630 | recaptcha-client = super.buildPythonPackage { |
|
|||
1631 | name = "recaptcha-client-1.0.6"; |
|
|||
1632 | buildInputs = with self; []; |
|
|||
1633 | doCheck = false; |
|
|||
1634 | propagatedBuildInputs = with self; []; |
|
|||
1635 | src = fetchurl { |
|
|||
1636 | url = "https://pypi.python.org/packages/0a/ea/5f2fbbfd894bdac1c68ef8d92019066cfcf9fbff5fe3d728d2b5c25c8db4/recaptcha-client-1.0.6.tar.gz"; |
|
|||
1637 | md5 = "74228180f7e1fb76c4d7089160b0d919"; |
|
|||
1638 | }; |
|
|||
1639 | meta = { |
|
|||
1640 | license = [ { fullName = "MIT/X11"; } ]; |
|
|||
1641 | }; |
|
|||
1642 | }; |
|
|||
1643 | redis = super.buildPythonPackage { |
|
1630 | redis = super.buildPythonPackage { | |
1644 | name = "redis-2.10.6"; |
|
1631 | name = "redis-2.10.6"; | |
1645 | buildInputs = with self; []; |
|
1632 | buildInputs = with self; []; | |
1646 | doCheck = false; |
|
1633 | doCheck = false; | |
1647 | propagatedBuildInputs = with self; []; |
|
1634 | propagatedBuildInputs = with self; []; | |
1648 | src = fetchurl { |
|
1635 | src = fetchurl { | |
1649 | url = "https://pypi.python.org/packages/09/8d/6d34b75326bf96d4139a2ddd8e74b80840f800a0a79f9294399e212cb9a7/redis-2.10.6.tar.gz"; |
|
1636 | url = "https://pypi.python.org/packages/09/8d/6d34b75326bf96d4139a2ddd8e74b80840f800a0a79f9294399e212cb9a7/redis-2.10.6.tar.gz"; | |
1650 | md5 = "048348d8cfe0b5d0bba2f4d835005c3b"; |
|
1637 | md5 = "048348d8cfe0b5d0bba2f4d835005c3b"; | |
1651 | }; |
|
1638 | }; | |
1652 | meta = { |
|
1639 | meta = { | |
1653 | license = [ pkgs.lib.licenses.mit ]; |
|
1640 | license = [ pkgs.lib.licenses.mit ]; | |
1654 | }; |
|
1641 | }; | |
1655 | }; |
|
1642 | }; | |
1656 | repoze.lru = super.buildPythonPackage { |
|
1643 | repoze.lru = super.buildPythonPackage { | |
1657 | name = "repoze.lru-0.7"; |
|
1644 | name = "repoze.lru-0.7"; | |
1658 | buildInputs = with self; []; |
|
1645 | buildInputs = with self; []; | |
1659 | doCheck = false; |
|
1646 | doCheck = false; | |
1660 | propagatedBuildInputs = with self; []; |
|
1647 | propagatedBuildInputs = with self; []; | |
1661 | src = fetchurl { |
|
1648 | src = fetchurl { | |
1662 | url = "https://pypi.python.org/packages/12/bc/595a77c4b5e204847fdf19268314ef59c85193a9dc9f83630fc459c0fee5/repoze.lru-0.7.tar.gz"; |
|
1649 | url = "https://pypi.python.org/packages/12/bc/595a77c4b5e204847fdf19268314ef59c85193a9dc9f83630fc459c0fee5/repoze.lru-0.7.tar.gz"; | |
1663 | md5 = "c08cc030387e0b1fc53c5c7d964b35e2"; |
|
1650 | md5 = "c08cc030387e0b1fc53c5c7d964b35e2"; | |
1664 | }; |
|
1651 | }; | |
1665 | meta = { |
|
1652 | meta = { | |
1666 | license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; |
|
1653 | license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; | |
1667 | }; |
|
1654 | }; | |
1668 | }; |
|
1655 | }; | |
1669 | requests = super.buildPythonPackage { |
|
1656 | requests = super.buildPythonPackage { | |
1670 | name = "requests-2.9.1"; |
|
1657 | name = "requests-2.9.1"; | |
1671 | buildInputs = with self; []; |
|
1658 | buildInputs = with self; []; | |
1672 | doCheck = false; |
|
1659 | doCheck = false; | |
1673 | propagatedBuildInputs = with self; []; |
|
1660 | propagatedBuildInputs = with self; []; | |
1674 | src = fetchurl { |
|
1661 | src = fetchurl { | |
1675 | url = "https://pypi.python.org/packages/f9/6d/07c44fb1ebe04d069459a189e7dab9e4abfe9432adcd4477367c25332748/requests-2.9.1.tar.gz"; |
|
1662 | url = "https://pypi.python.org/packages/f9/6d/07c44fb1ebe04d069459a189e7dab9e4abfe9432adcd4477367c25332748/requests-2.9.1.tar.gz"; | |
1676 | md5 = "0b7f480d19012ec52bab78292efd976d"; |
|
1663 | md5 = "0b7f480d19012ec52bab78292efd976d"; | |
1677 | }; |
|
1664 | }; | |
1678 | meta = { |
|
1665 | meta = { | |
1679 | license = [ pkgs.lib.licenses.asl20 ]; |
|
1666 | license = [ pkgs.lib.licenses.asl20 ]; | |
1680 | }; |
|
1667 | }; | |
1681 | }; |
|
1668 | }; | |
1682 | rhodecode-enterprise-ce = super.buildPythonPackage { |
|
1669 | rhodecode-enterprise-ce = super.buildPythonPackage { | |
1683 | name = "rhodecode-enterprise-ce-4.12.0"; |
|
1670 | name = "rhodecode-enterprise-ce-4.12.0"; | |
1684 | buildInputs = with self; [pytest py pytest-cov pytest-sugar pytest-runner pytest-catchlog pytest-profiling gprof2dot pytest-timeout mock WebTest cov-core coverage configobj]; |
|
1671 | buildInputs = with self; [pytest py pytest-cov pytest-sugar pytest-runner pytest-catchlog pytest-profiling gprof2dot pytest-timeout mock WebTest cov-core coverage configobj]; | |
1685 | doCheck = true; |
|
1672 | doCheck = true; | |
1686 |
propagatedBuildInputs = with self; [setuptools-scm amqp authomatic Babel Beaker celery Chameleon channelstream click colander configobj cssselect decorator deform docutils dogpile.cache dogpile.core ecdsa FormEncode future futures gnureadline infrae.cache iso8601 itsdangerous Jinja2 billiard kombu lxml Mako Markdown MarkupSafe msgpack-python MySQL-python objgraph packaging Paste PasteDeploy PasteScript pathlib2 peppercorn psutil psycopg2 py-bcrypt pycrypto pycurl pyflakes pygments-markdown-lexer Pygments pyparsing pyramid-beaker pyramid-debugtoolbar pyramid-jinja2 pyramid-mako pyramid pysqlite python-dateutil python-ldap python-memcached python-pam pytz tzlocal pyzmq py-gfm |
|
1673 | propagatedBuildInputs = with self; [setuptools-scm amqp authomatic Babel Beaker celery Chameleon channelstream click colander configobj cssselect decorator deform docutils dogpile.cache dogpile.core ecdsa FormEncode future futures gnureadline infrae.cache iso8601 itsdangerous Jinja2 billiard kombu lxml Mako Markdown MarkupSafe msgpack-python MySQL-python objgraph packaging Paste PasteDeploy PasteScript pathlib2 peppercorn psutil psycopg2 py-bcrypt pycrypto pycurl pyflakes pygments-markdown-lexer Pygments pyparsing pyramid-beaker pyramid-debugtoolbar pyramid-jinja2 pyramid-mako pyramid pysqlite python-dateutil python-ldap python-memcached python-pam pytz tzlocal pyzmq py-gfm redis repoze.lru requests Routes setproctitle simplejson six SQLAlchemy sshpubkeys subprocess32 supervisor Tempita translationstring trollius urllib3 URLObject venusian WebError WebHelpers2 WebHelpers WebOb Whoosh wsgiref zope.cachedescriptors zope.deprecation zope.event zope.interface nbconvert bleach nbformat jupyter-client alembic invoke bumpversion transifex-client gevent greenlet gunicorn waitress uWSGI ipdb ipython CProfileV bottle rhodecode-tools appenlight-client pytest py pytest-cov pytest-sugar pytest-runner pytest-catchlog pytest-profiling gprof2dot pytest-timeout mock WebTest cov-core coverage]; | |
1687 | src = ./.; |
|
1674 | src = ./.; | |
1688 | meta = { |
|
1675 | meta = { | |
1689 | license = [ { fullName = "Affero GNU General Public License v3 or later (AGPLv3+)"; } { fullName = "AGPLv3, and Commercial License"; } ]; |
|
1676 | license = [ { fullName = "Affero GNU General Public License v3 or later (AGPLv3+)"; } { fullName = "AGPLv3, and Commercial License"; } ]; | |
1690 | }; |
|
1677 | }; | |
1691 | }; |
|
1678 | }; | |
1692 | rhodecode-tools = super.buildPythonPackage { |
|
1679 | rhodecode-tools = super.buildPythonPackage { | |
1693 | name = "rhodecode-tools-0.14.1"; |
|
1680 | name = "rhodecode-tools-0.14.1"; | |
1694 | buildInputs = with self; []; |
|
1681 | buildInputs = with self; []; | |
1695 | doCheck = false; |
|
1682 | doCheck = false; | |
1696 | propagatedBuildInputs = with self; [click future six Mako MarkupSafe requests elasticsearch elasticsearch-dsl urllib3 Whoosh]; |
|
1683 | propagatedBuildInputs = with self; [click future six Mako MarkupSafe requests elasticsearch elasticsearch-dsl urllib3 Whoosh]; | |
1697 | src = fetchurl { |
|
1684 | src = fetchurl { | |
1698 | url = "https://code.rhodecode.com/rhodecode-tools-ce/archive/v0.14.1.tar.gz?md5=0b9c2caad160b68889f8172ea54af7b2"; |
|
1685 | url = "https://code.rhodecode.com/rhodecode-tools-ce/archive/v0.14.1.tar.gz?md5=0b9c2caad160b68889f8172ea54af7b2"; | |
1699 | md5 = "0b9c2caad160b68889f8172ea54af7b2"; |
|
1686 | md5 = "0b9c2caad160b68889f8172ea54af7b2"; | |
1700 | }; |
|
1687 | }; | |
1701 | meta = { |
|
1688 | meta = { | |
1702 | license = [ { fullName = "AGPLv3 and Proprietary"; } ]; |
|
1689 | license = [ { fullName = "AGPLv3 and Proprietary"; } ]; | |
1703 | }; |
|
1690 | }; | |
1704 | }; |
|
1691 | }; | |
1705 | scandir = super.buildPythonPackage { |
|
1692 | scandir = super.buildPythonPackage { | |
1706 | name = "scandir-1.7"; |
|
1693 | name = "scandir-1.7"; | |
1707 | buildInputs = with self; []; |
|
1694 | buildInputs = with self; []; | |
1708 | doCheck = false; |
|
1695 | doCheck = false; | |
1709 | propagatedBuildInputs = with self; []; |
|
1696 | propagatedBuildInputs = with self; []; | |
1710 | src = fetchurl { |
|
1697 | src = fetchurl { | |
1711 | url = "https://pypi.python.org/packages/13/bb/e541b74230bbf7a20a3949a2ee6631be299378a784f5445aa5d0047c192b/scandir-1.7.tar.gz"; |
|
1698 | url = "https://pypi.python.org/packages/13/bb/e541b74230bbf7a20a3949a2ee6631be299378a784f5445aa5d0047c192b/scandir-1.7.tar.gz"; | |
1712 | md5 = "037e5f24d1a0e78b17faca72dea9555f"; |
|
1699 | md5 = "037e5f24d1a0e78b17faca72dea9555f"; | |
1713 | }; |
|
1700 | }; | |
1714 | meta = { |
|
1701 | meta = { | |
1715 | license = [ pkgs.lib.licenses.bsdOriginal { fullName = "New BSD License"; } ]; |
|
1702 | license = [ pkgs.lib.licenses.bsdOriginal { fullName = "New BSD License"; } ]; | |
1716 | }; |
|
1703 | }; | |
1717 | }; |
|
1704 | }; | |
1718 | setproctitle = super.buildPythonPackage { |
|
1705 | setproctitle = super.buildPythonPackage { | |
1719 | name = "setproctitle-1.1.10"; |
|
1706 | name = "setproctitle-1.1.10"; | |
1720 | buildInputs = with self; []; |
|
1707 | buildInputs = with self; []; | |
1721 | doCheck = false; |
|
1708 | doCheck = false; | |
1722 | propagatedBuildInputs = with self; []; |
|
1709 | propagatedBuildInputs = with self; []; | |
1723 | src = fetchurl { |
|
1710 | src = fetchurl { | |
1724 | url = "https://pypi.python.org/packages/5a/0d/dc0d2234aacba6cf1a729964383e3452c52096dc695581248b548786f2b3/setproctitle-1.1.10.tar.gz"; |
|
1711 | url = "https://pypi.python.org/packages/5a/0d/dc0d2234aacba6cf1a729964383e3452c52096dc695581248b548786f2b3/setproctitle-1.1.10.tar.gz"; | |
1725 | md5 = "2dcdd1b761700a5a13252fea3dfd1977"; |
|
1712 | md5 = "2dcdd1b761700a5a13252fea3dfd1977"; | |
1726 | }; |
|
1713 | }; | |
1727 | meta = { |
|
1714 | meta = { | |
1728 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
1715 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
1729 | }; |
|
1716 | }; | |
1730 | }; |
|
1717 | }; | |
1731 | setuptools = super.buildPythonPackage { |
|
1718 | setuptools = super.buildPythonPackage { | |
1732 | name = "setuptools-30.1.0"; |
|
1719 | name = "setuptools-30.1.0"; | |
1733 | buildInputs = with self; []; |
|
1720 | buildInputs = with self; []; | |
1734 | doCheck = false; |
|
1721 | doCheck = false; | |
1735 | propagatedBuildInputs = with self; []; |
|
1722 | propagatedBuildInputs = with self; []; | |
1736 | src = fetchurl { |
|
1723 | src = fetchurl { | |
1737 | url = "https://pypi.python.org/packages/1e/43/002c8616db9a3e7be23c2556e39b90a32bb40ba0dc652de1999d5334d372/setuptools-30.1.0.tar.gz"; |
|
1724 | url = "https://pypi.python.org/packages/1e/43/002c8616db9a3e7be23c2556e39b90a32bb40ba0dc652de1999d5334d372/setuptools-30.1.0.tar.gz"; | |
1738 | md5 = "cac497f42e5096ac8df29e38d3f81c3e"; |
|
1725 | md5 = "cac497f42e5096ac8df29e38d3f81c3e"; | |
1739 | }; |
|
1726 | }; | |
1740 | meta = { |
|
1727 | meta = { | |
1741 | license = [ pkgs.lib.licenses.mit ]; |
|
1728 | license = [ pkgs.lib.licenses.mit ]; | |
1742 | }; |
|
1729 | }; | |
1743 | }; |
|
1730 | }; | |
1744 | setuptools-scm = super.buildPythonPackage { |
|
1731 | setuptools-scm = super.buildPythonPackage { | |
1745 | name = "setuptools-scm-1.15.6"; |
|
1732 | name = "setuptools-scm-1.15.6"; | |
1746 | buildInputs = with self; []; |
|
1733 | buildInputs = with self; []; | |
1747 | doCheck = false; |
|
1734 | doCheck = false; | |
1748 | propagatedBuildInputs = with self; []; |
|
1735 | propagatedBuildInputs = with self; []; | |
1749 | src = fetchurl { |
|
1736 | src = fetchurl { | |
1750 | url = "https://pypi.python.org/packages/03/6d/aafdd01edd227ee879b691455bf19895091872af7e48192bea1758c82032/setuptools_scm-1.15.6.tar.gz"; |
|
1737 | url = "https://pypi.python.org/packages/03/6d/aafdd01edd227ee879b691455bf19895091872af7e48192bea1758c82032/setuptools_scm-1.15.6.tar.gz"; | |
1751 | md5 = "f17493d53f0d842bb0152f214775640b"; |
|
1738 | md5 = "f17493d53f0d842bb0152f214775640b"; | |
1752 | }; |
|
1739 | }; | |
1753 | meta = { |
|
1740 | meta = { | |
1754 | license = [ pkgs.lib.licenses.mit ]; |
|
1741 | license = [ pkgs.lib.licenses.mit ]; | |
1755 | }; |
|
1742 | }; | |
1756 | }; |
|
1743 | }; | |
1757 | simplegeneric = super.buildPythonPackage { |
|
1744 | simplegeneric = super.buildPythonPackage { | |
1758 | name = "simplegeneric-0.8.1"; |
|
1745 | name = "simplegeneric-0.8.1"; | |
1759 | buildInputs = with self; []; |
|
1746 | buildInputs = with self; []; | |
1760 | doCheck = false; |
|
1747 | doCheck = false; | |
1761 | propagatedBuildInputs = with self; []; |
|
1748 | propagatedBuildInputs = with self; []; | |
1762 | src = fetchurl { |
|
1749 | src = fetchurl { | |
1763 | url = "https://pypi.python.org/packages/3d/57/4d9c9e3ae9a255cd4e1106bb57e24056d3d0709fc01b2e3e345898e49d5b/simplegeneric-0.8.1.zip"; |
|
1750 | url = "https://pypi.python.org/packages/3d/57/4d9c9e3ae9a255cd4e1106bb57e24056d3d0709fc01b2e3e345898e49d5b/simplegeneric-0.8.1.zip"; | |
1764 | md5 = "f9c1fab00fd981be588fc32759f474e3"; |
|
1751 | md5 = "f9c1fab00fd981be588fc32759f474e3"; | |
1765 | }; |
|
1752 | }; | |
1766 | meta = { |
|
1753 | meta = { | |
1767 | license = [ pkgs.lib.licenses.zpt21 ]; |
|
1754 | license = [ pkgs.lib.licenses.zpt21 ]; | |
1768 | }; |
|
1755 | }; | |
1769 | }; |
|
1756 | }; | |
1770 | simplejson = super.buildPythonPackage { |
|
1757 | simplejson = super.buildPythonPackage { | |
1771 | name = "simplejson-3.11.1"; |
|
1758 | name = "simplejson-3.11.1"; | |
1772 | buildInputs = with self; []; |
|
1759 | buildInputs = with self; []; | |
1773 | doCheck = false; |
|
1760 | doCheck = false; | |
1774 | propagatedBuildInputs = with self; []; |
|
1761 | propagatedBuildInputs = with self; []; | |
1775 | src = fetchurl { |
|
1762 | src = fetchurl { | |
1776 | url = "https://pypi.python.org/packages/08/48/c97b668d6da7d7bebe7ea1817a6f76394b0ec959cb04214ca833c34359df/simplejson-3.11.1.tar.gz"; |
|
1763 | url = "https://pypi.python.org/packages/08/48/c97b668d6da7d7bebe7ea1817a6f76394b0ec959cb04214ca833c34359df/simplejson-3.11.1.tar.gz"; | |
1777 | md5 = "6e2f1bd5fb0a926facf5d89d217a7183"; |
|
1764 | md5 = "6e2f1bd5fb0a926facf5d89d217a7183"; | |
1778 | }; |
|
1765 | }; | |
1779 | meta = { |
|
1766 | meta = { | |
1780 | license = [ { fullName = "Academic Free License (AFL)"; } pkgs.lib.licenses.mit ]; |
|
1767 | license = [ { fullName = "Academic Free License (AFL)"; } pkgs.lib.licenses.mit ]; | |
1781 | }; |
|
1768 | }; | |
1782 | }; |
|
1769 | }; | |
1783 | six = super.buildPythonPackage { |
|
1770 | six = super.buildPythonPackage { | |
1784 | name = "six-1.11.0"; |
|
1771 | name = "six-1.11.0"; | |
1785 | buildInputs = with self; []; |
|
1772 | buildInputs = with self; []; | |
1786 | doCheck = false; |
|
1773 | doCheck = false; | |
1787 | propagatedBuildInputs = with self; []; |
|
1774 | propagatedBuildInputs = with self; []; | |
1788 | src = fetchurl { |
|
1775 | src = fetchurl { | |
1789 | url = "https://pypi.python.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz"; |
|
1776 | url = "https://pypi.python.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz"; | |
1790 | md5 = "d12789f9baf7e9fb2524c0c64f1773f8"; |
|
1777 | md5 = "d12789f9baf7e9fb2524c0c64f1773f8"; | |
1791 | }; |
|
1778 | }; | |
1792 | meta = { |
|
1779 | meta = { | |
1793 | license = [ pkgs.lib.licenses.mit ]; |
|
1780 | license = [ pkgs.lib.licenses.mit ]; | |
1794 | }; |
|
1781 | }; | |
1795 | }; |
|
1782 | }; | |
1796 | sshpubkeys = super.buildPythonPackage { |
|
1783 | sshpubkeys = super.buildPythonPackage { | |
1797 | name = "sshpubkeys-2.2.0"; |
|
1784 | name = "sshpubkeys-2.2.0"; | |
1798 | buildInputs = with self; []; |
|
1785 | buildInputs = with self; []; | |
1799 | doCheck = false; |
|
1786 | doCheck = false; | |
1800 | propagatedBuildInputs = with self; [pycrypto ecdsa]; |
|
1787 | propagatedBuildInputs = with self; [pycrypto ecdsa]; | |
1801 | src = fetchurl { |
|
1788 | src = fetchurl { | |
1802 | url = "https://pypi.python.org/packages/27/da/337fabeb3dca6b62039a93ceaa636f25065e0ae92b575b1235342076cf0a/sshpubkeys-2.2.0.tar.gz"; |
|
1789 | url = "https://pypi.python.org/packages/27/da/337fabeb3dca6b62039a93ceaa636f25065e0ae92b575b1235342076cf0a/sshpubkeys-2.2.0.tar.gz"; | |
1803 | md5 = "458e45f6b92b1afa84f0ffe1f1c90935"; |
|
1790 | md5 = "458e45f6b92b1afa84f0ffe1f1c90935"; | |
1804 | }; |
|
1791 | }; | |
1805 | meta = { |
|
1792 | meta = { | |
1806 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
1793 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
1807 | }; |
|
1794 | }; | |
1808 | }; |
|
1795 | }; | |
1809 | subprocess32 = super.buildPythonPackage { |
|
1796 | subprocess32 = super.buildPythonPackage { | |
1810 | name = "subprocess32-3.2.7"; |
|
1797 | name = "subprocess32-3.2.7"; | |
1811 | buildInputs = with self; []; |
|
1798 | buildInputs = with self; []; | |
1812 | doCheck = false; |
|
1799 | doCheck = false; | |
1813 | propagatedBuildInputs = with self; []; |
|
1800 | propagatedBuildInputs = with self; []; | |
1814 | src = fetchurl { |
|
1801 | src = fetchurl { | |
1815 | url = "https://pypi.python.org/packages/b8/2f/49e53b0d0e94611a2dc624a1ad24d41b6d94d0f1b0a078443407ea2214c2/subprocess32-3.2.7.tar.gz"; |
|
1802 | url = "https://pypi.python.org/packages/b8/2f/49e53b0d0e94611a2dc624a1ad24d41b6d94d0f1b0a078443407ea2214c2/subprocess32-3.2.7.tar.gz"; | |
1816 | md5 = "824c801e479d3e916879aae3e9c15e16"; |
|
1803 | md5 = "824c801e479d3e916879aae3e9c15e16"; | |
1817 | }; |
|
1804 | }; | |
1818 | meta = { |
|
1805 | meta = { | |
1819 | license = [ pkgs.lib.licenses.psfl ]; |
|
1806 | license = [ pkgs.lib.licenses.psfl ]; | |
1820 | }; |
|
1807 | }; | |
1821 | }; |
|
1808 | }; | |
1822 | supervisor = super.buildPythonPackage { |
|
1809 | supervisor = super.buildPythonPackage { | |
1823 | name = "supervisor-3.3.4"; |
|
1810 | name = "supervisor-3.3.4"; | |
1824 | buildInputs = with self; []; |
|
1811 | buildInputs = with self; []; | |
1825 | doCheck = false; |
|
1812 | doCheck = false; | |
1826 | propagatedBuildInputs = with self; [meld3]; |
|
1813 | propagatedBuildInputs = with self; [meld3]; | |
1827 | src = fetchurl { |
|
1814 | src = fetchurl { | |
1828 | url = "https://pypi.python.org/packages/44/60/698e54b4a4a9b956b2d709b4b7b676119c833d811d53ee2500f1b5e96dc3/supervisor-3.3.4.tar.gz"; |
|
1815 | url = "https://pypi.python.org/packages/44/60/698e54b4a4a9b956b2d709b4b7b676119c833d811d53ee2500f1b5e96dc3/supervisor-3.3.4.tar.gz"; | |
1829 | md5 = "f1814d71d820ddfa8c86d46a72314cec"; |
|
1816 | md5 = "f1814d71d820ddfa8c86d46a72314cec"; | |
1830 | }; |
|
1817 | }; | |
1831 | meta = { |
|
1818 | meta = { | |
1832 | license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; |
|
1819 | license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; | |
1833 | }; |
|
1820 | }; | |
1834 | }; |
|
1821 | }; | |
1835 | termcolor = super.buildPythonPackage { |
|
1822 | termcolor = super.buildPythonPackage { | |
1836 | name = "termcolor-1.1.0"; |
|
1823 | name = "termcolor-1.1.0"; | |
1837 | buildInputs = with self; []; |
|
1824 | buildInputs = with self; []; | |
1838 | doCheck = false; |
|
1825 | doCheck = false; | |
1839 | propagatedBuildInputs = with self; []; |
|
1826 | propagatedBuildInputs = with self; []; | |
1840 | src = fetchurl { |
|
1827 | src = fetchurl { | |
1841 | url = "https://pypi.python.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz"; |
|
1828 | url = "https://pypi.python.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz"; | |
1842 | md5 = "043e89644f8909d462fbbfa511c768df"; |
|
1829 | md5 = "043e89644f8909d462fbbfa511c768df"; | |
1843 | }; |
|
1830 | }; | |
1844 | meta = { |
|
1831 | meta = { | |
1845 | license = [ pkgs.lib.licenses.mit ]; |
|
1832 | license = [ pkgs.lib.licenses.mit ]; | |
1846 | }; |
|
1833 | }; | |
1847 | }; |
|
1834 | }; | |
1848 | testpath = super.buildPythonPackage { |
|
1835 | testpath = super.buildPythonPackage { | |
1849 | name = "testpath-0.3.1"; |
|
1836 | name = "testpath-0.3.1"; | |
1850 | buildInputs = with self; []; |
|
1837 | buildInputs = with self; []; | |
1851 | doCheck = false; |
|
1838 | doCheck = false; | |
1852 | propagatedBuildInputs = with self; []; |
|
1839 | propagatedBuildInputs = with self; []; | |
1853 | src = fetchurl { |
|
1840 | src = fetchurl { | |
1854 | url = "https://pypi.python.org/packages/f4/8b/b71e9ee10e5f751e9d959bc750ab122ba04187f5aa52aabdc4e63b0e31a7/testpath-0.3.1.tar.gz"; |
|
1841 | url = "https://pypi.python.org/packages/f4/8b/b71e9ee10e5f751e9d959bc750ab122ba04187f5aa52aabdc4e63b0e31a7/testpath-0.3.1.tar.gz"; | |
1855 | md5 = "2cd5ed5522fda781bb497c9d80ae2fc9"; |
|
1842 | md5 = "2cd5ed5522fda781bb497c9d80ae2fc9"; | |
1856 | }; |
|
1843 | }; | |
1857 | meta = { |
|
1844 | meta = { | |
1858 | license = [ pkgs.lib.licenses.mit ]; |
|
1845 | license = [ pkgs.lib.licenses.mit ]; | |
1859 | }; |
|
1846 | }; | |
1860 | }; |
|
1847 | }; | |
1861 | traitlets = super.buildPythonPackage { |
|
1848 | traitlets = super.buildPythonPackage { | |
1862 | name = "traitlets-4.3.2"; |
|
1849 | name = "traitlets-4.3.2"; | |
1863 | buildInputs = with self; []; |
|
1850 | buildInputs = with self; []; | |
1864 | doCheck = false; |
|
1851 | doCheck = false; | |
1865 | propagatedBuildInputs = with self; [ipython-genutils six decorator enum34]; |
|
1852 | propagatedBuildInputs = with self; [ipython-genutils six decorator enum34]; | |
1866 | src = fetchurl { |
|
1853 | src = fetchurl { | |
1867 | url = "https://pypi.python.org/packages/a5/98/7f5ef2fe9e9e071813aaf9cb91d1a732e0a68b6c44a32b38cb8e14c3f069/traitlets-4.3.2.tar.gz"; |
|
1854 | url = "https://pypi.python.org/packages/a5/98/7f5ef2fe9e9e071813aaf9cb91d1a732e0a68b6c44a32b38cb8e14c3f069/traitlets-4.3.2.tar.gz"; | |
1868 | md5 = "3068663f2f38fd939a9eb3a500ccc154"; |
|
1855 | md5 = "3068663f2f38fd939a9eb3a500ccc154"; | |
1869 | }; |
|
1856 | }; | |
1870 | meta = { |
|
1857 | meta = { | |
1871 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
1858 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
1872 | }; |
|
1859 | }; | |
1873 | }; |
|
1860 | }; | |
1874 | transifex-client = super.buildPythonPackage { |
|
1861 | transifex-client = super.buildPythonPackage { | |
1875 | name = "transifex-client-0.12.5"; |
|
1862 | name = "transifex-client-0.12.5"; | |
1876 | buildInputs = with self; []; |
|
1863 | buildInputs = with self; []; | |
1877 | doCheck = false; |
|
1864 | doCheck = false; | |
1878 | propagatedBuildInputs = with self; [urllib3 six]; |
|
1865 | propagatedBuildInputs = with self; [urllib3 six]; | |
1879 | src = fetchurl { |
|
1866 | src = fetchurl { | |
1880 | url = "https://pypi.python.org/packages/7b/86/60f31a0c9b8d0b1266ce15b6c80b55f88522140c8acfc395d5aec5e23475/transifex-client-0.12.5.tar.gz"; |
|
1867 | url = "https://pypi.python.org/packages/7b/86/60f31a0c9b8d0b1266ce15b6c80b55f88522140c8acfc395d5aec5e23475/transifex-client-0.12.5.tar.gz"; | |
1881 | md5 = "e6e278117b23f60702c06e203b7e51ae"; |
|
1868 | md5 = "e6e278117b23f60702c06e203b7e51ae"; | |
1882 | }; |
|
1869 | }; | |
1883 | meta = { |
|
1870 | meta = { | |
1884 | license = [ pkgs.lib.licenses.gpl2 ]; |
|
1871 | license = [ pkgs.lib.licenses.gpl2 ]; | |
1885 | }; |
|
1872 | }; | |
1886 | }; |
|
1873 | }; | |
1887 | translationstring = super.buildPythonPackage { |
|
1874 | translationstring = super.buildPythonPackage { | |
1888 | name = "translationstring-1.3"; |
|
1875 | name = "translationstring-1.3"; | |
1889 | buildInputs = with self; []; |
|
1876 | buildInputs = with self; []; | |
1890 | doCheck = false; |
|
1877 | doCheck = false; | |
1891 | propagatedBuildInputs = with self; []; |
|
1878 | propagatedBuildInputs = with self; []; | |
1892 | src = fetchurl { |
|
1879 | src = fetchurl { | |
1893 | url = "https://pypi.python.org/packages/5e/eb/bee578cc150b44c653b63f5ebe258b5d0d812ddac12497e5f80fcad5d0b4/translationstring-1.3.tar.gz"; |
|
1880 | url = "https://pypi.python.org/packages/5e/eb/bee578cc150b44c653b63f5ebe258b5d0d812ddac12497e5f80fcad5d0b4/translationstring-1.3.tar.gz"; | |
1894 | md5 = "a4b62e0f3c189c783a1685b3027f7c90"; |
|
1881 | md5 = "a4b62e0f3c189c783a1685b3027f7c90"; | |
1895 | }; |
|
1882 | }; | |
1896 | meta = { |
|
1883 | meta = { | |
1897 | license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ]; |
|
1884 | license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ]; | |
1898 | }; |
|
1885 | }; | |
1899 | }; |
|
1886 | }; | |
1900 | trollius = super.buildPythonPackage { |
|
1887 | trollius = super.buildPythonPackage { | |
1901 | name = "trollius-1.0.4"; |
|
1888 | name = "trollius-1.0.4"; | |
1902 | buildInputs = with self; []; |
|
1889 | buildInputs = with self; []; | |
1903 | doCheck = false; |
|
1890 | doCheck = false; | |
1904 | propagatedBuildInputs = with self; [futures]; |
|
1891 | propagatedBuildInputs = with self; [futures]; | |
1905 | src = fetchurl { |
|
1892 | src = fetchurl { | |
1906 | url = "https://pypi.python.org/packages/aa/e6/4141db437f55e6ee7a3fb69663239e3fde7841a811b4bef293145ad6c836/trollius-1.0.4.tar.gz"; |
|
1893 | url = "https://pypi.python.org/packages/aa/e6/4141db437f55e6ee7a3fb69663239e3fde7841a811b4bef293145ad6c836/trollius-1.0.4.tar.gz"; | |
1907 | md5 = "3631a464d49d0cbfd30ab2918ef2b783"; |
|
1894 | md5 = "3631a464d49d0cbfd30ab2918ef2b783"; | |
1908 | }; |
|
1895 | }; | |
1909 | meta = { |
|
1896 | meta = { | |
1910 | license = [ pkgs.lib.licenses.asl20 ]; |
|
1897 | license = [ pkgs.lib.licenses.asl20 ]; | |
1911 | }; |
|
1898 | }; | |
1912 | }; |
|
1899 | }; | |
1913 | tzlocal = super.buildPythonPackage { |
|
1900 | tzlocal = super.buildPythonPackage { | |
1914 | name = "tzlocal-1.5.1"; |
|
1901 | name = "tzlocal-1.5.1"; | |
1915 | buildInputs = with self; []; |
|
1902 | buildInputs = with self; []; | |
1916 | doCheck = false; |
|
1903 | doCheck = false; | |
1917 | propagatedBuildInputs = with self; [pytz]; |
|
1904 | propagatedBuildInputs = with self; [pytz]; | |
1918 | src = fetchurl { |
|
1905 | src = fetchurl { | |
1919 | url = "https://pypi.python.org/packages/cb/89/e3687d3ed99bc882793f82634e9824e62499fdfdc4b1ae39e211c5b05017/tzlocal-1.5.1.tar.gz"; |
|
1906 | url = "https://pypi.python.org/packages/cb/89/e3687d3ed99bc882793f82634e9824e62499fdfdc4b1ae39e211c5b05017/tzlocal-1.5.1.tar.gz"; | |
1920 | md5 = "4553be891efa0812c4adfb0c6e818eec"; |
|
1907 | md5 = "4553be891efa0812c4adfb0c6e818eec"; | |
1921 | }; |
|
1908 | }; | |
1922 | meta = { |
|
1909 | meta = { | |
1923 | license = [ pkgs.lib.licenses.mit ]; |
|
1910 | license = [ pkgs.lib.licenses.mit ]; | |
1924 | }; |
|
1911 | }; | |
1925 | }; |
|
1912 | }; | |
1926 | uWSGI = super.buildPythonPackage { |
|
1913 | uWSGI = super.buildPythonPackage { | |
1927 | name = "uWSGI-2.0.15"; |
|
1914 | name = "uWSGI-2.0.15"; | |
1928 | buildInputs = with self; []; |
|
1915 | buildInputs = with self; []; | |
1929 | doCheck = false; |
|
1916 | doCheck = false; | |
1930 | propagatedBuildInputs = with self; []; |
|
1917 | propagatedBuildInputs = with self; []; | |
1931 | src = fetchurl { |
|
1918 | src = fetchurl { | |
1932 | url = "https://pypi.python.org/packages/bb/0a/45e5aa80dc135889594bb371c082d20fb7ee7303b174874c996888cc8511/uwsgi-2.0.15.tar.gz"; |
|
1919 | url = "https://pypi.python.org/packages/bb/0a/45e5aa80dc135889594bb371c082d20fb7ee7303b174874c996888cc8511/uwsgi-2.0.15.tar.gz"; | |
1933 | md5 = "fc50bd9e83b7602fa474b032167010a7"; |
|
1920 | md5 = "fc50bd9e83b7602fa474b032167010a7"; | |
1934 | }; |
|
1921 | }; | |
1935 | meta = { |
|
1922 | meta = { | |
1936 | license = [ pkgs.lib.licenses.gpl2 ]; |
|
1923 | license = [ pkgs.lib.licenses.gpl2 ]; | |
1937 | }; |
|
1924 | }; | |
1938 | }; |
|
1925 | }; | |
1939 | urllib3 = super.buildPythonPackage { |
|
1926 | urllib3 = super.buildPythonPackage { | |
1940 | name = "urllib3-1.16"; |
|
1927 | name = "urllib3-1.16"; | |
1941 | buildInputs = with self; []; |
|
1928 | buildInputs = with self; []; | |
1942 | doCheck = false; |
|
1929 | doCheck = false; | |
1943 | propagatedBuildInputs = with self; []; |
|
1930 | propagatedBuildInputs = with self; []; | |
1944 | src = fetchurl { |
|
1931 | src = fetchurl { | |
1945 | url = "https://pypi.python.org/packages/3b/f0/e763169124e3f5db0926bc3dbfcd580a105f9ca44cf5d8e6c7a803c9f6b5/urllib3-1.16.tar.gz"; |
|
1932 | url = "https://pypi.python.org/packages/3b/f0/e763169124e3f5db0926bc3dbfcd580a105f9ca44cf5d8e6c7a803c9f6b5/urllib3-1.16.tar.gz"; | |
1946 | md5 = "fcaab1c5385c57deeb7053d3d7d81d59"; |
|
1933 | md5 = "fcaab1c5385c57deeb7053d3d7d81d59"; | |
1947 | }; |
|
1934 | }; | |
1948 | meta = { |
|
1935 | meta = { | |
1949 | license = [ pkgs.lib.licenses.mit ]; |
|
1936 | license = [ pkgs.lib.licenses.mit ]; | |
1950 | }; |
|
1937 | }; | |
1951 | }; |
|
1938 | }; | |
1952 | venusian = super.buildPythonPackage { |
|
1939 | venusian = super.buildPythonPackage { | |
1953 | name = "venusian-1.1.0"; |
|
1940 | name = "venusian-1.1.0"; | |
1954 | buildInputs = with self; []; |
|
1941 | buildInputs = with self; []; | |
1955 | doCheck = false; |
|
1942 | doCheck = false; | |
1956 | propagatedBuildInputs = with self; []; |
|
1943 | propagatedBuildInputs = with self; []; | |
1957 | src = fetchurl { |
|
1944 | src = fetchurl { | |
1958 | url = "https://pypi.python.org/packages/38/24/b4b470ab9e0a2e2e9b9030c7735828c8934b4c6b45befd1bb713ec2aeb2d/venusian-1.1.0.tar.gz"; |
|
1945 | url = "https://pypi.python.org/packages/38/24/b4b470ab9e0a2e2e9b9030c7735828c8934b4c6b45befd1bb713ec2aeb2d/venusian-1.1.0.tar.gz"; | |
1959 | md5 = "56bc5e6756e4bda37bcdb94f74a72b8f"; |
|
1946 | md5 = "56bc5e6756e4bda37bcdb94f74a72b8f"; | |
1960 | }; |
|
1947 | }; | |
1961 | meta = { |
|
1948 | meta = { | |
1962 | license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; |
|
1949 | license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ]; | |
1963 | }; |
|
1950 | }; | |
1964 | }; |
|
1951 | }; | |
1965 | vine = super.buildPythonPackage { |
|
1952 | vine = super.buildPythonPackage { | |
1966 | name = "vine-1.1.4"; |
|
1953 | name = "vine-1.1.4"; | |
1967 | buildInputs = with self; []; |
|
1954 | buildInputs = with self; []; | |
1968 | doCheck = false; |
|
1955 | doCheck = false; | |
1969 | propagatedBuildInputs = with self; []; |
|
1956 | propagatedBuildInputs = with self; []; | |
1970 | src = fetchurl { |
|
1957 | src = fetchurl { | |
1971 | url = "https://pypi.python.org/packages/32/23/36284986e011f3c130d802c3c66abd8f1aef371eae110ddf80c5ae22e1ff/vine-1.1.4.tar.gz"; |
|
1958 | url = "https://pypi.python.org/packages/32/23/36284986e011f3c130d802c3c66abd8f1aef371eae110ddf80c5ae22e1ff/vine-1.1.4.tar.gz"; | |
1972 | md5 = "9fdb971e7fd15b181b84f3bfcf20d11c"; |
|
1959 | md5 = "9fdb971e7fd15b181b84f3bfcf20d11c"; | |
1973 | }; |
|
1960 | }; | |
1974 | meta = { |
|
1961 | meta = { | |
1975 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
1962 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
1976 | }; |
|
1963 | }; | |
1977 | }; |
|
1964 | }; | |
1978 | waitress = super.buildPythonPackage { |
|
1965 | waitress = super.buildPythonPackage { | |
1979 | name = "waitress-1.1.0"; |
|
1966 | name = "waitress-1.1.0"; | |
1980 | buildInputs = with self; []; |
|
1967 | buildInputs = with self; []; | |
1981 | doCheck = false; |
|
1968 | doCheck = false; | |
1982 | propagatedBuildInputs = with self; []; |
|
1969 | propagatedBuildInputs = with self; []; | |
1983 | src = fetchurl { |
|
1970 | src = fetchurl { | |
1984 | url = "https://pypi.python.org/packages/3c/68/1c10dd5c556872ceebe88483b0436140048d39de83a84a06a8baa8136f4f/waitress-1.1.0.tar.gz"; |
|
1971 | url = "https://pypi.python.org/packages/3c/68/1c10dd5c556872ceebe88483b0436140048d39de83a84a06a8baa8136f4f/waitress-1.1.0.tar.gz"; | |
1985 | md5 = "0f1eb7fdfdbf2e6d18decbda1733045c"; |
|
1972 | md5 = "0f1eb7fdfdbf2e6d18decbda1733045c"; | |
1986 | }; |
|
1973 | }; | |
1987 | meta = { |
|
1974 | meta = { | |
1988 | license = [ pkgs.lib.licenses.zpt21 ]; |
|
1975 | license = [ pkgs.lib.licenses.zpt21 ]; | |
1989 | }; |
|
1976 | }; | |
1990 | }; |
|
1977 | }; | |
1991 | wcwidth = super.buildPythonPackage { |
|
1978 | wcwidth = super.buildPythonPackage { | |
1992 | name = "wcwidth-0.1.7"; |
|
1979 | name = "wcwidth-0.1.7"; | |
1993 | buildInputs = with self; []; |
|
1980 | buildInputs = with self; []; | |
1994 | doCheck = false; |
|
1981 | doCheck = false; | |
1995 | propagatedBuildInputs = with self; []; |
|
1982 | propagatedBuildInputs = with self; []; | |
1996 | src = fetchurl { |
|
1983 | src = fetchurl { | |
1997 | url = "https://pypi.python.org/packages/55/11/e4a2bb08bb450fdbd42cc709dd40de4ed2c472cf0ccb9e64af22279c5495/wcwidth-0.1.7.tar.gz"; |
|
1984 | url = "https://pypi.python.org/packages/55/11/e4a2bb08bb450fdbd42cc709dd40de4ed2c472cf0ccb9e64af22279c5495/wcwidth-0.1.7.tar.gz"; | |
1998 | md5 = "b3b6a0a08f0c8a34d1de8cf44150a4ad"; |
|
1985 | md5 = "b3b6a0a08f0c8a34d1de8cf44150a4ad"; | |
1999 | }; |
|
1986 | }; | |
2000 | meta = { |
|
1987 | meta = { | |
2001 | license = [ pkgs.lib.licenses.mit ]; |
|
1988 | license = [ pkgs.lib.licenses.mit ]; | |
2002 | }; |
|
1989 | }; | |
2003 | }; |
|
1990 | }; | |
2004 | webencodings = super.buildPythonPackage { |
|
1991 | webencodings = super.buildPythonPackage { | |
2005 | name = "webencodings-0.5.1"; |
|
1992 | name = "webencodings-0.5.1"; | |
2006 | buildInputs = with self; []; |
|
1993 | buildInputs = with self; []; | |
2007 | doCheck = false; |
|
1994 | doCheck = false; | |
2008 | propagatedBuildInputs = with self; []; |
|
1995 | propagatedBuildInputs = with self; []; | |
2009 | src = fetchurl { |
|
1996 | src = fetchurl { | |
2010 | url = "https://pypi.python.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz"; |
|
1997 | url = "https://pypi.python.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz"; | |
2011 | md5 = "32f6e261d52e57bf7e1c4d41546d15b8"; |
|
1998 | md5 = "32f6e261d52e57bf7e1c4d41546d15b8"; | |
2012 | }; |
|
1999 | }; | |
2013 | meta = { |
|
2000 | meta = { | |
2014 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
2001 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
2015 | }; |
|
2002 | }; | |
2016 | }; |
|
2003 | }; | |
2017 | ws4py = super.buildPythonPackage { |
|
2004 | ws4py = super.buildPythonPackage { | |
2018 | name = "ws4py-0.4.3"; |
|
2005 | name = "ws4py-0.4.3"; | |
2019 | buildInputs = with self; []; |
|
2006 | buildInputs = with self; []; | |
2020 | doCheck = false; |
|
2007 | doCheck = false; | |
2021 | propagatedBuildInputs = with self; []; |
|
2008 | propagatedBuildInputs = with self; []; | |
2022 | src = fetchurl { |
|
2009 | src = fetchurl { | |
2023 | url = "https://pypi.python.org/packages/fa/a1/33c43a4304ac3b4dc81deb93cbd329de9297dd034d75c47cce64fda806bc/ws4py-0.4.3.tar.gz"; |
|
2010 | url = "https://pypi.python.org/packages/fa/a1/33c43a4304ac3b4dc81deb93cbd329de9297dd034d75c47cce64fda806bc/ws4py-0.4.3.tar.gz"; | |
2024 | md5 = "d5834cf7d3965bb0da31bbb02bd8513a"; |
|
2011 | md5 = "d5834cf7d3965bb0da31bbb02bd8513a"; | |
2025 | }; |
|
2012 | }; | |
2026 | meta = { |
|
2013 | meta = { | |
2027 | license = [ pkgs.lib.licenses.bsdOriginal ]; |
|
2014 | license = [ pkgs.lib.licenses.bsdOriginal ]; | |
2028 | }; |
|
2015 | }; | |
2029 | }; |
|
2016 | }; | |
2030 | wsgiref = super.buildPythonPackage { |
|
2017 | wsgiref = super.buildPythonPackage { | |
2031 | name = "wsgiref-0.1.2"; |
|
2018 | name = "wsgiref-0.1.2"; | |
2032 | buildInputs = with self; []; |
|
2019 | buildInputs = with self; []; | |
2033 | doCheck = false; |
|
2020 | doCheck = false; | |
2034 | propagatedBuildInputs = with self; []; |
|
2021 | propagatedBuildInputs = with self; []; | |
2035 | src = fetchurl { |
|
2022 | src = fetchurl { | |
2036 | url = "https://pypi.python.org/packages/41/9e/309259ce8dff8c596e8c26df86dbc4e848b9249fd36797fd60be456f03fc/wsgiref-0.1.2.zip"; |
|
2023 | url = "https://pypi.python.org/packages/41/9e/309259ce8dff8c596e8c26df86dbc4e848b9249fd36797fd60be456f03fc/wsgiref-0.1.2.zip"; | |
2037 | md5 = "29b146e6ebd0f9fb119fe321f7bcf6cb"; |
|
2024 | md5 = "29b146e6ebd0f9fb119fe321f7bcf6cb"; | |
2038 | }; |
|
2025 | }; | |
2039 | meta = { |
|
2026 | meta = { | |
2040 | license = [ { fullName = "PSF or ZPL"; } ]; |
|
2027 | license = [ { fullName = "PSF or ZPL"; } ]; | |
2041 | }; |
|
2028 | }; | |
2042 | }; |
|
2029 | }; | |
2043 | zope.cachedescriptors = super.buildPythonPackage { |
|
2030 | zope.cachedescriptors = super.buildPythonPackage { | |
2044 | name = "zope.cachedescriptors-4.3.1"; |
|
2031 | name = "zope.cachedescriptors-4.3.1"; | |
2045 | buildInputs = with self; []; |
|
2032 | buildInputs = with self; []; | |
2046 | doCheck = false; |
|
2033 | doCheck = false; | |
2047 | propagatedBuildInputs = with self; [setuptools]; |
|
2034 | propagatedBuildInputs = with self; [setuptools]; | |
2048 | src = fetchurl { |
|
2035 | src = fetchurl { | |
2049 | url = "https://pypi.python.org/packages/2f/89/ebe1890cc6d3291ebc935558fa764d5fffe571018dbbee200e9db78762cb/zope.cachedescriptors-4.3.1.tar.gz"; |
|
2036 | url = "https://pypi.python.org/packages/2f/89/ebe1890cc6d3291ebc935558fa764d5fffe571018dbbee200e9db78762cb/zope.cachedescriptors-4.3.1.tar.gz"; | |
2050 | md5 = "42f3693f43bc93f3b1eb86940f58acf3"; |
|
2037 | md5 = "42f3693f43bc93f3b1eb86940f58acf3"; | |
2051 | }; |
|
2038 | }; | |
2052 | meta = { |
|
2039 | meta = { | |
2053 | license = [ pkgs.lib.licenses.zpt21 ]; |
|
2040 | license = [ pkgs.lib.licenses.zpt21 ]; | |
2054 | }; |
|
2041 | }; | |
2055 | }; |
|
2042 | }; | |
2056 | zope.deprecation = super.buildPythonPackage { |
|
2043 | zope.deprecation = super.buildPythonPackage { | |
2057 | name = "zope.deprecation-4.3.0"; |
|
2044 | name = "zope.deprecation-4.3.0"; | |
2058 | buildInputs = with self; []; |
|
2045 | buildInputs = with self; []; | |
2059 | doCheck = false; |
|
2046 | doCheck = false; | |
2060 | propagatedBuildInputs = with self; [setuptools]; |
|
2047 | propagatedBuildInputs = with self; [setuptools]; | |
2061 | src = fetchurl { |
|
2048 | src = fetchurl { | |
2062 | url = "https://pypi.python.org/packages/a1/18/2dc5e6bfe64fdc3b79411b67464c55bb0b43b127051a20f7f492ab767758/zope.deprecation-4.3.0.tar.gz"; |
|
2049 | url = "https://pypi.python.org/packages/a1/18/2dc5e6bfe64fdc3b79411b67464c55bb0b43b127051a20f7f492ab767758/zope.deprecation-4.3.0.tar.gz"; | |
2063 | md5 = "2166b2cb7e0e96a21104e6f8f9b696bb"; |
|
2050 | md5 = "2166b2cb7e0e96a21104e6f8f9b696bb"; | |
2064 | }; |
|
2051 | }; | |
2065 | meta = { |
|
2052 | meta = { | |
2066 | license = [ pkgs.lib.licenses.zpt21 ]; |
|
2053 | license = [ pkgs.lib.licenses.zpt21 ]; | |
2067 | }; |
|
2054 | }; | |
2068 | }; |
|
2055 | }; | |
2069 | zope.event = super.buildPythonPackage { |
|
2056 | zope.event = super.buildPythonPackage { | |
2070 | name = "zope.event-4.3.0"; |
|
2057 | name = "zope.event-4.3.0"; | |
2071 | buildInputs = with self; []; |
|
2058 | buildInputs = with self; []; | |
2072 | doCheck = false; |
|
2059 | doCheck = false; | |
2073 | propagatedBuildInputs = with self; [setuptools]; |
|
2060 | propagatedBuildInputs = with self; [setuptools]; | |
2074 | src = fetchurl { |
|
2061 | src = fetchurl { | |
2075 | url = "https://pypi.python.org/packages/9e/d0/54ba59f19a0635f6591b74be259cf6fbf67e73f4edda27b5cd0cf4d26efa/zope.event-4.3.0.tar.gz"; |
|
2062 | url = "https://pypi.python.org/packages/9e/d0/54ba59f19a0635f6591b74be259cf6fbf67e73f4edda27b5cd0cf4d26efa/zope.event-4.3.0.tar.gz"; | |
2076 | md5 = "8ca737960741c6fd112972f3313303bd"; |
|
2063 | md5 = "8ca737960741c6fd112972f3313303bd"; | |
2077 | }; |
|
2064 | }; | |
2078 | meta = { |
|
2065 | meta = { | |
2079 | license = [ pkgs.lib.licenses.zpt21 ]; |
|
2066 | license = [ pkgs.lib.licenses.zpt21 ]; | |
2080 | }; |
|
2067 | }; | |
2081 | }; |
|
2068 | }; | |
2082 | zope.interface = super.buildPythonPackage { |
|
2069 | zope.interface = super.buildPythonPackage { | |
2083 | name = "zope.interface-4.4.3"; |
|
2070 | name = "zope.interface-4.4.3"; | |
2084 | buildInputs = with self; []; |
|
2071 | buildInputs = with self; []; | |
2085 | doCheck = false; |
|
2072 | doCheck = false; | |
2086 | propagatedBuildInputs = with self; [setuptools]; |
|
2073 | propagatedBuildInputs = with self; [setuptools]; | |
2087 | src = fetchurl { |
|
2074 | src = fetchurl { | |
2088 | url = "https://pypi.python.org/packages/bd/d2/25349ed41f9dcff7b3baf87bd88a4c82396cf6e02f1f42bb68657a3132af/zope.interface-4.4.3.tar.gz"; |
|
2075 | url = "https://pypi.python.org/packages/bd/d2/25349ed41f9dcff7b3baf87bd88a4c82396cf6e02f1f42bb68657a3132af/zope.interface-4.4.3.tar.gz"; | |
2089 | md5 = "8700a4f527c1203b34b10c2b4e7a6912"; |
|
2076 | md5 = "8700a4f527c1203b34b10c2b4e7a6912"; | |
2090 | }; |
|
2077 | }; | |
2091 | meta = { |
|
2078 | meta = { | |
2092 | license = [ pkgs.lib.licenses.zpt21 ]; |
|
2079 | license = [ pkgs.lib.licenses.zpt21 ]; | |
2093 | }; |
|
2080 | }; | |
2094 | }; |
|
2081 | }; | |
2095 |
|
2082 | |||
2096 | ### Test requirements |
|
2083 | ### Test requirements | |
2097 |
|
2084 | |||
2098 |
|
2085 | |||
2099 | } |
|
2086 | } |
@@ -1,132 +1,131 b'' | |||||
1 | ## core |
|
1 | ## core | |
2 | setuptools==30.1.0 |
|
2 | setuptools==30.1.0 | |
3 | setuptools-scm==1.15.6 |
|
3 | setuptools-scm==1.15.6 | |
4 |
|
4 | |||
5 | amqp==2.2.2 |
|
5 | amqp==2.2.2 | |
6 | authomatic==0.1.0.post1 |
|
6 | authomatic==0.1.0.post1 | |
7 | Babel==1.3 |
|
7 | Babel==1.3 | |
8 | Beaker==1.9.1 |
|
8 | Beaker==1.9.1 | |
9 | celery==4.1.0 |
|
9 | celery==4.1.0 | |
10 | Chameleon==2.24 |
|
10 | Chameleon==2.24 | |
11 | channelstream==0.5.2 |
|
11 | channelstream==0.5.2 | |
12 | click==6.6 |
|
12 | click==6.6 | |
13 | colander==1.4.0 |
|
13 | colander==1.4.0 | |
14 | configobj==5.0.6 |
|
14 | configobj==5.0.6 | |
15 | cssselect==1.0.1 |
|
15 | cssselect==1.0.1 | |
16 | decorator==4.1.2 |
|
16 | decorator==4.1.2 | |
17 | deform==2.0.4 |
|
17 | deform==2.0.4 | |
18 | docutils==0.14.0 |
|
18 | docutils==0.14.0 | |
19 | dogpile.cache==0.6.4 |
|
19 | dogpile.cache==0.6.4 | |
20 | dogpile.core==0.4.1 |
|
20 | dogpile.core==0.4.1 | |
21 | ecdsa==0.13 |
|
21 | ecdsa==0.13 | |
22 | FormEncode==1.2.4 |
|
22 | FormEncode==1.2.4 | |
23 | future==0.14.3 |
|
23 | future==0.14.3 | |
24 | futures==3.0.2 |
|
24 | futures==3.0.2 | |
25 | gnureadline==6.3.8 |
|
25 | gnureadline==6.3.8 | |
26 | infrae.cache==1.0.1 |
|
26 | infrae.cache==1.0.1 | |
27 | iso8601==0.1.12 |
|
27 | iso8601==0.1.12 | |
28 | itsdangerous==0.24 |
|
28 | itsdangerous==0.24 | |
29 | Jinja2==2.9.6 |
|
29 | Jinja2==2.9.6 | |
30 | billiard==3.5.0.3 |
|
30 | billiard==3.5.0.3 | |
31 | kombu==4.1.0 |
|
31 | kombu==4.1.0 | |
32 | lxml==3.7.3 |
|
32 | lxml==3.7.3 | |
33 | Mako==1.0.7 |
|
33 | Mako==1.0.7 | |
34 | Markdown==2.6.11 |
|
34 | Markdown==2.6.11 | |
35 | MarkupSafe==1.0.0 |
|
35 | MarkupSafe==1.0.0 | |
36 | msgpack-python==0.4.8 |
|
36 | msgpack-python==0.4.8 | |
37 | MySQL-python==1.2.5 |
|
37 | MySQL-python==1.2.5 | |
38 | objgraph==3.1.1 |
|
38 | objgraph==3.1.1 | |
39 | packaging==15.2 |
|
39 | packaging==15.2 | |
40 | Paste==2.0.3 |
|
40 | Paste==2.0.3 | |
41 | PasteDeploy==1.5.2 |
|
41 | PasteDeploy==1.5.2 | |
42 | PasteScript==2.0.2 |
|
42 | PasteScript==2.0.2 | |
43 | pathlib2==2.3.0 |
|
43 | pathlib2==2.3.0 | |
44 | peppercorn==0.5 |
|
44 | peppercorn==0.5 | |
45 | psutil==5.4.3 |
|
45 | psutil==5.4.3 | |
46 | psycopg2==2.7.3.2 |
|
46 | psycopg2==2.7.3.2 | |
47 | py-bcrypt==0.4 |
|
47 | py-bcrypt==0.4 | |
48 | pycrypto==2.6.1 |
|
48 | pycrypto==2.6.1 | |
49 | pycurl==7.19.5 |
|
49 | pycurl==7.19.5 | |
50 | pyflakes==0.8.1 |
|
50 | pyflakes==0.8.1 | |
51 | pygments-markdown-lexer==0.1.0.dev39 |
|
51 | pygments-markdown-lexer==0.1.0.dev39 | |
52 | Pygments==2.2.0 |
|
52 | Pygments==2.2.0 | |
53 | pyparsing==1.5.7 |
|
53 | pyparsing==1.5.7 | |
54 | pyramid-beaker==0.8 |
|
54 | pyramid-beaker==0.8 | |
55 | pyramid-debugtoolbar==4.3.0 |
|
55 | pyramid-debugtoolbar==4.3.0 | |
56 | pyramid-jinja2==2.7 |
|
56 | pyramid-jinja2==2.7 | |
57 | pyramid-mako==1.0.2 |
|
57 | pyramid-mako==1.0.2 | |
58 | pyramid==1.9.1 |
|
58 | pyramid==1.9.1 | |
59 | pysqlite==2.8.3 |
|
59 | pysqlite==2.8.3 | |
60 | python-dateutil |
|
60 | python-dateutil | |
61 | python-ldap==2.4.45 |
|
61 | python-ldap==2.4.45 | |
62 | python-memcached==1.58 |
|
62 | python-memcached==1.58 | |
63 | python-pam==1.8.2 |
|
63 | python-pam==1.8.2 | |
64 | pytz==2018.3 |
|
64 | pytz==2018.3 | |
65 | tzlocal==1.5.1 |
|
65 | tzlocal==1.5.1 | |
66 | pyzmq==14.6.0 |
|
66 | pyzmq==14.6.0 | |
67 | py-gfm==0.1.3 |
|
67 | py-gfm==0.1.3 | |
68 | recaptcha-client==1.0.6 |
|
|||
69 | redis==2.10.6 |
|
68 | redis==2.10.6 | |
70 | repoze.lru==0.7 |
|
69 | repoze.lru==0.7 | |
71 | requests==2.9.1 |
|
70 | requests==2.9.1 | |
72 | Routes==2.4.1 |
|
71 | Routes==2.4.1 | |
73 | setproctitle==1.1.10 |
|
72 | setproctitle==1.1.10 | |
74 | simplejson==3.11.1 |
|
73 | simplejson==3.11.1 | |
75 | six==1.11.0 |
|
74 | six==1.11.0 | |
76 | SQLAlchemy==1.1.15 |
|
75 | SQLAlchemy==1.1.15 | |
77 | sshpubkeys==2.2.0 |
|
76 | sshpubkeys==2.2.0 | |
78 | subprocess32==3.2.7 |
|
77 | subprocess32==3.2.7 | |
79 | supervisor==3.3.4 |
|
78 | supervisor==3.3.4 | |
80 | Tempita==0.5.2 |
|
79 | Tempita==0.5.2 | |
81 | translationstring==1.3 |
|
80 | translationstring==1.3 | |
82 | trollius==1.0.4 |
|
81 | trollius==1.0.4 | |
83 | urllib3==1.16 |
|
82 | urllib3==1.16 | |
84 | URLObject==2.4.0 |
|
83 | URLObject==2.4.0 | |
85 | venusian==1.1.0 |
|
84 | venusian==1.1.0 | |
86 | WebError==0.10.3 |
|
85 | WebError==0.10.3 | |
87 | WebHelpers2==2.0 |
|
86 | WebHelpers2==2.0 | |
88 | WebHelpers==1.3 |
|
87 | WebHelpers==1.3 | |
89 | WebOb==1.7.4 |
|
88 | WebOb==1.7.4 | |
90 | Whoosh==2.7.4 |
|
89 | Whoosh==2.7.4 | |
91 | wsgiref==0.1.2 |
|
90 | wsgiref==0.1.2 | |
92 | zope.cachedescriptors==4.3.1 |
|
91 | zope.cachedescriptors==4.3.1 | |
93 | zope.deprecation==4.3.0 |
|
92 | zope.deprecation==4.3.0 | |
94 | zope.event==4.3.0 |
|
93 | zope.event==4.3.0 | |
95 | zope.interface==4.4.3 |
|
94 | zope.interface==4.4.3 | |
96 |
|
95 | |||
97 |
|
96 | |||
98 | # IPYTHON RENDERING |
|
97 | # IPYTHON RENDERING | |
99 | # entrypoints backport, pypi version doesn't support egg installs |
|
98 | # entrypoints backport, pypi version doesn't support egg installs | |
100 | https://code.rhodecode.com/upstream/entrypoints/archive/96e6d645684e1af3d7df5b5272f3fe85a546b233.tar.gz?md5=7db37771aea9ac9fefe093e5d6987313#egg=entrypoints==0.2.2.rhodecode-upstream1 |
|
99 | https://code.rhodecode.com/upstream/entrypoints/archive/96e6d645684e1af3d7df5b5272f3fe85a546b233.tar.gz?md5=7db37771aea9ac9fefe093e5d6987313#egg=entrypoints==0.2.2.rhodecode-upstream1 | |
101 | nbconvert==5.3.1 |
|
100 | nbconvert==5.3.1 | |
102 | bleach==2.1.2 |
|
101 | bleach==2.1.2 | |
103 | nbformat==4.4.0 |
|
102 | nbformat==4.4.0 | |
104 | jupyter_client==5.0.0 |
|
103 | jupyter_client==5.0.0 | |
105 |
|
104 | |||
106 | ## cli tools |
|
105 | ## cli tools | |
107 | alembic==0.9.8 |
|
106 | alembic==0.9.8 | |
108 | invoke==0.13.0 |
|
107 | invoke==0.13.0 | |
109 | bumpversion==0.5.3 |
|
108 | bumpversion==0.5.3 | |
110 | transifex-client==0.12.5 |
|
109 | transifex-client==0.12.5 | |
111 |
|
110 | |||
112 | ## http servers |
|
111 | ## http servers | |
113 | gevent==1.2.2 |
|
112 | gevent==1.2.2 | |
114 | greenlet==0.4.13 |
|
113 | greenlet==0.4.13 | |
115 | gunicorn==19.7.1 |
|
114 | gunicorn==19.7.1 | |
116 | waitress==1.1.0 |
|
115 | waitress==1.1.0 | |
117 | uWSGI==2.0.15 |
|
116 | uWSGI==2.0.15 | |
118 |
|
117 | |||
119 | ## debug |
|
118 | ## debug | |
120 | ipdb==0.10.3 |
|
119 | ipdb==0.10.3 | |
121 | ipython==5.1.0 |
|
120 | ipython==5.1.0 | |
122 | CProfileV==1.0.7 |
|
121 | CProfileV==1.0.7 | |
123 | bottle==0.12.13 |
|
122 | bottle==0.12.13 | |
124 |
|
123 | |||
125 | ## rhodecode-tools, special case |
|
124 | ## rhodecode-tools, special case | |
126 | https://code.rhodecode.com/rhodecode-tools-ce/archive/v0.14.1.tar.gz?md5=0b9c2caad160b68889f8172ea54af7b2#egg=rhodecode-tools==0.14.1 |
|
125 | https://code.rhodecode.com/rhodecode-tools-ce/archive/v0.14.1.tar.gz?md5=0b9c2caad160b68889f8172ea54af7b2#egg=rhodecode-tools==0.14.1 | |
127 |
|
126 | |||
128 | ## appenlight |
|
127 | ## appenlight | |
129 | appenlight-client==0.6.25 |
|
128 | appenlight-client==0.6.25 | |
130 |
|
129 | |||
131 | ## test related requirements |
|
130 | ## test related requirements | |
132 | -r requirements_test.txt |
|
131 | -r requirements_test.txt |
@@ -1,133 +1,133 b'' | |||||
1 | # -*- coding: utf-8 -*- |
|
1 | # -*- coding: utf-8 -*- | |
2 |
|
2 | |||
3 | # Copyright (C) 2016-2018 RhodeCode GmbH |
|
3 | # Copyright (C) 2016-2018 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 | import mock |
|
22 | import mock | |
23 | import pytest |
|
23 | import pytest | |
24 |
|
24 | |||
25 | from rhodecode.apps._base import ADMIN_PREFIX |
|
25 | from rhodecode.apps._base import ADMIN_PREFIX | |
26 | from rhodecode.apps.login.views import LoginView, CaptchaData |
|
26 | from rhodecode.apps.login.views import LoginView, CaptchaData | |
27 | from rhodecode.model.settings import SettingsModel |
|
27 | from rhodecode.model.settings import SettingsModel | |
28 | from rhodecode.lib.utils2 import AttributeDict |
|
28 | from rhodecode.lib.utils2 import AttributeDict | |
29 | from rhodecode.tests.utils import AssertResponse |
|
29 | from rhodecode.tests.utils import AssertResponse | |
30 |
|
30 | |||
31 |
|
31 | |||
32 | class RhodeCodeSetting(object): |
|
32 | class RhodeCodeSetting(object): | |
33 | def __init__(self, name, value): |
|
33 | def __init__(self, name, value): | |
34 | self.name = name |
|
34 | self.name = name | |
35 | self.value = value |
|
35 | self.value = value | |
36 |
|
36 | |||
37 | def __enter__(self): |
|
37 | def __enter__(self): | |
38 | from rhodecode.model.settings import SettingsModel |
|
38 | from rhodecode.model.settings import SettingsModel | |
39 | model = SettingsModel() |
|
39 | model = SettingsModel() | |
40 | self.old_setting = model.get_setting_by_name(self.name) |
|
40 | self.old_setting = model.get_setting_by_name(self.name) | |
41 | model.create_or_update_setting(name=self.name, val=self.value) |
|
41 | model.create_or_update_setting(name=self.name, val=self.value) | |
42 | return self |
|
42 | return self | |
43 |
|
43 | |||
44 | def __exit__(self, exc_type, exc_val, exc_tb): |
|
44 | def __exit__(self, exc_type, exc_val, exc_tb): | |
45 | model = SettingsModel() |
|
45 | model = SettingsModel() | |
46 | if self.old_setting: |
|
46 | if self.old_setting: | |
47 | model.create_or_update_setting( |
|
47 | model.create_or_update_setting( | |
48 | name=self.name, val=self.old_setting.app_settings_value) |
|
48 | name=self.name, val=self.old_setting.app_settings_value) | |
49 | else: |
|
49 | else: | |
50 | model.create_or_update_setting(name=self.name) |
|
50 | model.create_or_update_setting(name=self.name) | |
51 |
|
51 | |||
52 |
|
52 | |||
53 | class TestRegisterCaptcha(object): |
|
53 | class TestRegisterCaptcha(object): | |
54 |
|
54 | |||
55 | @pytest.mark.parametrize('private_key, public_key, expected', [ |
|
55 | @pytest.mark.parametrize('private_key, public_key, expected', [ | |
56 | ('', '', CaptchaData(False, '', '')), |
|
56 | ('', '', CaptchaData(False, '', '')), | |
57 | ('', 'pubkey', CaptchaData(False, '', 'pubkey')), |
|
57 | ('', 'pubkey', CaptchaData(False, '', 'pubkey')), | |
58 | ('privkey', '', CaptchaData(True, 'privkey', '')), |
|
58 | ('privkey', '', CaptchaData(True, 'privkey', '')), | |
59 | ('privkey', 'pubkey', CaptchaData(True, 'privkey', 'pubkey')), |
|
59 | ('privkey', 'pubkey', CaptchaData(True, 'privkey', 'pubkey')), | |
60 | ]) |
|
60 | ]) | |
61 | def test_get_captcha_data(self, private_key, public_key, expected, |
|
61 | def test_get_captcha_data(self, private_key, public_key, expected, | |
62 | request_stub, user_util): |
|
62 | request_stub, user_util): | |
63 | request_stub.user = user_util.create_user().AuthUser() |
|
63 | request_stub.user = user_util.create_user().AuthUser() | |
64 | request_stub.matched_route = AttributeDict({'name': 'login'}) |
|
64 | request_stub.matched_route = AttributeDict({'name': 'login'}) | |
65 | login_view = LoginView(mock.Mock(), request_stub) |
|
65 | login_view = LoginView(mock.Mock(), request_stub) | |
66 |
|
66 | |||
67 | with RhodeCodeSetting('captcha_private_key', private_key): |
|
67 | with RhodeCodeSetting('captcha_private_key', private_key): | |
68 | with RhodeCodeSetting('captcha_public_key', public_key): |
|
68 | with RhodeCodeSetting('captcha_public_key', public_key): | |
69 | captcha = login_view._get_captcha_data() |
|
69 | captcha = login_view._get_captcha_data() | |
70 | assert captcha == expected |
|
70 | assert captcha == expected | |
71 |
|
71 | |||
72 | @pytest.mark.parametrize('active', [False, True]) |
|
72 | @pytest.mark.parametrize('active', [False, True]) | |
73 | @mock.patch.object(LoginView, '_get_captcha_data') |
|
73 | @mock.patch.object(LoginView, '_get_captcha_data') | |
74 | def test_private_key_does_not_leak_to_html( |
|
74 | def test_private_key_does_not_leak_to_html( | |
75 | self, m_get_captcha_data, active, app): |
|
75 | self, m_get_captcha_data, active, app): | |
76 | captcha = CaptchaData( |
|
76 | captcha = CaptchaData( | |
77 | active=active, private_key='PRIVATE_KEY', public_key='PUBLIC_KEY') |
|
77 | active=active, private_key='PRIVATE_KEY', public_key='PUBLIC_KEY') | |
78 | m_get_captcha_data.return_value = captcha |
|
78 | m_get_captcha_data.return_value = captcha | |
79 |
|
79 | |||
80 | response = app.get(ADMIN_PREFIX + '/register') |
|
80 | response = app.get(ADMIN_PREFIX + '/register') | |
81 | assert 'PRIVATE_KEY' not in response |
|
81 | assert 'PRIVATE_KEY' not in response | |
82 |
|
82 | |||
83 | @pytest.mark.parametrize('active', [False, True]) |
|
83 | @pytest.mark.parametrize('active', [False, True]) | |
84 | @mock.patch.object(LoginView, '_get_captcha_data') |
|
84 | @mock.patch.object(LoginView, '_get_captcha_data') | |
85 | def test_register_view_renders_captcha( |
|
85 | def test_register_view_renders_captcha( | |
86 | self, m_get_captcha_data, active, app): |
|
86 | self, m_get_captcha_data, active, app): | |
87 | captcha = CaptchaData( |
|
87 | captcha = CaptchaData( | |
88 | active=active, private_key='PRIVATE_KEY', public_key='PUBLIC_KEY') |
|
88 | active=active, private_key='PRIVATE_KEY', public_key='PUBLIC_KEY') | |
89 | m_get_captcha_data.return_value = captcha |
|
89 | m_get_captcha_data.return_value = captcha | |
90 |
|
90 | |||
91 | response = app.get(ADMIN_PREFIX + '/register') |
|
91 | response = app.get(ADMIN_PREFIX + '/register') | |
92 |
|
92 | |||
93 | assertr = AssertResponse(response) |
|
93 | assertr = AssertResponse(response) | |
94 | if active: |
|
94 | if active: | |
95 | assertr.one_element_exists('#recaptcha_field') |
|
95 | assertr.one_element_exists('#recaptcha_field') | |
96 | else: |
|
96 | else: | |
97 | assertr.no_element_exists('#recaptcha_field') |
|
97 | assertr.no_element_exists('#recaptcha_field') | |
98 |
|
98 | |||
99 | @pytest.mark.parametrize('valid', [False, True]) |
|
99 | @pytest.mark.parametrize('valid', [False, True]) | |
100 | @mock.patch('rhodecode.apps.login.views.submit') |
|
100 | @mock.patch.object(LoginView, 'validate_captcha') | |
101 | @mock.patch.object(LoginView, '_get_captcha_data') |
|
101 | @mock.patch.object(LoginView, '_get_captcha_data') | |
102 | def test_register_with_active_captcha( |
|
102 | def test_register_with_active_captcha( | |
103 |
self, m_get_captcha_data, m_ |
|
103 | self, m_get_captcha_data, m_validate_captcha, valid, app, csrf_token): | |
104 | captcha = CaptchaData( |
|
104 | captcha = CaptchaData( | |
105 | active=True, private_key='PRIVATE_KEY', public_key='PUBLIC_KEY') |
|
105 | active=True, private_key='PRIVATE_KEY', public_key='PUBLIC_KEY') | |
106 | m_get_captcha_data.return_value = captcha |
|
106 | m_get_captcha_data.return_value = captcha | |
107 | m_response = mock.Mock() |
|
107 | m_response = mock.Mock() | |
108 | m_response.is_valid = valid |
|
108 | m_response.is_valid = valid | |
109 |
m_ |
|
109 | m_validate_captcha.return_value = valid, 'ok' | |
110 |
|
110 | |||
111 | params = { |
|
111 | params = { | |
112 | 'csrf_token': csrf_token, |
|
112 | 'csrf_token': csrf_token, | |
113 | 'email': 'pytest@example.com', |
|
113 | 'email': 'pytest@example.com', | |
114 | 'firstname': 'pytest-firstname', |
|
114 | 'firstname': 'pytest-firstname', | |
115 | 'lastname': 'pytest-lastname', |
|
115 | 'lastname': 'pytest-lastname', | |
116 | 'password': 'secret', |
|
116 | 'password': 'secret', | |
117 | 'password_confirmation': 'secret', |
|
117 | 'password_confirmation': 'secret', | |
118 | 'username': 'pytest', |
|
118 | 'username': 'pytest', | |
119 | } |
|
119 | } | |
120 | response = app.post(ADMIN_PREFIX + '/register', params=params) |
|
120 | response = app.post(ADMIN_PREFIX + '/register', params=params) | |
121 |
|
121 | |||
122 | if valid: |
|
122 | if valid: | |
123 | # If we provided a valid captcha input we expect a successful |
|
123 | # If we provided a valid captcha input we expect a successful | |
124 | # registration and redirect to the login page. |
|
124 | # registration and redirect to the login page. | |
125 | assert response.status_int == 302 |
|
125 | assert response.status_int == 302 | |
126 | assert 'location' in response.headers |
|
126 | assert 'location' in response.headers | |
127 | assert ADMIN_PREFIX + '/login' in response.headers['location'] |
|
127 | assert ADMIN_PREFIX + '/login' in response.headers['location'] | |
128 | else: |
|
128 | else: | |
129 | # If captche input is invalid we expect to stay on the registration |
|
129 | # If captche input is invalid we expect to stay on the registration | |
130 | # page with an error message displayed. |
|
130 | # page with an error message displayed. | |
131 | assertr = AssertResponse(response) |
|
131 | assertr = AssertResponse(response) | |
132 | assert response.status_int == 200 |
|
132 | assert response.status_int == 200 | |
133 | assertr.one_element_exists('#recaptcha_field ~ span.error-message') |
|
133 | assertr.one_element_exists('#recaptcha_field ~ span.error-message') |
@@ -1,435 +1,454 b'' | |||||
1 | # -*- coding: utf-8 -*- |
|
1 | # -*- coding: utf-8 -*- | |
2 |
|
2 | |||
3 | # Copyright (C) 2016-2018 RhodeCode GmbH |
|
3 | # Copyright (C) 2016-2018 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 | import time |
|
21 | import time | |
22 | import collections |
|
22 | import collections | |
23 | import datetime |
|
23 | import datetime | |
24 | import formencode |
|
24 | import formencode | |
25 | import formencode.htmlfill |
|
25 | import formencode.htmlfill | |
26 | import logging |
|
26 | import logging | |
27 | import urlparse |
|
27 | import urlparse | |
|
28 | import requests | |||
28 |
|
29 | |||
29 | from pyramid.httpexceptions import HTTPFound |
|
30 | from pyramid.httpexceptions import HTTPFound | |
30 | from pyramid.view import view_config |
|
31 | from pyramid.view import view_config | |
31 | from recaptcha.client.captcha import submit |
|
|||
32 |
|
32 | |||
33 | from rhodecode.apps._base import BaseAppView |
|
33 | from rhodecode.apps._base import BaseAppView | |
34 | from rhodecode.authentication.base import authenticate, HTTP_TYPE |
|
34 | from rhodecode.authentication.base import authenticate, HTTP_TYPE | |
35 | from rhodecode.events import UserRegistered, trigger |
|
35 | from rhodecode.events import UserRegistered, trigger | |
36 | from rhodecode.lib import helpers as h |
|
36 | from rhodecode.lib import helpers as h | |
37 | from rhodecode.lib import audit_logger |
|
37 | from rhodecode.lib import audit_logger | |
38 | from rhodecode.lib.auth import ( |
|
38 | from rhodecode.lib.auth import ( | |
39 | AuthUser, HasPermissionAnyDecorator, CSRFRequired) |
|
39 | AuthUser, HasPermissionAnyDecorator, CSRFRequired) | |
40 | from rhodecode.lib.base import get_ip_addr |
|
40 | from rhodecode.lib.base import get_ip_addr | |
41 | from rhodecode.lib.exceptions import UserCreationError |
|
41 | from rhodecode.lib.exceptions import UserCreationError | |
42 | from rhodecode.lib.utils2 import safe_str |
|
42 | from rhodecode.lib.utils2 import safe_str | |
43 | from rhodecode.model.db import User, UserApiKeys |
|
43 | from rhodecode.model.db import User, UserApiKeys | |
44 | from rhodecode.model.forms import LoginForm, RegisterForm, PasswordResetForm |
|
44 | from rhodecode.model.forms import LoginForm, RegisterForm, PasswordResetForm | |
45 | from rhodecode.model.meta import Session |
|
45 | from rhodecode.model.meta import Session | |
46 | from rhodecode.model.auth_token import AuthTokenModel |
|
46 | from rhodecode.model.auth_token import AuthTokenModel | |
47 | from rhodecode.model.settings import SettingsModel |
|
47 | from rhodecode.model.settings import SettingsModel | |
48 | from rhodecode.model.user import UserModel |
|
48 | from rhodecode.model.user import UserModel | |
49 | from rhodecode.translation import _ |
|
49 | from rhodecode.translation import _ | |
50 |
|
50 | |||
51 |
|
51 | |||
52 | log = logging.getLogger(__name__) |
|
52 | log = logging.getLogger(__name__) | |
53 |
|
53 | |||
54 | CaptchaData = collections.namedtuple( |
|
54 | CaptchaData = collections.namedtuple( | |
55 | 'CaptchaData', 'active, private_key, public_key') |
|
55 | 'CaptchaData', 'active, private_key, public_key') | |
56 |
|
56 | |||
57 |
|
57 | |||
58 | def _store_user_in_session(session, username, remember=False): |
|
58 | def _store_user_in_session(session, username, remember=False): | |
59 | user = User.get_by_username(username, case_insensitive=True) |
|
59 | user = User.get_by_username(username, case_insensitive=True) | |
60 | auth_user = AuthUser(user.user_id) |
|
60 | auth_user = AuthUser(user.user_id) | |
61 | auth_user.set_authenticated() |
|
61 | auth_user.set_authenticated() | |
62 | cs = auth_user.get_cookie_store() |
|
62 | cs = auth_user.get_cookie_store() | |
63 | session['rhodecode_user'] = cs |
|
63 | session['rhodecode_user'] = cs | |
64 | user.update_lastlogin() |
|
64 | user.update_lastlogin() | |
65 | Session().commit() |
|
65 | Session().commit() | |
66 |
|
66 | |||
67 | # If they want to be remembered, update the cookie |
|
67 | # If they want to be remembered, update the cookie | |
68 | if remember: |
|
68 | if remember: | |
69 | _year = (datetime.datetime.now() + |
|
69 | _year = (datetime.datetime.now() + | |
70 | datetime.timedelta(seconds=60 * 60 * 24 * 365)) |
|
70 | datetime.timedelta(seconds=60 * 60 * 24 * 365)) | |
71 | session._set_cookie_expires(_year) |
|
71 | session._set_cookie_expires(_year) | |
72 |
|
72 | |||
73 | session.save() |
|
73 | session.save() | |
74 |
|
74 | |||
75 | safe_cs = cs.copy() |
|
75 | safe_cs = cs.copy() | |
76 | safe_cs['password'] = '****' |
|
76 | safe_cs['password'] = '****' | |
77 | log.info('user %s is now authenticated and stored in ' |
|
77 | log.info('user %s is now authenticated and stored in ' | |
78 | 'session, session attrs %s', username, safe_cs) |
|
78 | 'session, session attrs %s', username, safe_cs) | |
79 |
|
79 | |||
80 | # dumps session attrs back to cookie |
|
80 | # dumps session attrs back to cookie | |
81 | session._update_cookie_out() |
|
81 | session._update_cookie_out() | |
82 | # we set new cookie |
|
82 | # we set new cookie | |
83 | headers = None |
|
83 | headers = None | |
84 | if session.request['set_cookie']: |
|
84 | if session.request['set_cookie']: | |
85 | # send set-cookie headers back to response to update cookie |
|
85 | # send set-cookie headers back to response to update cookie | |
86 | headers = [('Set-Cookie', session.request['cookie_out'])] |
|
86 | headers = [('Set-Cookie', session.request['cookie_out'])] | |
87 | return headers |
|
87 | return headers | |
88 |
|
88 | |||
89 |
|
89 | |||
90 | def get_came_from(request): |
|
90 | def get_came_from(request): | |
91 | came_from = safe_str(request.GET.get('came_from', '')) |
|
91 | came_from = safe_str(request.GET.get('came_from', '')) | |
92 | parsed = urlparse.urlparse(came_from) |
|
92 | parsed = urlparse.urlparse(came_from) | |
93 | allowed_schemes = ['http', 'https'] |
|
93 | allowed_schemes = ['http', 'https'] | |
94 | default_came_from = h.route_path('home') |
|
94 | default_came_from = h.route_path('home') | |
95 | if parsed.scheme and parsed.scheme not in allowed_schemes: |
|
95 | if parsed.scheme and parsed.scheme not in allowed_schemes: | |
96 | log.error('Suspicious URL scheme detected %s for url %s' % |
|
96 | log.error('Suspicious URL scheme detected %s for url %s' % | |
97 | (parsed.scheme, parsed)) |
|
97 | (parsed.scheme, parsed)) | |
98 | came_from = default_came_from |
|
98 | came_from = default_came_from | |
99 | elif parsed.netloc and request.host != parsed.netloc: |
|
99 | elif parsed.netloc and request.host != parsed.netloc: | |
100 | log.error('Suspicious NETLOC detected %s for url %s server url ' |
|
100 | log.error('Suspicious NETLOC detected %s for url %s server url ' | |
101 | 'is: %s' % (parsed.netloc, parsed, request.host)) |
|
101 | 'is: %s' % (parsed.netloc, parsed, request.host)) | |
102 | came_from = default_came_from |
|
102 | came_from = default_came_from | |
103 | elif any(bad_str in parsed.path for bad_str in ('\r', '\n')): |
|
103 | elif any(bad_str in parsed.path for bad_str in ('\r', '\n')): | |
104 | log.error('Header injection detected `%s` for url %s server url ' % |
|
104 | log.error('Header injection detected `%s` for url %s server url ' % | |
105 | (parsed.path, parsed)) |
|
105 | (parsed.path, parsed)) | |
106 | came_from = default_came_from |
|
106 | came_from = default_came_from | |
107 |
|
107 | |||
108 | return came_from or default_came_from |
|
108 | return came_from or default_came_from | |
109 |
|
109 | |||
110 |
|
110 | |||
111 | class LoginView(BaseAppView): |
|
111 | class LoginView(BaseAppView): | |
112 |
|
112 | |||
113 | def load_default_context(self): |
|
113 | def load_default_context(self): | |
114 | c = self._get_local_tmpl_context() |
|
114 | c = self._get_local_tmpl_context() | |
115 | c.came_from = get_came_from(self.request) |
|
115 | c.came_from = get_came_from(self.request) | |
116 |
|
116 | |||
117 | return c |
|
117 | return c | |
118 |
|
118 | |||
119 | def _get_captcha_data(self): |
|
119 | def _get_captcha_data(self): | |
120 | settings = SettingsModel().get_all_settings() |
|
120 | settings = SettingsModel().get_all_settings() | |
121 | private_key = settings.get('rhodecode_captcha_private_key') |
|
121 | private_key = settings.get('rhodecode_captcha_private_key') | |
122 | public_key = settings.get('rhodecode_captcha_public_key') |
|
122 | public_key = settings.get('rhodecode_captcha_public_key') | |
123 | active = bool(private_key) |
|
123 | active = bool(private_key) | |
124 | return CaptchaData( |
|
124 | return CaptchaData( | |
125 | active=active, private_key=private_key, public_key=public_key) |
|
125 | active=active, private_key=private_key, public_key=public_key) | |
126 |
|
126 | |||
|
127 | def validate_captcha(self, private_key): | |||
|
128 | ||||
|
129 | captcha_rs = self.request.POST.get('g-recaptcha-response') | |||
|
130 | url = "https://www.google.com/recaptcha/api/siteverify" | |||
|
131 | params = { | |||
|
132 | 'secret': private_key, | |||
|
133 | 'response': captcha_rs, | |||
|
134 | 'remoteip': get_ip_addr(self.request.environ) | |||
|
135 | } | |||
|
136 | verify_rs = requests.get(url, params=params, verify=True) | |||
|
137 | verify_rs = verify_rs.json() | |||
|
138 | captcha_status = verify_rs.get('success', False) | |||
|
139 | captcha_errors = verify_rs.get('error-codes', []) | |||
|
140 | if not isinstance(captcha_errors, list): | |||
|
141 | captcha_errors = [captcha_errors] | |||
|
142 | captcha_errors = ', '.join(captcha_errors) | |||
|
143 | captcha_message = '' | |||
|
144 | if captcha_status is False: | |||
|
145 | captcha_message = "Bad captcha. Errors: {}".format( | |||
|
146 | captcha_errors) | |||
|
147 | ||||
|
148 | return captcha_status, captcha_message | |||
|
149 | ||||
127 | @view_config( |
|
150 | @view_config( | |
128 | route_name='login', request_method='GET', |
|
151 | route_name='login', request_method='GET', | |
129 | renderer='rhodecode:templates/login.mako') |
|
152 | renderer='rhodecode:templates/login.mako') | |
130 | def login(self): |
|
153 | def login(self): | |
131 | c = self.load_default_context() |
|
154 | c = self.load_default_context() | |
132 | auth_user = self._rhodecode_user |
|
155 | auth_user = self._rhodecode_user | |
133 |
|
156 | |||
134 | # redirect if already logged in |
|
157 | # redirect if already logged in | |
135 | if (auth_user.is_authenticated and |
|
158 | if (auth_user.is_authenticated and | |
136 | not auth_user.is_default and auth_user.ip_allowed): |
|
159 | not auth_user.is_default and auth_user.ip_allowed): | |
137 | raise HTTPFound(c.came_from) |
|
160 | raise HTTPFound(c.came_from) | |
138 |
|
161 | |||
139 | # check if we use headers plugin, and try to login using it. |
|
162 | # check if we use headers plugin, and try to login using it. | |
140 | try: |
|
163 | try: | |
141 | log.debug('Running PRE-AUTH for headers based authentication') |
|
164 | log.debug('Running PRE-AUTH for headers based authentication') | |
142 | auth_info = authenticate( |
|
165 | auth_info = authenticate( | |
143 | '', '', self.request.environ, HTTP_TYPE, skip_missing=True) |
|
166 | '', '', self.request.environ, HTTP_TYPE, skip_missing=True) | |
144 | if auth_info: |
|
167 | if auth_info: | |
145 | headers = _store_user_in_session( |
|
168 | headers = _store_user_in_session( | |
146 | self.session, auth_info.get('username')) |
|
169 | self.session, auth_info.get('username')) | |
147 | raise HTTPFound(c.came_from, headers=headers) |
|
170 | raise HTTPFound(c.came_from, headers=headers) | |
148 | except UserCreationError as e: |
|
171 | except UserCreationError as e: | |
149 | log.error(e) |
|
172 | log.error(e) | |
150 | h.flash(e, category='error') |
|
173 | h.flash(e, category='error') | |
151 |
|
174 | |||
152 | return self._get_template_context(c) |
|
175 | return self._get_template_context(c) | |
153 |
|
176 | |||
154 | @view_config( |
|
177 | @view_config( | |
155 | route_name='login', request_method='POST', |
|
178 | route_name='login', request_method='POST', | |
156 | renderer='rhodecode:templates/login.mako') |
|
179 | renderer='rhodecode:templates/login.mako') | |
157 | def login_post(self): |
|
180 | def login_post(self): | |
158 | c = self.load_default_context() |
|
181 | c = self.load_default_context() | |
159 |
|
182 | |||
160 | login_form = LoginForm(self.request.translate)() |
|
183 | login_form = LoginForm(self.request.translate)() | |
161 |
|
184 | |||
162 | try: |
|
185 | try: | |
163 | self.session.invalidate() |
|
186 | self.session.invalidate() | |
164 | form_result = login_form.to_python(self.request.POST) |
|
187 | form_result = login_form.to_python(self.request.POST) | |
165 | # form checks for username/password, now we're authenticated |
|
188 | # form checks for username/password, now we're authenticated | |
166 | headers = _store_user_in_session( |
|
189 | headers = _store_user_in_session( | |
167 | self.session, |
|
190 | self.session, | |
168 | username=form_result['username'], |
|
191 | username=form_result['username'], | |
169 | remember=form_result['remember']) |
|
192 | remember=form_result['remember']) | |
170 | log.debug('Redirecting to "%s" after login.', c.came_from) |
|
193 | log.debug('Redirecting to "%s" after login.', c.came_from) | |
171 |
|
194 | |||
172 | audit_user = audit_logger.UserWrap( |
|
195 | audit_user = audit_logger.UserWrap( | |
173 | username=self.request.POST.get('username'), |
|
196 | username=self.request.POST.get('username'), | |
174 | ip_addr=self.request.remote_addr) |
|
197 | ip_addr=self.request.remote_addr) | |
175 | action_data = {'user_agent': self.request.user_agent} |
|
198 | action_data = {'user_agent': self.request.user_agent} | |
176 | audit_logger.store_web( |
|
199 | audit_logger.store_web( | |
177 | 'user.login.success', action_data=action_data, |
|
200 | 'user.login.success', action_data=action_data, | |
178 | user=audit_user, commit=True) |
|
201 | user=audit_user, commit=True) | |
179 |
|
202 | |||
180 | raise HTTPFound(c.came_from, headers=headers) |
|
203 | raise HTTPFound(c.came_from, headers=headers) | |
181 | except formencode.Invalid as errors: |
|
204 | except formencode.Invalid as errors: | |
182 | defaults = errors.value |
|
205 | defaults = errors.value | |
183 | # remove password from filling in form again |
|
206 | # remove password from filling in form again | |
184 | defaults.pop('password', None) |
|
207 | defaults.pop('password', None) | |
185 | render_ctx = { |
|
208 | render_ctx = { | |
186 | 'errors': errors.error_dict, |
|
209 | 'errors': errors.error_dict, | |
187 | 'defaults': defaults, |
|
210 | 'defaults': defaults, | |
188 | } |
|
211 | } | |
189 |
|
212 | |||
190 | audit_user = audit_logger.UserWrap( |
|
213 | audit_user = audit_logger.UserWrap( | |
191 | username=self.request.POST.get('username'), |
|
214 | username=self.request.POST.get('username'), | |
192 | ip_addr=self.request.remote_addr) |
|
215 | ip_addr=self.request.remote_addr) | |
193 | action_data = {'user_agent': self.request.user_agent} |
|
216 | action_data = {'user_agent': self.request.user_agent} | |
194 | audit_logger.store_web( |
|
217 | audit_logger.store_web( | |
195 | 'user.login.failure', action_data=action_data, |
|
218 | 'user.login.failure', action_data=action_data, | |
196 | user=audit_user, commit=True) |
|
219 | user=audit_user, commit=True) | |
197 | return self._get_template_context(c, **render_ctx) |
|
220 | return self._get_template_context(c, **render_ctx) | |
198 |
|
221 | |||
199 | except UserCreationError as e: |
|
222 | except UserCreationError as e: | |
200 | # headers auth or other auth functions that create users on |
|
223 | # headers auth or other auth functions that create users on | |
201 | # the fly can throw this exception signaling that there's issue |
|
224 | # the fly can throw this exception signaling that there's issue | |
202 | # with user creation, explanation should be provided in |
|
225 | # with user creation, explanation should be provided in | |
203 | # Exception itself |
|
226 | # Exception itself | |
204 | h.flash(e, category='error') |
|
227 | h.flash(e, category='error') | |
205 | return self._get_template_context(c) |
|
228 | return self._get_template_context(c) | |
206 |
|
229 | |||
207 | @CSRFRequired() |
|
230 | @CSRFRequired() | |
208 | @view_config(route_name='logout', request_method='POST') |
|
231 | @view_config(route_name='logout', request_method='POST') | |
209 | def logout(self): |
|
232 | def logout(self): | |
210 | auth_user = self._rhodecode_user |
|
233 | auth_user = self._rhodecode_user | |
211 | log.info('Deleting session for user: `%s`', auth_user) |
|
234 | log.info('Deleting session for user: `%s`', auth_user) | |
212 |
|
235 | |||
213 | action_data = {'user_agent': self.request.user_agent} |
|
236 | action_data = {'user_agent': self.request.user_agent} | |
214 | audit_logger.store_web( |
|
237 | audit_logger.store_web( | |
215 | 'user.logout', action_data=action_data, |
|
238 | 'user.logout', action_data=action_data, | |
216 | user=auth_user, commit=True) |
|
239 | user=auth_user, commit=True) | |
217 | self.session.delete() |
|
240 | self.session.delete() | |
218 | return HTTPFound(h.route_path('home')) |
|
241 | return HTTPFound(h.route_path('home')) | |
219 |
|
242 | |||
220 | @HasPermissionAnyDecorator( |
|
243 | @HasPermissionAnyDecorator( | |
221 | 'hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate') |
|
244 | 'hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate') | |
222 | @view_config( |
|
245 | @view_config( | |
223 | route_name='register', request_method='GET', |
|
246 | route_name='register', request_method='GET', | |
224 | renderer='rhodecode:templates/register.mako',) |
|
247 | renderer='rhodecode:templates/register.mako',) | |
225 | def register(self, defaults=None, errors=None): |
|
248 | def register(self, defaults=None, errors=None): | |
226 | c = self.load_default_context() |
|
249 | c = self.load_default_context() | |
227 | defaults = defaults or {} |
|
250 | defaults = defaults or {} | |
228 | errors = errors or {} |
|
251 | errors = errors or {} | |
229 |
|
252 | |||
230 | settings = SettingsModel().get_all_settings() |
|
253 | settings = SettingsModel().get_all_settings() | |
231 | register_message = settings.get('rhodecode_register_message') or '' |
|
254 | register_message = settings.get('rhodecode_register_message') or '' | |
232 | captcha = self._get_captcha_data() |
|
255 | captcha = self._get_captcha_data() | |
233 | auto_active = 'hg.register.auto_activate' in User.get_default_user()\ |
|
256 | auto_active = 'hg.register.auto_activate' in User.get_default_user()\ | |
234 | .AuthUser().permissions['global'] |
|
257 | .AuthUser().permissions['global'] | |
235 |
|
258 | |||
236 | render_ctx = self._get_template_context(c) |
|
259 | render_ctx = self._get_template_context(c) | |
237 | render_ctx.update({ |
|
260 | render_ctx.update({ | |
238 | 'defaults': defaults, |
|
261 | 'defaults': defaults, | |
239 | 'errors': errors, |
|
262 | 'errors': errors, | |
240 | 'auto_active': auto_active, |
|
263 | 'auto_active': auto_active, | |
241 | 'captcha_active': captcha.active, |
|
264 | 'captcha_active': captcha.active, | |
242 | 'captcha_public_key': captcha.public_key, |
|
265 | 'captcha_public_key': captcha.public_key, | |
243 | 'register_message': register_message, |
|
266 | 'register_message': register_message, | |
244 | }) |
|
267 | }) | |
245 | return render_ctx |
|
268 | return render_ctx | |
246 |
|
269 | |||
247 | @HasPermissionAnyDecorator( |
|
270 | @HasPermissionAnyDecorator( | |
248 | 'hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate') |
|
271 | 'hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate') | |
249 | @view_config( |
|
272 | @view_config( | |
250 | route_name='register', request_method='POST', |
|
273 | route_name='register', request_method='POST', | |
251 | renderer='rhodecode:templates/register.mako') |
|
274 | renderer='rhodecode:templates/register.mako') | |
252 | def register_post(self): |
|
275 | def register_post(self): | |
253 | self.load_default_context() |
|
276 | self.load_default_context() | |
254 | captcha = self._get_captcha_data() |
|
277 | captcha = self._get_captcha_data() | |
255 | auto_active = 'hg.register.auto_activate' in User.get_default_user()\ |
|
278 | auto_active = 'hg.register.auto_activate' in User.get_default_user()\ | |
256 | .AuthUser().permissions['global'] |
|
279 | .AuthUser().permissions['global'] | |
257 |
|
280 | |||
258 | register_form = RegisterForm(self.request.translate)() |
|
281 | register_form = RegisterForm(self.request.translate)() | |
259 | try: |
|
282 | try: | |
260 |
|
283 | |||
261 | form_result = register_form.to_python(self.request.POST) |
|
284 | form_result = register_form.to_python(self.request.POST) | |
262 | form_result['active'] = auto_active |
|
285 | form_result['active'] = auto_active | |
263 |
|
286 | |||
264 | if captcha.active: |
|
287 | if captcha.active: | |
265 | response = submit( |
|
288 | captcha_status, captcha_message = self.validate_captcha( | |
266 | self.request.POST.get('recaptcha_challenge_field'), |
|
289 | captcha.private_key) | |
267 | self.request.POST.get('recaptcha_response_field'), |
|
290 | ||
268 |
|
|
291 | if not captcha_status: | |
269 | remoteip=get_ip_addr(self.request.environ)) |
|
|||
270 | if not response.is_valid: |
|
|||
271 | _value = form_result |
|
292 | _value = form_result | |
272 | _msg = _('Bad captcha') |
|
293 | _msg = _('Bad captcha') | |
273 | error_dict = {'recaptcha_field': _msg} |
|
294 | error_dict = {'recaptcha_field': captcha_message} | |
274 |
raise formencode.Invalid( |
|
295 | raise formencode.Invalid( | |
275 |
|
|
296 | _msg, _value, None, error_dict=error_dict) | |
276 |
|
297 | |||
277 | new_user = UserModel().create_registration(form_result) |
|
298 | new_user = UserModel().create_registration(form_result) | |
278 |
|
299 | |||
279 | action_data = {'data': new_user.get_api_data(), |
|
300 | action_data = {'data': new_user.get_api_data(), | |
280 | 'user_agent': self.request.user_agent} |
|
301 | 'user_agent': self.request.user_agent} | |
281 | audit_logger.store_web( |
|
302 | audit_logger.store_web( | |
282 | 'user.register', action_data=action_data, |
|
303 | 'user.register', action_data=action_data, | |
283 | user=new_user) |
|
304 | user=new_user) | |
284 |
|
305 | |||
285 | event = UserRegistered(user=new_user, session=self.session) |
|
306 | event = UserRegistered(user=new_user, session=self.session) | |
286 | trigger(event) |
|
307 | trigger(event) | |
287 | h.flash( |
|
308 | h.flash( | |
288 | _('You have successfully registered with RhodeCode'), |
|
309 | _('You have successfully registered with RhodeCode'), | |
289 | category='success') |
|
310 | category='success') | |
290 | Session().commit() |
|
311 | Session().commit() | |
291 |
|
312 | |||
292 | redirect_ro = self.request.route_path('login') |
|
313 | redirect_ro = self.request.route_path('login') | |
293 | raise HTTPFound(redirect_ro) |
|
314 | raise HTTPFound(redirect_ro) | |
294 |
|
315 | |||
295 | except formencode.Invalid as errors: |
|
316 | except formencode.Invalid as errors: | |
296 | errors.value.pop('password', None) |
|
317 | errors.value.pop('password', None) | |
297 | errors.value.pop('password_confirmation', None) |
|
318 | errors.value.pop('password_confirmation', None) | |
298 | return self.register( |
|
319 | return self.register( | |
299 | defaults=errors.value, errors=errors.error_dict) |
|
320 | defaults=errors.value, errors=errors.error_dict) | |
300 |
|
321 | |||
301 | except UserCreationError as e: |
|
322 | except UserCreationError as e: | |
302 | # container auth or other auth functions that create users on |
|
323 | # container auth or other auth functions that create users on | |
303 | # the fly can throw this exception signaling that there's issue |
|
324 | # the fly can throw this exception signaling that there's issue | |
304 | # with user creation, explanation should be provided in |
|
325 | # with user creation, explanation should be provided in | |
305 | # Exception itself |
|
326 | # Exception itself | |
306 | h.flash(e, category='error') |
|
327 | h.flash(e, category='error') | |
307 | return self.register() |
|
328 | return self.register() | |
308 |
|
329 | |||
309 | @view_config( |
|
330 | @view_config( | |
310 | route_name='reset_password', request_method=('GET', 'POST'), |
|
331 | route_name='reset_password', request_method=('GET', 'POST'), | |
311 | renderer='rhodecode:templates/password_reset.mako') |
|
332 | renderer='rhodecode:templates/password_reset.mako') | |
312 | def password_reset(self): |
|
333 | def password_reset(self): | |
313 | c = self.load_default_context() |
|
334 | c = self.load_default_context() | |
314 | captcha = self._get_captcha_data() |
|
335 | captcha = self._get_captcha_data() | |
315 |
|
336 | |||
316 | template_context = { |
|
337 | template_context = { | |
317 | 'captcha_active': captcha.active, |
|
338 | 'captcha_active': captcha.active, | |
318 | 'captcha_public_key': captcha.public_key, |
|
339 | 'captcha_public_key': captcha.public_key, | |
319 | 'defaults': {}, |
|
340 | 'defaults': {}, | |
320 | 'errors': {}, |
|
341 | 'errors': {}, | |
321 | } |
|
342 | } | |
322 |
|
343 | |||
323 | # always send implicit message to prevent from discovery of |
|
344 | # always send implicit message to prevent from discovery of | |
324 | # matching emails |
|
345 | # matching emails | |
325 | msg = _('If such email exists, a password reset link was sent to it.') |
|
346 | msg = _('If such email exists, a password reset link was sent to it.') | |
326 |
|
347 | |||
327 | if self.request.POST: |
|
348 | if self.request.POST: | |
328 | if h.HasPermissionAny('hg.password_reset.disabled')(): |
|
349 | if h.HasPermissionAny('hg.password_reset.disabled')(): | |
329 | _email = self.request.POST.get('email', '') |
|
350 | _email = self.request.POST.get('email', '') | |
330 | log.error('Failed attempt to reset password for `%s`.', _email) |
|
351 | log.error('Failed attempt to reset password for `%s`.', _email) | |
331 | h.flash(_('Password reset has been disabled.'), |
|
352 | h.flash(_('Password reset has been disabled.'), | |
332 | category='error') |
|
353 | category='error') | |
333 | return HTTPFound(self.request.route_path('reset_password')) |
|
354 | return HTTPFound(self.request.route_path('reset_password')) | |
334 |
|
355 | |||
335 | password_reset_form = PasswordResetForm(self.request.translate)() |
|
356 | password_reset_form = PasswordResetForm(self.request.translate)() | |
336 | try: |
|
357 | try: | |
337 | form_result = password_reset_form.to_python( |
|
358 | form_result = password_reset_form.to_python( | |
338 | self.request.POST) |
|
359 | self.request.POST) | |
339 | user_email = form_result['email'] |
|
360 | user_email = form_result['email'] | |
340 |
|
361 | |||
341 | if captcha.active: |
|
362 | if captcha.active: | |
342 | response = submit( |
|
363 | captcha_status, captcha_message = self.validate_captcha( | |
343 |
|
|
364 | captcha.private_key) | |
344 | self.request.POST.get('recaptcha_response_field'), |
|
365 | ||
345 |
|
|
366 | if not captcha_status: | |
346 | remoteip=get_ip_addr(self.request.environ)) |
|
|||
347 | if not response.is_valid: |
|
|||
348 | _value = form_result |
|
367 | _value = form_result | |
349 | _msg = _('Bad captcha') |
|
368 | _msg = _('Bad captcha') | |
350 | error_dict = {'recaptcha_field': _msg} |
|
369 | error_dict = {'recaptcha_field': captcha_message} | |
351 | raise formencode.Invalid( |
|
370 | raise formencode.Invalid( | |
352 | _msg, _value, None, error_dict=error_dict) |
|
371 | _msg, _value, None, error_dict=error_dict) | |
353 |
|
372 | |||
354 | # Generate reset URL and send mail. |
|
373 | # Generate reset URL and send mail. | |
355 | user = User.get_by_email(user_email) |
|
374 | user = User.get_by_email(user_email) | |
356 |
|
375 | |||
357 | # generate password reset token that expires in 10minutes |
|
376 | # generate password reset token that expires in 10minutes | |
358 | desc = 'Generated token for password reset from {}'.format( |
|
377 | desc = 'Generated token for password reset from {}'.format( | |
359 | datetime.datetime.now().isoformat()) |
|
378 | datetime.datetime.now().isoformat()) | |
360 | reset_token = AuthTokenModel().create( |
|
379 | reset_token = AuthTokenModel().create( | |
361 | user, lifetime=10, |
|
380 | user, lifetime=10, | |
362 | description=desc, |
|
381 | description=desc, | |
363 | role=UserApiKeys.ROLE_PASSWORD_RESET) |
|
382 | role=UserApiKeys.ROLE_PASSWORD_RESET) | |
364 | Session().commit() |
|
383 | Session().commit() | |
365 |
|
384 | |||
366 | log.debug('Successfully created password recovery token') |
|
385 | log.debug('Successfully created password recovery token') | |
367 | password_reset_url = self.request.route_url( |
|
386 | password_reset_url = self.request.route_url( | |
368 | 'reset_password_confirmation', |
|
387 | 'reset_password_confirmation', | |
369 | _query={'key': reset_token.api_key}) |
|
388 | _query={'key': reset_token.api_key}) | |
370 | UserModel().reset_password_link( |
|
389 | UserModel().reset_password_link( | |
371 | form_result, password_reset_url) |
|
390 | form_result, password_reset_url) | |
372 | # Display success message and redirect. |
|
391 | # Display success message and redirect. | |
373 | h.flash(msg, category='success') |
|
392 | h.flash(msg, category='success') | |
374 |
|
393 | |||
375 | action_data = {'email': user_email, |
|
394 | action_data = {'email': user_email, | |
376 | 'user_agent': self.request.user_agent} |
|
395 | 'user_agent': self.request.user_agent} | |
377 | audit_logger.store_web( |
|
396 | audit_logger.store_web( | |
378 | 'user.password.reset_request', action_data=action_data, |
|
397 | 'user.password.reset_request', action_data=action_data, | |
379 | user=self._rhodecode_user, commit=True) |
|
398 | user=self._rhodecode_user, commit=True) | |
380 | return HTTPFound(self.request.route_path('reset_password')) |
|
399 | return HTTPFound(self.request.route_path('reset_password')) | |
381 |
|
400 | |||
382 | except formencode.Invalid as errors: |
|
401 | except formencode.Invalid as errors: | |
383 | template_context.update({ |
|
402 | template_context.update({ | |
384 | 'defaults': errors.value, |
|
403 | 'defaults': errors.value, | |
385 | 'errors': errors.error_dict, |
|
404 | 'errors': errors.error_dict, | |
386 | }) |
|
405 | }) | |
387 | if not self.request.POST.get('email'): |
|
406 | if not self.request.POST.get('email'): | |
388 | # case of empty email, we want to report that |
|
407 | # case of empty email, we want to report that | |
389 | return self._get_template_context(c, **template_context) |
|
408 | return self._get_template_context(c, **template_context) | |
390 |
|
409 | |||
391 | if 'recaptcha_field' in errors.error_dict: |
|
410 | if 'recaptcha_field' in errors.error_dict: | |
392 | # case of failed captcha |
|
411 | # case of failed captcha | |
393 | return self._get_template_context(c, **template_context) |
|
412 | return self._get_template_context(c, **template_context) | |
394 |
|
413 | |||
395 | log.debug('faking response on invalid password reset') |
|
414 | log.debug('faking response on invalid password reset') | |
396 | # make this take 2s, to prevent brute forcing. |
|
415 | # make this take 2s, to prevent brute forcing. | |
397 | time.sleep(2) |
|
416 | time.sleep(2) | |
398 | h.flash(msg, category='success') |
|
417 | h.flash(msg, category='success') | |
399 | return HTTPFound(self.request.route_path('reset_password')) |
|
418 | return HTTPFound(self.request.route_path('reset_password')) | |
400 |
|
419 | |||
401 | return self._get_template_context(c, **template_context) |
|
420 | return self._get_template_context(c, **template_context) | |
402 |
|
421 | |||
403 | @view_config(route_name='reset_password_confirmation', |
|
422 | @view_config(route_name='reset_password_confirmation', | |
404 | request_method='GET') |
|
423 | request_method='GET') | |
405 | def password_reset_confirmation(self): |
|
424 | def password_reset_confirmation(self): | |
406 | self.load_default_context() |
|
425 | self.load_default_context() | |
407 | if self.request.GET and self.request.GET.get('key'): |
|
426 | if self.request.GET and self.request.GET.get('key'): | |
408 | # make this take 2s, to prevent brute forcing. |
|
427 | # make this take 2s, to prevent brute forcing. | |
409 | time.sleep(2) |
|
428 | time.sleep(2) | |
410 |
|
429 | |||
411 | token = AuthTokenModel().get_auth_token( |
|
430 | token = AuthTokenModel().get_auth_token( | |
412 | self.request.GET.get('key')) |
|
431 | self.request.GET.get('key')) | |
413 |
|
432 | |||
414 | # verify token is the correct role |
|
433 | # verify token is the correct role | |
415 | if token is None or token.role != UserApiKeys.ROLE_PASSWORD_RESET: |
|
434 | if token is None or token.role != UserApiKeys.ROLE_PASSWORD_RESET: | |
416 | log.debug('Got token with role:%s expected is %s', |
|
435 | log.debug('Got token with role:%s expected is %s', | |
417 | getattr(token, 'role', 'EMPTY_TOKEN'), |
|
436 | getattr(token, 'role', 'EMPTY_TOKEN'), | |
418 | UserApiKeys.ROLE_PASSWORD_RESET) |
|
437 | UserApiKeys.ROLE_PASSWORD_RESET) | |
419 | h.flash( |
|
438 | h.flash( | |
420 | _('Given reset token is invalid'), category='error') |
|
439 | _('Given reset token is invalid'), category='error') | |
421 | return HTTPFound(self.request.route_path('reset_password')) |
|
440 | return HTTPFound(self.request.route_path('reset_password')) | |
422 |
|
441 | |||
423 | try: |
|
442 | try: | |
424 | owner = token.user |
|
443 | owner = token.user | |
425 | data = {'email': owner.email, 'token': token.api_key} |
|
444 | data = {'email': owner.email, 'token': token.api_key} | |
426 | UserModel().reset_password(data) |
|
445 | UserModel().reset_password(data) | |
427 | h.flash( |
|
446 | h.flash( | |
428 | _('Your password reset was successful, ' |
|
447 | _('Your password reset was successful, ' | |
429 | 'a new password has been sent to your email'), |
|
448 | 'a new password has been sent to your email'), | |
430 | category='success') |
|
449 | category='success') | |
431 | except Exception as e: |
|
450 | except Exception as e: | |
432 | log.error(e) |
|
451 | log.error(e) | |
433 | return HTTPFound(self.request.route_path('reset_password')) |
|
452 | return HTTPFound(self.request.route_path('reset_password')) | |
434 |
|
453 | |||
435 | return HTTPFound(self.request.route_path('login')) |
|
454 | return HTTPFound(self.request.route_path('login')) |
@@ -1,376 +1,373 b'' | |||||
1 | { |
|
1 | { | |
2 | "libnghttp2-1.7.1": { |
|
2 | "libnghttp2-1.7.1": { | |
3 | "MIT License": "http://spdx.org/licenses/MIT" |
|
3 | "MIT License": "http://spdx.org/licenses/MIT" | |
4 | }, |
|
4 | }, | |
5 | "nodejs-4.3.1": { |
|
5 | "nodejs-4.3.1": { | |
6 | "MIT License": "http://spdx.org/licenses/MIT" |
|
6 | "MIT License": "http://spdx.org/licenses/MIT" | |
7 | }, |
|
7 | }, | |
8 | "python-2.7.12": { |
|
8 | "python-2.7.12": { | |
9 | "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0" |
|
9 | "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0" | |
10 | }, |
|
10 | }, | |
11 | "python2.7-Babel-1.3": { |
|
11 | "python2.7-Babel-1.3": { | |
12 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
12 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
13 | }, |
|
13 | }, | |
14 | "python2.7-Beaker-1.7.0": { |
|
14 | "python2.7-Beaker-1.7.0": { | |
15 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
15 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
16 | }, |
|
16 | }, | |
17 | "python2.7-Chameleon-2.24": { |
|
17 | "python2.7-Chameleon-2.24": { | |
18 | "BSD-like": "http://repoze.org/license.html" |
|
18 | "BSD-like": "http://repoze.org/license.html" | |
19 | }, |
|
19 | }, | |
20 | "python2.7-FormEncode-1.2.4": { |
|
20 | "python2.7-FormEncode-1.2.4": { | |
21 | "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0" |
|
21 | "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0" | |
22 | }, |
|
22 | }, | |
23 | "python2.7-Jinja2-2.7.3": { |
|
23 | "python2.7-Jinja2-2.7.3": { | |
24 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
24 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
25 | }, |
|
25 | }, | |
26 | "python2.7-Mako-1.0.6": { |
|
26 | "python2.7-Mako-1.0.6": { | |
27 | "MIT License": "http://spdx.org/licenses/MIT" |
|
27 | "MIT License": "http://spdx.org/licenses/MIT" | |
28 | }, |
|
28 | }, | |
29 | "python2.7-Markdown-2.6.7": { |
|
29 | "python2.7-Markdown-2.6.7": { | |
30 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
30 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
31 | }, |
|
31 | }, | |
32 | "python2.7-MarkupSafe-0.23": { |
|
32 | "python2.7-MarkupSafe-0.23": { | |
33 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
33 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
34 | }, |
|
34 | }, | |
35 | "python2.7-Paste-2.0.3": { |
|
35 | "python2.7-Paste-2.0.3": { | |
36 | "MIT License": "http://spdx.org/licenses/MIT" |
|
36 | "MIT License": "http://spdx.org/licenses/MIT" | |
37 | }, |
|
37 | }, | |
38 | "python2.7-PasteDeploy-1.5.2": { |
|
38 | "python2.7-PasteDeploy-1.5.2": { | |
39 | "MIT License": "http://spdx.org/licenses/MIT" |
|
39 | "MIT License": "http://spdx.org/licenses/MIT" | |
40 | }, |
|
40 | }, | |
41 | "python2.7-PasteScript-1.7.5": { |
|
41 | "python2.7-PasteScript-1.7.5": { | |
42 | "MIT License": "http://spdx.org/licenses/MIT" |
|
42 | "MIT License": "http://spdx.org/licenses/MIT" | |
43 | }, |
|
43 | }, | |
44 | "python2.7-Pygments-2.2.0": { |
|
44 | "python2.7-Pygments-2.2.0": { | |
45 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
45 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
46 | }, |
|
46 | }, | |
47 | "python2.7-Routes-1.13": { |
|
47 | "python2.7-Routes-1.13": { | |
48 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
48 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
49 | }, |
|
49 | }, | |
50 | "python2.7-SQLAlchemy-0.9.9": { |
|
50 | "python2.7-SQLAlchemy-0.9.9": { | |
51 | "MIT License": "http://spdx.org/licenses/MIT" |
|
51 | "MIT License": "http://spdx.org/licenses/MIT" | |
52 | }, |
|
52 | }, | |
53 | "python2.7-Tempita-0.5.2": { |
|
53 | "python2.7-Tempita-0.5.2": { | |
54 | "MIT License": "http://spdx.org/licenses/MIT" |
|
54 | "MIT License": "http://spdx.org/licenses/MIT" | |
55 | }, |
|
55 | }, | |
56 | "python2.7-URLObject-2.4.0": { |
|
56 | "python2.7-URLObject-2.4.0": { | |
57 | "The Unlicense": "http://unlicense.org/" |
|
57 | "The Unlicense": "http://unlicense.org/" | |
58 | }, |
|
58 | }, | |
59 | "python2.7-WebError-0.10.3": { |
|
59 | "python2.7-WebError-0.10.3": { | |
60 | "MIT License": "http://spdx.org/licenses/MIT" |
|
60 | "MIT License": "http://spdx.org/licenses/MIT" | |
61 | }, |
|
61 | }, | |
62 | "python2.7-WebHelpers-1.3": { |
|
62 | "python2.7-WebHelpers-1.3": { | |
63 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
63 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
64 | }, |
|
64 | }, | |
65 | "python2.7-WebHelpers2-2.0": { |
|
65 | "python2.7-WebHelpers2-2.0": { | |
66 | "MIT License": "http://spdx.org/licenses/MIT" |
|
66 | "MIT License": "http://spdx.org/licenses/MIT" | |
67 | }, |
|
67 | }, | |
68 | "python2.7-WebOb-1.3.1": { |
|
68 | "python2.7-WebOb-1.3.1": { | |
69 | "MIT License": "http://spdx.org/licenses/MIT" |
|
69 | "MIT License": "http://spdx.org/licenses/MIT" | |
70 | }, |
|
70 | }, | |
71 | "python2.7-Whoosh-2.7.4": { |
|
71 | "python2.7-Whoosh-2.7.4": { | |
72 | "BSD 2-clause \"Simplified\" License": "http://spdx.org/licenses/BSD-2-Clause", |
|
72 | "BSD 2-clause \"Simplified\" License": "http://spdx.org/licenses/BSD-2-Clause", | |
73 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
73 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
74 | }, |
|
74 | }, | |
75 | "python2.7-alembic-0.8.4": { |
|
75 | "python2.7-alembic-0.8.4": { | |
76 | "MIT License": "http://spdx.org/licenses/MIT" |
|
76 | "MIT License": "http://spdx.org/licenses/MIT" | |
77 | }, |
|
77 | }, | |
78 | "python2.7-appenlight-client-0.6.14": { |
|
78 | "python2.7-appenlight-client-0.6.14": { | |
79 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
79 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
80 | }, |
|
80 | }, | |
81 | "python2.7-authomatic-0.1.0.post1": { |
|
81 | "python2.7-authomatic-0.1.0.post1": { | |
82 | "MIT License": "http://spdx.org/licenses/MIT" |
|
82 | "MIT License": "http://spdx.org/licenses/MIT" | |
83 | }, |
|
83 | }, | |
84 | "python2.7-backports.shutil-get-terminal-size-1.0.0": { |
|
84 | "python2.7-backports.shutil-get-terminal-size-1.0.0": { | |
85 | "MIT License": "http://spdx.org/licenses/MIT" |
|
85 | "MIT License": "http://spdx.org/licenses/MIT" | |
86 | }, |
|
86 | }, | |
87 | "python2.7-bleach-1.5.0": { |
|
87 | "python2.7-bleach-1.5.0": { | |
88 | "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0" |
|
88 | "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0" | |
89 | }, |
|
89 | }, | |
90 | "python2.7-celery-2.2.10": { |
|
90 | "python2.7-celery-2.2.10": { | |
91 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
91 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
92 | }, |
|
92 | }, | |
93 | "python2.7-channelstream-0.5.2": { |
|
93 | "python2.7-channelstream-0.5.2": { | |
94 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
94 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
95 | }, |
|
95 | }, | |
96 | "python2.7-click-5.1": { |
|
96 | "python2.7-click-5.1": { | |
97 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
97 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
98 | }, |
|
98 | }, | |
99 | "python2.7-colander-1.2": { |
|
99 | "python2.7-colander-1.2": { | |
100 | "Repoze License": "http://www.repoze.org/LICENSE.txt" |
|
100 | "Repoze License": "http://www.repoze.org/LICENSE.txt" | |
101 | }, |
|
101 | }, | |
102 | "python2.7-configobj-5.0.6": { |
|
102 | "python2.7-configobj-5.0.6": { | |
103 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
103 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
104 | }, |
|
104 | }, | |
105 | "python2.7-configparser-3.5.0": { |
|
105 | "python2.7-configparser-3.5.0": { | |
106 | "MIT License": "http://spdx.org/licenses/MIT" |
|
106 | "MIT License": "http://spdx.org/licenses/MIT" | |
107 | }, |
|
107 | }, | |
108 | "python2.7-cssselect-1.0.1": { |
|
108 | "python2.7-cssselect-1.0.1": { | |
109 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
109 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
110 | }, |
|
110 | }, | |
111 | "python2.7-decorator-4.0.11": { |
|
111 | "python2.7-decorator-4.0.11": { | |
112 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
112 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
113 | }, |
|
113 | }, | |
114 | "python2.7-deform-2.0a2": { |
|
114 | "python2.7-deform-2.0a2": { | |
115 | "BSD-derived": "http://www.repoze.org/LICENSE.txt" |
|
115 | "BSD-derived": "http://www.repoze.org/LICENSE.txt" | |
116 | }, |
|
116 | }, | |
117 | "python2.7-docutils-0.12": { |
|
117 | "python2.7-docutils-0.12": { | |
118 | "BSD 2-clause \"Simplified\" License": "http://spdx.org/licenses/BSD-2-Clause" |
|
118 | "BSD 2-clause \"Simplified\" License": "http://spdx.org/licenses/BSD-2-Clause" | |
119 | }, |
|
119 | }, | |
120 | "python2.7-dogpile.cache-0.6.1": { |
|
120 | "python2.7-dogpile.cache-0.6.1": { | |
121 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
121 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
122 | }, |
|
122 | }, | |
123 | "python2.7-dogpile.core-0.4.1": { |
|
123 | "python2.7-dogpile.core-0.4.1": { | |
124 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
124 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
125 | }, |
|
125 | }, | |
126 | "python2.7-elasticsearch-2.3.0": { |
|
126 | "python2.7-elasticsearch-2.3.0": { | |
127 | "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0" |
|
127 | "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0" | |
128 | }, |
|
128 | }, | |
129 | "python2.7-elasticsearch-dsl-2.2.0": { |
|
129 | "python2.7-elasticsearch-dsl-2.2.0": { | |
130 | "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0" |
|
130 | "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0" | |
131 | }, |
|
131 | }, | |
132 | "python2.7-entrypoints-0.2.2": { |
|
132 | "python2.7-entrypoints-0.2.2": { | |
133 | "MIT License": "http://spdx.org/licenses/MIT" |
|
133 | "MIT License": "http://spdx.org/licenses/MIT" | |
134 | }, |
|
134 | }, | |
135 | "python2.7-enum34-1.1.6": { |
|
135 | "python2.7-enum34-1.1.6": { | |
136 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
136 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
137 | }, |
|
137 | }, | |
138 | "python2.7-functools32-3.2.3.post2": { |
|
138 | "python2.7-functools32-3.2.3.post2": { | |
139 | "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0" |
|
139 | "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0" | |
140 | }, |
|
140 | }, | |
141 | "python2.7-future-0.14.3": { |
|
141 | "python2.7-future-0.14.3": { | |
142 | "MIT License": "http://spdx.org/licenses/MIT" |
|
142 | "MIT License": "http://spdx.org/licenses/MIT" | |
143 | }, |
|
143 | }, | |
144 | "python2.7-futures-3.0.2": { |
|
144 | "python2.7-futures-3.0.2": { | |
145 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
145 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
146 | }, |
|
146 | }, | |
147 | "python2.7-gevent-1.1.2": { |
|
147 | "python2.7-gevent-1.1.2": { | |
148 | "MIT License": "http://spdx.org/licenses/MIT" |
|
148 | "MIT License": "http://spdx.org/licenses/MIT" | |
149 | }, |
|
149 | }, | |
150 | "python2.7-gnureadline-6.3.3": { |
|
150 | "python2.7-gnureadline-6.3.3": { | |
151 | "GNU General Public License v1.0 only": "http://spdx.org/licenses/GPL-1.0" |
|
151 | "GNU General Public License v1.0 only": "http://spdx.org/licenses/GPL-1.0" | |
152 | }, |
|
152 | }, | |
153 | "python2.7-gprof2dot-2016.10.13": { |
|
153 | "python2.7-gprof2dot-2016.10.13": { | |
154 | "GNU Lesser General Public License v3.0 or later": "http://spdx.org/licenses/LGPL-3.0+" |
|
154 | "GNU Lesser General Public License v3.0 or later": "http://spdx.org/licenses/LGPL-3.0+" | |
155 | }, |
|
155 | }, | |
156 | "python2.7-greenlet-0.4.10": { |
|
156 | "python2.7-greenlet-0.4.10": { | |
157 | "MIT License": "http://spdx.org/licenses/MIT" |
|
157 | "MIT License": "http://spdx.org/licenses/MIT" | |
158 | }, |
|
158 | }, | |
159 | "python2.7-gunicorn-19.6.0": { |
|
159 | "python2.7-gunicorn-19.6.0": { | |
160 | "MIT License": "http://spdx.org/licenses/MIT" |
|
160 | "MIT License": "http://spdx.org/licenses/MIT" | |
161 | }, |
|
161 | }, | |
162 | "python2.7-html5lib-0.9999999": { |
|
162 | "python2.7-html5lib-0.9999999": { | |
163 | "MIT License": "http://spdx.org/licenses/MIT" |
|
163 | "MIT License": "http://spdx.org/licenses/MIT" | |
164 | }, |
|
164 | }, | |
165 | "python2.7-infrae.cache-1.0.1": { |
|
165 | "python2.7-infrae.cache-1.0.1": { | |
166 | "Zope Public License 2.1": "http://spdx.org/licenses/ZPL-2.1" |
|
166 | "Zope Public License 2.1": "http://spdx.org/licenses/ZPL-2.1" | |
167 | }, |
|
167 | }, | |
168 | "python2.7-ipython-5.1.0": { |
|
168 | "python2.7-ipython-5.1.0": { | |
169 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
169 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
170 | }, |
|
170 | }, | |
171 | "python2.7-ipython-genutils-0.2.0": { |
|
171 | "python2.7-ipython-genutils-0.2.0": { | |
172 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
172 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
173 | }, |
|
173 | }, | |
174 | "python2.7-iso8601-0.1.11": { |
|
174 | "python2.7-iso8601-0.1.11": { | |
175 | "MIT License": "http://spdx.org/licenses/MIT" |
|
175 | "MIT License": "http://spdx.org/licenses/MIT" | |
176 | }, |
|
176 | }, | |
177 | "python2.7-itsdangerous-0.24": { |
|
177 | "python2.7-itsdangerous-0.24": { | |
178 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
178 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
179 | }, |
|
179 | }, | |
180 | "python2.7-jsonschema-2.6.0": { |
|
180 | "python2.7-jsonschema-2.6.0": { | |
181 | "MIT License": "http://spdx.org/licenses/MIT" |
|
181 | "MIT License": "http://spdx.org/licenses/MIT" | |
182 | }, |
|
182 | }, | |
183 | "python2.7-jupyter-client-5.0.0": { |
|
183 | "python2.7-jupyter-client-5.0.0": { | |
184 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
184 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
185 | }, |
|
185 | }, | |
186 | "python2.7-jupyter-core-4.3.0": { |
|
186 | "python2.7-jupyter-core-4.3.0": { | |
187 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
187 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
188 | }, |
|
188 | }, | |
189 | "python2.7-kombu-4.1.0": { |
|
189 | "python2.7-kombu-4.1.0": { | |
190 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
190 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
191 | }, |
|
191 | }, | |
192 | "python2.7-mistune-0.7.4": { |
|
192 | "python2.7-mistune-0.7.4": { | |
193 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
193 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
194 | }, |
|
194 | }, | |
195 | "python2.7-msgpack-python-0.4.8": { |
|
195 | "python2.7-msgpack-python-0.4.8": { | |
196 | "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0" |
|
196 | "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0" | |
197 | }, |
|
197 | }, | |
198 | "python2.7-nbconvert-5.1.1": { |
|
198 | "python2.7-nbconvert-5.1.1": { | |
199 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
199 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
200 | }, |
|
200 | }, | |
201 | "python2.7-nbformat-4.3.0": { |
|
201 | "python2.7-nbformat-4.3.0": { | |
202 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
202 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
203 | }, |
|
203 | }, | |
204 | "python2.7-packaging-15.2": { |
|
204 | "python2.7-packaging-15.2": { | |
205 | "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0" |
|
205 | "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0" | |
206 | }, |
|
206 | }, | |
207 | "python2.7-pandocfilters-1.4.1": { |
|
207 | "python2.7-pandocfilters-1.4.1": { | |
208 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
208 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
209 | }, |
|
209 | }, | |
210 | "python2.7-pathlib2-2.1.0": { |
|
210 | "python2.7-pathlib2-2.1.0": { | |
211 | "MIT License": "http://spdx.org/licenses/MIT" |
|
211 | "MIT License": "http://spdx.org/licenses/MIT" | |
212 | }, |
|
212 | }, | |
213 | "python2.7-peppercorn-0.5": { |
|
213 | "python2.7-peppercorn-0.5": { | |
214 | "BSD-derived": "http://www.repoze.org/LICENSE.txt" |
|
214 | "BSD-derived": "http://www.repoze.org/LICENSE.txt" | |
215 | }, |
|
215 | }, | |
216 | "python2.7-pexpect-4.2.1": { |
|
216 | "python2.7-pexpect-4.2.1": { | |
217 | "ISC License": "http://spdx.org/licenses/ISC" |
|
217 | "ISC License": "http://spdx.org/licenses/ISC" | |
218 | }, |
|
218 | }, | |
219 | "python2.7-pickleshare-0.7.4": { |
|
219 | "python2.7-pickleshare-0.7.4": { | |
220 | "MIT License": "http://spdx.org/licenses/MIT" |
|
220 | "MIT License": "http://spdx.org/licenses/MIT" | |
221 | }, |
|
221 | }, | |
222 | "python2.7-prompt-toolkit-1.0.14": { |
|
222 | "python2.7-prompt-toolkit-1.0.14": { | |
223 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
223 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
224 | }, |
|
224 | }, | |
225 | "python2.7-psutil-4.3.1": { |
|
225 | "python2.7-psutil-4.3.1": { | |
226 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
226 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
227 | }, |
|
227 | }, | |
228 | "python2.7-psycopg2-2.6.1": { |
|
228 | "python2.7-psycopg2-2.6.1": { | |
229 | "GNU Lesser General Public License v3.0 or later": "http://spdx.org/licenses/LGPL-3.0+" |
|
229 | "GNU Lesser General Public License v3.0 or later": "http://spdx.org/licenses/LGPL-3.0+" | |
230 | }, |
|
230 | }, | |
231 | "python2.7-ptyprocess-0.5.1": { |
|
231 | "python2.7-ptyprocess-0.5.1": { | |
232 | "ISC License": "http://opensource.org/licenses/ISC" |
|
232 | "ISC License": "http://opensource.org/licenses/ISC" | |
233 | }, |
|
233 | }, | |
234 | "python2.7-py-1.4.31": { |
|
234 | "python2.7-py-1.4.31": { | |
235 | "MIT License": "http://spdx.org/licenses/MIT" |
|
235 | "MIT License": "http://spdx.org/licenses/MIT" | |
236 | }, |
|
236 | }, | |
237 | "python2.7-py-bcrypt-0.4": { |
|
237 | "python2.7-py-bcrypt-0.4": { | |
238 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
238 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
239 | }, |
|
239 | }, | |
240 | "python2.7-py-gfm-0.1.3.rhodecode-upstream1": { |
|
240 | "python2.7-py-gfm-0.1.3.rhodecode-upstream1": { | |
241 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
241 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
242 | }, |
|
242 | }, | |
243 | "python2.7-pycrypto-2.6.1": { |
|
243 | "python2.7-pycrypto-2.6.1": { | |
244 | "Public Domain": null |
|
244 | "Public Domain": null | |
245 | }, |
|
245 | }, | |
246 | "python2.7-pycurl-7.19.5": { |
|
246 | "python2.7-pycurl-7.19.5": { | |
247 | "MIT License": "http://spdx.org/licenses/MIT" |
|
247 | "MIT License": "http://spdx.org/licenses/MIT" | |
248 | }, |
|
248 | }, | |
249 | "python2.7-pygments-markdown-lexer-0.1.0.dev39": { |
|
249 | "python2.7-pygments-markdown-lexer-0.1.0.dev39": { | |
250 | "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0" |
|
250 | "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0" | |
251 | }, |
|
251 | }, | |
252 | "python2.7-pyparsing-1.5.7": { |
|
252 | "python2.7-pyparsing-1.5.7": { | |
253 | "MIT License": "http://spdx.org/licenses/MIT" |
|
253 | "MIT License": "http://spdx.org/licenses/MIT" | |
254 | }, |
|
254 | }, | |
255 | "python2.7-pyramid-1.7.4": { |
|
255 | "python2.7-pyramid-1.7.4": { | |
256 | "Repoze License": "http://www.repoze.org/LICENSE.txt" |
|
256 | "Repoze License": "http://www.repoze.org/LICENSE.txt" | |
257 | }, |
|
257 | }, | |
258 | "python2.7-pyramid-beaker-0.8": { |
|
258 | "python2.7-pyramid-beaker-0.8": { | |
259 | "Repoze License": "http://www.repoze.org/LICENSE.txt" |
|
259 | "Repoze License": "http://www.repoze.org/LICENSE.txt" | |
260 | }, |
|
260 | }, | |
261 | "python2.7-pyramid-debugtoolbar-3.0.5": { |
|
261 | "python2.7-pyramid-debugtoolbar-3.0.5": { | |
262 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause", |
|
262 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause", | |
263 | "Repoze License": "http://www.repoze.org/LICENSE.txt" |
|
263 | "Repoze License": "http://www.repoze.org/LICENSE.txt" | |
264 | }, |
|
264 | }, | |
265 | "python2.7-pyramid-jinja2-2.5": { |
|
265 | "python2.7-pyramid-jinja2-2.5": { | |
266 | "BSD-derived": "http://www.repoze.org/LICENSE.txt" |
|
266 | "BSD-derived": "http://www.repoze.org/LICENSE.txt" | |
267 | }, |
|
267 | }, | |
268 | "python2.7-pyramid-mako-1.0.2": { |
|
268 | "python2.7-pyramid-mako-1.0.2": { | |
269 | "Repoze License": "http://www.repoze.org/LICENSE.txt" |
|
269 | "Repoze License": "http://www.repoze.org/LICENSE.txt" | |
270 | }, |
|
270 | }, | |
271 | "python2.7-pysqlite-2.6.3": { |
|
271 | "python2.7-pysqlite-2.6.3": { | |
272 | "libpng License": "http://spdx.org/licenses/Libpng", |
|
272 | "libpng License": "http://spdx.org/licenses/Libpng", | |
273 | "zlib License": "http://spdx.org/licenses/Zlib" |
|
273 | "zlib License": "http://spdx.org/licenses/Zlib" | |
274 | }, |
|
274 | }, | |
275 | "python2.7-pytest-3.0.5": { |
|
275 | "python2.7-pytest-3.0.5": { | |
276 | "MIT License": "http://spdx.org/licenses/MIT" |
|
276 | "MIT License": "http://spdx.org/licenses/MIT" | |
277 | }, |
|
277 | }, | |
278 | "python2.7-pytest-profiling-1.2.2": { |
|
278 | "python2.7-pytest-profiling-1.2.2": { | |
279 | "MIT License": "http://spdx.org/licenses/MIT" |
|
279 | "MIT License": "http://spdx.org/licenses/MIT" | |
280 | }, |
|
280 | }, | |
281 | "python2.7-pytest-runner-2.9": { |
|
281 | "python2.7-pytest-runner-2.9": { | |
282 | "MIT License": "http://spdx.org/licenses/MIT" |
|
282 | "MIT License": "http://spdx.org/licenses/MIT" | |
283 | }, |
|
283 | }, | |
284 | "python2.7-pytest-sugar-0.7.1": { |
|
284 | "python2.7-pytest-sugar-0.7.1": { | |
285 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
285 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
286 | }, |
|
286 | }, | |
287 | "python2.7-pytest-timeout-1.2.0": { |
|
287 | "python2.7-pytest-timeout-1.2.0": { | |
288 | "MIT License": "http://spdx.org/licenses/MIT" |
|
288 | "MIT License": "http://spdx.org/licenses/MIT" | |
289 | }, |
|
289 | }, | |
290 | "python2.7-python-dateutil-2.1": { |
|
290 | "python2.7-python-dateutil-2.1": { | |
291 | "Simplified BSD": null |
|
291 | "Simplified BSD": null | |
292 | }, |
|
292 | }, | |
293 | "python2.7-python-editor-1.0.3": { |
|
293 | "python2.7-python-editor-1.0.3": { | |
294 | "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0" |
|
294 | "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0" | |
295 | }, |
|
295 | }, | |
296 | "python2.7-python-ldap-2.4.19": { |
|
296 | "python2.7-python-ldap-2.4.19": { | |
297 | "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0" |
|
297 | "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0" | |
298 | }, |
|
298 | }, | |
299 | "python2.7-python-memcached-1.57": { |
|
299 | "python2.7-python-memcached-1.57": { | |
300 | "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0" |
|
300 | "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0" | |
301 | }, |
|
301 | }, | |
302 | "python2.7-pytz-2015.4": { |
|
302 | "python2.7-pytz-2015.4": { | |
303 | "MIT License": "http://spdx.org/licenses/MIT" |
|
303 | "MIT License": "http://spdx.org/licenses/MIT" | |
304 | }, |
|
304 | }, | |
305 | "python2.7-pyzmq-14.6.0": { |
|
305 | "python2.7-pyzmq-14.6.0": { | |
306 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
306 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
307 | }, |
|
307 | }, | |
308 | "python2.7-recaptcha-client-1.0.6": { |
|
|||
309 | "MIT License": "http://spdx.org/licenses/MIT" |
|
|||
310 | }, |
|
|||
311 | "python2.7-repoze.lru-0.6": { |
|
308 | "python2.7-repoze.lru-0.6": { | |
312 | "Repoze License": "http://www.repoze.org/LICENSE.txt" |
|
309 | "Repoze License": "http://www.repoze.org/LICENSE.txt" | |
313 | }, |
|
310 | }, | |
314 | "python2.7-requests-2.9.1": { |
|
311 | "python2.7-requests-2.9.1": { | |
315 | "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0" |
|
312 | "Apache License 2.0": "http://spdx.org/licenses/Apache-2.0" | |
316 | }, |
|
313 | }, | |
317 | "python2.7-setuptools-19.4": { |
|
314 | "python2.7-setuptools-19.4": { | |
318 | "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0", |
|
315 | "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0", | |
319 | "Zope Public License 2.0": "http://spdx.org/licenses/ZPL-2.0" |
|
316 | "Zope Public License 2.0": "http://spdx.org/licenses/ZPL-2.0" | |
320 | }, |
|
317 | }, | |
321 | "python2.7-setuptools-scm-1.15.6": { |
|
318 | "python2.7-setuptools-scm-1.15.6": { | |
322 | "MIT License": "http://spdx.org/licenses/MIT" |
|
319 | "MIT License": "http://spdx.org/licenses/MIT" | |
323 | }, |
|
320 | }, | |
324 | "python2.7-simplegeneric-0.8.1": { |
|
321 | "python2.7-simplegeneric-0.8.1": { | |
325 | "Zope Public License 2.1": "http://spdx.org/licenses/ZPL-2.1" |
|
322 | "Zope Public License 2.1": "http://spdx.org/licenses/ZPL-2.1" | |
326 | }, |
|
323 | }, | |
327 | "python2.7-simplejson-3.7.2": { |
|
324 | "python2.7-simplejson-3.7.2": { | |
328 | "MIT License": "http://spdx.org/licenses/MIT" |
|
325 | "MIT License": "http://spdx.org/licenses/MIT" | |
329 | }, |
|
326 | }, | |
330 | "python2.7-six-1.9.0": { |
|
327 | "python2.7-six-1.9.0": { | |
331 | "MIT License": "http://spdx.org/licenses/MIT" |
|
328 | "MIT License": "http://spdx.org/licenses/MIT" | |
332 | }, |
|
329 | }, | |
333 | "python2.7-subprocess32-3.2.6": { |
|
330 | "python2.7-subprocess32-3.2.6": { | |
334 | "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0" |
|
331 | "Python Software Foundation License version 2": "http://spdx.org/licenses/Python-2.0" | |
335 | }, |
|
332 | }, | |
336 | "python2.7-termcolor-1.1.0": { |
|
333 | "python2.7-termcolor-1.1.0": { | |
337 | "MIT License": "http://spdx.org/licenses/MIT" |
|
334 | "MIT License": "http://spdx.org/licenses/MIT" | |
338 | }, |
|
335 | }, | |
339 | "python2.7-testpath-0.1": { |
|
336 | "python2.7-testpath-0.1": { | |
340 | "MIT License": "http://spdx.org/licenses/MIT" |
|
337 | "MIT License": "http://spdx.org/licenses/MIT" | |
341 | }, |
|
338 | }, | |
342 | "python2.7-traitlets-4.3.2": { |
|
339 | "python2.7-traitlets-4.3.2": { | |
343 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
340 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
344 | }, |
|
341 | }, | |
345 | "python2.7-translationstring-1.3": { |
|
342 | "python2.7-translationstring-1.3": { | |
346 | "Repoze License": "http://www.repoze.org/LICENSE.txt" |
|
343 | "Repoze License": "http://www.repoze.org/LICENSE.txt" | |
347 | }, |
|
344 | }, | |
348 | "python2.7-urllib3-1.16": { |
|
345 | "python2.7-urllib3-1.16": { | |
349 | "MIT License": "http://spdx.org/licenses/MIT" |
|
346 | "MIT License": "http://spdx.org/licenses/MIT" | |
350 | }, |
|
347 | }, | |
351 | "python2.7-venusian-1.0": { |
|
348 | "python2.7-venusian-1.0": { | |
352 | "Repoze License": "http://www.repoze.org/LICENSE.txt" |
|
349 | "Repoze License": "http://www.repoze.org/LICENSE.txt" | |
353 | }, |
|
350 | }, | |
354 | "python2.7-waitress-1.0.1": { |
|
351 | "python2.7-waitress-1.0.1": { | |
355 | "Zope Public License 2.1": "http://spdx.org/licenses/ZPL-2.1" |
|
352 | "Zope Public License 2.1": "http://spdx.org/licenses/ZPL-2.1" | |
356 | }, |
|
353 | }, | |
357 | "python2.7-wcwidth-0.1.7": { |
|
354 | "python2.7-wcwidth-0.1.7": { | |
358 | "MIT License": "http://spdx.org/licenses/MIT" |
|
355 | "MIT License": "http://spdx.org/licenses/MIT" | |
359 | }, |
|
356 | }, | |
360 | "python2.7-ws4py-0.3.5": { |
|
357 | "python2.7-ws4py-0.3.5": { | |
361 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" |
|
358 | "BSD 4-clause \"Original\" or \"Old\" License": "http://spdx.org/licenses/BSD-4-Clause" | |
362 | }, |
|
359 | }, | |
363 | "python2.7-zope.cachedescriptors-4.0.0": { |
|
360 | "python2.7-zope.cachedescriptors-4.0.0": { | |
364 | "Zope Public License 2.1": "http://spdx.org/licenses/ZPL-2.1" |
|
361 | "Zope Public License 2.1": "http://spdx.org/licenses/ZPL-2.1" | |
365 | }, |
|
362 | }, | |
366 | "python2.7-zope.deprecation-4.1.2": { |
|
363 | "python2.7-zope.deprecation-4.1.2": { | |
367 | "Zope Public License 2.1": "http://spdx.org/licenses/ZPL-2.1" |
|
364 | "Zope Public License 2.1": "http://spdx.org/licenses/ZPL-2.1" | |
368 | }, |
|
365 | }, | |
369 | "python2.7-zope.interface-4.1.3": { |
|
366 | "python2.7-zope.interface-4.1.3": { | |
370 | "Zope Public License 2.1": "http://spdx.org/licenses/ZPL-2.1" |
|
367 | "Zope Public License 2.1": "http://spdx.org/licenses/ZPL-2.1" | |
371 | }, |
|
368 | }, | |
372 | "xz-5.2.2": { |
|
369 | "xz-5.2.2": { | |
373 | "GNU General Public License v2.0 or later": "http://spdx.org/licenses/GPL-2.0+", |
|
370 | "GNU General Public License v2.0 or later": "http://spdx.org/licenses/GPL-2.0+", | |
374 | "GNU Library General Public License v2.1 or later": "http://spdx.org/licenses/LGPL-2.1+" |
|
371 | "GNU Library General Public License v2.1 or later": "http://spdx.org/licenses/LGPL-2.1+" | |
375 | } |
|
372 | } | |
376 | } No newline at end of file |
|
373 | } |
@@ -1,295 +1,295 b'' | |||||
1 | ${h.secure_form(h.route_path('admin_settings_global_update'), request=request)} |
|
1 | ${h.secure_form(h.route_path('admin_settings_global_update'), request=request)} | |
2 |
|
2 | |||
3 | <div class="panel panel-default"> |
|
3 | <div class="panel panel-default"> | |
4 | <div class="panel-heading" id="branding-options"> |
|
4 | <div class="panel-heading" id="branding-options"> | |
5 | <h3 class="panel-title">${_('Branding')} <a class="permalink" href="#branding-options"> ΒΆ</a></h3> |
|
5 | <h3 class="panel-title">${_('Branding')} <a class="permalink" href="#branding-options"> ΒΆ</a></h3> | |
6 | </div> |
|
6 | </div> | |
7 | <div class="panel-body"> |
|
7 | <div class="panel-body"> | |
8 | <div class="label"> |
|
8 | <div class="label"> | |
9 | <label for="rhodecode_title">${_('Title')}</label> |
|
9 | <label for="rhodecode_title">${_('Title')}</label> | |
10 | </div> |
|
10 | </div> | |
11 | <div class="field input"> |
|
11 | <div class="field input"> | |
12 | ${h.text('rhodecode_title',size=60)} |
|
12 | ${h.text('rhodecode_title',size=60)} | |
13 | </div> |
|
13 | </div> | |
14 | <div class="field"> |
|
14 | <div class="field"> | |
15 | <span class="help-block"> |
|
15 | <span class="help-block"> | |
16 | ${_('Set a custom title for your RhodeCode instance (limited to 40 characters).')} |
|
16 | ${_('Set a custom title for your RhodeCode instance (limited to 40 characters).')} | |
17 | </span> |
|
17 | </span> | |
18 | </div> |
|
18 | </div> | |
19 | <div class="label"> |
|
19 | <div class="label"> | |
20 | <label for="rhodecode_realm">${_('HTTP[S] authentication realm')}</label> |
|
20 | <label for="rhodecode_realm">${_('HTTP[S] authentication realm')}</label> | |
21 | </div> |
|
21 | </div> | |
22 | <div class="field input"> |
|
22 | <div class="field input"> | |
23 | ${h.text('rhodecode_realm',size=60)} |
|
23 | ${h.text('rhodecode_realm',size=60)} | |
24 | </div> |
|
24 | </div> | |
25 | <div class="field"> |
|
25 | <div class="field"> | |
26 | <span class="help-block"> |
|
26 | <span class="help-block"> | |
27 | ${_('Set a custom text that is shown as authentication message to clients trying to connect.')} |
|
27 | ${_('Set a custom text that is shown as authentication message to clients trying to connect.')} | |
28 | </span> |
|
28 | </span> | |
29 | </div> |
|
29 | </div> | |
30 | </div> |
|
30 | </div> | |
31 | </div> |
|
31 | </div> | |
32 |
|
32 | |||
33 |
|
33 | |||
34 | <div class="panel panel-default"> |
|
34 | <div class="panel panel-default"> | |
35 | <div class="panel-heading" id="personal-group-options"> |
|
35 | <div class="panel-heading" id="personal-group-options"> | |
36 | <h3 class="panel-title">${_('Personal Repository Group')} <a class="permalink" href="#personal-group-options"> ΒΆ</a></h3> |
|
36 | <h3 class="panel-title">${_('Personal Repository Group')} <a class="permalink" href="#personal-group-options"> ΒΆ</a></h3> | |
37 | </div> |
|
37 | </div> | |
38 | <div class="panel-body"> |
|
38 | <div class="panel-body"> | |
39 | <div class="checkbox"> |
|
39 | <div class="checkbox"> | |
40 | ${h.checkbox('rhodecode_create_personal_repo_group','True')} |
|
40 | ${h.checkbox('rhodecode_create_personal_repo_group','True')} | |
41 | <label for="rhodecode_create_personal_repo_group">${_('Create Personal Repository Group')}</label> |
|
41 | <label for="rhodecode_create_personal_repo_group">${_('Create Personal Repository Group')}</label> | |
42 | </div> |
|
42 | </div> | |
43 | <span class="help-block"> |
|
43 | <span class="help-block"> | |
44 | ${_('Always create Personal Repository Groups for new users.')} <br/> |
|
44 | ${_('Always create Personal Repository Groups for new users.')} <br/> | |
45 | ${_('When creating new users from add user form or API you can still turn this off via a checkbox or flag')} |
|
45 | ${_('When creating new users from add user form or API you can still turn this off via a checkbox or flag')} | |
46 | </span> |
|
46 | </span> | |
47 |
|
47 | |||
48 | <div class="label"> |
|
48 | <div class="label"> | |
49 | <label for="rhodecode_personal_repo_group_pattern">${_('Personal Repo Group Pattern')}</label> |
|
49 | <label for="rhodecode_personal_repo_group_pattern">${_('Personal Repo Group Pattern')}</label> | |
50 | </div> |
|
50 | </div> | |
51 | <div class="field input"> |
|
51 | <div class="field input"> | |
52 | ${h.text('rhodecode_personal_repo_group_pattern',size=60, placeholder=c.personal_repo_group_default_pattern)} |
|
52 | ${h.text('rhodecode_personal_repo_group_pattern',size=60, placeholder=c.personal_repo_group_default_pattern)} | |
53 | </div> |
|
53 | </div> | |
54 | <span class="help-block"> |
|
54 | <span class="help-block"> | |
55 | ${_('Pattern used to create Personal Repository Groups. Prefix can be other existing repository group path[s], eg. /u/${username}')} <br/> |
|
55 | ${_('Pattern used to create Personal Repository Groups. Prefix can be other existing repository group path[s], eg. /u/${username}')} <br/> | |
56 | ${_('Available variables are currently ${username} and ${user_id}')} |
|
56 | ${_('Available variables are currently ${username} and ${user_id}')} | |
57 | </span> |
|
57 | </span> | |
58 | </div> |
|
58 | </div> | |
59 | </div> |
|
59 | </div> | |
60 |
|
60 | |||
61 |
|
61 | |||
62 | <div class="panel panel-default"> |
|
62 | <div class="panel panel-default"> | |
63 | <div class="panel-heading" id="captcha-options"> |
|
63 | <div class="panel-heading" id="captcha-options"> | |
64 | <h3 class="panel-title">${_('Registration Captcha')} <a class="permalink" href="#captcha-options"> ΒΆ</a></h3> |
|
64 | <h3 class="panel-title">${_('Registration Captcha')} <a class="permalink" href="#captcha-options"> ΒΆ</a></h3> | |
65 | </div> |
|
65 | </div> | |
66 | <div class="panel-body"> |
|
66 | <div class="panel-body"> | |
67 | <div class="label"> |
|
67 | <div class="label"> | |
68 |
<label for="rhodecode_captcha_public_key">${_('Google |
|
68 | <label for="rhodecode_captcha_public_key">${_('Google reCaptcha v2 site key.')}</label> | |
69 | </div> |
|
69 | </div> | |
70 | <div class="field input"> |
|
70 | <div class="field input"> | |
71 | ${h.text('rhodecode_captcha_public_key',size=60)} |
|
71 | ${h.text('rhodecode_captcha_public_key',size=60)} | |
72 | </div> |
|
72 | </div> | |
73 | <div class="field"> |
|
73 | <div class="field"> | |
74 | <span class="help-block"> |
|
74 | <span class="help-block"> | |
75 |
${_(' |
|
75 | ${_('Site key for reCaptcha v2 system.')} | |
76 | </span> |
|
76 | </span> | |
77 | </div> |
|
77 | </div> | |
78 |
|
78 | |||
79 | <div class="label"> |
|
79 | <div class="label"> | |
80 |
<label for="rhodecode_captcha_private_key">${_('Google |
|
80 | <label for="rhodecode_captcha_private_key">${_('Google reCaptcha v2 secret key.')}</label> | |
81 | </div> |
|
81 | </div> | |
82 | <div class="field input"> |
|
82 | <div class="field input"> | |
83 | ${h.text('rhodecode_captcha_private_key',size=60)} |
|
83 | ${h.text('rhodecode_captcha_private_key',size=60)} | |
84 | </div> |
|
84 | </div> | |
85 | <div class="field"> |
|
85 | <div class="field"> | |
86 | <span class="help-block"> |
|
86 | <span class="help-block"> | |
87 |
${_(' |
|
87 | ${_('Secret key for reCaptcha v2 system. Setting this value will enable captcha on registration and password reset forms.')} | |
88 | </span> |
|
88 | </span> | |
89 | </div> |
|
89 | </div> | |
90 | </div> |
|
90 | </div> | |
91 | </div> |
|
91 | </div> | |
92 |
|
92 | |||
93 | <div class="panel panel-default"> |
|
93 | <div class="panel panel-default"> | |
94 | <div class="panel-heading" id="header-code-options"> |
|
94 | <div class="panel-heading" id="header-code-options"> | |
95 | <h3 class="panel-title">${_('Custom Header Code')} <a class="permalink" href="#header-code-options"> ΒΆ</a></h3> |
|
95 | <h3 class="panel-title">${_('Custom Header Code')} <a class="permalink" href="#header-code-options"> ΒΆ</a></h3> | |
96 | </div> |
|
96 | </div> | |
97 | <div class="panel-body"> |
|
97 | <div class="panel-body"> | |
98 | <div class="select"> |
|
98 | <div class="select"> | |
99 | <select id="pre_template" > |
|
99 | <select id="pre_template" > | |
100 | <option value="#">${_('Templates...')}</option> |
|
100 | <option value="#">${_('Templates...')}</option> | |
101 | <option value="ga">Google Analytics</option> |
|
101 | <option value="ga">Google Analytics</option> | |
102 | <option value="clicky">Clicky</option> |
|
102 | <option value="clicky">Clicky</option> | |
103 | <option value="server_announce">${_('Server Announcement')}</option> |
|
103 | <option value="server_announce">${_('Server Announcement')}</option> | |
104 | <option value="flash_filtering">${_('Flash message filtering')}</option> |
|
104 | <option value="flash_filtering">${_('Flash message filtering')}</option> | |
105 | </select> |
|
105 | </select> | |
106 | </div> |
|
106 | </div> | |
107 | <div style="padding: 10px 0px"></div> |
|
107 | <div style="padding: 10px 0px"></div> | |
108 | <div class="textarea text-area"> |
|
108 | <div class="textarea text-area"> | |
109 | ${h.textarea('rhodecode_pre_code',cols=23,rows=5,class_="medium")} |
|
109 | ${h.textarea('rhodecode_pre_code',cols=23,rows=5,class_="medium")} | |
110 | <span class="help-block">${_('Custom js/css code added at the end of the <header/> tag.')} |
|
110 | <span class="help-block">${_('Custom js/css code added at the end of the <header/> tag.')} | |
111 | ${_('Use <script/> or <css/> tags to define custom styling or scripting')}</span> |
|
111 | ${_('Use <script/> or <css/> tags to define custom styling or scripting')}</span> | |
112 | </div> |
|
112 | </div> | |
113 | </div> |
|
113 | </div> | |
114 | </div> |
|
114 | </div> | |
115 |
|
115 | |||
116 | <div class="panel panel-default"> |
|
116 | <div class="panel panel-default"> | |
117 | <div class="panel-heading" id="footer-code-options"> |
|
117 | <div class="panel-heading" id="footer-code-options"> | |
118 | <h3 class="panel-title">${_('Custom Footer Code')} <a class="permalink" href="#footer-code-options"> ΒΆ</a></h3> |
|
118 | <h3 class="panel-title">${_('Custom Footer Code')} <a class="permalink" href="#footer-code-options"> ΒΆ</a></h3> | |
119 | </div> |
|
119 | </div> | |
120 | <div class="panel-body"> |
|
120 | <div class="panel-body"> | |
121 | <div class="select"> |
|
121 | <div class="select"> | |
122 | <select id="post_template" > |
|
122 | <select id="post_template" > | |
123 | <option value="#">${_('Templates...')}</option> |
|
123 | <option value="#">${_('Templates...')}</option> | |
124 | <option value="ga">Google Analytics</option> |
|
124 | <option value="ga">Google Analytics</option> | |
125 | <option value="clicky">Clicky</option> |
|
125 | <option value="clicky">Clicky</option> | |
126 | <option value="server_announce">${_('Server Announcement')}</option> |
|
126 | <option value="server_announce">${_('Server Announcement')}</option> | |
127 | </select> |
|
127 | </select> | |
128 | </div> |
|
128 | </div> | |
129 | <div style="padding: 10px 0px"></div> |
|
129 | <div style="padding: 10px 0px"></div> | |
130 | <div class="textarea text-area"> |
|
130 | <div class="textarea text-area"> | |
131 | ${h.textarea('rhodecode_post_code',cols=23,rows=5, class_="medium")} |
|
131 | ${h.textarea('rhodecode_post_code',cols=23,rows=5, class_="medium")} | |
132 | <span class="help-block">${_('Custom js/css code added at the end of the <body> tag.')} |
|
132 | <span class="help-block">${_('Custom js/css code added at the end of the <body> tag.')} | |
133 | ${_('Use <script> or <css> tags to define custom styling or scripting')}</span> |
|
133 | ${_('Use <script> or <css> tags to define custom styling or scripting')}</span> | |
134 | </div> |
|
134 | </div> | |
135 | </div> |
|
135 | </div> | |
136 | </div> |
|
136 | </div> | |
137 |
|
137 | |||
138 | <div class="buttons"> |
|
138 | <div class="buttons"> | |
139 | ${h.submit('save',_('Save settings'),class_="btn")} |
|
139 | ${h.submit('save',_('Save settings'),class_="btn")} | |
140 | ${h.reset('reset',_('Reset'),class_="btn")} |
|
140 | ${h.reset('reset',_('Reset'),class_="btn")} | |
141 | </div> |
|
141 | </div> | |
142 | ${h.end_form()} |
|
142 | ${h.end_form()} | |
143 |
|
143 | |||
144 |
|
144 | |||
145 |
|
145 | |||
146 | ## TEMPLATES ## |
|
146 | ## TEMPLATES ## | |
147 | ############### |
|
147 | ############### | |
148 |
|
148 | |||
149 | <script id="ga_tmpl" type="text/x-template"> |
|
149 | <script id="ga_tmpl" type="text/x-template"> | |
150 | <%text filter="h"> |
|
150 | <%text filter="h"> | |
151 | <script> |
|
151 | <script> | |
152 | // Google Analytics |
|
152 | // Google Analytics | |
153 | // Put your Google Analytics code instead of _GACODE_ |
|
153 | // Put your Google Analytics code instead of _GACODE_ | |
154 | var _gaq_code = '_GACODE_'; |
|
154 | var _gaq_code = '_GACODE_'; | |
155 | var _gaq = _gaq || []; |
|
155 | var _gaq = _gaq || []; | |
156 | _gaq.push(['_setAccount', _gaq_code]); |
|
156 | _gaq.push(['_setAccount', _gaq_code]); | |
157 | _gaq.push(['_trackPageview']); |
|
157 | _gaq.push(['_trackPageview']); | |
158 |
|
158 | |||
159 | (function() { |
|
159 | (function() { | |
160 | var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; |
|
160 | var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; | |
161 | ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; |
|
161 | ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; | |
162 | var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); |
|
162 | var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); | |
163 | })(); |
|
163 | })(); | |
164 |
|
164 | |||
165 | rhodecode_statechange_callback = function(url, data){ |
|
165 | rhodecode_statechange_callback = function(url, data){ | |
166 | // ANALYTICS callback on html5 history state changed |
|
166 | // ANALYTICS callback on html5 history state changed | |
167 | // triggered by file browser, url is the new url, |
|
167 | // triggered by file browser, url is the new url, | |
168 | // data is extra info passed from the State object |
|
168 | // data is extra info passed from the State object | |
169 | if (typeof window._gaq !== 'undefined') { |
|
169 | if (typeof window._gaq !== 'undefined') { | |
170 | _gaq.push(['_trackPageview', url]); |
|
170 | _gaq.push(['_trackPageview', url]); | |
171 | } |
|
171 | } | |
172 | }; |
|
172 | }; | |
173 | </script> |
|
173 | </script> | |
174 | </%text> |
|
174 | </%text> | |
175 | </script> |
|
175 | </script> | |
176 |
|
176 | |||
177 |
|
177 | |||
178 |
|
178 | |||
179 | <script id="clicky_tmpl" type="text/x-template"> |
|
179 | <script id="clicky_tmpl" type="text/x-template"> | |
180 | <%text filter="h"> |
|
180 | <%text filter="h"> | |
181 | <script src="//static.getclicky.com/js" type="text/javascript"></script> |
|
181 | <script src="//static.getclicky.com/js" type="text/javascript"></script> | |
182 | <script type="text/javascript"> |
|
182 | <script type="text/javascript"> | |
183 | // Clicky Analytics - should be used in the footer code section. |
|
183 | // Clicky Analytics - should be used in the footer code section. | |
184 | // Put your Clicky code instead of _CLICKYCODE_ here, |
|
184 | // Put your Clicky code instead of _CLICKYCODE_ here, | |
185 | // and below in the <img> tag. |
|
185 | // and below in the <img> tag. | |
186 | var _cl_code = _CLICKYCODE_; |
|
186 | var _cl_code = _CLICKYCODE_; | |
187 | try{clicky.init(_cl_code);}catch(e){} |
|
187 | try{clicky.init(_cl_code);}catch(e){} | |
188 |
|
188 | |||
189 | rhodecode_statechange_callback = function(url, data){ |
|
189 | rhodecode_statechange_callback = function(url, data){ | |
190 | // ANALYTICS callback on html5 history state changed |
|
190 | // ANALYTICS callback on html5 history state changed | |
191 | // triggered by file browser, url is the new url, |
|
191 | // triggered by file browser, url is the new url, | |
192 | // data is extra info passed from the State object |
|
192 | // data is extra info passed from the State object | |
193 | if (typeof window.clicky !== 'undefined') { |
|
193 | if (typeof window.clicky !== 'undefined') { | |
194 | clicky.log(url); |
|
194 | clicky.log(url); | |
195 | } |
|
195 | } | |
196 | } |
|
196 | } | |
197 | </script> |
|
197 | </script> | |
198 | <noscript> |
|
198 | <noscript> | |
199 | // Put your clicky code in the src file. |
|
199 | // Put your clicky code in the src file. | |
200 | <p><img alt="Clicky" width="1" height="1" |
|
200 | <p><img alt="Clicky" width="1" height="1" | |
201 | src="//in.getclicky.com/_CLICKYCODE_ns.gif" /></p> |
|
201 | src="//in.getclicky.com/_CLICKYCODE_ns.gif" /></p> | |
202 | </noscript> |
|
202 | </noscript> | |
203 | </%text> |
|
203 | </%text> | |
204 | </script> |
|
204 | </script> | |
205 |
|
205 | |||
206 |
|
206 | |||
207 |
|
207 | |||
208 | <script id="server_announce_tmpl" type='text/x-template'> |
|
208 | <script id="server_announce_tmpl" type='text/x-template'> | |
209 | <%text filter="h"> |
|
209 | <%text filter="h"> | |
210 | <script> |
|
210 | <script> | |
211 | // Server announcement displayed on the top of the page. |
|
211 | // Server announcement displayed on the top of the page. | |
212 | // This can be used to send a global maintenance messages or other |
|
212 | // This can be used to send a global maintenance messages or other | |
213 | // important messages to all users of the RhodeCode Enterprise system. |
|
213 | // important messages to all users of the RhodeCode Enterprise system. | |
214 |
|
214 | |||
215 | $(document).ready(function(e){ |
|
215 | $(document).ready(function(e){ | |
216 |
|
216 | |||
217 | // EDIT - put your message below |
|
217 | // EDIT - put your message below | |
218 | var message = "TYPE YOUR MESSAGE HERE"; |
|
218 | var message = "TYPE YOUR MESSAGE HERE"; | |
219 |
|
219 | |||
220 | // EDIT - choose "info"/"warning"/"error"/"success"/"neutral" as appropriate |
|
220 | // EDIT - choose "info"/"warning"/"error"/"success"/"neutral" as appropriate | |
221 | var alert_level = "info"; |
|
221 | var alert_level = "info"; | |
222 |
|
222 | |||
223 | $("#body").prepend( |
|
223 | $("#body").prepend( | |
224 | ("<div id='server-announcement' class='"+alert_level+"'>_MSG_"+"</div>").replace("_MSG_", message) |
|
224 | ("<div id='server-announcement' class='"+alert_level+"'>_MSG_"+"</div>").replace("_MSG_", message) | |
225 | ) |
|
225 | ) | |
226 | }) |
|
226 | }) | |
227 | </script> |
|
227 | </script> | |
228 | </%text> |
|
228 | </%text> | |
229 | </script> |
|
229 | </script> | |
230 |
|
230 | |||
231 | <script id="flash_filtering_tmpl" type='text/x-template'> |
|
231 | <script id="flash_filtering_tmpl" type='text/x-template'> | |
232 | <%text filter="h"> |
|
232 | <%text filter="h"> | |
233 | <script> |
|
233 | <script> | |
234 | // This filters out some flash messages before they are presented to user |
|
234 | // This filters out some flash messages before they are presented to user | |
235 | // based on their contents. Could be used to filter out warnings/errors |
|
235 | // based on their contents. Could be used to filter out warnings/errors | |
236 | // of license messages |
|
236 | // of license messages | |
237 |
|
237 | |||
238 | var filteredMessages = []; |
|
238 | var filteredMessages = []; | |
239 | for(var i =0; i< alertMessagePayloads.length; i++){ |
|
239 | for(var i =0; i< alertMessagePayloads.length; i++){ | |
240 | if (typeof alertMessagePayloads[i].message.subdata.subtype !== 'undefined' && |
|
240 | if (typeof alertMessagePayloads[i].message.subdata.subtype !== 'undefined' && | |
241 | alertMessagePayloads[i].message.subdata.subtype.indexOf('rc_license') !== -1){ |
|
241 | alertMessagePayloads[i].message.subdata.subtype.indexOf('rc_license') !== -1){ | |
242 | continue |
|
242 | continue | |
243 | } |
|
243 | } | |
244 | filteredMessages.push(alertMessagePayloads[i]); |
|
244 | filteredMessages.push(alertMessagePayloads[i]); | |
245 | } |
|
245 | } | |
246 | alertMessagePayloads = filteredMessages; |
|
246 | alertMessagePayloads = filteredMessages; | |
247 | </script> |
|
247 | </script> | |
248 | </%text> |
|
248 | </%text> | |
249 | </script> |
|
249 | </script> | |
250 |
|
250 | |||
251 | <script> |
|
251 | <script> | |
252 | var pre_cm = initCodeMirror('rhodecode_pre_code', '', false); |
|
252 | var pre_cm = initCodeMirror('rhodecode_pre_code', '', false); | |
253 | var pre_old = pre_cm.getValue(); |
|
253 | var pre_old = pre_cm.getValue(); | |
254 |
|
254 | |||
255 | var post_cm = initCodeMirror('rhodecode_post_code', '', false); |
|
255 | var post_cm = initCodeMirror('rhodecode_post_code', '', false); | |
256 | var post_old = post_cm.getValue(); |
|
256 | var post_old = post_cm.getValue(); | |
257 |
|
257 | |||
258 | var get_data = function(type, old){ |
|
258 | var get_data = function(type, old){ | |
259 | var get_tmpl = function(tmpl_name){ |
|
259 | var get_tmpl = function(tmpl_name){ | |
260 | // unescape some stuff |
|
260 | // unescape some stuff | |
261 | return htmlEnDeCode.htmlDecode($('#'+tmpl_name+'_tmpl').html()); |
|
261 | return htmlEnDeCode.htmlDecode($('#'+tmpl_name+'_tmpl').html()); | |
262 | }; |
|
262 | }; | |
263 | return { |
|
263 | return { | |
264 | '#': old, |
|
264 | '#': old, | |
265 | 'ga': get_tmpl('ga'), |
|
265 | 'ga': get_tmpl('ga'), | |
266 | 'clicky': get_tmpl('clicky'), |
|
266 | 'clicky': get_tmpl('clicky'), | |
267 | 'server_announce': get_tmpl('server_announce'), |
|
267 | 'server_announce': get_tmpl('server_announce'), | |
268 | 'flash_filtering': get_tmpl('flash_filtering') |
|
268 | 'flash_filtering': get_tmpl('flash_filtering') | |
269 | }[type] |
|
269 | }[type] | |
270 | }; |
|
270 | }; | |
271 |
|
271 | |||
272 | $('#pre_template').select2({ |
|
272 | $('#pre_template').select2({ | |
273 | containerCssClass: 'drop-menu', |
|
273 | containerCssClass: 'drop-menu', | |
274 | dropdownCssClass: 'drop-menu-dropdown', |
|
274 | dropdownCssClass: 'drop-menu-dropdown', | |
275 | dropdownAutoWidth: true, |
|
275 | dropdownAutoWidth: true, | |
276 | minimumResultsForSearch: -1 |
|
276 | minimumResultsForSearch: -1 | |
277 | }); |
|
277 | }); | |
278 |
|
278 | |||
279 | $('#post_template').select2({ |
|
279 | $('#post_template').select2({ | |
280 | containerCssClass: 'drop-menu', |
|
280 | containerCssClass: 'drop-menu', | |
281 | dropdownCssClass: 'drop-menu-dropdown', |
|
281 | dropdownCssClass: 'drop-menu-dropdown', | |
282 | dropdownAutoWidth: true, |
|
282 | dropdownAutoWidth: true, | |
283 | minimumResultsForSearch: -1 |
|
283 | minimumResultsForSearch: -1 | |
284 | }); |
|
284 | }); | |
285 |
|
285 | |||
286 | $('#post_template').on('change', function(e){ |
|
286 | $('#post_template').on('change', function(e){ | |
287 | var sel = this.value; |
|
287 | var sel = this.value; | |
288 | post_cm.setValue(get_data(sel, post_old)) |
|
288 | post_cm.setValue(get_data(sel, post_old)) | |
289 | }); |
|
289 | }); | |
290 |
|
290 | |||
291 | $('#pre_template').on('change', function(e){ |
|
291 | $('#pre_template').on('change', function(e){ | |
292 | var sel = this.value; |
|
292 | var sel = this.value; | |
293 | pre_cm.setValue(get_data(sel, pre_old)) |
|
293 | pre_cm.setValue(get_data(sel, pre_old)) | |
294 | }) |
|
294 | }) | |
295 | </script> |
|
295 | </script> |
@@ -1,91 +1,98 b'' | |||||
1 | ## -*- coding: utf-8 -*- |
|
1 | ## -*- coding: utf-8 -*- | |
2 | <%inherit file="base/root.mako"/> |
|
2 | <%inherit file="base/root.mako"/> | |
3 |
|
3 | |||
4 | <%def name="title()"> |
|
4 | <%def name="title()"> | |
5 | ${_('Reset Password')} |
|
5 | ${_('Reset Password')} | |
6 | %if c.rhodecode_name: |
|
6 | %if c.rhodecode_name: | |
7 | · ${h.branding(c.rhodecode_name)} |
|
7 | · ${h.branding(c.rhodecode_name)} | |
8 | %endif |
|
8 | %endif | |
9 | </%def> |
|
9 | </%def> | |
10 | <style>body{background-color:#eeeeee;}</style> |
|
10 | <style>body{background-color:#eeeeee;}</style> | |
11 |
|
11 | |||
12 | <div class="loginbox"> |
|
12 | <div class="loginbox"> | |
13 | <div class="header"> |
|
13 | <div class="header"> | |
14 | <div id="header-inner" class="title"> |
|
14 | <div id="header-inner" class="title"> | |
15 | <div id="logo"> |
|
15 | <div id="logo"> | |
16 | <div class="logo-wrapper"> |
|
16 | <div class="logo-wrapper"> | |
17 | <a href="${h.route_path('home')}"><img src="${h.asset('images/rhodecode-logo-white-216x60.png')}" alt="RhodeCode"/></a> |
|
17 | <a href="${h.route_path('home')}"><img src="${h.asset('images/rhodecode-logo-white-216x60.png')}" alt="RhodeCode"/></a> | |
18 | </div> |
|
18 | </div> | |
19 | %if c.rhodecode_name: |
|
19 | %if c.rhodecode_name: | |
20 | <div class="branding"> ${h.branding(c.rhodecode_name)}</div> |
|
20 | <div class="branding"> ${h.branding(c.rhodecode_name)}</div> | |
21 | %endif |
|
21 | %endif | |
22 | </div> |
|
22 | </div> | |
23 | </div> |
|
23 | </div> | |
24 | </div> |
|
24 | </div> | |
25 |
|
25 | |||
26 | <div class="loginwrapper"> |
|
26 | <div class="loginwrapper"> | |
27 | <rhodecode-toast id="notifications"></rhodecode-toast> |
|
27 | <rhodecode-toast id="notifications"></rhodecode-toast> | |
28 | <div class="left-column"> |
|
28 | <div class="left-column"> | |
29 | <img class="sign-in-image" src="${h.asset('images/sign-in.png')}" alt="RhodeCode"/> |
|
29 | <img class="sign-in-image" src="${h.asset('images/sign-in.png')}" alt="RhodeCode"/> | |
30 | </div> |
|
30 | </div> | |
31 |
|
31 | |||
32 | %if h.HasPermissionAny('hg.password_reset.disabled')(): |
|
32 | %if h.HasPermissionAny('hg.password_reset.disabled')(): | |
33 | <div class="right-column"> |
|
33 | <div class="right-column"> | |
34 | <p> |
|
34 | <p> | |
35 | ${_('Password reset is disabled. Please contact ')} |
|
35 | ${_('Password reset is disabled. Please contact ')} | |
36 | % if c.visual.rhodecode_support_url: |
|
36 | % if c.visual.rhodecode_support_url: | |
37 | <a href="${c.visual.rhodecode_support_url}" target="_blank">${_('Support')}</a> |
|
37 | <a href="${c.visual.rhodecode_support_url}" target="_blank">${_('Support')}</a> | |
38 | ${_('or')} |
|
38 | ${_('or')} | |
39 | % endif |
|
39 | % endif | |
40 | ${_('an administrator if you need help.')} |
|
40 | ${_('an administrator if you need help.')} | |
41 | </p> |
|
41 | </p> | |
42 | </div> |
|
42 | </div> | |
43 | %else: |
|
43 | %else: | |
44 | <div id="register" class="right-column"> |
|
44 | <div id="register" class="right-column"> | |
45 | <!-- login --> |
|
45 | <!-- login --> | |
46 | <div class="sign-in-title"> |
|
46 | <div class="sign-in-title"> | |
47 | <h1>${_('Reset your Password')}</h1> |
|
47 | <h1>${_('Reset your Password')}</h1> | |
48 | <h4>${h.link_to(_("Go to the login page to sign in."), request.route_path('login'))}</h4> |
|
48 | <h4>${h.link_to(_("Go to the login page to sign in."), request.route_path('login'))}</h4> | |
49 | </div> |
|
49 | </div> | |
50 | <div class="inner form"> |
|
50 | <div class="inner form"> | |
51 | ${h.form(request.route_path('reset_password'), needs_csrf_token=False)} |
|
51 | ${h.form(request.route_path('reset_password'), needs_csrf_token=False)} | |
52 | <label for="email">${_('Email Address')}:</label> |
|
52 | <label for="email">${_('Email Address')}:</label> | |
53 | ${h.text('email', defaults.get('email'))} |
|
53 | ${h.text('email', defaults.get('email'))} | |
54 | %if 'email' in errors: |
|
54 | %if 'email' in errors: | |
55 | <span class="error-message">${errors.get('email')}</span> |
|
55 | <span class="error-message">${errors.get('email')}</span> | |
56 | <br /> |
|
56 | <br /> | |
57 | %endif |
|
57 | %endif | |
58 |
|
58 | |||
59 | %if captcha_active: |
|
59 | %if captcha_active: | |
60 | <div class="login-captcha"> |
|
60 | <div class="login-captcha"> | |
61 | <label for="email">${_('Captcha')}:</label> |
|
61 | <label for="email">${_('Captcha')}:</label> | |
62 | ${h.hidden('recaptcha_field')} |
|
62 | ${h.hidden('recaptcha_field')} | |
63 | <div id="recaptcha"></div> |
|
63 | <div id="recaptcha"></div> | |
|
64 | ||||
64 |
|
|
65 | %if 'recaptcha_field' in errors: | |
65 | <span class="error-message">${errors.get('recaptcha_field')}</span> |
|
66 | <span class="error-message">${errors.get('recaptcha_field')}</span> | |
66 | <br /> |
|
67 | <br /> | |
67 | %endif |
|
68 | %endif | |
68 | </div> |
|
69 | </div> | |
69 | %endif |
|
70 | %endif | |
70 |
|
71 | |||
71 | ${h.submit('send', _('Send password reset email'), class_="btn sign-in")} |
|
72 | ${h.submit('send', _('Send password reset email'), class_="btn sign-in")} | |
72 | <div class="activation_msg">${_('Password reset link will be sent to matching email address')}</div> |
|
73 | <div class="activation_msg">${_('Password reset link will be sent to matching email address')}</div> | |
73 |
|
74 | |||
74 | ${h.end_form()} |
|
75 | ${h.end_form()} | |
75 | </div> |
|
76 | </div> | |
76 | </div> |
|
77 | </div> | |
77 | %endif |
|
78 | %endif | |
78 | </div> |
|
79 | </div> | |
79 | </div> |
|
80 | </div> | |
80 |
|
|
81 | ||
81 | %if captcha_active: |
|
|||
82 | <script type="text/javascript" src="https://www.google.com/recaptcha/api/js/recaptcha_ajax.js"></script> |
|
|||
83 | %endif |
|
|||
84 | <script type="text/javascript"> |
|
82 | <script type="text/javascript"> | |
85 | $(document).ready(function(){ |
|
83 | $(document).ready(function(){ | |
86 | $('#email').focus(); |
|
84 | $('#email').focus(); | |
87 | %if captcha_active: |
|
|||
88 | Recaptcha.create("${captcha_public_key}", "recaptcha", {theme: "white"}); |
|
|||
89 | %endif |
|
|||
90 | }); |
|
85 | }); | |
91 | </script> |
|
86 | </script> | |
|
87 | ||||
|
88 | % if captcha_active: | |||
|
89 | <script type="text/javascript"> | |||
|
90 | var onloadCallback = function() { | |||
|
91 | grecaptcha.render('recaptcha', { | |||
|
92 | 'sitekey' : "${captcha_public_key}" | |||
|
93 | }); | |||
|
94 | }; | |||
|
95 | </script> | |||
|
96 | <script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script> | |||
|
97 | % endif | |||
|
98 |
@@ -1,123 +1,130 b'' | |||||
1 | ## -*- coding: utf-8 -*- |
|
1 | ## -*- coding: utf-8 -*- | |
2 | <%inherit file="base/root.mako"/> |
|
2 | <%inherit file="base/root.mako"/> | |
3 |
|
3 | |||
4 | <%def name="title()"> |
|
4 | <%def name="title()"> | |
5 | ${_('Create an Account')} |
|
5 | ${_('Create an Account')} | |
6 | %if c.rhodecode_name: |
|
6 | %if c.rhodecode_name: | |
7 | · ${h.branding(c.rhodecode_name)} |
|
7 | · ${h.branding(c.rhodecode_name)} | |
8 | %endif |
|
8 | %endif | |
9 | </%def> |
|
9 | </%def> | |
10 | <style>body{background-color:#eeeeee;}</style> |
|
10 | <style>body{background-color:#eeeeee;}</style> | |
11 |
|
11 | |||
12 | <div class="loginbox"> |
|
12 | <div class="loginbox"> | |
13 | <div class="header"> |
|
13 | <div class="header"> | |
14 | <div id="header-inner" class="title"> |
|
14 | <div id="header-inner" class="title"> | |
15 | <div id="logo"> |
|
15 | <div id="logo"> | |
16 | <div class="logo-wrapper"> |
|
16 | <div class="logo-wrapper"> | |
17 | <a href="${h.route_path('home')}"><img src="${h.asset('images/rhodecode-logo-white-216x60.png')}" alt="RhodeCode"/></a> |
|
17 | <a href="${h.route_path('home')}"><img src="${h.asset('images/rhodecode-logo-white-216x60.png')}" alt="RhodeCode"/></a> | |
18 | </div> |
|
18 | </div> | |
19 | %if c.rhodecode_name: |
|
19 | %if c.rhodecode_name: | |
20 | <div class="branding"> ${h.branding(c.rhodecode_name)}</div> |
|
20 | <div class="branding"> ${h.branding(c.rhodecode_name)}</div> | |
21 | %endif |
|
21 | %endif | |
22 | </div> |
|
22 | </div> | |
23 | </div> |
|
23 | </div> | |
24 | </div> |
|
24 | </div> | |
25 |
|
25 | |||
26 | <div class="loginwrapper"> |
|
26 | <div class="loginwrapper"> | |
27 | <rhodecode-toast id="notifications"></rhodecode-toast> |
|
27 | <rhodecode-toast id="notifications"></rhodecode-toast> | |
28 | <div class="left-column"> |
|
28 | <div class="left-column"> | |
29 | <img class="sign-in-image" src="${h.asset('images/sign-in.png')}" alt="RhodeCode"/> |
|
29 | <img class="sign-in-image" src="${h.asset('images/sign-in.png')}" alt="RhodeCode"/> | |
30 | </div> |
|
30 | </div> | |
31 | <%block name="above_register_button" /> |
|
31 | <%block name="above_register_button" /> | |
32 | <div id="register" class="right-column"> |
|
32 | <div id="register" class="right-column"> | |
33 | <!-- login --> |
|
33 | <!-- login --> | |
34 | <div class="sign-in-title"> |
|
34 | <div class="sign-in-title"> | |
35 | <h1>${_('Create an account')}</h1> |
|
35 | <h1>${_('Create an account')}</h1> | |
36 | <h4>${h.link_to(_("Go to the login page to sign in with an existing account."), request.route_path('login'))}</h4> |
|
36 | <h4>${h.link_to(_("Go to the login page to sign in with an existing account."), request.route_path('login'))}</h4> | |
37 | </div> |
|
37 | </div> | |
38 | <div class="inner form"> |
|
38 | <div class="inner form"> | |
39 | ${h.form(request.route_path('register'), needs_csrf_token=False)} |
|
39 | ${h.form(request.route_path('register'), needs_csrf_token=False)} | |
40 |
|
40 | |||
41 | <label for="username">${_('Username')}:</label> |
|
41 | <label for="username">${_('Username')}:</label> | |
42 | ${h.text('username', defaults.get('username'))} |
|
42 | ${h.text('username', defaults.get('username'))} | |
43 | %if 'username' in errors: |
|
43 | %if 'username' in errors: | |
44 | <span class="error-message">${errors.get('username')}</span> |
|
44 | <span class="error-message">${errors.get('username')}</span> | |
45 | <br /> |
|
45 | <br /> | |
46 | %endif |
|
46 | %endif | |
47 |
|
47 | |||
48 | <label for="password">${_('Password')}:</label> |
|
48 | <label for="password">${_('Password')}:</label> | |
49 | ${h.password('password', defaults.get('password'))} |
|
49 | ${h.password('password', defaults.get('password'))} | |
50 | %if 'password' in errors: |
|
50 | %if 'password' in errors: | |
51 | <span class="error-message">${errors.get('password')}</span> |
|
51 | <span class="error-message">${errors.get('password')}</span> | |
52 | <br /> |
|
52 | <br /> | |
53 | %endif |
|
53 | %endif | |
54 |
|
54 | |||
55 | <label for="password_confirmation">${_('Re-enter password')}:</label> |
|
55 | <label for="password_confirmation">${_('Re-enter password')}:</label> | |
56 | ${h.password('password_confirmation', defaults.get('password_confirmation'))} |
|
56 | ${h.password('password_confirmation', defaults.get('password_confirmation'))} | |
57 | %if 'password_confirmation' in errors: |
|
57 | %if 'password_confirmation' in errors: | |
58 | <span class="error-message">${errors.get('password_confirmation')}</span> |
|
58 | <span class="error-message">${errors.get('password_confirmation')}</span> | |
59 | <br /> |
|
59 | <br /> | |
60 | %endif |
|
60 | %endif | |
61 |
|
61 | |||
62 | <label for="firstname">${_('First Name')}:</label> |
|
62 | <label for="firstname">${_('First Name')}:</label> | |
63 | ${h.text('firstname', defaults.get('firstname'))} |
|
63 | ${h.text('firstname', defaults.get('firstname'))} | |
64 | %if 'firstname' in errors: |
|
64 | %if 'firstname' in errors: | |
65 | <span class="error-message">${errors.get('firstname')}</span> |
|
65 | <span class="error-message">${errors.get('firstname')}</span> | |
66 | <br /> |
|
66 | <br /> | |
67 | %endif |
|
67 | %endif | |
68 |
|
68 | |||
69 | <label for="lastname">${_('Last Name')}:</label> |
|
69 | <label for="lastname">${_('Last Name')}:</label> | |
70 | ${h.text('lastname', defaults.get('lastname'))} |
|
70 | ${h.text('lastname', defaults.get('lastname'))} | |
71 | %if 'lastname' in errors: |
|
71 | %if 'lastname' in errors: | |
72 | <span class="error-message">${errors.get('lastname')}</span> |
|
72 | <span class="error-message">${errors.get('lastname')}</span> | |
73 | <br /> |
|
73 | <br /> | |
74 | %endif |
|
74 | %endif | |
75 |
|
75 | |||
76 | <label for="email">${_('Email')}:</label> |
|
76 | <label for="email">${_('Email')}:</label> | |
77 | ${h.text('email', defaults.get('email'))} |
|
77 | ${h.text('email', defaults.get('email'))} | |
78 | %if 'email' in errors: |
|
78 | %if 'email' in errors: | |
79 | <span class="error-message">${errors.get('email')}</span> |
|
79 | <span class="error-message">${errors.get('email')}</span> | |
80 | <br /> |
|
80 | <br /> | |
81 | %endif |
|
81 | %endif | |
82 |
|
82 | |||
83 | %if captcha_active: |
|
83 | %if captcha_active: | |
84 | <div> |
|
84 | <div> | |
85 | <label for="recaptcha">${_('Captcha')}:</label> |
|
85 | <label for="recaptcha">${_('Captcha')}:</label> | |
86 | ${h.hidden('recaptcha_field')} |
|
86 | ${h.hidden('recaptcha_field')} | |
87 | <div id="recaptcha"></div> |
|
87 | <div id="recaptcha"></div> | |
88 | %if 'recaptcha_field' in errors: |
|
88 | %if 'recaptcha_field' in errors: | |
89 | <span class="error-message">${errors.get('recaptcha_field')}</span> |
|
89 | <span class="error-message">${errors.get('recaptcha_field')}</span> | |
90 | <br /> |
|
90 | <br /> | |
91 | %endif |
|
91 | %endif | |
92 | </div> |
|
92 | </div> | |
93 | %endif |
|
93 | %endif | |
94 |
|
94 | |||
95 | %if not auto_active: |
|
95 | %if not auto_active: | |
96 | <p class="activation_msg"> |
|
96 | <p class="activation_msg"> | |
97 | ${_('Account activation requires admin approval.')} |
|
97 | ${_('Account activation requires admin approval.')} | |
98 | </p> |
|
98 | </p> | |
99 | %endif |
|
99 | %endif | |
100 | <p class="register_message"> |
|
100 | <p class="register_message"> | |
101 | ${register_message|n} |
|
101 | ${register_message|n} | |
102 | </p> |
|
102 | </p> | |
103 |
|
103 | |||
104 | ${h.submit('sign_up',_('Create Account'),class_="btn sign-in")} |
|
104 | ${h.submit('sign_up',_('Create Account'),class_="btn sign-in")} | |
105 |
|
105 | |||
106 | ${h.end_form()} |
|
106 | ${h.end_form()} | |
107 | </div> |
|
107 | </div> | |
108 | <%block name="below_register_button" /> |
|
108 | <%block name="below_register_button" /> | |
109 | </div> |
|
109 | </div> | |
110 | </div> |
|
110 | </div> | |
111 | </div> |
|
111 | </div> | |
112 |
|
|
112 | ||
113 | %if captcha_active: |
|
113 | ||
114 | <script type="text/javascript" src="https://www.google.com/recaptcha/api/js/recaptcha_ajax.js"></script> |
|
|||
115 | %endif |
|
|||
116 | <script type="text/javascript"> |
|
114 | <script type="text/javascript"> | |
117 | $(document).ready(function(){ |
|
115 | $(document).ready(function(){ | |
118 | $('#username').focus(); |
|
116 | $('#username').focus(); | |
119 | %if captcha_active: |
|
|||
120 | Recaptcha.create("${captcha_public_key}", "recaptcha", {theme: "white"}); |
|
|||
121 | %endif |
|
|||
122 | }); |
|
117 | }); | |
123 | </script> |
|
118 | </script> | |
|
119 | ||||
|
120 | % if captcha_active: | |||
|
121 | <script type="text/javascript"> | |||
|
122 | var onloadCallback = function() { | |||
|
123 | grecaptcha.render('recaptcha', { | |||
|
124 | 'sitekey' : "${captcha_public_key}" | |||
|
125 | }); | |||
|
126 | }; | |||
|
127 | </script> | |||
|
128 | <script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script> | |||
|
129 | % endif | |||
|
130 |
General Comments 0
You need to be logged in to leave comments.
Login now