diff --git a/files/aquamarine/Alpine.patch b/files/aquamarine/Alpine.patch new file mode 100644 index 0000000..5a9c11e --- /dev/null +++ b/files/aquamarine/Alpine.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6cdb340..954de21 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -60,7 +60,7 @@ target_include_directories( + PRIVATE "./src" "./src/include" "./protocols" "${CMAKE_BINARY_DIR}") + set_target_properties(aquamarine PROPERTIES VERSION ${AQUAMARINE_VERSION} + SOVERSION 6) +-target_link_libraries(aquamarine OpenGL::EGL OpenGL::OpenGL PkgConfig::deps) ++target_link_libraries(aquamarine OpenGL::EGL OpenGL::GL PkgConfig::deps) + + check_include_file("sys/timerfd.h" HAS_TIMERFD) + pkg_check_modules(epoll IMPORTED_TARGET epoll-shim) diff --git a/tasks/config/ghostty.yml b/tasks/config/ghostty.yml index 2d83d5a..e4b0da0 100644 --- a/tasks/config/ghostty.yml +++ b/tasks/config/ghostty.yml @@ -13,7 +13,9 @@ deps: "{{ pkgconfig.ghostty.build_deps[ansible_os_family] }}" vers: "{{ pkgconfig.ghostty.version }}" pkg: "{{ pkgconfig.ghostty[ghostty.method] }}" + repo: "{{ pkgconfig.ghostty.git_repo }}" build_deps: "{{ pkgconfig.ghostty.build_deps[ansible_os_family] }}" + optimize: "{{ pkgconfig.ghostty.optimize }}" - name: Set ghostty config for appimage install when: diff --git a/tasks/config/neovim.yml b/tasks/config/neovim.yml index eba49a8..0067869 100644 --- a/tasks/config/neovim.yml +++ b/tasks/config/neovim.yml @@ -11,6 +11,7 @@ method: "{{ neovim.method }}" vers: "v{{ pkgconfig.neovim.version }}" pkgs: "{{ pkgconfig.neovim.pkgs[ansible_distribution] | default(pkgconfig.neovim.pkgs.default) }}" + git_repo: "{{ pkgconfig.neovim.git_repo }}" - name: Set neovim config for appimage install when: diff --git a/tasks/facts.yml b/tasks/facts.yml index 980d580..91deee3 100644 --- a/tasks/facts.yml +++ b/tasks/facts.yml @@ -19,6 +19,13 @@ pkg_snap: [] # snpacraft.io packages pipx_exec: "/usr/bin/pipx" sys_pkg_become: true # Linux package managers require sudo access + lib_path: lib64 + +- name: Set alpine linux specific facts + when: + - ansible_os_family == 'Alpine' + ansible.builtin.set_fact: + lib_path: lib - name: Set rpm dist if RedHat based when: diff --git a/tasks/main.yml b/tasks/main.yml index f0c2f9b..49204ab 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -3,10 +3,10 @@ # create all the facts used throughout the role, but shouldn't be touched # by the user - name: Create temporary directory for downloads - ansible.builtin.tempfile: - state: directory - prefix: ansible_role_package. register: d_tempdir + ansible.builtin.file: + path: /tmp/ansible_role_package + state: directory - name: Set installation facts ansible.builtin.include_tasks: diff --git a/tasks/pkgs/aquamarine.yml b/tasks/pkgs/aquamarine.yml index 9f3ccb7..77e355f 100644 --- a/tasks/pkgs/aquamarine.yml +++ b/tasks/pkgs/aquamarine.yml @@ -5,8 +5,6 @@ - aquamarine_configured is undefined block: - name: Load aquamarine config - when: - - aquamarine is undefined ansible.builtin.include_tasks: file: config/aquamarine.yml diff --git a/tasks/src/aquamarine.yml b/tasks/src/aquamarine.yml index 360b962..0e6dd9a 100644 --- a/tasks/src/aquamarine.yml +++ b/tasks/src/aquamarine.yml @@ -12,11 +12,11 @@ - name: Check if aquamarine is installed register: stat_aquamarine_inst ansible.builtin.stat: - path: "{{ hyprland.prefix }}/lib64/libaquamarine.so" + path: "{{ hyprland.prefix }}/{{ lib_path }}/libaquamarine.so" - name: Build and install aquamarine when: - - stat_aquamarine_inst.stat.exists + - not stat_aquamarine_inst.stat.exists block: - name: Clone git repository ansible.builtin.git: @@ -25,6 +25,12 @@ repo: "{{ aquamarine.repo }}" version: "{{ aquamarine.vers }}" + - name: Apply patch for alpine linux + ansible.posix.patch: + basedir: "{{ aquamarine.git_path }}" + src: aquamarine/Alpine.patch + state: present + - name: Configure aquamarine ansible.builtin.command: creates: "{{ aquamarine.git_path }}/build" @@ -32,7 +38,7 @@ argv: - cmake - --no-warn-unused-cli - - DCMAKE_BUILD_TYPE=Release + - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_INSTALL_PREFIX={{ hyprland.prefix }} - -S - . @@ -57,7 +63,7 @@ - name: Install aquamarine become: true ansible.builtin.command: - creates: "{{ path.bin }}/aquamarine" + creates: "{{ hyprland.prefix }}/{{ lib_path }}/libaquamarine.so" chdir: "{{ aquamarine.git_path }}" argv: - cmake diff --git a/tasks/src/ghostty.yml b/tasks/src/ghostty.yml index b6c4210..92816f5 100644 --- a/tasks/src/ghostty.yml +++ b/tasks/src/ghostty.yml @@ -14,4 +14,4 @@ register: c_ghostty_build ansible.builtin.command: chdir: "{{ d_tempdir.path }}/ghostty" - cmd: "zig build -p {{ path.prefix }} -D{{ pkgconfig_ghostty.optimize }}" + cmd: "zig build -p {{ path.prefix }} -Doptimize={{ ghostty.optimize }}" diff --git a/tasks/src/hyprgraphics.yml b/tasks/src/hyprgraphics.yml index 6ae7b99..866e239 100644 --- a/tasks/src/hyprgraphics.yml +++ b/tasks/src/hyprgraphics.yml @@ -12,7 +12,7 @@ - name: Check if hyprgraphics is installed register: stat_hyprgraphics_inst ansible.builtin.stat: - path: "{{ hyprland.prefix }}/lib64/libhyprgraphics.so" + path: "{{ hyprland.prefix }}/{{ lib_path }}/libhyprgraphics.so" - name: Build and install hyprgraphics when: diff --git a/tasks/src/hyprlang.yml b/tasks/src/hyprlang.yml index ad774e0..c07cd48 100644 --- a/tasks/src/hyprlang.yml +++ b/tasks/src/hyprlang.yml @@ -12,7 +12,7 @@ - name: Check if hyprlang is installed register: stat_hyprlang_inst ansible.builtin.stat: - path: "{{ hyprland.prefix }}/lib64/libhyprlang.so" + path: "{{ hyprland.prefix }}/{{ lib_path }}/libhyprlang.so" - name: Build and install hyprlang when: diff --git a/tasks/src/hyprutils.yml b/tasks/src/hyprutils.yml index 77704a2..c8803cb 100644 --- a/tasks/src/hyprutils.yml +++ b/tasks/src/hyprutils.yml @@ -12,7 +12,7 @@ - name: Check if hyprutils is installed register: stat_hyprutils_inst ansible.builtin.stat: - path: "{{ hyprland.prefix }}/lib64/libhyprutils.so" + path: "{{ hyprland.prefix }}/{{ lib_path }}/libhyprutils.so" - name: Build and install hyprutils when: diff --git a/tasks/src/neovim.yml b/tasks/src/neovim.yml index a9f81c3..a76325a 100644 --- a/tasks/src/neovim.yml +++ b/tasks/src/neovim.yml @@ -4,8 +4,8 @@ ansible.builtin.git: depth: 1 dest: "{{ d_tempdir.path }}/neovim" - repo: "{{ pkgconfig_neovim.git_repo }}" - version: "{{ pkgconfig_neovim.version }}" + repo: "{{ neovim.git_repo }}" + version: "{{ neovim.version }}" - name: Build and install neovim become: "{{ ext_become }}" diff --git a/tasks/src/sdbus_cpp_2.yml b/tasks/src/sdbus_cpp_2.yml index cb31cf1..f99c333 100644 --- a/tasks/src/sdbus_cpp_2.yml +++ b/tasks/src/sdbus_cpp_2.yml @@ -12,7 +12,7 @@ - name: Check if sdbus-cpp-2 is installed register: stat_sdbus_cpp_2_inst ansible.builtin.stat: - path: "{{ sdbus_cpp_2.prefix }}/lib64/libsdbus-c++.so" + path: "{{ sdbus_cpp_2.prefix }}/{{ lib_path }}/libsdbus-c++.so" - name: Build and install sdbus-cpp-2 when: @@ -58,7 +58,7 @@ - name: Install sdbus_cpp_2 become: true ansible.builtin.command: - creates: "{{ sdbus_cpp_2.prefix }}/lib64/libsdbus-c++.so" + creates: "{{ sdbus_cpp_2.prefix }}/{{ lib_path }}/libsdbus-c++.so" chdir: "{{ sdbus_cpp_2.git_path }}" argv: - cmake diff --git a/vars/pkgs/aquamarine.yml b/vars/pkgs/aquamarine.yml index ece0fbf..53176aa 100644 --- a/vars/pkgs/aquamarine.yml +++ b/vars/pkgs/aquamarine.yml @@ -24,11 +24,12 @@ aquamarine: - libinput-dev - libseat-dev - mesa-gbm + - mesa-dev - wayland-dev - wayland-protocols build_installed_files: - - lib64/libaquamarine.so.0.7.2 - - lib64/libaquamarine.so.6 - - lib64/libaquamarine.so + - "{{ lib_path }}/libaquamarine.so.0.7.2" + - "{{ lib_path }}libaquamarine.so.6" + - "{{ lib_path }}/libaquamarine.so" - include/aquamarine - - lib64/pkgconfig/aquamarine.pc + - "{{ lib_path }}/pkgconfig/aquamarine.pc" diff --git a/vars/pkgs/ghostty.yml b/vars/pkgs/ghostty.yml index 8b331c5..de2f26a 100644 --- a/vars/pkgs/ghostty.yml +++ b/vars/pkgs/ghostty.yml @@ -1,6 +1,7 @@ ghostty: - version: 1.1.2+1 + version: v1.1.2 optimize: ReleaseFast + git_repo: https://github.com/ghostty-org/ghostty build_deps: Debian: - libgtk-4-dev @@ -11,6 +12,9 @@ ghostty: Alpine: - gtk4.0-dev - libadwaita-dev + - pkgconf + - ncurses + - blueprint-compiler Darwin: [] archmap: arm64: aarch64 diff --git a/vars/pkgs/hyprcursor.yml b/vars/pkgs/hyprcursor.yml index 0f01f8e..4d943a3 100644 --- a/vars/pkgs/hyprcursor.yml +++ b/vars/pkgs/hyprcursor.yml @@ -15,10 +15,10 @@ hyprcursor: - librsvg-dev - tomlplusplus-dev build_installed_files: - - lib64/libhyprcursor.so.0.1.11 - - lib64/libhyprcursor.so.0 - - lib64/libhyprcursor.so + - "{{ lib_path }}/libhyprcursor.so.0.1.11" + - "{{ lib_path }}/libhyprcursor.so.0" + - "{{ lib_path }}/libhyprcursor.so" - include/hyprcursor.hpp - bin/hyprcursor-util - include/hyprcursor - - lib64/pkgconfig/hyprcursor.pc + - "{{ lib_path }}/pkgconfig/hyprcursor.pc" diff --git a/vars/pkgs/hyprgraphics.yml b/vars/pkgs/hyprgraphics.yml index 1d30a27..157d097 100644 --- a/vars/pkgs/hyprgraphics.yml +++ b/vars/pkgs/hyprgraphics.yml @@ -25,8 +25,8 @@ hyprgraphics: - file - libspng-dev build_installed_files: - - lib64/libhyprgraphics.so.0.1.2 - - lib64/libhyprgraphics.so.0 - - lib64/libhyprgraphics.so + - "{{ lib_path }}/libhyprgraphics.so.0.1.2" + - "{{ lib_path }}/libhyprgraphics.so.0" + - "{{ lib_path }}/libhyprgraphics.so" - include/hyprgraphics - - lib64/pkgconfig/hyprgraphics.pc + - "{{ lib_path }}/pkgconfig/hyprgraphics.pc" diff --git a/vars/pkgs/hyprlang.yml b/vars/pkgs/hyprlang.yml index 5e88b29..664a83a 100644 --- a/vars/pkgs/hyprlang.yml +++ b/vars/pkgs/hyprlang.yml @@ -6,12 +6,12 @@ hyprlang: RedHat: [] Alpine: [] build_installed_files: - - lib64/libhyprlang.so.0.6.0 - - lib64/libhyprlang.so.2 - - lib64/libhyprlang.so + - "{{ lib_path }}/libhyprlang.so.0.6.0" + - "{{ lib_path }}/libhyprlang.so.2" + - "{{ lib_path }}/libhyprlang.so" - include/hyprlang.hpp - - lib64/libhyprlang.so.0.6.0 - - lib64/libhyprlang.so.2 - - lib64/libhyprlang.so + - "{{ lib_path }}/libhyprlang.so.0.6.0" + - "{{ lib_path }}/libhyprlang.so.2" + - "{{ lib_path }}/libhyprlang.so" - include/hyprlang.hpp - - lib64/pkgconfig/hyprlang.pc + - "{{ lib_path }}/pkgconfig/hyprlang.pc" diff --git a/vars/pkgs/hyprutils.yml b/vars/pkgs/hyprutils.yml index 8b2e08a..5b10727 100644 --- a/vars/pkgs/hyprutils.yml +++ b/vars/pkgs/hyprutils.yml @@ -7,8 +7,8 @@ hyprutils: Alpine: - pixman-dev build_installed_files: - - lib64/libhyprutils.so.0.5.1 - - lib64/libhyprutils.so.4 - - lib64/libhyprutils.so + - "{{ lib_path }}/libhyprutils.so.0.5.1" + - "{{ lib_path }}/libhyprutils.so.4" + - "{{ lib_path }}/libhyprutils.so" - include/hyprutils - - lib64/pkgconfig/hyprutils.pc + - "{{ lib_path }}/pkgconfig/hyprutils.pc" diff --git a/vars/pkgs/hyprwayland_scanner.yml b/vars/pkgs/hyprwayland_scanner.yml index 6260827..2348c3f 100644 --- a/vars/pkgs/hyprwayland_scanner.yml +++ b/vars/pkgs/hyprwayland_scanner.yml @@ -8,5 +8,5 @@ hyprwayland_scanner: - pugixml-dev build_installed_files: - bin/hyprwayland-scanner - - lib64/pkgconfig/hyprwayland-scanner.pc - - lib64/cmake/hyprwayland-scanner + - "{{ lib_path }}/pkgconfig/hyprwayland-scanner.pc" + - "{{ lib_path }}/cmake/hyprwayland-scanner" diff --git a/vars/pkgs/neovim.yml b/vars/pkgs/neovim.yml index 227fdc3..8b6c2d4 100644 --- a/vars/pkgs/neovim.yml +++ b/vars/pkgs/neovim.yml @@ -1,5 +1,5 @@ neovim: - version: 0.10.4 + version: nightly git_repo: https://github.com/neovim/neovim appimage: base_url: https://github.com/neovim/neovim/releases/download diff --git a/vars/pkgs/sdbus_cpp_2.yml b/vars/pkgs/sdbus_cpp_2.yml index 13a0043..9415add 100644 --- a/vars/pkgs/sdbus_cpp_2.yml +++ b/vars/pkgs/sdbus_cpp_2.yml @@ -8,38 +8,38 @@ sdbus_cpp_2: Alpine: - elogind-dev build_installed_files: - - share/doc/sdbus-c++/sdbus-c++-class-diagram.png - - share/doc/sdbus-c++/sdbus-c++-class-diagram.uml - - share/doc/sdbus-c++/systemd-dbus-config.md - - share/doc/sdbus-c++/using-sdbus-c++.md - - lib64/libsdbus-c++.so.2.0.0 - - lib64/libsdbus-c++.so.2 - - lib64/libsdbus-c++.so + - "{{ lib_path }}/cmake/sdbus-c++/sdbus-c++-config-version.cmake" + - "{{ lib_path }}/cmake/sdbus-c++/sdbus-c++-config.cmake" + - "{{ lib_path }}/cmake/sdbus-c++/sdbus-c++-targets-release.cmake" + - "{{ lib_path }}/cmake/sdbus-c++/sdbus-c++-targets.cmake" + - "{{ lib_path }}/libsdbus-c++.so" + - "{{ lib_path }}/libsdbus-c++.so.2" + - "{{ lib_path }}/libsdbus-c++.so.2.0.0" + - "{{ lib_path }}/pkgconfig/sdbus-c++.pc" + - include/sdbus-c++/AdaptorInterfaces.h - include/sdbus-c++/ConvenienceApiClasses.h - include/sdbus-c++/ConvenienceApiClasses.inl - - include/sdbus-c++/VTableItems.h - - include/sdbus-c++/VTableItems.inl - include/sdbus-c++/Error.h + - include/sdbus-c++/Flags.h - include/sdbus-c++/IConnection.h - - include/sdbus-c++/AdaptorInterfaces.h - - include/sdbus-c++/ProxyInterfaces.h - - include/sdbus-c++/StandardInterfaces.h - include/sdbus-c++/IObject.h - include/sdbus-c++/IProxy.h - include/sdbus-c++/Message.h - include/sdbus-c++/MethodResult.h - - include/sdbus-c++/Types.h + - include/sdbus-c++/ProxyInterfaces.h + - include/sdbus-c++/StandardInterfaces.h - include/sdbus-c++/TypeTraits.h - - include/sdbus-c++/Flags.h + - include/sdbus-c++/Types.h + - include/sdbus-c++/VTableItems.h + - include/sdbus-c++/VTableItems.inl - include/sdbus-c++/sdbus-c++.h - - lib64/cmake/sdbus-c++/sdbus-c++-targets.cmake - - lib64/cmake/sdbus-c++/sdbus-c++-targets-release.cmake - - lib64/cmake/sdbus-c++/sdbus-c++-config.cmake - - lib64/cmake/sdbus-c++/sdbus-c++-config-version.cmake - - lib64/pkgconfig/sdbus-c++.pc - - share/doc/sdbus-c++/README - - share/doc/sdbus-c++/README.md - - share/doc/sdbus-c++/NEWS + - share/doc/sdbus-c++/AUTHORS - share/doc/sdbus-c++/COPYING - share/doc/sdbus-c++/ChangeLog - - share/doc/sdbus-c++/AUTHORS + - share/doc/sdbus-c++/NEWS + - share/doc/sdbus-c++/README + - share/doc/sdbus-c++/README.md + - share/doc/sdbus-c++/sdbus-c++-class-diagram.png + - share/doc/sdbus-c++/sdbus-c++-class-diagram.uml + - share/doc/sdbus-c++/systemd-dbus-config.md + - share/doc/sdbus-c++/using-sdbus-c++.md