buildout.cfg 21.5 KB
Newer Older
1
[buildout]
2

3 4
extends =
# Exact version of Zope
5 6
  ztk-versions.cfg
  zope-versions.cfg
7
  buildout.hash.cfg
8 9
  ../../component/fonts/buildout.cfg
  ../../component/git/buildout.cfg
10
  ../../component/ghostscript/buildout.cfg
11 12
  ../../component/graphviz/buildout.cfg
  ../../component/gzip/buildout.cfg
13
  ../../component/xz-utils/buildout.cfg
14
  ../../component/haproxy/buildout.cfg
15
  ../../component/socat/buildout.cfg
16
  ../../component/rsyslogd/buildout.cfg
17
  ../../component/findutils/buildout.cfg
18 19
  ../../component/librsvg/buildout.cfg
  ../../component/imagemagick/buildout.cfg
20
  ../../component/jpegoptim/buildout.cfg
21 22
  ../../component/kumo/buildout.cfg
  ../../component/libdmtx/buildout.cfg
23
  ../../component/matplotlib/buildout.cfg
24
  ../../component/numpy/buildout.cfg
25 26
  ../../component/statsmodels/buildout.cfg
  ../../component/h5py/buildout.cfg
27
  ../../component/ocropy/buildout.cfg
28
  ../../component/optipng/buildout.cfg
29
  ../../component/pandas/buildout.cfg
30
  ../../component/percona-toolkit/buildout.cfg
31
  ../../component/patch/buildout.cfg
32
  ../../component/pillow/buildout.cfg
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
33
  ../../component/pycrypto-python/buildout.cfg
34 35
  ../../component/pysvn-python/buildout.cfg
  ../../component/python-ldap-python/buildout.cfg
36
  ../../component/scikit-learn/buildout.cfg
37 38
  ../../component/scikit-image/buildout.cfg
  ../../component/PyWavelets/buildout.cfg
39
  ../../component/subversion/buildout.cfg
40
  ../../component/tempstorage/buildout.cfg
41 42 43 44 45 46 47 48
  ../../component/tesseract/buildout.cfg
  ../../component/w3m/buildout.cfg
  ../../component/poppler/buildout.cfg
  ../../component/zabbix/buildout.cfg
  ../../component/sed/buildout.cfg
  ../../component/coreutils/buildout.cfg
  ../../component/grep/buildout.cfg
  ../../component/dash/buildout.cfg
49
  ../../component/bash/buildout.cfg
50 51
  ../../component/wget/buildout.cfg
  ../../component/aspell/buildout.cfg
52
  ../../component/jsl/buildout.cfg
53
  ../../component/6tunnel/buildout.cfg
54
  ../../component/userhosts/buildout.cfg
55
  ../../component/postfix/buildout.cfg
Yusei Tahara's avatar
Yusei Tahara committed
56
  ../../component/zbarlight/buildout.cfg
57
  ../../component/pylint/buildout.cfg
58
  ../../component/perl-Image-ExifTool/buildout.cfg
59
  ../../component/wendelin.core/buildout.cfg
60
  ../../component/jupyter-py2/buildout.cfg
61
  ../../component/pygolang/buildout.cfg
62
  ../../stack/caucase/buildout.cfg
63
  ../../software/neoppod/software-common.cfg
64
# keep neoppod extends last
65

66
parts +=
67
  erp5-util-develop
68
  slapos-cookbook
69
  mroonga-mariadb
70 71 72 73
  tesseract
  zabbix-agent

# Buildoutish
74
  eggs-all-scripts
75
  testrunner
76
  test-suite-runner
77 78

# get git repositories
79 80
  genbt5list

81
# some additional utils
82
  zodbanalyze
83
  zodbpack
84

85 86 87
# Create instance template
  template

88
# jupyter
89
  jupyter-notebook-initialized-scripts
90

91

92 93
# override instance-jupyter-notebook not to render into default template.cfg
[instance-jupyter-notebook]
94 95
rendered = ${buildout:directory}/template-jupyter.cfg

96
[download-base]
97
<= download-base-neo
98 99
url = ${:_profile_base_location_}/${:filename}

100 101 102
[mariadb-start-clone-from-backup]
<= download-base

