diff options
Diffstat (limited to 'x11-wm/hyprland/Makefile')
-rw-r--r-- | x11-wm/hyprland/Makefile | 85 |
1 files changed, 36 insertions, 49 deletions
diff --git a/x11-wm/hyprland/Makefile b/x11-wm/hyprland/Makefile index 6e020ec322bd..18218c2e08be 100644 --- a/x11-wm/hyprland/Makefile +++ b/x11-wm/hyprland/Makefile @@ -1,12 +1,18 @@ PORTNAME= hyprland DISTVERSIONPREFIX= v -DISTVERSION= 0.48.1 -PORTREVISION= 2 +DISTVERSION= 0.50.1 CATEGORIES= x11-wm wayland +MASTER_SITES= https://github.com/hyprwm/Hyprland/releases/download/${DISTVERSIONFULL}/ +DISTNAME= source-${DISTVERSIONFULL} +DIST_SUBDIR= ${PORTNAME} -MAINTAINER= jbeich@FreeBSD.org +PATCH_SITES= https://github.com/hyprwm/Hyprland/commit/ +PATCHFILES+= ecc04e8ba7469fb01c5a066bf1c48d5cd58d1a18.patch:-p1 # avoid app hang +PATCHFILES+= 66a6ef3859255f2a21c1e902a4b5f56562e87041.patch:-p1 # see #10437 + +MAINTAINER= tagattie@FreeBSD.org COMMENT= Dynamic tiling Wayland compositor that doesn't sacrifice on its looks #' -WWW= https://hyprland.org/ +WWW= https://hypr.land/ LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE @@ -14,7 +20,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \ glaze>0:devel/glaze \ hyprwayland-scanner>=0.3.10:devel/hyprwayland-scanner \ - wayland-protocols>=1.41:graphics/wayland-protocols + wayland-protocols>=1.43:graphics/wayland-protocols LIB_DEPENDS= libhyprlang.so:devel/hyprlang \ libhyprutils.so:devel/hyprutils \ libinotify.so:devel/libinotify \ @@ -23,81 +29,65 @@ LIB_DEPENDS= libhyprlang.so:devel/hyprlang \ libhyprgraphics.so:graphics/hyprgraphics \ libdrm.so:graphics/libdrm \ libwayland-server.so:graphics/wayland \ - libuuid.so:misc/e2fsprogs-libuuid \ + libuuid.so:misc/libuuid \ libaquamarine.so:x11-toolkits/aquamarine \ libhyprcursor.so:x11/hyprcursor \ libinput.so:x11/libinput \ libxkbcommon.so:x11/libxkbcommon -USES= cmake compiler:c++11-lib gl gnome pkgconfig xorg -USE_GITHUB= yes +USES= cmake compiler:c++23-lang gl gnome pkgconfig xorg + USE_GL= egl gbm opengl -USE_GNOME= cairo pango +USE_GNOME= cairo glib20 pango USE_XORG= pixman xcursor -GH_ACCOUNT= hyprwm -GH_PROJECT= Hyprland -GH_TUPLE= hyprwm:hyprland-protocols:v0.6.2:hyprland_protocols/subprojects/hyprland-protocols \ - canihavesomecoffee:udis86:1.7.2-186-g5336633:udis86/subprojects/udis86 -CMAKE_OFF= CMAKE_CXX_SCAN_FOR_MODULES # avoid devel/llvm* + CMAKE_ON= NO_SYSTEMD +CMAKE_OFF= CMAKE_CXX_SCAN_FOR_MODULES # avoid devel/llvm* + LDFLAGS+= -Wl,--as-needed # GL, pango deps -# Generated by "make update-hash" for commit_pins in hyprpm.toml -GH_HASH= 29e2e59fdbab8ed2cc23a20e3c6043d5decb5cdc +WRKSRC= ${WRKDIR}/${PORTNAME}-source -# XXX Drop after FreeBSD 13.4 EOL around 2026-01-31 +# 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 -OPTIONS_DEFINE= QT6 X11 -OPTIONS_DEFAULT=QT6 X11 +OPTIONS_DEFINE= QT6 X11 +OPTIONS_DEFAULT= QT6 X11 QT6_RUN_DEPENDS= hyprland-dialog:x11/hyprland-qtutils -X11_USE= XORG=xcb 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 <bsd.port.options.mk> + +# XXX Delete after 14.2-RELEASE EoL (2025-09-30) +# #embed directive in C23 standard requires llvm 19 or later +.if ${OPSYS} == FreeBSD && (${OSVERSION} >= 1400000 && ${OSVERSION} < 1402501) +USES+= llvm:min=19 +.endif + post-patch: -# Extract (snapshot) version from the port instead of CMakeLists.txt - @${REINPLACE_CMD} -i .nogit \ - -e '/^HASH/s/=.*/=${GH_HASH}/' \ - -e '/^BRANCH/s/=.*/=main/' \ - -e '/^MESSAGE/s/=.*/="?"/' \ - -e "/^DATE/s/=.*/=\"$$(date -ur $$(${AWK} \ - '/TIMESTAMP/ { print $$3 }' ${DISTINFO_FILE}))\"/" \ - -e '/^DIRTY/s/=.*/=portbld/' \ - -e '/^TAG/s/=.*/=${DISTVERSIONFULL}/' \ - -e '/^COMMITS/s/=.*/="?"/' \ - ${WRKSRC}/scripts/generateVersion.sh # Respect consolekit2 as XDG_RUNTIME_DIR fallback - @${REINPLACE_CMD} 's,/run/user,/var&,' \ + @${REINPLACE_CMD} 's|/run/user|/var&|' \ ${WRKSRC}/hyprctl/main.cpp \ ${WRKSRC}/src/Compositor.cpp # Respect PREFIX for wallpapers - @${REINPLACE_CMD} 's,/usr/share,${DATADIR:H},' \ + @${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' \ + @${REINPLACE_CMD} -e 's|/proc|${LINUXBASE}&|g' \ ${WRKSRC}/src/desktop/Window.cpp \ ${WRKSRC}/src/plugins/HookSystem.cpp post-install: -# Plugin API installs all headers (no private vs. public) - @(cd ${STAGEDIR}${PREFIX} && ${FIND} include/${PORTNAME} ! -type d) >>${TMPPLIST} - -update-hash: -# https://docs.github.com/en/rest/commits/commits#get-a-commit -# Pretend to be curl(1) for pretty-printed JSON to help parse with sed(1) - @${REINPLACE_CMD} -i '' -e "/^GH_HASH=/s/=.*/= $$(\ - ${SETENV} HTTP_USER_AGENT=curl ${FETCH_CMD} -qo- \ - https://api.github.com/repos/${GH_ACCOUNT}/${GH_PROJECT}/commits/${GH_TAGNAME} | \ - ${SED} -n '/sha/ { s/.*\"\([0-9a-f]\{40\}\).*/\1/p; q; }' \ - )/" \ - ${.CURDIR}/Makefile + @${RM} ${STAGEDIR}${PREFIX}/bin/hyprland + @${RLN} ${STAGEDIR}${PREFIX}/bin/Hyprland ${STAGEDIR}${PREFIX}/bin/hyprland .include <bsd.port.mk> @@ -106,6 +96,3 @@ update-hash: llvm_ARGS= build .include "${USESDIR}/llvm.mk" .endif - -# XXX Work around !target(makesum) -makesum: update-hash |