diff --git a/x11-wm/hyprland/Makefile b/x11-wm/hyprland/Makefile index 12209a038fbc..88790806ab9f 100644 --- a/x11-wm/hyprland/Makefile +++ b/x11-wm/hyprland/Makefile @@ -1,132 +1,131 @@ PORTNAME= hyprland DISTVERSIONPREFIX= v -DISTVERSION= 0.41.0 +DISTVERSION= 0.40.0 +PORTREVISION= 2 CATEGORIES= x11-wm wayland PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ -PATCHFILES+= 766b935ad405.patch:-p1 # https://github.com/hyprwm/Hyprland/pull/6402 +PATCHFILES+= ec092bd601d9.patch:-p1 # hyprwayland-scanner 0.3.5 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 BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \ - hyprwayland-scanner>=0.3.10:devel/hyprwayland-scanner \ + hyprwayland-scanner>=0.3.5:devel/hyprwayland-scanner \ wayland-protocols>=1.35:graphics/wayland-protocols LIB_DEPENDS= libhyprlang.so:devel/hyprlang \ libtomlplusplus.so:devel/tomlplusplus \ libdrm.so:graphics/libdrm \ libwayland-server.so:graphics/wayland \ libuuid.so:misc/e2fsprogs-libuuid \ libwlroots-0.18.so:x11-toolkits/wlroots-devel \ libhyprcursor.so:x11/hyprcursor \ libinput.so:x11/libinput \ libxkbcommon.so:x11/libxkbcommon USES= cmake:indirect 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-5-ge06482e:hyprland_protocols/subprojects/hyprland-protocols \ +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 # Generated by "make update-hash" for commit_pins in hyprpm.toml -GH_HASH= ea2501d4556f84d3de86a4ae2f4b22a474555b9f +GH_HASH= cba1ade848feac44b2eda677503900639581c3f4 # XXX Drop after FreeBSD 14.0 EOL around 2024-10-01 .if exists(/usr/lib/libc++.so) && !exists(/usr/include/c++/v1/__format/write_escaped.h) CXXFLAGS+= -fexperimental-library .endif # XXX Drop after FreeBSD 13.4 EOL around 2026-01-31 # 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= X11 OPTIONS_DEFAULT=X11 X11_USE= XORG=xcb -X11_LIB_DEPENDS= libxcb-errors.so:x11/xcb-util-errors \ - libxcb-icccm.so:x11/xcb-util-wm X11_MESON_ENABLED= xwayland post-patch: # Extract (snapshot) version from the port instead of meson.build @${REINPLACE_CMD} -i .nogit \ -e "/version.*jq/s/run_command.*/'${DISTVERSIONFULL}',/" \ ${WRKSRC}/meson.build @${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&,' \ ${WRKSRC}/hyprctl/main.cpp \ ${WRKSRC}/src/Compositor.cpp # 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} 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 # XXX Drop after FreeBSD 13.2 EOL around 2024-07-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}" # 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 CXXFLAGS+= -D_LIBCPP_HAS_NO_VERBOSE_ABORT_IN_LIBRARY #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 # XXX Work around !target(makesum) makesum: update-hash diff --git a/x11-wm/hyprland/distinfo b/x11-wm/hyprland/distinfo index 0846791c59e6..47990b4eaf0a 100644 --- a/x11-wm/hyprland/distinfo +++ b/x11-wm/hyprland/distinfo @@ -1,11 +1,11 @@ -TIMESTAMP = 1718029386 -SHA256 (hyprwm-Hyprland-v0.41.0_GH0.tar.gz) = 9795f146b3e36b1baa13bee03f0b72d3cea0799c8dad53669d31868e60fb4d96 -SIZE (hyprwm-Hyprland-v0.41.0_GH0.tar.gz) = 48025595 -SHA256 (hyprwm-hyprland-protocols-v0.2-5-ge06482e_GH0.tar.gz) = 05055f71e1f08496320bab54daa190f2fafec1a0e019af244edf1d37cdbf9b8a -SIZE (hyprwm-hyprland-protocols-v0.2-5-ge06482e_GH0.tar.gz) = 7424 +TIMESTAMP = 1714837352 +SHA256 (hyprwm-Hyprland-v0.40.0_GH0.tar.gz) = b7b438f08bb921c6d51e2c2fd7b26b9495c56f9e66123184e7ef0f334eda9647 +SIZE (hyprwm-Hyprland-v0.40.0_GH0.tar.gz) = 47946709 +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 (766b935ad405.patch) = 718d835e800e9c6240a3be614afc739ede50012b100831cd5a3eaa6a7d16d654 -SIZE (766b935ad405.patch) = 1693 +SHA256 (ec092bd601d9.patch) = a4ab9aad0aeba3aa1f806f5716b01745ef1ea24bae1349b1d2fe3ab29fee5e1c +SIZE (ec092bd601d9.patch) = 2181 diff --git a/x11-wm/hyprland/files/patch-libc++16 b/x11-wm/hyprland/files/patch-libc++16 deleted file mode 100644 index 52303c71d65d..000000000000 --- a/x11-wm/hyprland/files/patch-libc++16 +++ /dev/null @@ -1,35 +0,0 @@ -Drop after FreeBSD 14.0 EOL around 2024-09-30 - -In file included from ../src/pch/pch.hpp:1: -In file included from ../src/Compositor.hpp:7: -In file included from ../src/defines.hpp:2: -../src/debug/Log.hpp:58:35: error: call to consteval function 'std::basic_format_string>> &>::basic_format_string' is not a constant expression - logMsg += std::format("[{}] ", hms); - ^ -/usr/include/c++/v1/__format/format_functions.h:341:46: note: initializer of '__types_' is not a constant expression - _Context{__types_.data(), __handles_.data(), sizeof...(_Args)}); - ^ -../src/debug/Log.hpp:58:35: note: in call to 'basic_format_string("[{}] ")' - logMsg += std::format("[{}] ", hms); - ^ -/usr/include/c++/v1/__format/format_functions.h:353:63: note: declared here - static constexpr array<__format::__arg_t, sizeof...(_Args)> __types_{ - ^ - ---- src/debug/Log.hpp.orig 2024-06-05 16:30:46.000000000 +0000 -+++ src/debug/Log.hpp -@@ -51,11 +51,12 @@ namespace Debug { - #ifndef _LIBCPP_VERSION - const auto zt = std::chrono::zoned_time{std::chrono::current_zone(), std::chrono::system_clock::now()}; - const auto hms = std::chrono::hh_mm_ss{zt.get_local_time() - std::chrono::floor(zt.get_local_time())}; -+ logMsg += std::format("[{}] ", hms); - #else - // TODO: current clang 17 does not support `zoned_time`, remove this once clang 19 is ready -- const auto hms = std::chrono::hh_mm_ss{std::chrono::system_clock::now() - std::chrono::floor(std::chrono::system_clock::now())}; -+ auto c = std::chrono::hh_mm_ss{std::chrono::system_clock::now() - std::chrono::floor(std::chrono::system_clock::now())}; -+ logMsg += std::format("{:%H}:{:%M}:{:%S}", c.hours(), c.minutes(), c.subseconds()); - #endif -- logMsg += std::format("[{}] ", hms); - } - - // no need for try {} catch {} because std::format_string ensures that vformat never throw std::format_error