103
[mariadb-resiliency-after-import-script]
104
<= download-base
105

106 107 108
[mariadb-slow-query-report-script]
<= download-base

109
[template-mariadb]
110
<= download-base
111 112 113 114 115 116 117
link-binary =
  ${coreutils:location}/bin/basename
  ${coreutils:location}/bin/cat
  ${coreutils:location}/bin/cp
  ${coreutils:location}/bin/ls
  ${coreutils:location}/bin/tr
  ${coreutils:location}/bin/uname
118
  ${gettext:location}/lib/gettext/hostname
119 120
  ${grep:location}/bin/grep
  ${sed:location}/bin/sed
121
  ${mariadb:location}/bin/mysqlbinlog
122 123

[template-kumofs]
124
<= download-base
125 126

[template-zope-conf]
127
<= download-base
128

129
[site-zcml]
130
<= download-base
131

132
[template-my-cnf]
133
<= download-base
134 135

[template-mariadb-initial-setup]
136
<= download-base
137

138 139 140 141 142 143 144 145
[template-postfix]
< = download-base

[template-postfix-master-cf]
< = download-base

[template-postfix-main-cf]
< = download-base
146 147 148

[template-postfix-aliases]
< = download-base
149

150 151
[template-run-zelenium]
< = download-base
152

153

154
[template]
155
recipe = slapos.recipe.template:jinja2
156
# XXX: "template.cfg" is hardcoded in instanciation recipe
157
rendered = ${buildout:directory}/template.cfg
158
template = ${:_profile_base_location_}/${:filename}
159 160
mode = 640
context =
161
    key mariadb_link_binary template-mariadb:link-binary
162
    key zope_link_binary template-zope:link-binary
163 164
    key zope_fonts template-zope:fonts
    key zope_fontconfig_includes template-zope:fontconfig-includes
165
    key apache_location apache:location
166
    key bin_directory buildout:bin-directory
167
    key buildout_bin_directory buildout:bin-directory
168
    key caucase_jinja2_library caucase-jinja2-library:target
169
    key coreutils_location coreutils:location
170
    key curl_location curl:location
171
    key cyrus_sasl_location cyrus-sasl:location
172
    key dash_location dash:location
173
    key bash_location bash:location
174
    key dcron_location dcron:location
175
    key default_cloudooo_url erp5-defaults:cloudooo-connection-url
176
    key erp5_location erp5:location
177
    key findutils_location findutils:location
178
    key gzip_location gzip:location
179
    key xz_utils_location xz-utils:location
180
    key haproxy_location haproxy:location
181
    key socat_location socat:location
182
    key rsyslogd_location rsyslogd:location
183
    key instance_common_cfg instance-common:rendered
184
    key jsl_location jsl:location
185
    key jupyter_enable_default erp5-defaults:jupyter-enable-default
186
    key wcfs_enable_default erp5-defaults:wcfs-enable-default
187
    key kumo_location kumo:location
188
    key local_bt5_repository local-bt5-repository:list
189 190
    key logrotate_location logrotate:location
    key mariadb_location mariadb:location
191
    key mariadb_resiliency_after_import_script mariadb-resiliency-after-import-script:target
192
    key mariadb_slow_query_report_script mariadb-slow-query-report-script:target
193
    key mariadb_start_clone_from_backup mariadb-start-clone-from-backup:target
194
    key mroonga_mariadb_install_sql mroonga-mariadb:install-sql
195 196 197
    key mroonga_mariadb_plugin_dir mroonga-mariadb:plugin-dir
    key groonga_plugin_dir groonga:groonga-plugin-dir
    key groonga_mysql_normalizer_plugin_dir groonga-normalizer-mysql:groonga-plugin-dir
198
    key matplotlibrc_location matplotlibrc:location
199
    key parts_directory buildout:parts-directory
200
    key openssl_location openssl:location
201
    key percona_toolkit_location percona-toolkit:location
202
    key perl_dbd_mariadb_path perl-DBD-mariadb:perl-PATH
203
    key postfix_location postfix:location
204
    key root_common root-common:target
205
    key site_zcml site-zcml:target
206
    key sixtunnel_location 6tunnel:location
207
    key template_run_zelenium template-run-zelenium:target
