mirror of
https://github.com/JaKooLit/Debian-Hyprland.git
synced 2026-02-05 01:30:13 +01:00
Compare commits
7 Commits
d26848d307
...
97decb81ce
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
97decb81ce | ||
|
|
9f18774008 | ||
|
|
b7e405a300 | ||
|
|
6b66e62fd0 | ||
|
|
29e8044170 | ||
|
|
48e4f067d9 | ||
|
|
6d8fe7f359 |
13
CHANGELOG.md
13
CHANGELOG.md
@ -1,5 +1,14 @@
|
|||||||
## CHANGELOG
|
## CHANGELOG
|
||||||
|
|
||||||
|
## 23 January 2026
|
||||||
|
|
||||||
|
- New layout for building Hyprland Source
|
||||||
|
- The `build` directory will hold the source and compiler output
|
||||||
|
- Now you can just remove the build directory after install
|
||||||
|
- Updated the default Hyprland version to `v0.53.2`
|
||||||
|
- Updated the documentation on the new directory layout
|
||||||
|
- Fixed issue of Fastfetch reading old hyprland version file
|
||||||
|
|
||||||
## 21 January 2026
|
## 21 January 2026
|
||||||
|
|
||||||
### Important Note for Debian `Trixie` users.
|
### Important Note for Debian `Trixie` users.
|
||||||
@ -19,7 +28,7 @@
|
|||||||
|
|
||||||
## 02 January 2026
|
## 02 January 2026
|
||||||
|
|
||||||
### > Note: Support for Hyprland v0.53.1 is now available for Debian Stable (Trixie)
|
### > Note: Support for Hyprland v0.53.2 is now available for Debian Stable (Trixie)
|
||||||
|
|
||||||
### > At this time it should be considered BETA, not for production use
|
### > At this time it should be considered BETA, not for production use
|
||||||
|
|
||||||
@ -28,7 +37,7 @@
|
|||||||
### > Only Intel, AMD, and in VMs
|
### > Only Intel, AMD, and in VMs
|
||||||
|
|
||||||
- Updated:
|
- Updated:
|
||||||
- Default Hyprland stack versions now target 0.53.1 (see `hypr-tags.env`)
|
- Default Hyprland stack versions now target 0.53.2 (see `hypr-tags.env`)
|
||||||
- Added trixie compatibility mode flags:
|
- Added trixie compatibility mode flags:
|
||||||
- `--build-trixie` / `--no-trixie` (auto-detected on Debian 13)
|
- `--build-trixie` / `--no-trixie` (auto-detected on Debian 13)
|
||||||
- Added `--force-update` to refresh pinned package versions
|
- Added `--force-update` to refresh pinned package versions
|
||||||
|
|||||||
@ -128,7 +128,7 @@ Archivo con etiquetas de versión para todos los componentes de Hyprland:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Versiones actuales (ejemplo)
|
# Versiones actuales (ejemplo)
|
||||||
HYPRLAND_TAG=v0.53.1
|
HYPRLAND_TAG=v0.53.2
|
||||||
AQUAMARINE_TAG=v0.10.0
|
AQUAMARINE_TAG=v0.10.0
|
||||||
HYPRUTILS_TAG=v0.11.0
|
HYPRUTILS_TAG=v0.11.0
|
||||||
HYPRLANG_TAG=v0.6.8
|
HYPRLANG_TAG=v0.6.8
|
||||||
@ -327,6 +327,20 @@ Notas:
|
|||||||
- **Sin cambios en el sistema**: No instala archivos en /usr/local o /usr
|
- **Sin cambios en el sistema**: No instala archivos en /usr/local o /usr
|
||||||
|
|
||||||
## Gestión de Logs
|
## Gestión de Logs
|
||||||
|
## Artefactos de Build y Limpieza
|
||||||
|
|
||||||
|
Todas las fuentes descargadas y salidas de compilación ahora viven en `~/Debian-Hyprland/build/`:
|
||||||
|
|
||||||
|
- **Fuentes:** `build/src/<proyecto>`
|
||||||
|
- **Salida de build:** `build/<proyecto>`
|
||||||
|
|
||||||
|
Esto mantiene el repositorio limpio. Para eliminar todos los artefactos de compilación:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
rm -rf ~/Debian-Hyprland/build
|
||||||
|
```
|
||||||
|
|
||||||
|
Nota: Esto solo elimina artefactos de compilación y fuentes descargadas; no desinstala nada del sistema.
|
||||||
|
|
||||||
### Ubicación de Logs
|
### Ubicación de Logs
|
||||||
|
|
||||||
|
|||||||
@ -128,7 +128,7 @@ This file contains version tags for all Hyprland components:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Current versions (example)
|
# Current versions (example)
|
||||||
HYPRLAND_TAG=v0.53.1
|
HYPRLAND_TAG=v0.53.2
|
||||||
AQUAMARINE_TAG=v0.10.0
|
AQUAMARINE_TAG=v0.10.0
|
||||||
HYPRUTILS_TAG=v0.11.0
|
HYPRUTILS_TAG=v0.11.0
|
||||||
HYPRLANG_TAG=v0.6.8
|
HYPRLANG_TAG=v0.6.8
|
||||||
@ -327,6 +327,20 @@ Notes:
|
|||||||
- **No system changes**: No files installed to /usr/local or /usr
|
- **No system changes**: No files installed to /usr/local or /usr
|
||||||
|
|
||||||
## Log Management
|
## Log Management
|
||||||
|
## Build Artifacts & Cleanup
|
||||||
|
|
||||||
|
All source clones and build outputs now live under `~/Debian-Hyprland/build/`:
|
||||||
|
|
||||||
|
- **Sources:** `build/src/<project>`
|
||||||
|
- **Build output:** `build/<project>`
|
||||||
|
|
||||||
|
This keeps the repo root clean. To remove all build artifacts:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
rm -rf ~/Debian-Hyprland/build
|
||||||
|
```
|
||||||
|
|
||||||
|
Note: This only removes build artifacts and downloaded sources; it does not uninstall anything from your system.
|
||||||
|
|
||||||
### Log Location
|
### Log Location
|
||||||
|
|
||||||
|
|||||||
@ -102,14 +102,14 @@ sudo nano /etc/apt/sources.list
|
|||||||
[Debian-Hyprland Changelogs](https://github.com/JaKooLit/Debian-Hyprland/blob/main/CHANGELOGS.md)
|
[Debian-Hyprland Changelogs](https://github.com/JaKooLit/Debian-Hyprland/blob/main/CHANGELOGS.md)
|
||||||
|
|
||||||
- 10 January 2026 Update!
|
- 10 January 2026 Update!
|
||||||
- Debian now builds Hyprland v0.53.1!
|
- Debian now builds Hyprland v0.53.2!
|
||||||
- This requires the just released `Debian-Hyprland v2.9.4` installer
|
- This requires the just released `Debian-Hyprland v2.9.4` installer
|
||||||
- Debian 13 (`Trixie`, aka `Stable`)
|
- Debian 13 (`Trixie`, aka `Stable`)
|
||||||
- While it does now support v0.53.1
|
- While it does now support v0.53.2
|
||||||
- At this time it should not be used for production
|
- At this time it should not be used for production
|
||||||
- Testing is on going but NVIDIA GPUs have not been tested
|
- Testing is on going but NVIDIA GPUs have not been tested
|
||||||
- Intel, AMD, and in VMs only so far
|
- Intel, AMD, and in VMs only so far
|
||||||
- Debian Testing (`Forky`) and Unstable (`SID`) - Build and run Hyprland v0.53.1 without issue
|
- Debian Testing (`Forky`) and Unstable (`SID`) - Build and run Hyprland v0.53.2 without issue
|
||||||
|
|
||||||
- 10 October 2025 Update!
|
- 10 October 2025 Update!
|
||||||
- Hyprland-Debian nows builds 0.51.1 from source!
|
- Hyprland-Debian nows builds 0.51.1 from source!
|
||||||
|
|||||||
@ -1,18 +1,13 @@
|
|||||||
# Central tag overrides for the Hyprland stack
|
|
||||||
# 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 0.53.x stack (includes hyprwire)
|
|
||||||
HYPRLAND_TAG=v0.53.1
|
|
||||||
AQUAMARINE_TAG=v0.10.0
|
AQUAMARINE_TAG=v0.10.0
|
||||||
HYPRUTILS_TAG=v0.11.0
|
|
||||||
HYPRLANG_TAG=v0.6.8
|
|
||||||
HYPRGRAPHICS_TAG=v0.5.0
|
HYPRGRAPHICS_TAG=v0.5.0
|
||||||
HYPRTOOLKIT_TAG=v0.4.1
|
HYPRLAND_GUIUTILS_TAG=v0.2.1
|
||||||
HYPRWAYLAND_SCANNER_TAG=v0.4.5
|
|
||||||
HYPRLAND_PROTOCOLS_TAG=v0.7.0
|
HYPRLAND_PROTOCOLS_TAG=v0.7.0
|
||||||
HYPRLAND_QT_SUPPORT_TAG=v0.1.0
|
HYPRLAND_QT_SUPPORT_TAG=v0.1.0
|
||||||
HYPRLAND_QTUTILS_TAG=v0.1.5
|
HYPRLAND_QTUTILS_TAG=v0.1.5
|
||||||
HYPRLAND_GUIUTILS_TAG=v0.2.0
|
HYPRLAND_TAG=v0.53.2
|
||||||
|
HYPRLANG_TAG=v0.6.8
|
||||||
|
HYPRTOOLKIT_TAG=v0.5.3
|
||||||
|
HYPRUTILS_TAG=v0.11.0
|
||||||
|
HYPRWAYLAND_SCANNER_TAG=v0.4.5
|
||||||
HYPRWIRE_TAG=v0.2.1
|
HYPRWIRE_TAG=v0.2.1
|
||||||
WAYLAND_PROTOCOLS_TAG=1.46
|
WAYLAND_PROTOCOLS_TAG=1.46
|
||||||
|
|||||||
@ -25,6 +25,12 @@ if [ ! -d Install-Logs ]; then
|
|||||||
mkdir Install-Logs
|
mkdir Install-Logs
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Shared build output root (override with BUILD_ROOT env)
|
||||||
|
BUILD_ROOT="${BUILD_ROOT:-$PWD/build}"
|
||||||
|
mkdir -p "$BUILD_ROOT"
|
||||||
|
SRC_ROOT="${SRC_ROOT:-$BUILD_ROOT/src}"
|
||||||
|
mkdir -p "$SRC_ROOT"
|
||||||
|
|
||||||
# Show progress function
|
# Show progress function
|
||||||
show_progress() {
|
show_progress() {
|
||||||
local pid=$1
|
local pid=$1
|
||||||
|
|||||||
@ -95,8 +95,9 @@ sudo npm install --global typescript 2>&1 | tee -a "$LOG"
|
|||||||
# ags v1
|
# ags v1
|
||||||
printf "${NOTE} Install and Compiling ${SKY_BLUE}Aylur's GTK shell $ags_tag${RESET}..\n"
|
printf "${NOTE} Install and Compiling ${SKY_BLUE}Aylur's GTK shell $ags_tag${RESET}..\n"
|
||||||
|
|
||||||
# Remove previous sources (both legacy "ags" and tagged "ags_v1.9.0")
|
# Remove previous sources (both legacy "ags" and tagged "ags_v1.9.0") under build/src
|
||||||
for SRC_DIR in "ags" "ags_v1.9.0"; do
|
for OLD in "ags" "ags_v1.9.0"; do
|
||||||
|
SRC_DIR="$SRC_ROOT/$OLD"
|
||||||
if [ -d "$SRC_DIR" ]; then
|
if [ -d "$SRC_DIR" ]; then
|
||||||
printf "${NOTE} Removing existing %s directory...\\n" "$SRC_DIR"
|
printf "${NOTE} Removing existing %s directory...\\n" "$SRC_DIR"
|
||||||
rm -rf "$SRC_DIR"
|
rm -rf "$SRC_DIR"
|
||||||
@ -107,11 +108,14 @@ printf "\n%.0s" {1..1}
|
|||||||
printf "${INFO} Kindly Standby...cloning and compiling ${SKY_BLUE}Aylur's GTK shell $ags_tag${RESET}...\n"
|
printf "${INFO} Kindly Standby...cloning and compiling ${SKY_BLUE}Aylur's GTK shell $ags_tag${RESET}...\n"
|
||||||
printf "\n%.0s" {1..1}
|
printf "\n%.0s" {1..1}
|
||||||
# Clone repository with the specified tag and capture git output into MLOG
|
# Clone repository with the specified tag and capture git output into MLOG
|
||||||
if git clone --depth=1 https://github.com/JaKooLit/ags_v1.9.0.git; then
|
SRC_DIR="$SRC_ROOT/ags_v1.9.0"
|
||||||
cd ags_v1.9.0 || exit 1
|
if git clone --depth=1 https://github.com/JaKooLit/ags_v1.9.0.git "$SRC_DIR"; then
|
||||||
|
cd "$SRC_DIR" || exit 1
|
||||||
|
BUILD_DIR="$BUILD_ROOT/ags_v1.9.0"
|
||||||
|
mkdir -p "$BUILD_DIR"
|
||||||
npm install
|
npm install
|
||||||
meson setup build
|
meson setup "$BUILD_DIR"
|
||||||
if sudo meson install -C build 2>&1 | tee -a "$MLOG"; then
|
if sudo meson install -C "$BUILD_DIR" 2>&1 | tee -a "$MLOG"; then
|
||||||
printf "\n${OK} ${YELLOW}Aylur's GTK shell $ags_tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
printf "\n${OK} ${YELLOW}Aylur's GTK shell $ags_tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||||
|
|
||||||
# Patch installed AGS launchers to ensure GI typelibs in /usr/local/lib are discoverable in GJS ESM
|
# Patch installed AGS launchers to ensure GI typelibs in /usr/local/lib are discoverable in GJS ESM
|
||||||
@ -203,11 +207,11 @@ WRAP
|
|||||||
echo -e "\n${ERROR} ${YELLOW}Aylur's GTK shell $ags_tag${RESET} Installation failed\n " 2>&1 | tee -a "$MLOG"
|
echo -e "\n${ERROR} ${YELLOW}Aylur's GTK shell $ags_tag${RESET} Installation failed\n " 2>&1 | tee -a "$MLOG"
|
||||||
fi
|
fi
|
||||||
# Move logs to Install-Logs directory
|
# Move logs to Install-Logs directory
|
||||||
mv "$MLOG" ../Install-Logs/ || true
|
mv "$MLOG" "$PARENT_DIR/Install-Logs/" || true
|
||||||
cd ..
|
cd ..
|
||||||
else
|
else
|
||||||
echo -e "\n${ERROR} Failed to download ${YELLOW}Aylur's GTK shell $ags_tag${RESET} Please check your connection\n" 2>&1 | tee -a "$LOG"
|
echo -e "\n${ERROR} Failed to download ${YELLOW}Aylur's GTK shell $ags_tag${RESET} Please check your connection\n" 2>&1 | tee -a "$LOG"
|
||||||
mv "$MLOG" ../Install-Logs/ || true
|
mv "$MLOG" "$PARENT_DIR/Install-Logs/" || true
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@ -41,19 +41,22 @@ MLOG="install-$(date +%d-%H%M%S)_aquamarine.log"
|
|||||||
# Installation of dependencies
|
# Installation of dependencies
|
||||||
printf "\n%s - Installing ${YELLOW}aquamarine dependencies${RESET} .... \n" "${INFO}"
|
printf "\n%s - Installing ${YELLOW}aquamarine dependencies${RESET} .... \n" "${INFO}"
|
||||||
|
|
||||||
# Check if aquamarinedirectory exists and remove it
|
# Check if aquamarinedirectory exists and remove it (under build/src)
|
||||||
if [ -d "aquamarine" ]; then
|
SRC_DIR="$SRC_ROOT/aquamarine"
|
||||||
rm -rf "aquamarine"
|
if [ -d "$SRC_DIR" ]; then
|
||||||
|
rm -rf "$SRC_DIR"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Clone and build
|
# Clone and build
|
||||||
printf "${INFO} Installing ${YELLOW}aquamarine $tag${RESET} ...\n"
|
printf "${INFO} Installing ${YELLOW}aquamarine $tag${RESET} ...\n"
|
||||||
if git clone --recursive -b "$tag" https://github.com/hyprwm/aquamarine.git; then
|
if git clone --recursive -b "$tag" https://github.com/hyprwm/aquamarine.git "$SRC_DIR"; then
|
||||||
cd aquamarine || exit 1
|
cd "$SRC_DIR" || exit 1
|
||||||
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -S . -B ./build
|
BUILD_DIR="$BUILD_ROOT/aquamarine"
|
||||||
cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF`
|
mkdir -p "$BUILD_DIR"
|
||||||
|
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -S . -B "$BUILD_DIR"
|
||||||
|
cmake --build "$BUILD_DIR" --config Release --target all -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF`
|
||||||
if [ $DO_INSTALL -eq 1 ]; then
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then
|
if sudo cmake --install "$BUILD_DIR" 2>&1 | tee -a "$MLOG" ; then
|
||||||
printf "${OK} ${MAGENTA}aquamarine $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
printf "${OK} ${MAGENTA}aquamarine $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Installation failed for ${YELLOW}aquamarine $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
echo -e "${ERROR} Installation failed for ${YELLOW}aquamarine $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
||||||
@ -62,7 +65,7 @@ if git clone --recursive -b "$tag" https://github.com/hyprwm/aquamarine.git; the
|
|||||||
echo "${NOTE} DRY RUN: Skipping installation of aquamarine $tag."
|
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
|
||||||
[ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/
|
[ -f "$MLOG" ] && mv "$MLOG" "$PARENT_DIR/Install-Logs/"
|
||||||
cd ..
|
cd ..
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Download failed for ${YELLOW}aquamarine $tag${RESET}" 2>&1 | tee -a "$LOG"
|
echo -e "${ERROR} Download failed for ${YELLOW}aquamarine $tag${RESET}" 2>&1 | tee -a "$LOG"
|
||||||
|
|||||||
@ -24,15 +24,16 @@ fi
|
|||||||
# Check if Hyprland-Dots exists
|
# Check if Hyprland-Dots exists
|
||||||
printf "${NOTE} Cloning and Installing ${SKY_BLUE}KooL's Hyprland Dots for Debian${RESET}....\n"
|
printf "${NOTE} Cloning and Installing ${SKY_BLUE}KooL's Hyprland Dots for Debian${RESET}....\n"
|
||||||
|
|
||||||
# Check if Hyprland-Dots exists
|
# Check if Hyprland-Dots exists (under build/src)
|
||||||
if [ -d Hyprland-Dots-Debian ]; then
|
SRC_DIR="$SRC_ROOT/Hyprland-Dots-Debian"
|
||||||
cd Hyprland-Dots-Debian
|
if [ -d "$SRC_DIR" ]; then
|
||||||
|
cd "$SRC_DIR"
|
||||||
git stash && git pull
|
git stash && git pull
|
||||||
chmod +x copy.sh
|
chmod +x copy.sh
|
||||||
./copy.sh
|
./copy.sh
|
||||||
else
|
else
|
||||||
if git clone --depth=1 https://github.com/JaKooLit/Hyprland-Dots Hyprland-Dots-Debian; then
|
if git clone --depth=1 https://github.com/JaKooLit/Hyprland-Dots "$SRC_DIR"; then
|
||||||
cd Hyprland-Dots-Debian || exit 1
|
cd "$SRC_DIR" || exit 1
|
||||||
chmod +x copy.sh
|
chmod +x copy.sh
|
||||||
./copy.sh
|
./copy.sh
|
||||||
else
|
else
|
||||||
|
|||||||
@ -29,18 +29,19 @@ for PKG1 in "${engine[@]}"; do
|
|||||||
install_package "$PKG1" "$LOG"
|
install_package "$PKG1" "$LOG"
|
||||||
done
|
done
|
||||||
|
|
||||||
# Check if the directory exists and delete it if present
|
# Check if the directory exists and delete it if present (under build/src)
|
||||||
if [ -d "GTK-themes-icons" ]; then
|
SRC_DIR="$SRC_ROOT/GTK-themes-icons"
|
||||||
|
if [ -d "$SRC_DIR" ]; then
|
||||||
echo "$NOTE GTK themes and Icons directory exist..deleting..." 2>&1 | tee -a "$LOG"
|
echo "$NOTE GTK themes and Icons directory exist..deleting..." 2>&1 | tee -a "$LOG"
|
||||||
rm -rf "GTK-themes-icons" 2>&1 | tee -a "$LOG"
|
rm -rf "$SRC_DIR" 2>&1 | tee -a "$LOG"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "$NOTE Cloning ${SKY_BLUE}GTK themes and Icons${RESET} repository..." 2>&1 | tee -a "$LOG"
|
echo "$NOTE Cloning ${SKY_BLUE}GTK themes and Icons${RESET} repository..." 2>&1 | tee -a "$LOG"
|
||||||
if git clone --depth=1 https://github.com/JaKooLit/GTK-themes-icons.git ; then
|
if git clone --depth=1 https://github.com/JaKooLit/GTK-themes-icons.git "$SRC_DIR"; then
|
||||||
cd GTK-themes-icons
|
cd "$SRC_DIR"
|
||||||
chmod +x auto-extract.sh
|
chmod +x auto-extract.sh
|
||||||
./auto-extract.sh
|
./auto-extract.sh
|
||||||
cd ..
|
cd "$PARENT_DIR"
|
||||||
echo "$OK Extracted GTK Themes & Icons to ~/.icons & ~/.themes directories" 2>&1 | tee -a "$LOG"
|
echo "$OK Extracted GTK Themes & Icons to ~/.icons & ~/.themes directories" 2>&1 | tee -a "$LOG"
|
||||||
else
|
else
|
||||||
echo "$ERROR Download failed for GTK themes and Icons.." 2>&1 | tee -a "$LOG"
|
echo "$ERROR Download failed for GTK themes and Icons.." 2>&1 | tee -a "$LOG"
|
||||||
|
|||||||
@ -45,25 +45,28 @@ for PKG1 in "${cursor[@]}"; do
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# Check if hyprcursor folder exists and remove it
|
# Check if hyprcursor folder exists and remove it (under build/src)
|
||||||
if [ -d "hyprcursor" ]; then
|
SRC_DIR="$SRC_ROOT/hyprcursor"
|
||||||
|
if [ -d "$SRC_DIR" ]; then
|
||||||
printf "${NOTE} Removing existing hyprcursor folder...\n"
|
printf "${NOTE} Removing existing hyprcursor folder...\n"
|
||||||
rm -rf "hyprcursor"
|
rm -rf "$SRC_DIR"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Clone and build
|
# Clone and build
|
||||||
printf "${NOTE} Installing hyprcursor...\n"
|
printf "${NOTE} Installing hyprcursor...\n"
|
||||||
if git clone --recursive -b $tag https://github.com/hyprwm/hyprcursor.git; then
|
if git clone --recursive -b $tag https://github.com/hyprwm/hyprcursor.git "$SRC_DIR"; then
|
||||||
cd hyprcursor || exit 1
|
cd "$SRC_DIR" || exit 1
|
||||||
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build
|
BUILD_DIR="$BUILD_ROOT/hyprcursor"
|
||||||
cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF`
|
mkdir -p "$BUILD_DIR"
|
||||||
if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then
|
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B "$BUILD_DIR"
|
||||||
|
cmake --build "$BUILD_DIR" --config Release --target all -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF`
|
||||||
|
if sudo cmake --install "$BUILD_DIR" 2>&1 | tee -a "$MLOG" ; then
|
||||||
printf "${OK} hyprcursor installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
printf "${OK} hyprcursor installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Installation failed for hyprcursor." 2>&1 | tee -a "$MLOG"
|
echo -e "${ERROR} Installation failed for hyprcursor." 2>&1 | tee -a "$MLOG"
|
||||||
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 "$PARENT_DIR/Install-Logs/" || true
|
||||||
cd ..
|
cd ..
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Download failed for hyprcursor." 2>&1 | tee -a "$LOG"
|
echo -e "${ERROR} Download failed for hyprcursor." 2>&1 | tee -a "$LOG"
|
||||||
|
|||||||
@ -53,19 +53,22 @@ for PKG1 in "${hyprgraphics[@]}"; do
|
|||||||
done
|
done
|
||||||
printf "\n%.0s" {1..1}
|
printf "\n%.0s" {1..1}
|
||||||
|
|
||||||
# Check if hyprgraphics directory exists and remove it
|
# Check if hyprgraphics directory exists and remove it (under build/src)
|
||||||
if [ -d "hyprgraphics" ]; then
|
SRC_DIR="$SRC_ROOT/hyprgraphics"
|
||||||
rm -rf "hyprgraphics"
|
if [ -d "$SRC_DIR" ]; then
|
||||||
|
rm -rf "$SRC_DIR"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Clone and build
|
# Clone and build
|
||||||
printf "${INFO} Installing ${YELLOW}hyprgraphics $tag${RESET} ...\n"
|
printf "${INFO} Installing ${YELLOW}hyprgraphics $tag${RESET} ...\n"
|
||||||
if git clone --recursive -b $tag https://github.com/hyprwm/hyprgraphics.git; then
|
if git clone --recursive -b $tag https://github.com/hyprwm/hyprgraphics.git "$SRC_DIR"; then
|
||||||
cd hyprgraphics || exit 1
|
cd "$SRC_DIR" || exit 1
|
||||||
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build
|
BUILD_DIR="$BUILD_ROOT/hyprgraphics"
|
||||||
cmake --build ./build --config Release --target hyprgraphics -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF`
|
mkdir -p "$BUILD_DIR"
|
||||||
|
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B "$BUILD_DIR"
|
||||||
|
cmake --build "$BUILD_DIR" --config Release --target hyprgraphics -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF`
|
||||||
if [ $DO_INSTALL -eq 1 ]; then
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then
|
if sudo cmake --install "$BUILD_DIR" 2>&1 | tee -a "$MLOG" ; then
|
||||||
printf "${OK} ${MAGENTA}hyprgraphics $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
printf "${OK} ${MAGENTA}hyprgraphics $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Installation failed for ${YELLOW}hyprgraphics $graphics${RESET}" 2>&1 | tee -a "$MLOG"
|
echo -e "${ERROR} Installation failed for ${YELLOW}hyprgraphics $graphics${RESET}" 2>&1 | tee -a "$MLOG"
|
||||||
@ -74,7 +77,7 @@ if git clone --recursive -b $tag https://github.com/hyprwm/hyprgraphics.git; the
|
|||||||
echo "${NOTE} DRY RUN: Skipping installation of hyprgraphics $tag."
|
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
|
||||||
[ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/
|
[ -f "$MLOG" ] && mv "$MLOG" "$PARENT_DIR/Install-Logs/"
|
||||||
cd ..
|
cd ..
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Download failed for ${YELLOW}hyprgraphics $graphics${RESET}" 2>&1 | tee -a "$LOG"
|
echo -e "${ERROR} Download failed for ${YELLOW}hyprgraphics $graphics${RESET}" 2>&1 | tee -a "$LOG"
|
||||||
|
|||||||
@ -37,24 +37,27 @@ for PKG1 in "${idle[@]}"; do
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# Check if hypridle directory exists and remove it
|
# Check if hypridle directory exists and remove it (under build/src)
|
||||||
if [ -d "hypridle" ]; then
|
SRC_DIR="$SRC_ROOT/hypridle"
|
||||||
rm -rf "hypridle"
|
if [ -d "$SRC_DIR" ]; then
|
||||||
|
rm -rf "$SRC_DIR"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Clone and build
|
# Clone and build
|
||||||
printf "${INFO} Installing ${YELLOW}hypridle $tag${RESET} ...\n"
|
printf "${INFO} Installing ${YELLOW}hypridle $tag${RESET} ...\n"
|
||||||
if git clone --recursive -b $tag https://github.com/hyprwm/hypridle.git; then
|
if git clone --recursive -b $tag https://github.com/hyprwm/hypridle.git "$SRC_DIR"; then
|
||||||
cd hypridle || exit 1
|
cd "$SRC_DIR" || exit 1
|
||||||
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -S . -B ./build
|
BUILD_DIR="$BUILD_ROOT/hypridle"
|
||||||
cmake --build ./build --config Release --target hypridle -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF`
|
mkdir -p "$BUILD_DIR"
|
||||||
if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then
|
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -S . -B "$BUILD_DIR"
|
||||||
|
cmake --build "$BUILD_DIR" --config Release --target hypridle -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF`
|
||||||
|
if sudo cmake --install "$BUILD_DIR" 2>&1 | tee -a "$MLOG" ; then
|
||||||
printf "${OK} ${MAGENTA}hypridle $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
printf "${OK} ${MAGENTA}hypridle $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Installation failed for ${YELLOW}hypridle $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
echo -e "${ERROR} Installation failed for ${YELLOW}hypridle $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
||||||
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 "$PARENT_DIR/Install-Logs/" || true
|
||||||
cd ..
|
cd ..
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Download failed for ${YELLOW}hypridle $tag${RESET}" 2>&1 | tee -a "$LOG"
|
echo -e "${ERROR} Download failed for ${YELLOW}hypridle $tag${RESET}" 2>&1 | tee -a "$LOG"
|
||||||
|
|||||||
@ -63,15 +63,16 @@ done
|
|||||||
|
|
||||||
printf "\n%.0s" {1..1}
|
printf "\n%.0s" {1..1}
|
||||||
|
|
||||||
# Check if hyprland-guiutils directory exists and remove it
|
# Check if hyprland-guiutils directory exists and remove it (under build/src)
|
||||||
if [ -d "hyprland-guiutils" ]; then
|
SRC_DIR="$SRC_ROOT/hyprland-guiutils"
|
||||||
rm -rf "hyprland-guiutils"
|
if [ -d "$SRC_DIR" ]; then
|
||||||
|
rm -rf "$SRC_DIR"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Clone and build
|
# Clone and build
|
||||||
printf "${INFO} Installing ${YELLOW}hyprland-guiutils $tag${RESET} ...\n"
|
printf "${INFO} Installing ${YELLOW}hyprland-guiutils $tag${RESET} ...\n"
|
||||||
if git clone --recursive -b $tag https://github.com/hyprwm/hyprland-guiutils.git; then
|
if git clone --recursive -b $tag https://github.com/hyprwm/hyprland-guiutils.git "$SRC_DIR"; then
|
||||||
cd hyprland-guiutils || exit 1
|
cd "$SRC_DIR" || exit 1
|
||||||
# Prefer /usr/local Hypr* libs so we don't accidentally link against copies in /lib.
|
# Prefer /usr/local Hypr* libs so we don't accidentally link against copies in /lib.
|
||||||
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:${PKG_CONFIG_PATH:-}"
|
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:${PKG_CONFIG_PATH:-}"
|
||||||
export CMAKE_PREFIX_PATH="/usr/local:${CMAKE_PREFIX_PATH:-}"
|
export CMAKE_PREFIX_PATH="/usr/local:${CMAKE_PREFIX_PATH:-}"
|
||||||
@ -79,10 +80,12 @@ if git clone --recursive -b $tag https://github.com/hyprwm/hyprland-guiutils.git
|
|||||||
export LDFLAGS="-L/usr/local/lib -Wl,-rpath,/usr/local/lib -Wl,-rpath-link,/usr/local/lib ${LDFLAGS:-}"
|
export LDFLAGS="-L/usr/local/lib -Wl,-rpath,/usr/local/lib -Wl,-rpath-link,/usr/local/lib ${LDFLAGS:-}"
|
||||||
export CPPFLAGS="-I/usr/local/include ${CPPFLAGS:-}"
|
export CPPFLAGS="-I/usr/local/include ${CPPFLAGS:-}"
|
||||||
|
|
||||||
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -S . -B ./build
|
BUILD_DIR="$BUILD_ROOT/hyprland-guiutils"
|
||||||
cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF`
|
mkdir -p "$BUILD_DIR"
|
||||||
|
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -S . -B "$BUILD_DIR"
|
||||||
|
cmake --build "$BUILD_DIR" --config Release --target all -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF`
|
||||||
if [ $DO_INSTALL -eq 1 ]; then
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then
|
if sudo cmake --install "$BUILD_DIR" 2>&1 | tee -a "$MLOG" ; then
|
||||||
printf "${OK} ${MAGENTA}hyprland-guiutils $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
|
else
|
||||||
echo -e "${ERROR} Installation failed for ${YELLOW}hyprland-guiutils $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
echo -e "${ERROR} Installation failed for ${YELLOW}hyprland-guiutils $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
||||||
@ -91,7 +94,7 @@ if git clone --recursive -b $tag https://github.com/hyprwm/hyprland-guiutils.git
|
|||||||
echo "${NOTE} DRY RUN: Skipping installation of hyprland-guiutils $tag."
|
echo "${NOTE} DRY RUN: Skipping installation of hyprland-guiutils $tag."
|
||||||
fi
|
fi
|
||||||
#moving the addional logs to Install-Logs directory
|
#moving the addional logs to Install-Logs directory
|
||||||
[ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/
|
[ -f "$MLOG" ] && mv "$MLOG" "$PARENT_DIR/Install-Logs/"
|
||||||
cd ..
|
cd ..
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Download failed for ${YELLOW}hyprland-guiutils $tag${RESET}" 2>&1 | tee -a "$LOG"
|
echo -e "${ERROR} Download failed for ${YELLOW}hyprland-guiutils $tag${RESET}" 2>&1 | tee -a "$LOG"
|
||||||
|
|||||||
@ -41,18 +41,21 @@ MLOG="install-$(date +%d-%H%M%S)_protocols2.log"
|
|||||||
# Installation of dependencies
|
# Installation of dependencies
|
||||||
printf "\n%s - Installing ${YELLOW}hyprland-protocols dependencies${RESET} .... \n" "${INFO}"
|
printf "\n%s - Installing ${YELLOW}hyprland-protocols dependencies${RESET} .... \n" "${INFO}"
|
||||||
|
|
||||||
# Check if hyprland-protocols directory exists and remove it
|
# Check if hyprland-protocols directory exists and remove it (under build/src)
|
||||||
if [ -d "hyprland-protocols" ]; then
|
SRC_DIR="$SRC_ROOT/hyprland-protocols"
|
||||||
rm -rf "hyprland-protocols"
|
if [ -d "$SRC_DIR" ]; then
|
||||||
|
rm -rf "$SRC_DIR"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Clone and build
|
# Clone and build
|
||||||
printf "${INFO} Installing ${YELLOW}hyprland-protocols $tag${RESET} ...\n"
|
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 "$SRC_DIR"; then
|
||||||
cd hyprland-protocols || exit 1
|
cd "$SRC_DIR" || exit 1
|
||||||
meson setup build
|
BUILD_DIR="$BUILD_ROOT/hyprland-protocols"
|
||||||
|
mkdir -p "$BUILD_DIR"
|
||||||
|
meson setup "$BUILD_DIR"
|
||||||
if [ $DO_INSTALL -eq 1 ]; then
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
if sudo meson install -C build 2>&1 | tee -a "$MLOG" ; then
|
if sudo meson install -C "$BUILD_DIR" 2>&1 | tee -a "$MLOG" ; then
|
||||||
printf "${OK} ${MAGENTA}hyprland-protocols $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
printf "${OK} ${MAGENTA}hyprland-protocols $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Installation failed for ${YELLOW}hyprland-protocols $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
echo -e "${ERROR} Installation failed for ${YELLOW}hyprland-protocols $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
||||||
@ -61,7 +64,7 @@ if git clone --recursive -b $tag https://github.com/hyprwm/hyprland-protocols.gi
|
|||||||
echo "${NOTE} DRY RUN: Skipping installation of hyprland-protocols $tag."
|
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
|
||||||
[ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/
|
[ -f "$MLOG" ] && mv "$MLOG" "$PARENT_DIR/Install-Logs/"
|
||||||
cd ..
|
cd ..
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Download failed for ${YELLOW}hyprland-protocols tag${RESET}" 2>&1 | tee -a "$LOG"
|
echo -e "${ERROR} Download failed for ${YELLOW}hyprland-protocols tag${RESET}" 2>&1 | tee -a "$LOG"
|
||||||
|
|||||||
@ -61,19 +61,22 @@ done
|
|||||||
|
|
||||||
printf "\n%.0s" {1..1}
|
printf "\n%.0s" {1..1}
|
||||||
|
|
||||||
# Check if hyprland-qt-support directory exists and remove it
|
# Check if hyprland-qt-support directory exists and remove it (under build/src)
|
||||||
if [ -d "hyprland-qt-support" ]; then
|
SRC_DIR="$SRC_ROOT/hyprland-qt-support"
|
||||||
rm -rf "hyprland-qt-support"
|
if [ -d "$SRC_DIR" ]; then
|
||||||
|
rm -rf "$SRC_DIR"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Clone and build
|
# Clone and build
|
||||||
printf "${INFO} Installing ${YELLOW}hyprland-qt-support $tag${RESET} ...\n"
|
printf "${INFO} Installing ${YELLOW}hyprland-qt-support $tag${RESET} ...\n"
|
||||||
if git clone --recursive -b $tag https://github.com/hyprwm/hyprland-qt-support.git; then
|
if git clone --recursive -b $tag https://github.com/hyprwm/hyprland-qt-support.git "$SRC_DIR"; then
|
||||||
cd hyprland-qt-support || exit 1
|
cd "$SRC_DIR" || exit 1
|
||||||
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build
|
BUILD_DIR="$BUILD_ROOT/hyprland-qt-support"
|
||||||
cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF`
|
mkdir -p "$BUILD_DIR"
|
||||||
|
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B "$BUILD_DIR"
|
||||||
|
cmake --build "$BUILD_DIR" --config Release --target all -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF`
|
||||||
if [ $DO_INSTALL -eq 1 ]; then
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then
|
if sudo cmake --install "$BUILD_DIR" 2>&1 | tee -a "$MLOG" ; then
|
||||||
printf "${OK} ${MAGENTA}hyprland-qt-support $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
printf "${OK} ${MAGENTA}hyprland-qt-support $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Installation failed for ${YELLOW}hyprland-qt-support $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
echo -e "${ERROR} Installation failed for ${YELLOW}hyprland-qt-support $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
||||||
@ -82,7 +85,7 @@ if git clone --recursive -b $tag https://github.com/hyprwm/hyprland-qt-support.g
|
|||||||
echo "${NOTE} DRY RUN: Skipping installation of hyprland-qt-support $tag."
|
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
|
||||||
[ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/
|
[ -f "$MLOG" ] && mv "$MLOG" "$PARENT_DIR/Install-Logs/"
|
||||||
cd ..
|
cd ..
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Download failed for ${YELLOW}hyprland-qt-support $tag${RESET}" 2>&1 | tee -a "$LOG"
|
echo -e "${ERROR} Download failed for ${YELLOW}hyprland-qt-support $tag${RESET}" 2>&1 | tee -a "$LOG"
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
# Main Hyprland Package#
|
# Main Hyprland Package#
|
||||||
|
|
||||||
#specific branch or release
|
#specific branch or release
|
||||||
tag="v0.53.0"
|
tag="v0.53.2"
|
||||||
# Auto-source centralized tags if env is unset
|
# Auto-source centralized tags if env is unset
|
||||||
if [ -z "${HYPRLAND_TAG:-}" ]; then
|
if [ -z "${HYPRLAND_TAG:-}" ]; then
|
||||||
TAGS_FILE="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)/hypr-tags.env"
|
TAGS_FILE="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)/hypr-tags.env"
|
||||||
@ -73,14 +73,17 @@ printf "\n%.0s" {1..1}
|
|||||||
# Clone, build, and install Hyprland using Cmake
|
# Clone, build, and install Hyprland using Cmake
|
||||||
printf "${NOTE} Cloning and Installing ${YELLOW}Hyprland $tag${RESET} ...\n"
|
printf "${NOTE} Cloning and Installing ${YELLOW}Hyprland $tag${RESET} ...\n"
|
||||||
|
|
||||||
# Check if Hyprland folder exists and remove it
|
# Check if Hyprland folder exists and remove it (under build/src)
|
||||||
if [ -d "Hyprland" ]; then
|
SRC_DIR="$SRC_ROOT/Hyprland"
|
||||||
|
if [ -d "$SRC_DIR" ]; then
|
||||||
printf "${NOTE} Removing existing Hyprland folder...\n"
|
printf "${NOTE} Removing existing Hyprland folder...\n"
|
||||||
rm -rf "Hyprland" 2>&1 | tee -a "$LOG"
|
rm -rf "$SRC_DIR" 2>&1 | tee -a "$LOG"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if git clone --recursive -b $tag "https://github.com/hyprwm/Hyprland"; then
|
if git clone --recursive -b $tag "https://github.com/hyprwm/Hyprland" "$SRC_DIR"; then
|
||||||
cd "Hyprland" || exit 1
|
cd "$SRC_DIR" || exit 1
|
||||||
|
BUILD_DIR="$BUILD_ROOT/hyprland"
|
||||||
|
mkdir -p "$BUILD_DIR"
|
||||||
|
|
||||||
# Compatibility shim for toolchains without std::vector::{insert_range,append_range}
|
# Compatibility shim for toolchains without std::vector::{insert_range,append_range}
|
||||||
RANGE_HDR="$(pwd)/hypr_range_compat.hpp"
|
RANGE_HDR="$(pwd)/hypr_range_compat.hpp"
|
||||||
@ -129,9 +132,9 @@ EOF
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Apply patch only if it applies cleanly; otherwise skip
|
# Apply patch only if it applies cleanly; otherwise skip
|
||||||
if [ -f ../assets/0001-fix-hyprland-compile-issue.patch ]; then
|
if [ -f "$PARENT_DIR/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
|
if patch -p1 --dry-run <"$PARENT_DIR/assets/0001-fix-hyprland-compile-issue.patch" >/dev/null 2>&1; then
|
||||||
patch -p1 <../assets/0001-fix-hyprland-compile-issue.patch
|
patch -p1 <"$PARENT_DIR/assets/0001-fix-hyprland-compile-issue.patch"
|
||||||
else
|
else
|
||||||
echo "${NOTE} Hyprland compile patch does not apply on $tag; skipping."
|
echo "${NOTE} Hyprland compile patch does not apply on $tag; skipping."
|
||||||
fi
|
fi
|
||||||
@ -179,17 +182,27 @@ EOF
|
|||||||
-DCMAKE_CXX_FLAGS="-Wno-unknown-warning-option -include ${RANGE_HDR}"
|
-DCMAKE_CXX_FLAGS="-Wno-unknown-warning-option -include ${RANGE_HDR}"
|
||||||
"${SYSTEM_FLAGS[@]}"
|
"${SYSTEM_FLAGS[@]}"
|
||||||
)
|
)
|
||||||
cmake -S . -B build "${CONFIG_FLAGS[@]}"
|
cmake -S . -B "$BUILD_DIR" "${CONFIG_FLAGS[@]}"
|
||||||
cmake --build build -j "$(nproc 2>/dev/null || getconf _NPROCESSORS_CONF)"
|
cmake --build "$BUILD_DIR" -j "$(nproc 2>/dev/null || getconf _NPROCESSORS_CONF)"
|
||||||
|
|
||||||
if [ $DO_INSTALL -eq 1 ]; then
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
if sudo cmake --install build 2>&1 | tee -a "$MLOG"; then
|
if sudo cmake --install "$BUILD_DIR" 2>&1 | tee -a "$MLOG"; then
|
||||||
printf "${OK} ${MAGENTA}Hyprland tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
printf "${OK} ${MAGENTA}Hyprland tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||||
|
|
||||||
# Update version header file for tools like fastfetch that read it at runtime
|
# Update version header file for tools like fastfetch that read it at runtime
|
||||||
printf "${NOTE} Updating system version header for Hyprland...\n"
|
printf "${NOTE} Updating system version header for Hyprland...\n"
|
||||||
if [ -f ./build/hyprland ]; then
|
VER_OUTPUT=""
|
||||||
VER_OUTPUT=$(./build/hyprland --version)
|
if [ -x "$BUILD_DIR/Hyprland" ]; then
|
||||||
|
VER_OUTPUT=$("$BUILD_DIR/Hyprland" --version)
|
||||||
|
elif [ -x "$BUILD_DIR/hyprland" ]; then
|
||||||
|
VER_OUTPUT=$("$BUILD_DIR/hyprland" --version)
|
||||||
|
elif command -v Hyprland >/dev/null 2>&1; then
|
||||||
|
VER_OUTPUT=$(Hyprland --version)
|
||||||
|
elif command -v hyprctl >/dev/null 2>&1; then
|
||||||
|
VER_OUTPUT=$(hyprctl version)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$VER_OUTPUT" ]; then
|
||||||
VERSION=$(printf '%s' "$VER_OUTPUT" | head -n1 | awk '{print $2}')
|
VERSION=$(printf '%s' "$VER_OUTPUT" | head -n1 | awk '{print $2}')
|
||||||
COMMIT=$(printf '%s' "$VER_OUTPUT" | grep -oP 'commit \K[a-f0-9]+' | head -1)
|
COMMIT=$(printf '%s' "$VER_OUTPUT" | grep -oP 'commit \K[a-f0-9]+' | head -1)
|
||||||
TAG=$(printf '%s' "$VER_OUTPUT" | grep -oP 'Tag: \K[^,]+' | head -1)
|
TAG=$(printf '%s' "$VER_OUTPUT" | grep -oP 'Tag: \K[^,]+' | head -1)
|
||||||
@ -248,12 +261,34 @@ EOF
|
|||||||
printf '%s\n' "#define HYPRCURSOR_VERSION \"$HYPRCURSOR_VER\"" >> /tmp/version_header.h.tmp
|
printf '%s\n' "#define HYPRCURSOR_VERSION \"$HYPRCURSOR_VER\"" >> /tmp/version_header.h.tmp
|
||||||
printf '%s\n' "#define HYPRGRAPHICS_VERSION \"$HYPRGRAPHICS_VER\"" >> /tmp/version_header.h.tmp
|
printf '%s\n' "#define HYPRGRAPHICS_VERSION \"$HYPRGRAPHICS_VER\"" >> /tmp/version_header.h.tmp
|
||||||
|
|
||||||
if sudo mv /tmp/version_header.h.tmp /usr/include/hyprland/src/version.h 2>&1 | tee -a "$MLOG"; then
|
TARGETS=()
|
||||||
|
if [ -f /usr/local/include/hyprland/src/version.h ]; then
|
||||||
|
TARGETS+=(/usr/local/include/hyprland/src/version.h)
|
||||||
|
fi
|
||||||
|
if [ -f /usr/include/hyprland/src/version.h ]; then
|
||||||
|
# If both exist, keep /usr/include in sync to avoid fastfetch mismatch.
|
||||||
|
TARGETS+=(/usr/include/hyprland/src/version.h)
|
||||||
|
fi
|
||||||
|
if [ ${#TARGETS[@]} -eq 0 ]; then
|
||||||
|
# Default to /usr/local if neither header exists yet.
|
||||||
|
TARGETS+=(/usr/local/include/hyprland/src/version.h)
|
||||||
|
fi
|
||||||
|
|
||||||
|
UPDATED=0
|
||||||
|
for tgt in "${TARGETS[@]}"; do
|
||||||
|
if sudo install -d "$(dirname "$tgt")" && sudo cp /tmp/version_header.h.tmp "$tgt" 2>&1 | tee -a "$MLOG"; then
|
||||||
|
UPDATED=1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ $UPDATED -eq 1 ]; then
|
||||||
printf "${OK} System version header updated to $VERSION\n" 2>&1 | tee -a "$MLOG"
|
printf "${OK} System version header updated to $VERSION\n" 2>&1 | tee -a "$MLOG"
|
||||||
else
|
else
|
||||||
printf "${NOTE} Could not update system version header (non-critical)\n" 2>&1 | tee -a "$MLOG"
|
printf "${NOTE} Could not update system version header (non-critical)\n" 2>&1 | tee -a "$MLOG"
|
||||||
fi
|
fi
|
||||||
rm -f /tmp/version_header.h.tmp
|
rm -f /tmp/version_header.h.tmp
|
||||||
|
else
|
||||||
|
printf "${NOTE} Could not determine Hyprland version output for header update (non-critical)\n" 2>&1 | tee -a "$MLOG"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Installation failed for ${YELLOW}Hyprland $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
echo -e "${ERROR} Installation failed for ${YELLOW}Hyprland $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
||||||
@ -261,7 +296,7 @@ EOF
|
|||||||
else
|
else
|
||||||
echo "${NOTE} DRY RUN: Skipping installation of Hyprland $tag."
|
echo "${NOTE} DRY RUN: Skipping installation of Hyprland $tag."
|
||||||
fi
|
fi
|
||||||
[ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/
|
[ -f "$MLOG" ] && mv "$MLOG" "$PARENT_DIR/Install-Logs/"
|
||||||
cd ..
|
cd ..
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Download failed for ${YELLOW}Hyprland $tag${RESET}" 2>&1 | tee -a "$LOG"
|
echo -e "${ERROR} Download failed for ${YELLOW}Hyprland $tag${RESET}" 2>&1 | tee -a "$LOG"
|
||||||
|
|||||||
@ -41,19 +41,22 @@ MLOG="install-$(date +%d-%H%M%S)_hyprlang2.log"
|
|||||||
# Installation of dependencies
|
# Installation of dependencies
|
||||||
printf "\n%s - Installing ${YELLOW}hyprlang dependencies${RESET} .... \n" "${INFO}"
|
printf "\n%s - Installing ${YELLOW}hyprlang dependencies${RESET} .... \n" "${INFO}"
|
||||||
|
|
||||||
# Check if hyprlang directory exists and remove it
|
# Check if hyprlang directory exists and remove it (under build/src)
|
||||||
if [ -d "hyprlang" ]; then
|
SRC_DIR="$SRC_ROOT/hyprlang"
|
||||||
rm -rf "hyprlang"
|
if [ -d "$SRC_DIR" ]; then
|
||||||
|
rm -rf "$SRC_DIR"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Clone and build
|
# Clone and build
|
||||||
printf "${INFO} Installing ${YELLOW}hyprlang $tag${RESET} ...\n"
|
printf "${INFO} Installing ${YELLOW}hyprlang $tag${RESET} ...\n"
|
||||||
if git clone --recursive -b $tag https://github.com/hyprwm/hyprlang.git; then
|
if git clone --recursive -b $tag https://github.com/hyprwm/hyprlang.git "$SRC_DIR"; then
|
||||||
cd hyprlang || exit 1
|
cd "$SRC_DIR" || exit 1
|
||||||
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -S . -B ./build
|
BUILD_DIR="$BUILD_ROOT/hyprlang"
|
||||||
cmake --build ./build --config Release --target hyprlang -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF`
|
mkdir -p "$BUILD_DIR"
|
||||||
|
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -S . -B "$BUILD_DIR"
|
||||||
|
cmake --build "$BUILD_DIR" --config Release --target hyprlang -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF`
|
||||||
if [ $DO_INSTALL -eq 1 ]; then
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then
|
if sudo cmake --install "$BUILD_DIR" 2>&1 | tee -a "$MLOG" ; then
|
||||||
printf "${OK} ${MAGENTA}hyprlang tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
printf "${OK} ${MAGENTA}hyprlang tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Installation failed for ${YELLOW}hyprlang $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
echo -e "${ERROR} Installation failed for ${YELLOW}hyprlang $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
||||||
@ -62,7 +65,7 @@ if git clone --recursive -b $tag https://github.com/hyprwm/hyprlang.git; then
|
|||||||
echo "${NOTE} DRY RUN: Skipping installation of hyprlang $tag."
|
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
|
||||||
[ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/
|
[ -f "$MLOG" ] && mv "$MLOG" "$PARENT_DIR/Install-Logs/"
|
||||||
cd ..
|
cd ..
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Download failed for ${YELLOW}hyprlang $tag${RESET}" 2>&1 | tee -a "$LOG"
|
echo -e "${ERROR} Download failed for ${YELLOW}hyprlang $tag${RESET}" 2>&1 | tee -a "$LOG"
|
||||||
|
|||||||
@ -46,24 +46,27 @@ for PKG1 in "${build_dep[@]}"; do
|
|||||||
build_dep "$PKG1" "$LOG"
|
build_dep "$PKG1" "$LOG"
|
||||||
done
|
done
|
||||||
|
|
||||||
# Check if hyprlock directory exists and remove it
|
# Check if hyprlock directory exists and remove it (under build/src)
|
||||||
if [ -d "hyprlock" ]; then
|
SRC_DIR="$SRC_ROOT/hyprlock"
|
||||||
rm -rf "hyprlock"
|
if [ -d "$SRC_DIR" ]; then
|
||||||
|
rm -rf "$SRC_DIR"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Clone and build hyprlock
|
# Clone and build hyprlock
|
||||||
printf "${INFO} Installing ${YELLOW}hyprlock $tag${RESET} ...\n"
|
printf "${INFO} Installing ${YELLOW}hyprlock $tag${RESET} ...\n"
|
||||||
if git clone --recursive -b $tag https://github.com/hyprwm/hyprlock.git; then
|
if git clone --recursive -b $tag https://github.com/hyprwm/hyprlock.git "$SRC_DIR"; then
|
||||||
cd hyprlock || exit 1
|
cd "$SRC_DIR" || exit 1
|
||||||
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -S . -B ./build
|
BUILD_DIR="$BUILD_ROOT/hyprlock"
|
||||||
cmake --build ./build --config Release --target hyprlock -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF`
|
mkdir -p "$BUILD_DIR"
|
||||||
if sudo cmake --install build 2>&1 | tee -a "$MLOG" ; then
|
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -S . -B "$BUILD_DIR"
|
||||||
|
cmake --build "$BUILD_DIR" --config Release --target hyprlock -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF`
|
||||||
|
if sudo cmake --install "$BUILD_DIR" 2>&1 | tee -a "$MLOG" ; then
|
||||||
printf "${OK} ${YELLOW}hyprlock $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
printf "${OK} ${YELLOW}hyprlock $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Installation failed for ${YELLOW}hyprlock $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
echo -e "${ERROR} Installation failed for ${YELLOW}hyprlock $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
||||||
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 "$PARENT_DIR/Install-Logs/" || true
|
||||||
cd ..
|
cd ..
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Download failed for ${YELLOW}hyprlock $tag${RESET}" 2>&1 | tee -a "$LOG"
|
echo -e "${ERROR} Download failed for ${YELLOW}hyprlock $tag${RESET}" 2>&1 | tee -a "$LOG"
|
||||||
|
|||||||
@ -43,25 +43,28 @@ for PKG1 in "${polkitagent[@]}"; do
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# Check if hyprpolkitagent folder exists and remove it
|
# Check if hyprpolkitagent folder exists and remove it (under build/src)
|
||||||
if [ -d "hyprpolkitagent" ]; then
|
SRC_DIR="$SRC_ROOT/hyprpolkitagent"
|
||||||
|
if [ -d "$SRC_DIR" ]; then
|
||||||
printf "${NOTE} Removing existing hyprpolkitagent folder...\n"
|
printf "${NOTE} Removing existing hyprpolkitagent folder...\n"
|
||||||
rm -rf "hyprpolkitagent"
|
rm -rf "$SRC_DIR"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Clone and build
|
# Clone and build
|
||||||
printf "${NOTE} Installing hyprpolkitagent...\n"
|
printf "${NOTE} Installing hyprpolkitagent...\n"
|
||||||
if git clone --recursive -b $tag https://github.com/hyprwm/hyprpolkitagent.git; then
|
if git clone --recursive -b $tag https://github.com/hyprwm/hyprpolkitagent.git "$SRC_DIR"; then
|
||||||
cd hyprpolkitagent || exit 1
|
cd "$SRC_DIR" || exit 1
|
||||||
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build
|
BUILD_DIR="$BUILD_ROOT/hyprpolkitagent"
|
||||||
cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF`
|
mkdir -p "$BUILD_DIR"
|
||||||
if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then
|
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B "$BUILD_DIR"
|
||||||
|
cmake --build "$BUILD_DIR" --config Release --target all -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF`
|
||||||
|
if sudo cmake --install "$BUILD_DIR" 2>&1 | tee -a "$MLOG" ; then
|
||||||
printf "${OK} hyprpolkitagent installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
printf "${OK} hyprpolkitagent installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Installation failed for hyprpolkitagent." 2>&1 | tee -a "$MLOG"
|
echo -e "${ERROR} Installation failed for hyprpolkitagent." 2>&1 | tee -a "$MLOG"
|
||||||
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 "$PARENT_DIR/Install-Logs/" || true
|
||||||
cd ..
|
cd ..
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Download failed for hyprpolkitagent." 2>&1 | tee -a "$LOG"
|
echo -e "${ERROR} Download failed for hyprpolkitagent." 2>&1 | tee -a "$LOG"
|
||||||
|
|||||||
@ -40,18 +40,20 @@ MLOG="install-$(date +%d-%H%M%S)_hyprtoolkit2.log"
|
|||||||
# Clone, build, and install using Cmake
|
# Clone, build, and install using Cmake
|
||||||
printf "${NOTE} Cloning hyprtoolkit...\n"
|
printf "${NOTE} Cloning hyprtoolkit...\n"
|
||||||
|
|
||||||
# Check if hyprtoolkit folder exists and remove it
|
# Check if hyprtoolkit folder exists and remove it (under build/src)
|
||||||
if [ -d "hyprtoolkit" ]; then
|
SRC_DIR="$SRC_ROOT/hyprtoolkit"
|
||||||
|
if [ -d "$SRC_DIR" ]; then
|
||||||
printf "${NOTE} Removing existing hyprtoolkit folder...\n"
|
printf "${NOTE} Removing existing hyprtoolkit folder...\n"
|
||||||
rm -rf "hyprtoolkit" 2>&1 | tee -a "$LOG"
|
rm -rf "$SRC_DIR" 2>&1 | tee -a "$LOG"
|
||||||
fi
|
fi
|
||||||
|
if git clone -b $tag "https://github.com/hyprwm/hyprtoolkit.git" "$SRC_DIR"; then
|
||||||
if git clone -b $tag "https://github.com/hyprwm/hyprtoolkit.git"; then
|
cd "$SRC_DIR" || exit 1
|
||||||
cd "hyprtoolkit" || exit 1
|
BUILD_DIR="$BUILD_ROOT/hyprtoolkit"
|
||||||
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -S . -B ./build
|
mkdir -p "$BUILD_DIR"
|
||||||
cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF`
|
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -S . -B "$BUILD_DIR"
|
||||||
|
cmake --build "$BUILD_DIR" --config Release --target all -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF`
|
||||||
if [ $DO_INSTALL -eq 1 ]; then
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
if sudo cmake --install build 2>&1 | tee -a "$MLOG"; then
|
if sudo cmake --install "$BUILD_DIR" 2>&1 | tee -a "$MLOG"; then
|
||||||
printf "${OK} hyprtoolkit installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
printf "${OK} hyprtoolkit installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Installation failed for hyprtoolkit." 2>&1 | tee -a "$MLOG"
|
echo -e "${ERROR} Installation failed for hyprtoolkit." 2>&1 | tee -a "$MLOG"
|
||||||
@ -59,7 +61,7 @@ if git clone -b $tag "https://github.com/hyprwm/hyprtoolkit.git"; then
|
|||||||
else
|
else
|
||||||
echo "${NOTE} DRY RUN: Skipping installation of hyprtoolkit $tag."
|
echo "${NOTE} DRY RUN: Skipping installation of hyprtoolkit $tag."
|
||||||
fi
|
fi
|
||||||
[ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/
|
[ -f "$MLOG" ] && mv "$MLOG" "$PARENT_DIR/Install-Logs/"
|
||||||
cd ..
|
cd ..
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Download failed for hyprtoolkit" 2>&1 | tee -a "$LOG"
|
echo -e "${ERROR} Download failed for hyprtoolkit" 2>&1 | tee -a "$LOG"
|
||||||
|
|||||||
@ -43,18 +43,20 @@ MLOG="install-$(date +%d-%H%M%S)_hyprutils2.log"
|
|||||||
# Clone, build, and install using Cmake
|
# Clone, build, and install using Cmake
|
||||||
printf "${NOTE} Cloning hyprutils...\n"
|
printf "${NOTE} Cloning hyprutils...\n"
|
||||||
|
|
||||||
# Check if hyprutils folder exists and remove it
|
# Check if hyprutils folder exists and remove it (under build/src)
|
||||||
if [ -d "hyprutils" ]; then
|
SRC_DIR="$SRC_ROOT/hyprutils"
|
||||||
|
if [ -d "$SRC_DIR" ]; then
|
||||||
printf "${NOTE} Removing existing hyprutils folder...\n"
|
printf "${NOTE} Removing existing hyprutils folder...\n"
|
||||||
rm -rf "hyprutils" 2>&1 | tee -a "$LOG"
|
rm -rf "$SRC_DIR" 2>&1 | tee -a "$LOG"
|
||||||
fi
|
fi
|
||||||
|
if git clone -b $tag "https://github.com/hyprwm/hyprutils.git" "$SRC_DIR"; then
|
||||||
if git clone -b $tag "https://github.com/hyprwm/hyprutils.git"; then
|
cd "$SRC_DIR" || exit 1
|
||||||
cd "hyprutils" || exit 1
|
BUILD_DIR="$BUILD_ROOT/hyprutils"
|
||||||
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -S . -B ./build
|
mkdir -p "$BUILD_DIR"
|
||||||
cmake --build ./build --config Release --target all -j$(nproc 2>/dev/null || getconf _NPROCESSORS_CONF)
|
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -S . -B "$BUILD_DIR"
|
||||||
|
cmake --build "$BUILD_DIR" --config Release --target all -j$(nproc 2>/dev/null || getconf _NPROCESSORS_CONF)
|
||||||
if [ $DO_INSTALL -eq 1 ]; then
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
if sudo cmake --install build 2>&1 | tee -a "$MLOG"; then
|
if sudo cmake --install "$BUILD_DIR" 2>&1 | tee -a "$MLOG"; then
|
||||||
printf "${OK} hyprutils installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
printf "${OK} hyprutils installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Installation failed for hyprutils." 2>&1 | tee -a "$MLOG"
|
echo -e "${ERROR} Installation failed for hyprutils." 2>&1 | tee -a "$MLOG"
|
||||||
@ -62,7 +64,7 @@ if git clone -b $tag "https://github.com/hyprwm/hyprutils.git"; then
|
|||||||
else
|
else
|
||||||
echo "${NOTE} DRY RUN: Skipping installation of hyprutils $tag."
|
echo "${NOTE} DRY RUN: Skipping installation of hyprutils $tag."
|
||||||
fi
|
fi
|
||||||
[ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/
|
[ -f "$MLOG" ] && mv "$MLOG" "$PARENT_DIR/Install-Logs/"
|
||||||
cd ..
|
cd ..
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Download failed for hyprutils" 2>&1 | tee -a "$LOG"
|
echo -e "${ERROR} Download failed for hyprutils" 2>&1 | tee -a "$LOG"
|
||||||
|
|||||||
@ -55,20 +55,23 @@ done
|
|||||||
|
|
||||||
printf "${NOTE} Installing hyprwayland-scanner...\n"
|
printf "${NOTE} Installing hyprwayland-scanner...\n"
|
||||||
|
|
||||||
# Check if hyprwayland-scanner folder exists and remove it
|
# Check if hyprwayland-scanner folder exists and remove it (under build/src)
|
||||||
if [ -d "hyprwayland-scanner" ]; then
|
SRC_DIR="$SRC_ROOT/hyprwayland-scanner"
|
||||||
|
if [ -d "$SRC_DIR" ]; then
|
||||||
printf "${NOTE} Removing existing hyprwayland-scanner folder...\n"
|
printf "${NOTE} Removing existing hyprwayland-scanner folder...\n"
|
||||||
rm -rf "hyprwayland-scanner"
|
rm -rf "$SRC_DIR"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Clone and build hyprlang
|
# Clone and build hyprlang
|
||||||
printf "${NOTE} Installing hyprwayland-scanner...\n"
|
printf "${NOTE} Installing hyprwayland-scanner...\n"
|
||||||
if git clone --recursive -b $tag https://github.com/hyprwm/hyprwayland-scanner.git; then
|
if git clone --recursive -b $tag https://github.com/hyprwm/hyprwayland-scanner.git "$SRC_DIR"; then
|
||||||
cd hyprwayland-scanner || exit 1
|
cd "$SRC_DIR" || exit 1
|
||||||
cmake -DCMAKE_INSTALL_PREFIX=/usr -B build
|
BUILD_DIR="$BUILD_ROOT/hyprwayland-scanner"
|
||||||
cmake --build build -j `nproc`
|
mkdir -p "$BUILD_DIR"
|
||||||
|
cmake -DCMAKE_INSTALL_PREFIX=/usr -B "$BUILD_DIR"
|
||||||
|
cmake --build "$BUILD_DIR" -j `nproc`
|
||||||
if [ $DO_INSTALL -eq 1 ]; then
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
if sudo cmake --install build 2>&1 | tee -a "$MLOG" ; then
|
if sudo cmake --install "$BUILD_DIR" 2>&1 | tee -a "$MLOG" ; then
|
||||||
printf "${OK} hyprwayland-scanner installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
printf "${OK} hyprwayland-scanner installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Installation failed for hyprwayland-scanner." 2>&1 | tee -a "$MLOG"
|
echo -e "${ERROR} Installation failed for hyprwayland-scanner." 2>&1 | tee -a "$MLOG"
|
||||||
@ -77,7 +80,7 @@ if git clone --recursive -b $tag https://github.com/hyprwm/hyprwayland-scanner.g
|
|||||||
echo "${NOTE} DRY RUN: Skipping installation of hyprwayland-scanner $tag."
|
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
|
||||||
[ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/
|
[ -f "$MLOG" ] && mv "$MLOG" "$PARENT_DIR/Install-Logs/"
|
||||||
cd ..
|
cd ..
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Download failed for hyprwayland-scanner. Please check log." 2>&1 | tee -a "$LOG"
|
echo -e "${ERROR} Download failed for hyprwayland-scanner. Please check log." 2>&1 | tee -a "$LOG"
|
||||||
|
|||||||
@ -61,15 +61,18 @@ MLOG="install-$(date +%d-%H%M%S)_hyprwire2.log"
|
|||||||
|
|
||||||
printf "${NOTE} Installing hyprwire $tag...\n"
|
printf "${NOTE} Installing hyprwire $tag...\n"
|
||||||
|
|
||||||
# Remove existing tree if present
|
# Remove existing tree if present (under build/src)
|
||||||
if [ -d "hyprwire" ]; then
|
SRC_DIR="$SRC_ROOT/hyprwire"
|
||||||
|
if [ -d "$SRC_DIR" ]; then
|
||||||
printf "${NOTE} Removing existing hyprwire folder...\n"
|
printf "${NOTE} Removing existing hyprwire folder...\n"
|
||||||
rm -rf "hyprwire" 2>&1 | tee -a "$LOG"
|
rm -rf "$SRC_DIR" 2>&1 | tee -a "$LOG"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Clone and build
|
# Clone and build
|
||||||
if git clone --recursive -b "$tag" https://github.com/hyprwm/hyprwire.git; then
|
if git clone --recursive -b "$tag" https://github.com/hyprwm/hyprwire.git "$SRC_DIR"; then
|
||||||
cd hyprwire || exit 1
|
cd "$SRC_DIR" || exit 1
|
||||||
|
BUILD_DIR="$BUILD_ROOT/hyprwire"
|
||||||
|
mkdir -p "$BUILD_DIR"
|
||||||
|
|
||||||
# Decide whether we need the append_range compatibility shim.
|
# Decide whether we need the append_range compatibility shim.
|
||||||
# On Debian 13 (trixie), libstdc++ typically lacks std::vector::append_range, so we patch.
|
# On Debian 13 (trixie), libstdc++ typically lacks std::vector::append_range, so we patch.
|
||||||
@ -131,14 +134,14 @@ EOF
|
|||||||
# Absolute path for forced include
|
# Absolute path for forced include
|
||||||
APPEND_HDR="$(pwd)/append_range_compat.hpp"
|
APPEND_HDR="$(pwd)/append_range_compat.hpp"
|
||||||
|
|
||||||
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_CXX_STANDARD=23 -DCMAKE_CXX_FLAGS="-include ${APPEND_HDR}"
|
cmake -S . -B "$BUILD_DIR" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_CXX_STANDARD=23 -DCMAKE_CXX_FLAGS="-include ${APPEND_HDR}"
|
||||||
else
|
else
|
||||||
echo "${NOTE} Toolchain supports std::vector::append_range; building hyprwire without shim."
|
echo "${NOTE} Toolchain supports std::vector::append_range; building hyprwire without shim."
|
||||||
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_CXX_STANDARD=23
|
cmake -S . -B "$BUILD_DIR" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_CXX_STANDARD=23
|
||||||
fi
|
fi
|
||||||
cmake --build build -j "$(nproc 2>/dev/null || getconf _NPROCESSORS_CONF)"
|
cmake --build "$BUILD_DIR" -j "$(nproc 2>/dev/null || getconf _NPROCESSORS_CONF)"
|
||||||
if [ $DO_INSTALL -eq 1 ]; then
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
if sudo cmake --install build 2>&1 | tee -a "$MLOG" ; then
|
if sudo cmake --install "$BUILD_DIR" 2>&1 | tee -a "$MLOG" ; then
|
||||||
printf "${OK} hyprwire $tag installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
printf "${OK} hyprwire $tag installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Installation failed for hyprwire $tag" 2>&1 | tee -a "$MLOG"
|
echo -e "${ERROR} Installation failed for hyprwire $tag" 2>&1 | tee -a "$MLOG"
|
||||||
@ -146,7 +149,7 @@ EOF
|
|||||||
else
|
else
|
||||||
echo "${NOTE} DRY RUN: Skipping installation of hyprwire $tag."
|
echo "${NOTE} DRY RUN: Skipping installation of hyprwire $tag."
|
||||||
fi
|
fi
|
||||||
[ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/
|
[ -f "$MLOG" ] && mv "$MLOG" "$PARENT_DIR/Install-Logs/"
|
||||||
cd ..
|
cd ..
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Download failed for hyprwire $tag" 2>&1 | tee -a "$LOG"
|
echo -e "${ERROR} Download failed for hyprwire $tag" 2>&1 | tee -a "$LOG"
|
||||||
|
|||||||
@ -117,7 +117,7 @@ done
|
|||||||
# Build Google Breakpad from source if pkg-config 'breakpad' is missing
|
# Build Google Breakpad from source if pkg-config 'breakpad' is missing
|
||||||
if ! pkg-config --exists breakpad; then
|
if ! pkg-config --exists breakpad; then
|
||||||
note "Building Google Breakpad from source..."
|
note "Building Google Breakpad from source..."
|
||||||
BP_DIR="$PARENT_DIR/.thirdparty/breakpad"
|
BP_DIR="$SRC_ROOT/breakpad"
|
||||||
rm -rf "$BP_DIR"
|
rm -rf "$BP_DIR"
|
||||||
mkdir -p "$BP_DIR"
|
mkdir -p "$BP_DIR"
|
||||||
(
|
(
|
||||||
@ -166,7 +166,7 @@ PCEOF
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Clone source (prefer upstream forgejo; mirror available at github:quickshell-mirror/quickshell)
|
# Clone source (prefer upstream forgejo; mirror available at github:quickshell-mirror/quickshell)
|
||||||
SRC_DIR="quickshell-src"
|
SRC_DIR="$SRC_ROOT/quickshell-src"
|
||||||
if [ -d "$SRC_DIR" ]; then
|
if [ -d "$SRC_DIR" ]; then
|
||||||
note "Removing existing $SRC_DIR"
|
note "Removing existing $SRC_DIR"
|
||||||
rm -rf "$SRC_DIR"
|
rm -rf "$SRC_DIR"
|
||||||
@ -183,32 +183,33 @@ fi
|
|||||||
# Configure with Ninja; enable RelWithDebInfo, leave features ON (deps installed above)
|
# Configure with Ninja; enable RelWithDebInfo, leave features ON (deps installed above)
|
||||||
CMAKE_FLAGS=(
|
CMAKE_FLAGS=(
|
||||||
-GNinja
|
-GNinja
|
||||||
-B build
|
|
||||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo
|
||||||
-DDISTRIBUTOR="Debian-Hyprland installer"
|
-DDISTRIBUTOR="Debian-Hyprland installer"
|
||||||
)
|
)
|
||||||
|
|
||||||
note "Configuring Quickshell (CMake)..."
|
note "Configuring Quickshell (CMake)..."
|
||||||
# Use explicit source/build dirs and preserve cmake exit code with pipefail
|
# Use explicit source/build dirs and preserve cmake exit code with pipefail
|
||||||
if ! cmake -S . -B build "${CMAKE_FLAGS[@]}" 2>&1 | tee -a "$MLOG"; then
|
BUILD_DIR="$BUILD_ROOT/quickshell"
|
||||||
|
mkdir -p "$BUILD_DIR"
|
||||||
|
if ! cmake -S . -B "$BUILD_DIR" "${CMAKE_FLAGS[@]}" 2>&1 | tee -a "$MLOG"; then
|
||||||
echo "${ERROR} CMake configure failed. See log: $MLOG" | tee -a "$LOG"
|
echo "${ERROR} CMake configure failed. See log: $MLOG" | tee -a "$LOG"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Ensure build files exist before invoking ninja
|
# Ensure build files exist before invoking ninja
|
||||||
if [ ! -f build/build.ninja ]; then
|
if [ ! -f "$BUILD_DIR/build.ninja" ]; then
|
||||||
echo "${ERROR} build/build.ninja not generated; aborting build." | tee -a "$LOG"
|
echo "${ERROR} build/build.ninja not generated; aborting build." | tee -a "$LOG"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
note "Building Quickshell (Ninja)..."
|
note "Building Quickshell (Ninja)..."
|
||||||
if ! cmake --build build 2>&1 | tee -a "$MLOG"; then
|
if ! cmake --build "$BUILD_DIR" 2>&1 | tee -a "$MLOG"; then
|
||||||
echo "${ERROR} Build failed. See log: $MLOG" | tee -a "$LOG"
|
echo "${ERROR} Build failed. See log: $MLOG" | tee -a "$LOG"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
note "Installing Quickshell..."
|
note "Installing Quickshell..."
|
||||||
if ! sudo cmake --install build 2>&1 | tee -a "$MLOG"; then
|
if ! sudo cmake --install "$BUILD_DIR" 2>&1 | tee -a "$MLOG"; then
|
||||||
echo "${ERROR} Installation failed. See log: $MLOG" | tee -a "$LOG"
|
echo "${ERROR} Installation failed. See log: $MLOG" | tee -a "$LOG"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|||||||
@ -68,25 +68,29 @@ printf "\n%.0s" {1..2}
|
|||||||
# Clone and build rofi - wayland
|
# Clone and build rofi - wayland
|
||||||
printf "${NOTE} Building and Installing ${SKY_BLUE}rofi-wayland${RESET} $rofi_tag ...\n"
|
printf "${NOTE} Building and Installing ${SKY_BLUE}rofi-wayland${RESET} $rofi_tag ...\n"
|
||||||
|
|
||||||
# Check if rofi directory exists
|
# Check if rofi directory exists (under build/src)
|
||||||
if [ -d "rofi-$rofi_tag" ]; then
|
SRC_DIR="$SRC_ROOT/rofi-$rofi_tag"
|
||||||
rm -rf "rofi-$rofi_tag"
|
TAR_PATH="$SRC_ROOT/rofi-$rofi_tag.tar.gz"
|
||||||
|
if [ -d "$SRC_DIR" ]; then
|
||||||
|
rm -rf "$SRC_DIR"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# cloning rofi-wayland
|
# cloning rofi-wayland
|
||||||
printf "${NOTE} Downloading ${YELLOW}rofi-wayland $rofi_tag${RESET} from releases...\n"
|
printf "${NOTE} Downloading ${YELLOW}rofi-wayland $rofi_tag${RESET} from releases...\n"
|
||||||
wget $release_url
|
wget -O "$TAR_PATH" $release_url
|
||||||
|
|
||||||
if [ -f "rofi-$rofi_tag.tar.gz" ]; then
|
if [ -f "$TAR_PATH" ]; then
|
||||||
printf "${OK} ${YELLOW}rofi-wayland $rofi_tag${RESET} downloaded successfully.\n" 2>&1 | tee -a "$LOG"
|
printf "${OK} ${YELLOW}rofi-wayland $rofi_tag${RESET} downloaded successfully.\n" 2>&1 | tee -a "$LOG"
|
||||||
tar xf rofi-$rofi_tag.tar.gz
|
tar -C "$SRC_ROOT" -xf "$TAR_PATH"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd rofi-$rofi_tag || exit 1
|
cd "$SRC_DIR" || exit 1
|
||||||
|
|
||||||
# Proceed with the installation steps
|
# Proceed with the installation steps
|
||||||
if meson setup build && ninja -C build ; then
|
BUILD_DIR="$BUILD_ROOT/rofi-$rofi_tag"
|
||||||
if sudo ninja -C build install 2>&1 | tee -a "$MLOG"; then
|
mkdir -p "$BUILD_DIR"
|
||||||
|
if meson setup "$BUILD_DIR" && ninja -C "$BUILD_DIR" ; then
|
||||||
|
if sudo ninja -C "$BUILD_DIR" install 2>&1 | tee -a "$MLOG"; then
|
||||||
printf "${OK} rofi-wayland installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
printf "${OK} rofi-wayland installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Installation failed for ${YELLOW}rofi-wayland $rofi_tag${RESET}" 2>&1 | tee -a "$MLOG"
|
echo -e "${ERROR} Installation failed for ${YELLOW}rofi-wayland $rofi_tag${RESET}" 2>&1 | tee -a "$MLOG"
|
||||||
@ -96,10 +100,10 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Move logs to Install-Logs directory
|
# Move logs to Install-Logs directory
|
||||||
mv "$MLOG" ../Install-Logs/ || true
|
mv "$MLOG" "$PARENT_DIR/Install-Logs/" || true
|
||||||
cd .. || exit 1
|
cd .. || exit 1
|
||||||
|
|
||||||
# clean up
|
# clean up
|
||||||
rm -rf rofi-$rofi_tag.tar.gz
|
rm -rf "$TAR_PATH"
|
||||||
|
|
||||||
printf "\n%.0s" {1..2}
|
printf "\n%.0s" {1..2}
|
||||||
|
|||||||
@ -38,11 +38,13 @@ sudo systemctl enable power-profiles-daemon 2>&1 | tee -a "$LOG"
|
|||||||
install_and_log() {
|
install_and_log() {
|
||||||
local project_name="$1"
|
local project_name="$1"
|
||||||
local git_url="$2"
|
local git_url="$2"
|
||||||
|
local src_dir="$SRC_ROOT/$project_name"
|
||||||
|
|
||||||
printf "${NOTE} Installing $project_name\n"
|
printf "${NOTE} Installing $project_name\n"
|
||||||
|
|
||||||
if git clone "$git_url" "$project_name"; then
|
rm -rf "$src_dir"
|
||||||
cd "$project_name" || exit 1
|
if git clone "$git_url" "$src_dir"; then
|
||||||
|
cd "$src_dir" || exit 1
|
||||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh 2>&1 | tee -a "$LOG"
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh 2>&1 | tee -a "$LOG"
|
||||||
source "$HOME/.cargo/env"
|
source "$HOME/.cargo/env"
|
||||||
make
|
make
|
||||||
@ -58,7 +60,7 @@ install_and_log() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
#moving logs into main install-logs
|
#moving logs into main install-logs
|
||||||
mv $LOG ../Install-Logs/ || true
|
mv $LOG "$PARENT_DIR/Install-Logs/" || true
|
||||||
cd - || exit 1
|
cd - || exit 1
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Cloning $project_name from $git_url failed."
|
echo -e "${ERROR} Cloning $project_name from $git_url failed."
|
||||||
|
|||||||
@ -31,15 +31,16 @@ if [ -d "/usr/share/sddm/themes/$theme_name" ]; then
|
|||||||
echo -e "\e[1A\e[K${OK} - Removed existing $theme_name directory." 2>&1 | tee -a "$LOG"
|
echo -e "\e[1A\e[K${OK} - Removed existing $theme_name directory." 2>&1 | tee -a "$LOG"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check if $theme_name directory exists in the current directory and remove if it does
|
# Check if $theme_name directory exists in build/src and remove if it does
|
||||||
if [ -d "$theme_name" ]; then
|
SRC_DIR="$SRC_ROOT/$theme_name"
|
||||||
rm -rf "$theme_name"
|
if [ -d "$SRC_DIR" ]; then
|
||||||
|
rm -rf "$SRC_DIR"
|
||||||
echo -e "\e[1A\e[K${OK} - Removed existing $theme_name directory from the current location." 2>&1 | tee -a "$LOG"
|
echo -e "\e[1A\e[K${OK} - Removed existing $theme_name directory from the current location." 2>&1 | tee -a "$LOG"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Clone the repository
|
# Clone the repository
|
||||||
if git clone --depth=1 "$source_theme" "$theme_name"; then
|
if git clone --depth=1 "$source_theme" "$SRC_DIR"; then
|
||||||
if [ ! -d "$theme_name" ]; then
|
if [ ! -d "$SRC_DIR" ]; then
|
||||||
echo "${ERROR} Failed to clone the repository." | tee -a "$LOG"
|
echo "${ERROR} Failed to clone the repository." | tee -a "$LOG"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -50,7 +51,7 @@ if git clone --depth=1 "$source_theme" "$theme_name"; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Move cloned theme to the themes directory
|
# Move cloned theme to the themes directory
|
||||||
sudo mv "$theme_name" "/usr/share/sddm/themes/$theme_name" 2>&1 | tee -a "$LOG"
|
sudo mv "$SRC_DIR" "/usr/share/sddm/themes/$theme_name" 2>&1 | tee -a "$LOG"
|
||||||
|
|
||||||
# setting up SDDM theme
|
# setting up SDDM theme
|
||||||
sddm_conf="/etc/sddm.conf"
|
sddm_conf="/etc/sddm.conf"
|
||||||
|
|||||||
@ -49,13 +49,14 @@ done
|
|||||||
|
|
||||||
printf "\n%.0s" {1..2}
|
printf "\n%.0s" {1..2}
|
||||||
|
|
||||||
# Check if swww directory exists
|
# Check if swww directory exists (under build/src)
|
||||||
if [ -d "swww" ]; then
|
SRC_DIR="$SRC_ROOT/swww"
|
||||||
cd swww || exit 1
|
if [ -d "$SRC_DIR" ]; then
|
||||||
|
cd "$SRC_DIR" || exit 1
|
||||||
git pull origin main 2>&1 | tee -a "$MLOG"
|
git pull origin main 2>&1 | tee -a "$MLOG"
|
||||||
else
|
else
|
||||||
if git clone --recursive -b $swww_tag https://github.com/LGFae/swww.git; then
|
if git clone --recursive -b $swww_tag https://github.com/LGFae/swww.git "$SRC_DIR"; then
|
||||||
cd swww || exit 1
|
cd "$SRC_DIR" || exit 1
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Download failed for ${YELLOW}swww $swww_tag${RESET}" 2>&1 | tee -a "$LOG"
|
echo -e "${ERROR} Download failed for ${YELLOW}swww $swww_tag${RESET}" 2>&1 | tee -a "$LOG"
|
||||||
exit 1
|
exit 1
|
||||||
@ -94,7 +95,7 @@ sudo mkdir -p /usr/share/zsh/site-functions 2>&1 | tee -a "$MLOG"
|
|||||||
sudo cp -r completions/_swww /usr/share/zsh/site-functions/_swww 2>&1 | tee -a "$MLOG"
|
sudo cp -r completions/_swww /usr/share/zsh/site-functions/_swww 2>&1 | tee -a "$MLOG"
|
||||||
|
|
||||||
# Moving logs into main Install-Logs
|
# Moving logs into main Install-Logs
|
||||||
mv "$MLOG" ../Install-Logs/ || true
|
mv "$MLOG" "$PARENT_DIR/Install-Logs/" || true
|
||||||
cd - || exit 1
|
cd - || exit 1
|
||||||
|
|
||||||
printf "\n%.0s" {1..2}
|
printf "\n%.0s" {1..2}
|
||||||
|
|||||||
@ -39,17 +39,18 @@ MLOG="install-$(date +%d-%H%M%S)_wayland-protocols2.log"
|
|||||||
|
|
||||||
printf "\n%s - Installing ${YELLOW}wayland-protocols (from source)${RESET} .... \n" "${INFO}"
|
printf "\n%s - Installing ${YELLOW}wayland-protocols (from source)${RESET} .... \n" "${INFO}"
|
||||||
|
|
||||||
# Clean previous clone
|
# Clean previous clone (under build/src)
|
||||||
if [ -d "wayland-protocols" ]; then
|
SRC_DIR="$SRC_ROOT/wayland-protocols"
|
||||||
rm -rf "wayland-protocols"
|
if [ -d "$SRC_DIR" ]; then
|
||||||
|
rm -rf "$SRC_DIR"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Clone and build (meson)
|
# Clone and build (meson)
|
||||||
# Upstream: https://gitlab.freedesktop.org/wayland/wayland-protocols.git
|
# Upstream: https://gitlab.freedesktop.org/wayland/wayland-protocols.git
|
||||||
printf "${INFO} Installing ${YELLOW}wayland-protocols $tag${RESET} ...\n"
|
printf "${INFO} Installing ${YELLOW}wayland-protocols $tag${RESET} ...\n"
|
||||||
repo_url="https://gitlab.freedesktop.org/wayland/wayland-protocols.git"
|
repo_url="https://gitlab.freedesktop.org/wayland/wayland-protocols.git"
|
||||||
if git clone --depth=1 --filter=blob:none "$repo_url" wayland-protocols; then
|
if git clone --depth=1 --filter=blob:none "$repo_url" "$SRC_DIR"; then
|
||||||
cd wayland-protocols || exit 1
|
cd "$SRC_DIR" || exit 1
|
||||||
# Fetch tags and attempt to checkout the requested tag, trying both raw and v-prefixed
|
# Fetch tags and attempt to checkout the requested tag, trying both raw and v-prefixed
|
||||||
git fetch --tags --depth=1 >/dev/null 2>&1 || true
|
git fetch --tags --depth=1 >/dev/null 2>&1 || true
|
||||||
checked_out=0
|
checked_out=0
|
||||||
@ -67,10 +68,12 @@ if git clone --depth=1 --filter=blob:none "$repo_url" wayland-protocols; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
# Install to /usr/local so pkg-config can prefer it over distro /usr
|
# Install to /usr/local so pkg-config can prefer it over distro /usr
|
||||||
meson setup build --prefix=/usr/local
|
BUILD_DIR="$BUILD_ROOT/wayland-protocols"
|
||||||
meson compile -C build -j"$(nproc 2>/dev/null || getconf _NPROCESSORS_CONF)"
|
mkdir -p "$BUILD_DIR"
|
||||||
|
meson setup "$BUILD_DIR" --prefix=/usr/local
|
||||||
|
meson compile -C "$BUILD_DIR" -j"$(nproc 2>/dev/null || getconf _NPROCESSORS_CONF)"
|
||||||
if [ $DO_INSTALL -eq 1 ]; then
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
if sudo meson install -C build 2>&1 | tee -a "$MLOG" ; then
|
if sudo meson install -C "$BUILD_DIR" 2>&1 | tee -a "$MLOG" ; then
|
||||||
printf "${OK} ${MAGENTA}wayland-protocols $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
printf "${OK} ${MAGENTA}wayland-protocols $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Installation failed for ${YELLOW}wayland-protocols $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
echo -e "${ERROR} Installation failed for ${YELLOW}wayland-protocols $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
||||||
@ -79,7 +82,7 @@ if git clone --depth=1 --filter=blob:none "$repo_url" wayland-protocols; then
|
|||||||
echo "${NOTE} DRY RUN: Skipping installation of wayland-protocols $tag."
|
echo "${NOTE} DRY RUN: Skipping installation of wayland-protocols $tag."
|
||||||
fi
|
fi
|
||||||
# Move additional logs to Install-Logs directory if they exist
|
# Move additional logs to Install-Logs directory if they exist
|
||||||
[ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/ || true
|
[ -f "$MLOG" ] && mv "$MLOG" "$PARENT_DIR/Install-Logs/" || true
|
||||||
cd ..
|
cd ..
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Download failed for ${YELLOW}wayland-protocols $tag${RESET}" 2>&1 | tee -a "$LOG"
|
echo -e "${ERROR} Download failed for ${YELLOW}wayland-protocols $tag${RESET}" 2>&1 | tee -a "$LOG"
|
||||||
|
|||||||
@ -48,23 +48,26 @@ done
|
|||||||
# Clone, build, and install XDPH
|
# Clone, build, and install XDPH
|
||||||
printf "${NOTE} Cloning and Installing ${YELLOW}XDG Desktop Portal Hyprland $tag${RESET} ...\n"
|
printf "${NOTE} Cloning and Installing ${YELLOW}XDG Desktop Portal Hyprland $tag${RESET} ...\n"
|
||||||
|
|
||||||
# Check if xdg-desktop-portal-hyprland folder exists and remove it
|
# Check if xdg-desktop-portal-hyprland folder exists and remove it (under build/src)
|
||||||
if [ -d "xdg-desktop-portal-hyprland" ]; then
|
SRC_DIR="$SRC_ROOT/xdg-desktop-portal-hyprland"
|
||||||
|
if [ -d "$SRC_DIR" ]; then
|
||||||
printf "${NOTE} Removing existing xdg-desktop-portal-hyprland folder...\n"
|
printf "${NOTE} Removing existing xdg-desktop-portal-hyprland folder...\n"
|
||||||
rm -rf "xdg-desktop-portal-hyprland" 2>&1 | tee -a "$LOG"
|
rm -rf "$SRC_DIR" 2>&1 | tee -a "$LOG"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if git clone --recursive -b $tag "https://github.com/hyprwm/xdg-desktop-portal-hyprland.git"; then
|
if git clone --recursive -b $tag "https://github.com/hyprwm/xdg-desktop-portal-hyprland.git" "$SRC_DIR"; then
|
||||||
cd "xdg-desktop-portal-hyprland" || exit 1
|
cd "$SRC_DIR" || exit 1
|
||||||
cmake -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib -DCMAKE_INSTALL_PREFIX=/usr -B build
|
BUILD_DIR="$BUILD_ROOT/xdg-desktop-portal-hyprland"
|
||||||
cmake --build build
|
mkdir -p "$BUILD_DIR"
|
||||||
if sudo cmake --install build 2>&1 | tee -a "$MLOG"; then
|
cmake -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib -DCMAKE_INSTALL_PREFIX=/usr -B "$BUILD_DIR"
|
||||||
|
cmake --build "$BUILD_DIR"
|
||||||
|
if sudo cmake --install "$BUILD_DIR" 2>&1 | tee -a "$MLOG"; then
|
||||||
printf "${OK} ${MAGENTA}xdph $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
printf "${OK} ${MAGENTA}xdph $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Installation failed for ${YELLOW}xdph $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
echo -e "${ERROR} Installation failed for ${YELLOW}xdph $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
||||||
fi
|
fi
|
||||||
# Move the additional logs to Install-Logs directory
|
# Move the additional logs to Install-Logs directory
|
||||||
[ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/ || true
|
[ -f "$MLOG" ] && mv "$MLOG" "$PARENT_DIR/Install-Logs/" || true
|
||||||
cd ..
|
cd ..
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Download failed for ${YELLOW}xdph $tag${RESET}" 2>&1 | tee -a "$LOG"
|
echo -e "${ERROR} Download failed for ${YELLOW}xdph $tag${RESET}" 2>&1 | tee -a "$LOG"
|
||||||
|
|||||||
@ -40,25 +40,28 @@ for PKG1 in "${xkbcommon[@]}"; do
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# Check if xkbcommon folder exists and remove it
|
# Check if xkbcommon folder exists and remove it (under build/src)
|
||||||
if [ -d "libxkbcommon" ]; then
|
SRC_DIR="$SRC_ROOT/libxkbcommon"
|
||||||
|
if [ -d "$SRC_DIR" ]; then
|
||||||
printf "${NOTE} Removing existing libxkbcommon folder...\n"
|
printf "${NOTE} Removing existing libxkbcommon folder...\n"
|
||||||
rm -rf "libxkbcommon"
|
rm -rf "$SRC_DIR"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Clone and build
|
# Clone and build
|
||||||
printf "${NOTE} Installing xkbcommon...\n"
|
printf "${NOTE} Installing xkbcommon...\n"
|
||||||
if git clone --recursive -b $tag https://github.com/xkbcommon/libxkbcommon.git; then
|
if git clone --recursive -b $tag https://github.com/xkbcommon/libxkbcommon.git "$SRC_DIR"; then
|
||||||
cd libxkbcommon || exit 1
|
cd "$SRC_DIR" || exit 1
|
||||||
meson setup build --libdir=/usr/local/lib
|
BUILD_DIR="$BUILD_ROOT/libxkbcommon"
|
||||||
meson compile -C build
|
mkdir -p "$BUILD_DIR"
|
||||||
if sudo meson install -C build 2>&1 | tee -a "$MLOG" ; then
|
meson setup "$BUILD_DIR" --libdir=/usr/local/lib
|
||||||
|
meson compile -C "$BUILD_DIR"
|
||||||
|
if sudo meson install -C "$BUILD_DIR" 2>&1 | tee -a "$MLOG" ; then
|
||||||
printf "${OK} xkbcommon installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
printf "${OK} xkbcommon installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Installation failed for xkbcommon." 2>&1 | tee -a "$MLOG"
|
echo -e "${ERROR} Installation failed for xkbcommon." 2>&1 | tee -a "$MLOG"
|
||||||
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 "$PARENT_DIR/Install-Logs/" || true
|
||||||
cd ..
|
cd ..
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Download failed for xkbcommon." 2>&1 | tee -a "$LOG"
|
echo -e "${ERROR} Download failed for xkbcommon." 2>&1 | tee -a "$LOG"
|
||||||
|
|||||||
@ -20,11 +20,12 @@ LOG="Install-Logs/install-$(date +%d-%H%M%S)_zsh_pokemon.log"
|
|||||||
|
|
||||||
printf "${INFO} Installing ${SKY_BLUE}Pokemon color scripts${RESET} ..."
|
printf "${INFO} Installing ${SKY_BLUE}Pokemon color scripts${RESET} ..."
|
||||||
|
|
||||||
if [ -d "pokemon-colorscripts" ]; then
|
SRC_DIR="$SRC_ROOT/pokemon-colorscripts"
|
||||||
cd pokemon-colorscripts && git pull && sudo ./install.sh && cd ..
|
if [ -d "$SRC_DIR" ]; then
|
||||||
|
cd "$SRC_DIR" && git pull && sudo ./install.sh && cd ..
|
||||||
else
|
else
|
||||||
git clone --depth=1 https://gitlab.com/phoneybadger/pokemon-colorscripts.git &&
|
git clone --depth=1 https://gitlab.com/phoneybadger/pokemon-colorscripts.git "$SRC_DIR" &&
|
||||||
cd pokemon-colorscripts && sudo ./install.sh && cd ..
|
cd "$SRC_DIR" && sudo ./install.sh && cd ..
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check if ~/.zshrc exists
|
# Check if ~/.zshrc exists
|
||||||
|
|||||||
@ -53,7 +53,7 @@ done
|
|||||||
if [[ ! -f "$TAGS_FILE" ]]; then
|
if [[ ! -f "$TAGS_FILE" ]]; then
|
||||||
cat > "$TAGS_FILE" <<'EOF'
|
cat > "$TAGS_FILE" <<'EOF'
|
||||||
# Default Hyprland stack versions
|
# Default Hyprland stack versions
|
||||||
HYPRLAND_TAG=v0.53.1
|
HYPRLAND_TAG=v0.53.2
|
||||||
AQUAMARINE_TAG=v0.10.0
|
AQUAMARINE_TAG=v0.10.0
|
||||||
HYPRUTILS_TAG=v0.11.0
|
HYPRUTILS_TAG=v0.11.0
|
||||||
HYPRLANG_TAG=v0.6.8
|
HYPRLANG_TAG=v0.6.8
|
||||||
|
|||||||
@ -103,7 +103,7 @@ ensure_tags_file() {
|
|||||||
cat >"$TAGS_FILE" <<'EOF'
|
cat >"$TAGS_FILE" <<'EOF'
|
||||||
# Default Hyprland stack versions
|
# Default Hyprland stack versions
|
||||||
# (You can override any of these via --set or by editing hypr-tags.env.)
|
# (You can override any of these via --set or by editing hypr-tags.env.)
|
||||||
HYPRLAND_TAG=v0.53.1
|
HYPRLAND_TAG=v0.53.2
|
||||||
AQUAMARINE_TAG=v0.10.0
|
AQUAMARINE_TAG=v0.10.0
|
||||||
HYPRUTILS_TAG=v0.11.0
|
HYPRUTILS_TAG=v0.11.0
|
||||||
HYPRLANG_TAG=v0.6.8
|
HYPRLANG_TAG=v0.6.8
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user