feat: Enable truly self-contained single binary builds#24
Merged
Conversation
- Add IncludeNativeLibrariesForSelfExtract to embed LibGit2Sharp native libraries - Remove Scrutor dependency, replace with explicit command registration - Refactor command registration into AddCommands() method for better organization - Add linux-arm64 to release matrix for ARM Linux support Now hypr builds as a single ~15MB binary that runs without .NET runtime installed on target machines.
- Keep explicit command registration for trimming compatibility - Add Scrutor back for terminal provider discovery - Merge main's terminal provider architecture
Owner
Author
|
✅ All checks passing. Ready for merge! This PR enables truly self-contained single binary builds:
Binary is now ~15MB and runs without .NET runtime on target systems. |
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
This change makes
hyprbuild as a truly self-contained single binary that doesn't require the .NET runtime to be installed on target machines.What changed
IncludeNativeLibrariesForSelfExtractto bundle LibGit2Sharp's native libraries into the single executableAddCommands()method for better code organizationlinux-arm64)Result
Verification
dotnet publish src/hypr.csproj -c Release -r linux-x64 ./publish/linux-x64/hypr # Runs on systems without .NET installed