Added a new dependency which must be used to validate JSON Schema.
[slapos.git] / stack / erp5.cfg
1 [buildout]
2 extensions =
3   slapos.rebootstrap
4   slapos.tool.networkcache
5   slapos.zcbworkarounds
6   mr.developer
7
8 find-links =
9     http://www.nexedi.org/static/packages/source/slapos.buildout/
10     http://dist.repoze.org
11     http://www.nexedi.org/static/packages/source/
12
13 extends =
14 # Exact version of Zope
15   http://svn.zope.org/repos/main/Zope/tags/2.12.18/versions.cfg
16   ../component/logrotate/buildout.cfg
17   ../component/dcron/buildout.cfg
18   ../component/file/buildout.cfg
19   ../component/fonts/buildout.cfg
20   ../component/ghostscript/buildout.cfg
21   ../component/git/buildout.cfg
22   ../component/glib/buildout.cfg
23   ../component/graphviz/buildout.cfg
24   ../component/haproxy/buildout.cfg
25   ../component/hookbox/buildout.cfg
26   ../component/imagemagick/buildout.cfg
27   ../component/kumo/buildout.cfg
28   ../component/libreoffice-bin/buildout.cfg
29   ../component/lxml-python/buildout.cfg
30   ../component/mariadb/buildout.cfg
31   ../component/memcached/buildout.cfg
32   ../component/mysql-python/buildout.cfg
33   ../component/pdftk/buildout.cfg
34   ../component/pysvn-python/buildout.cfg
35   ../component/python-2.6/buildout.cfg
36   ../component/python-2.7/buildout.cfg
37   ../component/python-ldap-python/buildout.cfg
38   ../component/rdiff-backup/buildout.cfg
39   ../component/stunnel/buildout.cfg
40   ../component/subversion/buildout.cfg
41   ../component/tesseract/buildout.cfg
42   ../component/varnish/buildout.cfg
43   ../component/w3-validator/buildout.cfg
44   ../component/w3m/buildout.cfg
45   ../component/xorg/buildout.cfg
46   ../component/xpdf/buildout.cfg
47   ../component/xtrabackup/buildout.cfg
48   ../component/zabbix/buildout.cfg
49   ../component/sed/buildout.cfg
50   ../component/coreutils/buildout.cfg
51   ../component/grep/buildout.cfg
52
53 versions = versions
54
55 parts =
56   itools-build
57   rdiff-backup
58   apache
59   apache-antiloris
60   file
61   graphviz
62   memcached
63   haproxy
64   varnish-2.1
65   stunnel
66   w3m
67   xpdf
68   libpng12
69   ghostscript
70   mariadb
71   imagemagick
72   kumo
73   libreoffice-bin
74   w3-validator
75   tesseract-eng-traineddata-unzip
76   tesseract
77   hookbox
78   bootstrap2.6
79   zabbix-agent
80   pdftk
81   dcron
82
83 # Buildoutish
84   eggs
85   instance-recipe-egg
86   testrunner
87   test_suite_runner
88
89 # basic Xorg
90   libXdmcp
91   libXext
92   libXau
93   libX11
94
95 # fonts
96   liberation-fonts
97   ipaex-fonts
98
99 # Zope products
100   products-deps
101
102 # Cloudooo specific part
103   cloudooo
104
105 # get git repositories
106   erp5
107
108 [products]
109 # XXX: ERP5 related products are not defined as python distributions, so it is
110 #      required to configure them in declarative manner
111 list = ${products-deps:location} ${erp5:location}/product
112
113 [bootstrap2.6]
114 python = python2.6
115
116 [rebootstrap]
117 # Default first version of rebootstrapped python
118 version = 2
119 section = python2.7
120
121 [itools]
122 pkgname = itools-0.50.8
123 location = ${buildout:parts-directory}/${:_buildout_section_name_}
124 lib = ${:location}/lib
125 source = ${:location}/src
126
127 # ugly itools building sections until itools and setuptools learn to get
128 # along:
129
130 [itools-download]
131 recipe = hexagonit.recipe.download
132 strip-top-level-dir = true
133 url = http://download.hforge.org/itools/0.50/${itools:pkgname}.tar.gz
134 md5sum = 12704cc354e2201e0921a832bf6b1556
135 destination = ${itools:source}
136
137 [itools-build]
138 recipe = plone.recipe.command
139 # reference itools-download:destination instead of itools:source to trigger its
140 # execution
141 # here, we unset PYTHONPATH to invoke different python than buildout one.
142 command =
143     cd ${itools-download:destination} &&
144     PYTHONPATH= ${python2.6:executable} setup.py build_ext -L ${glib:location}/lib -I ${glib:location}/include/glib-2.0:${glib:location}/lib/glib-2.0/include -R ${glib:location}/lib &&
145     PYTHONPATH= ${python2.6:executable} setup.py install_lib -d ${itools:lib}
146
147 update-command = ${:command}
148 location = ${itools:location}
149 stop-on-error = true
150
151 [products-deps]
152 # Recipe minitage.recipe.fetch is disabled, as it uses PATH variable, but it
153 # is not possible to change its environment to use localy delivered subversion
154 # nor git. plone.recipe.command can do same job, but it is controllable which
155 # binary will be used
156 recipe = plone.recipe.command
157 svn_param =--trust-server-cert --non-interactive --quiet
158 location = ${buildout:parts-directory}/${:_buildout_section_name_}
159 stop-on-error = true
160 command =
161   ${subversion:location}/bin/svn checkout ${:svn_param} https://svn.plone.org/svn/collective/ExtFile/trunk ${:location}/ExtFile &&
162   ${git:location}/bin/git clone --quiet git://git.hforge.org/Localizer.git ${:location}/Localizer
163 update-command =
164   if ${buildout:newest}; then
165     ${subversion:location}/bin/svn checkout ${:svn_param} https://svn.plone.org/svn/collective/ExtFile/trunk ${:location}/ExtFile &&
166     cd ${:location}/Localizer &&
167     ${git:location}/bin/git pull --quiet
168   fi
169
170 [erp5_repository_list]
171 repository_id_list = erp5
172
173 [erp5]
174 # Recipe zerokspot.recipe.git is disabled, as is not possible to change its
175 # environment to use localy delivered git.
176 # plone.recipe.command can do same job, but it is controllable which binary
177 # will be used
178 recipe = plone.recipe.command
179 location = ${buildout:parts-directory}/${:_buildout_section_name_}
180 stop-on-error = true
181 repository = http://git.erp5.org/repos/erp5.git
182 branch = master
183 command = ${git:location}/bin/git clone --quiet -b ${:branch} ${:repository} ${:location}
184 update-command = cd ${:location} && ${git:location}/bin/git pull --quiet
185
186 [products]
187 # XXX: ERP5 related products are not defined as python distributions, so it is
188 #      required to configure them in declarative manner
189 list = ${products-deps:location} ${buildout:parts-directory}/erp5/product
190
191 [testrunner]
192 # XXX: Workaround for fact ERP5Type is not an distribution and does not
193 #      expose entry point for test runner
194 recipe = zc.recipe.egg
195 python = python2.6
196 eggs = ${eggs:eggs}
197 extra-paths = ${eggs:extra-paths}
198 entry-points =
199   runUnitTest=Products.ERP5Type.tests.runUnitTest:main
200 scripts = runUnitTest
201 initialization =
202   import os
203   import sys
204   import Products
205   [Products.__path__.insert(0, p) for p in reversed(os.environ.get('INSERT_PRODUCTS_PATH', '').split(':')) if p]
206   Products.__path__.extend(reversed('''${products:list}'''.split()))
207   import Zope2
208   os.environ['SOFTWARE_HOME'] = os.path.abspath(os.path.dirname(os.path.dirname(Zope2.__file__)))
209   os.environ['ZOPE_SCRIPTS'] = ''
210   temp_bt5_path_list = ['/'.join(['''${buildout:parts-directory}''', x, 'bt5']) for x in '''${erp5_repository_list:repository_id_list}'''.split(' ')]
211   bt5_path_list = []
212   [bt5_path_list.extend([bt5_path, '%s/*' % bt5_path]) for bt5_path in temp_bt5_path_list]
213   os.environ['erp5_tests_bt5_path'] = ','.join(bt5_path_list)
214   sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x, 'tests']) for x in '''${erp5_repository_list:repository_id_list}'''.split(' ')]
215   import glob
216   product_test_path_list = []
217   [product_test_path_list.extend(glob.glob('/'.join(['''${buildout:parts-directory}''', x, 'product/*/tests']))) for x in '''${erp5_repository_list:repository_id_list}'''.split(' ')]
218   sys.path[0:0] = product_test_path_list
219
220 [test_suite_runner]
221 # XXX: Workaround for fact ERP5Type is not an distribution and does not
222 #      expose entry point for test runner
223 recipe = zc.recipe.egg
224 python = python2.6
225 eggs = ${eggs:eggs}
226 extra-paths = ${eggs:extra-paths}
227 entry-points =
228   runTestSuite=Products.ERP5Type.tests.runTestSuite:main
229 scripts = runTestSuite
230 initialization =
231   import os
232   import sys
233   import Products
234   [Products.__path__.insert(0, p) for p in reversed(os.environ.get('INSERT_PRODUCTS_PATH', '').split(':')) if p]
235   Products.__path__.extend(reversed('''${products:list}'''.split()))
236   import Zope2
237   os.environ['SOFTWARE_HOME'] = os.path.abspath(os.path.dirname(os.path.dirname(Zope2.__file__)))
238   os.environ['ZOPE_SCRIPTS'] = ''
239   sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x]) for x in '''${erp5_repository_list:repository_id_list}'''.split(' ')]
240
241 [instance-recipe-egg]
242 recipe = zc.recipe.egg
243 python = python2.6
244 eggs =
245 # instantiation egg
246   ${instance-recipe:egg}
247   erp5.conflictresolver
248
249 [eggs]
250 recipe = zc.recipe.egg
251 python = python2.6
252 eggs =
253   ${mysql-python:egg}
254   ${lxml-python:egg}
255   ${python-ldap-python:egg}
256   ${pysvn-python:egg}
257   pycrypto
258   PyXML
259   SOAPpy
260   cElementTree
261   chardet
262   elementtree
263   erp5diff
264   ipdb
265   mechanize
266   numpy
267   ordereddict
268   paramiko
269   ply
270   python-magic
271   python-memcached
272   pytz
273   threadframe
274   timerserver
275   urlnorm
276   uuid
277   xml_marshaller
278   xupdate_processor
279   feedparser
280   argparse
281   validictory
282
283 # Zope 2.12 with patched acquisition
284   ZODB3
285   Zope2
286   Acquisition
287
288 # Other Zope 2 packages
289   Products.PluggableAuthService
290   Products.PluginRegistry
291
292 # CMF 2.2
293   Products.CMFActionIcons
294   Products.CMFCalendar
295   Products.CMFCore
296   Products.CMFDefault
297   Products.CMFTopic
298   Products.CMFUid
299   Products.DCWorkflow
300   Products.GenericSetup
301   five.localsitemanager
302
303 # Other products
304   Products.DCWorkflowGraph
305   Products.MimetypesRegistry
306   Products.ExternalEditor
307   Products.TIDStorage
308   Products.Zelenium
309
310 # Currently forked in our repository
311 #    Products.PortalTransforms
312 # Dependency for our fork of PortalTransforms
313   StructuredText
314
315 # parameterizing the version of the generated python interpreter name by the
316 # python section version causes dependency between this egg section and the
317 # installation of python, which we don't want on an instance
318 interpreter = python2.6
319 scripts =
320   repozo
321   runzope
322   runzeo
323   tidstoraged
324   tidstorage_repozo
325
326 extra-paths =
327   ${itools:location}/lib
328
329 [mysql-python]
330 python = python2.6
331
332 [lxml-python]
333 python = python2.6
334
335 [python-ldap-python]
336 python = python2.6
337
338 [pysvn-python]
339 python = python2.6
340
341 [cloudooo]
342 recipe = zc.recipe.egg
343 python = python2.6
344 eggs =
345   ${lxml-python:egg}
346   cloudooo.handler.ffmpeg
347   cloudooo.handler.imagemagick
348   cloudooo.handler.ooo
349   cloudooo.handler.pdf
350   cloudooo
351   PasteScript
352 scripts =
353   paster=cloudooo_paster
354
355 [versions]
356 # Use SlapOS patched zc.buildout
357 zc.buildout = 1.5.3-dev-SlapOS-001
358
359 # pin Acquisition and Products.DCWorkflow to Nexedi flavour of eggs
360 Acquisition = 2.13.7nxd001
361 Products.DCWorkflow = 2.2.3nxd002
362
363 # Known version with works
364 numpy = 1.3.0
365 # Patched version which support python 2.6
366 PyXML = 0.8.4nxd001
367 # modified version that works fine for buildout installation
368 SOAPpy = 0.12.0nxd001
369 # we are still using this old stable version.
370 rdiff-backup = 1.0.5
371
372 # Zope Known Good Set is incompatible with buildout 1.5.0 in case of
373 # distribute and zc.buildout, and as ERP5 Appliance trunk wants to use
374 # the newest versions of buildout infrastructure clear the pin
375 distribute =
376 setuptools =
377
378 # official pysvn egg does not supports --include-dirs and
379 # --library-dirs, so we use our modified version
380 pysvn = 1.7.4nxd006