mirror of
https://github.com/JaKooLit/Debian-Hyprland.git
synced 2025-12-21 02:10:13 +01:00
Modified script for dry-run and helper script
On branch hl-051
Changes to be committed:
new file: dry-run-build.sh
modified: install-scripts/aquamarine.sh
modified: install-scripts/hyprgraphics.sh
modified: install-scripts/hyprland-protocols.sh
modified: install-scripts/hyprland-qt-support.sh
modified: install-scripts/hyprland-qtutils.sh
modified: install-scripts/hyprland.sh
modified: install-scripts/hyprlang.sh
modified: install-scripts/hyprutils.sh
modified: install-scripts/hyprwayland-scanner.sh
This commit is contained in:
parent
e21452b70d
commit
bc8b456e3b
150
dry-run-build.sh
Normal file
150
dry-run-build.sh
Normal file
@ -0,0 +1,150 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Dry-run orchestrator for Hyprland and companion modules
|
||||||
|
# - Compiles components but skips installation (uses DRY_RUN=1)
|
||||||
|
# - Summarizes PASS/FAIL per module to Install-Logs/
|
||||||
|
#
|
||||||
|
# Usage:
|
||||||
|
# chmod +x ./dry-run-build.sh
|
||||||
|
# ./dry-run-build.sh # run full stack dry-run
|
||||||
|
# ./dry-run-build.sh --with-deps # install dependencies first, then dry-run build
|
||||||
|
# ./dry-run-build.sh --only hyprland # run a subset (comma-separated allowed)
|
||||||
|
# ./dry-run-build.sh --skip qtutils # skip one or more (comma-separated)
|
||||||
|
#
|
||||||
|
# Notes:
|
||||||
|
# - Run from the repository root. Do not cd into install-scripts/.
|
||||||
|
# - You can also call modules directly, e.g., DRY_RUN=1 ./install-scripts/hyprland.sh
|
||||||
|
|
||||||
|
set -u
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
|
REPO_ROOT=$(pwd)
|
||||||
|
LOG_DIR="$REPO_ROOT/Install-Logs"
|
||||||
|
mkdir -p "$LOG_DIR"
|
||||||
|
TS=$(date +%F-%H%M%S)
|
||||||
|
SUMMARY_LOG="$LOG_DIR/build-dry-run-$TS.log"
|
||||||
|
|
||||||
|
# Default module order (core first, then Hyprland)
|
||||||
|
DEFAULT_MODULES=(
|
||||||
|
hyprutils
|
||||||
|
hyprlang
|
||||||
|
hyprgraphics
|
||||||
|
hyprwayland-scanner
|
||||||
|
hyprland-protocols
|
||||||
|
hyprland-qt-support
|
||||||
|
hyprland-qtutils
|
||||||
|
aquamarine
|
||||||
|
hyprland
|
||||||
|
)
|
||||||
|
|
||||||
|
WITH_DEPS=0
|
||||||
|
ONLY_LIST=""
|
||||||
|
SKIP_LIST=""
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
grep '^# ' "$0" | sed 's/^# \{0,1\}//'
|
||||||
|
}
|
||||||
|
|
||||||
|
# Parse args
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
case "$1" in
|
||||||
|
-h|--help)
|
||||||
|
usage
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
--with-deps)
|
||||||
|
WITH_DEPS=1
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
--only)
|
||||||
|
ONLY_LIST=${2:-}
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
--skip)
|
||||||
|
SKIP_LIST=${2:-}
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown argument: $1" >&2
|
||||||
|
exit 2
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# Build module list based on --only/--skip
|
||||||
|
MODULES=()
|
||||||
|
if [[ -n "$ONLY_LIST" ]]; then
|
||||||
|
IFS=',' read -r -a MODULES <<< "$ONLY_LIST"
|
||||||
|
else
|
||||||
|
MODULES=("${DEFAULT_MODULES[@]}")
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -n "$SKIP_LIST" ]]; then
|
||||||
|
IFS=',' read -r -a _SKIPS <<< "$SKIP_LIST"
|
||||||
|
FILTERED=()
|
||||||
|
for m in "${MODULES[@]}"; do
|
||||||
|
skip_it=0
|
||||||
|
for s in "${_SKIPS[@]}"; do
|
||||||
|
if [[ "$m" == "$s" ]]; then
|
||||||
|
skip_it=1
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [[ $skip_it -eq 0 ]]; then
|
||||||
|
FILTERED+=("$m")
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
MODULES=("${FILTERED[@]}")
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Optionally install dependencies (not a dry-run)
|
||||||
|
if [[ $WITH_DEPS -eq 1 ]]; then
|
||||||
|
echo "[INFO] Installing dependencies via 00-dependencies.sh" | tee -a "$SUMMARY_LOG"
|
||||||
|
if ! "$REPO_ROOT/install-scripts/00-dependencies.sh"; then
|
||||||
|
echo "[ERROR] Dependencies installation failed. See logs under Install-Logs/." | tee -a "$SUMMARY_LOG"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Run each module with DRY_RUN=1 and capture exit codes
|
||||||
|
declare -A RESULTS
|
||||||
|
|
||||||
|
echo "[INFO] Starting dry-run build at $TS" | tee -a "$SUMMARY_LOG"
|
||||||
|
|
||||||
|
for mod in "${MODULES[@]}"; do
|
||||||
|
script_path="$REPO_ROOT/install-scripts/$mod.sh"
|
||||||
|
echo "\n=== $mod (DRY RUN) ===" | tee -a "$SUMMARY_LOG"
|
||||||
|
if [[ ! -x "$script_path" ]]; then
|
||||||
|
# Try to make executable if it exists
|
||||||
|
if [[ -f "$script_path" ]]; then
|
||||||
|
chmod +x "$script_path" || true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if [[ ! -f "$script_path" ]]; then
|
||||||
|
echo "[WARN] Missing script: $script_path" | tee -a "$SUMMARY_LOG"
|
||||||
|
RESULTS[$mod]="MISSING"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
if DRY_RUN=1 "$script_path"; then
|
||||||
|
RESULTS[$mod]="PASS"
|
||||||
|
else
|
||||||
|
RESULTS[$mod]="FAIL"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Summary
|
||||||
|
{
|
||||||
|
echo "\nSummary (dry-run):"
|
||||||
|
for mod in "${MODULES[@]}"; do
|
||||||
|
printf "%-24s %s\n" "$mod" "${RESULTS[$mod]:-SKIPPED}"
|
||||||
|
done
|
||||||
|
echo "\nLogs: individual module logs are under Install-Logs/. This summary: $SUMMARY_LOG"
|
||||||
|
} | tee -a "$SUMMARY_LOG"
|
||||||
|
|
||||||
|
# Exit non-zero if any FAIL occurred
|
||||||
|
failed=0
|
||||||
|
for mod in "${MODULES[@]}"; do
|
||||||
|
if [[ "${RESULTS[$mod]:-}" == "FAIL" ]]; then
|
||||||
|
failed=1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
exit $failed
|
||||||
@ -7,6 +7,13 @@
|
|||||||
#specific branch or release
|
#specific branch or release
|
||||||
tag="v0.9.2"
|
tag="v0.9.2"
|
||||||
|
|
||||||
|
# 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! ##
|
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
|
||||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
|
||||||
@ -38,10 +45,14 @@ if git clone --recursive -b $tag https://github.com/hyprwm/aquamarine.git; then
|
|||||||
cd aquamarine || exit 1
|
cd aquamarine || exit 1
|
||||||
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build
|
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`
|
cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF`
|
||||||
if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
printf "${OK} ${MAGENTA}aquamarine $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then
|
||||||
|
printf "${OK} ${MAGENTA}aquamarine $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||||
|
else
|
||||||
|
echo -e "${ERROR} Installation failed for ${YELLOW}aquamarine $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Installation failed for ${YELLOW}aquamarine $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
echo "${NOTE} DRY RUN: Skipping installation of aquamarine $tag."
|
||||||
fi
|
fi
|
||||||
#moving the addional logs to Install-Logs directory
|
#moving the addional logs to Install-Logs directory
|
||||||
mv $MLOG ../Install-Logs/ || true
|
mv $MLOG ../Install-Logs/ || true
|
||||||
|
|||||||
@ -10,6 +10,13 @@ hyprgraphics=(
|
|||||||
#specific branch or release
|
#specific branch or release
|
||||||
tag="v0.1.5"
|
tag="v0.1.5"
|
||||||
|
|
||||||
|
# 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! ##
|
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
|
||||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
|
||||||
@ -50,10 +57,14 @@ if git clone --recursive -b $tag https://github.com/hyprwm/hyprgraphics.git; the
|
|||||||
cd hyprgraphics || exit 1
|
cd hyprgraphics || exit 1
|
||||||
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build
|
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build
|
||||||
cmake --build ./build --config Release --target hyprgraphics -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF`
|
cmake --build ./build --config Release --target hyprgraphics -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF`
|
||||||
if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
printf "${OK} ${MAGENTA}hyprgraphics $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then
|
||||||
|
printf "${OK} ${MAGENTA}hyprgraphics $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||||
|
else
|
||||||
|
echo -e "${ERROR} Installation failed for ${YELLOW}hyprgraphics $graphics${RESET}" 2>&1 | tee -a "$MLOG"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Installation failed for ${YELLOW}hyprgraphics $graphics${RESET}" 2>&1 | tee -a "$MLOG"
|
echo "${NOTE} DRY RUN: Skipping installation of hyprgraphics $tag."
|
||||||
fi
|
fi
|
||||||
#moving the addional logs to Install-Logs directory
|
#moving the addional logs to Install-Logs directory
|
||||||
mv $MLOG ../Install-Logs/ || true
|
mv $MLOG ../Install-Logs/ || true
|
||||||
|
|||||||
@ -7,6 +7,13 @@
|
|||||||
#specific branch or release
|
#specific branch or release
|
||||||
tag="v0.6.4"
|
tag="v0.6.4"
|
||||||
|
|
||||||
|
# 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! ##
|
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
|
||||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
|
||||||
@ -37,10 +44,14 @@ printf "${INFO} Installing ${YELLOW}hyprland-protocols $tag${RESET} ...\n"
|
|||||||
if git clone --recursive -b $tag https://github.com/hyprwm/hyprland-protocols.git; then
|
if git clone --recursive -b $tag https://github.com/hyprwm/hyprland-protocols.git; then
|
||||||
cd hyprland-protocols || exit 1
|
cd hyprland-protocols || exit 1
|
||||||
meson setup build
|
meson setup build
|
||||||
if sudo meson install -C build 2>&1 | tee -a "$MLOG" ; then
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
printf "${OK} ${MAGENTA}hyprland-protocols $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
if sudo meson install -C build 2>&1 | tee -a "$MLOG" ; then
|
||||||
|
printf "${OK} ${MAGENTA}hyprland-protocols $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||||
|
else
|
||||||
|
echo -e "${ERROR} Installation failed for ${YELLOW}hyprland-protocols $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Installation failed for ${YELLOW}hyprland-protocols $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
echo "${NOTE} DRY RUN: Skipping installation of hyprland-protocols $tag."
|
||||||
fi
|
fi
|
||||||
#moving the addional logs to Install-Logs directory
|
#moving the addional logs to Install-Logs directory
|
||||||
mv $MLOG ../Install-Logs/ || true
|
mv $MLOG ../Install-Logs/ || true
|
||||||
|
|||||||
@ -17,6 +17,13 @@ qt_support=(
|
|||||||
#specific branch or release
|
#specific branch or release
|
||||||
tag="v0.1.0"
|
tag="v0.1.0"
|
||||||
|
|
||||||
|
# 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! ##
|
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
|
||||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
|
||||||
@ -58,10 +65,14 @@ if git clone --recursive -b $tag https://github.com/hyprwm/hyprland-qt-support.g
|
|||||||
cd hyprland-qt-support || exit 1
|
cd hyprland-qt-support || exit 1
|
||||||
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build
|
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`
|
cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF`
|
||||||
if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
printf "${OK} ${MAGENTA}hyprland-qt-support $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then
|
||||||
|
printf "${OK} ${MAGENTA}hyprland-qt-support $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||||
|
else
|
||||||
|
echo -e "${ERROR} Installation failed for ${YELLOW}hyprland-qt-support $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Installation failed for ${YELLOW}hyprland-qt-support $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
echo "${NOTE} DRY RUN: Skipping installation of hyprland-qt-support $tag."
|
||||||
fi
|
fi
|
||||||
#moving the addional logs to Install-Logs directory
|
#moving the addional logs to Install-Logs directory
|
||||||
mv $MLOG ../Install-Logs/ || true
|
mv $MLOG ../Install-Logs/ || true
|
||||||
|
|||||||
@ -19,6 +19,13 @@ qtutils=(
|
|||||||
#specific branch or release
|
#specific branch or release
|
||||||
tag="v0.1.4"
|
tag="v0.1.4"
|
||||||
|
|
||||||
|
# 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! ##
|
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
|
||||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
|
||||||
@ -60,10 +67,14 @@ if git clone --recursive -b $tag https://github.com/hyprwm/hyprland-qtutils.git;
|
|||||||
cd hyprland-qtutils || exit 1
|
cd hyprland-qtutils || exit 1
|
||||||
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build
|
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`
|
cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF`
|
||||||
if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
printf "${OK} ${MAGENTA}hyprland-qtutils $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
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"
|
||||||
|
else
|
||||||
|
echo -e "${ERROR} Installation failed for ${YELLOW}hyprland-qtutils $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Installation failed for ${YELLOW}hyprland-qtutils $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
echo "${NOTE} DRY RUN: Skipping installation of hyprland-qtutils $tag."
|
||||||
fi
|
fi
|
||||||
#moving the addional logs to Install-Logs directory
|
#moving the addional logs to Install-Logs directory
|
||||||
mv $MLOG ../Install-Logs/ || true
|
mv $MLOG ../Install-Logs/ || true
|
||||||
|
|||||||
@ -5,6 +5,13 @@
|
|||||||
#specific branch or release
|
#specific branch or release
|
||||||
tag="v0.50.1"
|
tag="v0.50.1"
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
hyprland=(
|
hyprland=(
|
||||||
clang
|
clang
|
||||||
llvm
|
llvm
|
||||||
@ -67,12 +74,23 @@ fi
|
|||||||
|
|
||||||
if git clone --recursive -b $tag "https://github.com/hyprwm/Hyprland"; then
|
if git clone --recursive -b $tag "https://github.com/hyprwm/Hyprland"; then
|
||||||
cd "Hyprland" || exit 1
|
cd "Hyprland" || exit 1
|
||||||
patch -p1 < ../assets/0001-fix-hyprland-compile-issue.patch
|
# Apply patch only if it applies cleanly; otherwise skip
|
||||||
|
if [ -f ../assets/0001-fix-hyprland-compile-issue.patch ]; then
|
||||||
|
if patch -p1 --dry-run < ../assets/0001-fix-hyprland-compile-issue.patch >/dev/null 2>&1; then
|
||||||
|
patch -p1 < ../assets/0001-fix-hyprland-compile-issue.patch
|
||||||
|
else
|
||||||
|
echo "${NOTE} Hyprland compile patch does not apply on $tag; skipping."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
CXX=clang++ CXXFLAGS=-std=gnu++26 make all
|
CXX=clang++ CXXFLAGS=-std=gnu++26 make all
|
||||||
if sudo make install 2>&1 | tee -a "$MLOG"; then
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
printf "${OK} ${MAGENTA}Hyprland tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
if sudo make install 2>&1 | tee -a "$MLOG"; then
|
||||||
|
printf "${OK} ${MAGENTA}Hyprland tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||||
|
else
|
||||||
|
echo -e "${ERROR} Installation failed for ${YELLOW}Hyprland $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Installation failed for ${YELLOW}Hyprland $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
echo "${NOTE} DRY RUN: Skipping installation of Hyprland $tag."
|
||||||
fi
|
fi
|
||||||
mv $MLOG ../Install-Logs/ || true
|
mv $MLOG ../Install-Logs/ || true
|
||||||
cd ..
|
cd ..
|
||||||
|
|||||||
@ -7,6 +7,13 @@
|
|||||||
#specific branch or release
|
#specific branch or release
|
||||||
tag="v0.6.4"
|
tag="v0.6.4"
|
||||||
|
|
||||||
|
# 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! ##
|
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
|
||||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
|
||||||
@ -38,10 +45,14 @@ if git clone --recursive -b $tag https://github.com/hyprwm/hyprlang.git; then
|
|||||||
cd hyprlang || exit 1
|
cd hyprlang || exit 1
|
||||||
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build
|
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build
|
||||||
cmake --build ./build --config Release --target hyprlang -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF`
|
cmake --build ./build --config Release --target hyprlang -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF`
|
||||||
if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
printf "${OK} ${MAGENTA}hyprlang tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then
|
||||||
|
printf "${OK} ${MAGENTA}hyprlang tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||||
|
else
|
||||||
|
echo -e "${ERROR} Installation failed for ${YELLOW}hyprlang $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Installation failed for ${YELLOW}hyprlang $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
echo "${NOTE} DRY RUN: Skipping installation of hyprlang $tag."
|
||||||
fi
|
fi
|
||||||
#moving the addional logs to Install-Logs directory
|
#moving the addional logs to Install-Logs directory
|
||||||
mv $MLOG ../Install-Logs/ || true
|
mv $MLOG ../Install-Logs/ || true
|
||||||
|
|||||||
@ -6,6 +6,13 @@
|
|||||||
#specific branch or release
|
#specific branch or release
|
||||||
tag="v0.8.2"
|
tag="v0.8.2"
|
||||||
|
|
||||||
|
# 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! ##
|
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
|
||||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
|
||||||
@ -36,10 +43,14 @@ if git clone -b $tag "https://github.com/hyprwm/hyprutils.git"; then
|
|||||||
cd "hyprutils" || exit 1
|
cd "hyprutils" || exit 1
|
||||||
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build
|
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`
|
cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF`
|
||||||
if sudo cmake --install build 2>&1 | tee -a "$MLOG"; then
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
printf "${OK} hyprutils installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
if sudo cmake --install build 2>&1 | tee -a "$MLOG"; then
|
||||||
|
printf "${OK} hyprutils installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||||
|
else
|
||||||
|
echo -e "${ERROR} Installation failed for hyprutils." 2>&1 | tee -a "$MLOG"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Installation failed for hyprutils." 2>&1 | tee -a "$MLOG"
|
echo "${NOTE} DRY RUN: Skipping installation of hyprutils $tag."
|
||||||
fi
|
fi
|
||||||
mv $MLOG ../Install-Logs/ || true
|
mv $MLOG ../Install-Logs/ || true
|
||||||
cd ..
|
cd ..
|
||||||
|
|||||||
@ -10,6 +10,13 @@ scan_depend=(
|
|||||||
#specific branch or release
|
#specific branch or release
|
||||||
tag="v0.4.5"
|
tag="v0.4.5"
|
||||||
|
|
||||||
|
# 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! ##
|
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
|
||||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
|
||||||
@ -53,10 +60,14 @@ if git clone --recursive -b $tag https://github.com/hyprwm/hyprwayland-scanner.g
|
|||||||
cd hyprwayland-scanner || exit 1
|
cd hyprwayland-scanner || exit 1
|
||||||
cmake -DCMAKE_INSTALL_PREFIX=/usr -B build
|
cmake -DCMAKE_INSTALL_PREFIX=/usr -B build
|
||||||
cmake --build build -j `nproc`
|
cmake --build build -j `nproc`
|
||||||
if sudo cmake --install build 2>&1 | tee -a "$MLOG" ; then
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
printf "${OK} hyprwayland-scanner installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
if sudo cmake --install build 2>&1 | tee -a "$MLOG" ; then
|
||||||
|
printf "${OK} hyprwayland-scanner installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||||
|
else
|
||||||
|
echo -e "${ERROR} Installation failed for hyprwayland-scanner." 2>&1 | tee -a "$MLOG"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Installation failed for hyprwayland-scanner." 2>&1 | tee -a "$MLOG"
|
echo "${NOTE} DRY RUN: Skipping installation of hyprwayland-scanner $tag."
|
||||||
fi
|
fi
|
||||||
#moving the addional logs to Install-Logs directory
|
#moving the addional logs to Install-Logs directory
|
||||||
mv $MLOG ../Install-Logs/ || true
|
mv $MLOG ../Install-Logs/ || true
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user