software.cfg 4.02 KB
Newer Older
1 2
[buildout]
extends =
3 4 5 6 7 8 9 10 11 12 13 14
  ../../component/caddy/buildout.cfg
  ../../component/git/buildout.cfg
  ../../component/bash/buildout.cfg
  ../../component/bash-completion/buildout.cfg
  ../../component/fish-shell/buildout.cfg
  ../../component/tmux/buildout.cfg
  ../../component/tig/buildout.cfg
  ../../component/vim/buildout.cfg
  ../../component/curl/buildout.cfg
  ../../component/coreutils/buildout.cfg
  ../../component/fonts/buildout.cfg
  ../../component/theia/buildout.cfg
15
  ../../component/pygolang/buildout.cfg
16 17 18 19 20
  ../../stack/slapos.cfg
  ../../stack/monitor/buildout.cfg
  ../../stack/resilient/buildout.cfg
  ../../component/defaults.cfg
  ./buildout.hash.cfg
21 22 23 24

parts =
  slapos-cookbook
  instance
25

26

27 28 29
# default for slapos-standalone
shared-part-list =

30 31 32

# Versions
# --------
33 34
[python]
part = python3
35 36

[gcc]
37 38 39 40
# We keep the gcc part in sync with the one from erp5 software, so that when we install
# erp5 inside theia's slapos parts can be shared.
max_version = 0

41
[nodejs]
42
<= nodejs-16.13.2
43

44 45 46
[gowork]
install +=
  golang.org/x/tools/gopls@v0.6.6
47

48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
[versions]
aiohttp = 3.8.1:whl
aiosignal = 1.2.0
async-timeout = 4.0.2
cachetools = 5.2.0
frozenlist = 1.3.0
idna = 3.3
multidict = 6.0.2
packaging = 21.3
pydantic = 1.9.1
pygls = 0.12:whl
typeguard = 2.13.3:whl
typing-extensions = 4.3.0:whl
yarl = 1.7.2
zc.buildout.languageserver = 0.8.1

64

65 66
# Downloads and templates
# -----------------------
67

68 69
[template-base]
recipe = slapos.recipe.template
70
url = ${:_profile_base_location_}/${:_update_hash_filename_}
71 72
output = ${buildout:parts-directory}/${:_buildout_section_name_}

73 74 75 76 77 78
[download-base]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/${:_update_hash_filename_}
destination = ${buildout:directory}/${:_buildout_section_name_}
output = ${:destination}

79
[slapos.css.in]
80
<= download-base
81

82
[logo.png]
83
<= download-base
84

85 86 87 88
[instance-theia]
<= template-base
output = ${buildout:directory}/instance-theia.cfg.jinja

89
[instance]
90
<= template-base
91
output = ${buildout:directory}/instance.cfg
92 93 94 95 96 97 98 99 100 101 102

[instance-import]
<= template-base
output = ${buildout:directory}/instance-import.cfg.jinja

[instance-export]
<= template-base
output = ${buildout:directory}/instance-export.cfg.jinja

[instance-resilient]
<= download-base
103

104 105 106 107
[slapos-standalone-script]
<= download-base
destination = ${buildout:directory}/slapos_standalone_script.py.jinja

108 109 110 111 112 113 114
[theia-common]
<= download-base
destination = ${buildout:directory}/theia_common.py

[theia-export]
<= download-base
destination = ${buildout:directory}/theia_export.py
115
depends = ${theia-common:recipe}
116

117 118 119
[theia-import]
<= download-base
destination = ${buildout:directory}/theia_import.py
120
depends = ${theia-common:recipe}
121

122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158

# Utilities
# ---------

[supervisor]
recipe = zc.recipe.egg
eggs =
  supervisor
  setuptools


[cli-utilities]
PATH = ${nodejs:location}/bin:${bash:location}/bin:${fish-shell:location}/bin:${tig:location}/bin:${vim:location}/bin:${tmux:location}/bin:${git:location}/bin:${curl:location}/bin:${python:location}/bin:${buildout:bin-directory}

[python-with-eggs]
recipe = zc.recipe.egg
interpreter = ${:_buildout_section_name_}
# Only generate the interpreter script to avoid conflicts with scripts
# for eggs that are also generated by another section, like slapos.toolbox
scripts = ${:interpreter}
executable = ${buildout:bin-directory}/${:interpreter}

[python-for-resiliency]
<= python-with-eggs
eggs =
  ${slapos-toolbox:eggs}
  six
  zc.buildout

[python-for-standalone]
<= python-with-eggs
eggs =
  slapos.core
needs-these-eggs-scripts-in-path =
  ${supervisor:recipe}
  ${slapos-command:recipe}

159 160 161 162 163
[python-for-buildout-languageserver]
<= python-interpreter
executable = ${buildout:bin-directory}/${:interpreter}
eggs +=
  zc.buildout.languageserver
164

165
[software-info]
166
slapos = ${buildout:bin-directory}/slapos
167
python-for-resiliency = ${python-for-resiliency:executable}
168 169 170 171
python = ${python:location}/bin/python
rsync = ${rsync:location}/bin/rsync
sqlite3 = ${sqlite3:location}/bin/sqlite3
bash = ${bash:location}/bin/bash
172
supervisorctl = ${buildout:bin-directory}/supervisorctl
173
theia-export = ${theia-export:output}
174
theia-import = ${theia-import:output}