diff --git a/x11-toolkits/como/Makefile b/x11-toolkits/como/Makefile index 750032c3bccb..cdd7da660962 100644 --- a/x11-toolkits/como/Makefile +++ b/x11-toolkits/como/Makefile @@ -1,70 +1,70 @@ PORTNAME= como DISTVERSIONPREFIX= v DISTVERSION= 0.3.0 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= x11-toolkits PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ PATCHFILES+= 325e41b02b58.patch:-p1 # https://github.com/winft/como/pull/22 PATCHFILES+= d250e3a81b91.patch:-p1 # https://github.com/winft/como/pull/22 PATCHFILES+= 7ad1bc1d9b7b.patch:-p1 # https://github.com/winft/como/pull/31 MAINTAINER= jbeich@FreeBSD.org COMMENT= Compositor Modules for Wayland and X11 WWW= https://github.com/winft/como LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto LIB_DEPENDS= libepoxy.so:graphics/libepoxy \ libwayland-server.so:graphics/wayland \ libWraplandServer.so:graphics/wrapland \ libwlroots-0.18.so:x11-toolkits/wlroots018 \ libinput.so:x11/libinput \ libxkbcommon.so:x11/libxkbcommon \ libxcb-image.so:x11/xcb-util-image \ libxcb-keysyms.so:x11/xcb-util-keysyms RUN_DEPENDS= evdev-proto>0:devel/evdev-proto TEST_DEPENDS= catch2>0:devel/catch2 USES= cmake:testing gettext-tools kde:6 pkgconfig \ python:build qt:6 shebangfix xorg USE_GITHUB= yes USE_KDE= auth colorscheme config configwidgets coreaddons \ decoration ecm:build globalaccel i18n idletime kcmutils \ kscreenlocker newstuff:build package service svg \ widgetsaddons windowsystem USE_LDCONFIG= yes USE_QT= base declarative tools USE_XORG= x11 xcb GH_ACCOUNT= winft SHEBANG_FILES= plugins/effects/*.py PLIST_SUB= VERSION=${PORTVERSION} LDFLAGS+= -Wl,--as-needed # fontconfig/freetype, GL, ICE/SM/Xext/Xi, pixman OPTIONS_DEFINE= BREEZE DOCS QA11Y OPTIONS_DEFAULT=BREEZE QA11Y BREEZE_DESC= Default window decoration plugin BREEZE_USE= KDE=breeze BREEZE_CMAKE_BOOL_OFF= CMAKE_DISABLE_FIND_PACKAGE_Breeze DOCS_USE= KDE=doctools:build DOCS_CMAKE_BOOL_OFF= CMAKE_DISABLE_FIND_PACKAGE_KF6DocTools QA11Y_DESC= Accessibility (focus tracking) for Zoom effect QA11Y_LIB_DEPENDS= libqaccessibilityclient-qt6.so:accessibility/libqaccessibilityclient@qt6 QA11Y_CMAKE_BOOL_OFF= CMAKE_DISABLE_FIND_PACKAGE_QAccessibilityClient6 post-patch: # Convert nodes from linprocfs(5) to procfs(5) # XXX como lacks https://invent.kde.org/plasma/kwin/-/commit/1bc7afe8aaa9 @${REINPLACE_CMD} -e '/proc/,+1s,/exe,/file,' \ ${WRKSRC}/${PORTNAME}/base/wayland/filtered_display.cpp \ ${WRKSRC}/${PORTNAME}/desktop/kde/service_utils.h # Generic nodes are not supported by procfs(5) @${REINPLACE_CMD} -e '/mounts/s,/proc,${LINUXBASE}&,' \ ${WRKSRC}/${PORTNAME}/debug/perf/ftrace_impl.cpp .include diff --git a/x11-toolkits/como/files/patch-como_base_wayland_app__singleton.h b/x11-toolkits/como/files/patch-como_base_wayland_app__singleton.h index 409f16e33d6e..d8da4bb4a97b 100644 --- a/x11-toolkits/como/files/patch-como_base_wayland_app__singleton.h +++ b/x11-toolkits/como/files/patch-como_base_wayland_app__singleton.h @@ -1,27 +1,26 @@ - Emulate SCHED_RESET_ON_FORK via pthread_atfork - Switch to pthread_setschedparam as Linux sched_setscheduler operates on threads contrary to POSIX --- como/base/wayland/app_singleton.h.orig 2024-02-27 13:02:31 UTC +++ como/base/wayland/app_singleton.h -@@ -19,12 +19,17 @@ class app_singleton : public base::app_singleton (publ +@@ -19,12 +19,16 @@ class app_singleton : public base::app_singleton (publ setenv("QT_QPA_PLATFORM", "wayland-org.kde.kwin.qpa", true); setenv("KWIN_FORCE_OWN_QPA", "1", true); -#if HAVE_SCHED_RESET_ON_FORK int const minPriority = sched_get_priority_min(SCHED_RR); sched_param sp; sp.sched_priority = minPriority; - sched_setscheduler(0, SCHED_RR | SCHED_RESET_ON_FORK, &sp); -#endif -+ if (pthread_setschedparam(pthread_self(), SCHED_RR, &sp)) -+ return; -+ -+ pthread_atfork(NULL, NULL, []() { -+ sched_param sp; -+ sp.sched_priority = 0; -+ pthread_setschedparam(pthread_self(), SCHED_OTHER, &sp); -+ }); ++ if (!pthread_setschedparam(pthread_self(), SCHED_RR, &sp)) { ++ pthread_atfork(NULL, NULL, []() { ++ sched_param sp; ++ sp.sched_priority = 0; ++ pthread_setschedparam(pthread_self(), SCHED_OTHER, &sp); ++ }); ++ } qapp = std::make_unique(argc, argv); prepare_qapp(); diff --git a/x11-wm/theseus-ship/Makefile b/x11-wm/theseus-ship/Makefile index 0c03a7652cce..ce87cbd891ea 100644 --- a/x11-wm/theseus-ship/Makefile +++ b/x11-wm/theseus-ship/Makefile @@ -1,49 +1,49 @@ PORTNAME= theseus-ship DISTVERSIONPREFIX= v DISTVERSION= 6.2.0 -PORTREVISION= 2 -CATEGORIES= x11-wm # wayland: https://github.com/winft/theseus-ship/issues/9 +PORTREVISION= 3 +CATEGORIES= x11-wm wayland PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ PATCHFILES+= 01030427325c.patch:-p1 # https://github.com/winft/theseus-ship/pull/17 MAINTAINER= jbeich@FreeBSD.org COMMENT= Wayland and X11 compositor for KDE Plasma Desktop WWW= https://github.com/winft/theseus-ship LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/LICENSE LIB_DEPENDS= libepoxy.so:graphics/libepoxy \ libwayland-server.so:graphics/wayland \ libWraplandServer.so:graphics/wrapland \ libcomo-script.so.0:x11-toolkits/como \ libwlroots-0.18.so:x11-toolkits/wlroots018 \ libxkbcommon.so:x11/libxkbcommon \ libxcb-cursor.so:x11/xcb-util-cursor \ libxcb-keysyms.so:x11/xcb-util-keysyms \ libxcb-icccm.so:x11/xcb-util-wm CONFLICTS_INSTALL= plasma6-kwin # bin/kwin_wayland USES= cmake:testing gettext-tools kde:6 pkgconfig qt:6 xorg USE_GITHUB= yes USE_KDE= colorscheme config coreaddons crash dbusaddons decoration \ ecm:build globalaccel i18n kcmutils kscreenlocker newstuff:build \ notifications package svg widgetsaddons windowsystem xmlgui USE_LDCONFIG= yes USE_QT= base declarative tools USE_XORG= pixman x11 xcb xi GH_ACCOUNT= winft GH_PROJECT= theseus-ship PLIST_SUB= VERSION=${PORTVERSION} LDFLAGS+= -Wl,--as-needed # GL, ICE/SM/Xext, input, KF6Service OPTIONS_DEFINE= BREEZE OPTIONS_DEFAULT=BREEZE BREEZE_DESC= Default window decoration plugin BREEZE_USE= KDE=breeze BREEZE_CMAKE_BOOL_OFF= CMAKE_DISABLE_FIND_PACKAGE_Breeze .include