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
This commit is contained in:
Don Williams 2026-01-10 00:18:44 -05:00
parent de128b6fd4
commit 1681658de3
4 changed files with 33 additions and 2 deletions

View File

@ -118,6 +118,16 @@ EOF
sed -ri 's|^\s*#embed\s+"\.{0,2}/\.{0,2}/example/hyprland\.conf"\s*$|#include "defaultConfig.bytes.inc"|g' src/config/defaultConfig.hpp || true sed -ri 's|^\s*#embed\s+"\.{0,2}/\.{0,2}/example/hyprland\.conf"\s*$|#include "defaultConfig.bytes.inc"|g' src/config/defaultConfig.hpp || true
fi fi
# Compatibility: some toolchains/libstdc++ do not support std::string operator+ with std::string_view.
# Hyprland hyprctl uses a std::string_view filename; ensure it is converted explicitly.
HYPRCTL_MAIN="$(pwd)/hyprctl/src/main.cpp"
if [ -f "$HYPRCTL_MAIN" ] && grep -q "std::string socketPath" "$HYPRCTL_MAIN"; then
# Only patch if we see a "+ filename" concatenation.
if grep -qE '\+\s*filename\s*;' "$HYPRCTL_MAIN"; then
sed -ri 's/\+\s*filename\s*;/+ std::string(filename);/g' "$HYPRCTL_MAIN" || true
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 ../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 <../assets/0001-fix-hyprland-compile-issue.patch >/dev/null 2>&1; then

View File

@ -29,6 +29,7 @@ if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then
fi fi
LOG="Install-Logs/install-$(date +%d-%H%M%S)_xdph.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_xdph.log"
MLOG="install-$(date +%d-%H%M%S)_xdph2.log"
# Check if the file exists and remove it # Check if the file exists and remove it
[[ -f "/usr/lib/xdg-desktop-portal-hyprland" ]] && sudo rm "/usr/lib/xdg-desktop-portal-hyprland" [[ -f "/usr/lib/xdg-desktop-portal-hyprland" ]] && sudo rm "/usr/lib/xdg-desktop-portal-hyprland"
@ -58,11 +59,12 @@ if git clone --recursive -b $tag "https://github.com/hyprwm/xdg-desktop-portal-h
cmake -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib -DCMAKE_INSTALL_PREFIX=/usr -B build cmake -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib -DCMAKE_INSTALL_PREFIX=/usr -B build
cmake --build build cmake --build build
if sudo cmake --install build 2>&1 | tee -a "$MLOG"; then if sudo cmake --install build 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
mv $MLOG ../Install-Logs/ || true # Move the additional logs to Install-Logs directory
[ -f "$MLOG" ] && mv "$MLOG" ../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"

View File

@ -558,6 +558,14 @@ else
execute_script "hypridle.sh" execute_script "hypridle.sh"
fi fi
# Ensure /usr/local/lib is in the dynamic linker search path.
# Many Hypr* components install shared libraries into /usr/local/lib; without this,
# tools like hyprctl can fail to load (e.g. missing libhyprwire.so.*).
if ! sudo grep -qxF "/usr/local/lib" /etc/ld.so.conf.d/usr-local.conf 2>/dev/null; then
echo "/usr/local/lib" | sudo tee -a /etc/ld.so.conf.d/usr-local.conf >/dev/null
fi
sudo ldconfig 2>/dev/null || true
#execute_script "imagemagick.sh" #this is for compiling from source. 07 Sep 2024 #execute_script "imagemagick.sh" #this is for compiling from source. 07 Sep 2024
# execute_script "waybar-git.sh" only if waybar on repo is old # execute_script "waybar-git.sh" only if waybar on repo is old

View File

@ -503,6 +503,17 @@ run_stack() {
fi fi
done done
# Ensure /usr/local/lib is in the dynamic linker search path after installs.
# Many Hypr* components install shared libraries into /usr/local/lib; without this,
# tools like hyprctl can fail to load (e.g. missing libhyprwire.so.*).
if [[ $DO_INSTALL -eq 1 ]]; then
echo "[INFO] Ensuring /usr/local/lib is in dynamic linker path" | tee -a "$SUMMARY_LOG"
if ! sudo grep -qxF "/usr/local/lib" /etc/ld.so.conf.d/usr-local.conf 2>/dev/null; then
echo "/usr/local/lib" | sudo tee -a /etc/ld.so.conf.d/usr-local.conf >/dev/null
fi
sudo ldconfig || true
fi
{ {
printf "\nSummary:\n" printf "\nSummary:\n"
for mod in "${modules[@]}"; do for mod in "${modules[@]}"; do