Merge branch 'cargo-in-rust' into 'master'

Build cargo in rust recipe

See merge request redox-os/redox!1795
This commit is contained in:
Jeremy Soller 2025-12-30 21:19:14 -07:00
commit 6eb4618c82
5 changed files with 20 additions and 18 deletions

View File

@ -33,7 +33,6 @@ ca-certificates = {}
cairo = {}
#cairodemo = {} # linking errors
#calculator = {}
cargo = {}
cleye = {}
#cmatrix = {} # needs ncursesw now
composer = {}

View File

@ -55,7 +55,6 @@ winit = {}
# dev
autoconf = {}
automake = {}
cargo = {}
cookbook = {}
gcc13 = {}
gnu-binutils = {}

View File

@ -1,4 +1,3 @@
#TODO: use sed to replace hardcoded paths into env
[llvm]
download-ci-llvm = false
static-libstdcpp = false
@ -8,9 +7,11 @@ experimental-targets = ""
[build]
host = ["x86_64-unknown-redox"]
target = ["x86_64-unknown-redox"]
docs = false
submodules = false
tools = ["src"]
# TODO: enable rustdoc and others
docs = false
tools = ["cargo", "clippy", "rustfmt", "src"]
extended = true
verbose = 1
[install]
@ -28,10 +29,10 @@ ar = "x86_64-unknown-redox-ar"
linker = "x86_64-unknown-redox-gcc"
rpath = false
crt-static = false
llvm-config = "/mnt/redox/recipes/dev/rust/target/x86_64-unknown-redox/sysroot/bin/llvm-config"
llvm-config = "COOKBOOK_SYSROOT/bin/llvm-config"
[target.aarch64-unknown-linux-gnu]
llvm-config = "/mnt/redox/recipes/dev/rust/target/x86_64-unknown-redox/toolchain/bin/llvm-config"
llvm-config = "COOKBOOK_TOOLCHAIN/bin/llvm-config"
[target.x86_64-unknown-linux-gnu]
llvm-config = "/mnt/redox/recipes/dev/rust/target/x86_64-unknown-redox/toolchain/bin/llvm-config"
llvm-config = "COOKBOOK_TOOLCHAIN/bin/llvm-config"

View File

@ -8,6 +8,8 @@ template = "custom"
dependencies = [
"llvm21",
"zlib",
"curl",
"openssl1",
]
dev-dependencies = [
"llvm21.dev",
@ -36,20 +38,22 @@ 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
cat ${COOKBOOK_RECIPE}/config.toml > config.toml
sed -i "s|COOKBOOK_SYSROOT|${COOKBOOK_SYSROOT}|g" config.toml
sed -i "s|COOKBOOK_TOOLCHAIN|${COOKBOOK_TOOLCHAIN}|g" config.toml
python3 "${COOKBOOK_SOURCE}/x.py" install \
--config "${COOKBOOK_RECIPE}/config.toml" \
--config config.toml \
--jobs $(nproc)
mkdir -p "${COOKBOOK_STAGE}"/usr
rsync -av --delete "${COOKBOOK_BUILD}"/install/* "${COOKBOOK_STAGE}"/usr/
# TODO: rustdoc
rm -rf "${COOKBOOK_STAGE}"/usr/lib/rustlib/*.log
"""
[package]
dependencies = [
"cargo"
[[optional-packages]]
name = "doc"
files = [
"usr/share/doc/**",
]
# TODO: Not implemented
# version_script = """
# printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
# """

View File

@ -2,7 +2,6 @@
dependencies = [
"autoconf",
"automake",
"cargo",
"gcc13",
"gcc13.cxx",
"llvm21",