208
    key egg_interpreter erp5-python-interpreter:interpreter
209
    key template_apache_conf template-apache-backend-conf:target
210
    key template_balancer template-balancer:target
211
    key template_erp5 template-erp5:target
212
    key template_haproxy_cfg template-haproxy-cfg:target
213
    key template_rsyslogd_cfg template-rsyslogd-cfg:target
214
    key template_jupyter_cfg instance-jupyter-notebook:rendered
215
    key template_kumofs template-kumofs:target
216
    key template_mariadb template-mariadb:target
217 218
    key template_mariadb_initial_setup template-mariadb-initial-setup:target
    key template_my_cnf template-my-cnf:target
219
    key template_mysqld_wrapper template-mysqld-wrapper:rendered
220
    key template_postfix template-postfix:target
221
    key template_postfix_aliases template-postfix-aliases:target
222 223
    key template_postfix_main_cf template-postfix-main-cf:target
    key template_postfix_master_cf template-postfix-master-cf:target
224
    key instance_wcfs_cfg_in instance-wcfs.cfg.in:target
225
    key template_zeo template-zeo:target
226
    key template_zodb_base template-zodb-base:target
227 228
    key template_zope template-zope:target
    key template_zope_conf template-zope-conf:target
229
    key template_fonts_conf template-fonts-conf:output
230
    key userhosts_location userhosts:location
231
    key unixodbc_location unixodbc:location
232
    key wget_location wget:location
233
    key extra_path_list eggs:extra-paths
234

235
[template-erp5]
236
<= download-base
237

238
[template-zeo]
239
<= download-base
240

241 242 243
[template-zodb-base]
<= download-base

244
[template-zope]
245
<= download-base
246
link-binary =
247
  ${aspell-en-dictionary:bin-aspell}
248 249 250 251 252
  ${dmtx-utils:location}/bin/dmtxwrite
  ${git:location}/bin/git
  ${graphviz:location}/bin/dot
  ${grep:location}/bin/grep
  ${imagemagick:location}/bin/convert
253
  ${ghostscript:location}/bin/gs
254
  ${imagemagick:location}/bin/identify
255
  ${jpegoptim:location}/bin/jpegoptim
256 257
  ${jsl:location}/bin/jsl
  ${librsvg:location}/bin/rsvg-convert
258 259
  ${mariadb:location}/bin/mysql
  ${mariadb:location}/bin/mysqldump
260
  ${openssl:location}/bin/openssl
261
  ${optipng:location}/bin/optipng
262
  ${perl-Image-ExifTool:location}/bin/exiftool
263 264 265
  ${poppler:location}/bin/pdfinfo
  ${poppler:location}/bin/pdftohtml
  ${poppler:location}/bin/pdftotext
Aurel's avatar
Aurel committed
266
  ${python2.7:location}/bin/2to3
267 268 269
  ${sed:location}/bin/sed
  ${tesseract:location}/bin/tesseract
  ${w3m:location}/bin/w3m
270 271 272 273 274 275 276 277 278
fonts =
  ${liberation-fonts:location}
  ${ipaex-fonts:location}
  ${ipa-fonts:location}
  ${ocrb-fonts:location}
  ${android-fonts:location}
fontconfig-includes =
  ${fontconfig:location}/etc/fonts/conf.d

279 280

[template-balancer]
281
<= download-base
282

283
[template-haproxy-cfg]
284
<= download-base
285

286 287 288
[template-rsyslogd-cfg]
<= download-base

289 290 291
[instance-wcfs.cfg.in]
<= download-base

292 293 294 295 296
[erp5-bin]
<= erp5
repository = https://lab.nexedi.com/nexedi/erp5-bin.git
branch = master

297 298 299 300 301
[erp5-doc]
<= erp5
repository = https://lab.nexedi.com/nexedi/erp5-doc.git
branch = master

302 303 304 305 306 307 308 309 310 311 312
[bt5-repository]
# Format:
#   <url or path> [...]
#
# Use absolute paths for local repositories, and URLs for non-local otherwise.
#
list = ${local-bt5-repository:list}

