1
mirror of https://github.com/jedisct1/libsodium.git synced 2024-12-19 01:55:02 -07:00

[dotnet core] build for linux-musl-arm64 (#1174)

* Adding aarch64 build

* Removing workflow_dispatch

* Re-adding x64

* Disable libgcrypt hash - #1173

* Adding sudo to gcrypt disable - #1173

* Remove sudo, put gcrypt disable before building source list - #1173

* Adding linux-musl-arm64 build to NuGet package - #1174

* Explain the gcrypt configuration hack
This commit is contained in:
bfren 2022-08-15 15:46:14 +01:00 committed by Frank Denis
parent 0a6178f203
commit 7621b135e2
2 changed files with 37 additions and 0 deletions

View File

@ -163,6 +163,31 @@ jobs:
name: build-linux-musl-x64
path: .libsodium-build/lib/libsodium.so
build-linux-musl-arm64:
runs-on: ubuntu-latest
container:
image: alpine:3.15
steps:
- name: Set up build environment
run: |
apk update
apk add alpine-sdk ca-certificates
- uses: actions/checkout@v1
- name: configure
run: ./configure --disable-dependency-tracking --prefix=$PWD/.libsodium-build --host=aarch64-linux-gnu
- name: make
run: make
- name: make check
run: make check
- name: make install
run: make install
- name: strip
run: strip --strip-all .libsodium-build/lib/libsodium.so
- uses: actions/upload-artifact@v2
with:
name: build-linux-musl-arm64
path: .libsodium-build/lib/libsodium.so
build-macos-x64:
runs-on: macos-11
steps:
@ -203,6 +228,7 @@ jobs:
- build-linux-glibc-arm
- build-linux-glibc-arm64
- build-linux-musl
- build-linux-musl-arm64
- build-macos-x64
- build-macos-arm64
container:
@ -237,6 +263,10 @@ jobs:
with:
name: build-linux-musl-x64
path: .libsodium-pack/runtimes/linux-musl-x64/native/
- uses: actions/download-artifact@v2
with:
name: build-linux-musl-arm64
path: .libsodium-pack/runtimes/linux-musl-arm64/native/
- uses: actions/download-artifact@v2
with:
name: build-osx-x64
@ -332,6 +362,12 @@ jobs:
run: |
export DEBIAN_FRONTEND=noninteractive
# On virtualization systems such as the one used by WSL2, the ARM crypto extensions
# don't work as expected. As a result, installing Ubuntu 20.04 fails during integrity
# checks. As a workaround, the following command disables hardware acceleration for
# gcrypt, which the apt-get command relies on.
mkdir -p /etc/gcrypt && echo all >> /etc/gcrypt/hwf.deny
cat <<-EOF | sudo tee /etc/apt/sources.list.d/multiarch.list >/dev/null
deb [arch=armhf,arm64] http://ports.ubuntu.com/ focal main restricted
deb [arch=armhf,arm64] http://ports.ubuntu.com/ focal-updates main restricted

View File

@ -31,6 +31,7 @@
<Content Include="runtimes/linux-arm64/native/libsodium.so" PackagePath="runtimes/linux-arm64/native/" />
<Content Include="runtimes/linux-arm/native/libsodium.so" PackagePath="runtimes/linux-arm/native/" />
<Content Include="runtimes/linux-musl-x64/native/libsodium.so" PackagePath="runtimes/linux-musl-x64/native/" />
<Content Include="runtimes/linux-musl-arm64/native/libsodium.so" PackagePath="runtimes/linux-musl-arm64/native/" />
<Content Include="runtimes/osx-x64/native/libsodium.dylib" PackagePath="runtimes/osx-x64/native/" />
<Content Include="runtimes/osx-arm64/native/libsodium.dylib" PackagePath="runtimes/osx-arm64/native/" />
</ItemGroup>