1
0
mirror of https://git.freebsd.org/ports.git synced 2026-06-02 11:08:52 +00:00
Files
ports/x11-wm/hyprland/Makefile
T

100 lines
3.1 KiB
Makefile

PORTNAME= hyprland
DISTVERSIONPREFIX= v
DISTVERSION= 0.55.2
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.2.0<8.0.0:devel/glaze \
hyprwayland-scanner>=0.3.10:devel/hyprwayland-scanner \
glslang>0:graphics/glslang \
hyprland-protocols>=0.6.4:graphics/hyprland-protocols \
wayland-protocols>=1.47: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 \
liblcms2.so:graphics/lcms2 \
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
TEST_DEPENDS= googletest>0:devel/googletest
USES= cmake:testing compiler:c++23-lang gl gnome lua:55 pkgconfig \
python:build 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 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
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 <bsd.port.mk>
# 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