diff --git a/x11-wm/theseus-ship/Makefile b/x11-wm/theseus-ship/Makefile index 7ec625ef0fbc..bd56442633bd 100644 --- a/x11-wm/theseus-ship/Makefile +++ b/x11-wm/theseus-ship/Makefile @@ -1,70 +1,68 @@ PORTNAME= theseus-ship DISTVERSIONPREFIX= v -DISTVERSION= 6.0.0 +DISTVERSION= 6.1.0 CATEGORIES= x11-wm # wayland: https://github.com/winft/theseus-ship/issues/9 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 -BROKEN= fails to build with como-0.2.0 - LIB_DEPENDS= libepoxy.so:graphics/libepoxy \ libwayland-server.so:graphics/wayland \ libWraplandServer.so:graphics/wrapland \ libcomo-script.so.0:x11-toolkits/como \ libwlroots.so:x11-toolkits/wlroots \ 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 # 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 #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 diff --git a/x11-wm/theseus-ship/distinfo b/x11-wm/theseus-ship/distinfo index 1edabc80943a..fd43f06328a7 100644 --- a/x11-wm/theseus-ship/distinfo +++ b/x11-wm/theseus-ship/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1709039440 -SHA256 (winft-theseus-ship-v6.0.0_GH0.tar.gz) = ffd8cf6c0b48cda918a74df372c55f42e00c9151420b4148b5e9f67ae05a05d5 -SIZE (winft-theseus-ship-v6.0.0_GH0.tar.gz) = 2691337 +TIMESTAMP = 1718822874 +SHA256 (winft-theseus-ship-v6.1.0_GH0.tar.gz) = dd3bb31644636e4d3e855df36b4467b20312184ac2b5462594c211107f36824c +SIZE (winft-theseus-ship-v6.1.0_GH0.tar.gz) = 2693171 SHA256 (llvm-llvm-project-llvmorg-16.0.1_GH0.tar.gz) = b5a9ff1793b1e2d388a3819bf35797002b1d2e40bb35a10c65605e0ea1435271 SIZE (llvm-llvm-project-llvmorg-16.0.1_GH0.tar.gz) = 179289803 diff --git a/x11-wm/theseus-ship/files/patch-plasma-6.0 b/x11-wm/theseus-ship/files/patch-plasma-6.0 new file mode 100644 index 000000000000..8206d9b2e98f --- /dev/null +++ b/x11-wm/theseus-ship/files/patch-plasma-6.0 @@ -0,0 +1,93 @@ +Drop after x11/plasma6-libplasma >= 6.1.0 update +Drop after x11-wm/plasma6-kdecoration >= 6.1.0 + +CMake Warning at CMakeLists.txt:59 (find_package): + Could not find a configuration file for package "Plasma" that is compatible + with requested version "6.1". + + The following configuration files were considered but not accepted: + + /usr/local/lib/cmake/Plasma/PlasmaConfig.cmake, version: 6.0.4 + +CMake Error at CMakeLists.txt:68 (find_package): + Could not find a configuration file for package "KDecoration2" that is + compatible with requested version "6.1". + + The following configuration files were considered but not accepted: + + /usr/local/lib/cmake/KDecoration2/KDecoration2Config.cmake, version: 6.0.4 + +kcms/decoration/declarative-plugin/buttonsmodel.cpp:72:32: error: no member named 'Spacer' in 'KDecoration2::DecorationButtonType' + case DecorationButtonType::Spacer: + ~~~~~~~~~~~~~~~~~~~~~~^ +kcms/decoration/declarative-plugin/buttonsmodel.cpp:72:32: error: no member named 'Spacer' in 'KDecoration2::DecorationButtonType' + case DecorationButtonType::Spacer: + ~~~~~~~~~~~~~~~~~~~~~~^ +kcms/decoration/utils.cpp:46:42: error: no member named 'Spacer' in 'KDecoration2::DecorationButtonType' + {KDecoration2::DecorationButtonType::Spacer, QChar('_')}, + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ + +--- CMakeLists.txt.orig 2024-06-19 18:47:54 UTC ++++ CMakeLists.txt +@@ -56,7 +56,7 @@ set_package_properties(KF6Kirigami PROPERTIES + TYPE RUNTIME + ) + +-find_package(Plasma ${CMAKE_PROJECT_VERSION_MAJOR}.${CMAKE_PROJECT_VERSION_MINOR} ++find_package(Plasma ${CMAKE_PROJECT_VERSION_MAJOR} + CONFIG + ) + set_package_properties(Plasma PROPERTIES +@@ -65,7 +65,7 @@ set_package_properties(Plasma PROPERTIES + TYPE RUNTIME + ) + +-find_package(KDecoration2 ${CMAKE_PROJECT_VERSION_MAJOR}.${CMAKE_PROJECT_VERSION_MINOR} ++find_package(KDecoration2 ${CMAKE_PROJECT_VERSION_MAJOR} + CONFIG REQUIRED + ) + +--- kcms/decoration/declarative-plugin/previewbutton.cpp.orig 2024-06-19 18:47:54 UTC ++++ kcms/decoration/declarative-plugin/previewbutton.cpp +@@ -121,12 +121,7 @@ void PreviewButtonItem::paint(QPainter* painter) + } + + const QRect rect(0, 0, width(), height()); +- if (type() == KDecoration2::DecorationButtonType::Spacer) { +- static const QIcon icon = QIcon::fromTheme(QStringLiteral("distribute-horizontal")); +- icon.paint(painter, rect); +- } else { + m_button->paint(painter, rect); +- } + + painter->setCompositionMode(QPainter::CompositionMode_SourceAtop); + painter->fillRect(rect, m_color); +--- kcms/decoration/declarative-plugin/buttonsmodel.cpp.orig 2024-06-19 18:47:54 UTC ++++ kcms/decoration/declarative-plugin/buttonsmodel.cpp +@@ -32,7 +32,6 @@ ButtonsModel::ButtonsModel(QObject* parent) + DecorationButtonType::ContextHelp, + DecorationButtonType::KeepBelow, + DecorationButtonType::KeepAbove, +- DecorationButtonType::Spacer, + }), + parent) + { +@@ -69,8 +68,6 @@ static QString buttonToName(DecorationButtonType type) + return i18n("Keep below other windows"); + case DecorationButtonType::KeepAbove: + return i18n("Keep above other windows"); +- case DecorationButtonType::Spacer: +- return i18n("Spacer"); + default: + return QString(); + } +--- kcms/decoration/utils.cpp.orig 2024-06-19 18:47:54 UTC ++++ kcms/decoration/utils.cpp +@@ -43,7 +43,6 @@ const QHash + {KDecoration2::DecorationButtonType::KeepAbove, QChar('F')}, + {KDecoration2::DecorationButtonType::KeepBelow, QChar('B')}, + {KDecoration2::DecorationButtonType::Shade, QChar('L')}, +- {KDecoration2::DecorationButtonType::Spacer, QChar('_')}, + }; + } + diff --git a/x11-wm/theseus-ship/pkg-plist b/x11-wm/theseus-ship/pkg-plist index d7cd11535f8f..59b6ddb5d824 100644 --- a/x11-wm/theseus-ship/pkg-plist +++ b/x11-wm/theseus-ship/pkg-plist @@ -1,30 +1,32 @@ bin/kwin_wayland bin/kwin_wayland_wrapper bin/kwin_x11 lib/libkcmkwincommon.so.6 lib/libkcmkwincommon.so.%%VERSION%% %%QT_PLUGINDIR%%/kwin/effects/configs/kcm_kwin4_genericscripted.so %%QT_PLUGINDIR%%/plasma/kcms/systemsettings/kcm_kwin_effects.so %%QT_PLUGINDIR%%/plasma/kcms/systemsettings/kcm_kwin_scripts.so %%QT_PLUGINDIR%%/plasma/kcms/systemsettings/kcm_kwin_virtualdesktops.so %%QT_PLUGINDIR%%/plasma/kcms/systemsettings/kcm_kwindecoration.so %%QT_PLUGINDIR%%/plasma/kcms/systemsettings/kcm_kwinrules.so %%QT_PLUGINDIR%%/plasma/kcms/systemsettings_qwidgets/kcm_kwinoptions.so %%QT_PLUGINDIR%%/plasma/kcms/systemsettings_qwidgets/kcm_kwinscreenedges.so %%QT_PLUGINDIR%%/plasma/kcms/systemsettings_qwidgets/kcm_kwintouchscreen.so %%QT_PLUGINDIR%%/plasma/kcms/systemsettings_qwidgets/kwincompositing.so +%%QT_QMLDIR%%/org/kde/kwin/private/kdecoration/kde-qmlmodule.version +%%QT_QMLDIR%%/org/kde/kwin/private/kdecoration/kdecorationprivatedeclarative.qmltypes %%QT_QMLDIR%%/org/kde/kwin/private/kdecoration/libkdecorationprivatedeclarative.so %%QT_QMLDIR%%/org/kde/kwin/private/kdecoration/qmldir libexec/kwin-applywindowdecoration share/applications/kcm_kwin_effects.desktop share/applications/kcm_kwin_scripts.desktop share/applications/kcm_kwin_virtualdesktops.desktop share/applications/kcm_kwindecoration.desktop share/applications/kcm_kwinoptions.desktop share/applications/kcm_kwinrules.desktop share/applications/kwincompositing.desktop share/config.kcfg/kwindecorationsettings.kcfg share/config.kcfg/virtualdesktopssettings.kcfg share/knsrcfiles/kwineffect.knsrc share/knsrcfiles/kwinscripts.knsrc share/knsrcfiles/window-decorations.knsrc