Skip to content

Remove checked-in native dependencies, use packages#1632

Merged
lemming104 merged 5 commits into
devfrom
lemming104/PackageNativeDeps
May 24, 2026
Merged

Remove checked-in native dependencies, use packages#1632
lemming104 merged 5 commits into
devfrom
lemming104/PackageNativeDeps

Conversation

@lemming104
Copy link
Copy Markdown
Collaborator

Most of the work here actually takes place outside of this repository. The following repositories now have GitHub actions capable of building packages (see list below). Note that these are not automatically run and must be manually triggered, then their .nupkg outputs should be audited and uploaded manually; I chose to do this rather than auto-upload them because these are slow-changing packages and I want to be VERY deliberate about when we push updates.

  1. https://github.com/Helion-Engine/ZMusicWrapper: now builds both the managed wrapper for ZMusic, as well as binaries for Linux and Windows
  2. https://github.com/Helion-Engine/SDLInputWrapper: now builds the SDL controller wrapper (button mapping, gyro input) as well as SDL2 for Linux and Windows
  3. https://github.com/Helion-Engine/BinaryDependencies: Builds native libraries for GLFW and OpenAL-Soft; these are actually also provided by OpenTK, but they don't provide the necessary .lib or .a files for native linking in AOT builds.

@lemming104
Copy link
Copy Markdown
Collaborator Author

I have opened this PR as a draft because there are a handful of outstanding issues I intend to resolve:

  1. libopenal.so needs to be renamed to libopenal.so.1 for Linux non-AOT builds, because OpenTK apparently doesn't do the fuzzy match there.
  2. There are apparently some libraries floating around in the Windows build that are not built with /MT. These do not presently break the build, but I want to investigate further so it doesn't come back to haunt us later.
  3. The actual Nuget packages need to be uploaded to nuget.org once (1) and (2) have been finished. I have tested locally on both Linux and Windows using a workaround that involves editing nuget.config to point to a local directory containing the .nupkg files.

1.  Remove GeneratePathProperty; we don't need it
2.  Stop double-including ZMusic and let the refs propagate
We're replacing the random loose libraries with proper Nuget packages; if
any users hit issues with self-builds, then I really want to know what they
 are doing and would prefer that they just give us Github issues or
something.
@lemming104
Copy link
Copy Markdown
Collaborator Author

Looks like the library in (2) is probably SDL2.

@lemming104 lemming104 marked this pull request as ready for review May 24, 2026 10:15
@lemming104 lemming104 merged commit c835ebe into dev May 24, 2026
1 of 2 checks passed
@lemming104 lemming104 deleted the lemming104/PackageNativeDeps branch May 24, 2026 10:19
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.

1 participant