Retire autobuild.xml: make 3p_manifest.json the source of truth (no generator step) #679

Closed
opened 2026-10-11 11:54:56 +00:00 by sky_line · 1 comment
Owner

Slipstream no longer runs autobuild (plain CMake + Ninja since 2026-10-06, 097f76a58c). autobuild.xml survives only as the source that scripts/3p/gen_manifest.py turns into indra/cmake/3p_manifest.json, which use_prebuilt_binary() (indra/cmake/Prebuilt.cmake) reads. Every 3p change therefore touches both files. #678 (SLVoice removal) had to edit autobuild.xml and then regenerate the manifest.

Do

  • Make indra/cmake/3p_manifest.json the hand-edited source of truth: url, sha256 and platform per package, plus readable formatting and comments where useful (or switch to a small TOML/JSON5 if comments matter).
  • Keep a small helper to add or update a package entry: download, hash, fill in the URL from our Forgejo 3p mirror.
  • Delete autobuild.xml and gen_manifest.py, and remove every remaining reference to them: Makefile, CI workflows, docs, CLAUDE.md notes, scripts/.
  • Check that nothing else reads autobuild.xml (license/version metadata for the About box, packaging scripts, llversioninfo, release notes scripts).
  • Same on release/1.2? Optional, only if 1.2.x stays alive long enough to need 3p changes.

Follow-up (separate ticket later)

Build more 3p libraries from source within CMake (as libwebp, #651, and meshoptimizer already are), with versions and build flags we control. Prebuilt packages compiled with someone else's settings caused the minizip-ng CreateFile2 Windows 7 break.

Slipstream no longer runs autobuild (plain CMake + Ninja since 2026-10-06, `097f76a58c`). `autobuild.xml` survives only as the source that `scripts/3p/gen_manifest.py` turns into `indra/cmake/3p_manifest.json`, which `use_prebuilt_binary()` (`indra/cmake/Prebuilt.cmake`) reads. Every 3p change therefore touches both files. #678 (SLVoice removal) had to edit `autobuild.xml` and then regenerate the manifest. ## Do - Make `indra/cmake/3p_manifest.json` the hand-edited source of truth: url, sha256 and platform per package, plus readable formatting and comments where useful (or switch to a small TOML/JSON5 if comments matter). - Keep a small helper to add or update a package entry: download, hash, fill in the URL from our Forgejo 3p mirror. - Delete `autobuild.xml` and `gen_manifest.py`, and remove every remaining reference to them: Makefile, CI workflows, docs, CLAUDE.md notes, `scripts/`. - Check that nothing else reads `autobuild.xml` (license/version metadata for the About box, packaging scripts, `llversioninfo`, release notes scripts). - Same on `release/1.2`? Optional, only if 1.2.x stays alive long enough to need 3p changes. ## Follow-up (separate ticket later) Build more 3p libraries from source within CMake (as libwebp, #651, and meshoptimizer already are), with versions and build flags we control. Prebuilt packages compiled with someone else's settings caused the minizip-ng `CreateFile2` Windows 7 break.
sky_line added this to the Slipstream project 2026-10-11 11:54:56 +00:00
Author
Owner

Shipped in 1.3.0 Beta 5 (v1.3.0-beta.5). Closing.

Shipped in **1.3.0 Beta 5** (v1.3.0-beta.5). Closing.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#679
No description provided.