From: Ramsay Jones Date: Tue, 16 Sep 2025 22:25:26 GMT Subject: Re: [PATCH v5 0/9] Introduce Rust and announce that it will become mandatory Message-ID: <1feb8bd5-ef47-4cf4-b306-e38c5edac601@ramsayjones.plus.com> In-Reply-To: On 16/09/2025 03:03, Ezekiel Newren wrote: > I am currently working on a patch series that makes Rust optional and > addresses several concerns that this series does not: > * Rust calling C: Makefile has no way to build or run Rust so it > would have to call cargo test, but that doesn't work unless build.rs > tells cargo where libgit.a is (among other things). > * Build tooling alignment: My build_rust.sh is called by make and I meant to mention during the initial 'xdiff series' that running the build_rust.sh script failed for me on Linux Mint 22.2, because: $ rustc --version rustc 1.75.0 (82e1608df 2023-12-21) (built from a source tarball) $ cargo --version cargo 1.75.0 $ rustup --version Command 'rustup' not found, but can be installed with: sudo apt install rustup $ [if you try to install rustup, it offers to remove rustc and cargo!] > meson which eliminates defining how to build Rust in 2 places. > * Cargo vs Meson: Meson is adding support for Rust and it's getting > better, but Cargo is the canonical build system for Rust. cargo is > released in lockstep with rustc, and we _have_ to use cargo when > building with make because Meson won't be available in that case. > * Crates: Patrick's series assumes the Git codebase is _the_ crate > * cbindgen: Cbindgen outputs a single header file for each crate, Also: $ cbindgen --version Command 'cbindgen' not found, but can be installed with: sudo apt install cbindgen $ [I haven't tried installing cbindgen, so I don't know if it would uninstall rustc and cargo :) ] ATB, Ramsay Jones