From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: [PROPOSAL] Builder, a build system integration for Emacs Date: Thu, 25 May 2023 19:20:56 +0300 Message-ID: <831qj4mlg7.fsf@gnu.org> 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> <83edn4myz4.fsf@gnu.org> <83a5xsmuc0.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="2373"; mail-complaints-to="usenet@ciao.gmane.io" Cc: tomas@tuxteam.de, emacs-devel@gnu.org To: Gregory Heytings Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu May 25 18:21:22 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 1q2DiM-0000P5-Bl for ged-emacs-devel@m.gmane-mx.org; Thu, 25 May 2023 18:21:22 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q2DhX-0008MA-Um; Thu, 25 May 2023 12:20:31 -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 1q2DhU-0008LW-P6 for emacs-devel@gnu.org; Thu, 25 May 2023 12:20:28 -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 1q2DhT-00076Q-QV; Thu, 25 May 2023 12:20:27 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=dsv+qrov50nUgsrMpZk/ue/K6eECT5OWJQ0BsGrinwg=; b=OKAbxv3HrqV7 Kbu2Y7jItlfl4w+raBYSJKT9JCbtL2hSStmdi7uOYTOREgRJKGtlDrJdMh4/TYIE6P7nBZpdhuwf0 kO49A7tQAEpXUtLRiCkEBVY7yr9nVGGiz/7V/e4ukGY4//fffknyx9P6jkGsbhe1emQlhsEyGSnl1 Hc8qBJHMWXKyIlfzD6VBQKtliFmWmqrTiNUmRtrVWiRDZRNISfxqOABzR+0kor2ngOrKajRSi13YA +TqtBuJVkykq2MX8+44k7lgMzvHssZgJLaXHwDjgbKezSml5ozBgRLJEdfXjg+HwM4uR8GDi1Y0Nx Yr3kwNyEPArk20l+PuqdlA==; Original-Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q2DhT-0007Tf-A7; Thu, 25 May 2023 12:20:27 -0400 In-Reply-To: (message from Gregory Heytings on Thu, 25 May 2023 14:36:40 +0000) 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:306335 Archived-At: > Date: Thu, 25 May 2023 14:36:40 +0000 > From: Gregory Heytings > cc: tomas@tuxteam.de, emacs-devel@gnu.org > > > The answers were clear, but they didn't present any solutions to the > > issues I brought up. None of the tools I'm aware of, including Cargo, > > support interactive selection of dependencies based on their features > > and requirements, nor provide any decision support for the kind of > > decisions I described. They allow you to specify a version, but leave > > the actual decision process to you. And if that is the case, why do I > > need them? I can easily build stuff myself once I've figured out which > > versions of what dependencies I need. > > > > And there's no need for you to work hard to try to represent the > > problems as having their solutions. Those build tools do not intend to > > solve those problems, they don't even consider them problems. They > > "know better". The facilities you described are nothing more than lip > > service. > > > > Then I guess I don't understand what these problems are, and what kind of > solution you are after. Let's take a concrete example of a popular Rust > program: ripgrep. All you need to build it is: > > git clone https://github.com/BurntSushi/ripgrep > cargo build --release > > or (even simpler): > > cargo install ripgrep > > That (relatively simple) program depends on no less than 37 Rust > libraries, and has two optional build options, "pcre2" and "simd-accel". > If you activate these two options the program depends on 45 libraries. > What would you want do do with those 45 libraries? What do you mean in > this concrete case by "interactive selection of dependencies based on > their features and requirements"? I don't see how I can add anything to what I described already, and in detail; see https://lists.gnu.org/archive/html/emacs-devel/2023-05/msg00578.html What I'd like is for the installation procedure to present the information I need for making those decisions, and help me make them. Btw, I was only talking about optional dependencies. For mandatory dependencies, the only important aspect is whether I'd need to upgrade libraries I already have to newer versions, and if so, whether those newer versions will cause compatibility problems with programs I have installed that use those libraries. This is also something a typical package installation will not let me control: they will just upgrade the other programs as well, whether I want that or not. Anyway, I don't see why we should continue this sub-thread: I just wanted to express my deep mistrust of any such "automatic installation and build" packages; YMMV.