Files
ansible_role_package/tasks/src/xdg_desktop_portal_hyprland.yml
2025-03-16 20:17:28 -06:00

64 lines
1.9 KiB
YAML

- name: Remove existing install {{ pkg }}
when:
- hyprland_clean
become: "{{ ext_become }}"
loop: "{{ xdg_desktop_portal_hyprland.installed_files }}"
loop_control:
loop_var: file
ansible.builtin.file:
state: absent
path: "{{ hyprland.prefix }}/{{ file }}"
- name: Check for installed {{ pkg }}
register: stat_xdg_desktop_portal_hyprland_bin
ansible.builtin.stat:
path: "{{ hyprland.prefix }}/bin/hyprland-share-picker"
- name: Build and install {{ pkg }}
when:
- not stat_xdg_desktop_portal_hyprland_bin.stat.exists
block:
- name: Clone git repository {{ pkg }}
ansible.builtin.git:
depth: 1
dest: "{{ xdg_desktop_portal_hyprland.git_path }}"
recursive: true
repo: "{{ xdg_desktop_portal_hyprland.repo }}"
version: "{{ xdg_desktop_portal_hyprland.vers }}"
- name: Configure {{ pkg }}
ansible.builtin.command:
creates: "{{ xdg_desktop_portal_hyprland.git_path }}/build"
chdir: "{{ xdg_desktop_portal_hyprland.git_path }}"
argv:
- cmake
- -DCMAKE_INSTALL_LIBEXECDIR={{ hyprland.prefix }}/lib
- -DCMAKE_INSTALL_PREFIX={{ hyprland.prefix }}
- -B
- ./build
- name: Build {{ pkg }}
ansible.builtin.command:
creates: "{{ xdg_desktop_portal_hyprland.git_path }}/build/xdg-desktop-portal-hyprland"
chdir: "{{ xdg_desktop_portal_hyprland.git_path }}"
argv:
- cmake
- --build
- ./build
- --config
- Release
- --target
- all
- -j
- "{{ ansible_processor_nproc|int }}"
- name: Install {{ pkg }}
become: true
ansible.builtin.command:
creates: "{{ path.bin }}/hyprland-share-picker"
chdir: "{{ xdg_desktop_portal_hyprland.git_path }}"
argv:
- cmake
- --install
- ./build