From cb46365d8cb4cc2fd33e6eb70490eff0f3f91ea7 Mon Sep 17 00:00:00 2001 From: Don Williams Date: Wed, 10 Dec 2025 12:47:00 -0500 Subject: [PATCH] Updated dev to match sdeglers changes On branch development Your branch is up to date with 'origin/development'. Changes to be committed: modified: hypr-tags.env modified: install-scripts/00-dependencies.sh modified: install-scripts/aquamarine.sh renamed: install-scripts/hyprland-qtutils.sh -> install-scripts/hyprland-guiutils.sh new file: install-scripts/hyprtoolkit.sh modified: install.sh modified: update-hyprland.sh --- hypr-tags.env | 17 ++--- install-scripts/00-dependencies.sh | 3 +- install-scripts/aquamarine.sh | 2 +- ...prland-qtutils.sh => hyprland-guiutils.sh} | 38 +++++------ install-scripts/hyprtoolkit.sh | 65 +++++++++++++++++++ install.sh | 6 +- update-hyprland.sh | 4 +- 7 files changed, 104 insertions(+), 31 deletions(-) rename install-scripts/{hyprland-qtutils.sh => hyprland-guiutils.sh} (68%) create mode 100755 install-scripts/hyprtoolkit.sh diff --git a/hypr-tags.env b/hypr-tags.env index 9b8fb92..81c0404 100644 --- a/hypr-tags.env +++ b/hypr-tags.env @@ -2,13 +2,14 @@ # You can edit these values or let update-hyprland.sh manage them. # Each module script reads its TAG from these environment variables if set. -HYPRLAND_TAG=v0.51.1 -AQUAMARINE_TAG=v0.9.3 -HYPRUTILS_TAG=v0.8.3 -HYPRLANG_TAG=v0.6.4 -HYPRGRAPHICS_TAG=v0.1.5 +HYPRLAND_TAG=v0.52.2 +AQUAMARINE_TAG=v0.10.0 +HYPRUTILS_TAG=v0.10.4 +HYPRLANG_TAG=v0.6.7 +HYPRGRAPHICS_TAG=v0.4.0 +HYPRTOOLKIT_TAG=v0.4.1 HYPRWAYLAND_SCANNER_TAG=v0.4.5 -HYPRLAND_PROTOCOLS_TAG=v0.6.4 +HYPRLAND_PROTOCOLS_TAG=v0.7.0 HYPRLAND_QT_SUPPORT_TAG=v0.1.0 -HYPRLAND_QTUTILS_TAG=v0.1.4 -WAYLAND_PROTOCOLS_TAG=1.45 +HYPRLAND_GUIUTILS_TAG=v0.2.0 +WAYLAND_PROTOCOLS_TAG=1.46 diff --git a/install-scripts/00-dependencies.sh b/install-scripts/00-dependencies.sh index 35bfe47..529226c 100755 --- a/install-scripts/00-dependencies.sh +++ b/install-scripts/00-dependencies.sh @@ -39,6 +39,7 @@ dependencies=( libgulkan-0.15-0t64 libgulkan-dev libinih-dev + libiniparser-dev libinput-dev libjbig-dev libjpeg-dev @@ -163,4 +164,4 @@ for PKG1 in "${build_dep[@]}"; do build_dep "$PKG1" "$LOG" done -printf "\n%.0s" {1..2} \ No newline at end of file +printf "\n%.0s" {1..2} diff --git a/install-scripts/aquamarine.sh b/install-scripts/aquamarine.sh index 50f2c89..579e80a 100755 --- a/install-scripts/aquamarine.sh +++ b/install-scripts/aquamarine.sh @@ -63,4 +63,4 @@ else echo -e "${ERROR} Download failed for ${YELLOW}aquamarine $tag${RESET}" 2>&1 | tee -a "$LOG" fi -printf "\n%.0s" {1..2} \ No newline at end of file +printf "\n%.0s" {1..2} diff --git a/install-scripts/hyprland-qtutils.sh b/install-scripts/hyprland-guiutils.sh similarity index 68% rename from install-scripts/hyprland-qtutils.sh rename to install-scripts/hyprland-guiutils.sh index caff755..badf48a 100755 --- a/install-scripts/hyprland-qtutils.sh +++ b/install-scripts/hyprland-guiutils.sh @@ -1,9 +1,9 @@ #!/bin/bash # 💫 https://github.com/JaKooLit 💫 # # Hypr Ecosystem # -# hypland-qtutils # +# hypland-guiutils # -qtutils=( +guiutils=( libqt6core5compat6 qt6-base-dev qt6-wayland-dev @@ -17,9 +17,9 @@ qtutils=( ) #specific branch or release -tag="v0.1.4" +tag="v0.2.0" # Allow environment override -if [ -n "${HYPRLAND_QTUTILS_TAG:-}" ]; then tag="$HYPRLAND_QTUTILS_TAG"; fi +if [ -n "${HYPRLAND_GUIUTILS_TAG:-}" ]; then tag="$HYPRLAND_GUIUTILS_TAG"; fi # Dry-run support DO_INSTALL=1 @@ -42,13 +42,13 @@ if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then fi # Set the name of the log file to include the current date and time -LOG="Install-Logs/install-$(date +%d-%H%M%S)_hyprland-qtutils.log" -MLOG="install-$(date +%d-%H%M%S)_hyprland-qtutils2.log" +LOG="Install-Logs/install-$(date +%d-%H%M%S)_hyprland-guiutils.log" +MLOG="install-$(date +%d-%H%M%S)_hyprland-guiutils2.log" # Installation of dependencies -printf "\n%s - Installing ${YELLOW}hyprland-qtutils dependencies${RESET} .... \n" "${INFO}" +printf "\n%s - Installing ${YELLOW}hyprland-guiutils dependencies${RESET} .... \n" "${INFO}" -for PKG1 in "${qtutils[@]}"; do +for PKG1 in "${guiutils[@]}"; do re_install_package "$PKG1" 2>&1 | tee -a "$LOG" if [ $? -ne 0 ]; then echo -e "\e[1A\e[K${ERROR} - ${YELLOW}$PKG1${RESET} Package installation failed, Please check the installation logs" @@ -58,31 +58,31 @@ done printf "\n%.0s" {1..1} -# Check if hyprland-qtutils directory exists and remove it -if [ -d "hyprland-qtutils" ]; then - rm -rf "hyprland-qtutils" +# Check if hyprland-guiutils directory exists and remove it +if [ -d "hyprland-guiutils" ]; then + rm -rf "hyprland-guiutils" fi # Clone and build -printf "${INFO} Installing ${YELLOW}hyprland-qtutils $tag${RESET} ...\n" -if git clone --recursive -b $tag https://github.com/hyprwm/hyprland-qtutils.git; then - cd hyprland-qtutils || exit 1 +printf "${INFO} Installing ${YELLOW}hyprland-guiutils $tag${RESET} ...\n" +if git clone --recursive -b $tag https://github.com/hyprwm/hyprland-guiutils.git; then + cd hyprland-guiutils || exit 1 cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF` if [ $DO_INSTALL -eq 1 ]; then if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then - printf "${OK} ${MAGENTA}hyprland-qtutils $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" + printf "${OK} ${MAGENTA}hyprland-guiutils $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" else - echo -e "${ERROR} Installation failed for ${YELLOW}hyprland-qtutils $tag${RESET}" 2>&1 | tee -a "$MLOG" + echo -e "${ERROR} Installation failed for ${YELLOW}hyprland-guiutils $tag${RESET}" 2>&1 | tee -a "$MLOG" fi else - echo "${NOTE} DRY RUN: Skipping installation of hyprland-qtutils $tag." + echo "${NOTE} DRY RUN: Skipping installation of hyprland-guiutils $tag." fi #moving the addional logs to Install-Logs directory [ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/ cd .. else - echo -e "${ERROR} Download failed for ${YELLOW}hyprland-qtutils $tag${RESET}" 2>&1 | tee -a "$LOG" + echo -e "${ERROR} Download failed for ${YELLOW}hyprland-guiutils $tag${RESET}" 2>&1 | tee -a "$LOG" fi -printf "\n%.0s" {1..2} \ No newline at end of file +printf "\n%.0s" {1..2} diff --git a/install-scripts/hyprtoolkit.sh b/install-scripts/hyprtoolkit.sh new file mode 100755 index 0000000..f059c01 --- /dev/null +++ b/install-scripts/hyprtoolkit.sh @@ -0,0 +1,65 @@ +#!/bin/bash +# 💫 https://github.com/JaKooLit 💫 # +# Hypr Ecosystem # +# hyprtoolkit # + +#specific branch or release +tag="v0.4.1" +# Allow environment override +if [ -n "${HYPRTOOLKIT_TAG:-}" ]; then tag="$HYPRTOOLKIT_TAG"; fi + +# Dry-run support +DO_INSTALL=1 +if [ "$1" = "--dry-run" ] || [ "${DRY_RUN}" = "1" ] || [ "${DRY_RUN}" = "true" ]; then + DO_INSTALL=0 + echo "${NOTE} DRY RUN: install step will be skipped." +fi + +## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +# Change the working directory to the parent directory of the script +PARENT_DIR="$SCRIPT_DIR/.." +cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } + +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi + +# Set the name of the log file to include the current date and time +LOG="Install-Logs/install-$(date +%d-%H%M%S)_hyprtoolkit.log" +MLOG="install-$(date +%d-%H%M%S)_hyprtoolkit2.log" + +# Clone, build, and install using Cmake +printf "${NOTE} Cloning hyprtoolkit...\n" + +# Check if hyprtoolkit folder exists and remove it +if [ -d "hyprtoolkit" ]; then + printf "${NOTE} Removing existing hyprtoolkit folder...\n" + rm -rf "hyprtoolkit" 2>&1 | tee -a "$LOG" +fi + +if git clone -b $tag "https://github.com/hyprwm/hyprtoolkit.git"; then + cd "hyprtoolkit" || exit 1 + cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -S . -B ./build + cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF` + if [ $DO_INSTALL -eq 1 ]; then + if sudo cmake --install build 2>&1 | tee -a "$MLOG"; then + printf "${OK} hyprtoolkit installed successfully.\n" 2>&1 | tee -a "$MLOG" + else + echo -e "${ERROR} Installation failed for hyprtoolkit." 2>&1 | tee -a "$MLOG" + fi + else + echo "${NOTE} DRY RUN: Skipping installation of hyprtoolkit $tag." + fi + [ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/ + cd .. +else + echo -e "${ERROR} Download failed for hyprtoolkit" 2>&1 | tee -a "$LOG" +fi + +printf "\n%.0s" {1..2} + + diff --git a/install.sh b/install.sh index a097c9c..0f2c2fc 100755 --- a/install.sh +++ b/install.sh @@ -400,13 +400,17 @@ execute_script "aquamarine.sh" sleep 1 execute_script "hyprland-qt-support.sh" sleep 1 -execute_script "hyprland-qtutils.sh" +execute_script "hyprtoolkit.sh" +sleep 1 +execute_script "hyprland-guiutils.sh" sleep 1 execute_script "hyprland-protocols.sh" sleep 1 # Ensure wayland-protocols (from source) is installed to satisfy Hyprland's >= 1.45 requirement execute_script "wayland-protocols-src.sh" sleep 1 +execute_script "xkbcommon.sh" +sleep 1 execute_script "hyprland.sh" sleep 1 execute_script "hyprpolkitagent.sh" diff --git a/update-hyprland.sh b/update-hyprland.sh index c5a1830..6063082 100755 --- a/update-hyprland.sh +++ b/update-hyprland.sh @@ -33,15 +33,17 @@ SUMMARY_LOG="$LOG_DIR/update-hypr-$TS.log" # Default module order (core first, then Hyprland) DEFAULT_MODULES=( + xkbcommon hyprutils hyprlang + hyprtoolkit wayland-protocols-src aquamarine hyprgraphics hyprwayland-scanner hyprland-protocols hyprland-qt-support - hyprland-qtutils + hyprland-guiutils hyprland )