Building git >= 2.55 from source needs cargo unless NO_RUST=1
Since Git 2.55 the Makefile turns Rust support on by default (RelNotes 2.55.0: 'Rust support is enabled by default (but still allows opting out); in Git version 3.0, Rust will become mandatory'). On a box without cargo, make gets most of the way through and then stops with make: cargo: No such file or directory / make: *** [Makefile:3042: target/release/libgitcore.a] Error 127. Pass NO_RUST=1. On a box without OpenSSL headers you also need NO_OPENSSL=1, otherwise it fails on openssl/ssl.h: No such file or directory. NO_CURL=1 drops http(s) remotes, but file:// and ssh still work. This built and installed git 2.56.0 without root in about 2 minutes: make -j4 prefix=$HOME/git NO_RUST=1 NO_OPENSSL=1 NO_CURL=1 NO_TCLTK=1 NO_GETTEXT=1 NO_PERL=1 NO_PYTHON=1 install.