add zig installation via tarball

This commit is contained in:
Matthew Stobbs
2025-01-25 21:16:59 -07:00
parent 66eaed6e4b
commit 343765c8a6
16 changed files with 136 additions and 86 deletions

View File

@@ -1,6 +1,5 @@
---
- name: build and install alacritty
become: true
ansible.builtin.command:
cmd:
- cargo
@@ -11,3 +10,4 @@
- "{{ pkgconfig_alacritty.git_repo }}"
- --tag
- "v{{ pkgconfig_alacritty.version }}"
become: true

View File

@@ -1,2 +1,32 @@
---
- name: build ghostty from source
block:
- name: create temp path
ansible.builtin.tempfile:
state: directory
prefix: ghostty.
register: d_ghostty_tmp
- name: clone ghostty git repository
ansible.builtin.git:
depth: 1
dest: "{{ d_ghostty_tmp.path }}/ghostty"
repo: "{{ pkgconfig_ghostty.git_repo }}"
version: "{{ pkgconfig_ghostty.version }}"
- name: build ghostty
ansible.builtin.command:
chdir: "{{ d_ghostty_tmp.path }}/ghostty"
cmd: "zig build -D{{ pkgconfig_ghostty.optimize }}"
register: c_ghostty_build
- name: install ghostty
ansible.file.copy:
src: "{{ d_ghostty_tmp.path }}/ghostty/zig-out/bin/ghostty"
dest: "{{ pkgconfig_ghostty.install_prefix }}/bin/ghostty"
owner: "{{ pkgconfig_ghostty.owner }}"
group: "{{ pkgconfig_ghostty.group }}"
mode: "0755"
remote_src: true
become: "{{ pkgconfig_ghostty.become }}"
become_user: "{% if pkgconfig_ghostty.become %}{{ pkgconfig_ghostty.owner }}{% else %}~{% endif %}"

View File

@@ -6,50 +6,49 @@
state: directory
prefix: nvim.
register: d_nvim_tmp
- name: clone neovim git repository
ansible.builtin.git:
depth: 1
dest: "{{ d_nvim_tmp.path }}/neovim"
repo: "{{ pkgconfig.neovim.git_repo }}"
version: "{{ pkgconfig.neovim.version }}"
repo: "{{ pkgconfig_neovim.git_repo }}"
version: "{{ pkgconfig_neovim.version }}"
- name: build and install neovim
ansible.builtin.make:
chdir: "{{ d_nvim_tmp.path }}/neovim"
params:
CMAKE_BUILD_TYPE: "{{ pkgconfig.neovim.build_type }}"
CMAKE_INSTALL_PREFIX: "{{ pkgconfig.neovim.install_prefix }}"
CMAKE_BUILD_TYPE: "{{ pkgconfig_neovim.build_type }}"
CMAKE_INSTALL_PREFIX: "{{ pkgconfig_neovim.install_prefix }}"
target: install
become: "{{ pkgconfig.neovim.become }}"
become_user: "{% if pkgconfig.neovim.become %}{{ pkgconfig.neovim.owner }}{% else %}~{% endif %}"
when: not pkgconfig.neovim.use_appimage
become: "{{ pkgconfig_neovim.become }}"
become_user: "{% if pkgconfig_neovim.become %}{{ pkgconfig_neovim.owner }}{% else %}~{% endif %}"
when: not pkgconfig_neovim.use_appimage
- name: install neovim appimage
block:
- ansible.builin.file:
state: directory
mode: "0755"
path: "{{ pkgconfig.neovim.install_dir }}"
owner: "{{ pkgconfig.neovim.owner }}"
group: "{{ pkgconfig.neovim.group }}"
path: "{{ pkgconfig_neovim.install_dir }}"
owner: "{{ pkgconfig_neovim.owner }}"
group: "{{ pkgconfig_neovim.group }}"
- ansible.builtin.get_url:
mode: "0755"
decompress: false
backup: true
url: "{{ pkgconfig.neovim.appimage_url_pfx }}/{{ pkgconfig.neovim.version }}/nvim.appimage"
checksum: "sha256:{{ pkgconfig.neovim.appimage_url_pfx }}/{{ pkgconfig.neovim.version }}/nvim.appimage.sha256sum"
dest: "{{ pkgconfig.neovim.install_dir }}/nvim.appimage.{{ pkgconfig.neovim.version }}"
owner: "{{ pkgconfig.neovim.owner }}"
group: "{{ pkgconfig.neovim.group }}"
url: "{{ pkgconfig_neovim.appimage_url_pfx }}/{{ pkgconfig_neovim.version }}/nvim.appimage"
checksum: "sha256:{{ pkgconfig_neovim.appimage_url_pfx }}/{{ pkgconfig_neovim.version }}/nvim.appimage.sha256sum"
dest: "{{ pkgconfig_neovim.install_dir }}/nvim.appimage.{{ pkgconfig_neovim.version }}"
owner: "{{ pkgconfig_neovim.owner }}"
group: "{{ pkgconfig_neovim.group }}"
- ansible.builtin.file:
state: link
src: "{{ pkgconfig.neovim.install_dir }}/nvim.appimage.{{ pkgconfig.neovim.version }}"
path: "{{ pkgconfig.neovim.install_prefix }}/bin/nvim"
src: "{{ pkgconfig_neovim.install_dir }}/nvim.appimage.{{ pkgconfig_neovim.version }}"
path: "{{ pkgconfig_neovim.install_prefix }}/bin/nvim"
when:
- pkgconfig.neovim.use_appimage
become: "{{ pkgconfig.neovim.become }}"
become_user: "{% if pkgconfig.neovim.become %}{{ pkgconfig.neovim.owner }}{% else %}~{% endif %}"
- pkgconfig_neovim.use_appimage
become: "{{ pkgconfig_neovim.become }}"
become_user: "{% if pkgconfig_neovim.become %}{{ pkgconfig_neovim.owner }}{% else %}~{% endif %}"

