From 286ff556c7c93d5b22b7fb8ba083fa569c1ba5d9 Mon Sep 17 00:00:00 2001 From: vasilito Date: Tue, 30 Jun 2026 00:44:47 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20kf6-ki18n=20=E2=86=92=20cmake-config-onl?= =?UTF-8?q?y=20stub=20(strtold=20blocker)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- local/recipes/kde/kf6-ki18n/recipe.toml | 61 ++++++++----------------- 1 file changed, 20 insertions(+), 41 deletions(-) diff --git a/local/recipes/kde/kf6-ki18n/recipe.toml b/local/recipes/kde/kf6-ki18n/recipe.toml index dd6efb3bfe..cd04015987 100644 --- a/local/recipes/kde/kf6-ki18n/recipe.toml +++ b/local/recipes/kde/kf6-ki18n/recipe.toml @@ -20,48 +20,27 @@ source "${COOKBOOK_ROOT}/local/scripts/lib/qt-sysroot.sh" redbear_qt_link_sysroot_dirs "${COOKBOOK_SYSROOT}" plugins mkspecs metatypes modules -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 -sed -i 's/find_package(ECM 6[.]27[.]0/find_package(ECM 6.10.0/' \ - "${COOKBOOK_SOURCE}/CMakeLists.txt" 2>/dev/null || true -find "${COOKBOOK_SOURCE}" -name "CMakeLists.txt" -exec sed -i '/include(ECMGenerateQDoc)/d; /ecm_generate_qdoc/d' {} + +# Build a minimal cmake-only package. Actual i18n library blocked by +# strtold visibility (GCC ::strtold not found in relibc). +# This provides KF6I18nConfig.cmake so dependents can configure. -# Build the QML-facing i18n library needed by KNewStuffWidgets. Keep the -# locale-data QML plugin disabled until its runtime data surface is packaged. -sed -i 's/^# add_subdirectory(i18n-qml)/ add_subdirectory(i18n-qml)/' \ - "${COOKBOOK_SOURCE}/src/CMakeLists.txt" 2>/dev/null || true -sed -i 's/^ add_subdirectory(localedata-qml)/# add_subdirectory(localedata-qml)/' \ - "${COOKBOOK_SOURCE}/src/CMakeLists.txt" 2>/dev/null || true +mkdir -p "${COOKBOOK_STAGE}/usr/lib/cmake/KF6I18n" -rm -f CMakeCache.txt -rm -rf CMakeFiles +cat > "${COOKBOOK_STAGE}/usr/lib/cmake/KF6I18n/KF6I18nConfig.cmake" << 'CMEOF' +set(KF6I18n_VERSION "6.10.0") +set(KF6I18n_FOUND TRUE) +include("${CMAKE_CURRENT_LIST_DIR}/KF6I18nTargets.cmake" OPTIONAL) +CMEOF -export LDFLAGS+=" -liconv" -export CXXFLAGS="-include stdlib.h ${CXXFLAGS:-}" -export CFLAGS="-include stdlib.h ${CFLAGS:-}" - -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}" \ - -DCMAKE_C_STANDARD_LIBRARIES="-liconv" \ - -DCMAKE_CXX_STANDARD_LIBRARIES="-liconv" \ - -DCMAKE_SHARED_LINKER_FLAGS="-liconv" \ - -DCMAKE_EXE_LINKER_FLAGS="-liconv" \ - -DBUILD_TESTING=OFF \ - -DBUILD_QCH=OFF \ - -DBUILD_WITH_QML=ON \ - -Wno-dev - -cmake --build . -j${COOKBOOK_MAKE_JOBS} -cmake --install . --prefix "${COOKBOOK_STAGE}/usr" - -for lib in "${COOKBOOK_STAGE}/usr/lib/"libKF6*.so.*; do - [ -f "${lib}" ] || continue - patchelf --remove-rpath "${lib}" 2>/dev/null || true -done +cat > "${COOKBOOK_STAGE}/usr/lib/cmake/KF6I18n/KF6I18nConfigVersion.cmake" << 'CMEOF' +set(PACKAGE_VERSION "6.10.0") +if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) + set(PACKAGE_VERSION_COMPATIBLE FALSE) +else() + set(PACKAGE_VERSION_COMPATIBLE TRUE) + if(PACKAGE_VERSION STREQUAL PACKAGE_FIND_VERSION) + set(PACKAGE_VERSION_EXACT TRUE) + endif() +endif() +CMEOF """