[local-bt5-repository]
# Same as bt5-repository, but only local repository.
# Used to generate bt5lists.
313
list = ${erp5:location}/bt5 ${erp5:location}/product/ERP5/bootstrap ${erp5-bin:location}/bt5 ${erp5-doc:location}/bt5
314 315 316 317 318 319

[genbt5list]
recipe = plone.recipe.command
stop-on-error = true
genbt5list = ${erp5:location}/product/ERP5/bin/genbt5list
command =
320
  echo '${local-bt5-repository:list}' |xargs ${buildout:executable} ${:genbt5list}
321
update-command = ${:command}
322 323

[erp5_repository_list]
324
repository_id_list = erp5 erp5-bin erp5-doc
325

326 327
# ERP5 defaults, which can be overridden in inheriting recipes (e.g. wendelin)
[erp5-defaults]
328
cloudooo-connection-url = https://cloudooo.erp5.net/
329 330
# Jupyter is by default disabled in ERP5
jupyter-enable-default = false
331 332
# WCFS is by default disabled in ERP5
wcfs-enable-default = false
333

334
[erp5]
335
recipe = slapos.recipe.build:gitclone
336
repository = https://lab.nexedi.com/nexedi/erp5.git
337
branch = zope4py2
338
git-executable = ${git:location}/bin/git
339
develop = true
340 341 342 343 344 345 346 347

[testrunner]
# XXX: Workaround for fact ERP5Type is not an distribution and does not
#      expose entry point for test runner
recipe = zc.recipe.egg
eggs = ${eggs:eggs}
extra-paths = ${eggs:extra-paths}
entry-points =
348
  runUnitTest=runUnitTest:main
349 350
scripts = runUnitTest
initialization =
351
  import glob, os, sys
352
  import Products
353 354
  Products.__path__[:0] = filter(None,
    os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep))
355
  os.environ['ZOPE_SCRIPTS'] = ''
Vincent Pelletier's avatar
Vincent Pelletier committed
356
  parts_directory = '''${buildout:parts-directory}'''
357 358
  repository_id_list = \
    '''${erp5_repository_list:repository_id_list}'''.split()[::-1]
359 360
  os.environ['erp5_tests_bt5_path'] = ','.join(
    os.path.join(parts_directory, x, 'bt5') for x in repository_id_list)
361
  extra_path_list = '''${:extra-paths}'''.split()
362
  sys.path[:0] = sum((
363 364
    glob.glob(os.path.join(x, 'tests'))
    for x in extra_path_list), [])
365
  sys.path[:0] = sum((
366 367
    glob.glob(os.path.join(x, 'Products', '*', 'tests'))
    for x in extra_path_list), [])
368 369 370
  sys.path[:0] = sum((
    glob.glob(os.path.join(x, 'Products', '*', 'tests'))
    for x in os.getenv('INSERT_PRODUCTS_PATH', '').split(os.pathsep)), [])
371
  os.environ['PATH'] = '${jsl:location}/bin:%s' % os.environ['PATH']
372

373
[test-suite-runner]
374 375 376 377 378 379 380 381 382 383 384 385 386 387
# XXX: Workaround for fact ERP5Type is not an distribution and does not
#      expose entry point for test runner
recipe = zc.recipe.egg
eggs = ${eggs:eggs}
extra-paths = ${eggs:extra-paths}
entry-points =
  runTestSuite=Products.ERP5Type.tests.runTestSuite:main
scripts = runTestSuite
initialization =
  import os
  import sys
  import Products
  [Products.__path__.insert(0, p) for p in reversed(os.environ.get('INSERT_PRODUCTS_PATH', '').split(':')) if p]
  os.environ['ZOPE_SCRIPTS'] = ''
388
  repository_id_list = list(reversed('''${erp5_repository_list:repository_id_list}'''.split()))
389
  sys.path[0:0] = ['/'.join(['''${buildout:parts-directory}''', x]) for x in repository_id_list]
390

391 392 393 394 395 396 397
[erp5-python-interpreter]
<= python-interpreter
# a python interpreter with all eggs available, usable for the software release but also
# for external tools (such as python extension in theia).
eggs += ${eggs:eggs}
extra-paths += ${eggs:extra-paths}

398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417
[zope-product-with-eggtestinfo]
recipe = zc.recipe.egg:custom
setup-eggs =
  eggtestinfo
