Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build as many binaries as possible for distribution #1332

Closed
wants to merge 2 commits into from

Conversation

js-9
Copy link

@js-9 js-9 commented Nov 12, 2023

I needed a bunch of different binaries for a project but couldn't find them from any official source, so I made a github workflow to build as many of them as possible.
Results can be found here: https://github.com/js-9/libsodium/actions/runs/6838395872

Currently builds:

  • android (x86, x86_64, armv7a, armv8a)
  • linux (i686, x86_64, armv7a, armv8a)
  • apple (ios, macos, tvos, watchos, and simulators for all these plus catalyst which I don't even know what it is, plus xcframework for all different architectures and platforms)
  • windows (mingw x86 and x64, msvc x86, x64 and arm64 with vs2022)

@jedisct1
Copy link
Owner

Hi!

Proper packages for libsodium are available for available for the vast majority of operating systems and linux distributions. They are guaranteed to install the files at the correct place, be compatible with the currently installed libraries, etc. It's also easy to recompile from source.

The result of this script wouldn't have anything special or official, it's just files built using GitHub actions, that aren't guaranteed to work everywhere. Plus, it's just a subset of the architectures libsodium runs on.

Since your use case seems to be .NET projects, there's already a NuGET package for libsodium, that is kept up to date, and tries to match the requirements for the targeted .NET versions. It's used by NSec and other bindings, so it seems to work :)

@jedisct1 jedisct1 closed this Nov 16, 2023
@js-9
Copy link
Author

js-9 commented Nov 16, 2023

Looks to me like that nuget package doesn't contain android support, for example.
Anyways, it was an "in case you find this useful" thing, and it's easy enough to add other architectures and systems as needed.

@jedisct1
Copy link
Owner

We should add Android builds to the NuGET package, then :)

Repository owner locked and limited conversation to collaborators Feb 15, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants