Skip to content

Commit 15351d1

Browse files
committed
add linux/musl-riscv64 build
1 parent ad7caf7 commit 15351d1

File tree

8 files changed

+22
-4
lines changed

8 files changed

+22
-4
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

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ RUN apk add --no-cache bash build-base cmake
55
WORKDIR /nativebinaries
66
COPY . /nativebinaries/
77

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

Dockerfile.linux-musl3.20

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
ARG ARCH='amd64'
2+
FROM multiarch/alpine:${ARCH}-v3.20
3+
RUN apk add --no-cache bash build-base cmake
4+
5+
WORKDIR /nativebinaries
6+
COPY . /nativebinaries/
7+
8+
CMD ["/bin/bash", "-c", "./build.libgit2.sh"]

README.md

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

1818
[lg2s-nb]: https://www.nuget.org/packages/LibGit2Sharp.NativeBinaries

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

+5-1
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,15 @@ elif [[ $RID =~ arm ]]; then
99
arch="armhf"
1010
elif [[ $RID =~ ppc64le ]]; then
1111
arch="powerpc64le"
12+
elif [[ $RID =~ riscv64 ]]; then
13+
arch="riscv64"
1214
else
1315
arch="amd64"
1416
fi
1517

16-
if [[ $RID == linux-musl* ]]; then
18+
if [[ $RID == linux-musl-riscv64 ]]; then
19+
dockerfile="Dockerfile.linux-musl" # first version with official riscv64 support
20+
elif [[ $RID == linux-musl* ]]; then
1721
dockerfile="Dockerfile.linux-musl"
1822
else
1923
dockerfile="Dockerfile.linux"

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)