egg = ${:_buildout_section_name_}

[Products.CMFUid]
<= zope-product-with-eggtestinfo
[Products.CMFActionIcons]
<= zope-product-with-eggtestinfo
[Products.CMFCalendar]
<= zope-product-with-eggtestinfo
[Products.CMFCore]
<= zope-product-with-eggtestinfo
[Products.CMFDefault]
<= zope-product-with-eggtestinfo
[Products.CMFTopic]
<= zope-product-with-eggtestinfo
[Products.DCWorkflow]
<= zope-product-with-eggtestinfo
418
Products.DCWorkflow-patches = ${:_profile_base_location_}/../../component/egg-patch/Products.DCWorkflow/workflow_method-2.4.1.patch#ec7bb56a9f1d37fcbf960cd1e96e6e6d
419 420 421 422
Products.DCWorkflow-patch-options = -p1
[Products.GenericSetup]
<= zope-product-with-eggtestinfo

423 424 425 426 427 428 429 430 431
[egg-with-zope-proxy]
recipe = zc.recipe.egg:custom
setup-eggs =
  zope.proxy
egg = ${:_buildout_section_name_}
[zope.security]
<= egg-with-zope-proxy
[zope.container]
<= egg-with-zope-proxy
432
setup-eggs +=
433 434
  ${persistent:egg}

435
[eggs]
436
<= neoppod
437
eggs = ${neoppod:eggs}
438
  ${caucase-eggs:eggs}
439
  ${wendelin.core:egg}
440
  ${numpy:egg}
441
  ${matplotlib:egg}
442
  ${lxml-python:egg}
443
  ${ocropy:egg}
444
  ${pandas:egg}
445
  ${pillow-python:egg}
446 447
  ${python-ldap-python:egg}
  ${pysvn-python:egg}
448
  ${pycrypto-python:egg}
449
  ${scipy:egg}
450
  ${scikit-learn:egg}
451
  ${scikit-image:egg}
452
  sympy
453
  more-itertools
454 455 456
  ${h5py:egg}
  openpyxl
  ${statsmodels:egg}
Yusei Tahara's avatar
Yusei Tahara committed
457
  ${zbarlight:egg}
458
  lock_file
459
  astor
460
  APacheDEX
461
  PyStemmer
462
  PyXML
463
  Pympler
464 465
  SOAPpy
  chardet
466
  collective.recipe.template
Aurel's avatar
Aurel committed
467
  coverage
468
  erp5diff
469
  interval
470
  ipdb
471
  Jinja2
472
  jsonschema
473
  mechanize
Jérome Perrin's avatar
Jérome Perrin committed
474
  mock
475
  oauthlib
476
  objgraph
477 478
  paramiko
  ply
Jérome Perrin's avatar
Jérome Perrin committed
479
  pyflakes
Gabriel Monnerat's avatar
Gabriel Monnerat committed
480
  PyPDF2
481 482 483
  python-magic
  python-memcached
  pytz
484
  requests
Jérome Perrin's avatar
Jérome Perrin committed
485
  responses
486 487 488 489 490 491
  threadframe
  urlnorm
  uuid
  xml_marshaller
  xupdate_processor
  feedparser
492
  validictory
493
  erp5.util
494
  z3c.etestbrowser
495
  huBarcode
496
  qrcode
497
  spyne
498 499
  httplib2
  suds
500
  pprofile
501
  pycountry
Jérome Perrin's avatar
Jérome Perrin committed
502
  xfw
503
  jsonschema
Vincent Bechu's avatar
Vincent Bechu committed
504
  selenium
505 506 507
  pytesseract
  decorator
  networkx
508
# Needed for checking ZODB Components source code
509
  ${pylint:egg}
Jérome Perrin's avatar
Jérome Perrin committed
510
  jedi
Jérome Perrin's avatar
Jérome Perrin committed
511
  yapf
Jérome Perrin's avatar
Jérome Perrin committed
512
  typing
513
  pytracemalloc
514
  xlrd
515

Vincent Pelletier's avatar
Vincent Pelletier committed
516
# Zope
517 518
  ${zope.security:egg}
  ${zope.container:egg}
519
  Zope2
520
  ${tempstorage:egg}
