[source] git = "https://gitlab.redox-os.org/redox-os/rust.git" branch = "redox-2025-10-03" shallow_clone = true [build] template = "custom" dependencies = [ "llvm21", "zlib", ] dev-dependencies = [ "llvm21.dev", "llvm21.runtime", "host:llvm21", "host:llvm21.dev", "host:llvm21.runtime", ] script = """ DYNAMIC_INIT # Linker flags for stage2 compiler (host -> target) export LDFLAGS_x86_64_unknown_redox="${LDFLAGS}" # LLVM export CARGO_TARGET_X86_64_UNKNOWN_REDOX_RUSTFLAGS="\ -Clink-args=-L${COOKBOOK_SYSROOT}/lib \ -Clink-args=-Wl,-rpath-link,${COOKBOOK_SYSROOT}/lib \ -Clink-args=-lz" # Hack for Rust errorneusly running `llvm-config --version` on cross compiled llvm-config cat "${COOKBOOK_ROOT}/bin/x86_64-unknown-redox-llvm-config" > "${COOKBOOK_SYSROOT}/bin/llvm-config" # Linker flags for stage1 compiler (host -> host) export RUSTFLAGS_BOOTSTRAP="\ -Clink-args=-L${COOKBOOK_TOOLCHAIN}/lib \ -Clink-args=-Wl,-rpath-link,${COOKBOOK_TOOLCHAIN}/lib" export CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS="${RUSTFLAGS_BOOTSTRAP}" export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUSTFLAGS="${RUSTFLAGS_BOOTSTRAP}" # Don't poison the stage1 compiler (host -> host) unset AR AS CC CXX LD LDFLAGS NM OBJCOPY OBJDUMP RANLIB READELF RUSTFLAGS STRIP python3 "${COOKBOOK_SOURCE}/x.py" install \ --config "${COOKBOOK_RECIPE}/config.toml" \ --jobs $(nproc) mkdir -p "${COOKBOOK_STAGE}"/usr rsync -av --delete "${COOKBOOK_BUILD}"/install/* "${COOKBOOK_STAGE}"/usr/ # TODO: rustdoc """ [package] dependencies = [ "cargo" ] # TODO: Not implemented # version_script = """ # printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" # """