待翻譯:Show HN: I used an expiring Codex reset to port QtScript to Qt6
AI 服務暫時不可用,以下為來源摘要,待恢復後補全翻譯:Notifications You must be signed in to change notification settings Fork 0 Star 0 BranchesTags Open more actions menu Folders and files NameName Last commit message Last commit date Latest commit History 3 Commits 3 Com…
AI 服務暫時不可用,以下為來源正文,待恢復後補全翻譯。
Notifications You must be signed in to change notification settings Fork 0 Star 0 BranchesTags Open more actions menu Folders and files NameName Last commit message Last commit date Latest commit History 3 Commits 3 Commits .github/workflows .github/workflows LICENSES LICENSES cmake cmake docs docs patches patches scripts scripts tests/smoke tests/smoke .gitattributes .gitattributes .gitignore .gitignore README.md README.md SECURITY.md SECURITY.md Repository files navigation This repository provides the patches needed to build the QtScript core module and the ScriptTools debugger module with Qt 6 on Windows x64/MSVC and Linux x64/GCC. Qt 6.8 LTS (6.8.3) is the baseline. CI also covers the latest 6.11.x on both platforms. QtScript source is not vendored. The build script clones KDE's QtScript 5.15.19 revision, copies the Qt 6 CMake entry point from cmake, and applies the ordered files in patches. Status Builds Debug and Release variants of Qt6::Script and Qt6::ScriptTools. Installs alongside the other Qt modules, like the Qt 5 module did. Preserves the public QScript* source API. Qt 5 binary compatibility is not supported. Ports the ScriptTools debugger (QScriptEngineDebugger, script/console/ breakpoint widgets, completion and error reporting) with its scripttools_debugging resources. Does not depend on Core5Compat. Passes ~20 checks in the external CMake smoke test: evaluation, calls, exceptions, QVariant, QRegExp compatibility, and QObject exposure with enum conversion and signals. See docs/VALIDATION.md for full results. CI builds the ported upstream suites on every matrix job and executes them via a dedicated ctest step on each Debug job. Fixes the inherited QtScript INT32_MIN negation bug tracked as QTBUG-32829. Legacy QRegExp signatures use QtScript/QRegExp, implemented with Qt 6 QRegularExpression. Regular-expression, wildcard, fixed-string, capture, and replacement behaviors are supported. This compatibility API is compiled in by default and can be disabled with -DSCRIPT_QREGEXP=OFF. See docs/PORTING.md for the patch inventory. This port was developed with AI assistance under human planning and review, with every change verified by continuous integration. Requirements CMake 3.16 or newer; qmake is not supported. Windows: Visual Studio 2022 or newer with the MSVC x64 C++ toolchain (CMake auto-detects the newest installed; CI exercises MSVC 2022 on the LTS leg and MSVC 2026 on the latest-Qt leg). Linux: GCC (C++17) and Ninja. A supported Qt 6.8 through Qt 6.11 installation with private module build tooling (qt-cmake-private, qtpaths). Build On Windows: .\scripts\build-windows.ps1 -QtRoot C:\Qt\6.8.3\msvc2022_64 -Configuration Release On Linux: ./scripts/build-linux.sh --qt-root "$HOME/Qt/6.8.3/gcc_64" --configuration Release The script clones the 5.15.19 sources, applies the patch series, builds, and installs both modules into the Qt prefix using the same layout the Qt 5 module used: headers under include\QtScript and include\QtScriptTools, CMake packages under lib\cmake\Qt6Script and lib\cmake\Qt6ScriptTools, binaries in bin/lib, and module registration under mkspecs\modules. It then runs an out-of-tree CMake smoke build that compiles and runs against the installed modules. Security QtScript embeds a legacy 2011 JavaScriptCore snapshot. It is not a security sandbox; run only trusted scripts. See SECURITY.md. License QtScript and patched source retain their upstream licenses. License texts are included in LICENSES. Resources Readme Security policy Security policy Activity Stars 0 stars Watchers 0 watching Forks 0 forks Report repository