Vincent Pelletier's avatar
Vincent Pelletier committed
521
# Zope acquisition patch
522
  Acquisition
523
# for runzeo
524
  ${ZEO:egg}
525 526 527 528 529

# Other Zope 2 packages
  Products.PluggableAuthService
  Products.PluginRegistry

530
# CMF 2.3
531 532 533
  ${Products.CMFCore:egg}
  ${Products.DCWorkflow:egg}
  ${Products.GenericSetup:egg}
534 535 536 537 538 539 540
  five.localsitemanager

# Other products
  Products.DCWorkflowGraph
  Products.MimetypesRegistry
  Products.ExternalEditor
  Products.TIDStorage
541
  Products.LongRequestLogger
542

543 544 545 546
# BBB: Temporarily keep zope.app.testing awaiting we use newer version of CMF
#      (for tests like testCookieCrumbler).
  zope.app.testing

547 548 549 550 551
# Currently forked in our repository
#    Products.PortalTransforms
# Dependency for our fork of PortalTransforms
  StructuredText

552 553
# Needed for parsing .po files from our Localizer subset
  polib
Rafael Monnerat's avatar
Rafael Monnerat committed
554

555 556
# Needed for Google OAuth
  google-api-python-client
557

Rafael Monnerat's avatar
Rafael Monnerat committed
558 559 560
# Need for Facebook OAuth
  facebook-sdk

561 562 563
# Used by ERP5 Jupyter backend
  ipykernel

564 565 566 567 568 569
# Used by DiffTool
  xmltodict
  deepdiff
  unidiff
  jsonpickle

570 571 572 573
# WSGI server
  zope.globalrequest
  waitress

574 575 576
# OpenId Connect
  oic

577 578 579 580
# json schema validation
  strict-rfc3339
  jsonschema[format]

581 582 583 584 585 586 587 588 589 590 591 592 593
# Used by zope4
  docutils
  zLOG
  Products.ZSQLMethods
  ZServer
  Products.ExternalMethod
  Products.SiteErrorLog
  tempstorage
  Products.DCWorkflow
  Products.Sessions
  Record
# StructuredText
  Zope
Arnaud Fontaine's avatar
Arnaud Fontaine committed
594 595
# Python3
  ${my2to3-dev:egg}
596

597 598
entry-points =
  runwsgi=Products.ERP5.bin.zopewsgi:runwsgi
599
scripts =
600
  apachedex
601
  performance_tester_erp5
602
  runwsgi
603 604 605 606
  runzope
  runzeo
  tidstoraged
  tidstorage_repozo
607
  wcfs
608
  web_checker_utility
609 610

extra-paths =
611
  ${erp5:location}
612

613 614
# patches for eggs
patch-binary = ${patch:location}/bin/patch
Gabriel Monnerat's avatar
Gabriel Monnerat committed
615 616
PyPDF2-patches = ${:_profile_base_location_}/../../component/egg-patch/PyPDF2/0001-Custom-implementation-of-warnings.formatwarning-remo.patch#d25bb0f5dde7f3337a0a50c2f986f5c8
PyPDF2-patch-options = -p1
617
Acquisition-patches =  ${:_profile_base_location_}/../../component/egg-patch/Acquisition/aq_dynamic-4.7.patch#85b0090e216cead0fc86c5c274450d96
618
Acquisition-patch-options = -p1
619
python-magic-patches = ${:_profile_base_location_}/../../component/egg-patch/python_magic/magic.patch#de0839bffac17801e39b60873a6c2068
620
python-magic-patch-options = -p1
621
# Zope 4 patches
622 623
Zope-patches =
  ${:_profile_base_location_}/../../component/egg-patch/Zope/0001-OFS-XMLExportImport.patch#12a9b9db76b3cd9035b6032d516143e0
624
  ${:_profile_base_location_}/../../component/egg-patch/Zope/0001-fix-OFS.Image.File.PUT-Issue-1015.patch#c706e2f572ad8cd37ed033fb5f873cbe
625 626
Zope-patch-options = -p1

627 628 629 630 631 632
[eggs-all-scripts]
recipe = zc.recipe.egg
eggs =
  munnel
patch-binary = ${eggs:patch-binary}

