[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:
parent
1cfba584db
commit
a0503b5c24
36
.github/workflows/dotnet-core.yml
vendored
36
.github/workflows/dotnet-core.yml
vendored
@ -163,6 +163,31 @@ jobs:
|
|||||||
name: build-linux-musl-x64
|
name: build-linux-musl-x64
|
||||||
path: .libsodium-build/lib/libsodium.so
|
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:
|
build-macos-x64:
|
||||||
runs-on: macos-11
|
runs-on: macos-11
|
||||||
steps:
|
steps:
|
||||||
@ -203,6 +228,7 @@ jobs:
|
|||||||
- build-linux-glibc-arm
|
- build-linux-glibc-arm
|
||||||
- build-linux-glibc-arm64
|
- build-linux-glibc-arm64
|
||||||
- build-linux-musl
|
- build-linux-musl
|
||||||
|
- build-linux-musl-arm64
|
||||||
- build-macos-x64
|
- build-macos-x64
|
||||||
- build-macos-arm64
|
- build-macos-arm64
|
||||||
container:
|
container:
|
||||||
@ -237,6 +263,10 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
name: build-linux-musl-x64
|
name: build-linux-musl-x64
|
||||||
path: .libsodium-pack/runtimes/linux-musl-x64/native/
|
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
|
- uses: actions/download-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: build-osx-x64
|
name: build-osx-x64
|
||||||
@ -332,6 +362,12 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
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
|
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 main restricted
|
||||||
deb [arch=armhf,arm64] http://ports.ubuntu.com/ focal-updates main restricted
|
deb [arch=armhf,arm64] http://ports.ubuntu.com/ focal-updates main restricted
|
||||||
|
@ -31,6 +31,7 @@
|
|||||||
<Content Include="runtimes/linux-arm64/native/libsodium.so" PackagePath="runtimes/linux-arm64/native/" />
|
<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-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-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-x64/native/libsodium.dylib" PackagePath="runtimes/osx-x64/native/" />
|
||||||
<Content Include="runtimes/osx-arm64/native/libsodium.dylib" PackagePath="runtimes/osx-arm64/native/" />
|
<Content Include="runtimes/osx-arm64/native/libsodium.dylib" PackagePath="runtimes/osx-arm64/native/" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
Loading…
Reference in New Issue
Block a user