From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: [PROPOSAL] Builder, a build system integration for Emacs Date: Fri, 26 May 2023 17:32:35 -0400 Message-ID: References: <95980ffc-86e7-ad54-4a20-539d8c6ea5d0@mailo.com> <3f68f4bc-d426-0bcc-1329-674c12b29386@mailo.com> <76e12f7c-335f-476b-ffb3-fd8e8e4ab5d0@mailo.com> <87pm6rx4ea.fsf@yahoo.com> <87wn0ytefw.fsf@gmail.com> <83h6s0n95y.fsf@gnu.org> Reply-To: rms@gnu.org Content-Type: text/plain; charset=Utf-8 Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="11529"; mail-complaints-to="usenet@ciao.gmane.io" Cc: eliz@gnu.org, emacs-devel@gnu.org To: chad Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri May 26 23:33:21 2023 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q2f3o-0002lw-SU for ged-emacs-devel@m.gmane-mx.org; Fri, 26 May 2023 23:33:20 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q2f38-00024b-8T; Fri, 26 May 2023 17:32:38 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q2f36-000244-Mu for emacs-devel@gnu.org; Fri, 26 May 2023 17:32:36 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q2f36-0001Yl-Ew; Fri, 26 May 2023 17:32:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=Date:References:Subject:In-Reply-To:To:From: mime-version; bh=nYJyZN0VzS3tF252dBl1tqZaE+i9QTNMRKB7rDF4djY=; b=jlqo1NirTP8l 15oE6lT99jKOWlXwbobfjAr1Yutgg1tOC5gPcpBmjn7Xd5tUN4PqnyknPyak4tTjmworRRh3lXSF+ jbEYHraxQfMcn6JbBpDUi3zraOcpSOnnAkBDCw1jQXGNbXMbEkq92KH2AASenHgzgjAIRx0btKR0Q V5hGmv3a7AejiUd7MnxwoS3ZgRobLf2hiJYj8jBzd7yEGo2NpQbyNgy4yyy92l1SxwmFusuB0RkcF deaTqz3tJ/RFf8sFDD3L+lCNEsLJx5Irc4u356r4Oc1dHVfWy/ufM6DFdulpnvjj9Lqt0g8zxlzD5 2VwDTNZxQfLDNONFywjbWw==; Original-Received: from rms by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from ) id 1q2f35-0002RB-S6; Fri, 26 May 2023 17:32:35 -0400 In-Reply-To: (message from chad on Thu, 25 May 2023 09:16:04 -0400) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:306356 Archived-At: [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > 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. The fact that they all work basically the same way could be the reason why many (or all?) of them have the sameproblem. As I understand it, each of these library-choosing systems uses a collection of libraries built up over the years. Maybe it acceses them using a network server, or maybe via a program that has a list of all the libraries in that collection and crucial information about each one. So when you say to link a certain program, the library-choosing systems figures out which of the libraries in that collection provide symbols that the program needs. And it links with them. Is all that correct? If so, I can now explain concretely the problem I am concerned about. For each language, the people who build up the collection of libraries have included some libraries that are not free. Therefore, if the program you ask to build refers to symbols provided by a nonfree library, you will get a linked executable that uses a nonfree library. For us, that is no good! You should get an error message. You've said that these various library-choosing systems are designed to work similarly, but they may not be entirely similar in this regard. Some of them may avoid this problem. If so, I would be glad to learn which ones do avoid it, and how each does so. In the systems which do have this problem, we can't just accept it. Fixing it is necessary for us. They have not, as far as I know, done much to help us. I hope we can convince them to help, but if not, we need to fork. If the developers of some of these library-choosing systems have added features that make this easier, I would be very glad. -- Dr Richard Stallman (https://stallman.org) Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org)