diff --git a/hyprlock.sh b/hyprlock.sh index 19b71b2..c296b65 100644 --- a/hyprlock.sh +++ b/hyprlock.sh @@ -59,7 +59,7 @@ getDependencies() { # │ automagically be pulled via the $pkgArray[$distro] variable │ # ╰─────────────────────────────────────────────────────────────────────────╯ depsDebian=(libpugixml-dev libpixman-1-dev libcairo2-dev cmake libxkbcommon-dev wayland-protocols libpango1.0-dev libwayland-client-extra++1 libwebp-dev libjpeg-dev libspng-dev libmagic-dev libcairo2-dev mesa-common-dev cmake libgbm-dev libdrm-dev libopengl-dev wayland-protocols wayland-utils libsdbus-c++-dev libhyprlang-dev hyprgraphics) - depsArch=(hyprutils hyprgraphics) + depsArch=(hyprutils hyprlang hyprgraphics) # depsUbuntu=() # depsFedora=() # depsOpensuse=() @@ -89,6 +89,7 @@ getDependencies() { cloneAndBuildUtils cloneAndBuildGraphics cloneAndBuildScanner + cloneAndBuildLang ;; esac ;; @@ -178,6 +179,36 @@ cloneAndBuildScanner() { fi } +buildLang() { + echo_pkg build "Building hyprlang" + run cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build + run cmake --build ./build --config Release --target hyprlang -j$(nproc 2>/dev/null || getconf _NPROCESSORS_CONF) +} + +cloneAndBuildLang() { + if command_exists hyprlang; then + echo_error "hyprlang is already installed!" + return 69 + fi + + local cloneDir="$(mktemp -d)" + + cd $cloneDir || mkdir -p $cloneDir && cd $cloneDir + + echo_pkg git "Cloning hyprwayland-scanner into $cloneDir/hyprlang" + + git clone https://github.com/hyprwm/hyprlang.git hyprlang && + cd hyprlang + + if buildLang; then + echo_pkg install "Installing hyprlang" + $_sudo cmake --install build + else + echo_error "Build has failed for $distro compiling hyprlock" + return 69 + fi +} + build() { echo_pkg build "Building hyprlock" run cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -S . -B ./build