mirror of
https://github.com/jedisct1/libsodium.git
synced 2024-12-19 10:05:05 -07:00
Simplify build of .NET pakages, including Windows/arm64
This commit is contained in:
parent
da0ce565d2
commit
80aca14c8d
192
.github/workflows/dotnet-core.yml
vendored
192
.github/workflows/dotnet-core.yml
vendored
@ -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: |
|
||||
zig build -Doptimize=ReleaseFast -Dtarget=x86_64-linux-gnu.2.17
|
||||
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: |
|
||||
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
|
||||
- name: build-linux-musl-x64
|
||||
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
|
||||
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
|
||||
- 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-macos
|
||||
path: libsodium-apple/macos/lib/libsodium.a
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: build-ios
|
||||
path: libsodium-apple/ios/lib/libsodium.a
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: build-tvos
|
||||
path: libsodium-apple/tvos/lib/libsodium.a
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: build-maccatalyst
|
||||
path: libsodium-apple/catalyst/lib/libsodium.a
|
||||
name: build-osx-x64
|
||||
path: .libsodium-build/lib/libsodium.dylib
|
||||
|
||||
# The list of .NET targets can be found here:
|
||||
# https://learn.microsoft.com/en-us/dotnet/core/rid-catalog
|
||||
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-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:
|
||||
@ -208,18 +166,22 @@ jobs:
|
||||
with:
|
||||
name: build-win-x86
|
||||
path: .libsodium-pack/runtimes/win-x86/native/
|
||||
- uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: build-win-arm64
|
||||
path: .libsodium-pack/runtimes/win-arm64/native/
|
||||
- uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: build-linux-x64
|
||||
path: .libsodium-pack/runtimes/linux-x64/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-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
|
||||
|
@ -27,6 +27,7 @@
|
||||
<Content Include="ChangeLog" PackagePath="" />
|
||||
<Content Include="runtimes/win-x64/native/libsodium.dll" PackagePath="runtimes/win-x64/native/" />
|
||||
<Content Include="runtimes/win-x86/native/libsodium.dll" PackagePath="runtimes/win-x86/native/" />
|
||||
<Content Include="runtimes/win-arm64/native/libsodium.dll" PackagePath="runtimes/win-arm64/native/" />
|
||||
<Content Include="runtimes/linux-x64/native/libsodium.so" PackagePath="runtimes/linux-x64/native/" />
|
||||
<Content Include="runtimes/linux-arm/native/libsodium.so" PackagePath="runtimes/linux-arm/native/" />
|
||||
<Content Include="runtimes/linux-arm64/native/libsodium.so" PackagePath="runtimes/linux-arm64/native/" />
|
||||
|
Loading…
Reference in New Issue
Block a user