mirror of
https://github.com/NoMercy-Entertainment/nomercy-libnfs.git
synced 2026-08-10 12:25:12 +00:00
libnfs cross-compile pipeline + prebuilt binaries for nomercy-media-server
- Dockerfile 64.5%
- Shell 35.5%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .github/workflows | ||
| output | ||
| scripts | ||
| libnfs-base.dockerfile | ||
| libnfs-darwin-arm64.dockerfile | ||
| libnfs-darwin-x86_64.dockerfile | ||
| libnfs-linux-aarch64.dockerfile | ||
| libnfs-linux-x86_64.dockerfile | ||
| libnfs-windows-x86_64.dockerfile | ||
| LICENSE | ||
| README.md | ||
nomercy-libnfs
Pre-built libnfs native binaries for all platforms supported by NoMercy Media Server.
Version: libnfs-6.0.2 License: LGPL-2.1 (see LICENSE)
Purpose
NoMercy.Storage has a P/Invoke binding (LibNfs.cs) that loads the native libnfs
shared library. The .NET runtime resolves it via the runtimes/<rid>/native/ layout
wired in NoMercy.Storage.csproj.
Binaries
Pre-built binaries live in output/ and are committed to the repo so consumers
don't need Docker. SHA256 checksums are in output/CHECKSUMS.txt.
| RID | File |
|---|---|
| win-x64 | output/win-x64/libnfs.dll |
| linux-x64 | output/linux-x64/libnfs.so |
| linux-arm64 | output/linux-arm64/libnfs.so |
| osx-x64 | output/osx-x64/libnfs.dylib |
| osx-arm64 | output/osx-arm64/libnfs.dylib |
Rebuilding
# All platforms
bash packages/nomercy-libnfs/scripts/build.sh
# Single platform
bash packages/nomercy-libnfs/scripts/build.sh win-x64
# Verify checksums + symbols
bash packages/nomercy-libnfs/scripts/verify.sh
macOS builds require a macOS SDK tarball (osxcross). Pass --build-arg SDK_TARBALL_URL=<url>
or pre-stage MacOSX15.1.sdk.tar.xz in the osxcross tarballs dir.
See libnfs-darwin-*.dockerfile for details.
CMake flags
All builds use:
BUILD_SHARED_LIBS=ON— shared library onlyENABLE_KERBEROS=OFF— AUTH_UNIX only, no krb5 dependencyENABLE_TESTS=OFF,ENABLE_EXAMPLES=OFF,ENABLE_UTILS=OFF— binary only