Compare commits

...

2 Commits

Author SHA1 Message Date
Don Williams
0bdf84c919 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
2025-12-29 16:04:35 -05:00
Don Williams
55df84a03a Fixing update-hyprland
On branch development
 Your branch is up to date with 'origin/development'.

 Changes to be committed:
	modified:   update-hyprland.sh
2025-12-29 15:46:56 -05:00
2 changed files with 77 additions and 22 deletions

View File

@ -129,27 +129,29 @@ EOF
# By default, build Hyprland with bundled hyprutils/hyprlang to avoid version mismatches # By default, build Hyprland with bundled hyprutils/hyprlang to avoid version mismatches
# You can force system libs by exporting USE_SYSTEM_HYPRLIBS=1 before running this script. # You can force system libs by exporting USE_SYSTEM_HYPRLIBS=1 before running this script.
USE_SYSTEM=${USE_SYSTEM_HYPRLIBS:-1} USE_SYSTEM=${USE_SYSTEM_HYPRLIBS:-1}
if [ "$USE_SYSTEM" = "1" ]; then if [ "$USE_SYSTEM" = "1" ]; then
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:-}"
SYSTEM_FLAGS=( SYSTEM_FLAGS=(
"-DUSE_SYSTEM_HYPRUTILS=ON" "-DUSE_SYSTEM_HYPRUTILS=ON"
"-DUSE_SYSTEM_HYPRLANG=ON" "-DUSE_SYSTEM_HYPRLANG=ON"
"-DUSE_SYSTEM_HYPRWIRE=ON" "-DUSE_SYSTEM_HYPRWIRE=ON"
) )
# Optional preflight: verify hyprwire is discoverable by CMake/pkg-config # Optional preflight: verify hyprwire is discoverable by CMake/pkg-config
if [ ! -e "/usr/local/lib/cmake/Hyprwire/HyprwireConfig.cmake" ] && ! pkg-config --exists hyprwire 2>/dev/null; then if [ ! -e "/usr/local/lib/cmake/Hyprwire/HyprwireConfig.cmake" ] && ! pkg-config --exists hyprwire 2>/dev/null; then
echo "${NOTE} hyprwire not detected in /usr/local yet. Ensure install-scripts/hyprwire.sh ran successfully or set USE_SYSTEM_HYPRLIBS=0 to use subprojects." echo "${NOTE} hyprwire not detected in /usr/local yet. Ensure install-scripts/hyprwire.sh ran successfully or set USE_SYSTEM_HYPRLIBS=0 to use subprojects."
fi
else
# Ensure we do not accidentally pick up mismatched system headers
unset PKG_CONFIG_PATH || true
SYSTEM_FLAGS=(
"-DUSE_SYSTEM_HYPRUTILS=OFF"
"-DUSE_SYSTEM_HYPRLANG=OFF"
"-DUSE_SYSTEM_HYPRWIRE=OFF"
)
fi fi
else
# Ensure we do not accidentally pick up mismatched system headers
unset PKG_CONFIG_PATH || true
SYSTEM_FLAGS=(
"-DUSE_SYSTEM_HYPRUTILS=OFF"
"-DUSE_SYSTEM_HYPRLANG=OFF"
"-DUSE_SYSTEM_HYPRWIRE=OFF"
"-DBUILD_HYPRCTL=OFF"
"-DINSTALL_HYPRCTL=OFF"
)
fi
# Make sure submodules are present when building bundled deps # Make sure submodules are present when building bundled deps
git submodule update --init --recursive || true git submodule update --init --recursive || true

View File

@ -56,6 +56,8 @@ RESTORE=0
VIA_HELPER=0 VIA_HELPER=0
NO_FETCH=0 NO_FETCH=0
USE_SYSTEM_LIBS=1 USE_SYSTEM_LIBS=1
AUTO_FALLBACK=0
MINIMAL=0
ONLY_LIST="" ONLY_LIST=""
SKIP_LIST="" SKIP_LIST=""
SET_ARGS=() SET_ARGS=()
@ -247,7 +249,21 @@ run_stack() {
if [[ -n "$ONLY_LIST" ]]; then if [[ -n "$ONLY_LIST" ]]; then
IFS=',' read -r -a modules <<<"$ONLY_LIST" IFS=',' read -r -a modules <<<"$ONLY_LIST"
else else
modules=("${DEFAULT_MODULES[@]}") if [[ $MINIMAL -eq 1 ]]; then
modules=(
wayland-protocols-src
hyprland-protocols
hyprutils
hyprlang
aquamarine
hyprgraphics
hyprwayland-scanner
hyprwire
hyprland
)
else
modules=("${DEFAULT_MODULES[@]}")
fi
fi fi
if [[ -n "$SKIP_LIST" ]]; then if [[ -n "$SKIP_LIST" ]]; then
IFS=',' read -r -a _skips <<<"$SKIP_LIST" IFS=',' read -r -a _skips <<<"$SKIP_LIST"
@ -290,6 +306,20 @@ run_stack() {
[[ "$m" == "hyprlang" ]] && has_lang=1 [[ "$m" == "hyprlang" ]] && has_lang=1
done done
if [[ $has_hl -eq 1 ]]; then if [[ $has_hl -eq 1 ]]; then
# When using system libs, ensure required libs will be built if missing/outdated
if [[ $USE_SYSTEM_LIBS -eq 1 ]]; then
if ! pkg-config --exists hyprwire 2>/dev/null; then
modules=("hyprwire" "${modules[@]}")
fi
req_utils_ver="0.11.0"
have_utils_ver=$(pkg-config --modversion hyprutils 2>/dev/null || echo "")
if [[ -z "$have_utils_ver" ]] || [[ "$(printf '%s\n' "$req_utils_ver" "$have_utils_ver" | sort -V | head -n1)" != "$req_utils_ver" ]]; then
modules=("hyprutils" "${modules[@]}")
fi
if ! pkg-config --exists hyprlang 2>/dev/null; then
modules=("hyprlang" "${modules[@]}")
fi
fi
# ensure each prerequisite is present # ensure each prerequisite is present
[[ $has_wp -eq 0 ]] && modules=("wayland-protocols-src" "${modules[@]}") [[ $has_wp -eq 0 ]] && modules=("wayland-protocols-src" "${modules[@]}")
[[ $has_hlprot -eq 0 ]] && modules=("hyprland-protocols" "${modules[@]}") [[ $has_hlprot -eq 0 ]] && modules=("hyprland-protocols" "${modules[@]}")
@ -483,6 +513,14 @@ while [[ $# -gt 0 ]]; do
USE_SYSTEM_LIBS=1 USE_SYSTEM_LIBS=1
shift shift
;; ;;
--auto)
AUTO_FALLBACK=1
shift
;;
--minimal)
MINIMAL=1
shift
;;
--skip) --skip)
SKIP_LIST=${2:-} SKIP_LIST=${2:-}
shift 2 shift 2
@ -555,4 +593,19 @@ if [[ $VIA_HELPER -eq 1 ]]; then
exit $? exit $?
fi fi
run_stack if run_stack; then
exit 0
else
rc=$?
if [[ $AUTO_FALLBACK -eq 1 && $USE_SYSTEM_LIBS -eq 1 ]]; then
echo "[WARN] Build failed with system libs. Retrying with bundled subprojects..." | tee -a "$SUMMARY_LOG"
USE_SYSTEM_LIBS=0
if run_stack; then
exit 0
else
exit $?
fi
else
exit $rc
fi
fi