fix: kf6-ki18n → cmake-config-only stub (strtold blocker)
This commit is contained in:
@@ -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 <cstdlib> ::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
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user