feat: add support for ppc64le architecture (#2798)

- Add powerpc64le-unknown-linux-musl target in .cargo/config.toml
- Add linux-ppc64le target to core.yml build matrix with mimalloc
- Add ppc64le support in Dockerfile and docker.yml multiarch builds
- Add binstall overrides for powerpc64le musl and gnu
- Add ppc64le platform detection in install.sh
This commit is contained in:
Luna Yao authored and GitHub committed 2026-11-05 14:41:30 +08:00
1 parent 759a270b15
commit 50bddb7203
6 files changed
+21 -2

No files matched your search

+3
View File
@@ -45,6 +45,9 @@ rustflags = ["-C", "target-feature=+crt-static"]
[target.loongarch64-unknown-linux-musl]
rustflags = ["-C", "target-feature=+crt-static"]
[target.powerpc64le-unknown-linux-musl]
rustflags = ["-C", "target-feature=+crt-static"]
[target.mipsel-unknown-linux-musl]
linker = "mipsel-unknown-linux-muslsf-gcc"
rustflags = [
+2
View File
@@ -16,6 +16,8 @@ RUN ARTIFACT_ARCH=""; \
ARTIFACT_ARCH="aarch64"; \
elif [ "$TARGETPLATFORM" = "linux/riscv64" ]; then \
ARTIFACT_ARCH="riscv64"; \
elif [ "$TARGETPLATFORM" = "linux/ppc64le" ]; then \
ARTIFACT_ARCH="ppc64le"; \
else \
echo "Unsupported architecture: $TARGETPLATFORM"; \
exit 1; \
+4 -1
View File
@@ -160,6 +160,9 @@ jobs:
- TARGET: loongarch64-unknown-linux-musl
OS: ubuntu-24.04
ARTIFACT_NAME: linux-loongarch64
- TARGET: powerpc64le-unknown-linux-musl
OS: ubuntu-24.04
ARTIFACT_NAME: linux-ppc64le
- TARGET: armv7-unknown-linux-musleabihf # raspberry pi 2-3-4, not tested
OS: ubuntu-24.04
@@ -271,7 +274,7 @@ jobs:
BUILD=zigbuild
fi
if [[ "$TARGET" =~ ^(riscv64|loongarch64|aarch64).*$ || "$TARGET" =~ (freebsd|windows) ]]; then
if [[ "$TARGET" =~ ^(riscv64|loongarch64|aarch64|powerpc64le).*$ || "$TARGET" =~ (freebsd|windows) ]]; then
FEATURES="mimalloc"
else
FEATURES="jemalloc"
+1 -1
View File
@@ -97,7 +97,7 @@ jobs:
uses: docker/build-push-action@v6
with:
context: ./docker_context
platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64,linux/riscv64
platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64,linux/riscv64,linux/ppc64le
push: true
file: .github/workflows/Dockerfile
tags: ${{ steps.tags.outputs.tags }}
+8
View File
@@ -492,6 +492,14 @@ bin-dir = "{ name }-linux-riscv64/{ bin }{ binary-ext }"
pkg-url = "{ repo }/releases/download/v{ version }/{ name }-linux-riscv64-v{ version }.zip"
bin-dir = "{ name }-linux-riscv64/{ bin }{ binary-ext }"
[package.metadata.binstall.overrides.powerpc64le-unknown-linux-musl]
pkg-url = "{ repo }/releases/download/v{ version }/{ name }-linux-ppc64le-v{ version }.zip"
bin-dir = "{ name }-linux-ppc64le/{ bin }{ binary-ext }"
[package.metadata.binstall.overrides.powerpc64le-unknown-linux-gnu]
pkg-url = "{ repo }/releases/download/v{ version }/{ name }-linux-ppc64le-v{ version }.zip"
bin-dir = "{ name }-linux-ppc64le/{ bin }{ binary-ext }"
[package.metadata.binstall.overrides.aarch64-pc-windows-msvc]
pkg-url = "{ repo }/releases/download/v{ version }/{ name }-windows-arm64-v{ version }.zip"
bin-dir = "{ name }-windows-arm64/{ bin }{ binary-ext }"
+3
View File
@@ -139,6 +139,9 @@ case "$platform" in
mipsel)
ARCH="mipsel"
;;
ppc64le | powerpc64le)
ARCH="ppc64le"
;;
*)
ARCH="UNKNOWN"
;;