From 7b6e83f14bf73d8d0e43de7e954997611ada448b Mon Sep 17 00:00:00 2001 From: vasilito Date: Fri, 10 Jul 2026 16:06:02 +0300 Subject: [PATCH] kf6-kjobwidgets: restore KNotificationJobUiDelegate and KF6Notifications Re-enable the desktop notification delegate that was disabled in the initial migration patch. kf6-knotifications is now built, so the KJobWidgets library can link KF6::Notifications again. - Remove duplicated Qt6GuiPrivate find_package lines from CMakeLists.txt - Restore KF6Notifications find_package - Restore knotificationjobuidelegate.cpp/h in src/CMakeLists.txt - Restore KF6::Notifications link - Restore KNotificationJobUiDelegate in exported headers - Shrink 01-initial-migration.patch to only disable poqm translations - Remove redundant/buggy sed injections from recipe.toml The recipe.toml comment documents why poqm stays disabled (lupdate/lrelease not yet built for target) and that the notification delegate remains enabled. --- .../01-initial-migration.patch | 58 +++---------------- local/recipes/kde/kf6-kjobwidgets/recipe.toml | 10 +--- .../kde/kf6-kjobwidgets/source/CMakeLists.txt | 53 ++--------------- .../kf6-kjobwidgets/source/src/CMakeLists.txt | 4 ++ 4 files changed, 18 insertions(+), 107 deletions(-) diff --git a/local/patches/kf6-kjobwidgets/01-initial-migration.patch b/local/patches/kf6-kjobwidgets/01-initial-migration.patch index 128f99cf26..756c8aecba 100644 --- a/local/patches/kf6-kjobwidgets/01-initial-migration.patch +++ b/local/patches/kf6-kjobwidgets/01-initial-migration.patch @@ -8,62 +8,20 @@ # REDBEAR_PATCHES_DIR="/home/kellito/Builds/RedBear-OS/local/patches/kf6-kjobwidgets" # cookbook_apply_patches "${REDBEAR_PATCHES_DIR}" # in place of the sed -i chains that produced these edits. +# +# Update 2026-07-10: KNotificationJobUiDelegate and KF6Notifications are now +# left enabled (kf6-knotifications builds). Only poqm translations stay disabled +# until lupdate/lrelease are built for the Redox target. ---- ./src/CMakeLists.txt -+++ ./src/CMakeLists.txt -@@ -41,8 +41,6 @@ - kwidgetjobtracker.cpp - kwidgetjobtracker.h - kwidgetjobtracker_p.h -- knotificationjobuidelegate.cpp -- knotificationjobuidelegate.h - - ${kjobwidgets_dbus_SRCS} - ) -@@ -84,7 +82,7 @@ - KF6::CoreAddons # KJob - PRIVATE - KF6::WidgetsAddons # KSqueezedTextLabel -- KF6::Notifications -+ #KF6::Notifications - ) - if (HAVE_QTDBUS) - target_link_libraries(KF6JobWidgets PRIVATE Qt6::DBus) -@@ -103,7 +101,7 @@ - KUiServerV2JobTracker - KStatusBarJobTracker - KWidgetJobTracker -- KNotificationJobUiDelegate -+ #KNotificationJobUiDelegate - - REQUIRED_HEADERS KJobWidgets_HEADERS - ) --- ./CMakeLists.txt +++ ./CMakeLists.txt -@@ -27,6 +27,7 @@ - - set(REQUIRED_QT_VERSION 6.9.0) - find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Widgets) -+find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) - - if (Qt6Gui_VERSION VERSION_GREATER_EQUAL "6.10.0") - find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE) -@@ -50,7 +51,7 @@ - - find_package(KF6CoreAddons ${KF_DEP_VERSION} REQUIRED) - find_package(KF6WidgetsAddons ${KF_DEP_VERSION} REQUIRED) --find_package(KF6Notifications ${KF_DEP_VERSION} REQUIRED) -+#find_package(KF6Notifications ${KF_DEP_VERSION} REQUIRED) - - set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].") - -@@ -65,7 +66,7 @@ - KF 6.23.0 +@@ -50,7 +50,7 @@ + KF 6.8.0 ) -ecm_install_po_files_as_qm(poqm) -+#ecm_install_po_files_as_qm(poqm) ++#ecm_install_po_files_as_qm(poqm) # translations deferred until lupdate/lrelease is built for target add_subdirectory(src) - + diff --git a/local/recipes/kde/kf6-kjobwidgets/recipe.toml b/local/recipes/kde/kf6-kjobwidgets/recipe.toml index 0fb4735e06..87b8efdcf2 100644 --- a/local/recipes/kde/kf6-kjobwidgets/recipe.toml +++ b/local/recipes/kde/kf6-kjobwidgets/recipe.toml @@ -21,14 +21,8 @@ source "${COOKBOOK_ROOT}/local/scripts/lib/qt-sysroot.sh" redbear_qt_link_sysroot_dirs "${COOKBOOK_SYSROOT}" plugins mkspecs metatypes modules -#DISABLED: sed -i "s/^ecm_install_po_files_as_qm/#ecm_install_po_files_as_qm # translations deferred until lupdate/lrelease is built for target/" \ - "${COOKBOOK_SOURCE}/CMakeLists.txt" 2>/dev/null || true -#DISABLED: sed -i 's/^ki18n_install(po)/#ki18n_install(po) # translations deferred until lupdate/lrelease is built for target/' \ - "${COOKBOOK_SOURCE}/CMakeLists.txt" 2>/dev/null || true -sed -i 's|^# find_package(KF6Notifications.*REQUIRED)|find_package(KF6Notifications ${KF_DEP_VERSION} REQUIRED)|' \ - "${COOKBOOK_SOURCE}/CMakeLists.txt" 2>/dev/null || true -sed -i '/find_package(Qt6.*Widgets)/a find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)' \ - "${COOKBOOK_SOURCE}/CMakeLists.txt" 2>/dev/null || true +# Local source already retains KNotificationJobUiDelegate and KF6Notifications. +# poqm translations remain disabled because lupdate/lrelease are not built for target. rm -f CMakeCache.txt rm -rf CMakeFiles diff --git a/local/recipes/kde/kf6-kjobwidgets/source/CMakeLists.txt b/local/recipes/kde/kf6-kjobwidgets/source/CMakeLists.txt index 17f0a21925..0a0eb8d098 100644 --- a/local/recipes/kde/kf6-kjobwidgets/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-kjobwidgets/source/CMakeLists.txt @@ -27,55 +27,9 @@ include(CMakePackageConfigHelpers) set(REQUIRED_QT_VERSION 6.6.0) find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Widgets) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) +if (Qt6Gui_VERSION VERSION_GREATER_EQUAL "6.10.0") + find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE) +endif() if(NOT WIN32 AND NOT APPLE AND NOT ANDROID AND NOT HAIKU) option(WITH_X11 "Build with support for QX11Info::appUserTime()" ON) @@ -95,6 +49,7 @@ endif() find_package(KF6CoreAddons ${KF_DEP_VERSION} REQUIRED) find_package(KF6WidgetsAddons ${KF_DEP_VERSION} REQUIRED) +find_package(KF6Notifications ${KF_DEP_VERSION} REQUIRED) set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].") diff --git a/local/recipes/kde/kf6-kjobwidgets/source/src/CMakeLists.txt b/local/recipes/kde/kf6-kjobwidgets/source/src/CMakeLists.txt index ed4551ba68..4134357393 100644 --- a/local/recipes/kde/kf6-kjobwidgets/source/src/CMakeLists.txt +++ b/local/recipes/kde/kf6-kjobwidgets/source/src/CMakeLists.txt @@ -28,6 +28,8 @@ target_sources(KF6JobWidgets PRIVATE kdialogjobuidelegate.h kjobtrackerformatters.cpp kjobtrackerformatters_p.h + knotificationjobuidelegate.cpp + knotificationjobuidelegate.h kstatusbarjobtracker.cpp kstatusbarjobtracker.h kstatusbarjobtracker_p.h @@ -75,6 +77,7 @@ target_link_libraries(KF6JobWidgets KF6::CoreAddons # KJob PRIVATE KF6::WidgetsAddons # KSqueezedTextLabel + KF6::Notifications ) if (HAVE_QTDBUS) target_link_libraries(KF6JobWidgets PRIVATE Qt6::DBus) @@ -90,6 +93,7 @@ ecm_generate_headers(KJobWidgets_HEADERS KDialogJobUiDelegate KUiServerJobTracker KUiServerV2JobTracker + KNotificationJobUiDelegate KStatusBarJobTracker KWidgetJobTracker