chore: sync all pending changes — kirigami platform headers, cookbook fix, docs, patches
Kirigami: remove stub .cpp, add Qt platform integration headers for QML gate. Matches KDE src/pattern for direct header-only builds. Cookbook: add --no-backup-if-mismatch to patch invocation (fetch.rs). Kernel: consolidate patch chain, add debug-scheme-serial-fix. Docs: archive old audit reports, add CHANGELOG and hardware validation matrix. Update AGENTS.md with Linux reference source policy. Scripts: add test-network-qemu.sh, test-storage-qemu.sh. .gitignore: add local/reference/ exclusion.
This commit is contained in:
@@ -1,4 +1,7 @@
|
||||
#TODO: Kirigami — build the real non-QML C++ core on Redox. Qt Quick, templates, examples, and autotests stay disabled until the Qt6 QML/Quick runtime surface is stronger.
|
||||
#TODO: Kirigami — builds the C++ core with QML type registration macros as no-ops.
|
||||
# Qt6's cmake generates QML_ATTACHED_OFF_OFF_OFF_OFF_OFF_OFF etc. when QML features are
|
||||
# disabled at configure time. We define these as no-ops so the C++ code compiles without
|
||||
# QML runtime registration. Full QML/Quick support requires the QML JIT gate resolution.
|
||||
[source]
|
||||
tar = "https://invent.kde.org/frameworks/kirigami/-/archive/v6.10.0/kirigami-v6.10.0.tar.gz"
|
||||
blake3 = "d0964890aa6523f7067510bb7e6c784ba77611952d952bfdd6422a58a23664f6"
|
||||
@@ -23,18 +26,54 @@ for qtdir in plugins mkspecs metatypes modules; do
|
||||
fi
|
||||
done
|
||||
|
||||
# Full QML/Quick build — qtdeclarative provides Qt6Qml/Qt6Quick with qml_jit=OFF
|
||||
# Create a header that defines QML _OFF macros as no-ops.
|
||||
# When Qt6 cmake disables QML features, it rewrites QML_ATTACHED(X) as
|
||||
# QML_ATTACHED_OFF_OFF_OFF_OFF_OFF_OFF(X) in the source. These macros
|
||||
# are never defined by Qt, causing build failures. We define them as empty
|
||||
# so the C++ code compiles while QML type registration is silently skipped.
|
||||
cat > "${COOKBOOK_BUILD}/qml_off_noop.h" << 'QMLEOF'
|
||||
#ifndef REDBEAR_QML_OFF_NOOP_H
|
||||
#define REDBEAR_QML_OFF_NOOP_H
|
||||
|
||||
#define QML_ELEMENT_OFF_OFF_OFF_OFF_OFF_OFF
|
||||
#define QML_NAMED_ELEMENT_OFF_OFF_OFF_OFF_OFF_OFF(NAME)
|
||||
#define QML_ATTACHED_OFF_OFF_OFF_OFF_OFF_OFF(ATTACHED_TYPE)
|
||||
#define QML_UNCREATABLE_OFF_OFF_OFF_OFF_OFF_OFF(REASON)
|
||||
#define QML_SINGLETON_OFF_OFF_OFF_OFF_OFF_OFF
|
||||
|
||||
#endif
|
||||
QMLEOF
|
||||
|
||||
cat > "${COOKBOOK_BUILD}/shader_noop.cmake" << 'EOFCMAKE'
|
||||
function(qt6_add_shaders)
|
||||
endfunction()
|
||||
function(qt_internal_add_shaders)
|
||||
endfunction()
|
||||
function(qt_add_shaders)
|
||||
endfunction()
|
||||
EOFCMAKE
|
||||
|
||||
# Disable translations (requires Qt6LinguistTools which is not in the build)
|
||||
sed -i 's/^ecm_install_po_files_as_qm(poqm)/# ecm_install_po_files_as_qm(poqm) -- disabled for Redox cross-build/' "${COOKBOOK_SOURCE}/CMakeLists.txt"
|
||||
|
||||
# Disable qmllint (requires QML runtime we don't fully have)
|
||||
sed -i 's/^configure_file(qmllint.ini.in/# configure_file(qmllint.ini.in -- disabled/' "${COOKBOOK_SOURCE}/CMakeLists.txt"
|
||||
sed -i 's/^kde_configure_git_pre_commit_hook/# kde_configure_git_pre_commit_hook -- disabled/' "${COOKBOOK_SOURCE}/CMakeLists.txt"
|
||||
|
||||
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_CXX_FLAGS="-I${COOKBOOK_SYSROOT}/usr/include/QtQml -I${COOKBOOK_SYSROOT}/usr/include/QtQuick" \
|
||||
-DCMAKE_CXX_FLAGS="-include ${COOKBOOK_BUILD}/qml_off_noop.h -I${COOKBOOK_SYSROOT}/usr/include/QtQml -I${COOKBOOK_SYSROOT}/usr/include/QtQuick" \
|
||||
-DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}:${COOKBOOK_STAGE}/usr/lib/cmake" \
|
||||
-DCMAKE_PROJECT_TOP_LEVEL_INCLUDES="${COOKBOOK_BUILD}/shader_noop.cmake" \
|
||||
-DBUILD_TESTING=OFF \
|
||||
-DBUILD_QCH=OFF \
|
||||
-DBUILD_EXAMPLES=OFF \
|
||||
-DUSE_DBUS=OFF \
|
||||
-DECM_ENABLE_QT_TRANSLATIONS=OFF \
|
||||
-DBUILD_TRANSLATIONS=OFF \
|
||||
-Wno-dev
|
||||
|
||||
cmake --build . -j${COOKBOOK_MAKE_JOBS}
|
||||
|
||||
Reference in New Issue
Block a user