View File

@@ -1,7 +1,8 @@
---
- name: download zig archive
ansible.builtin.set_fact:
zig_pkg: "zig-{{ pkgconfig.zig.sysmap[ansible_system] }}-{{ pkgconfig.zig.archmap[ansible_archtecture] }}-{{ pkgconfig.zig.version }}.tar.xz"
zig_path: "zig-{{ pkgconfig_zig.sysmap[ansible_system] }}-{{ pkgconfig_zig.archmap[ansible_archtecture] }}-{{ pkgconfig_zig.version }}"
zig_pkg: "zig-{{ pkgconfig_zig.sysmap[ansible_system] }}-{{ pkgconfig_zig.archmap[ansible_archtecture] }}-{{ pkgconfig_zig.version }}.tar.xz"
- name: create temp path
ansible.builtin.tempfile:
@@ -12,12 +13,25 @@
- name: download zig archive
ansible.builtin.get_url:
dest: "{{ d_zig_dl_tmp.path }}/{{ zig_pkg }}"
url: "{{ pkgconfig.zig.base_url }}/{{ zig_pkg }}"
url: "{{ pkgconfig_zig.base_url }}/{{ zig_pkg }}"
decompress: false
- name: extract zig package
- name: create install_path
ansible.builtin.file:
state: directory
path: "{{ pkgconfig_zig.install_path }}"
become: true
- name: extract zig package
ansible.builtin.unarchive:
dest: "{{ pkgconfig.zig.install_path }}"
dest: "{{ pkgconfig_zig.install_path }}"
src: "{{ d_zig_dl_tmp.path }}/{{ zig_pkg }}"
remote_src: true
become: true
- name: link zig binary
ansible.builtin.file:
state: link
src: "{{ pkgconfig_zig.install_path }}/{{ zig_path }}/zig"
path: "{{ pkgconfig_zig.install_prefix }}/bin/zig"
become: true