94 lines
2.0 KiB
YAML
94 lines
2.0 KiB
YAML
---
|
|
- name: Install Pyenv build dependencies for Debian based systems
|
|
become: true
|
|
ansible.builtin.apt:
|
|
name:
|
|
- make
|
|
- build-essential
|
|
- libssl-dev
|
|
- zlib1g-dev
|
|
- libbz2-dev
|
|
- libreadline-dev
|
|
- libsqlite3-dev
|
|
- wget
|
|
- curl
|
|
- llvm
|
|
- libncursesw5-dev
|
|
- xz-utils
|
|
- tk-dev
|
|
- libxml2-dev
|
|
- libxmlsec1-dev
|
|
- libffi-dev
|
|
- liblzma-dev
|
|
state: present
|
|
when: ansible_facts.os_family == 'Debian'
|
|
|
|
- name: Install Pyenv build dependencies for Arch systems
|
|
community.general.pacman:
|
|
update_cache: true
|
|
name:
|
|
- base-devel
|
|
- openssl
|
|
- zlib
|
|
- xz
|
|
- tk
|
|
state: present
|
|
when: ansible_facts.distribution == 'Archlinux'
|
|
|
|
- name: Install Pyenv build depdencies for CentOS
|
|
become: true
|
|
ansible.builtin.dnf:
|
|
update_cache: true
|
|
name:
|
|
- gcc
|
|
- zlib-devel
|
|
- bzip2
|
|
- bzip2-devel
|
|
- readline-devel
|
|
- sqlite
|
|
- sqlite-devel
|
|
- openssl-devel
|
|
- tk-devel
|
|
- libffi-devel
|
|
- xz-devel
|
|
state: present
|
|
when: ansible_facts.distribution == 'CentOS'
|
|
|
|
- name: Install Pyenv build depdencies for MacOS
|
|
community.general.homebrew:
|
|
name:
|
|
- openssl
|
|
- readline
|
|
- sqlite3
|
|
- xz
|
|
- zlib
|
|
- tcl-tk
|
|
state: present
|
|
when: ansible_facts.distribution == 'MacOSX'
|
|
|
|
- name: Set Pyenv install path if not set
|
|
ansible.builtin.set_fact:
|
|
pyenv_install_path: "{{ xdg_data_home + '/pyenv' }}"
|
|
when: pyenv_install_path is not defined
|
|
|
|
- name: Check if Pyenv installed
|
|
ansible.builtin.stat:
|
|
path: "{{ pyenv_install_path }}"
|
|
register: pyenv_installed
|
|
changed_when: false
|
|
|
|
- name: Get Pyenv from git
|
|
when: not pyenv_installed.stat.exists
|
|
ansible.builtin.git:
|
|
repo: https://github.com/pyenv/pyenv.git
|
|
dest: "{{ pyenv_install_path }}"
|
|
version: master
|
|
|
|
- name: Install Pyenv
|
|
when: not pyenv_installed.stat.exists
|
|
ansible.builtin.shell: >
|
|
cd "{{ pyenv_install_path }}" &&
|
|
src/configure &&
|
|
make -C src
|
|
changed_when: true
|