diff --git a/x11-wm/hyprland/Makefile b/x11-wm/hyprland/Makefile index ab4d2e511427..994285a4acc1 100644 --- a/x11-wm/hyprland/Makefile +++ b/x11-wm/hyprland/Makefile @@ -1,103 +1,107 @@ PORTNAME= hyprland DISTVERSIONPREFIX= v -DISTVERSION= 0.54.0 +DISTVERSION= 0.54.1 CATEGORIES= x11-wm wayland MASTER_SITES= https://github.com/hyprwm/Hyprland/releases/download/${DISTVERSIONFULL}/ DISTNAME= source-${DISTVERSIONFULL} DIST_SUBDIR= ${PORTNAME} MAINTAINER= tagattie@FreeBSD.org COMMENT= Dynamic tiling Wayland compositor that doesn't sacrifice on its looks #' WWW= https://hypr.land/ LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \ glaze>=7.0.0<8.0.0:devel/glaze \ hyprwayland-scanner>=0.3.10:devel/hyprwayland-scanner \ hyprland-protocols>=0.6.4:graphics/hyprland-protocols \ wayland-protocols>=1.45:graphics/wayland-protocols LIB_DEPENDS= libhyprlang.so:devel/hyprlang \ libhyprutils.so:devel/hyprutils \ libhyprwire.so:devel/hyprwire \ libre2.so:devel/re2 \ libtomlplusplus.so:devel/tomlplusplus \ libhyprgraphics.so:graphics/hyprgraphics \ libdrm.so:graphics/libdrm \ libwayland-server.so:graphics/wayland \ libmuparser.so:math/muparser \ libuuid.so:misc/libuuid \ libaquamarine.so:x11-toolkits/aquamarine \ libhyprcursor.so:x11/hyprcursor \ libinput.so:x11/libinput \ libxkbcommon.so:x11/libxkbcommon RUN_DEPENDS= hyprland-dialog:x11/hyprland-guiutils USES= cmake:testing compiler:c++23-lang gl gnome pkgconfig xorg USE_GL= egl gbm opengl USE_GNOME= cairo glib20 pango USE_XORG= pixman xcursor CMAKE_ON= NO_SYSTEMD CMAKE_OFF= CMAKE_CXX_SCAN_FOR_MODULES # avoid devel/llvm* LDFLAGS+= -Wl,--as-needed # GL, pango deps LDFLAGS+= -pthread WRKSRC= ${WRKDIR}/${PORTNAME}-source # XXX Drop after FreeBSD 13.5 EOL around 2026-04-30 # https://cgit.freebsd.org/src/commit/?id=af93fea71038 .if !exists(/usr/include/sys/timerfd.h) LIB_DEPENDS+= libepoll-shim.so:devel/libepoll-shim .endif # XXX Drop after FreeBSD 14.* EOL around 2028-11-30 # https://cgit.freebsd.org/src/commit/?id=3965de642c29 .if !exists(/usr/include/sys/inotify.h) LIB_DEPENDS+= libinotify.so:devel/libinotify .endif OPTIONS_DEFINE= X11 OPTIONS_DEFAULT= X11 X11_LIB_DEPENDS= libxcb-errors.so:x11/xcb-util-errors \ libxcb-icccm.so:x11/xcb-util-wm X11_USE= XORG=xcb X11_CMAKE_BOOL_OFF= NO_XWAYLAND .include +.if ${OPSYS} == FreeBSD && ${ARCH} == i386 +EXTRA_PATCHES= ${PATCHDIR}/extra-patch-src_layout_algorithm_tiled_scrolling_ScrollTapeController.cpp +.endif + post-patch: # Respect consolekit2 as XDG_RUNTIME_DIR fallback @${REINPLACE_CMD} 's|/run/user|/var&|' \ ${WRKSRC}/hyprctl/src/main.cpp \ ${WRKSRC}/hyprpm/src/core/HyprlandSocket.cpp \ ${WRKSRC}/hyprtester/src/hyprctlCompat.cpp \ ${WRKSRC}/src/Compositor.cpp # Respect PREFIX for wallpapers @${REINPLACE_CMD} 's|/usr/share|${DATADIR:H}|' \ ${WRKSRC}/src/render/OpenGL.cpp # XXX Replace linprocfs(4) with sysctl(3) @${REINPLACE_CMD} -e 's|/proc|${LINUXBASE}&|g' \ ${WRKSRC}/hyprtester/src/tests/main/exec.cpp \ ${WRKSRC}/src/debug/HyprCtl.cpp \ ${WRKSRC}/src/debug/crash/CrashReporter.cpp \ ${WRKSRC}/src/desktop/view/Window.cpp \ ${WRKSRC}/src/helpers/MiscFunctions.cpp \ ${WRKSRC}/src/plugins/HookSystem.cpp \ ${WRKSRC}/src/plugins/PluginAPI.cpp post-install: @${RM} ${STAGEDIR}${PREFIX}/bin/hyprland @${RLN} ${STAGEDIR}${PREFIX}/bin/Hyprland ${STAGEDIR}${PREFIX}/bin/hyprland .include # XXX COMPILER_TYPE is defined after USES was already parsed .if ${CHOSEN_COMPILER_TYPE} == clang && ${_CCVERSION:M+assertions} llvm_ARGS= build .include "${USESDIR}/llvm.mk" .endif diff --git a/x11-wm/hyprland/distinfo b/x11-wm/hyprland/distinfo index f3bab3558088..ffaf57050c18 100644 --- a/x11-wm/hyprland/distinfo +++ b/x11-wm/hyprland/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1772437191 -SHA256 (hyprland/source-v0.54.0.tar.gz) = ddc4f7f1dd2d29ebfeaf462fe361593034f104de85b80e3e81f73e33602a69ae -SIZE (hyprland/source-v0.54.0.tar.gz) = 52938882 +TIMESTAMP = 1772862244 +SHA256 (hyprland/source-v0.54.1.tar.gz) = 67d7aa6d8c8edc1011d79d4694c6c24e8928de288f842b1847b5ddce172b3f60 +SIZE (hyprland/source-v0.54.1.tar.gz) = 52941546 diff --git a/x11-wm/hyprland/files/extra-patch-src_layout_algorithm_tiled_scrolling_ScrollTapeController.cpp b/x11-wm/hyprland/files/extra-patch-src_layout_algorithm_tiled_scrolling_ScrollTapeController.cpp new file mode 100644 index 000000000000..fd7c4daec829 --- /dev/null +++ b/x11-wm/hyprland/files/extra-patch-src_layout_algorithm_tiled_scrolling_ScrollTapeController.cpp @@ -0,0 +1,11 @@ +--- src/layout/algorithm/tiled/scrolling/ScrollTapeController.cpp.orig 2026-03-07 12:05:56 UTC ++++ src/layout/algorithm/tiled/scrolling/ScrollTapeController.cpp +@@ -61,7 +61,7 @@ void CScrollTapeController::insertStrip(ssize_t afterI + return; + } + +- afterIndex = std::clamp(afterIndex, -1L, sc(INT32_MAX)); ++ afterIndex = std::clamp(afterIndex, sc(-1), sc(INT32_MAX)); + + SStripData newStrip; + newStrip.size = size; diff --git a/x11-wm/hyprland/files/patch-hyprpm_src_core_PluginManager.cpp b/x11-wm/hyprland/files/patch-hyprpm_src_core_PluginManager.cpp index 303ea3ae8249..984899b8436d 100644 --- a/x11-wm/hyprland/files/patch-hyprpm_src_core_PluginManager.cpp +++ b/x11-wm/hyprland/files/patch-hyprpm_src_core_PluginManager.cpp @@ -1,14 +1,14 @@ Avoid hyprpm rebuilding Hyprland outside of ports ---- hyprpm/src/core/PluginManager.cpp.orig 2026-02-27 18:24:00 UTC +--- hyprpm/src/core/PluginManager.cpp.orig 2026-03-03 21:08:11 UTC +++ hyprpm/src/core/PluginManager.cpp -@@ -393,9 +393,6 @@ eHeadersErrors CPluginManager::headersValid() { +@@ -402,9 +402,6 @@ eHeadersErrors CPluginManager::headersValid() { eHeadersErrors CPluginManager::headersValid() { const auto HLVER = getHyprlandVersion(false); - if (!std::filesystem::exists(DataState::getHeadersPath() + "/share/pkgconfig/hyprland.pc")) - return HEADERS_MISSING; - // find headers commit const std::string& cmd = std::format("PKG_CONFIG_PATH=\"{}\" pkgconf --cflags --keep-system-cflags hyprland", getPkgConfigPath()); auto headers = execAndGet(cmd);