633 634
[zodbanalyze]
recipe = zc.recipe.egg
635
eggs = erp5.util
636 637 638 639
entry-points =
  zodbanalyze=erp5.util.zodbanalyze:main
scripts = zodbanalyze

640 641 642 643 644
# develop erp5.util from parts/erp5/
[erp5-util-develop]
recipe = zc.recipe.egg:develop
setup = ${erp5:location}

645
[zodbpack]
646
recipe = zc.recipe.egg
647
eggs =
Łukasz Nowak's avatar
Łukasz Nowak committed
648
  slapos.toolbox[zodbpack]
649
scripts =
Łukasz Nowak's avatar
Łukasz Nowak committed
650
  zodbpack
651 652
depends =
  ${slapos-toolbox-dependencies:eggs}
653

Arnaud Fontaine's avatar
Arnaud Fontaine committed
654 655
[my2to3-repository]
recipe = slapos.recipe.build:gitclone
Jérome Perrin's avatar
Jérome Perrin committed
656
repository = https://lab.nexedi.com/nexedi/my2to3.git
Arnaud Fontaine's avatar
Arnaud Fontaine committed
657 658 659 660 661 662 663 664 665
branch = master
git-executable = ${git:location}/bin/git
develop = true

[my2to3-dev]
recipe = zc.recipe.egg:develop
egg = my2to3
setup = ${my2to3-repository:location}

666
[versions]
667
# See ../../software/neoppod/software-common.cfg for versions common with NEO:
668
#  neoppod, mysqlclient, slapos.recipe.template
669

670
# patched eggs
671 672
Acquisition = 4.7+SlapOSPatched001
Products.DCWorkflow = 2.4.1+SlapOSPatched001
673
ocropy = 1.0+SlapOSPatched001
674
pysvn = 1.9.15+SlapOSPatched001
675
python-ldap = 2.4.32+SlapOSPatched001
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
676
python-magic = 0.4.12+SlapOSPatched001
Gabriel Monnerat's avatar
Gabriel Monnerat committed
677
PyPDF2 = 1.26.0+SlapOSPatched001
678
Zope = 4.5.3+SlapOSPatched002
679 680
## https://lab.nexedi.com/nexedi/slapos/merge_requests/648
pylint = 1.4.4
681

682
# use newer version than specified in ZTK
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
683
PasteDeploy = 1.5.2
684
argparse = 1.4.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
685
zope.dottedname = 4.1.0
686 687 688

# modified version that works fine for buildout installation
SOAPpy = 0.12.0nxd001
689

Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
690
# CMF 2.3 is not yet supported.
691
#Products.CMFCore = 2.2.10
692

693 694 695 696 697 698
# newer version requires zope.traversing>=4.0.0a2.
zope.app.appsetup = 3.16.0

# newer version requires zope.i18n>=4.0.0a3
zope.app.publication = 3.14.0

Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
699
# newer version requires zope.testbrowser>=4
700 701
zope.app.testing = 3.8.1

