docs : methode de build linux musl avec cargo-zigbuild (aarch64 + x86_64) dans RELEASING.md
This commit is contained in:
+12
-6
@@ -30,14 +30,20 @@ Cargo.lock, et lancer toute la batterie :
|
|||||||
### y compris Debian 12 (glibc 2.36) — ne JAMAIS publier un binaire glibc
|
### y compris Debian 12 (glibc 2.36) — ne JAMAIS publier un binaire glibc
|
||||||
### compilé sur une base récente.
|
### compilé sur une base récente.
|
||||||
|
|
||||||
docker run --rm -v "${PWD}:/work" -w /work -e CARGO_TARGET_DIR=/tmp/target-musl \
|
# cargo-zigbuild : zig (~50 Mo) fournit le linker croisé pour les DEUX
|
||||||
rust:1.94-alpine sh -c "apk add --no-cache build-base && \
|
# cibles musl (rust:1.94-alpine n'embarque pas de compilateur croisé
|
||||||
|
# aarch64 : 'aarch64-linux-musl-gcc not found').
|
||||||
|
docker run --rm -v "${PWD}:/work" -w /work -e CARGO_TARGET_DIR=/tmp/am-target \
|
||||||
|
-e CARGO_INCREMENTAL=0 rust:1.94-alpine sh -c "apk add --no-cache build-base zip curl >/dev/null && \
|
||||||
rustup target add x86_64-unknown-linux-musl aarch64-unknown-linux-musl && \
|
rustup target add x86_64-unknown-linux-musl aarch64-unknown-linux-musl && \
|
||||||
cargo build --release --locked --target x86_64-unknown-linux-musl && \
|
curl -fsSL https://ziglang.org/download/0.14.1/zig-x86_64-linux-0.14.1.tar.xz -o /tmp/zig.tar.xz && \
|
||||||
cargo build --release --locked --target aarch64-unknown-linux-musl && \
|
tar -xf /tmp/zig.tar.xz -C /opt && \
|
||||||
|
export PATH=/opt/zig-x86_64-linux-0.14.1:\$PATH && \
|
||||||
|
cargo install cargo-zigbuild --locked && \
|
||||||
|
cargo zigbuild --release --locked --target x86_64-unknown-linux-musl --target aarch64-unknown-linux-musl && \
|
||||||
mkdir -p dist && \
|
mkdir -p dist && \
|
||||||
cp /tmp/target-musl/x86_64-unknown-linux-musl/release/am dist/am-linux-x86_64 && \
|
cp /tmp/am-target/x86_64-unknown-linux-musl/release/am dist/am-linux-x86_64 && \
|
||||||
cp /tmp/target-musl/aarch64-unknown-linux-musl/release/am dist/am-linux-aarch64 && \
|
cp /tmp/am-target/aarch64-unknown-linux-musl/release/am dist/am-linux-aarch64 && \
|
||||||
cd dist && tar -czf am-linux-x86_64.tar.gz am-linux-x86_64 && \
|
cd dist && tar -czf am-linux-x86_64.tar.gz am-linux-x86_64 && \
|
||||||
tar -czf am-linux-aarch64.tar.gz am-linux-aarch64"
|
tar -czf am-linux-aarch64.tar.gz am-linux-aarch64"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user