From 198c1f80fe712825b31c2ddb1683a0317750ea4c Mon Sep 17 00:00:00 2001 From: Matthew Stobbs Date: Mon, 3 Mar 2025 16:15:11 -0700 Subject: [PATCH] add hyprpolkit --- tasks/config/hyprpolkitagent.yml | 8 ++++ tasks/pkgs/hyprpolkitagent.yml | 20 ++++++++++ tasks/src/hyprpolkitagent.yml | 66 ++++++++++++++++++++++++++++++++ vars/pkgs/hyprland.yml | 1 + vars/pkgs/hyprpolkitagent.yml | 11 ++++++ 5 files changed, 106 insertions(+) create mode 100644 tasks/config/hyprpolkitagent.yml create mode 100644 tasks/pkgs/hyprpolkitagent.yml create mode 100644 tasks/src/hyprpolkitagent.yml create mode 100644 vars/pkgs/hyprpolkitagent.yml diff --git a/tasks/config/hyprpolkitagent.yml b/tasks/config/hyprpolkitagent.yml new file mode 100644 index 0000000..9737658 --- /dev/null +++ b/tasks/config/hyprpolkitagent.yml @@ -0,0 +1,8 @@ +- name: Set hyprpolkitagent config + ansible.builtin.set_fact: + hyprpolkitagent: + vers: "{{ pkgconfig.hyprpolkitagent.version }}" + repo: "{{ pkgconfig.hyprpolkitagent.repo }}" + build_deps: "{{ pkgconfig.hyprpolkitagent.build_deps }}" + installed_files: "{{ pkgconfig.hyprpolkitagent.build_installed_files }}" + git_path: "{{ d_tempdir.path }}/hyprpolkitagent" diff --git a/tasks/pkgs/hyprpolkitagent.yml b/tasks/pkgs/hyprpolkitagent.yml new file mode 100644 index 0000000..5f56473 --- /dev/null +++ b/tasks/pkgs/hyprpolkitagent.yml @@ -0,0 +1,20 @@ +# vim: set filetype=yaml.ansible : +--- +- name: Add hyprpolkitagent + when: + - hyprpolkitagent_configured is undefined + block: + - name: Set hyprpolkitagent_configured + ansible.builtin.set_fact: + hyprpolkitagent_configured: true + + - name: Load hyprpolkitagent config + when: + - hyprpolkitagent is undefined + ansible.builtin.include_tasks: + file: config/hyprpolkitagent.yml + + - name: Append to pkg_src + ansible.builtin.set_fact: + pkg_sys: "{{ pkg_sys + hyprpolkitagent.build_deps }}" + pkg_src: "{{ pkg_src + ['hyprpolkitagent'] }}" diff --git a/tasks/src/hyprpolkitagent.yml b/tasks/src/hyprpolkitagent.yml new file mode 100644 index 0000000..52038b2 --- /dev/null +++ b/tasks/src/hyprpolkitagent.yml @@ -0,0 +1,66 @@ +- name: Remove existing install + when: + - hyprpolkitagent_clean + become: "{{ ext_become }}" + loop: "{{ hyprpolkitagent.installed_files }}" + loop_control: + loop_var: file + ansible.builtin.file: + state: absent + path: "{{ hyprland.prefix }}/{{ file }}" + +- name: Check if hyprpolkitagent is installed + register: stat_hyprpolkitagent_bin + ansible.builtin.stat: + path: "{{ hyprland.prefix }}/bin/hyprpolkitagent" + +- name: Build and install hyprpolkitagent + when: + - not stat_hyprpolkitagent_bin.stat.exists + block: + - name: Clone git repository + ansible.builtin.git: + depth: 1 + dest: "{{ hyprpolkitagent.git_path }}" + recursive: true + repo: "{{ hyprpolkitagent.repo }}" + version: "{{ hyprpolkitagent.vers }}" + + - name: Configure hyprpolkitagent + ansible.builtin.command: + creates: "{{ hyprpolkitagent.git_path }}/build" + chdir: "{{ hyprpolkitagent.git_path }}" + argv: + - cmake + - --no-warn-unused-cli + - -DCMAKE_BUILD_TYPE:STRING=Release + - -DCMAKE_INSTALL_PREFIX:PATH={{ hyprland.prefix }} + - -S + - . + - -B + - ./build + + - name: Build hyprpolkitagent + ansible.builtin.command: + creates: "{{ hyprpolkitagent.git_path }}/build/hyprpolkitagent" + chdir: "{{ hyprpolkitagent.git_path }}" + argv: + - cmake + - --build + - ./build + - --config + - Release + - --target + - all + - -j + - "{{ ansible_processor_nproc|int }}" + + - name: Install hyprpolkitagent + become: true + ansible.builtin.command: + creates: "{{ path.bin }}/hyprpolkitagent" + chdir: "{{ hyprpolkitagent.git_path }}" + argv: + - cmake + - --install + - ./build diff --git a/vars/pkgs/hyprland.yml b/vars/pkgs/hyprland.yml index 0c38d58..e43a63c 100644 --- a/vars/pkgs/hyprland.yml +++ b/vars/pkgs/hyprland.yml @@ -10,6 +10,7 @@ hyprland: - hyprcursor - hyprgraphics - aquamarine + - hyprpolkitagent - xdg_desktop_portal_hyprland build_deps: RedHat: diff --git a/vars/pkgs/hyprpolkitagent.yml b/vars/pkgs/hyprpolkitagent.yml new file mode 100644 index 0000000..83885da --- /dev/null +++ b/vars/pkgs/hyprpolkitagent.yml @@ -0,0 +1,11 @@ +hyprpolkitagent: + version: v0.1.2 + repo: "{{ hyprgitbase }}/hyprpolkitagent" + build_deps: + RedHat: + - polkit-devel + - polkit-qt6-1-devel + build_installed_files: + - libexec/hyprpolkitagent + - lib/systemd/user/hyprpolkitagent.service + - share/dbus-1/services/hyprpolkitagent.service