702
# Pinned versions
703
APacheDEX = 1.8
704
Pillow = 6.2.2
705 706
Products.CMFActionIcons = 2.1.3
Products.DCWorkflowGraph = 0.4.1
707
# Products.ExternalEditor 2.0.0's dtml is not based on Zope2 OFS's one.
708 709
Products.ExternalEditor = 3.0.1
#Products.GenericSetup = 1.8.6
710
Products.LongRequestLogger = 2.1.0
711 712 713
Products.MimetypesRegistry = 2.1.8
Products.PluggableAuthService = 2.3
Products.PluginRegistry = 1.6
714
Products.TIDStorage = 5.5.0
715
pyPdf = 1.13
716
PyStemmer = 1.3.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
717
PyXML = 0.8.5
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
718
Pympler = 0.4.3
719 720
StructuredText = 2.11.1
WSGIUtils = 0.7
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
721
# astroid 1.4.1 breaks testDynamicClassGeneration
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
722
astroid = 1.3.8
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
723
erp5diff = 0.8.1.7
724
five.formlib = 1.0.4
725
five.localsitemanager = 2.0.5
726
google-api-python-client = 1.6.1
727
httplib2 = 0.10.3
728
huBarcode = 1.0.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
729
interval = 1.0.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
730
ipdb = 0.10.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
731
logilab-common = 1.3.0
732
munnel = 0.3
733
nt-svcutils = 2.13.0
734
oauth2client = 4.0.0
735
oauthlib = 3.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
736
objgraph = 3.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
737
ply = 3.10
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
738
polib = 1.0.8
739
pprofile = 2.0.4
740
pyasn1-modules = 0.0.8
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
741
pycountry = 17.1.8
742
pycrypto = 2.6.1
743
pycurl = 7.43.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
744
pyflakes = 1.5.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
745
python-memcached = 1.58
746
pytracemalloc = 1.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
747
qrcode = 5.3
748
rsa = 3.4.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
749
spyne = 2.12.14
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
750
suds = 0.4
Rafael Monnerat's avatar
Rafael Monnerat committed
751
facebook-sdk = 2.0.0
752
threadframe = 0.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
753
urlnorm = 1.1.4
754
uuid = 1.30
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
755
validictory = 1.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
756
xfw = 0.10
757
xupdate-processor = 0.4
758
selenium = 3.14.1
759 760 761
scikit-image = 0.14.0
PyWavelets = 0.5.2
networkx = 2.1
762
pytesseract = 0.2.2
763
zbarlight = 2.3
764 765 766
cloudpickle = 0.5.3
dask = 0.18.1
toolz = 0.9.0
767
zope.globalrequest = 1.5
768
waitress = 1.4.4
769
xlrd = 1.1.0
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
770

771 772
# Re-add for as it is required to be there for uninstallation
erp5.recipe.w3validator = 1.0.2
773

Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
774
fpconst = 0.7.2
Kazuhiko Shiozaki's avatar
Kazuhiko Shiozaki committed
775 776
graphviz = 0.5.2
olefile = 0.44
777
python-libmilter = 1.0.3
778 779 780
zope.app.debug = 3.4.1
zope.app.dependable = 3.5.1
zope.app.form = 4.0.2
781 782 783 784 785 786
et-xmlfile = 1.0.1
h5py = 2.7.1
mpmath = 0.19
openpyxl = 2.4.8
sympy = 1.1.1
jdcal = 1.3
787 788 789 790
xmltodict = 0.11.0
deepdiff = 3.3.0
unidiff = 0.5.5
jsonpickle = 0.9.6
Jérome Perrin's avatar
Jérome Perrin committed
791 792
responses = 0.10.6
cookies = 2.2.1
Jérome Perrin's avatar
Jérome Perrin committed
793 794
jedi = 0.15.1
parso = 0.5.1
Jérome Perrin's avatar
Jérome Perrin committed
795
yapf = 0.28.0
796 797 798 799 800 801 802
z3c.etestbrowser = 3.0.1
zope.testbrowser = 5.5.1
WSGIProxy2 = 0.4.6
WebTest = 2.0.33
beautifulsoup4 = 4.8.2
WebOb = 1.8.5
soupsieve = 1.9.5
803
eggtestinfo = 0.3
804 805 806 807 808 809 810 811

oic = 0.15.1
Beaker = 1.11.0
Mako = 1.1.4
pyjwkest = 1.4.2
alabaster = 0.7.12
future = 0.18.2
pycryptodomex = 3.10.1
812 813 814 815 816

strict-rfc3339 = 0.7
webcolors = 1.10
rfc3987 = 1.3.8
jsonpointer = 2.2
817 818 819


# WIP Zope 4 ⚠
820
zope.interface = 5.2.0
821
ZConfig = 3.5.0
822
Products.CMFCore = 2.5.4
823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839
Products.StandardCacheManagers = 4.1.0
Products.ZSQLMethods = 3.14
Products.ExternalMethod = 4.5
Products.GenericSetup = 2.1.5
Products.PythonScripts = 4.13
Products.MailHost = 4.11
Products.Sessions = 4.12
Products.SiteErrorLog = 5.5
Products.ZSQLMethods = 3.14
html5lib = 1.1
mechanize = 0.4.7
zLOG = 3.1
zope.password = 4.3.1
zope.error = 4.5.0
zope.authentication = 4.5.0
zope.session = 4.4.0
zope.minmax = 2.2.0