[+] Rust builder?

This commit is contained in:
Azalea 2024-12-22 01:09:44 -05:00
parent a0db219ba3
commit cafa3ff752
4 changed files with 37 additions and 2 deletions

View File

@ -110,7 +110,6 @@ function build_for_platform() {
build_for_platform "linux-amd64" "manylinux_2_31_x86_64"
build_for_platform "linux-aarch64" "manylinux_2_31_aarch64"
build_for_platform "linux-armv7l" "manylinux_2_31_armv7l"
# build_for_platform "linux-riscv64" "manylinux_2_31_riscv64"
# There doesn't seem to be tags for freebsd?
# build_for_platform "freebsd-amd64" "freebsd_x86_64"
# build_for_platform "freebsd-aarch64" "freebsd_aarch64"
@ -119,7 +118,8 @@ build_for_platform "musl-amd64" "musllinux_1_1_x86_64"
# The official fastfetch build uses macOS 12.0
build_for_platform "macos-universal" "macosx_11_0_x86_64"
build_for_platform "macos-universal" "macosx_11_0_arm64"
# TODO: linux_riscv64
# TODO: linux_riscv64 (pypi's platform tag support is not there yet)
# build_for_platform "linux-riscv64" "manylinux_2_31_riscv64"
# Finally, remove temporary files
rm -rf wheel git

11
tools/build_rust.sh Normal file
View File

@ -0,0 +1,11 @@
#!/usr/bin/env bash
set -e
# Step 1: Build the Docker image
echo "Building the Docker image..."
docker build -t rust-builder-general tools/rust-builder/general
# Step 2: Run the Docker container and execute the builder script
echo "Running the Docker container..."
docker run --rm -v "$(pwd)":/app rust-builder bash -c "cd /app && ./tools/rust-builder/general/builder.sh"

View File

@ -0,0 +1,16 @@
FROM debian:10-slim
# Install Rust building environment
RUN apt update && apt install -y curl build-essential gcc libssl-dev bash musl-tools mingw-w64
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
RUN source $HOME/.cargo/env
# Add toolchains for building for gnu[x86_64, aarch64, armv7l], musl[x86_64], and windows[x86_64, aarch64]
RUN rustup target add \
x86_64-unknown-linux-gnu \
aarch64-unknown-linux-gnu \
armv7-unknown-linux-gnueabihf \
x86_64-unknown-linux-musl \
x86_64-pc-windows-gnu \
WORKDIR /app

View File

@ -0,0 +1,8 @@
#!/usr/bin/env bash
# Build for platforms
cargo build --release --target x86_64-unknown-linux-gnu
cargo build --release --target aarch64-unknown-linux-gnu
cargo build --release --target armv7-unknown-linux-gnueabihf
cargo build --release --target x86_64-unknown-linux-musl
cargo build --release --target x86_64-pc-windows-gnu