#TODO: Breeze — KDE theme engine (widget style, colors, window decoration). # Builds the Breeze Qt widget style plugin for consistent theming. # The KWin decoration plugin is disabled (needs kwin at build time for the decoration API). # Cursor and icon themes are not built here — those are separate upstream packages. # Blockers: the window decoration subdirectory needs KDecoration3::Decoration which requires # kwin headers at configure time; disabled via CMake option. The widget style plugin should # build independently with just qtbase + KF6 deps. [source] tar = "https://invent.kde.org/plasma/breeze/-/archive/v6.3.4/breeze-v6.3.4.tar.gz" [build] template = "custom" dependencies = [ "qtbase", "qtdeclarative", "kf6-extra-cmake-modules", "kf6-kcoreaddons", "kf6-kconfig", "kf6-ki18n", "kf6-kcolorscheme", "kf6-kiconthemes", "kf6-kwidgetsaddons", "kf6-kwindowsystem", "kdecoration", ] 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 find "${COOKBOOK_SOURCE}" -name CMakeLists.txt -exec sed -i 's/^ecm_install_po_files_as_qm/#ecm_install_po_files_as_qm/' {} \\; find "${COOKBOOK_SOURCE}" -name CMakeLists.txt -exec sed -i 's/^ki18n_install(po)/#ki18n_install(po)/' {} \\; sed -i '/include(ECMQmlModule)/s/^/#/' "${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 \ -DBUILD_QCH=OFF \ -DBUILD_WITH_QML=OFF \ -DUSE_DBUS=OFF \ -DWITH_DECORATIONS=OFF \ -Wno-dev cmake --build . -j"${COOKBOOK_MAKE_JOBS}" cmake --install . --prefix "${COOKBOOK_STAGE}/usr" find "${COOKBOOK_STAGE}" -name '*.so*' -exec patchelf --remove-rpath {} \\; 2>/dev/null || true """