##// END OF EJS Templates
caches: use repo.lru based Dict cache. This LRUDict uses Timing Algo to not have to use locking...
marcink -
r497:23957c07 default
parent child Browse files
Show More
@@ -0,0 +1,65 b''
1 # -*- coding: utf-8 -*-
2
3 # RhodeCode VCSServer provides access to different vcs backends via network.
4 # Copyright (C) 2014-2018 RhodeCode GmbH
5 #
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 3 of the License, or
9 # (at your option) any later version.
10 #
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software Foundation,
18 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
20
21 import logging
22
23 from repoze.lru import LRUCache
24
25 from vcsserver.utils import safe_str
26
27 log = logging.getLogger(__name__)
28
29
30 class LRUDict(LRUCache):
31 """
32 Wrapper to provide partial dict access
33 """
34
35 def __setitem__(self, key, value):
36 return self.put(key, value)
37
38 def __getitem__(self, key):
39 return self.get(key)
40
41 def __contains__(self, key):
42 return bool(self.get(key))
43
44 def __delitem__(self, key):
45 del self.data[key]
46
47 def keys(self):
48 return self.data.keys()
49
50
51 class LRUDictDebug(LRUDict):
52 """
53 Wrapper to provide some debug options
54 """
55 def _report_keys(self):
56 elems_cnt = '%s/%s' % (len(self.keys()), self.size)
57 # trick for pformat print it more nicely
58 fmt = '\n'
59 for cnt, elem in enumerate(self.keys()):
60 fmt += '%s - %s\n' % (cnt+1, safe_str(elem))
61 log.debug('current LRU keys (%s):%s' % (elems_cnt, fmt))
62
63 def __getitem__(self, key):
64 self._report_keys()
65 return self.get(key)
@@ -1,936 +1,924 b''
1 # Generated by pip2nix 0.8.0.dev1
1 # Generated by pip2nix 0.8.0.dev1
2 # See https://github.com/johbo/pip2nix
2 # See https://github.com/johbo/pip2nix
3
3
4 { pkgs, fetchurl, fetchgit, fetchhg }:
4 { pkgs, fetchurl, fetchgit, fetchhg }:
5
5
6 self: super: {
6 self: super: {
7 "atomicwrites" = super.buildPythonPackage {
7 "atomicwrites" = super.buildPythonPackage {
8 name = "atomicwrites-1.1.5";
8 name = "atomicwrites-1.1.5";
9 doCheck = false;
9 doCheck = false;
10 src = fetchurl {
10 src = fetchurl {
11 url = "https://files.pythonhosted.org/packages/a1/e1/2d9bc76838e6e6667fde5814aa25d7feb93d6fa471bf6816daac2596e8b2/atomicwrites-1.1.5.tar.gz";
11 url = "https://files.pythonhosted.org/packages/a1/e1/2d9bc76838e6e6667fde5814aa25d7feb93d6fa471bf6816daac2596e8b2/atomicwrites-1.1.5.tar.gz";
12 sha256 = "11bm90fwm2avvf4f3ib8g925w7jr4m11vcsinn1bi6ns4bm32214";
12 sha256 = "11bm90fwm2avvf4f3ib8g925w7jr4m11vcsinn1bi6ns4bm32214";
13 };
13 };
14 meta = {
14 meta = {
15 license = [ pkgs.lib.licenses.mit ];
15 license = [ pkgs.lib.licenses.mit ];
16 };
16 };
17 };
17 };
18 "attrs" = super.buildPythonPackage {
18 "attrs" = super.buildPythonPackage {
19 name = "attrs-18.1.0";
19 name = "attrs-18.1.0";
20 doCheck = false;
20 doCheck = false;
21 src = fetchurl {
21 src = fetchurl {
22 url = "https://files.pythonhosted.org/packages/e4/ac/a04671e118b57bee87dabca1e0f2d3bda816b7a551036012d0ca24190e71/attrs-18.1.0.tar.gz";
22 url = "https://files.pythonhosted.org/packages/e4/ac/a04671e118b57bee87dabca1e0f2d3bda816b7a551036012d0ca24190e71/attrs-18.1.0.tar.gz";
23 sha256 = "0yzqz8wv3w1srav5683a55v49i0szkm47dyrnkd56fqs8j8ypl70";
23 sha256 = "0yzqz8wv3w1srav5683a55v49i0szkm47dyrnkd56fqs8j8ypl70";
24 };
24 };
25 meta = {
25 meta = {
26 license = [ pkgs.lib.licenses.mit ];
26 license = [ pkgs.lib.licenses.mit ];
27 };
27 };
28 };
28 };
29 "backports.shutil-get-terminal-size" = super.buildPythonPackage {
29 "backports.shutil-get-terminal-size" = super.buildPythonPackage {
30 name = "backports.shutil-get-terminal-size-1.0.0";
30 name = "backports.shutil-get-terminal-size-1.0.0";
31 doCheck = false;
31 doCheck = false;
32 src = fetchurl {
32 src = fetchurl {
33 url = "https://files.pythonhosted.org/packages/ec/9c/368086faa9c016efce5da3e0e13ba392c9db79e3ab740b763fe28620b18b/backports.shutil_get_terminal_size-1.0.0.tar.gz";
33 url = "https://files.pythonhosted.org/packages/ec/9c/368086faa9c016efce5da3e0e13ba392c9db79e3ab740b763fe28620b18b/backports.shutil_get_terminal_size-1.0.0.tar.gz";
34 sha256 = "107cmn7g3jnbkp826zlj8rrj19fam301qvaqf0f3905f5217lgki";
34 sha256 = "107cmn7g3jnbkp826zlj8rrj19fam301qvaqf0f3905f5217lgki";
35 };
35 };
36 meta = {
36 meta = {
37 license = [ pkgs.lib.licenses.mit ];
37 license = [ pkgs.lib.licenses.mit ];
38 };
38 };
39 };
39 };
40 "beautifulsoup4" = super.buildPythonPackage {
40 "beautifulsoup4" = super.buildPythonPackage {
41 name = "beautifulsoup4-4.6.0";
41 name = "beautifulsoup4-4.6.0";
42 doCheck = false;
42 doCheck = false;
43 src = fetchurl {
43 src = fetchurl {
44 url = "https://files.pythonhosted.org/packages/fa/8d/1d14391fdaed5abada4e0f63543fef49b8331a34ca60c88bd521bcf7f782/beautifulsoup4-4.6.0.tar.gz";
44 url = "https://files.pythonhosted.org/packages/fa/8d/1d14391fdaed5abada4e0f63543fef49b8331a34ca60c88bd521bcf7f782/beautifulsoup4-4.6.0.tar.gz";
45 sha256 = "12cf0ygpz9srpfh9gx2f9ba0swa1rzypv3sm4r0hmjyw6b4nm2w0";
45 sha256 = "12cf0ygpz9srpfh9gx2f9ba0swa1rzypv3sm4r0hmjyw6b4nm2w0";
46 };
46 };
47 meta = {
47 meta = {
48 license = [ pkgs.lib.licenses.mit ];
48 license = [ pkgs.lib.licenses.mit ];
49 };
49 };
50 };
50 };
51 "configobj" = super.buildPythonPackage {
51 "configobj" = super.buildPythonPackage {
52 name = "configobj-5.0.6";
52 name = "configobj-5.0.6";
53 doCheck = false;
53 doCheck = false;
54 propagatedBuildInputs = [
54 propagatedBuildInputs = [
55 self."six"
55 self."six"
56 ];
56 ];
57 src = fetchurl {
57 src = fetchurl {
58 url = "https://code.rhodecode.com/upstream/configobj/archive/a11ff0a0bd4fbda9e3a91267e720f88329efb4a6.tar.gz?md5=9916c524ea11a6c418217af6b28d4b3c";
58 url = "https://code.rhodecode.com/upstream/configobj/archive/a11ff0a0bd4fbda9e3a91267e720f88329efb4a6.tar.gz?md5=9916c524ea11a6c418217af6b28d4b3c";
59 sha256 = "1hhcxirwvg58grlfr177b3awhbq8hlx1l3lh69ifl1ki7lfd1s1x";
59 sha256 = "1hhcxirwvg58grlfr177b3awhbq8hlx1l3lh69ifl1ki7lfd1s1x";
60 };
60 };
61 meta = {
61 meta = {
62 license = [ pkgs.lib.licenses.bsdOriginal ];
62 license = [ pkgs.lib.licenses.bsdOriginal ];
63 };
63 };
64 };
64 };
65 "cov-core" = super.buildPythonPackage {
65 "cov-core" = super.buildPythonPackage {
66 name = "cov-core-1.15.0";
66 name = "cov-core-1.15.0";
67 doCheck = false;
67 doCheck = false;
68 propagatedBuildInputs = [
68 propagatedBuildInputs = [
69 self."coverage"
69 self."coverage"
70 ];
70 ];
71 src = fetchurl {
71 src = fetchurl {
72 url = "https://files.pythonhosted.org/packages/4b/87/13e75a47b4ba1be06f29f6d807ca99638bedc6b57fa491cd3de891ca2923/cov-core-1.15.0.tar.gz";
72 url = "https://files.pythonhosted.org/packages/4b/87/13e75a47b4ba1be06f29f6d807ca99638bedc6b57fa491cd3de891ca2923/cov-core-1.15.0.tar.gz";
73 sha256 = "0k3np9ymh06yv1ib96sb6wfsxjkqhmik8qfsn119vnhga9ywc52a";
73 sha256 = "0k3np9ymh06yv1ib96sb6wfsxjkqhmik8qfsn119vnhga9ywc52a";
74 };
74 };
75 meta = {
75 meta = {
76 license = [ pkgs.lib.licenses.mit ];
76 license = [ pkgs.lib.licenses.mit ];
77 };
77 };
78 };
78 };
79 "coverage" = super.buildPythonPackage {
79 "coverage" = super.buildPythonPackage {
80 name = "coverage-3.7.1";
80 name = "coverage-3.7.1";
81 doCheck = false;
81 doCheck = false;
82 src = fetchurl {
82 src = fetchurl {
83 url = "https://files.pythonhosted.org/packages/09/4f/89b06c7fdc09687bca507dc411c342556ef9c5a3b26756137a4878ff19bf/coverage-3.7.1.tar.gz";
83 url = "https://files.pythonhosted.org/packages/09/4f/89b06c7fdc09687bca507dc411c342556ef9c5a3b26756137a4878ff19bf/coverage-3.7.1.tar.gz";
84 sha256 = "0knlbq79g2ww6xzsyknj9rirrgrgc983dpa2d9nkdf31mb2a3bni";
84 sha256 = "0knlbq79g2ww6xzsyknj9rirrgrgc983dpa2d9nkdf31mb2a3bni";
85 };
85 };
86 meta = {
86 meta = {
87 license = [ pkgs.lib.licenses.bsdOriginal ];
87 license = [ pkgs.lib.licenses.bsdOriginal ];
88 };
88 };
89 };
89 };
90 "decorator" = super.buildPythonPackage {
90 "decorator" = super.buildPythonPackage {
91 name = "decorator-4.1.2";
91 name = "decorator-4.1.2";
92 doCheck = false;
92 doCheck = false;
93 src = fetchurl {
93 src = fetchurl {
94 url = "https://files.pythonhosted.org/packages/bb/e0/f6e41e9091e130bf16d4437dabbac3993908e4d6485ecbc985ef1352db94/decorator-4.1.2.tar.gz";
94 url = "https://files.pythonhosted.org/packages/bb/e0/f6e41e9091e130bf16d4437dabbac3993908e4d6485ecbc985ef1352db94/decorator-4.1.2.tar.gz";
95 sha256 = "1d8npb11kxyi36mrvjdpcjij76l5zfyrz2f820brf0l0rcw4vdkw";
95 sha256 = "1d8npb11kxyi36mrvjdpcjij76l5zfyrz2f820brf0l0rcw4vdkw";
96 };
96 };
97 meta = {
97 meta = {
98 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "new BSD License"; } ];
98 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "new BSD License"; } ];
99 };
99 };
100 };
100 };
101 "dogpile.cache" = super.buildPythonPackage {
101 "dogpile.cache" = super.buildPythonPackage {
102 name = "dogpile.cache-0.6.6";
102 name = "dogpile.cache-0.6.6";
103 doCheck = false;
103 doCheck = false;
104 src = fetchurl {
104 src = fetchurl {
105 url = "https://files.pythonhosted.org/packages/48/ca/604154d835c3668efb8a31bd979b0ea4bf39c2934a40ffecc0662296cb51/dogpile.cache-0.6.6.tar.gz";
105 url = "https://files.pythonhosted.org/packages/48/ca/604154d835c3668efb8a31bd979b0ea4bf39c2934a40ffecc0662296cb51/dogpile.cache-0.6.6.tar.gz";
106 sha256 = "1h8n1lxd4l2qvahfkiinljkqz7pww7w3sgag0j8j9ixbl2h4wk84";
106 sha256 = "1h8n1lxd4l2qvahfkiinljkqz7pww7w3sgag0j8j9ixbl2h4wk84";
107 };
107 };
108 meta = {
108 meta = {
109 license = [ pkgs.lib.licenses.bsdOriginal ];
109 license = [ pkgs.lib.licenses.bsdOriginal ];
110 };
110 };
111 };
111 };
112 "dogpile.core" = super.buildPythonPackage {
112 "dogpile.core" = super.buildPythonPackage {
113 name = "dogpile.core-0.4.1";
113 name = "dogpile.core-0.4.1";
114 doCheck = false;
114 doCheck = false;
115 src = fetchurl {
115 src = fetchurl {
116 url = "https://files.pythonhosted.org/packages/0e/77/e72abc04c22aedf874301861e5c1e761231c288b5de369c18be8f4b5c9bb/dogpile.core-0.4.1.tar.gz";
116 url = "https://files.pythonhosted.org/packages/0e/77/e72abc04c22aedf874301861e5c1e761231c288b5de369c18be8f4b5c9bb/dogpile.core-0.4.1.tar.gz";
117 sha256 = "0xpdvg4kr1isfkrh1rfsh7za4q5a5s6l2kf9wpvndbwf3aqjyrdy";
117 sha256 = "0xpdvg4kr1isfkrh1rfsh7za4q5a5s6l2kf9wpvndbwf3aqjyrdy";
118 };
118 };
119 meta = {
119 meta = {
120 license = [ pkgs.lib.licenses.bsdOriginal ];
120 license = [ pkgs.lib.licenses.bsdOriginal ];
121 };
121 };
122 };
122 };
123 "dulwich" = super.buildPythonPackage {
123 "dulwich" = super.buildPythonPackage {
124 name = "dulwich-0.13.0";
124 name = "dulwich-0.13.0";
125 doCheck = false;
125 doCheck = false;
126 src = fetchurl {
126 src = fetchurl {
127 url = "https://files.pythonhosted.org/packages/84/95/732d280eee829dacc954e8109f97b47abcadcca472c2ab013e1635eb4792/dulwich-0.13.0.tar.gz";
127 url = "https://files.pythonhosted.org/packages/84/95/732d280eee829dacc954e8109f97b47abcadcca472c2ab013e1635eb4792/dulwich-0.13.0.tar.gz";
128 sha256 = "0f1jwvrh549c4rgavkn3wizrch904s73s4fmrxykxy9cw8s57lwf";
128 sha256 = "0f1jwvrh549c4rgavkn3wizrch904s73s4fmrxykxy9cw8s57lwf";
129 };
129 };
130 meta = {
130 meta = {
131 license = [ pkgs.lib.licenses.gpl2Plus ];
131 license = [ pkgs.lib.licenses.gpl2Plus ];
132 };
132 };
133 };
133 };
134 "enum34" = super.buildPythonPackage {
134 "enum34" = super.buildPythonPackage {
135 name = "enum34-1.1.6";
135 name = "enum34-1.1.6";
136 doCheck = false;
136 doCheck = false;
137 src = fetchurl {
137 src = fetchurl {
138 url = "https://files.pythonhosted.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz";
138 url = "https://files.pythonhosted.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz";
139 sha256 = "1cgm5ng2gcfrkrm3hc22brl6chdmv67b9zvva9sfs7gn7dwc9n4a";
139 sha256 = "1cgm5ng2gcfrkrm3hc22brl6chdmv67b9zvva9sfs7gn7dwc9n4a";
140 };
140 };
141 meta = {
141 meta = {
142 license = [ pkgs.lib.licenses.bsdOriginal ];
142 license = [ pkgs.lib.licenses.bsdOriginal ];
143 };
143 };
144 };
144 };
145 "funcsigs" = super.buildPythonPackage {
145 "funcsigs" = super.buildPythonPackage {
146 name = "funcsigs-1.0.2";
146 name = "funcsigs-1.0.2";
147 doCheck = false;
147 doCheck = false;
148 src = fetchurl {
148 src = fetchurl {
149 url = "https://files.pythonhosted.org/packages/94/4a/db842e7a0545de1cdb0439bb80e6e42dfe82aaeaadd4072f2263a4fbed23/funcsigs-1.0.2.tar.gz";
149 url = "https://files.pythonhosted.org/packages/94/4a/db842e7a0545de1cdb0439bb80e6e42dfe82aaeaadd4072f2263a4fbed23/funcsigs-1.0.2.tar.gz";
150 sha256 = "0l4g5818ffyfmfs1a924811azhjj8ax9xd1cffr1mzd3ycn0zfx7";
150 sha256 = "0l4g5818ffyfmfs1a924811azhjj8ax9xd1cffr1mzd3ycn0zfx7";
151 };
151 };
152 meta = {
152 meta = {
153 license = [ { fullName = "ASL"; } pkgs.lib.licenses.asl20 ];
153 license = [ { fullName = "ASL"; } pkgs.lib.licenses.asl20 ];
154 };
154 };
155 };
155 };
156 "gevent" = super.buildPythonPackage {
156 "gevent" = super.buildPythonPackage {
157 name = "gevent-1.3.5";
157 name = "gevent-1.3.5";
158 doCheck = false;
158 doCheck = false;
159 propagatedBuildInputs = [
159 propagatedBuildInputs = [
160 self."greenlet"
160 self."greenlet"
161 ];
161 ];
162 src = fetchurl {
162 src = fetchurl {
163 url = "https://files.pythonhosted.org/packages/e6/0a/fc345c6e6161f84484870dbcaa58e427c10bd9bdcd08a69bed3d6b398bf1/gevent-1.3.5.tar.gz";
163 url = "https://files.pythonhosted.org/packages/e6/0a/fc345c6e6161f84484870dbcaa58e427c10bd9bdcd08a69bed3d6b398bf1/gevent-1.3.5.tar.gz";
164 sha256 = "1w3gydxirgd2f60c5yv579w4903ds9s4g3587ik4jby97hgqc5bz";
164 sha256 = "1w3gydxirgd2f60c5yv579w4903ds9s4g3587ik4jby97hgqc5bz";
165 };
165 };
166 meta = {
166 meta = {
167 license = [ pkgs.lib.licenses.mit ];
167 license = [ pkgs.lib.licenses.mit ];
168 };
168 };
169 };
169 };
170 "gprof2dot" = super.buildPythonPackage {
170 "gprof2dot" = super.buildPythonPackage {
171 name = "gprof2dot-2017.9.19";
171 name = "gprof2dot-2017.9.19";
172 doCheck = false;
172 doCheck = false;
173 src = fetchurl {
173 src = fetchurl {
174 url = "https://files.pythonhosted.org/packages/9d/36/f977122502979f3dfb50704979c9ed70e6b620787942b089bf1af15f5aba/gprof2dot-2017.9.19.tar.gz";
174 url = "https://files.pythonhosted.org/packages/9d/36/f977122502979f3dfb50704979c9ed70e6b620787942b089bf1af15f5aba/gprof2dot-2017.9.19.tar.gz";
175 sha256 = "17ih23ld2nzgc3xwgbay911l6lh96jp1zshmskm17n1gg2i7mg6f";
175 sha256 = "17ih23ld2nzgc3xwgbay911l6lh96jp1zshmskm17n1gg2i7mg6f";
176 };
176 };
177 meta = {
177 meta = {
178 license = [ { fullName = "GNU Lesser General Public License v3 or later (LGPLv3+)"; } { fullName = "LGPL"; } ];
178 license = [ { fullName = "GNU Lesser General Public License v3 or later (LGPLv3+)"; } { fullName = "LGPL"; } ];
179 };
179 };
180 };
180 };
181 "greenlet" = super.buildPythonPackage {
181 "greenlet" = super.buildPythonPackage {
182 name = "greenlet-0.4.13";
182 name = "greenlet-0.4.13";
183 doCheck = false;
183 doCheck = false;
184 src = fetchurl {
184 src = fetchurl {
185 url = "https://files.pythonhosted.org/packages/13/de/ba92335e9e76040ca7274224942282a80d54f85e342a5e33c5277c7f87eb/greenlet-0.4.13.tar.gz";
185 url = "https://files.pythonhosted.org/packages/13/de/ba92335e9e76040ca7274224942282a80d54f85e342a5e33c5277c7f87eb/greenlet-0.4.13.tar.gz";
186 sha256 = "1r412gfx25jrdiv444prmz5a8igrfabwnwqyr6b52ypq7ga87vqg";
186 sha256 = "1r412gfx25jrdiv444prmz5a8igrfabwnwqyr6b52ypq7ga87vqg";
187 };
187 };
188 meta = {
188 meta = {
189 license = [ pkgs.lib.licenses.mit ];
189 license = [ pkgs.lib.licenses.mit ];
190 };
190 };
191 };
191 };
192 "gunicorn" = super.buildPythonPackage {
192 "gunicorn" = super.buildPythonPackage {
193 name = "gunicorn-19.9.0";
193 name = "gunicorn-19.9.0";
194 doCheck = false;
194 doCheck = false;
195 src = fetchurl {
195 src = fetchurl {
196 url = "https://files.pythonhosted.org/packages/47/52/68ba8e5e8ba251e54006a49441f7ccabca83b6bef5aedacb4890596c7911/gunicorn-19.9.0.tar.gz";
196 url = "https://files.pythonhosted.org/packages/47/52/68ba8e5e8ba251e54006a49441f7ccabca83b6bef5aedacb4890596c7911/gunicorn-19.9.0.tar.gz";
197 sha256 = "1wzlf4xmn6qjirh5w81l6i6kqjnab1n1qqkh7zsj1yb6gh4n49ps";
197 sha256 = "1wzlf4xmn6qjirh5w81l6i6kqjnab1n1qqkh7zsj1yb6gh4n49ps";
198 };
198 };
199 meta = {
199 meta = {
200 license = [ pkgs.lib.licenses.mit ];
200 license = [ pkgs.lib.licenses.mit ];
201 };
201 };
202 };
202 };
203 "hg-evolve" = super.buildPythonPackage {
203 "hg-evolve" = super.buildPythonPackage {
204 name = "hg-evolve-8.0.1";
204 name = "hg-evolve-8.0.1";
205 doCheck = false;
205 doCheck = false;
206 src = fetchurl {
206 src = fetchurl {
207 url = "https://files.pythonhosted.org/packages/06/1a/c5c12d8f117426f05285a820ee5a23121882f5381104e86276b72598934f/hg-evolve-8.0.1.tar.gz";
207 url = "https://files.pythonhosted.org/packages/06/1a/c5c12d8f117426f05285a820ee5a23121882f5381104e86276b72598934f/hg-evolve-8.0.1.tar.gz";
208 sha256 = "1brafifb42k71gl7qssb5m3ijnm7y30lfvm90z8xxcr2fgz19p29";
208 sha256 = "1brafifb42k71gl7qssb5m3ijnm7y30lfvm90z8xxcr2fgz19p29";
209 };
209 };
210 meta = {
210 meta = {
211 license = [ { fullName = "GPLv2+"; } ];
211 license = [ { fullName = "GPLv2+"; } ];
212 };
212 };
213 };
213 };
214 "hgsubversion" = super.buildPythonPackage {
214 "hgsubversion" = super.buildPythonPackage {
215 name = "hgsubversion-1.9.2";
215 name = "hgsubversion-1.9.2";
216 doCheck = false;
216 doCheck = false;
217 propagatedBuildInputs = [
217 propagatedBuildInputs = [
218 self."mercurial"
218 self."mercurial"
219 self."subvertpy"
219 self."subvertpy"
220 ];
220 ];
221 src = fetchurl {
221 src = fetchurl {
222 url = "https://files.pythonhosted.org/packages/05/80/3a3cef10dd65e86528ef8d7ac57a41ebc782d0f3c6cfa4fed021aa9fbee0/hgsubversion-1.9.2.tar.gz";
222 url = "https://files.pythonhosted.org/packages/05/80/3a3cef10dd65e86528ef8d7ac57a41ebc782d0f3c6cfa4fed021aa9fbee0/hgsubversion-1.9.2.tar.gz";
223 sha256 = "16490narhq14vskml3dam8g5y3w3hdqj3g8bgm2b0c0i85l1xvcz";
223 sha256 = "16490narhq14vskml3dam8g5y3w3hdqj3g8bgm2b0c0i85l1xvcz";
224 };
224 };
225 meta = {
225 meta = {
226 license = [ pkgs.lib.licenses.gpl1 ];
226 license = [ pkgs.lib.licenses.gpl1 ];
227 };
227 };
228 };
228 };
229 "hupper" = super.buildPythonPackage {
229 "hupper" = super.buildPythonPackage {
230 name = "hupper-1.3";
230 name = "hupper-1.3";
231 doCheck = false;
231 doCheck = false;
232 src = fetchurl {
232 src = fetchurl {
233 url = "https://files.pythonhosted.org/packages/51/0c/96335b1f2f32245fb871eea5bb9773196505ddb71fad15190056a282df9e/hupper-1.3.tar.gz";
233 url = "https://files.pythonhosted.org/packages/51/0c/96335b1f2f32245fb871eea5bb9773196505ddb71fad15190056a282df9e/hupper-1.3.tar.gz";
234 sha256 = "1pkyrm9c2crc32ps00k1ahnc5clj3pjwiarc7j0x8aykwih7ff10";
234 sha256 = "1pkyrm9c2crc32ps00k1ahnc5clj3pjwiarc7j0x8aykwih7ff10";
235 };
235 };
236 meta = {
236 meta = {
237 license = [ pkgs.lib.licenses.mit ];
237 license = [ pkgs.lib.licenses.mit ];
238 };
238 };
239 };
239 };
240 "ipdb" = super.buildPythonPackage {
240 "ipdb" = super.buildPythonPackage {
241 name = "ipdb-0.11";
241 name = "ipdb-0.11";
242 doCheck = false;
242 doCheck = false;
243 propagatedBuildInputs = [
243 propagatedBuildInputs = [
244 self."setuptools"
244 self."setuptools"
245 self."ipython"
245 self."ipython"
246 ];
246 ];
247 src = fetchurl {
247 src = fetchurl {
248 url = "https://files.pythonhosted.org/packages/80/fe/4564de08f174f3846364b3add8426d14cebee228f741c27e702b2877e85b/ipdb-0.11.tar.gz";
248 url = "https://files.pythonhosted.org/packages/80/fe/4564de08f174f3846364b3add8426d14cebee228f741c27e702b2877e85b/ipdb-0.11.tar.gz";
249 sha256 = "02m0l8wrhhd3z7dg3czn5ys1g5pxib516hpshdzp7rxzsxgcd0bh";
249 sha256 = "02m0l8wrhhd3z7dg3czn5ys1g5pxib516hpshdzp7rxzsxgcd0bh";
250 };
250 };
251 meta = {
251 meta = {
252 license = [ pkgs.lib.licenses.bsdOriginal ];
252 license = [ pkgs.lib.licenses.bsdOriginal ];
253 };
253 };
254 };
254 };
255 "ipython" = super.buildPythonPackage {
255 "ipython" = super.buildPythonPackage {
256 name = "ipython-5.1.0";
256 name = "ipython-5.1.0";
257 doCheck = false;
257 doCheck = false;
258 propagatedBuildInputs = [
258 propagatedBuildInputs = [
259 self."setuptools"
259 self."setuptools"
260 self."decorator"
260 self."decorator"
261 self."pickleshare"
261 self."pickleshare"
262 self."simplegeneric"
262 self."simplegeneric"
263 self."traitlets"
263 self."traitlets"
264 self."prompt-toolkit"
264 self."prompt-toolkit"
265 self."pygments"
265 self."pygments"
266 self."pexpect"
266 self."pexpect"
267 self."backports.shutil-get-terminal-size"
267 self."backports.shutil-get-terminal-size"
268 self."pathlib2"
268 self."pathlib2"
269 self."pexpect"
269 self."pexpect"
270 ];
270 ];
271 src = fetchurl {
271 src = fetchurl {
272 url = "https://files.pythonhosted.org/packages/89/63/a9292f7cd9d0090a0f995e1167f3f17d5889dcbc9a175261719c513b9848/ipython-5.1.0.tar.gz";
272 url = "https://files.pythonhosted.org/packages/89/63/a9292f7cd9d0090a0f995e1167f3f17d5889dcbc9a175261719c513b9848/ipython-5.1.0.tar.gz";
273 sha256 = "0qdrf6aj9kvjczd5chj1my8y2iq09am9l8bb2a1334a52d76kx3y";
273 sha256 = "0qdrf6aj9kvjczd5chj1my8y2iq09am9l8bb2a1334a52d76kx3y";
274 };
274 };
275 meta = {
275 meta = {
276 license = [ pkgs.lib.licenses.bsdOriginal ];
276 license = [ pkgs.lib.licenses.bsdOriginal ];
277 };
277 };
278 };
278 };
279 "ipython-genutils" = super.buildPythonPackage {
279 "ipython-genutils" = super.buildPythonPackage {
280 name = "ipython-genutils-0.2.0";
280 name = "ipython-genutils-0.2.0";
281 doCheck = false;
281 doCheck = false;
282 src = fetchurl {
282 src = fetchurl {
283 url = "https://files.pythonhosted.org/packages/e8/69/fbeffffc05236398ebfcfb512b6d2511c622871dca1746361006da310399/ipython_genutils-0.2.0.tar.gz";
283 url = "https://files.pythonhosted.org/packages/e8/69/fbeffffc05236398ebfcfb512b6d2511c622871dca1746361006da310399/ipython_genutils-0.2.0.tar.gz";
284 sha256 = "1a4bc9y8hnvq6cp08qs4mckgm6i6ajpndp4g496rvvzcfmp12bpb";
284 sha256 = "1a4bc9y8hnvq6cp08qs4mckgm6i6ajpndp4g496rvvzcfmp12bpb";
285 };
285 };
286 meta = {
286 meta = {
287 license = [ pkgs.lib.licenses.bsdOriginal ];
287 license = [ pkgs.lib.licenses.bsdOriginal ];
288 };
288 };
289 };
289 };
290 "lru-dict" = super.buildPythonPackage {
291 name = "lru-dict-1.1.6";
292 doCheck = false;
293 src = fetchurl {
294 url = "https://files.pythonhosted.org/packages/00/a5/32ed6e10246cd341ca8cc205acea5d208e4053f48a4dced2b1b31d45ba3f/lru-dict-1.1.6.tar.gz";
295 sha256 = "1k2lhd4dpl6xa6iialbwx4l6bkdzxmzhygms39pvf19x1rk5fm1n";
296 };
297 meta = {
298 license = [ pkgs.lib.licenses.mit ];
299 };
300 };
301 "mako" = super.buildPythonPackage {
290 "mako" = super.buildPythonPackage {
302 name = "mako-1.0.7";
291 name = "mako-1.0.7";
303 doCheck = false;
292 doCheck = false;
304 propagatedBuildInputs = [
293 propagatedBuildInputs = [
305 self."markupsafe"
294 self."markupsafe"
306 ];
295 ];
307 src = fetchurl {
296 src = fetchurl {
308 url = "https://files.pythonhosted.org/packages/eb/f3/67579bb486517c0d49547f9697e36582cd19dafb5df9e687ed8e22de57fa/Mako-1.0.7.tar.gz";
297 url = "https://files.pythonhosted.org/packages/eb/f3/67579bb486517c0d49547f9697e36582cd19dafb5df9e687ed8e22de57fa/Mako-1.0.7.tar.gz";
309 sha256 = "1bi5gnr8r8dva06qpyx4kgjc6spm2k1y908183nbbaylggjzs0jf";
298 sha256 = "1bi5gnr8r8dva06qpyx4kgjc6spm2k1y908183nbbaylggjzs0jf";
310 };
299 };
311 meta = {
300 meta = {
312 license = [ pkgs.lib.licenses.mit ];
301 license = [ pkgs.lib.licenses.mit ];
313 };
302 };
314 };
303 };
315 "markupsafe" = super.buildPythonPackage {
304 "markupsafe" = super.buildPythonPackage {
316 name = "markupsafe-1.0";
305 name = "markupsafe-1.0";
317 doCheck = false;
306 doCheck = false;
318 src = fetchurl {
307 src = fetchurl {
319 url = "https://files.pythonhosted.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz";
308 url = "https://files.pythonhosted.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz";
320 sha256 = "0rdn1s8x9ni7ss8rfiacj7x1085lx8mh2zdwqslnw8xc3l4nkgm6";
309 sha256 = "0rdn1s8x9ni7ss8rfiacj7x1085lx8mh2zdwqslnw8xc3l4nkgm6";
321 };
310 };
322 meta = {
311 meta = {
323 license = [ pkgs.lib.licenses.bsdOriginal ];
312 license = [ pkgs.lib.licenses.bsdOriginal ];
324 };
313 };
325 };
314 };
326 "mercurial" = super.buildPythonPackage {
315 "mercurial" = super.buildPythonPackage {
327 name = "mercurial-4.6.2";
316 name = "mercurial-4.6.2";
328 doCheck = false;
317 doCheck = false;
329 src = fetchurl {
318 src = fetchurl {
330 url = "https://files.pythonhosted.org/packages/d9/fb/c7ecf2b7fd349878dbf45b8390b8db735cef73d49dd9ce8a364b4ca3a846/mercurial-4.6.2.tar.gz";
319 url = "https://files.pythonhosted.org/packages/d9/fb/c7ecf2b7fd349878dbf45b8390b8db735cef73d49dd9ce8a364b4ca3a846/mercurial-4.6.2.tar.gz";
331 sha256 = "1bv6wgcdx8glihjjfg22khhc52mclsn4kwfqvzbzlg0b42h4xl0w";
320 sha256 = "1bv6wgcdx8glihjjfg22khhc52mclsn4kwfqvzbzlg0b42h4xl0w";
332 };
321 };
333 meta = {
322 meta = {
334 license = [ pkgs.lib.licenses.gpl1 pkgs.lib.licenses.gpl2Plus ];
323 license = [ pkgs.lib.licenses.gpl1 pkgs.lib.licenses.gpl2Plus ];
335 };
324 };
336 };
325 };
337 "mock" = super.buildPythonPackage {
326 "mock" = super.buildPythonPackage {
338 name = "mock-1.0.1";
327 name = "mock-1.0.1";
339 doCheck = false;
328 doCheck = false;
340 src = fetchurl {
329 src = fetchurl {
341 url = "https://files.pythonhosted.org/packages/a2/52/7edcd94f0afb721a2d559a5b9aae8af4f8f2c79bc63fdbe8a8a6c9b23bbe/mock-1.0.1.tar.gz";
330 url = "https://files.pythonhosted.org/packages/a2/52/7edcd94f0afb721a2d559a5b9aae8af4f8f2c79bc63fdbe8a8a6c9b23bbe/mock-1.0.1.tar.gz";
342 sha256 = "0kzlsbki6q0awf89rc287f3aj8x431lrajf160a70z0ikhnxsfdq";
331 sha256 = "0kzlsbki6q0awf89rc287f3aj8x431lrajf160a70z0ikhnxsfdq";
343 };
332 };
344 meta = {
333 meta = {
345 license = [ pkgs.lib.licenses.bsdOriginal ];
334 license = [ pkgs.lib.licenses.bsdOriginal ];
346 };
335 };
347 };
336 };
348 "more-itertools" = super.buildPythonPackage {
337 "more-itertools" = super.buildPythonPackage {
349 name = "more-itertools-4.2.0";
338 name = "more-itertools-4.2.0";
350 doCheck = false;
339 doCheck = false;
351 propagatedBuildInputs = [
340 propagatedBuildInputs = [
352 self."six"
341 self."six"
353 ];
342 ];
354 src = fetchurl {
343 src = fetchurl {
355 url = "https://files.pythonhosted.org/packages/c0/2f/6773347277d76c5ade4414a6c3f785ef27e7f5c4b0870ec7e888e66a8d83/more-itertools-4.2.0.tar.gz";
344 url = "https://files.pythonhosted.org/packages/c0/2f/6773347277d76c5ade4414a6c3f785ef27e7f5c4b0870ec7e888e66a8d83/more-itertools-4.2.0.tar.gz";
356 sha256 = "1s6qhl7a7jy8gqw8p545rxfp7rwz1hmjr9p6prk93zbv6f9rhsrb";
345 sha256 = "1s6qhl7a7jy8gqw8p545rxfp7rwz1hmjr9p6prk93zbv6f9rhsrb";
357 };
346 };
358 meta = {
347 meta = {
359 license = [ pkgs.lib.licenses.mit ];
348 license = [ pkgs.lib.licenses.mit ];
360 };
349 };
361 };
350 };
362 "msgpack-python" = super.buildPythonPackage {
351 "msgpack-python" = super.buildPythonPackage {
363 name = "msgpack-python-0.5.6";
352 name = "msgpack-python-0.5.6";
364 doCheck = false;
353 doCheck = false;
365 src = fetchurl {
354 src = fetchurl {
366 url = "https://files.pythonhosted.org/packages/8a/20/6eca772d1a5830336f84aca1d8198e5a3f4715cd1c7fc36d3cc7f7185091/msgpack-python-0.5.6.tar.gz";
355 url = "https://files.pythonhosted.org/packages/8a/20/6eca772d1a5830336f84aca1d8198e5a3f4715cd1c7fc36d3cc7f7185091/msgpack-python-0.5.6.tar.gz";
367 sha256 = "16wh8qgybmfh4pjp8vfv78mdlkxfmcasg78lzlnm6nslsfkci31p";
356 sha256 = "16wh8qgybmfh4pjp8vfv78mdlkxfmcasg78lzlnm6nslsfkci31p";
368 };
357 };
369 meta = {
358 meta = {
370 license = [ pkgs.lib.licenses.asl20 ];
359 license = [ pkgs.lib.licenses.asl20 ];
371 };
360 };
372 };
361 };
373 "pastedeploy" = super.buildPythonPackage {
362 "pastedeploy" = super.buildPythonPackage {
374 name = "pastedeploy-1.5.2";
363 name = "pastedeploy-1.5.2";
375 doCheck = false;
364 doCheck = false;
376 src = fetchurl {
365 src = fetchurl {
377 url = "https://files.pythonhosted.org/packages/0f/90/8e20cdae206c543ea10793cbf4136eb9a8b3f417e04e40a29d72d9922cbd/PasteDeploy-1.5.2.tar.gz";
366 url = "https://files.pythonhosted.org/packages/0f/90/8e20cdae206c543ea10793cbf4136eb9a8b3f417e04e40a29d72d9922cbd/PasteDeploy-1.5.2.tar.gz";
378 sha256 = "1jz3m4hq8v6hyhfjz9425nd3nvn52cvbfipdcd72krjmla4qz1fm";
367 sha256 = "1jz3m4hq8v6hyhfjz9425nd3nvn52cvbfipdcd72krjmla4qz1fm";
379 };
368 };
380 meta = {
369 meta = {
381 license = [ pkgs.lib.licenses.mit ];
370 license = [ pkgs.lib.licenses.mit ];
382 };
371 };
383 };
372 };
384 "pathlib2" = super.buildPythonPackage {
373 "pathlib2" = super.buildPythonPackage {
385 name = "pathlib2-2.3.0";
374 name = "pathlib2-2.3.0";
386 doCheck = false;
375 doCheck = false;
387 propagatedBuildInputs = [
376 propagatedBuildInputs = [
388 self."six"
377 self."six"
389 self."scandir"
378 self."scandir"
390 ];
379 ];
391 src = fetchurl {
380 src = fetchurl {
392 url = "https://files.pythonhosted.org/packages/a1/14/df0deb867c2733f7d857523c10942b3d6612a1b222502fdffa9439943dfb/pathlib2-2.3.0.tar.gz";
381 url = "https://files.pythonhosted.org/packages/a1/14/df0deb867c2733f7d857523c10942b3d6612a1b222502fdffa9439943dfb/pathlib2-2.3.0.tar.gz";
393 sha256 = "1cx5gs2v9j2vnzmcrbq5l8fq2mwrr1h6pyf1sjdji2w1bavm09fk";
382 sha256 = "1cx5gs2v9j2vnzmcrbq5l8fq2mwrr1h6pyf1sjdji2w1bavm09fk";
394 };
383 };
395 meta = {
384 meta = {
396 license = [ pkgs.lib.licenses.mit ];
385 license = [ pkgs.lib.licenses.mit ];
397 };
386 };
398 };
387 };
399 "pexpect" = super.buildPythonPackage {
388 "pexpect" = super.buildPythonPackage {
400 name = "pexpect-4.6.0";
389 name = "pexpect-4.6.0";
401 doCheck = false;
390 doCheck = false;
402 propagatedBuildInputs = [
391 propagatedBuildInputs = [
403 self."ptyprocess"
392 self."ptyprocess"
404 ];
393 ];
405 src = fetchurl {
394 src = fetchurl {
406 url = "https://files.pythonhosted.org/packages/89/43/07d07654ee3e25235d8cea4164cdee0ec39d1fda8e9203156ebe403ffda4/pexpect-4.6.0.tar.gz";
395 url = "https://files.pythonhosted.org/packages/89/43/07d07654ee3e25235d8cea4164cdee0ec39d1fda8e9203156ebe403ffda4/pexpect-4.6.0.tar.gz";
407 sha256 = "1fla85g47iaxxpjhp9vkxdnv4pgc7rplfy6ja491smrrk0jqi3ia";
396 sha256 = "1fla85g47iaxxpjhp9vkxdnv4pgc7rplfy6ja491smrrk0jqi3ia";
408 };
397 };
409 meta = {
398 meta = {
410 license = [ pkgs.lib.licenses.isc { fullName = "ISC License (ISCL)"; } ];
399 license = [ pkgs.lib.licenses.isc { fullName = "ISC License (ISCL)"; } ];
411 };
400 };
412 };
401 };
413 "pickleshare" = super.buildPythonPackage {
402 "pickleshare" = super.buildPythonPackage {
414 name = "pickleshare-0.7.4";
403 name = "pickleshare-0.7.4";
415 doCheck = false;
404 doCheck = false;
416 propagatedBuildInputs = [
405 propagatedBuildInputs = [
417 self."pathlib2"
406 self."pathlib2"
418 ];
407 ];
419 src = fetchurl {
408 src = fetchurl {
420 url = "https://files.pythonhosted.org/packages/69/fe/dd137d84daa0fd13a709e448138e310d9ea93070620c9db5454e234af525/pickleshare-0.7.4.tar.gz";
409 url = "https://files.pythonhosted.org/packages/69/fe/dd137d84daa0fd13a709e448138e310d9ea93070620c9db5454e234af525/pickleshare-0.7.4.tar.gz";
421 sha256 = "0yvk14dzxk7g6qpr7iw23vzqbsr0dh4ij4xynkhnzpfz4xr2bac4";
410 sha256 = "0yvk14dzxk7g6qpr7iw23vzqbsr0dh4ij4xynkhnzpfz4xr2bac4";
422 };
411 };
423 meta = {
412 meta = {
424 license = [ pkgs.lib.licenses.mit ];
413 license = [ pkgs.lib.licenses.mit ];
425 };
414 };
426 };
415 };
427 "plaster" = super.buildPythonPackage {
416 "plaster" = super.buildPythonPackage {
428 name = "plaster-1.0";
417 name = "plaster-1.0";
429 doCheck = false;
418 doCheck = false;
430 propagatedBuildInputs = [
419 propagatedBuildInputs = [
431 self."setuptools"
420 self."setuptools"
432 ];
421 ];
433 src = fetchurl {
422 src = fetchurl {
434 url = "https://files.pythonhosted.org/packages/37/e1/56d04382d718d32751017d32f351214384e529b794084eee20bb52405563/plaster-1.0.tar.gz";
423 url = "https://files.pythonhosted.org/packages/37/e1/56d04382d718d32751017d32f351214384e529b794084eee20bb52405563/plaster-1.0.tar.gz";
435 sha256 = "1hy8k0nv2mxq94y5aysk6hjk9ryb4bsd13g83m60hcyzxz3wflc3";
424 sha256 = "1hy8k0nv2mxq94y5aysk6hjk9ryb4bsd13g83m60hcyzxz3wflc3";
436 };
425 };
437 meta = {
426 meta = {
438 license = [ pkgs.lib.licenses.mit ];
427 license = [ pkgs.lib.licenses.mit ];
439 };
428 };
440 };
429 };
441 "plaster-pastedeploy" = super.buildPythonPackage {
430 "plaster-pastedeploy" = super.buildPythonPackage {
442 name = "plaster-pastedeploy-0.6";
431 name = "plaster-pastedeploy-0.6";
443 doCheck = false;
432 doCheck = false;
444 propagatedBuildInputs = [
433 propagatedBuildInputs = [
445 self."pastedeploy"
434 self."pastedeploy"
446 self."plaster"
435 self."plaster"
447 ];
436 ];
448 src = fetchurl {
437 src = fetchurl {
449 url = "https://files.pythonhosted.org/packages/3f/e7/6a6833158d2038ec40085433308a1e164fd1dac595513f6dd556d5669bb8/plaster_pastedeploy-0.6.tar.gz";
438 url = "https://files.pythonhosted.org/packages/3f/e7/6a6833158d2038ec40085433308a1e164fd1dac595513f6dd556d5669bb8/plaster_pastedeploy-0.6.tar.gz";
450 sha256 = "1bkggk18f4z2bmsmxyxabvf62znvjwbivzh880419r3ap0616cf2";
439 sha256 = "1bkggk18f4z2bmsmxyxabvf62znvjwbivzh880419r3ap0616cf2";
451 };
440 };
452 meta = {
441 meta = {
453 license = [ pkgs.lib.licenses.mit ];
442 license = [ pkgs.lib.licenses.mit ];
454 };
443 };
455 };
444 };
456 "pluggy" = super.buildPythonPackage {
445 "pluggy" = super.buildPythonPackage {
457 name = "pluggy-0.6.0";
446 name = "pluggy-0.6.0";
458 doCheck = false;
447 doCheck = false;
459 src = fetchurl {
448 src = fetchurl {
460 url = "https://files.pythonhosted.org/packages/11/bf/cbeb8cdfaffa9f2ea154a30ae31a9d04a1209312e2919138b4171a1f8199/pluggy-0.6.0.tar.gz";
449 url = "https://files.pythonhosted.org/packages/11/bf/cbeb8cdfaffa9f2ea154a30ae31a9d04a1209312e2919138b4171a1f8199/pluggy-0.6.0.tar.gz";
461 sha256 = "1zqckndfn85l1cd8pndw212zg1bq9fkg1nnj32kp2mppppsyg2kz";
450 sha256 = "1zqckndfn85l1cd8pndw212zg1bq9fkg1nnj32kp2mppppsyg2kz";
462 };
451 };
463 meta = {
452 meta = {
464 license = [ pkgs.lib.licenses.mit ];
453 license = [ pkgs.lib.licenses.mit ];
465 };
454 };
466 };
455 };
467 "prompt-toolkit" = super.buildPythonPackage {
456 "prompt-toolkit" = super.buildPythonPackage {
468 name = "prompt-toolkit-1.0.15";
457 name = "prompt-toolkit-1.0.15";
469 doCheck = false;
458 doCheck = false;
470 propagatedBuildInputs = [
459 propagatedBuildInputs = [
471 self."six"
460 self."six"
472 self."wcwidth"
461 self."wcwidth"
473 ];
462 ];
474 src = fetchurl {
463 src = fetchurl {
475 url = "https://files.pythonhosted.org/packages/8a/ad/cf6b128866e78ad6d7f1dc5b7f99885fb813393d9860778b2984582e81b5/prompt_toolkit-1.0.15.tar.gz";
464 url = "https://files.pythonhosted.org/packages/8a/ad/cf6b128866e78ad6d7f1dc5b7f99885fb813393d9860778b2984582e81b5/prompt_toolkit-1.0.15.tar.gz";
476 sha256 = "05v9h5nydljwpj5nm8n804ms0glajwfy1zagrzqrg91wk3qqi1c5";
465 sha256 = "05v9h5nydljwpj5nm8n804ms0glajwfy1zagrzqrg91wk3qqi1c5";
477 };
466 };
478 meta = {
467 meta = {
479 license = [ pkgs.lib.licenses.bsdOriginal ];
468 license = [ pkgs.lib.licenses.bsdOriginal ];
480 };
469 };
481 };
470 };
482 "psutil" = super.buildPythonPackage {
471 "psutil" = super.buildPythonPackage {
483 name = "psutil-5.4.6";
472 name = "psutil-5.4.6";
484 doCheck = false;
473 doCheck = false;
485 src = fetchurl {
474 src = fetchurl {
486 url = "https://files.pythonhosted.org/packages/51/9e/0f8f5423ce28c9109807024f7bdde776ed0b1161de20b408875de7e030c3/psutil-5.4.6.tar.gz";
475 url = "https://files.pythonhosted.org/packages/51/9e/0f8f5423ce28c9109807024f7bdde776ed0b1161de20b408875de7e030c3/psutil-5.4.6.tar.gz";
487 sha256 = "1xmw4qi6hnrhw81xqzkvmsm9im7j2vkk4v26ycjwq2jczqsmlvk8";
476 sha256 = "1xmw4qi6hnrhw81xqzkvmsm9im7j2vkk4v26ycjwq2jczqsmlvk8";
488 };
477 };
489 meta = {
478 meta = {
490 license = [ pkgs.lib.licenses.bsdOriginal ];
479 license = [ pkgs.lib.licenses.bsdOriginal ];
491 };
480 };
492 };
481 };
493 "ptyprocess" = super.buildPythonPackage {
482 "ptyprocess" = super.buildPythonPackage {
494 name = "ptyprocess-0.6.0";
483 name = "ptyprocess-0.6.0";
495 doCheck = false;
484 doCheck = false;
496 src = fetchurl {
485 src = fetchurl {
497 url = "https://files.pythonhosted.org/packages/7d/2d/e4b8733cf79b7309d84c9081a4ab558c89d8c89da5961bf4ddb050ca1ce0/ptyprocess-0.6.0.tar.gz";
486 url = "https://files.pythonhosted.org/packages/7d/2d/e4b8733cf79b7309d84c9081a4ab558c89d8c89da5961bf4ddb050ca1ce0/ptyprocess-0.6.0.tar.gz";
498 sha256 = "1h4lcd3w5nrxnsk436ar7fwkiy5rfn5wj2xwy9l0r4mdqnf2jgwj";
487 sha256 = "1h4lcd3w5nrxnsk436ar7fwkiy5rfn5wj2xwy9l0r4mdqnf2jgwj";
499 };
488 };
500 meta = {
489 meta = {
501 license = [ ];
490 license = [ ];
502 };
491 };
503 };
492 };
504 "py" = super.buildPythonPackage {
493 "py" = super.buildPythonPackage {
505 name = "py-1.5.3";
494 name = "py-1.5.3";
506 doCheck = false;
495 doCheck = false;
507 src = fetchurl {
496 src = fetchurl {
508 url = "https://files.pythonhosted.org/packages/f7/84/b4c6e84672c4ceb94f727f3da8344037b62cee960d80e999b1cd9b832d83/py-1.5.3.tar.gz";
497 url = "https://files.pythonhosted.org/packages/f7/84/b4c6e84672c4ceb94f727f3da8344037b62cee960d80e999b1cd9b832d83/py-1.5.3.tar.gz";
509 sha256 = "10gq2lckvgwlk9w6yzijhzkarx44hsaknd0ypa08wlnpjnsgmj99";
498 sha256 = "10gq2lckvgwlk9w6yzijhzkarx44hsaknd0ypa08wlnpjnsgmj99";
510 };
499 };
511 meta = {
500 meta = {
512 license = [ pkgs.lib.licenses.mit ];
501 license = [ pkgs.lib.licenses.mit ];
513 };
502 };
514 };
503 };
515 "pygments" = super.buildPythonPackage {
504 "pygments" = super.buildPythonPackage {
516 name = "pygments-2.2.0";
505 name = "pygments-2.2.0";
517 doCheck = false;
506 doCheck = false;
518 src = fetchurl {
507 src = fetchurl {
519 url = "https://files.pythonhosted.org/packages/71/2a/2e4e77803a8bd6408a2903340ac498cb0a2181811af7c9ec92cb70b0308a/Pygments-2.2.0.tar.gz";
508 url = "https://files.pythonhosted.org/packages/71/2a/2e4e77803a8bd6408a2903340ac498cb0a2181811af7c9ec92cb70b0308a/Pygments-2.2.0.tar.gz";
520 sha256 = "1k78qdvir1yb1c634nkv6rbga8wv4289xarghmsbbvzhvr311bnv";
509 sha256 = "1k78qdvir1yb1c634nkv6rbga8wv4289xarghmsbbvzhvr311bnv";
521 };
510 };
522 meta = {
511 meta = {
523 license = [ pkgs.lib.licenses.bsdOriginal ];
512 license = [ pkgs.lib.licenses.bsdOriginal ];
524 };
513 };
525 };
514 };
526 "pyramid" = super.buildPythonPackage {
515 "pyramid" = super.buildPythonPackage {
527 name = "pyramid-1.9.2";
516 name = "pyramid-1.9.2";
528 doCheck = false;
517 doCheck = false;
529 propagatedBuildInputs = [
518 propagatedBuildInputs = [
530 self."setuptools"
519 self."setuptools"
531 self."webob"
520 self."webob"
532 self."repoze.lru"
521 self."repoze.lru"
533 self."zope.interface"
522 self."zope.interface"
534 self."zope.deprecation"
523 self."zope.deprecation"
535 self."venusian"
524 self."venusian"
536 self."translationstring"
525 self."translationstring"
537 self."pastedeploy"
526 self."pastedeploy"
538 self."plaster"
527 self."plaster"
539 self."plaster-pastedeploy"
528 self."plaster-pastedeploy"
540 self."hupper"
529 self."hupper"
541 ];
530 ];
542 src = fetchurl {
531 src = fetchurl {
543 url = "https://files.pythonhosted.org/packages/a0/c1/b321d07cfc4870541989ad131c86a1d593bfe802af0eca9718a0dadfb97a/pyramid-1.9.2.tar.gz";
532 url = "https://files.pythonhosted.org/packages/a0/c1/b321d07cfc4870541989ad131c86a1d593bfe802af0eca9718a0dadfb97a/pyramid-1.9.2.tar.gz";
544 sha256 = "09drsl0346nchgxp2j7sa5hlk7mkhfld9wvbd0wicacrp26a92fg";
533 sha256 = "09drsl0346nchgxp2j7sa5hlk7mkhfld9wvbd0wicacrp26a92fg";
545 };
534 };
546 meta = {
535 meta = {
547 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
536 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
548 };
537 };
549 };
538 };
550 "pyramid-mako" = super.buildPythonPackage {
539 "pyramid-mako" = super.buildPythonPackage {
551 name = "pyramid-mako-1.0.2";
540 name = "pyramid-mako-1.0.2";
552 doCheck = false;
541 doCheck = false;
553 propagatedBuildInputs = [
542 propagatedBuildInputs = [
554 self."pyramid"
543 self."pyramid"
555 self."mako"
544 self."mako"
556 ];
545 ];
557 src = fetchurl {
546 src = fetchurl {
558 url = "https://files.pythonhosted.org/packages/f1/92/7e69bcf09676d286a71cb3bbb887b16595b96f9ba7adbdc239ffdd4b1eb9/pyramid_mako-1.0.2.tar.gz";
547 url = "https://files.pythonhosted.org/packages/f1/92/7e69bcf09676d286a71cb3bbb887b16595b96f9ba7adbdc239ffdd4b1eb9/pyramid_mako-1.0.2.tar.gz";
559 sha256 = "18gk2vliq8z4acblsl6yzgbvnr9rlxjlcqir47km7kvlk1xri83d";
548 sha256 = "18gk2vliq8z4acblsl6yzgbvnr9rlxjlcqir47km7kvlk1xri83d";
560 };
549 };
561 meta = {
550 meta = {
562 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
551 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
563 };
552 };
564 };
553 };
565 "pytest" = super.buildPythonPackage {
554 "pytest" = super.buildPythonPackage {
566 name = "pytest-3.6.0";
555 name = "pytest-3.6.0";
567 doCheck = false;
556 doCheck = false;
568 propagatedBuildInputs = [
557 propagatedBuildInputs = [
569 self."py"
558 self."py"
570 self."six"
559 self."six"
571 self."setuptools"
560 self."setuptools"
572 self."attrs"
561 self."attrs"
573 self."more-itertools"
562 self."more-itertools"
574 self."atomicwrites"
563 self."atomicwrites"
575 self."pluggy"
564 self."pluggy"
576 self."funcsigs"
565 self."funcsigs"
577 ];
566 ];
578 src = fetchurl {
567 src = fetchurl {
579 url = "https://files.pythonhosted.org/packages/67/6a/5bcdc22f8dbada1d2910d6e1a3a03f6b14306c78f81122890735b28be4bf/pytest-3.6.0.tar.gz";
568 url = "https://files.pythonhosted.org/packages/67/6a/5bcdc22f8dbada1d2910d6e1a3a03f6b14306c78f81122890735b28be4bf/pytest-3.6.0.tar.gz";
580 sha256 = "0bdfazvjjbxssqzyvkb3m2x2in7xv56ipr899l00s87k7815sm9r";
569 sha256 = "0bdfazvjjbxssqzyvkb3m2x2in7xv56ipr899l00s87k7815sm9r";
581 };
570 };
582 meta = {
571 meta = {
583 license = [ pkgs.lib.licenses.mit ];
572 license = [ pkgs.lib.licenses.mit ];
584 };
573 };
585 };
574 };
586 "pytest-cov" = super.buildPythonPackage {
575 "pytest-cov" = super.buildPythonPackage {
587 name = "pytest-cov-2.5.1";
576 name = "pytest-cov-2.5.1";
588 doCheck = false;
577 doCheck = false;
589 propagatedBuildInputs = [
578 propagatedBuildInputs = [
590 self."pytest"
579 self."pytest"
591 self."coverage"
580 self."coverage"
592 ];
581 ];
593 src = fetchurl {
582 src = fetchurl {
594 url = "https://files.pythonhosted.org/packages/24/b4/7290d65b2f3633db51393bdf8ae66309b37620bc3ec116c5e357e3e37238/pytest-cov-2.5.1.tar.gz";
583 url = "https://files.pythonhosted.org/packages/24/b4/7290d65b2f3633db51393bdf8ae66309b37620bc3ec116c5e357e3e37238/pytest-cov-2.5.1.tar.gz";
595 sha256 = "0bbfpwdh9k3636bxc88vz9fa7vf4akchgn513ql1vd0xy4n7bah3";
584 sha256 = "0bbfpwdh9k3636bxc88vz9fa7vf4akchgn513ql1vd0xy4n7bah3";
596 };
585 };
597 meta = {
586 meta = {
598 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.mit ];
587 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.mit ];
599 };
588 };
600 };
589 };
601 "pytest-profiling" = super.buildPythonPackage {
590 "pytest-profiling" = super.buildPythonPackage {
602 name = "pytest-profiling-1.3.0";
591 name = "pytest-profiling-1.3.0";
603 doCheck = false;
592 doCheck = false;
604 propagatedBuildInputs = [
593 propagatedBuildInputs = [
605 self."six"
594 self."six"
606 self."pytest"
595 self."pytest"
607 self."gprof2dot"
596 self."gprof2dot"
608 ];
597 ];
609 src = fetchurl {
598 src = fetchurl {
610 url = "https://files.pythonhosted.org/packages/f5/34/4626126e041a51ef50a80d0619519b18d20aef249aac25b0d0fdd47e57ee/pytest-profiling-1.3.0.tar.gz";
599 url = "https://files.pythonhosted.org/packages/f5/34/4626126e041a51ef50a80d0619519b18d20aef249aac25b0d0fdd47e57ee/pytest-profiling-1.3.0.tar.gz";
611 sha256 = "08r5afx5z22yvpmsnl91l4amsy1yxn8qsmm61mhp06mz8zjs51kb";
600 sha256 = "08r5afx5z22yvpmsnl91l4amsy1yxn8qsmm61mhp06mz8zjs51kb";
612 };
601 };
613 meta = {
602 meta = {
614 license = [ pkgs.lib.licenses.mit ];
603 license = [ pkgs.lib.licenses.mit ];
615 };
604 };
616 };
605 };
617 "pytest-runner" = super.buildPythonPackage {
606 "pytest-runner" = super.buildPythonPackage {
618 name = "pytest-runner-4.2";
607 name = "pytest-runner-4.2";
619 doCheck = false;
608 doCheck = false;
620 src = fetchurl {
609 src = fetchurl {
621 url = "https://files.pythonhosted.org/packages/9e/b7/fe6e8f87f9a756fd06722216f1b6698ccba4d269eac6329d9f0c441d0f93/pytest-runner-4.2.tar.gz";
610 url = "https://files.pythonhosted.org/packages/9e/b7/fe6e8f87f9a756fd06722216f1b6698ccba4d269eac6329d9f0c441d0f93/pytest-runner-4.2.tar.gz";
622 sha256 = "1gkpyphawxz38ni1gdq1fmwyqcg02m7ypzqvv46z06crwdxi2gyj";
611 sha256 = "1gkpyphawxz38ni1gdq1fmwyqcg02m7ypzqvv46z06crwdxi2gyj";
623 };
612 };
624 meta = {
613 meta = {
625 license = [ pkgs.lib.licenses.mit ];
614 license = [ pkgs.lib.licenses.mit ];
626 };
615 };
627 };
616 };
628 "pytest-sugar" = super.buildPythonPackage {
617 "pytest-sugar" = super.buildPythonPackage {
629 name = "pytest-sugar-0.9.1";
618 name = "pytest-sugar-0.9.1";
630 doCheck = false;
619 doCheck = false;
631 propagatedBuildInputs = [
620 propagatedBuildInputs = [
632 self."pytest"
621 self."pytest"
633 self."termcolor"
622 self."termcolor"
634 ];
623 ];
635 src = fetchurl {
624 src = fetchurl {
636 url = "https://files.pythonhosted.org/packages/3e/6a/a3f909083079d03bde11d06ab23088886bbe25f2c97fbe4bb865e2bf05bc/pytest-sugar-0.9.1.tar.gz";
625 url = "https://files.pythonhosted.org/packages/3e/6a/a3f909083079d03bde11d06ab23088886bbe25f2c97fbe4bb865e2bf05bc/pytest-sugar-0.9.1.tar.gz";
637 sha256 = "0b4av40dv30727m54v211r0nzwjp2ajkjgxix6j484qjmwpw935b";
626 sha256 = "0b4av40dv30727m54v211r0nzwjp2ajkjgxix6j484qjmwpw935b";
638 };
627 };
639 meta = {
628 meta = {
640 license = [ pkgs.lib.licenses.bsdOriginal ];
629 license = [ pkgs.lib.licenses.bsdOriginal ];
641 };
630 };
642 };
631 };
643 "pytest-timeout" = super.buildPythonPackage {
632 "pytest-timeout" = super.buildPythonPackage {
644 name = "pytest-timeout-1.2.1";
633 name = "pytest-timeout-1.2.1";
645 doCheck = false;
634 doCheck = false;
646 propagatedBuildInputs = [
635 propagatedBuildInputs = [
647 self."pytest"
636 self."pytest"
648 ];
637 ];
649 src = fetchurl {
638 src = fetchurl {
650 url = "https://files.pythonhosted.org/packages/be/e9/a9106b8bc87521c6813060f50f7d1fdc15665bc1bbbe71c0ffc1c571aaa2/pytest-timeout-1.2.1.tar.gz";
639 url = "https://files.pythonhosted.org/packages/be/e9/a9106b8bc87521c6813060f50f7d1fdc15665bc1bbbe71c0ffc1c571aaa2/pytest-timeout-1.2.1.tar.gz";
651 sha256 = "1kdp6qbh5v1168l99rba5yfzvy05gmzkmkhldgp36p9xcdjd5dv8";
640 sha256 = "1kdp6qbh5v1168l99rba5yfzvy05gmzkmkhldgp36p9xcdjd5dv8";
652 };
641 };
653 meta = {
642 meta = {
654 license = [ pkgs.lib.licenses.mit { fullName = "DFSG approved"; } ];
643 license = [ pkgs.lib.licenses.mit { fullName = "DFSG approved"; } ];
655 };
644 };
656 };
645 };
657 "repoze.lru" = super.buildPythonPackage {
646 "repoze.lru" = super.buildPythonPackage {
658 name = "repoze.lru-0.7";
647 name = "repoze.lru-0.7";
659 doCheck = false;
648 doCheck = false;
660 src = fetchurl {
649 src = fetchurl {
661 url = "https://files.pythonhosted.org/packages/12/bc/595a77c4b5e204847fdf19268314ef59c85193a9dc9f83630fc459c0fee5/repoze.lru-0.7.tar.gz";
650 url = "https://files.pythonhosted.org/packages/12/bc/595a77c4b5e204847fdf19268314ef59c85193a9dc9f83630fc459c0fee5/repoze.lru-0.7.tar.gz";
662 sha256 = "0xzz1aw2smy8hdszrq8yhnklx6w1r1mf55061kalw3iq35gafa84";
651 sha256 = "0xzz1aw2smy8hdszrq8yhnklx6w1r1mf55061kalw3iq35gafa84";
663 };
652 };
664 meta = {
653 meta = {
665 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
654 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
666 };
655 };
667 };
656 };
668 "rhodecode-vcsserver" = super.buildPythonPackage {
657 "rhodecode-vcsserver" = super.buildPythonPackage {
669 name = "rhodecode-vcsserver-4.13.0";
658 name = "rhodecode-vcsserver-4.13.0";
670 buildInputs = [
659 buildInputs = [
671 self."pytest"
660 self."pytest"
672 self."py"
661 self."py"
673 self."pytest-cov"
662 self."pytest-cov"
674 self."pytest-sugar"
663 self."pytest-sugar"
675 self."pytest-runner"
664 self."pytest-runner"
676 self."pytest-profiling"
665 self."pytest-profiling"
677 self."gprof2dot"
666 self."gprof2dot"
678 self."pytest-timeout"
667 self."pytest-timeout"
679 self."mock"
668 self."mock"
680 self."webtest"
669 self."webtest"
681 self."cov-core"
670 self."cov-core"
682 self."coverage"
671 self."coverage"
683 self."configobj"
672 self."configobj"
684 ];
673 ];
685 doCheck = true;
674 doCheck = true;
686 propagatedBuildInputs = [
675 propagatedBuildInputs = [
687 self."configobj"
676 self."configobj"
688 self."dogpile.cache"
677 self."dogpile.cache"
689 self."dogpile.core"
678 self."dogpile.core"
690 self."decorator"
679 self."decorator"
691 self."dulwich"
680 self."dulwich"
692 self."hgsubversion"
681 self."hgsubversion"
693 self."hg-evolve"
682 self."hg-evolve"
694 self."lru-dict"
695 self."mako"
683 self."mako"
696 self."markupsafe"
684 self."markupsafe"
697 self."mercurial"
685 self."mercurial"
698 self."msgpack-python"
686 self."msgpack-python"
699 self."pastedeploy"
687 self."pastedeploy"
700 self."psutil"
688 self."psutil"
701 self."pyramid"
689 self."pyramid"
702 self."pyramid-mako"
690 self."pyramid-mako"
703 self."pygments"
691 self."pygments"
704 self."pathlib2"
692 self."pathlib2"
705 self."repoze.lru"
693 self."repoze.lru"
706 self."simplejson"
694 self."simplejson"
707 self."subprocess32"
695 self."subprocess32"
708 self."subvertpy"
696 self."subvertpy"
709 self."six"
697 self."six"
710 self."translationstring"
698 self."translationstring"
711 self."webob"
699 self."webob"
712 self."zope.deprecation"
700 self."zope.deprecation"
713 self."zope.interface"
701 self."zope.interface"
714 self."gevent"
702 self."gevent"
715 self."greenlet"
703 self."greenlet"
716 self."gunicorn"
704 self."gunicorn"
717 self."waitress"
705 self."waitress"
718 self."ipdb"
706 self."ipdb"
719 self."ipython"
707 self."ipython"
720 self."pytest"
708 self."pytest"
721 self."py"
709 self."py"
722 self."pytest-cov"
710 self."pytest-cov"
723 self."pytest-sugar"
711 self."pytest-sugar"
724 self."pytest-runner"
712 self."pytest-runner"
725 self."pytest-profiling"
713 self."pytest-profiling"
726 self."gprof2dot"
714 self."gprof2dot"
727 self."pytest-timeout"
715 self."pytest-timeout"
728 self."mock"
716 self."mock"
729 self."webtest"
717 self."webtest"
730 self."cov-core"
718 self."cov-core"
731 self."coverage"
719 self."coverage"
732 ];
720 ];
733 src = ./.;
721 src = ./.;
734 meta = {
722 meta = {
735 license = [ { fullName = "GPL V3"; } { fullName = "GNU General Public License v3 or later (GPLv3+)"; } ];
723 license = [ { fullName = "GPL V3"; } { fullName = "GNU General Public License v3 or later (GPLv3+)"; } ];
736 };
724 };
737 };
725 };
738 "scandir" = super.buildPythonPackage {
726 "scandir" = super.buildPythonPackage {
739 name = "scandir-1.7";
727 name = "scandir-1.7";
740 doCheck = false;
728 doCheck = false;
741 src = fetchurl {
729 src = fetchurl {
742 url = "https://files.pythonhosted.org/packages/13/bb/e541b74230bbf7a20a3949a2ee6631be299378a784f5445aa5d0047c192b/scandir-1.7.tar.gz";
730 url = "https://files.pythonhosted.org/packages/13/bb/e541b74230bbf7a20a3949a2ee6631be299378a784f5445aa5d0047c192b/scandir-1.7.tar.gz";
743 sha256 = "0gbnhjzg42rj87ljv9kb648rfxph69ly3c8r9841dxy4d7l5pmdj";
731 sha256 = "0gbnhjzg42rj87ljv9kb648rfxph69ly3c8r9841dxy4d7l5pmdj";
744 };
732 };
745 meta = {
733 meta = {
746 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "New BSD License"; } ];
734 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "New BSD License"; } ];
747 };
735 };
748 };
736 };
749 "simplegeneric" = super.buildPythonPackage {
737 "simplegeneric" = super.buildPythonPackage {
750 name = "simplegeneric-0.8.1";
738 name = "simplegeneric-0.8.1";
751 doCheck = false;
739 doCheck = false;
752 src = fetchurl {
740 src = fetchurl {
753 url = "https://files.pythonhosted.org/packages/3d/57/4d9c9e3ae9a255cd4e1106bb57e24056d3d0709fc01b2e3e345898e49d5b/simplegeneric-0.8.1.zip";
741 url = "https://files.pythonhosted.org/packages/3d/57/4d9c9e3ae9a255cd4e1106bb57e24056d3d0709fc01b2e3e345898e49d5b/simplegeneric-0.8.1.zip";
754 sha256 = "0wwi1c6md4vkbcsfsf8dklf3vr4mcdj4mpxkanwgb6jb1432x5yw";
742 sha256 = "0wwi1c6md4vkbcsfsf8dklf3vr4mcdj4mpxkanwgb6jb1432x5yw";
755 };
743 };
756 meta = {
744 meta = {
757 license = [ pkgs.lib.licenses.zpl21 ];
745 license = [ pkgs.lib.licenses.zpl21 ];
758 };
746 };
759 };
747 };
760 "simplejson" = super.buildPythonPackage {
748 "simplejson" = super.buildPythonPackage {
761 name = "simplejson-3.11.1";
749 name = "simplejson-3.11.1";
762 doCheck = false;
750 doCheck = false;
763 src = fetchurl {
751 src = fetchurl {
764 url = "https://files.pythonhosted.org/packages/08/48/c97b668d6da7d7bebe7ea1817a6f76394b0ec959cb04214ca833c34359df/simplejson-3.11.1.tar.gz";
752 url = "https://files.pythonhosted.org/packages/08/48/c97b668d6da7d7bebe7ea1817a6f76394b0ec959cb04214ca833c34359df/simplejson-3.11.1.tar.gz";
765 sha256 = "1rr58dppsq73p0qcd9bsw066cdd3v63sqv7j6sqni8frvm4jv8h1";
753 sha256 = "1rr58dppsq73p0qcd9bsw066cdd3v63sqv7j6sqni8frvm4jv8h1";
766 };
754 };
767 meta = {
755 meta = {
768 license = [ { fullName = "Academic Free License (AFL)"; } pkgs.lib.licenses.mit ];
756 license = [ { fullName = "Academic Free License (AFL)"; } pkgs.lib.licenses.mit ];
769 };
757 };
770 };
758 };
771 "six" = super.buildPythonPackage {
759 "six" = super.buildPythonPackage {
772 name = "six-1.11.0";
760 name = "six-1.11.0";
773 doCheck = false;
761 doCheck = false;
774 src = fetchurl {
762 src = fetchurl {
775 url = "https://files.pythonhosted.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz";
763 url = "https://files.pythonhosted.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz";
776 sha256 = "1scqzwc51c875z23phj48gircqjgnn3af8zy2izjwmnlxrxsgs3h";
764 sha256 = "1scqzwc51c875z23phj48gircqjgnn3af8zy2izjwmnlxrxsgs3h";
777 };
765 };
778 meta = {
766 meta = {
779 license = [ pkgs.lib.licenses.mit ];
767 license = [ pkgs.lib.licenses.mit ];
780 };
768 };
781 };
769 };
782 "subprocess32" = super.buildPythonPackage {
770 "subprocess32" = super.buildPythonPackage {
783 name = "subprocess32-3.5.1";
771 name = "subprocess32-3.5.1";
784 doCheck = false;
772 doCheck = false;
785 src = fetchurl {
773 src = fetchurl {
786 url = "https://files.pythonhosted.org/packages/de/fb/fd3e91507021e2aecdb081d1b920082628d6b8869ead845e3e87b3d2e2ca/subprocess32-3.5.1.tar.gz";
774 url = "https://files.pythonhosted.org/packages/de/fb/fd3e91507021e2aecdb081d1b920082628d6b8869ead845e3e87b3d2e2ca/subprocess32-3.5.1.tar.gz";
787 sha256 = "0wgi3bfnssid1g6h0v803z3k1wjal6il16nr3r9c587cfzwfkv0q";
775 sha256 = "0wgi3bfnssid1g6h0v803z3k1wjal6il16nr3r9c587cfzwfkv0q";
788 };
776 };
789 meta = {
777 meta = {
790 license = [ pkgs.lib.licenses.psfl ];
778 license = [ pkgs.lib.licenses.psfl ];
791 };
779 };
792 };
780 };
793 "subvertpy" = super.buildPythonPackage {
781 "subvertpy" = super.buildPythonPackage {
794 name = "subvertpy-0.10.1";
782 name = "subvertpy-0.10.1";
795 doCheck = false;
783 doCheck = false;
796 src = fetchurl {
784 src = fetchurl {
797 url = "https://files.pythonhosted.org/packages/9d/76/99fa82affce75f5ac0f7dbe513796c3f37311ace0c68e1b063683b4f9b99/subvertpy-0.10.1.tar.gz";
785 url = "https://files.pythonhosted.org/packages/9d/76/99fa82affce75f5ac0f7dbe513796c3f37311ace0c68e1b063683b4f9b99/subvertpy-0.10.1.tar.gz";
798 sha256 = "061ncy9wjz3zyv527avcrdyk0xygyssyy7p1644nhzhwp8zpybij";
786 sha256 = "061ncy9wjz3zyv527avcrdyk0xygyssyy7p1644nhzhwp8zpybij";
799 };
787 };
800 meta = {
788 meta = {
801 license = [ pkgs.lib.licenses.lgpl21Plus pkgs.lib.licenses.gpl2Plus ];
789 license = [ pkgs.lib.licenses.lgpl21Plus pkgs.lib.licenses.gpl2Plus ];
802 };
790 };
803 };
791 };
804 "termcolor" = super.buildPythonPackage {
792 "termcolor" = super.buildPythonPackage {
805 name = "termcolor-1.1.0";
793 name = "termcolor-1.1.0";
806 doCheck = false;
794 doCheck = false;
807 src = fetchurl {
795 src = fetchurl {
808 url = "https://files.pythonhosted.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz";
796 url = "https://files.pythonhosted.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz";
809 sha256 = "0fv1vq14rpqwgazxg4981904lfyp84mnammw7y046491cv76jv8x";
797 sha256 = "0fv1vq14rpqwgazxg4981904lfyp84mnammw7y046491cv76jv8x";
810 };
798 };
811 meta = {
799 meta = {
812 license = [ pkgs.lib.licenses.mit ];
800 license = [ pkgs.lib.licenses.mit ];
813 };
801 };
814 };
802 };
815 "traitlets" = super.buildPythonPackage {
803 "traitlets" = super.buildPythonPackage {
816 name = "traitlets-4.3.2";
804 name = "traitlets-4.3.2";
817 doCheck = false;
805 doCheck = false;
818 propagatedBuildInputs = [
806 propagatedBuildInputs = [
819 self."ipython-genutils"
807 self."ipython-genutils"
820 self."six"
808 self."six"
821 self."decorator"
809 self."decorator"
822 self."enum34"
810 self."enum34"
823 ];
811 ];
824 src = fetchurl {
812 src = fetchurl {
825 url = "https://files.pythonhosted.org/packages/a5/98/7f5ef2fe9e9e071813aaf9cb91d1a732e0a68b6c44a32b38cb8e14c3f069/traitlets-4.3.2.tar.gz";
813 url = "https://files.pythonhosted.org/packages/a5/98/7f5ef2fe9e9e071813aaf9cb91d1a732e0a68b6c44a32b38cb8e14c3f069/traitlets-4.3.2.tar.gz";
826 sha256 = "0dbq7sx26xqz5ixs711k5nc88p8a0nqyz6162pwks5dpcz9d4jww";
814 sha256 = "0dbq7sx26xqz5ixs711k5nc88p8a0nqyz6162pwks5dpcz9d4jww";
827 };
815 };
828 meta = {
816 meta = {
829 license = [ pkgs.lib.licenses.bsdOriginal ];
817 license = [ pkgs.lib.licenses.bsdOriginal ];
830 };
818 };
831 };
819 };
832 "translationstring" = super.buildPythonPackage {
820 "translationstring" = super.buildPythonPackage {
833 name = "translationstring-1.3";
821 name = "translationstring-1.3";
834 doCheck = false;
822 doCheck = false;
835 src = fetchurl {
823 src = fetchurl {
836 url = "https://files.pythonhosted.org/packages/5e/eb/bee578cc150b44c653b63f5ebe258b5d0d812ddac12497e5f80fcad5d0b4/translationstring-1.3.tar.gz";
824 url = "https://files.pythonhosted.org/packages/5e/eb/bee578cc150b44c653b63f5ebe258b5d0d812ddac12497e5f80fcad5d0b4/translationstring-1.3.tar.gz";
837 sha256 = "0bdpcnd9pv0131dl08h4zbcwmgc45lyvq3pa224xwan5b3x4rr2f";
825 sha256 = "0bdpcnd9pv0131dl08h4zbcwmgc45lyvq3pa224xwan5b3x4rr2f";
838 };
826 };
839 meta = {
827 meta = {
840 license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ];
828 license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ];
841 };
829 };
842 };
830 };
843 "venusian" = super.buildPythonPackage {
831 "venusian" = super.buildPythonPackage {
844 name = "venusian-1.1.0";
832 name = "venusian-1.1.0";
845 doCheck = false;
833 doCheck = false;
846 src = fetchurl {
834 src = fetchurl {
847 url = "https://files.pythonhosted.org/packages/38/24/b4b470ab9e0a2e2e9b9030c7735828c8934b4c6b45befd1bb713ec2aeb2d/venusian-1.1.0.tar.gz";
835 url = "https://files.pythonhosted.org/packages/38/24/b4b470ab9e0a2e2e9b9030c7735828c8934b4c6b45befd1bb713ec2aeb2d/venusian-1.1.0.tar.gz";
848 sha256 = "0zapz131686qm0gazwy8bh11vr57pr89jbwbl50s528sqy9f80lr";
836 sha256 = "0zapz131686qm0gazwy8bh11vr57pr89jbwbl50s528sqy9f80lr";
849 };
837 };
850 meta = {
838 meta = {
851 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
839 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
852 };
840 };
853 };
841 };
854 "waitress" = super.buildPythonPackage {
842 "waitress" = super.buildPythonPackage {
855 name = "waitress-1.1.0";
843 name = "waitress-1.1.0";
856 doCheck = false;
844 doCheck = false;
857 src = fetchurl {
845 src = fetchurl {
858 url = "https://files.pythonhosted.org/packages/3c/68/1c10dd5c556872ceebe88483b0436140048d39de83a84a06a8baa8136f4f/waitress-1.1.0.tar.gz";
846 url = "https://files.pythonhosted.org/packages/3c/68/1c10dd5c556872ceebe88483b0436140048d39de83a84a06a8baa8136f4f/waitress-1.1.0.tar.gz";
859 sha256 = "1a85gyji0kajc3p0s1pwwfm06w4wfxjkvvl4rnrz3h164kbd6g6k";
847 sha256 = "1a85gyji0kajc3p0s1pwwfm06w4wfxjkvvl4rnrz3h164kbd6g6k";
860 };
848 };
861 meta = {
849 meta = {
862 license = [ pkgs.lib.licenses.zpl21 ];
850 license = [ pkgs.lib.licenses.zpl21 ];
863 };
851 };
864 };
852 };
865 "wcwidth" = super.buildPythonPackage {
853 "wcwidth" = super.buildPythonPackage {
866 name = "wcwidth-0.1.7";
854 name = "wcwidth-0.1.7";
867 doCheck = false;
855 doCheck = false;
868 src = fetchurl {
856 src = fetchurl {
869 url = "https://files.pythonhosted.org/packages/55/11/e4a2bb08bb450fdbd42cc709dd40de4ed2c472cf0ccb9e64af22279c5495/wcwidth-0.1.7.tar.gz";
857 url = "https://files.pythonhosted.org/packages/55/11/e4a2bb08bb450fdbd42cc709dd40de4ed2c472cf0ccb9e64af22279c5495/wcwidth-0.1.7.tar.gz";
870 sha256 = "0pn6dflzm609m4r3i8ik5ni9ijjbb5fa3vg1n7hn6vkd49r77wrx";
858 sha256 = "0pn6dflzm609m4r3i8ik5ni9ijjbb5fa3vg1n7hn6vkd49r77wrx";
871 };
859 };
872 meta = {
860 meta = {
873 license = [ pkgs.lib.licenses.mit ];
861 license = [ pkgs.lib.licenses.mit ];
874 };
862 };
875 };
863 };
876 "webob" = super.buildPythonPackage {
864 "webob" = super.buildPythonPackage {
877 name = "webob-1.7.4";
865 name = "webob-1.7.4";
878 doCheck = false;
866 doCheck = false;
879 src = fetchurl {
867 src = fetchurl {
880 url = "https://files.pythonhosted.org/packages/75/34/731e23f52371852dfe7490a61644826ba7fe70fd52a377aaca0f4956ba7f/WebOb-1.7.4.tar.gz";
868 url = "https://files.pythonhosted.org/packages/75/34/731e23f52371852dfe7490a61644826ba7fe70fd52a377aaca0f4956ba7f/WebOb-1.7.4.tar.gz";
881 sha256 = "1na01ljg04z40il7vcrn8g29vaw7nvg1xvhk64cr4jys5wcay44d";
869 sha256 = "1na01ljg04z40il7vcrn8g29vaw7nvg1xvhk64cr4jys5wcay44d";
882 };
870 };
883 meta = {
871 meta = {
884 license = [ pkgs.lib.licenses.mit ];
872 license = [ pkgs.lib.licenses.mit ];
885 };
873 };
886 };
874 };
887 "webtest" = super.buildPythonPackage {
875 "webtest" = super.buildPythonPackage {
888 name = "webtest-2.0.29";
876 name = "webtest-2.0.29";
889 doCheck = false;
877 doCheck = false;
890 propagatedBuildInputs = [
878 propagatedBuildInputs = [
891 self."six"
879 self."six"
892 self."webob"
880 self."webob"
893 self."waitress"
881 self."waitress"
894 self."beautifulsoup4"
882 self."beautifulsoup4"
895 ];
883 ];
896 src = fetchurl {
884 src = fetchurl {
897 url = "https://files.pythonhosted.org/packages/94/de/8f94738be649997da99c47b104aa3c3984ecec51a1d8153ed09638253d56/WebTest-2.0.29.tar.gz";
885 url = "https://files.pythonhosted.org/packages/94/de/8f94738be649997da99c47b104aa3c3984ecec51a1d8153ed09638253d56/WebTest-2.0.29.tar.gz";
898 sha256 = "0bcj1ica5lnmj5zbvk46x28kgphcsgh7sfnwjmn0cr94mhawrg6v";
886 sha256 = "0bcj1ica5lnmj5zbvk46x28kgphcsgh7sfnwjmn0cr94mhawrg6v";
899 };
887 };
900 meta = {
888 meta = {
901 license = [ pkgs.lib.licenses.mit ];
889 license = [ pkgs.lib.licenses.mit ];
902 };
890 };
903 };
891 };
904 "zope.deprecation" = super.buildPythonPackage {
892 "zope.deprecation" = super.buildPythonPackage {
905 name = "zope.deprecation-4.3.0";
893 name = "zope.deprecation-4.3.0";
906 doCheck = false;
894 doCheck = false;
907 propagatedBuildInputs = [
895 propagatedBuildInputs = [
908 self."setuptools"
896 self."setuptools"
909 ];
897 ];
910 src = fetchurl {
898 src = fetchurl {
911 url = "https://files.pythonhosted.org/packages/a1/18/2dc5e6bfe64fdc3b79411b67464c55bb0b43b127051a20f7f492ab767758/zope.deprecation-4.3.0.tar.gz";
899 url = "https://files.pythonhosted.org/packages/a1/18/2dc5e6bfe64fdc3b79411b67464c55bb0b43b127051a20f7f492ab767758/zope.deprecation-4.3.0.tar.gz";
912 sha256 = "095jas41wbxgmw95kwdxqhbc3bgihw2hzj9b3qpdg85apcsf2lkx";
900 sha256 = "095jas41wbxgmw95kwdxqhbc3bgihw2hzj9b3qpdg85apcsf2lkx";
913 };
901 };
914 meta = {
902 meta = {
915 license = [ pkgs.lib.licenses.zpl21 ];
903 license = [ pkgs.lib.licenses.zpl21 ];
916 };
904 };
917 };
905 };
918 "zope.interface" = super.buildPythonPackage {
906 "zope.interface" = super.buildPythonPackage {
919 name = "zope.interface-4.5.0";
907 name = "zope.interface-4.5.0";
920 doCheck = false;
908 doCheck = false;
921 propagatedBuildInputs = [
909 propagatedBuildInputs = [
922 self."setuptools"
910 self."setuptools"
923 ];
911 ];
924 src = fetchurl {
912 src = fetchurl {
925 url = "https://files.pythonhosted.org/packages/ac/8a/657532df378c2cd2a1fe6b12be3b4097521570769d4852ec02c24bd3594e/zope.interface-4.5.0.tar.gz";
913 url = "https://files.pythonhosted.org/packages/ac/8a/657532df378c2cd2a1fe6b12be3b4097521570769d4852ec02c24bd3594e/zope.interface-4.5.0.tar.gz";
926 sha256 = "0k67m60ij06wkg82n15qgyn96waf4pmrkhv0njpkfzpmv5q89hsp";
914 sha256 = "0k67m60ij06wkg82n15qgyn96waf4pmrkhv0njpkfzpmv5q89hsp";
927 };
915 };
928 meta = {
916 meta = {
929 license = [ pkgs.lib.licenses.zpl21 ];
917 license = [ pkgs.lib.licenses.zpl21 ];
930 };
918 };
931 };
919 };
932
920
933 ### Test requirements
921 ### Test requirements
934
922
935
923
936 }
924 }
@@ -1,47 +1,46 b''
1 ## dependencies
1 ## dependencies
2
2
3 # our custom configobj
3 # our custom configobj
4 https://code.rhodecode.com/upstream/configobj/archive/a11ff0a0bd4fbda9e3a91267e720f88329efb4a6.tar.gz?md5=9916c524ea11a6c418217af6b28d4b3c#egg=configobj==5.0.6
4 https://code.rhodecode.com/upstream/configobj/archive/a11ff0a0bd4fbda9e3a91267e720f88329efb4a6.tar.gz?md5=9916c524ea11a6c418217af6b28d4b3c#egg=configobj==5.0.6
5 dogpile.cache==0.6.6
5 dogpile.cache==0.6.6
6 dogpile.core==0.4.1
6 dogpile.core==0.4.1
7 decorator==4.1.2
7 decorator==4.1.2
8 dulwich==0.13.0
8 dulwich==0.13.0
9 hgsubversion==1.9.2
9 hgsubversion==1.9.2
10 hg-evolve==8.0.1
10 hg-evolve==8.0.1
11 lru-dict==1.1.6
12 mako==1.0.7
11 mako==1.0.7
13 markupsafe==1.0.0
12 markupsafe==1.0.0
14 mercurial==4.6.2
13 mercurial==4.6.2
15 msgpack-python==0.5.6
14 msgpack-python==0.5.6
16
15
17 pastedeploy==1.5.2
16 pastedeploy==1.5.2
18 psutil==5.4.6
17 psutil==5.4.6
19 pyramid==1.9.2
18 pyramid==1.9.2
20 pyramid-mako==1.0.2
19 pyramid-mako==1.0.2
21
20
22 pygments==2.2.0
21 pygments==2.2.0
23 pathlib2==2.3.0
22 pathlib2==2.3.0
24 repoze.lru==0.7
23 repoze.lru==0.7
25 simplejson==3.11.1
24 simplejson==3.11.1
26 subprocess32==3.5.1
25 subprocess32==3.5.1
27
26
28 subvertpy==0.10.1
27 subvertpy==0.10.1
29
28
30 six==1.11.0
29 six==1.11.0
31 translationstring==1.3
30 translationstring==1.3
32 webob==1.7.4
31 webob==1.7.4
33 zope.deprecation==4.3.0
32 zope.deprecation==4.3.0
34 zope.interface==4.5.0
33 zope.interface==4.5.0
35
34
36 ## http servers
35 ## http servers
37 gevent==1.3.5
36 gevent==1.3.5
38 greenlet==0.4.13
37 greenlet==0.4.13
39 gunicorn==19.9.0
38 gunicorn==19.9.0
40 waitress==1.1.0
39 waitress==1.1.0
41
40
42 ## debug
41 ## debug
43 ipdb==0.11.0
42 ipdb==0.11.0
44 ipython==5.1.0
43 ipython==5.1.0
45
44
46 ## test related requirements
45 ## test related requirements
47 -r requirements_test.txt
46 -r requirements_test.txt
@@ -1,51 +1,51 b''
1 # RhodeCode VCSServer provides access to different vcs backends via network.
1 # RhodeCode VCSServer provides access to different vcs backends via network.
2 # Copyright (C) 2014-2018 RhodeCode GmbH
2 # Copyright (C) 2014-2018 RhodeCode GmbH
3 #
3 #
4 # This program is free software; you can redistribute it and/or modify
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 3 of the License, or
6 # the Free Software Foundation; either version 3 of the License, or
7 # (at your option) any later version.
7 # (at your option) any later version.
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 General Public License
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software Foundation,
15 # along with this program; if not, write to the Free Software Foundation,
16 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
17
18 import logging
18 import logging
19
19
20 from dogpile.cache.backends import memory as memory_backend
20 from dogpile.cache.backends import memory as memory_backend
21 from lru import LRU as LRUDict
21 from vcsserver.lib.memory_lru_dict import LRUDict, LRUDictDebug
22
22
23
23
24 _default_max_size = 1024
24 _default_max_size = 1024
25
25
26 log = logging.getLogger(__name__)
26 log = logging.getLogger(__name__)
27
27
28
28
29 class LRUMemoryBackend(memory_backend.MemoryBackend):
29 class LRUMemoryBackend(memory_backend.MemoryBackend):
30 pickle_values = False
30 pickle_values = False
31
31
32 def __init__(self, arguments):
32 def __init__(self, arguments):
33 max_size = arguments.pop('max_size', _default_max_size)
33 max_size = arguments.pop('max_size', _default_max_size)
34 callback = None
35 if arguments.pop('log_max_size_reached', None):
36 def evicted(key, value):
37 log.debug(
38 'LRU: evicting key `%s` due to max size %s reach', key, max_size)
39 callback = evicted
40
34
41 arguments['cache_dict'] = LRUDict(max_size, callback=callback)
35 LRUDictClass = LRUDict
36 if arguments.pop('log_key_count', None):
37 LRUDictClass = LRUDictDebug
38
39 arguments['cache_dict'] = LRUDictClass(max_size)
42 super(LRUMemoryBackend, self).__init__(arguments)
40 super(LRUMemoryBackend, self).__init__(arguments)
43
41
44 def delete(self, key):
42 def delete(self, key):
45 if self._cache.has_key(key):
43 try:
46 del self._cache[key]
44 del self._cache[key]
45 except KeyError:
46 # we don't care if key isn't there at deletion
47 pass
47
48
48 def delete_multi(self, keys):
49 def delete_multi(self, keys):
49 for key in keys:
50 for key in keys:
50 if self._cache.has_key(key):
51 self.delete(key)
51 del self._cache[key]
General Comments 0
You need to be logged in to leave comments. Login now