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