diff --git a/x11-wm/hyprland/Makefile b/x11-wm/hyprland/Makefile index 8b0f71d4db69..a86c1975cebd 100644 --- a/x11-wm/hyprland/Makefile +++ b/x11-wm/hyprland/Makefile @@ -1,102 +1,111 @@ PORTNAME= hyprland DISTVERSIONPREFIX= v DISTVERSION= 0.31.0 +PORTREVISION= 1 CATEGORIES= x11-wm wayland PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ PATCHFILES+= 913c8b81ad44.patch:-p1 # https://github.com/hyprwm/Hyprland/pull/3589 +PATCHFILES+= df00727310b8.patch:-p1 # wlroots 0.17 MAINTAINER= jbeich@FreeBSD.org COMMENT= Dynamic tiling Wayland compositor that doesn't sacrifice on its looks #' WWW= https://hyprland.org/ LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE -BROKEN= fails to build after https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/a289f812d620 BROKEN_FreeBSD_12= libc++ too old BUILD_DEPENDS= cmake:devel/cmake-core \ evdev-proto>0:devel/evdev-proto \ wayland-protocols>=1.25:graphics/wayland-protocols \ - wlroots>=0.16.0.739<0.17.0:x11-toolkits/wlroots + wlroots>=0.16.0.791<0.17.0:x11-toolkits/wlroots LIB_DEPENDS= libwayland-server.so:graphics/wayland \ libwlroots.so:x11-toolkits/wlroots \ libinput.so:x11/libinput \ libxkbcommon.so:x11/libxkbcommon USES= compiler:c++11-lib gl gnome meson pkgconfig xorg USE_GITHUB= yes USE_GL= egl opengl USE_GNOME= cairo pango USE_XORG= pixman GH_ACCOUNT= hyprwm GH_PROJECT= Hyprland GH_TUPLE= hyprwm:hyprland-protocols:v0.2-4-g0c2ce70:hyprland_protocols/subprojects/hyprland-protocols \ canihavesomecoffee:udis86:1.7.2-186-g5336633:udis86/subprojects/udis86 MESON_ARGS= -Dsystemd=disabled # XXX Drop after FreeBSD 14.0 EOL around 2025-03-01 .if exists(/usr/lib/libc++.so) && !exists(/usr/include/c++/v1/__format/write_escaped.h) CXXFLAGS+= -fexperimental-library .endif OPTIONS_DEFINE= X11 OPTIONS_DEFAULT=X11 X11_USE= XORG=xcb X11_MESON_ENABLED= xwayland +post-extract: +.if defined(PATCHFILES) && ${PATCHFILES:Mdf00727310b8*} +# Pretend to be a regular file for vendor patch to apply as is + @${RMDIR} ${WRKSRC}/subprojects/wlroots + @${ECHO_CMD} "Subproject commit 3406c1b17a4a7e6d4e2a7d9c1176affa72bce1bc" \ + >${WRKSRC}/subprojects/wlroots +.endif + post-patch: # Extract (snapshot) version from the port instead of meson.build @${REINPLACE_CMD} -i .nogit -e "/GIT_BRANCH/s/run_command.*/'main'/" \ -e "/GIT_COMMIT_HASH/s/run_command.*/'${DISTVERSIONFULL}'/" \ -e "/GIT_COMMIT_MESSAGE/d" \ -e "/GIT_DIRTY/s/run_command.*/'portbld'/" \ -e "/version.*jq/s/run_command.*/'${DISTVERSIONFULL}',/" \ ${WRKSRC}/meson.build # Respect PREFIX for wallpapers @${REINPLACE_CMD} 's,/usr/share,${DATADIR:H},' \ ${WRKSRC}/src/render/OpenGL.cpp .ifdef GH_TUPLE post-configure: @${REINPLACE_CMD} 's/meson install/& \ --skip-subprojects/' ${BUILD_WRKSRC}/build.ninja .endif post-install: # Plugin API installs all headers (no private vs. public) @(cd ${STAGEDIR}${PREFIX} && ${FIND} include/${PORTNAME} ! -type d) >>${TMPPLIST} # XXX Drop after FreeBSD 13.2 EOL around 2024-05-01 (don't forget distinfo) .if ${CXX} == c++ && exists(/usr/lib/libc++.so) .if !exists(/usr/include/c++/v1/__ranges/as_rvalue_view.h) || make(makesum) || make(fetch) USES+= llvm:min=16,build,export PATH:= ${LLVM_PREFIX}/bin:${PATH} # XXX _CMAKE_TOOLCHAIN_SUFFIX vs. devel/llvm* CONFIGURE_ENV+= CC="${CC}" CXX="${CXX}" CPP="${CPP}" CMAKE_BIN= ${LOCALBASE}/bin/cmake # XXX Move into separate port and standardize via USES GH_TUPLE+= llvm:llvm-project:llvmorg-16.0.1:libcxx CXXFLAGS+= -nostdinc++ -isystem${WRKDIR}/libcxx_prefix/include/c++/v1 # Don't link against new libc++ as it's not necessary #LDFLAGS+= -nostdlib++ -L${WRKDIR}/libcxx_prefix/lib -l:libc++.a -lcxxrt pre-configure: bundled-libcxx bundled-libcxx: @${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} \ -DLIBCXX_INCLUDE_BENCHMARKS:BOOL=OFF \ -DCMAKE_INSTALL_PREFIX:PATH=${WRKDIR}/libcxx_prefix \ -B ${WRKDIR}/libcxx_build -S ${WRKSRC_libcxx}/libcxx @${DO_MAKE_BUILD:NDESTDIR*} install -C ${WRKDIR}/libcxx_build .endif .endif # exists(/usr/lib/libc++.so) .include "${.CURDIR:H:H}/x11-toolkits/wlroots-devel/override.mk" post-patch: wlroots-devel-patch wlroots-devel-patch: # Prefer headers (used by ) from wlroots-devel @${REINPLACE_CMD} -i .devel "/subdirs/s|''|'../wlroots-devel/include', &|" \ ${WRKSRC}/meson.build .include diff --git a/x11-wm/hyprland/distinfo b/x11-wm/hyprland/distinfo index daa3d5515a05..28e0e49d9f25 100644 --- a/x11-wm/hyprland/distinfo +++ b/x11-wm/hyprland/distinfo @@ -1,11 +1,13 @@ TIMESTAMP = 1697473020 SHA256 (hyprwm-Hyprland-v0.31.0_GH0.tar.gz) = f3d79aea39bfeb77c49c093ee6acbed007bc3a7a1be61b18624562fc11ab4bcb SIZE (hyprwm-Hyprland-v0.31.0_GH0.tar.gz) = 7327609 SHA256 (hyprwm-hyprland-protocols-v0.2-4-g0c2ce70_GH0.tar.gz) = d8eb9712d66a167a22a0dae829b6dba2b85814b566d0a87918c944e7c0388d1b SIZE (hyprwm-hyprland-protocols-v0.2-4-g0c2ce70_GH0.tar.gz) = 6478 SHA256 (canihavesomecoffee-udis86-1.7.2-186-g5336633_GH0.tar.gz) = 69aff959179ff6247b375b92e797221dbd8e078eabbf1366280b0532617e7fb8 SIZE (canihavesomecoffee-udis86-1.7.2-186-g5336633_GH0.tar.gz) = 116938 SHA256 (llvm-llvm-project-llvmorg-16.0.1_GH0.tar.gz) = b5a9ff1793b1e2d388a3819bf35797002b1d2e40bb35a10c65605e0ea1435271 SIZE (llvm-llvm-project-llvmorg-16.0.1_GH0.tar.gz) = 179289803 SHA256 (913c8b81ad44.patch) = 13a150ee6cb0ee7c22b98946deae44cbbec23e642ab7c574514548641486e258 SIZE (913c8b81ad44.patch) = 1725 +SHA256 (df00727310b8.patch) = 0800ebe83c5265e888cd6f9bb5b6fc4231dfabf36c21d1236a81efbede702f64 +SIZE (df00727310b8.patch) = 5178