Files
ansible_role_package/tasks/pkgs/zig.yml
2026-04-13 14:50:45 -06:00

56 lines
1.7 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:
methods:
- archive
- system
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[os_family]] }}"
- 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 } ) }}"