mirror of
https://github.com/JaKooLit/Debian-Hyprland.git
synced 2026-02-05 01:30:13 +01:00
Development to main Pin def v0.53.2 chg build dir location fix versioning (#235)
* Testing build from debian packages
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
new file: BUILD_METHOD_OPTIONS.md
new file: CHANGES_SUMMARY.md
new file: GIT_STATUS.md
new file: INSTALL_METHOD_GUIDE.md
new file: QUICK_START.txt
modified: install.sh
* Fix package installation: skip plugins and debug symbols by default, improve dependency handling
* Add comprehensive troubleshooting guide for package installation issues
* Fix package installation path handling: use full paths instead of cd to preserve working directory
* Removed files related to debian pacakge building
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
deleted: BUILD_METHOD_OPTIONS.md
deleted: GIT_STATUS.md
deleted: INSTALL_METHOD_GUIDE.md
deleted: PACKAGE_INSTALL_TROUBLESHOOTING.md
deleted: QUICK_START.txt
* Ported ubuntu quickshell install script to debian
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
new file: install-scripts/quickshell.sh
* Forgot to add quickshell as install option
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: install.sh
* Added missing depdendencies to debian quickshell
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: install-scripts/quickshell.sh
* Fixing QML import pathing
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: install-scripts/quickshell.sh
* Adding shim for missing QML properies
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: install-scripts/quickshell.sh
* Added check for debian trixie in quickshell install
Trixe doesn't support overview seems like the QT libs are too old
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: install-scripts/quickshell.sh
* Fixed typo in script
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: refresh-hypr-tags.sh
* libmuparser-dev is now needed
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: install-scripts/00-dependencies.sh
modified: install-scripts/hyprland.sh
* Adding hyprwire depdency
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: hypr-tags.env
new file: install-scripts/hyprwire.sh
modified: install.sh
modified: refresh-hypr-tags.sh
modified: update-hyprland.sh
* Updating hyprwire build order
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: install-scripts/hyprland.sh
* Fixing script permissions
* fixing hyprwire build error
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: hyprwire.sh
* Still fixing hyprwire build errors
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: hyprwire.sh
* Fixing SED error. (I Hate sed)
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: hyprwire.sh
* Still getting append errors trying another fix
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: hyprwire.sh
* Updated tags for 0.53.0
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: ../hypr-tags.env
modified: hyprland.sh
* Fixing build error on hyprland
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: hyprland.sh
* Still getting build errors with hyprland
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: install-scripts/hyprland.sh
* More build errors to fix
On branch development
Your branch is ahead of 'origin/development' by 1 commit.
(use "git push" to publish your local commits)
Changes to be committed:
modified: install-scripts/hyprland.sh
* Fixind SED error
* Hyprland tag set to 52.2
* Scripts has hardcoded versions vs. pulling hypr-env
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: install-scripts/aquamarine.sh
modified: install-scripts/hyprcursor.sh
modified: install-scripts/hyprgraphics.sh
modified: install-scripts/hyprland-guiutils.sh
modified: install-scripts/hyprland-protocols.sh
modified: install-scripts/hyprland-qt-support.sh
modified: install-scripts/hyprland.sh
modified: install-scripts/hyprlang.sh
modified: install-scripts/hyprtoolkit.sh
modified: install-scripts/hyprutils.sh
modified: install-scripts/hyprwayland-scanner.sh
modified: install-scripts/hyprwire.sh
modified: install-scripts/wayland-protocols-src.sh
* Fixing update-hyprland to support tags
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: install-scripts/hyprutils.sh
modified: update-hyprland.sh
* Fixing update-hyprland (again) to use env-tags
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: update-hyprland.sh
* Fixing update-hyprland
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: update-hyprland.sh
* Trying to get trixie to build
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: install-scripts/hyprland.sh
* Updated README re: NVIDIA drivers & HL 0.52.2+ on Trixie
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: README.md
* UPD: Before ubunmtu was out-of-date, now can run HL dots
previsously ubuntu was older HL. Now it's up to date and can
also run current dotfiles. Removed old statement saying ubuntu could not
run current dotfiles.
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: README.md
* Pinned version to 52.2 for debian stable support
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: CHANGELOGS.md
deleted: CHANGES_SUMMARY.md
modified: Debian-Hyprland-Install-Upgrade.es.md
modified: Debian-Hyprland-Install-Upgrade.md
modified: hypr-tags.env
new file: hypr-tags.env-v.053
modified: update-hyprland.sh
* Fixed update-hyprland refresh-hypr-tags --force-override
It now assumes --fetch-latest
Small formatting fixes
Now shows version to upgrade too and pause to allow review
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: CHANGELOGS.md
modified: Debian-Hyprland-Install-Upgrade.es.md
modified: Debian-Hyprland-Install-Upgrade.md
modified: dry-run-build.sh
modified: refresh-hypr-tags.sh
modified: update-hyprland.sh
* Fixing build scrpt to work onm debian stable
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: install-scripts/hyprland-guiutils.sh
* Added selectable shim for hyprwire to allow building on trixie
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: hyprwire.sh
* Fixed hyprland 0.53 build for trixie found bug in xdph script
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: hyprland.sh
modified: xdph.sh
modified: ../install.sh
modified: ../update-hyprland.sh
* Major Update Debian trixie 0.53.1 support new build flags
Trixie needs small patches to build vs. testing+
Script now detects that. But some debian based distros might mask name
There is a flag `--force-trixie` to include the fixes
Updated the Install-Upgrade documents with the specifics
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: CHANGELOGS.md
modified: Debian-Hyprland-Install-Upgrade.es.md
modified: Debian-Hyprland-Install-Upgrade.md
modified: README.md
modified: hypr-tags.env
deleted: hypr-tags.env-v.053
modified: install.sh
modified: refresh-hypr-tags.sh
modified: update-hyprland.sh
* Updated CHANGELOG with note about debian stable support
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
renamed: CHANGELOGS.md -> CHANGELOG.md
* Sync README/CHANGELOG with main
* Updated CHANGELOG and README re: debian trixie upgrades to Forky+
You must recompile Hyprland
`update-hyprland --install --with-deps`
Otherwise hyprland won't start
You will be returned to the login manager
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: CHANGELOG.md
modified: README.md
* Fixed install script to pull current headers for versioning
Fastfetch was showing wrong version duo to header files from 52.2
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: install-scripts/hyprland.sh
* Improved syncing versioning
Gets commit hash, tag, date, commit count, dirty state from hyprland --version.
Pulls library versions from hyprland --version first, and falls back to hypr-tags.env if missing.
Writes those values into /usr/include/hyprland/src/version.h.
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: install-scripts/hyprland.sh
* Fixed ver mismatch in FF Pinned stable to 53.2 create build dir
Now the code will compile in build directory vs. base directory
Easier to clean up
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: CHANGELOG.md
modified: Debian-Hyprland-Install-Upgrade.es.md
modified: Debian-Hyprland-Install-Upgrade.md
modified: README.md
modified: hypr-tags.env
modified: install-scripts/Global_functions.sh
modified: install-scripts/ags.sh
modified: install-scripts/aquamarine.sh
modified: install-scripts/hyprcursor.sh
modified: install-scripts/hyprgraphics.sh
modified: install-scripts/hypridle.sh
modified: install-scripts/hyprland-guiutils.sh
modified: install-scripts/hyprland-protocols.sh
modified: install-scripts/hyprland-qt-support.sh
modified: install-scripts/hyprland.sh
modified: install-scripts/hyprlang.sh
modified: install-scripts/hyprlock.sh
modified: install-scripts/hyprpolkitagent.sh
modified: install-scripts/hyprtoolkit.sh
modified: install-scripts/hyprutils.sh
modified: install-scripts/hyprwayland-scanner.sh
modified: install-scripts/hyprwire.sh
modified: install-scripts/quickshell.sh
modified: install-scripts/rofi-wayland.sh
modified: install-scripts/wayland-protocols-src.sh
modified: install-scripts/xdph.sh
modified: install-scripts/xkbcommon.sh
modified: refresh-hypr-tags.sh
modified: update-hyprland.sh
* Moved source and builds to build dir
Cleanup is now just removing the build directory and install-logs
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: install-scripts/Global_functions.sh
modified: install-scripts/ags.sh
modified: install-scripts/aquamarine.sh
modified: install-scripts/dotfiles-branch.sh
modified: install-scripts/gtk_themes.sh
modified: install-scripts/hyprcursor.sh
modified: install-scripts/hyprgraphics.sh
modified: install-scripts/hypridle.sh
modified: install-scripts/hyprland-guiutils.sh
modified: install-scripts/hyprland-protocols.sh
modified: install-scripts/hyprland-qt-support.sh
modified: install-scripts/hyprland.sh
modified: install-scripts/hyprlang.sh
modified: install-scripts/hyprlock.sh
modified: install-scripts/hyprpolkitagent.sh
modified: install-scripts/hyprtoolkit.sh
modified: install-scripts/hyprutils.sh
modified: install-scripts/hyprwayland-scanner.sh
modified: install-scripts/hyprwire.sh
modified: install-scripts/quickshell.sh
modified: install-scripts/rofi-wayland.sh
modified: install-scripts/rog.sh
modified: install-scripts/sddm_theme.sh
modified: install-scripts/swww.sh
modified: install-scripts/wayland-protocols-src.sh
modified: install-scripts/xdph.sh
modified: install-scripts/xkbcommon.sh
modified: install-scripts/zsh_pokemon.sh
* Fixed build error with hyprtoolkit
* Updated docs for new build dir layout and how to clean up after
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: Debian-Hyprland-Install-Upgrade.es.md
modified: Debian-Hyprland-Install-Upgrade.md
* Updated CHANGELOG with build dir change and fixes
On branch development
Your branch is up to date with 'origin/development'.
Changes to be committed:
modified: CHANGELOG.md
This commit is contained in:
parent
6d8fe7f359
commit
886f22ede3
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,19 +182,121 @@ 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
|
||||||
|
printf "${NOTE} Updating system version header for Hyprland...\n"
|
||||||
|
VER_OUTPUT=""
|
||||||
|
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}')
|
||||||
|
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)
|
||||||
|
COMMIT_DATE=$(printf '%s' "$VER_OUTPUT" | grep -oP '^Date:\s+\K.*' | head -1)
|
||||||
|
COMMITS=$(printf '%s' "$VER_OUTPUT" | grep -oP 'commits:\s*\K[0-9]+' | head -1)
|
||||||
|
DIRTY=$(printf '%s' "$VER_OUTPUT" | grep -qi 'dirty' && echo "dirty" || echo "clean")
|
||||||
|
COMMIT_MSG=$(printf '%s' "$VER_OUTPUT" | head -n1 | sed -n 's/.*(version: \(.*\))\..*/\1/p')
|
||||||
|
|
||||||
|
[ -z "$COMMIT" ] && COMMIT="unknown"
|
||||||
|
[ -z "$TAG" ] && TAG="v$VERSION"
|
||||||
|
[ -z "$COMMIT_DATE" ] && COMMIT_DATE="$(date)"
|
||||||
|
[ -z "$COMMITS" ] && COMMITS="0"
|
||||||
|
[ -z "$COMMIT_MSG" ] && COMMIT_MSG="version: bump"
|
||||||
|
|
||||||
|
# Prefer versions from hyprland --version; fall back to hypr-tags.env values
|
||||||
|
parse_ver() { printf '%s' "$VER_OUTPUT" | grep -m1 "$1:" | grep -oP '\d+\.\d+\.\d+' | head -1; }
|
||||||
|
AQUA_VER=$(parse_ver "Aquamarine")
|
||||||
|
HYPRLANG_VER=$(parse_ver "Hyprlang")
|
||||||
|
HYPRUTILS_VER=$(parse_ver "Hyprutils")
|
||||||
|
HYPRCURSOR_VER=$(parse_ver "Hyprcursor")
|
||||||
|
HYPRGRAPHICS_VER=$(parse_ver "Hyprgraphics")
|
||||||
|
|
||||||
|
[ -z "$AQUA_VER" ] && AQUA_VER="${AQUAMARINE_TAG#v}"
|
||||||
|
[ -z "$HYPRLANG_VER" ] && HYPRLANG_VER="${HYPRLANG_TAG#v}"
|
||||||
|
[ -z "$HYPRUTILS_VER" ] && HYPRUTILS_VER="${HYPRUTILS_TAG#v}"
|
||||||
|
[ -z "$HYPRGRAPHICS_VER" ] && HYPRGRAPHICS_VER="${HYPRGRAPHICS_TAG#v}"
|
||||||
|
[ -z "$HYPRCURSOR_VER" ] && HYPRCURSOR_VER="0.1.13"
|
||||||
|
[ -z "$AQUA_VER" ] && AQUA_VER="0.0.0"
|
||||||
|
[ -z "$HYPRLANG_VER" ] && HYPRLANG_VER="0.0.0"
|
||||||
|
[ -z "$HYPRUTILS_VER" ] && HYPRUTILS_VER="0.0.0"
|
||||||
|
[ -z "$HYPRGRAPHICS_VER" ] && HYPRGRAPHICS_VER="0.0.0"
|
||||||
|
|
||||||
|
# AQUAMARINE_VERSION components
|
||||||
|
AQUA_MAJOR=$(echo "$AQUA_VER" | cut -d. -f1)
|
||||||
|
AQUA_MINOR=$(echo "$AQUA_VER" | cut -d. -f2)
|
||||||
|
AQUA_PATCH=$(echo "$AQUA_VER" | cut -d. -f3)
|
||||||
|
|
||||||
|
# Use printf to safely write the file
|
||||||
|
printf '%s\n' "#pragma once" > /tmp/version_header.h.tmp
|
||||||
|
printf '%s\n' "#define GIT_COMMIT_HASH \"$COMMIT\"" >> /tmp/version_header.h.tmp
|
||||||
|
printf '%s\n' "#define GIT_BRANCH \"\"" >> /tmp/version_header.h.tmp
|
||||||
|
printf '%s\n' "#define GIT_COMMIT_MESSAGE \"$COMMIT_MSG\"" >> /tmp/version_header.h.tmp
|
||||||
|
printf '%s\n' "#define GIT_COMMIT_DATE \"$COMMIT_DATE\"" >> /tmp/version_header.h.tmp
|
||||||
|
printf '%s\n' "#define GIT_DIRTY \"$DIRTY\"" >> /tmp/version_header.h.tmp
|
||||||
|
printf '%s\n' "#define GIT_TAG \"$TAG\"" >> /tmp/version_header.h.tmp
|
||||||
|
printf '%s\n' "#define GIT_COMMITS \"$COMMITS\"" >> /tmp/version_header.h.tmp
|
||||||
|
printf '%s\n' "" >> /tmp/version_header.h.tmp
|
||||||
|
printf '%s\n' "#define AQUAMARINE_VERSION \"$AQUA_VER\"" >> /tmp/version_header.h.tmp
|
||||||
|
printf '%s\n' "// clang-format off" >> /tmp/version_header.h.tmp
|
||||||
|
printf '%s\n' "#define AQUAMARINE_VERSION_MAJOR $AQUA_MAJOR" >> /tmp/version_header.h.tmp
|
||||||
|
printf '%s\n' "#define AQUAMARINE_VERSION_MINOR $AQUA_MINOR" >> /tmp/version_header.h.tmp
|
||||||
|
printf '%s\n' "#define AQUAMARINE_VERSION_PATCH $AQUA_PATCH" >> /tmp/version_header.h.tmp
|
||||||
|
printf '%s\n' "// clang-format on" >> /tmp/version_header.h.tmp
|
||||||
|
printf '%s\n' "#define HYPRLANG_VERSION \"$HYPRLANG_VER\"" >> /tmp/version_header.h.tmp
|
||||||
|
printf '%s\n' "#define HYPRUTILS_VERSION \"$HYPRUTILS_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
|
||||||
|
|
||||||
|
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"
|
||||||
|
else
|
||||||
|
printf "${NOTE} Could not update system version header (non-critical)\n" 2>&1 | tee -a "$MLOG"
|
||||||
|
fi
|
||||||
|
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
|
||||||
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"
|
||||||
fi
|
fi
|
||||||
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