Compare commits

..

No commits in common. "d26848d30788a463b5e642d00790876167983d1b" and "5d53e33f7f9724ecafcb55b3c6cc4a7fd34b1e7c" have entirely different histories.

View File

@ -185,76 +185,6 @@ EOF
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 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"
if [ -f ./build/hyprland ]; then
VER_OUTPUT=$(./build/hyprland --version)
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
if sudo mv /tmp/version_header.h.tmp /usr/include/hyprland/src/version.h 2>&1 | tee -a "$MLOG"; 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
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