On Thu, May 25, 2023 at 3:49 AM Eli Zaretskii <
eliz@gnu.org> wrote:
FWIW, I don't trust tools that "do all that for me". When building a
package that needs some prerequisite, I want to:
[...]
This is laudable but also requires effort, sometimes non trivial effort; witness the extra hoops required to get functional tree-sitter "support" inside emacs. Cargo is a (fairly slight, actually) evolution of the strategy I first saw back in the mid-90's with CPAN (the "Comprehensive Perl Archive Network"), through CTAN (similar for TeX), ruby, python, etc.
I do agree that the default setup of cargo tends a little too much towards DWIMishness for my taste, but it's not hard to turn that down AND it removes many of the most annoying parts of library version management/hell.
In this particular case, unless I'm misreading, the OP is suggesting that a generic "builder" layer could include cargo as one of the many build management systems that is widely used to create (usually libre) software, rather than suggesting it as a model that either Emacs or the FSF should follow.
I hope that helps,
~Chad