emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PROPOSAL] Builder, a build system integration for Emacs


From: Eli Zaretskii
Subject: Re: [PROPOSAL] Builder, a build system integration for Emacs
Date: Thu, 25 May 2023 10:48:41 +0300

> Date: Thu, 25 May 2023 06:53:56 +0000
> From: Gregory Heytings <gregory@heytings.org>
> cc: emacs-devel@gnu.org
> 
> 
> >> Cargo is a program that runs locally, not a server.  It works like 
> >> make, except that it may communicate with the crates.io repository, to 
> >> fetch a copy of the source code (and the license) of the libraries you 
> >> need to build a given Rust program, and that are not yet available 
> >> locally.
> >
> > ... akin to npm (the Node package manager of the Javascript world), it 
> > downloads half of the Internet while building and makes your life 
> > miserable if you want to avoid that.
> >
> > The new models just make it slightly more inconvenient to stay free.
> >
> 
> You are spreading FUD.  When you want to compile, say, Emacs, you need to 
> either download the binaries of the libraries that are not yet available 
> locally and their headers, or download the source of these libraries and 
> build them.  Doing that does not "donwload half of the Internet".  After 
> this you need to run the "configure" script which checks which libraries 
> (and sometimes which versions of these libraries) are available.
> 
> Cargo does all that for you.

FWIW, I don't trust tools that "do all that for me".  When building a
package that needs some prerequisite, I want to:

  . understand the reasons for the dependencies, and consider whether
    I really need whatever features need each one of them (if they are
    optional);
  . examine the license of each dependency, and see whether it is
    kosher;
  . skim the documentation of each dependency and see whether what it
    does is something I'd like to allow on my system;
  . search the Internet for any problems with each dependency on
    platforms about which I care, and decide which version of the
    dependency I want to download and install, and perhaps also what
    patches I should apply to fix those problems proactively

I'm not aware of any "do-everything-for-me" build tool which will
allow me to do all of the above.  They all "know better" what is good
for me.  So I don't trust them.  And yes, it means installing packages
takes me much more time and effort.  But that is justified when I'm
doing this on my main development systems which must be very stable
(as opposed on scratch systems about whose stability I don't care
much).

I think what Cargo does is cater to users who are none the wiser, and
want Someone Else(TM) to make decisions for them.  Sadly, this is
where our world is going in the recent years, pulled by MS and its
workalikes.  Sadly, many GNU/Linux distributions look and feel like MS
workalikes.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]