##// END OF EJS Templates
pytest: fixed package requirements for latest setuptools which breaks backward compat.
milka -
r4630:53703970 stable
parent child Browse files
Show More
@@ -0,0 +1,12 b''
1 diff -rup pytest-4.6.5-orig/setup.py pytest-4.6.5/setup.py
2 --- pytest-4.6.5-orig/setup.py 2018-04-10 10:23:04.000000000 +0200
3 +++ pytest-4.6.5/setup.py 2018-04-10 10:23:34.000000000 +0200
4 @@ -24,7 +24,7 @@ INSTALL_REQUIRES = [
5 def main():
6 setup(
7 use_scm_version={"write_to": "src/_pytest/_version.py"},
8 - setup_requires=["setuptools-scm", "setuptools>=40.0"],
9 + setup_requires=["setuptools-scm", "setuptools<=42.0"],
10 package_dir={"": "src"},
11 # fmt: off
12 extras_require={ No newline at end of file
@@ -1,281 +1,287 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
7 { pkgs
8 , basePythonPackages
8 , basePythonPackages
9 }:
9 }:
10
10
11 let
11 let
12 sed = "sed -i";
12 sed = "sed -i";
13
13
14 localLicenses = {
14 localLicenses = {
15 repoze = {
15 repoze = {
16 fullName = "Repoze License";
16 fullName = "Repoze License";
17 url = http://www.repoze.org/LICENSE.txt;
17 url = http://www.repoze.org/LICENSE.txt;
18 };
18 };
19 };
19 };
20
20
21 in
21 in
22
22
23 self: super: {
23 self: super: {
24
24
25 "appenlight-client" = super."appenlight-client".override (attrs: {
25 "appenlight-client" = super."appenlight-client".override (attrs: {
26 meta = {
26 meta = {
27 license = [ pkgs.lib.licenses.bsdOriginal ];
27 license = [ pkgs.lib.licenses.bsdOriginal ];
28 };
28 };
29 });
29 });
30
30
31 "beaker" = super."beaker".override (attrs: {
31 "beaker" = super."beaker".override (attrs: {
32 patches = [
32 patches = [
33 ./patches/beaker/patch-beaker-lock-func-debug.diff
33 ./patches/beaker/patch-beaker-lock-func-debug.diff
34 ./patches/beaker/patch-beaker-metadata-reuse.diff
34 ./patches/beaker/patch-beaker-metadata-reuse.diff
35 ./patches/beaker/patch-beaker-improved-redis.diff
35 ./patches/beaker/patch-beaker-improved-redis.diff
36 ./patches/beaker/patch-beaker-improved-redis-2.diff
36 ./patches/beaker/patch-beaker-improved-redis-2.diff
37 ];
37 ];
38 });
38 });
39
39
40 "cffi" = super."cffi".override (attrs: {
40 "cffi" = super."cffi".override (attrs: {
41 buildInputs = [
41 buildInputs = [
42 pkgs.libffi
42 pkgs.libffi
43 ];
43 ];
44 });
44 });
45
45
46 "cryptography" = super."cryptography".override (attrs: {
46 "cryptography" = super."cryptography".override (attrs: {
47 buildInputs = [
47 buildInputs = [
48 pkgs.openssl
48 pkgs.openssl
49 ];
49 ];
50 });
50 });
51
51
52 "gevent" = super."gevent".override (attrs: {
52 "gevent" = super."gevent".override (attrs: {
53 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
53 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
54 # NOTE: (marcink) odd requirements from gevent aren't set properly,
54 # NOTE: (marcink) odd requirements from gevent aren't set properly,
55 # thus we need to inject psutil manually
55 # thus we need to inject psutil manually
56 self."psutil"
56 self."psutil"
57 ];
57 ];
58 });
58 });
59
59
60 "future" = super."future".override (attrs: {
60 "future" = super."future".override (attrs: {
61 meta = {
61 meta = {
62 license = [ pkgs.lib.licenses.mit ];
62 license = [ pkgs.lib.licenses.mit ];
63 };
63 };
64 });
64 });
65
65
66 "testpath" = super."testpath".override (attrs: {
66 "testpath" = super."testpath".override (attrs: {
67 meta = {
67 meta = {
68 license = [ pkgs.lib.licenses.mit ];
68 license = [ pkgs.lib.licenses.mit ];
69 };
69 };
70 });
70 });
71
71
72 "gnureadline" = super."gnureadline".override (attrs: {
72 "gnureadline" = super."gnureadline".override (attrs: {
73 buildInputs = [
73 buildInputs = [
74 pkgs.ncurses
74 pkgs.ncurses
75 ];
75 ];
76 patchPhase = ''
76 patchPhase = ''
77 substituteInPlace setup.py --replace "/bin/bash" "${pkgs.bash}/bin/bash"
77 substituteInPlace setup.py --replace "/bin/bash" "${pkgs.bash}/bin/bash"
78 '';
78 '';
79 });
79 });
80
80
81 "gunicorn" = super."gunicorn".override (attrs: {
81 "gunicorn" = super."gunicorn".override (attrs: {
82 propagatedBuildInputs = [
82 propagatedBuildInputs = [
83 # johbo: futures is needed as long as we are on Python 2, otherwise
83 # johbo: futures is needed as long as we are on Python 2, otherwise
84 # gunicorn explodes if used with multiple threads per worker.
84 # gunicorn explodes if used with multiple threads per worker.
85 self."futures"
85 self."futures"
86 ];
86 ];
87 });
87 });
88
88
89 "nbconvert" = super."nbconvert".override (attrs: {
89 "nbconvert" = super."nbconvert".override (attrs: {
90 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
90 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
91 # marcink: plug in jupyter-client for notebook rendering
91 # marcink: plug in jupyter-client for notebook rendering
92 self."jupyter-client"
92 self."jupyter-client"
93 ];
93 ];
94 });
94 });
95
95
96 "ipython" = super."ipython".override (attrs: {
96 "ipython" = super."ipython".override (attrs: {
97 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
97 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
98 self."gnureadline"
98 self."gnureadline"
99 ];
99 ];
100 });
100 });
101
101
102 "lxml" = super."lxml".override (attrs: {
102 "lxml" = super."lxml".override (attrs: {
103 buildInputs = [
103 buildInputs = [
104 pkgs.libxml2
104 pkgs.libxml2
105 pkgs.libxslt
105 pkgs.libxslt
106 ];
106 ];
107 propagatedBuildInputs = [
107 propagatedBuildInputs = [
108 # Needed, so that "setup.py bdist_wheel" does work
108 # Needed, so that "setup.py bdist_wheel" does work
109 self."wheel"
109 self."wheel"
110 ];
110 ];
111 });
111 });
112
112
113 "mysql-python" = super."mysql-python".override (attrs: {
113 "mysql-python" = super."mysql-python".override (attrs: {
114 buildInputs = [
114 buildInputs = [
115 pkgs.openssl
115 pkgs.openssl
116 ];
116 ];
117 propagatedBuildInputs = [
117 propagatedBuildInputs = [
118 pkgs.libmysql
118 pkgs.libmysql
119 pkgs.zlib
119 pkgs.zlib
120 ];
120 ];
121 });
121 });
122
122
123 "psycopg2" = super."psycopg2".override (attrs: {
123 "psycopg2" = super."psycopg2".override (attrs: {
124 propagatedBuildInputs = [
124 propagatedBuildInputs = [
125 pkgs.postgresql
125 pkgs.postgresql
126 ];
126 ];
127 meta = {
127 meta = {
128 license = pkgs.lib.licenses.lgpl3Plus;
128 license = pkgs.lib.licenses.lgpl3Plus;
129 };
129 };
130 });
130 });
131
131
132 "pycurl" = super."pycurl".override (attrs: {
132 "pycurl" = super."pycurl".override (attrs: {
133 propagatedBuildInputs = [
133 propagatedBuildInputs = [
134 pkgs.curl
134 pkgs.curl
135 pkgs.openssl
135 pkgs.openssl
136 ];
136 ];
137
137
138 preConfigure = ''
138 preConfigure = ''
139 substituteInPlace setup.py --replace '--static-libs' '--libs'
139 substituteInPlace setup.py --replace '--static-libs' '--libs'
140 export PYCURL_SSL_LIBRARY=openssl
140 export PYCURL_SSL_LIBRARY=openssl
141 '';
141 '';
142
142
143 meta = {
143 meta = {
144 license = pkgs.lib.licenses.mit;
144 license = pkgs.lib.licenses.mit;
145 };
145 };
146 });
146 });
147
147
148 "pyramid" = super."pyramid".override (attrs: {
148 "pyramid" = super."pyramid".override (attrs: {
149 meta = {
149 meta = {
150 license = localLicenses.repoze;
150 license = localLicenses.repoze;
151 };
151 };
152 });
152 });
153
153
154 "pyramid-debugtoolbar" = super."pyramid-debugtoolbar".override (attrs: {
154 "pyramid-debugtoolbar" = super."pyramid-debugtoolbar".override (attrs: {
155 meta = {
155 meta = {
156 license = [ pkgs.lib.licenses.bsdOriginal localLicenses.repoze ];
156 license = [ pkgs.lib.licenses.bsdOriginal localLicenses.repoze ];
157 };
157 };
158 });
158 });
159
159
160 "pysqlite" = super."pysqlite".override (attrs: {
160 "pysqlite" = super."pysqlite".override (attrs: {
161 propagatedBuildInputs = [
161 propagatedBuildInputs = [
162 pkgs.sqlite
162 pkgs.sqlite
163 ];
163 ];
164 meta = {
164 meta = {
165 license = [ pkgs.lib.licenses.zlib pkgs.lib.licenses.libpng ];
165 license = [ pkgs.lib.licenses.zlib pkgs.lib.licenses.libpng ];
166 };
166 };
167 });
167 });
168
168
169 "python-ldap" = super."python-ldap".override (attrs: {
169 "python-ldap" = super."python-ldap".override (attrs: {
170 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
170 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
171 pkgs.openldap
171 pkgs.openldap
172 pkgs.cyrus_sasl
172 pkgs.cyrus_sasl
173 pkgs.openssl
173 pkgs.openssl
174 ];
174 ];
175 });
175 });
176
176
177 "python-pam" = super."python-pam".override (attrs: {
177 "python-pam" = super."python-pam".override (attrs: {
178 propagatedBuildInputs = [
178 propagatedBuildInputs = [
179 pkgs.pam
179 pkgs.pam
180 ];
180 ];
181
181
182 # TODO: johbo: Check if this can be avoided, or transform into
182 # TODO: johbo: Check if this can be avoided, or transform into
183 # a real patch
183 # a real patch
184 patchPhase = ''
184 patchPhase = ''
185 substituteInPlace pam.py \
185 substituteInPlace pam.py \
186 --replace 'find_library("pam")' '"${pkgs.pam}/lib/libpam.so.0"'
186 --replace 'find_library("pam")' '"${pkgs.pam}/lib/libpam.so.0"'
187 '';
187 '';
188
188
189 });
189 });
190
190
191 "python-saml" = super."python-saml".override (attrs: {
191 "python-saml" = super."python-saml".override (attrs: {
192 buildInputs = [
192 buildInputs = [
193 pkgs.libxml2
193 pkgs.libxml2
194 pkgs.libxslt
194 pkgs.libxslt
195 ];
195 ];
196 });
196 });
197
197
198 "dm.xmlsec.binding" = super."dm.xmlsec.binding".override (attrs: {
198 "dm.xmlsec.binding" = super."dm.xmlsec.binding".override (attrs: {
199 buildInputs = [
199 buildInputs = [
200 pkgs.libxml2
200 pkgs.libxml2
201 pkgs.libxslt
201 pkgs.libxslt
202 pkgs.xmlsec
202 pkgs.xmlsec
203 pkgs.libtool
203 pkgs.libtool
204 ];
204 ];
205 });
205 });
206
206
207 "pyzmq" = super."pyzmq".override (attrs: {
207 "pyzmq" = super."pyzmq".override (attrs: {
208 buildInputs = [
208 buildInputs = [
209 pkgs.czmq
209 pkgs.czmq
210 ];
210 ];
211 });
211 });
212
212
213 "urlobject" = super."urlobject".override (attrs: {
213 "urlobject" = super."urlobject".override (attrs: {
214 meta = {
214 meta = {
215 license = {
215 license = {
216 spdxId = "Unlicense";
216 spdxId = "Unlicense";
217 fullName = "The Unlicense";
217 fullName = "The Unlicense";
218 url = http://unlicense.org/;
218 url = http://unlicense.org/;
219 };
219 };
220 };
220 };
221 });
221 });
222
222
223 "docutils" = super."docutils".override (attrs: {
223 "docutils" = super."docutils".override (attrs: {
224 meta = {
224 meta = {
225 license = pkgs.lib.licenses.bsd2;
225 license = pkgs.lib.licenses.bsd2;
226 };
226 };
227 });
227 });
228
228
229 "colander" = super."colander".override (attrs: {
229 "colander" = super."colander".override (attrs: {
230 meta = {
230 meta = {
231 license = localLicenses.repoze;
231 license = localLicenses.repoze;
232 };
232 };
233 });
233 });
234
234
235 "pyramid-beaker" = super."pyramid-beaker".override (attrs: {
235 "pyramid-beaker" = super."pyramid-beaker".override (attrs: {
236 meta = {
236 meta = {
237 license = localLicenses.repoze;
237 license = localLicenses.repoze;
238 };
238 };
239 });
239 });
240
240
241 "pyramid-mako" = super."pyramid-mako".override (attrs: {
241 "pyramid-mako" = super."pyramid-mako".override (attrs: {
242 meta = {
242 meta = {
243 license = localLicenses.repoze;
243 license = localLicenses.repoze;
244 };
244 };
245 });
245 });
246
246
247 "repoze.lru" = super."repoze.lru".override (attrs: {
247 "repoze.lru" = super."repoze.lru".override (attrs: {
248 meta = {
248 meta = {
249 license = localLicenses.repoze;
249 license = localLicenses.repoze;
250 };
250 };
251 });
251 });
252
252
253 "python-editor" = super."python-editor".override (attrs: {
253 "python-editor" = super."python-editor".override (attrs: {
254 meta = {
254 meta = {
255 license = pkgs.lib.licenses.asl20;
255 license = pkgs.lib.licenses.asl20;
256 };
256 };
257 });
257 });
258
258
259 "translationstring" = super."translationstring".override (attrs: {
259 "translationstring" = super."translationstring".override (attrs: {
260 meta = {
260 meta = {
261 license = localLicenses.repoze;
261 license = localLicenses.repoze;
262 };
262 };
263 });
263 });
264
264
265 "venusian" = super."venusian".override (attrs: {
265 "venusian" = super."venusian".override (attrs: {
266 meta = {
266 meta = {
267 license = localLicenses.repoze;
267 license = localLicenses.repoze;
268 };
268 };
269 });
269 });
270
270
271 "supervisor" = super."supervisor".override (attrs: {
271 "supervisor" = super."supervisor".override (attrs: {
272 patches = [
272 patches = [
273 ./patches/supervisor/patch-rlimits-old-kernel.diff
273 ./patches/supervisor/patch-rlimits-old-kernel.diff
274 ];
274 ];
275 });
275 });
276
276
277 "pytest" = super."pytest".override (attrs: {
278 patches = [
279 ./patches/pytest/setuptools.patch
280 ];
281 });
282
277 # Avoid that base packages screw up the build process
283 # Avoid that base packages screw up the build process
278 inherit (basePythonPackages)
284 inherit (basePythonPackages)
279 setuptools;
285 setuptools;
280
286
281 }
287 }
General Comments 0
You need to be logged in to leave comments. Login now