Skip to content

Commit 33f51f2

Browse files
committed
add linux/musl-riscv64 build
1 parent ad7caf7 commit 33f51f2

File tree

7 files changed

+17
-6
lines changed

7 files changed

+17
-6
lines changed

.github/workflows/ci.yml

+4
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,16 @@ jobs:
3333
name: linux-arm64
3434
- os: ubuntu-24.04
3535
name: linux-ppc64le
36+
- os: ubuntu-24.04
37+
name: linux-riscv64
3638
- os: ubuntu-24.04
3739
name: linux-musl-x64
3840
- os: ubuntu-24.04
3941
name: linux-musl-arm
4042
- os: ubuntu-24.04
4143
name: linux-musl-arm64
44+
- os: ubuntu-24.04
45+
name: linux-musl-riscv64
4246
- os: macos-13
4347
name: osx-x64
4448
- os: macos-13

Dockerfile.linux

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ RUN apt update && apt -y install pkg-config
66
WORKDIR /nativebinaries
77
COPY . /nativebinaries/
88

9-
CMD ["/bin/bash", "-c", "./build.libgit2.sh"]
9+
CMD ["/bin/bash", "-c", "./build.libgit2.sh"]

Dockerfile.linux-musl

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
ARG ARCH='amd64'
2-
FROM multiarch/alpine:${ARCH}-v3.13
2+
FROM multiarch/alpine:${ARCH}-v{ALPINE_VERSION}
33
RUN apk add --no-cache bash build-base cmake
44

55
WORKDIR /nativebinaries
66
COPY . /nativebinaries/
77

8-
CMD ["/bin/bash", "-c", "./build.libgit2.sh"]
8+
CMD ["/bin/bash", "-c", "./build.libgit2.sh"]

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ the following platforms:
1212
- Windows (x86, x64, arm64)
1313
- macOS (x64, arm64)
1414
- Linux
15-
- glibc: (x64, arm, arm64, ppc64le)
16-
- musl: (x64, arm, arm64)
15+
- glibc: (x64, arm, arm64, ppc64le, riscv64)
16+
- musl: (x64, arm, arm64, riscv64)
1717

1818
[lg2s-nb]: https://www.nuget.org/packages/LibGit2Sharp.NativeBinaries
1919
[lg2]: https://libgit2.github.com/

UpdateLibgit2ToSha.ps1

+1
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ Push-Location $libgit2Directory
124124
<dllmap os="linux" cpu="arm" wordsize="32" dll="$binaryFilename" target="lib/linux-arm/lib$binaryFilename.so" />
125125
<dllmap os="linux" cpu="armv8" wordsize="64" dll="$binaryFilename" target="lib/linux-arm64/lib$binaryFilename.so" />
126126
<dllmap os="linux" cpu="ppc64le" wordsize="64" dll="$binaryFilename" target="lib/linux-ppc64le/lib$binaryFilename.so" />
127+
<dllmap os="linux" cpu="riscv64" wordsize="64" dll="$binaryFilename" target="lib/linux-riscv64/lib$binaryFilename.so" />
127128
<dllmap os="osx" cpu="x86-64" wordsize="64" dll="$binaryFilename" target="lib/osx-x64/lib$binaryFilename.dylib" />
128129
<dllmap os="osx" cpu="armv8" wordsize="64" dll="$binaryFilename" target="lib/osx-arm64/lib$binaryFilename.dylib" />
129130
</configuration>

dockerbuild.sh

+6-1
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,17 @@
33
set -e
44
echo "building for $RID"
55

6+
alpineVersion=3.13
7+
68
if [[ $RID =~ arm64 ]]; then
79
arch="arm64"
810
elif [[ $RID =~ arm ]]; then
911
arch="armhf"
1012
elif [[ $RID =~ ppc64le ]]; then
1113
arch="powerpc64le"
14+
elif [[ $RID =~ riscv64 ]]; then
15+
arch="riscv64"
16+
alpineVersion=3.20 # alpine 3.20 is the first version with official riscv64 support
1217
else
1318
arch="amd64"
1419
fi
@@ -19,7 +24,7 @@ else
1924
dockerfile="Dockerfile.linux"
2025
fi
2126

22-
docker buildx build -t $RID -f $dockerfile --build-arg ARCH=$arch .
27+
docker buildx build -t $RID -f $dockerfile --build-arg ARCH=$arch --build-arg ALPINE_VERSION=$alpineVersion .
2328

2429
docker run -t -e RID=$RID --name=$RID $RID
2530

nuget.package/libgit2/LibGit2Sharp.dll.config

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
<dllmap os="linux" cpu="arm" wordsize="32" dll="git2-3f4182d" target="lib/linux-arm/libgit2-3f4182d.so" />
44
<dllmap os="linux" cpu="armv8" wordsize="64" dll="git2-3f4182d" target="lib/linux-arm64/libgit2-3f4182d.so" />
55
<dllmap os="linux" cpu="ppc64le" wordsize="64" dll="git2-3f4182d" target="lib/linux-ppc64le/libgit2-3f4182d.so" />
6+
<dllmap os="linux" cpu="riscv64" wordsize="64" dll="git2-3f4182d" target="lib/linux-riscv64/libgit2-3f4182d.so" />
67
<dllmap os="osx" cpu="x86-64" wordsize="64" dll="git2-3f4182d" target="lib/osx-x64/libgit2-3f4182d.dylib" />
78
<dllmap os="osx" cpu="armv8" wordsize="64" dll="git2-3f4182d" target="lib/osx-arm64/libgit2-3f4182d.dylib" />
89
</configuration>

0 commit comments

Comments
 (0)