Skip to content

0.15.2: Qt at its upstream version, 6.11.1; a synthesised rules-qt program that was asked for nothing reports nothing - #34

Merged
speak-agent merged 2 commits into
mainfrom
release/0.15.2
Sep 26, 2026
Merged

speak-agent merged 2 commits into
mainfrom
release/0.15.2

Conversation

@speak-agent

Copy link
Copy Markdown
Member

Summary

  • Qt at its upstream version. xim:qt-base and xim:qt are named at 6.11.1 in the fixtures, in the missing-SDK message and in docs/rules-qt.md. The index keeps one key per Qt package (qt, qt-base, qt-addons: one key, 6.11.1, with the runtime closure; brotli's assets under their canonical names openxlings/xim-pkgindex#891). The package has had no consumers beyond CI, so the correction to its layout (the runtime closure) stays under the upstream version and does not need the revision key 6.11.1.1.
  • A project's own Qt. docs/rules-qt.md says how to use one: comment out the declared payload, because mcpp build provisions every declared payload, then name the SDK with QT_ROOT_DIR or with options::root in build.mcpp.
  • A silent synthesised program. A package that enables rules-qt only to import mcpp.rules.qt, such as GalTranslPP's gpp.build, has no build.mcpp, so it runs the program that mcpp synthesises (mcpp#715). Such a package also has no SDK and no .ui, .qrc or .ts. The program now reports nothing; it used to print "no Qt SDK", 5 times per GalTranslPP emit. A package with its own build.mcpp, or with Qt device sources, still gets the report. The new fixture tests/qt-import-only holds this on all three platforms.
  • CI caches. The mcpp sandbox caches take a new generation (mcpp-sandbox-v2-…), so no job restores a Qt payload laid out before the runtime closure.

Verification (local, Linux, gcc 16.1.0, mcpp 2026.9.26.2)

Before these checks, the sandbox's Qt payloads and their provisioning stamps were removed, so each check installs 6.11.1 fresh. Removing the stamps was necessary because of mcpp#716.

  • qt-consumer: moc, rcc, lupdate/lrelease and lconvert; Qt's own catalogs.
  • qt-sdk-consumer: the SDK found through the xlings payload, then QT_ROOT_DIR, then options::root.
  • qt-widgets-consumer: the packed tree carries Qt and QtGui's runtime closure. This shows that a fresh 6.11.1 is the corrected payload.
  • qt-import-only: the synthesised program runs, and says nothing.

…ogram that was asked for nothing reports nothing

- The fixtures, the missing-SDK message and docs/rules-qt.md name xim:qt-base
  and xim:qt 6.11.1, the single key the index keeps (openxlings/xim-pkgindex#891).
- docs/rules-qt.md states how a project uses its own Qt: comment out the
  declared payload, then name the SDK with QT_ROOT_DIR or options::root.
- A package that enables rules-qt only to import mcpp.rules.qt and writes no
  build.mcpp runs the program mcpp synthesises (mcpp#715). With no SDK and no
  .ui, .qrc or .ts of its own it now says nothing; the qt-import-only fixture
  holds that.
- The CI sandbox caches take a new generation, so none restores the Qt payload
  laid out before the runtime closure.
…3 does not (mcpp#713), the warnings came from gpp.build's synthesised program (mcpp#715)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants