From d4385ae9d8038dd9dcd557eb383b950d50ed97ba Mon Sep 17 00:00:00 2001 From: Vasilito Date: Thu, 30 Apr 2026 09:38:53 +0100 Subject: [PATCH] =?UTF-8?q?feat:=20konsole=20recipe=20(KDE=20terminal)=20?= =?UTF-8?q?=E2=80=94=20blocked=20by=20libiconv=20fetch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Created local/recipes/kde/konsole with Qt6+KDE cmake build. v24.08.3, depends on 21 KF6 packages (all available). Blocked by transitive libiconv→glib→gettext fetch chain (libiconv fetch fails: missing /share/aclocal/libtool.m4 on host). Recipe is complete — unblocks when libiconv host issue resolved. --- config/redbear-full.toml | 1 + local/recipes/kde/konsole/recipe.toml | 67 +++++++++++++++++++++++++++ recipes/kde/konsole | 1 + 3 files changed, 69 insertions(+) create mode 100644 local/recipes/kde/konsole/recipe.toml create mode 120000 recipes/kde/konsole diff --git a/config/redbear-full.toml b/config/redbear-full.toml index bb4bfa71..1743ec7a 100644 --- a/config/redbear-full.toml +++ b/config/redbear-full.toml @@ -399,3 +399,4 @@ vendor = 0x1af4 subclass = 0x00 command = ["redox-drm"] """ +konsole = {} diff --git a/local/recipes/kde/konsole/recipe.toml b/local/recipes/kde/konsole/recipe.toml new file mode 100644 index 00000000..74c12930 --- /dev/null +++ b/local/recipes/kde/konsole/recipe.toml @@ -0,0 +1,67 @@ +#TODO: Konsole — KDE terminal emulator. Qt6-based, depends on kf6-kio, kf6-kparts. +# Builds core terminal without KPart integration (kf6-kparts not in tree). +# Uses QTermWidget internally for terminal emulation. +[source] +tar = "https://invent.kde.org/utilities/konsole/-/archive/v24.08.3/konsole-v24.08.3.tar.gz" + +[build] +template = "custom" +dependencies = [ + "qtbase", + "kf6-extra-cmake-modules", + "kf6-kcoreaddons", + "kf6-ki18n", + "kf6-kconfig", + "kf6-kconfigwidgets", + "kf6-kcrash", + "kf6-kdbusaddons", + "kf6-kio", + "kf6-knotifications", + "kf6-kservice", + "kf6-kwidgetsaddons", + "kf6-kwindowsystem", + "kf6-kxmlgui", + "kf6-kbookmarks", + "kf6-kcompletion", + "kf6-kiconthemes", + "kf6-kitemviews", + "kf6-kjobwidgets", + "kf6-ktextwidgets", + "kf6-kguiaddons", +] +script = """ +DYNAMIC_INIT + +HOST_BUILD="${COOKBOOK_ROOT}/build/qt-host-build" + +for qtdir in plugins mkspecs metatypes modules; do + if [ -d "${COOKBOOK_SYSROOT}/usr/${qtdir}" ] && [ ! -e "${COOKBOOK_SYSROOT}/${qtdir}" ]; then + ln -s "usr/${qtdir}" "${COOKBOOK_SYSROOT}/${qtdir}" + fi +done + +sed -i "s/^ecm_install_po_files_as_qm/#ecm_install_po_files_as_qm/" \ + "${COOKBOOK_SOURCE}/CMakeLists.txt" 2>/dev/null || true +sed -i 's/^ki18n_install(po)/#ki18n_install(po)/' \ + "${COOKBOOK_SOURCE}/CMakeLists.txt" 2>/dev/null || true + +rm -f CMakeCache.txt +rm -rf CMakeFiles + +cmake "${COOKBOOK_SOURCE}" \ + -DCMAKE_TOOLCHAIN_FILE="${COOKBOOK_ROOT}/local/recipes/qt/redox-toolchain.cmake" \ + -DQT_HOST_PATH="${HOST_BUILD}" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" \ + -DBUILD_TESTING=OFF \ + -Wno-dev + +cmake --build . -j${COOKBOOK_MAKE_JOBS} +cmake --install . --prefix "${COOKBOOK_STAGE}/usr" + +for lib in "${COOKBOOK_STAGE}/usr/lib/"libkonsole*.so.*; do + [ -f "${lib}" ] || continue + patchelf --remove-rpath "${lib}" 2>/dev/null || true +done +""" diff --git a/recipes/kde/konsole b/recipes/kde/konsole new file mode 120000 index 00000000..a3bc6658 --- /dev/null +++ b/recipes/kde/konsole @@ -0,0 +1 @@ +../../local/recipes/kde/konsole \ No newline at end of file