add bundle:pyenv
This commit is contained in:
parent
6b387c9d11
commit
ac10630fb9
2 changed files with 48 additions and 0 deletions
28
bundles/pyenv/items.py
Normal file
28
bundles/pyenv/items.py
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
from shlex import quote
|
||||||
|
|
||||||
|
directories = {
|
||||||
|
'/opt/pyenv': {},
|
||||||
|
'/opt/pyenv/install': {},
|
||||||
|
}
|
||||||
|
|
||||||
|
git_deploy = {
|
||||||
|
'/opt/pyenv/install': {
|
||||||
|
'repo': 'https://github.com/pyenv/pyenv.git',
|
||||||
|
'rev': node.metadata.get('pyenv/version'),
|
||||||
|
'needs': {
|
||||||
|
'directory:/opt/pyenv/install',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for version in node.metadata.get('pyenv/python_versions', set()):
|
||||||
|
actions[f'pyenv_install_{version}'] = {
|
||||||
|
'command': f'PYENV_ROOT=/opt/pyenv /opt/pyenv/install/bin/pyenv install {quote(version)}',
|
||||||
|
'unless': f'PYENV_ROOT=/opt/pyenv /opt/pyenv/install/bin/pyenv versions --bare | grep -E "^{quote(version)}$"',
|
||||||
|
'needs': {
|
||||||
|
'git_deploy:/opt/pyenv/install',
|
||||||
|
},
|
||||||
|
'after': {
|
||||||
|
'pkg_apt:',
|
||||||
|
},
|
||||||
|
}
|
20
bundles/pyenv/metadata.py
Normal file
20
bundles/pyenv/metadata.py
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
defaults = {
|
||||||
|
'apt': {
|
||||||
|
'packages': {
|
||||||
|
'build-essential': {},
|
||||||
|
'curl': {},
|
||||||
|
'libbz2-dev': {},
|
||||||
|
'libffi-dev': {},
|
||||||
|
'liblzma-dev': {},
|
||||||
|
'libncurses-dev': {},
|
||||||
|
'libreadline-dev': {},
|
||||||
|
'libsqlite3-dev': {},
|
||||||
|
'libssl-dev': {},
|
||||||
|
'libxml2-dev': {},
|
||||||
|
'libxmlsec1-dev': {},
|
||||||
|
'tk-dev': {},
|
||||||
|
'xz-utils': {},
|
||||||
|
'zlib1g-dev': {},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
Loading…
Reference in a new issue