##// END OF EJS Templates
packaging: switched to nix 20.03 packages and latest pip2nix code...
marcink -
r4756:2a5b3f8a python3
parent child Browse files
Show More

The requested changes are too big and content was truncated. Show full diff

@@ -48,5 +48,6 b' recursive-include rhodecode/public/js *'
48 recursive-include rhodecode/templates *
48 recursive-include rhodecode/templates *
49
49
50 # skip any tests files
50 # skip any tests files
51 recursive-exclude result *
51 recursive-exclude rhodecode/tests *
52 recursive-exclude rhodecode/tests *
52
53
@@ -54,7 +54,7 b' web-build:'
54 NODE_PATH=$(NODE_PATH) $(GRUNT)
54 NODE_PATH=$(NODE_PATH) $(GRUNT)
55
55
56 generate-pkgs:
56 generate-pkgs:
57 nix-shell pkgs/shell-generate.nix --command "pip2nix generate --licenses"
57 nix-shell pkgs/shell-generate.nix --command "pip2nix generate --licenses --no-binary :all:"
58
58
59 pip-packages:
59 pip-packages:
60 python ${OUTDATED_PACKAGES}
60 python ${OUTDATED_PACKAGES}
@@ -47,20 +47,22 b' let'
47
47
48 # Evaluates to the last segment of a file system path.
48 # Evaluates to the last segment of a file system path.
49 basename = path: with pkgs.lib; last (splitString "/" path);
49 basename = path: with pkgs.lib; last (splitString "/" path);
50 startsWith = prefix: full: let
51 actualPrefix = builtins.substring 0 (builtins.stringLength prefix) full;
52 in actualPrefix == prefix;
50
53
51 # source code filter used as arugment to builtins.filterSource.
54 # source code filter used as arugment to builtins.filterSource.
52 src-filter = path: type: with pkgs.lib;
55 src-filter = path: type: with pkgs.lib;
53 let
56 let
54 ext = last (splitString "." path);
57 ext = last (splitString "." path);
58 parts = last (splitString "/" path);
55 in
59 in
56 !builtins.elem (basename path) [
60 !builtins.elem (basename path) [
57 ".git" ".hg" "__pycache__" ".eggs" ".idea" ".dev"
61 ".git" ".hg" "__pycache__" ".eggs" ".idea" ".dev"
58 "node_modules" "node_binaries"
62 "node_modules" "node_binaries"
59 "build" "data" "result" "tmp"] &&
63 "build" "data" "result" "tmp"] &&
60 !builtins.elem ext ["egg-info" "pyc"] &&
64 !builtins.elem ext ["egg-info" "pyc"] &&
61 # TODO: johbo: This check is wrong, since "path" contains an absolute path,
65 !startsWith "result" (basename path);
62 # it would still be good to restore it since we want to ignore "result-*".
63 !hasPrefix "result" path;
64
66
65 sources =
67 sources =
66 let
68 let
@@ -69,6 +71,7 b' let'
69 all
71 all
70 isString
72 isString
71 attrValues;
73 attrValues;
74
72 sourcesConfig = pkgs.config.rc.sources or {};
75 sourcesConfig = pkgs.config.rc.sources or {};
73 in
76 in
74 # Ensure that sources are configured as strings. Using a path
77 # Ensure that sources are configured as strings. Using a path
@@ -155,14 +158,21 b' let'
155
158
156 ];
159 ];
157
160
158 LC_ALL = "en_US.UTF-8";
161 preBuild = ''
159 LOCALE_ARCHIVE =
162 export NIX_PATH=nixpkgs=${pkgs.path}
160 if pkgs.stdenv.isLinux
163 export SSL_CERT_FILE=${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt
161 then "${pkgs.glibcLocales}/lib/locale/locale-archive"
164
162 else "";
165 echo "[BEGIN]: Building frontend assets"
166 ${linkNodePackages}
167 make web-build
168 rm -fr node_modules
169 rm -fr node_binaries
170 echo "[DONE ]: Building frontend assets"
171 '';
163
172
164 # Add bin directory to path so that tests can find 'rhodecode'.
173 # Add bin directory to path so that tests can find 'rhodecode'.
165 preCheck = ''
174 preCheck = ''
175 echo "Expanding PATH with $out/bin directory"
166 export PATH="$out/bin:$PATH"
176 export PATH="$out/bin:$PATH"
167 '';
177 '';
168
178
@@ -178,15 +188,6 b' let'
178 rm -rf $out/lib/${self.python.libPrefix}/site-packages/rhodecode/tests
188 rm -rf $out/lib/${self.python.libPrefix}/site-packages/rhodecode/tests
179 '';
189 '';
180
190
181 preBuild = ''
182 echo "[BEGIN]: Building frontend assets"
183 ${linkNodePackages}
184 make web-build
185 rm -fr node_modules
186 rm -fr node_binaries
187 echo "[DONE ]: Building frontend assets"
188 '';
189
190 postInstall = ''
191 postInstall = ''
191 # check required files
192 # check required files
192 STATIC_CHECK="/robots.txt /502.html
193 STATIC_CHECK="/robots.txt /502.html
@@ -247,7 +248,6 b' let'
247 done
248 done
248
249
249 echo "[DONE ]: enterprise-ce binary wrapping"
250 echo "[DONE ]: enterprise-ce binary wrapping"
250
251 # rhodecode-tools don't need wrapping
251 # rhodecode-tools don't need wrapping
252 ln -s ${self.rhodecode-tools}/bin/rhodecode-* $out/bin/
252 ln -s ${self.rhodecode-tools}/bin/rhodecode-* $out/bin/
253
253
@@ -259,10 +259,11 b' let'
259 chmod 755 -R $out/etc/static
259 chmod 755 -R $out/etc/static
260
260
261 '';
261 '';
262 });
263
262
263 });
264 };
264 };
265
265
266
266 basePythonPackages = with builtins;
267 basePythonPackages = with builtins;
267 if isAttrs pythonPackages then
268 if isAttrs pythonPackages then
268 pythonPackages
269 pythonPackages
@@ -270,13 +271,8 b' let'
270 getAttr pythonPackages pkgs;
271 getAttr pythonPackages pkgs;
271
272
272 pythonGeneratedPackages = import ./pkgs/python-packages.nix {
273 pythonGeneratedPackages = import ./pkgs/python-packages.nix {
273 inherit
274 inherit pkgs;
274 pkgs;
275 inherit (pkgs) fetchurl fetchgit fetchhg;
275 inherit
276 (pkgs)
277 fetchurl
278 fetchgit
279 fetchhg;
280 };
276 };
281
277
282 pythonCommunityOverrides = import ./pkgs/python-packages-overrides.nix {
278 pythonCommunityOverrides = import ./pkgs/python-packages-overrides.nix {
@@ -1,6 +1,6 b''
1 {
1 {
2 "name": "rhodecode-enterprise",
2 "name": "rhodecode-enterprise",
3 "version": "2.0.0",
3 "version": "4.19.0",
4 "private": true,
4 "private": true,
5 "description" : "RhodeCode JS packaged",
5 "description" : "RhodeCode JS packaged",
6 "license": "SEE LICENSE IN LICENSE.txt",
6 "license": "SEE LICENSE IN LICENSE.txt",
@@ -1,8 +1,8 b''
1 # This file has been generated by node2nix 1.6.0. Do not edit!
1 # This file has been generated by node2nix 1.8.0. Do not edit!
2
2
3 {pkgs ? import <nixpkgs> {
3 {pkgs ? import <nixpkgs> {
4 inherit system;
4 inherit system;
5 }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-8_x"}:
5 }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
6
6
7 let
7 let
8 nodeEnv = import ./node-env.nix {
8 nodeEnv = import ./node-env.nix {
@@ -16,18 +16,18 b' let'
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
20 unlicense = {
21 spdxId = "Unlicense";
22 fullName = "The Unlicense";
23 url = http://unlicense.org/;
24 };
19 };
25 };
20
26
21 in
27 in
22
28
23 self: super: {
29 self: super: {
24
30
25 "appenlight-client" = super."appenlight-client".override (attrs: {
26 meta = {
27 license = [ pkgs.lib.licenses.bsdOriginal ];
28 };
29 });
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
@@ -36,39 +36,27 b' self: super: {'
36 });
36 });
37
37
38 "cffi" = super."cffi".override (attrs: {
38 "cffi" = super."cffi".override (attrs: {
39 buildInputs = [
39 buildInputs = with self; attrs.buildInputs ++ [
40 pkgs.libffi
40 pkgs.libffi
41 ];
41 ];
42 });
42 });
43
43
44 "cryptography" = super."cryptography".override (attrs: {
44 "cryptography" = super."cryptography".override (attrs: {
45 buildInputs = [
45 buildInputs = with self; attrs.buildInputs ++ [
46 pkgs.openssl
46 pkgs.openssl
47 ];
47 ];
48 });
48 });
49
49
50 "gevent" = super."gevent".override (attrs: {
50 "gevent" = super."gevent".override (attrs: {
51 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
51 propagatedBuildInputs = with self; attrs.propagatedBuildInputs ++ [
52 # NOTE: (marcink) odd requirements from gevent aren't set properly,
52 # NOTE: (marcink) odd requirements from gevent aren't set properly,
53 # thus we need to inject psutil manually
53 # thus we need to inject psutil manually
54 self."psutil"
54 self."psutil"
55 ];
55 ];
56 });
56 });
57
57
58 "future" = super."future".override (attrs: {
59 meta = {
60 license = [ pkgs.lib.licenses.mit ];
61 };
62 });
63
64 "testpath" = super."testpath".override (attrs: {
65 meta = {
66 license = [ pkgs.lib.licenses.mit ];
67 };
68 });
69
70 "gnureadline" = super."gnureadline".override (attrs: {
58 "gnureadline" = super."gnureadline".override (attrs: {
71 buildInputs = [
59 buildInputs = with self; attrs.buildInputs ++ [
72 pkgs.ncurses
60 pkgs.ncurses
73 ];
61 ];
74 patchPhase = ''
62 patchPhase = ''
@@ -77,7 +65,7 b' self: super: {'
77 });
65 });
78
66
79 "gunicorn" = super."gunicorn".override (attrs: {
67 "gunicorn" = super."gunicorn".override (attrs: {
80 propagatedBuildInputs = [
68 propagatedBuildInputs = with self; attrs.propagatedBuildInputs ++ [
81 # johbo: futures is needed as long as we are on Python 2, otherwise
69 # johbo: futures is needed as long as we are on Python 2, otherwise
82 # gunicorn explodes if used with multiple threads per worker.
70 # gunicorn explodes if used with multiple threads per worker.
83 self."futures"
71 self."futures"
@@ -85,41 +73,48 b' self: super: {'
85 });
73 });
86
74
87 "nbconvert" = super."nbconvert".override (attrs: {
75 "nbconvert" = super."nbconvert".override (attrs: {
88 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
76 propagatedBuildInputs = with self; attrs.propagatedBuildInputs ++ [
89 # marcink: plug in jupyter-client for notebook rendering
77 # marcink: plug in jupyter-client for notebook rendering
90 self."jupyter-client"
78 self."jupyter-client"
91 ];
79 ];
92 });
80 });
93
81
94 "ipython" = super."ipython".override (attrs: {
82 "ipython" = super."ipython".override (attrs: {
95 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
83 propagatedBuildInputs = with self; attrs.propagatedBuildInputs ++ [
96 self."gnureadline"
84 self."gnureadline"
97 ];
85 ];
98 });
86 });
99
87
100 "lxml" = super."lxml".override (attrs: {
88 "lxml" = super."lxml".override (attrs: {
101 buildInputs = [
89 nativeBuildInputs = with self; attrs.nativeBuildInputs ++ [
90 pkgs.libxml2.dev
91 pkgs.libxslt.dev
92 self.cython
93 ];
94
95 buildInputs = with self; attrs.buildInputs ++ [
102 pkgs.libxml2
96 pkgs.libxml2
103 pkgs.libxslt
97 pkgs.libxslt
98 pkgs.zlib
104 ];
99 ];
105 propagatedBuildInputs = [
100
106 # Needed, so that "setup.py bdist_wheel" does work
101 # propagatedBuildInputs = [
107 self."wheel"
102 # # Needed, so that "setup.py bdist_wheel" does work
108 ];
103 # self."wheel"
104 # ];
109 });
105 });
110
106
111 "mysql-python" = super."mysql-python".override (attrs: {
107 "mysqlclient" = super."mysqlclient".override (attrs: {
112 buildInputs = [
108 nativeBuildInputs = with self; attrs.nativeBuildInputs ++ [
109 pkgs.libmysqlclient
113 pkgs.openssl
110 pkgs.openssl
114 ];
115 propagatedBuildInputs = [
116 pkgs.libmysql
117 pkgs.zlib
111 pkgs.zlib
118 ];
112 ];
113
119 });
114 });
120
115
121 "psycopg2" = super."psycopg2".override (attrs: {
116 "psycopg2" = super."psycopg2".override (attrs: {
122 propagatedBuildInputs = [
117 nativeBuildInputs = with self; attrs.nativeBuildInputs ++ [
123 pkgs.postgresql
118 pkgs.postgresql
124 ];
119 ];
125 meta = {
120 meta = {
@@ -128,7 +123,12 b' self: super: {'
128 });
123 });
129
124
130 "pycurl" = super."pycurl".override (attrs: {
125 "pycurl" = super."pycurl".override (attrs: {
131 propagatedBuildInputs = [
126 nativeBuildInputs = with self; attrs.nativeBuildInputs ++ [
127 pkgs.curl
128 pkgs.openssl
129 ];
130
131 propagatedBuildInputs = with self; attrs.propagatedBuildInputs ++ [
132 pkgs.curl
132 pkgs.curl
133 pkgs.openssl
133 pkgs.openssl
134 ];
134 ];
@@ -143,20 +143,8 b' self: super: {'
143 };
143 };
144 });
144 });
145
145
146 "pyramid" = super."pyramid".override (attrs: {
147 meta = {
148 license = localLicenses.repoze;
149 };
150 });
151
152 "pyramid-debugtoolbar" = super."pyramid-debugtoolbar".override (attrs: {
153 meta = {
154 license = [ pkgs.lib.licenses.bsdOriginal localLicenses.repoze ];
155 };
156 });
157
158 "pysqlite" = super."pysqlite".override (attrs: {
146 "pysqlite" = super."pysqlite".override (attrs: {
159 propagatedBuildInputs = [
147 propagatedBuildInputs = with self; attrs.propagatedBuildInputs ++ [
160 pkgs.sqlite
148 pkgs.sqlite
161 ];
149 ];
162 meta = {
150 meta = {
@@ -173,7 +161,7 b' self: super: {'
173 });
161 });
174
162
175 "python-pam" = super."python-pam".override (attrs: {
163 "python-pam" = super."python-pam".override (attrs: {
176 propagatedBuildInputs = [
164 propagatedBuildInputs = with self; attrs.propagatedBuildInputs ++ [
177 pkgs.pam
165 pkgs.pam
178 ];
166 ];
179
167
@@ -187,18 +175,27 b' self: super: {'
187 });
175 });
188
176
189 "python-saml" = super."python-saml".override (attrs: {
177 "python-saml" = super."python-saml".override (attrs: {
190 buildInputs = [
178 nativeBuildInputs = with self; attrs.nativeBuildInputs ++ [
191 pkgs.libxml2
179 pkgs.libxml2
192 pkgs.libxslt
180 pkgs.libxslt
193 ];
181 ];
194 });
182 });
195
183
196 "dm.xmlsec.binding" = super."dm.xmlsec.binding".override (attrs: {
184 "dm.xmlsec.binding" = super."dm.xmlsec.binding".override (attrs: {
197 buildInputs = [
185 nativeBuildInputs = with self; attrs.nativeBuildInputs ++ [
186 pkgs.libxml2.dev
187 pkgs.libxslt.dev
188 pkgs.xmlsec
189 pkgs.libtool
190 pkgs.zlib
191 ];
192
193 buildInputs = with self; attrs.buildInputs ++ [
198 pkgs.libxml2
194 pkgs.libxml2
199 pkgs.libxslt
195 pkgs.libxslt
200 pkgs.xmlsec
196 pkgs.xmlsec
201 pkgs.libtool
197 pkgs.libtool
198 pkgs.zlib
202 ];
199 ];
203 });
200 });
204
201
@@ -208,13 +205,46 b' self: super: {'
208 ];
205 ];
209 });
206 });
210
207
208 "supervisor" = super."supervisor".override (attrs: {
209 patches = [
210 ./patches/supervisor/patch-rlimits-old-kernel.diff
211 ];
212 });
213
214 "py" = super."py".override (attrs: {
215 buildInputs = with self; attrs.buildInputs ++ [
216 self."setuptools-scm"
217 ];
218 });
219
220 "importlib-metadata" = super."importlib-metadata".override (attrs: {
221 buildInputs = with self; attrs.buildInputs ++ [
222 self."setuptools-scm"
223 ];
224 });
225
226 # License fixes
227 "appenlight-client" = super."appenlight-client".override (attrs: {
228 meta = {
229 license = [ pkgs.lib.licenses.bsdOriginal ];
230 };
231 });
232
211 "urlobject" = super."urlobject".override (attrs: {
233 "urlobject" = super."urlobject".override (attrs: {
212 meta = {
234 meta = {
213 license = {
235 license = localLicenses.unlicense;
214 spdxId = "Unlicense";
215 fullName = "The Unlicense";
216 url = http://unlicense.org/;
217 };
236 };
237 });
238
239 "future" = super."future".override (attrs: {
240 meta = {
241 license = [ pkgs.lib.licenses.mit ];
242 };
243 });
244
245 "testpath" = super."testpath".override (attrs: {
246 meta = {
247 license = [ pkgs.lib.licenses.mit ];
218 };
248 };
219 });
249 });
220
250
@@ -242,6 +272,18 b' self: super: {'
242 };
272 };
243 });
273 });
244
274
275 "pyramid" = super."pyramid".override (attrs: {
276 meta = {
277 license = localLicenses.repoze;
278 };
279 });
280
281 "pyramid-debugtoolbar" = super."pyramid-debugtoolbar".override (attrs: {
282 meta = {
283 license = [ pkgs.lib.licenses.bsdOriginal localLicenses.repoze ];
284 };
285 });
286
245 "repoze.lru" = super."repoze.lru".override (attrs: {
287 "repoze.lru" = super."repoze.lru".override (attrs: {
246 meta = {
288 meta = {
247 license = localLicenses.repoze;
289 license = localLicenses.repoze;
@@ -266,12 +308,6 b' self: super: {'
266 };
308 };
267 });
309 });
268
310
269 "supervisor" = super."supervisor".override (attrs: {
270 patches = [
271 ./patches/supervisor/patch-rlimits-old-kernel.diff
272 ];
273 });
274
275 # Avoid that base packages screw up the build process
311 # Avoid that base packages screw up the build process
276 inherit (basePythonPackages)
312 inherit (basePythonPackages)
277 setuptools;
313 setuptools;
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
@@ -4,7 +4,11 b''
4
4
5 with pkgs.lib;
5 with pkgs.lib;
6
6
7 let _pythonPackages = pythonPackages; in
7 let
8 _pythonPackages = pythonPackages;
9
10 in
11
8 let
12 let
9 pythonPackages = getAttr _pythonPackages pkgs;
13 pythonPackages = getAttr _pythonPackages pkgs;
10
14
@@ -18,16 +22,21 b' in'
18
22
19 pkgs.stdenv.mkDerivation {
23 pkgs.stdenv.mkDerivation {
20 name = "pip2nix-generated";
24 name = "pip2nix-generated";
25
21 buildInputs = [
26 buildInputs = [
22 # Allows to generate python packages
27 # Allows to generate python packages
23 pip2nix.pip2nix
28 pip2nix.pip2nix
24 pythonPackages.pip-tools
29 pythonPackages.pip-tools
30 # compile using ffi
31 pkgs.libffi
32
33 pythonPackages.cython
25
34
26 # Allows to generate node dependencies
35 # Allows to generate node dependencies
27 pkgs.nodePackages.node2nix
36 pkgs.nodePackages.node2nix
28
37
29 # We need mysql_config to be around
38 # We need mysql_config to be around
30 pkgs.mysql
39 pkgs.libmysqlclient
31
40
32 # We need postgresql to be around
41 # We need postgresql to be around
33 pkgs.postgresql
42 pkgs.postgresql
@@ -41,6 +50,12 b' pkgs.stdenv.mkDerivation {'
41 pkgs.curl
50 pkgs.curl
42 ];
51 ];
43
52
53 LC_ALL = "en_US.UTF-8";
54 LOCALE_ARCHIVE =
55 if pkgs.stdenv.isLinux
56 then "${pkgs.glibcLocales}/lib/locale/locale-archive"
57 else "";
58
44 shellHook = ''
59 shellHook = ''
45 runHook preShellHook
60 runHook preShellHook
46 runHook postShellHook
61 runHook postShellHook
@@ -48,8 +63,14 b' pkgs.stdenv.mkDerivation {'
48
63
49 preShellHook = ''
64 preShellHook = ''
50 echo "Starting Generate Shell"
65 echo "Starting Generate Shell"
66 # set unpack source date to 1980 to fix ZIP problems that does not support <1980
67 export SOURCE_DATE_EPOCH=315532800
68 export TMPDIR=/tmp
69
51 # Custom prompt to distinguish from other dev envs.
70 # Custom prompt to distinguish from other dev envs.
52 export PS1="\n\[\033[1;32m\][Generate-shell:\w]$\[\033[0m\] "
71 export PS1="\n\[\033[1;32m\][pip2nix-generate-shell]$\[\033[0m\] "
72
53 export PYCURL_SSL_LIBRARY=openssl
73 export PYCURL_SSL_LIBRARY=openssl
74
54 '';
75 '';
55 }
76 }
@@ -6,12 +6,13 b' beaker==1.9.1'
6 bleach==3.1.3
6 bleach==3.1.3
7 celery==4.3.0
7 celery==4.3.0
8 channelstream==0.5.2
8 channelstream==0.5.2
9 click==7.0
9 click==7.1.2
10 colander==1.7.0
10 colander==1.7.0
11 # our custom configobj
11 # our custom configobj
12 https://code.rhodecode.com/upstream/configobj/artifacts/download/0-012de99a-b1e1-4f64-a5c0-07a98a41b324.tar.gz?md5=6a513f51fe04b2c18cf84c1395a7c626#egg=configobj==5.0.6
12 https://code.rhodecode.com/upstream/configobj/artifacts/download/0-012de99a-b1e1-4f64-a5c0-07a98a41b324.tar.gz?md5=6a513f51fe04b2c18cf84c1395a7c626#egg=configobj==5.0.6
13 cssselect==1.0.3
13 cssselect==1.0.3
14 cryptography==2.6.1
14 cryptography==2.6.1
15 cython==0.29.17
15 decorator==4.1.2
16 decorator==4.1.2
16 deform==2.0.8
17 deform==2.0.8
17 docutils==0.16.0
18 docutils==0.16.0
@@ -24,8 +25,8 b' infrae.cache==1.0.1'
24 iso8601==0.1.12
25 iso8601==0.1.12
25 itsdangerous==0.24
26 itsdangerous==0.24
26 kombu==4.6.6
27 kombu==4.6.6
27 lxml==4.2.5
28 lxml==4.5.0
28 mako==1.1.0
29 mako==1.1.2
29 markdown==2.6.11
30 markdown==2.6.11
30 markupsafe==1.1.1
31 markupsafe==1.1.1
31 msgpack-python==0.5.6
32 msgpack-python==0.5.6
@@ -81,7 +82,7 b' zope.event==4.4.0'
81 zope.interface==4.6.0
82 zope.interface==4.6.0
82
83
83 # DB drivers
84 # DB drivers
84 mysql-python==1.2.5
85 mysqlclient==1.4.6
85 pymysql==0.8.1
86 pymysql==0.8.1
86 pysqlite==2.8.3
87 pysqlite==2.8.3
87 psycopg2==2.8.4
88 psycopg2==2.8.4
@@ -107,11 +108,10 b' waitress==1.3.1'
107
108
108 ## debug
109 ## debug
109 ipdb==0.13.2
110 ipdb==0.13.2
110 ipython==5.1.0
111 ipython==5.10.0
111
112
112 ## rhodecode-tools, special case, use file://PATH.tar.gz#egg=rhodecode-tools==X.Y.Z, to test local version
113 ## rhodecode-tools, special case, use file://PATH.tar.gz#egg=rhodecode-tools==X.Y.Z, to test local version
113 https://code.rhodecode.com/rhodecode-tools-ce/artifacts/download/0-ed54e749-2ef5-4bc7-ae7f-7900e3c2aa15.tar.gz?sha256=76f024bad3a1e55fdb3d64f13f5b77ff21a12fee699918de2110fe21effd5a3a#egg=rhodecode-tools==1.4.0
114 https://code.rhodecode.com/rhodecode-tools-ce/artifacts/download/0-0cf09d55-fcb5-4ab0-ad48-e71f65090875.tar.gz?sha256=ae458b6845f278aed1bcb90939ef01cdb581016ba0e7f58602d1ac6513f94707#egg=rhodecode-tools==2.0.0
114
115
115
116 ## appenlight
116 ## appenlight
117 appenlight-client==0.6.26
117 appenlight-client==0.6.26
@@ -1,6 +1,6 b''
1 # contains not directly required libraries we want to pin the version.
1 # contains not directly required libraries we want to pin the version.
2
2
3 atomicwrites==1.3.0
3 atomicwrites==1.4.0
4 attrs==19.3.0
4 attrs==19.3.0
5 asn1crypto==0.24.0
5 asn1crypto==0.24.0
6 billiard==3.6.1.0
6 billiard==3.6.1.0
@@ -21,7 +21,13 b' pyramid-jinja2==2.7'
21 scandir==1.10.0
21 scandir==1.10.0
22 setproctitle==1.1.10
22 setproctitle==1.1.10
23 tempita==0.5.2
23 tempita==0.5.2
24 testpath==0.4.4
24
25 transaction==2.4.0
25 transaction==2.4.0
26 vine==1.3.0
26 vine==1.3.0
27 wcwidth==0.1.9
27 wcwidth==0.1.9
28
29 # ptyprocess backport, pypi version doesn't support egg/source installs on python 2.X
30 https://code.rhodecode.com/upstream/ptyprocess/artifacts/download/0-c8b019b1-c4d3-46ac-a0ad-1206ec3fb3cb.tar.gz?sha256=50394f2c5e117fcab4360bf99c8bc40be7211ee1a5860aeb3809b44249550c3e#egg=ptyprocess==0.6.0.rhodecode-upstream1
31
32 # testpath backport, pypi version doesn't support egg/source installs on python 2.X
33 https://code.rhodecode.com/upstream/testpath/artifacts/download/0-618e6b32-6ca5-428a-bda0-494bb347a56d.tar.gz?sha256=fd95bafd89ee2fb2bb0d82be34c9c5bba3a290f52cafc67a12a74ef825527019#egg=testpath==0.4.4.rhodecode-upstream1
@@ -1,9 +1,9 b''
1 # test related requirements
1 # test related requirements
2 pytest==4.6.5
2 pytest==4.6.9
3 py==1.8.0
3 py==1.8.1
4 pytest-cov==2.7.1
4 pytest-cov==2.8.1
5 pytest-sugar==0.9.2
5 pytest-sugar==0.9.3
6 pytest-runner==5.1.0
6 pytest-runner==5.2.0
7 pytest-profiling==1.7.0
7 pytest-profiling==1.7.0
8 pytest-timeout==1.3.3
8 pytest-timeout==1.3.3
9 gprof2dot==2017.9.19
9 gprof2dot==2017.9.19
@@ -1,10 +1,6 b''
1 [aliases]
1 [aliases]
2 test = pytest
2 test = pytest
3
3
4 [egg_info]
5 tag_build =
6 tag_svn_revision = false
7
8 # Babel configuration
4 # Babel configuration
9 [compile_catalog]
5 [compile_catalog]
10 domain = rhodecode
6 domain = rhodecode
@@ -27,12 +27,12 b' let'
27 optionalDevelopInstall = attributeName:
27 optionalDevelopInstall = attributeName:
28 let
28 let
29 path = pkgs.lib.attrByPath [attributeName] null sources;
29 path = pkgs.lib.attrByPath [attributeName] null sources;
30 doIt = doDevelopInstall && path != null;
30 doDI = doDevelopInstall && path != null;
31
31
32 in
32 in
33 # do develop installation with empty hosts to skip any package duplicates to
33 # do develop installation with empty hosts to skip any package duplicates to
34 # be replaced. This only pushes the package to be locally available
34 # be replaced. This only pushes the package to be locally available
35 pkgs.lib.optionalString doIt (''
35 pkgs.lib.optionalString doDI (''
36 echo "[BEGIN] Develop install of '${attributeName}' from '${path}'"
36 echo "[BEGIN] Develop install of '${attributeName}' from '${path}'"
37 pushd ${path}
37 pushd ${path}
38 python setup.py develop --prefix $tmp_path --allow-hosts ""
38 python setup.py develop --prefix $tmp_path --allow-hosts ""
@@ -47,8 +47,8 b' let'
47 optionalDevelopInstallBuildInputs = attributeName:
47 optionalDevelopInstallBuildInputs = attributeName:
48 let
48 let
49 path = pkgs.lib.attrByPath [attributeName] null sources;
49 path = pkgs.lib.attrByPath [attributeName] null sources;
50 doIt = doDevelopInstall && path != null && pkgs.lib.pathExists "${nixFile}";
51 nixFile = "${path}/default.nix";
50 nixFile = "${path}/default.nix";
51 doDI = doDevelopInstall && path != null && pkgs.lib.pathExists "${nixFile}";
52
52
53 derivate = import "${nixFile}" {
53 derivate = import "${nixFile}" {
54 inherit
54 inherit
@@ -56,13 +56,30 b' let'
56 pythonPackages;
56 pythonPackages;
57 };
57 };
58 in
58 in
59 pkgs.lib.lists.optionals doIt (
59 pkgs.lib.lists.optionals doDI (
60 derivate.propagatedBuildInputs
60 derivate.propagatedBuildInputs
61 );
61 );
62
62
63 optionalBinDeps = attributeName:
64 let
65 path = pkgs.lib.attrByPath [attributeName] null sources;
66 nixFile = "${path}/default.nix";
67 doDI = doDevelopInstall && path != null && pkgs.lib.pathExists "${nixFile}";
68
69 derivate = import "${nixFile}" {
70 inherit
71 doCheck
72 pythonPackages;
73 };
74 in
75 pkgs.lib.optionalString doDI (''
76 echo "Wrapping PATH with vcsserver vcs binaries"
77 export PATH="${derivate.vcs_pkgs.subversion}/bin:${derivate.vcs_pkgs.git}/bin:${derivate.pythonPackages.mercurial}/bin:$PATH"
78 '');
79
63 developInstalls = [ "rhodecode-vcsserver" ];
80 developInstalls = [ "rhodecode-vcsserver" ];
64
81
65 in enterprise-ce.override (attrs: {
82 in enterprise-ce.override (attrs: rec {
66 # Avoid that we dump any sources into the store when entering the shell and
83 # Avoid that we dump any sources into the store when entering the shell and
67 # make development a little bit more convenient.
84 # make development a little bit more convenient.
68 src = null;
85 src = null;
@@ -90,10 +107,14 b' in enterprise-ce.override (attrs: {'
90 '';
107 '';
91
108
92 preShellHook = ''
109 preShellHook = ''
93 echo "Entering CE-Shell"
110 echo "Entering rhodecode-ce"
94
111
95 # Custom prompt to distinguish from other dev envs.
112 # Custom prompt to distinguish from other dev envs.
96 export PS1="\n\[\033[1;32m\][CE-shell:\w]$\[\033[0m\] "
113 export PS1="\n\[\033[1;32m\][rhodecode-ce-shell:\w]$\[\033[0m\] "
114
115 # Set locale
116 export LOCALE_ARCHIVE="${pkgs.glibcLocales}/lib/locale/locale-archive"
117 export LC_ALL="en_US.UTF-8"
97
118
98 echo "Building frontend assets"
119 echo "Building frontend assets"
99 ${enterprise-ce.linkNodePackages}
120 ${enterprise-ce.linkNodePackages}
@@ -111,9 +132,8 b' in enterprise-ce.override (attrs: {'
111
132
112 postShellHook = ''
133 postShellHook = ''
113 echo "** Additional develop installs **"
134 echo "** Additional develop installs **"
114 '' +
135 '' + pkgs.lib.strings.concatMapStrings optionalDevelopInstall developInstalls + ''
115 pkgs.lib.strings.concatMapStrings optionalDevelopInstall developInstalls
136 '' + pkgs.lib.strings.concatMapStrings optionalBinDeps [ "rhodecode-vcsserver" ] + ''
116 + ''
117 '';
137 '';
118
138
119 })
139 })
General Comments 0
You need to be logged in to leave comments. Login now