Files
ansible_role_package/tasks/pkgs/zig.yml

66 lines
2.1 KiB
YAML

# vim: set filetype=yaml.ansible :
#
## Package: zig
## Description: zig programming language tool chain
## Version: 0.15.2
## Methods: [system, archive]
## Helpers: archive
---
- name: Set zig default facts
ansible.builtin.set_fact:
zig:
methods:
default: [archive]
Archlinux: [system, archive]
pkgname:
default: zig
- name: Finalise zig default facts
ansible.builtin.set_fact:
zig:
methods: "{{ zig.methods[os_family] | default(zig.methods.default) }}"
pkgname: "{{ zig.pkgname[os_family] | default(zig.pkgname.default) }}"
version: "{{ zig_version | default('0.15.2') }}"
archive:
url: https://ziglang.org/download
- name: Configure zig
when:
- "'zig' not in __configured"
block:
- name: Set zig install method
when:
- zig_imethod is undefined
ansible.builtin.set_fact:
zig_imethod: "{{ imethod if imethod in zig.methods else zig.methods[0] }}"
- name: Configure zig system install
when:
- zig_imethod == 'system'
ansible.builtin.set_fact:
pkg_sys: "{{ pkg_sys + [zig.pkgname] }}"
zig_install: "{{ zig_imethod }}={{ zig.pkgname }}"
- name: Configure zig archive install
when:
- zig_imethod == 'archive'
block:
- name: Configure zig archive install
ansible.builtin.set_fact:
zig_archive_install:
url: "{{ zig.archive.url }}/{{ zig.version }}/zig-{{ architecture }}-{{ system | lower }}-{{ zig.version }}.tar.xz"
extract_to: "{{ path_zig }}"
name: "zig-{{ zig.version }}.tar.xz"
links:
- from: "{{ path_archive }}/zig-{{ architecture }}-{{ system | lower }}-{{ zig.version }}/zig"
to: "{{ path_bin }}/zig"
force: true
- name: Finalise zig archive install
ansible.builtin.set_fact:
zig_install: "{{ zig_archive_install }}"
- name: Finalise zig configuration
ansible.builtin.set_fact:
__configured: "{{ __configured | combine( { 'zig': zig_install } ) }}"