adding hyprland src install

This commit is contained in:
Matthew Stobbs
2025-02-28 15:57:02 -07:00
parent 6365e266f4
commit 91cdc5056c
10 changed files with 191 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
- name: Set aquamarine config
ansible.builtin.set_fact:
aquamarine:
vers: "{{ pkgconfig.aquamarine.version }}"
repo: "{{ pkgconfig.aquamarine.repo }}"
git_path: "{{ d_tempdir.path }}/aquamarine"
pkg_deps: "{{ pkgconfig.aquamarine.pkg_deps }}"
installed_files: "{{ pkgconfig.aquamarine.build_installed_files }}"
bin: aquamarine

View File

@@ -0,0 +1,6 @@
- name: Set hyperwayland-scanner config
ansible.builtin.set_fact:
hyprwayland_scanner:
vers: "{{ pkgconfig.hyprwayland_scanner.version }}"
repo: "{{ pkgconfig.hyprwayland_scanner.repo }}"
build_deps: "{{ pkgconfig.hyprwayland_scanner.build_deps[ansible_os_family] }}"

12
tasks/pkgs/aquamarine.yml Normal file
View File

@@ -0,0 +1,12 @@
- name: Ensure pkg_deps are added
loop: aquamarine.pkg_deps
loop_control:
loop_var: pkg_dep
vars:
pkg: "{{ pkg_dep }}"
ansible.builtin.include_tasks:
file: addpkg.yml
- name: Append to pkg_src
ansible.builtin.set_fact:
pkg_src: "{{ pkg_src + ['aquamarine'] }}"

View File

@@ -0,0 +1,6 @@
- name: Append to pkg_sys and pkg_src
when:
- ansible_os_family == 'RedHat'
ansible.builtin.set_fact:
pkg_sys: "{{ pkg_sys + hyprwayland_scanner.build_deps }}"
pkg_src: "{{ pkg_src + ['hyprwayland_scanner'] }}"

50
tasks/src/aquamarine.yml Normal file
View File

@@ -0,0 +1,50 @@
- name: Remove existing install
when:
- hyprland_clean
become: "{{ ext_become }}"
loop: aquamarine.installed_files
loop_control:
loop_var: file
ansible.builtin.file:
state: absent
path: "{{ path.prefix }}/{{ file }}"
- name: Build and install aquamarine
block:
- name: Clone git repository
ansible.builtin.git:
depth: 1
dest: "{{ aquamarine.git_path }}"
repo: "{{ aquamarine.repo }}"
version: "{{ aquamarine.vers }}"
- name: Configure hyprwayland-scanner
ansible.builtin.command:
creates: "{{ aquamarine.git_path }}/build"
chdir: "{{ aquamarine.git_path }}"
argv:
- cmake
- -DCMAKE_INSTALL_PREFIX={{ path.prefix }}
- -B
- build
- name: Build hyprwayland-scanner
ansible.builtin.command:
creates: "{{ aquamarine.git_path }}/build/"
chdir: "{{ aquamarine.git_path }}"
argv:
- cmake
- --build
- build
- -j
- "{{ ansible_processor_nproc|int }}"
- name: Install hyprwayland-scanner
become: "{{ ext_become }}"
ansible.builtin.command:
creates: "{{ path.bin }}/aquamarine"
chdir: "{{ aquamarine.git_path }}"
argv:
- cmake
- --install
- build

View File

@@ -0,0 +1,50 @@
- name: Remove existing install
when:
- hyprland_clean
become: "{{ ext_become }}"
loop: hyprwayland_scanner.installed_files
loop_control:
loop_var: file
ansible.builtin.file:
state: absent
path: "{{ path.prefix }}/{{ file }}"
- name: Build and install hyprwayland-scanner
block:
- name: Clone git repository
ansible.builtin.git:
depth: 1
dest: "{{ d_tempdir.path }}/hyprwayland-scanner"
repo: "{{ hyprwayland_scanner.repo }}"
version: "{{ hyprwayland_scanner.vers }}"
- name: Configure hyprwayland-scanner
ansible.builtin.command:
creates: "{{ d_tempdir.path }}/hyprwayland-scanner/build"
chdir: "{{ d_tempdir.path }}/hyprwayland-scanner"
argv:
- cmake
- -DCMAKE_INSTALL_PREFIX={{ path.prefix }}
- -B
- build
- name: Build hyprwayland-scanner
ansible.builtin.command:
creates: "{{ d_tempdir.path }}/hyprwayland-scanner/build/hyprwayland-scanner"
chdir: "{{ d_tempdir.path }}/hyprwayland-scanner"
argv:
- cmake
- --build
- build
- -j
- "{{ ansible_processor_nproc|int }}"
- name: Install hyprwayland-scanner
become: "{{ ext_become }}"
ansible.builtin.command:
creates: "{{ path.bin }}/hyprwayland-scanner"
chdir: "{{ d_tempdir.path }}/hyprwayland-scanner"
argv:
- cmake
- --install
- build

View File

@@ -24,3 +24,6 @@ defaults:
# - paths.cargo: $PREFIX/cargo
# - paths.go: $PREFIX/go
# - paths.pipx: $PREFIX/pipx
## Extra config that usually will not need to be changed
hyprland_clean: true

16
vars/pkgs/aquamarine.yml Normal file
View File

@@ -0,0 +1,16 @@
aquamarine:
version: v0.7.2
repo: https://github.com/hyprwm/aquamarine
pkg_deps:
- hyprwayland-scanner
build_deps:
RedHat:
- libseat-devel
- libinput-devel
- wayland-devel
- wayland-protocols-devel
- libdrm-devel
- mesa-libgbm-devel
- libdisplay-info-devel
- systemd-devel
- hwdata-devel

29
vars/pkgs/hyprland.yml Normal file
View File

@@ -0,0 +1,29 @@
hyprland:
version: v0.47.2
repo: https://github.com/hyprwm/Hyprland
pkg_deps:
- aquamarine
build_deps:
RedHat:
- cairo-devel
- cmake
- gcc-c++
- glslang-devel
- libdrm-devel
- libglvnd-devel
- libinput-devel
- libseat-devel
- libxcb-devel
- libxkbcommon-devel
- mesa-libgbm-devel
- meson
- pango-devel
- pixman-devel
- systemd-devel
- tomlpluplus-devel
- vulkan-loader-devel
- wayland-devel
- wayland-protocols-devel
- xcb-util-renderutil-devel
- xcb-util-wm-devel
- xorg-x11-server-Xwayland-devel

View File

@@ -0,0 +1,10 @@
hyprwayland_scanner:
version: v0.4.4
repo: https://github.com/hyprwm/hyprwayland-scanner
build_deps:
RedHat:
- pugixml-devel
build_installed_files:
- bin/hyprwayland-scanner
- lib64/pkgconfig/hyprwayland-scanner.pc
- lib64/cmake/hyprwayland-scanner