diff --git a/.github/workflows/dotnet-core.yml b/.github/workflows/dotnet-core.yml
index fc1b45eb53..ce83fa34c1 100644
--- a/.github/workflows/dotnet-core.yml
+++ b/.github/workflows/dotnet-core.yml
@@ -7,7 +7,7 @@ on:
- next
jobs:
- build-windows:
+ build-windows-msvc:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
@@ -24,7 +24,7 @@ jobs:
name: build-win-x86
path: bin/Win32/Release/v143/dynamic/libsodium.dll
- build-linux-glibc-x64:
+ build-others:
runs-on: ubuntu-latest
steps:
- name: Install Zig
@@ -32,9 +32,18 @@ jobs:
with:
version: master
- uses: actions/checkout@v4
- - name: build
+
+ - name: build-win-arm64
+ run: |
+ rm -fr zig-out zig-cache; zig build -Doptimize=ReleaseFast -Dtarget=aarch64-windows
+ - uses: actions/upload-artifact@v3
+ with:
+ name: build-win-arm64
+ path: zig-out/lib/libsodium.dll
+
+ - name: build-linux-x64
run: |
- zig build -Doptimize=ReleaseFast -Dtarget=x86_64-linux-gnu.2.17
+ rm -fr zig-out zig-cache; zig build -Doptimize=ReleaseFast -Dtarget=x86_64-linux-gnu.2.17
- name: tests
run: cd zig-out/bin && ./run.sh
- uses: actions/upload-artifact@v3
@@ -42,26 +51,23 @@ jobs:
name: build-linux-x64
path: zig-out/lib/libsodium.so
- build-linux-glibc-arm:
- runs-on: ubuntu-latest
- steps:
- - name: Install Zig
- uses: goto-bus-stop/setup-zig@2a9625d550eefc3a9b1a43d342ad655f563f8241
- with:
- version: master
- - name: Set up emulation environment
+ - name: Set up arm and aarch64 emulation environment
run: |
export DEBIAN_FRONTEND=noninteractive
sudo apt-get update
- sudo apt-get install -y build-essential qemu binfmt-support qemu-user-static qemu-system-arm gcc-arm-linux-gnueabihf libc6-armhf-cross
+ sudo apt-get install -y build-essential qemu binfmt-support qemu-user-static qemu-system-arm gcc-arm-linux-gnueabihf libc6-armhf-cross gcc-aarch64-linux-gnu libc6-arm64-cross
sudo dpkg --add-architecture armhf
sudo update-binfmts --enable qemu-arm
sudo update-binfmts --display
sudo ln -s /usr/arm-linux-gnueabihf/lib/ld-linux-armhf.so.* /lib
- - uses: actions/checkout@v4
- - name: build
+ sudo dpkg --add-architecture arm64
+ sudo update-binfmts --enable qemu-aarch64
+ sudo update-binfmts --display
+ sudo ln -s /usr/aarch64-linux-gnu/lib/ld-linux-aarch64.so.* /lib
+
+ - name: build-linux-arm
run: |
- zig build -Doptimize=ReleaseFast -Dtarget=arm-linux-gnueabihf.2.23
+ rm -fr zig-out zig-cache; zig build -Doptimize=ReleaseFast -Dtarget=arm-linux-gnueabihf.2.23
- name: tests
run: |
cd zig-out/bin && env LD_LIBRARY_PATH=/usr/arm-linux-gnueabihf/lib ./run.sh
@@ -70,26 +76,9 @@ jobs:
name: build-linux-arm
path: zig-out/lib/libsodium.so
- build-linux-glibc-arm64:
- runs-on: ubuntu-latest
- steps:
- - name: Install Zig
- uses: goto-bus-stop/setup-zig@2a9625d550eefc3a9b1a43d342ad655f563f8241
- with:
- version: master
- - name: Set up emulation environment
+ - name: build-linux-arm64
run: |
- export DEBIAN_FRONTEND=noninteractive
- sudo apt-get update
- sudo apt-get install -y qemu binfmt-support qemu-user-static qemu-system-arm gcc-aarch64-linux-gnu libc6-arm64-cross
- sudo dpkg --add-architecture arm64
- sudo update-binfmts --enable qemu-aarch64
- sudo update-binfmts --display
- sudo ln -s /usr/aarch64-linux-gnu/lib/ld-linux-aarch64.so.* /lib
- - uses: actions/checkout@v4
- - name: build
- run: |
- zig build -Doptimize=ReleaseFast -Dtarget=aarch64-linux-gnu.2.23
+ rm -fr zig-out zig-cache; zig build -Doptimize=ReleaseFast -Dtarget=aarch64-linux-gnu.2.23
- name: tests
run: |
cd zig-out/bin && env LD_LIBRARY_PATH=/usr/aarch64-linux-gnu/lib ./run.sh
@@ -98,100 +87,69 @@ jobs:
name: build-linux-arm64
path: zig-out/lib/libsodium.so
- build-linux-musl-x64:
- runs-on: ubuntu-latest
- container:
- image: alpine:3.13
- steps:
- - name: Set up build environment
- run: |
- apk update
- apk add alpine-sdk ca-certificates xz
- - name: Install Zig
- uses: goto-bus-stop/setup-zig@2a9625d550eefc3a9b1a43d342ad655f563f8241
- with:
- version: master
- - uses: actions/checkout@v4
- - name: build
- run: |
- zig build -Doptimize=ReleaseFast -Dtarget=x86_64-linux-musl
- - name: tests
+ - name: build-linux-musl-x64
run: |
- cd zig-out/bin && ./run.sh
+ rm -fr zig-out zig-cache; zig build -Doptimize=ReleaseFast -Dtarget=x86_64-linux-musl
- uses: actions/upload-artifact@v3
with:
name: build-linux-musl-x64
path: zig-out/lib/libsodium.a
- build-linux-musl-arm:
- runs-on: ubuntu-latest
- steps:
- - name: Install Zig
- uses: goto-bus-stop/setup-zig@2a9625d550eefc3a9b1a43d342ad655f563f8241
- with:
- version: master
- - uses: actions/checkout@v4
- - name: build
+ - name: build-linux-musl-arm
run: |
- zig build -Doptimize=ReleaseFast -Dtarget=arm-linux-musleabihf
+ rm -fr zig-out zig-cache; zig build -Doptimize=ReleaseFast -Dtarget=arm-linux-musleabihf
- uses: actions/upload-artifact@v3
with:
name: build-linux-musl-arm
path: zig-out/lib/libsodium.a
- build-linux-musl-arm64:
- runs-on: ubuntu-latest
- steps:
- - name: Install Zig
- uses: goto-bus-stop/setup-zig@2a9625d550eefc3a9b1a43d342ad655f563f8241
- with:
- version: master
- - uses: actions/checkout@v4
- - name: build
+ - name: build-linux-musl-arm64
run: |
- zig build -Doptimize=ReleaseFast -Dtarget=aarch64-linux-musl
+ rm -fr zig-out zig-cache; zig build -Doptimize=ReleaseFast -Dtarget=aarch64-linux-musl
- uses: actions/upload-artifact@v3
with:
name: build-linux-musl-arm64
path: zig-out/lib/libsodium.a
- build-apple:
+ build-macos-x64:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- - name: build-xcframework
- run: env LIBSODIUM_FULL_BUILD=1 LIBSODIUM_SKIP_SIMULATORS=1 dist-build/apple-xcframework.sh
- - uses: actions/upload-artifact@v3
- with:
- name: build-macos
- path: libsodium-apple/macos/lib/libsodium.a
- - uses: actions/upload-artifact@v3
- with:
- name: build-ios
- path: libsodium-apple/ios/lib/libsodium.a
+ - name: configure
+ run: env CFLAGS="-Ofast -arch x86_64 -mmacosx-version-min=10.15" LDFLAGS="-arch x86_64 -mmacosx-version-min=10.15" ./configure --host=arm-apple-darwin20 --prefix=$PWD/.libsodium-build
+ - name: make
+ run: make
+ - name: make check
+ run: make check
+ - name: make install
+ run: make install
- uses: actions/upload-artifact@v3
with:
- name: build-tvos
- path: libsodium-apple/tvos/lib/libsodium.a
+ name: build-osx-x64
+ path: .libsodium-build/lib/libsodium.dylib
+
+ build-macos-arm64:
+ runs-on: macos-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: configure
+ run: env CFLAGS="-Ofast -arch arm64 -mmacosx-version-min=10.15" LDFLAGS="-arch arm64 -mmacosx-version-min=10.15" ./configure --host=arm-apple-darwin20 --prefix=$PWD/.libsodium-build
+ - name: make
+ run: make
+ - name: make install
+ run: make install
- uses: actions/upload-artifact@v3
with:
- name: build-maccatalyst
- path: libsodium-apple/catalyst/lib/libsodium.a
-
-# The list of .NET targets can be found here:
-# https://learn.microsoft.com/en-us/dotnet/core/rid-catalog
+ name: build-osx-arm64
+ path: .libsodium-build/lib/libsodium.dylib
pack:
runs-on: ubuntu-latest
needs:
- - build-windows
- - build-linux-glibc-x64
- - build-linux-glibc-arm
- - build-linux-glibc-arm64
- - build-linux-musl-x64
- - build-linux-musl-arm
- - build-linux-musl-arm64
- - build-apple
+ - build-windows-msvc
+ - build-others
+ - build-macos-x64
+ - build-macos-arm64
container:
image: mcr.microsoft.com/dotnet/sdk:6.0
env:
@@ -210,16 +168,20 @@ jobs:
path: .libsodium-pack/runtimes/win-x86/native/
- uses: actions/download-artifact@v3
with:
- name: build-linux-x64
- path: .libsodium-pack/runtimes/linux-x64/native/
+ name: build-win-arm64
+ path: .libsodium-pack/runtimes/win-arm64/native/
- uses: actions/download-artifact@v3
with:
- name: build-linux-arm
- path: .libsodium-pack/runtimes/linux-arm/native/
+ name: build-linux-x64
+ path: .libsodium-pack/runtimes/linux-x64/native/
- uses: actions/download-artifact@v3
with:
name: build-linux-arm64
path: .libsodium-pack/runtimes/linux-arm64/native/
+ - uses: actions/download-artifact@v3
+ with:
+ name: build-linux-arm
+ path: .libsodium-pack/runtimes/linux-arm/native/
- uses: actions/download-artifact@v3
with:
name: build-linux-musl-x64
@@ -234,28 +196,12 @@ jobs:
path: .libsodium-pack/runtimes/linux-musl-arm64/native/
- uses: actions/download-artifact@v3
with:
- name: build-macos
+ name: build-osx-x64
path: .libsodium-pack/runtimes/osx-x64/native/
- uses: actions/download-artifact@v3
with:
- name: build-macos
+ name: build-osx-arm64
path: .libsodium-pack/runtimes/osx-arm64/native/
- - uses: actions/download-artifact@v3
- with:
- name: build-ios
- path: .libsodium-pack/runtimes/ios-arm64/native/
- - uses: actions/download-artifact@v3
- with:
- name: build-tvos
- path: .libsodium-pack/runtimes/tvos-arm64/native/
- - uses: actions/download-artifact@v3
- with:
- name: build-maccatalyst
- path: .libsodium-pack/runtimes/maccatalyst-x64/native/
- - uses: actions/download-artifact@v3
- with:
- name: build-maccatalyst
- path: .libsodium-pack/runtimes/maccatalyst-arm64/native/
- name: Copy files
run: cp AUTHORS ChangeLog LICENSE packaging/dotnet-core/libsodium.pkgproj .libsodium-pack/
- name: Create NuGet package
diff --git a/packaging/dotnet-core/libsodium.pkgproj b/packaging/dotnet-core/libsodium.pkgproj
index 6b7d5078ab..eb7bdb6f5e 100644
--- a/packaging/dotnet-core/libsodium.pkgproj
+++ b/packaging/dotnet-core/libsodium.pkgproj
@@ -27,6 +27,7 @@
+