LibreOffice 3.5.0 depends on libpng12 and libXrender, but not depends on libXinerama.
[slapos.git] / stack / erp5.cfg
1 [buildout]
2 extensions =
3   slapos.rebootstrap
4   slapos.zcbworkarounds
5   buildout-versions
6
7 find-links =
8     http://www.nexedi.org/static/packages/source/slapos.buildout/
9     http://dist.repoze.org
10     http://www.nexedi.org/static/packages/source/
11     http://www.owlfish.com/software/wsgiutils/download.html
12
13 # Separate from site eggs
14 allowed-eggs-from-site-packages =
15 include-site-packages = false
16 exec-sitecustomize = false
17
18 # Use only quite well working sites.
19 allow-hosts =
20   *.nexedi.org
21   *.python.org
22   *.sourceforge.net
23   alastairs-place.net
24   dist.repoze.org
25   effbot.org
26   github.com
27   peak.telecommunity.com
28   psutil.googlecode.com
29   www.dabeaz.com
30   www.owlfish.com
31
32 extends =
33 # Exact version of Zope
34   http://svn.zope.org/repos/main/Zope/tags/2.12.22/versions.cfg
35   ../component/logrotate/buildout.cfg
36   ../component/dcron/buildout.cfg
37   ../component/file/buildout.cfg
38   ../component/fonts/buildout.cfg
39   ../component/ghostscript/buildout.cfg
40   ../component/git/buildout.cfg
41   ../component/glib/buildout.cfg
42   ../component/graphviz/buildout.cfg
43   ../component/gzip/buildout.cfg
44   ../component/haproxy/buildout.cfg
45   ../component/hookbox/buildout.cfg
46   ../component/imagemagick/buildout.cfg
47   ../component/kumo/buildout.cfg
48   ../component/libpng/buildout.cfg
49   ../component/libreoffice-bin/buildout.cfg
50   ../component/lxml-python/buildout.cfg
51   ../component/percona-toolkit/buildout.cfg
52   ../component/mariadb/buildout.cfg
53   ../component/memcached/buildout.cfg
54   ../component/mysql-python/buildout.cfg
55   ../component/pdftk/buildout.cfg
56   ../component/pycrypto-python/buildout.cfg
57   ../component/pysvn-python/buildout.cfg
58   ../component/python-2.6/buildout.cfg
59   ../component/python-2.7/buildout.cfg
60   ../component/python-ldap-python/buildout.cfg
61   ../component/rdiff-backup/buildout.cfg
62   ../component/sphinx/buildout.cfg
63   ../component/stunnel/buildout.cfg
64   ../component/subversion/buildout.cfg
65   ../component/tesseract/buildout.cfg
66   ../component/varnish/buildout.cfg
67   ../component/w3-validator/buildout.cfg
68   ../component/w3m/buildout.cfg
69   ../component/xorg/buildout.cfg
70   ../component/poppler/buildout.cfg
71   ../component/xtrabackup/buildout.cfg
72   ../component/zabbix/buildout.cfg
73   ../component/sed/buildout.cfg
74   ../component/coreutils/buildout.cfg
75   ../component/grep/buildout.cfg
76   ../component/dash/buildout.cfg
77
78 versions = versions
79
80 parts =
81   itools-build
82   rdiff-backup
83   apache
84   apache-antiloris
85   file
86   graphviz
87   memcached
88   haproxy
89   varnish-2.1
90   stunnel
91   w3m
92   poppler
93   libpng12
94   libpng
95   ghostscript
96   mariadb
97   mroonga-mariadb
98   sphinx
99   imagemagick
100   kumo
101   libreoffice-bin
102   w3-validator
103   tesseract-eng-traineddata-unzip
104   tesseract
105   hookbox
106   bootstrap2.6
107   perl-DBD-mariadb
108   perl-DBI
109   percona-toolkit
110   zabbix-agent
111   pdftk
112   dcron
113   dash
114
115 # Buildoutish
116   eggs
117   testrunner
118   test_suite_runner
119
120 # basic Xorg
121   libXdmcp
122   libXext
123   libXau
124   libSM
125   libXrender
126
127 # fonts
128   liberation-fonts
129   ipaex-fonts
130
131 # Zope products
132   products-deps
133
134 # Cloudooo specific part
135   cloudooo
136
137 # get git repositories
138   erp5
139   genbt5list
140
141 # fix products path (Zeo needs ERP5 Products to be available for
142 # conflict resolution)
143   fix-products-paths
144 # some additional utils
145   slapos-toolbox
146
147 [bt5-repository]
148 # Format:
149 #   <url or path> [...]
150 #
151 # Use absolute paths for local repositories, and URLs for non-local otherwise.
152 #
153 list = ${local-bt5-repository:list}
154
155 [local-bt5-repository]
156 # Same as bt5-repository, but only local repository.
157 # Used to generate bt5lists.
158 list = ${erp5:location}/bt5 ${erp5:location}/product/ERP5/bootstrap
159
160 [genbt5list]
161 recipe = plone.recipe.command
162 stop-on-error = true
163 genbt5list = ${erp5:location}/product/ERP5/bin/genbt5list
164 command =
165   ls -ld ${local-bt5-repository:list} ; ${buildout:executable} ${:genbt5list} ${local-bt5-repository:list}
166 update-command = ${:command}
167
168 [bootstrap2.6]
169 python = python2.6
170
171 [rebootstrap]
172 version = 3
173 section = python2.7
174 eggs = slapos.libnetworkcache
175
176 [itools]
177 pkgname = itools-0.50.8
178 location = ${buildout:parts-directory}/${:_buildout_section_name_}
179 lib = ${:location}/lib
180 source = ${:location}/src
181
182 # ugly itools building sections until itools and setuptools learn to get
183 # along:
184
185 [itools-download]
186 recipe = hexagonit.recipe.download
187 strip-top-level-dir = true
188 url = http://download.hforge.org/itools/0.50/${itools:pkgname}.tar.gz
189 md5sum = 12704cc354e2201e0921a832bf6b1556
190 destination = ${itools:source}
191
192 [itools-build]
193 recipe = plone.recipe.command
194 # reference itools-download:destination instead of itools:source to trigger its
195 # execution
196 # here, we unset PYTHONPATH to invoke different python than buildout one.
197 command =
198     cd ${itools-download:destination} &&
199     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 &&
200     PYTHONPATH= ${python2.6:executable} setup.py install_lib -d ${itools:lib}
201
202 update-command = ${:command}
203 location = ${itools:location}
204 stop-on-error = true
205
206 [products-deps]
207 # Recipe minitage.recipe.fetch is disabled, as it uses PATH variable, but it
208 # is not possible to change its environment to use localy delivered subversion
209 # nor git. plone.recipe.command can do same job, but it is controllable which
210 # binary will be used
211 recipe = plone.recipe.command
212 svn_param =--trust-server-cert --non-interactive --quiet
213 location = ${buildout:parts-directory}/${:_buildout_section_name_}
214 stop-on-error = true
215 command =
216   ${subversion:location}/bin/svn checkout -r 98997 ${:svn_param} https://svn.plone.org/svn/collective/ExtFile/trunk ${:location}/ExtFile &&
217   ${git:location}/bin/git clone --quiet git://git.hforge.org/Localizer.git ${:location}/Localizer && cd ${:location}/Localizer && ${git:location}/bin/git reset --quiet --hard dacb6ba0ae559cd9bdb8822812d24a12a21e9e37
218
219 [erp5_repository_list]
220 repository_id_list = erp5
221
222 [erp5]
223 # Recipe zerokspot.recipe.git is disabled, as is not possible to change its
224 # environment to use localy delivered git.
225 # plone.recipe.command can do same job, but it is controllable which binary
226 # will be used
227 recipe = plone.recipe.command
228 location = ${buildout:parts-directory}/${:_buildout_section_name_}
229 stop-on-error = true
230 repository = http://git.erp5.org/repos/erp5.git
231 branch = master
232 revision =
233 command = ${git:location}/bin/git clone --quiet --branch ${:branch} ${:repository} ${:location} && if [ -n "${:revision}" ]; then cd ${:location} && ${git:location}/bin/git reset --quiet --hard ${:revision} ; fi
234 # ls information added in order to debug .git disappearing
235 update-command = ls -la ${:location}
236   ls -ld ${:location}/product/ERP5/bootstrap
237   cd ${:location} && ${git:location}/bin/git pull && if [ -n "${:revision}" ]; then echo "Resetting." ; cd ${:location} && ${git:location}/bin/git reset --hard ${:revision} ; fi
238
239 [products]
240 # XXX: ERP5 related products are not defined as python distributions, so it is
241 #      required to configure them in declarative manner
242 list =
243
244 [fix-products-paths]
245 recipe = plone.recipe.command
246 stop-on-error = true
247 command =
248   for DIR in "${products-deps:location}"; do cd "$DIR"; rm -f Products ; ln -s . Products; touch __init__.py; done
249   for DIR in "${erp5:location}"; do cd "$DIR"; rm -f Products ; ln -s product Products; touch product/__init__.py; done
250 update-command = ${:command}
251
252 [testrunner]
253 # XXX: Workaround for fact ERP5Type is not an distribution and does not
254 #      expose entry point for test runner
255 recipe = zc.recipe.egg
256 python = python2.6
257 eggs = ${eggs:eggs}
258 extra-paths = ${eggs:extra-paths}
259 entry-points =
260   runUnitTest=runUnitTest:main
261 scripts = runUnitTest
262 initialization =
263   import glob, imp, os, sys
264   import App # prevent Testing from importing Zope2.App instead of App
265   import Products
266   Products.__path__[:0] = filter(None,
267     os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep))
268   Products.__path__.extend(reversed('''${products:list}'''.split()))
269   os.environ['SOFTWARE_HOME'] = os.path.abspath(imp.find_module('Zope2')[1])
270   os.environ['ZOPE_SCRIPTS'] = ''
271   parts_directory = '''${buildout:parts-directory}'''
272   repository_id_list = \
273     '''${erp5_repository_list:repository_id_list}'''.split()[::-1]
274   os.environ['erp5_tests_bt5_path'] = ','.join(sum((
275     [bt5_path, os.path.join(bt5_path, '*')]
276     for bt5_path in (os.path.join(parts_directory, x, 'bt5')
277                      for x in repository_id_list)), []))
278   sys.path[:0] = [os.path.join(parts_directory, x, 'tests')
279                   for x in repository_id_list]
280   sys.path[:0] = sum((
281     glob.glob(os.path.join(parts_directory, x, 'product', '*', 'tests'))
282     for x in repository_id_list), [])
283
284 [test_suite_runner]
285 # XXX: Workaround for fact ERP5Type is not an distribution and does not
286 #      expose entry point for test runner
287 recipe = zc.recipe.egg
288 python = python2.6
289 eggs = ${eggs:eggs}
290 extra-paths = ${eggs:extra-paths}
291 entry-points =
292   runTestSuite=Products.ERP5Type.tests.runTestSuite:main
293 scripts = runTestSuite
294 initialization =
295   import os
296   import sys
297   import Products
298   [Products.__path__.insert(0, p) for p in reversed(os.environ.get('INSERT_PRODUCTS_PATH', '').split(':')) if p]
299   Products.__path__.extend(reversed('''${products:list}'''.split()))
300   import Zope2
301   os.environ['SOFTWARE_HOME'] = os.path.abspath(os.path.dirname(os.path.dirname(Zope2.__file__)))
302   os.environ['ZOPE_SCRIPTS'] = ''
303   repository_id_list = list(reversed('''${erp5_repository_list:repository_id_list}'''.split()))
304   sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x]) for x in repository_id_list]
305
306 [eggs]
307 recipe = zc.recipe.egg
308 python = python2.6
309 eggs =
310   ${mysql-python:egg}
311   ${lxml-python:egg}
312   ${python-ldap-python:egg}
313   ${pysvn-python:egg}
314   ${pycrypto-python:egg}
315   PyXML
316   SOAPpy
317   cElementTree
318   chardet
319   coverage
320   elementtree
321   erp5diff
322   ipdb
323   mechanize
324   numpy
325   ordereddict
326   paramiko
327   ply
328   python-magic
329   python-memcached
330   pytz
331   threadframe
332   timerserver
333   urlnorm
334   uuid
335   xml_marshaller
336   xupdate_processor
337   feedparser
338   argparse
339   validictory
340
341 # Zope 2.12 with patched acquisition
342   ZODB3
343   Zope2
344   Acquisition
345
346 # Other Zope 2 packages
347   Products.PluggableAuthService
348   Products.PluginRegistry
349
350 # CMF 2.2
351   Products.CMFActionIcons
352   Products.CMFCalendar
353   Products.CMFCore
354   Products.CMFDefault
355   Products.CMFTopic
356   Products.CMFUid
357   Products.DCWorkflow
358   Products.GenericSetup
359   five.localsitemanager
360
361 # Other products
362   Products.DCWorkflowGraph
363   Products.MimetypesRegistry
364   Products.ExternalEditor
365   Products.TIDStorage
366   Products.Zelenium
367
368 # Currently forked in our repository
369 #    Products.PortalTransforms
370 # Dependency for our fork of PortalTransforms
371   StructuredText
372
373 # parameterizing the version of the generated python interpreter name by the
374 # python section version causes dependency between this egg section and the
375 # installation of python, which we don't want on an instance
376 interpreter = python2.6
377 scripts =
378   repozo
379   runzope
380   runzeo
381   tidstoraged
382   tidstorage_repozo
383
384 extra-paths =
385   ${itools:location}/lib
386   ${products-deps:location}
387   ${erp5:location}
388
389 [mysql-python]
390 python = python2.6
391
392 [lxml-python]
393 python = python2.6
394
395 [python-ldap-python]
396 python = python2.6
397
398 [pysvn-python]
399 python = python2.6
400
401 [slapos-toolbox]
402 recipe = zc.recipe.egg
403 python = ${eggs:python}
404 eggs =
405   ${lxml-python:egg}
406   slapos.toolbox
407
408 scripts =
409   killpidfromfile = slapos.systool:killpidfromfile
410   onetimedownload = slapos.toolbox:onetimedownload
411
412 [cloudooo]
413 recipe = zc.recipe.egg
414 python = python2.6
415 eggs =
416   ${lxml-python:egg}
417   cloudooo.handler.ffmpeg
418   cloudooo.handler.imagemagick
419   cloudooo.handler.ooo
420   cloudooo.handler.pdf
421   cloudooo
422   PasteScript
423 scripts =
424   paster=cloudooo_paster
425
426 [versions]
427 # Use SlapOS patched zc.buildout
428 zc.buildout = 1.6.0-dev-SlapOS-004
429
430 # pin Acquisition and Products.DCWorkflow to Nexedi flavour of eggs
431 Acquisition = 2.13.7nxd001
432 Products.DCWorkflow = 2.2.3nxd002
433
434 # Known version with works
435 numpy = 1.3.0
436 # Patched version which support python 2.6
437 PyXML = 0.8.4nxd001
438 # modified version that works fine for buildout installation
439 SOAPpy = 0.12.0nxd001
440 # we are still using this old stable version.
441 rdiff-backup = 1.0.5
442
443 # Zope Known Good Set is incompatible with buildout 1.5.0 in case of
444 # distribute and zc.buildout, and as ERP5 Appliance trunk wants to use
445 # the newest versions of buildout infrastructure clear the pin
446 distribute =
447 setuptools =
448
449 # official pysvn egg does not supports --include-dirs and
450 # --library-dirs, so we use our modified version
451 pysvn = 1.7.4nxd006