Stop bundling DependencyControl-managed modules - #673
Merged
Conversation
Yutils, luajson and the ffi-experiments libraries were shipped alongside DependencyControl because nothing else could install them. That is no longer the case: Yutils has its own feed, and DependencyControl ships equivalents of json, BadMutex, PreciseTimer and DownloadManager that it offers under those module names, so it pulls each of them in on demand. Dropping ffi-experiments also removes meson and MoonScript from the installer build, which only existed to compile those three libraries. DependencyControl itself is still bundled, as the bootstrap, and moves from v0.6.3-alpha to v0.8.0. It now comes from its release bundle instead of a clone: the repository arranges its sources for its own tooling, and since v0.7.0 no longer in the layout the installer copied out of it, while the bundle already carries Aegisub's automation directory layout. That also drops the stale DepUnit directory entries, which named a path DependencyControl hasn't used in years and the bundle now creates, along with the DepSqlite and DepLifecycle ones for features that never shipped. Copies installed by earlier versions are left in place. Lua resolves them before DependencyControl's own module search, so they keep shadowing the managed copies, but removing them would break scripts that use these modules directly without DependencyControl. The removal is available behind the CLEANUP_UNBUNDLED_MODULES define, pending a decision on whether such scripts still exist. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Make the BuildRoot/SourceRoot args mandatory and fail fast (stop on error, check meson install) - Build the zip via System.IO.Compression instead of requiring 7z in path - Use absolute paths instead switching CWD without reliably restoring it - Merge the copy helpers into one function with an approved verb name - Fix the automation copy collision - prettify progress logging
- Make BuildRoot/SourceRoot mandatory - Drop Set-Location; use absolute paths throughout (7z -o, meson -C) - Collapse the InnoSetup language downloads into a loop - Bump bundled DependencyControl to v0.8.1
Member
Author
|
Draft until I get time to review this in full. |
CoffeeFlux
marked this pull request as ready for review
August 13, 2026 19:17
Member
Author
|
Still need to confirm this runs fine on a Windows machine, but other than that this looks good. |
…p stale DepCtrl builds
Contributor
There were some cases where DepCtrl acquisition would fail without stopping, like when the I changed the script to As a bonus, you can now also customize the DepCtrl version via the |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Validation
git diff --check upstream/master...HEADautomation/include/l0/DependencyControl.moonWindows packaging was not run locally because this environment does not have PowerShell, 7-Zip, or Inno Setup.