From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Ruijie Yu via "Emacs development discussions." Newsgroups: gmane.emacs.devel Subject: Re: [PROPOSAL] Builder, a build system integration for Emacs Date: Sat, 27 May 2023 10:37:41 +0800 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> <83edn4myz4.fsf@gnu.org> <83a5xsmuc0.fsf@gnu.org> <3a315ddd3a25a56c8d6a@heytings.org> Reply-To: Ruijie Yu Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="3871"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: mu4e 1.9.22; emacs 30.0.50 Cc: Richard Stallman , eliz@gnu.org, 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 Sat May 27 04:44:20 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 1q2jum-0000q6-L0 for ged-emacs-devel@m.gmane-mx.org; Sat, 27 May 2023 04:44:20 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q2jtp-0002BH-T9; Fri, 26 May 2023 22:43:22 -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 1q2jto-0002B3-Qw for emacs-devel@gnu.org; Fri, 26 May 2023 22:43:20 -0400 Original-Received: from netyu.xyz ([152.44.41.246] helo=mail.netyu.xyz) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q2jtn-0002qF-Di; Fri, 26 May 2023 22:43:20 -0400 Original-Received: from fw.net.yu.netyu.xyz ( [222.248.4.98]) by netyu.xyz (OpenSMTPD) with ESMTPSA id 938c9ee1 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Sat, 27 May 2023 02:43:17 +0000 (UTC) In-reply-to: <3a315ddd3a25a56c8d6a@heytings.org> Received-SPF: pass client-ip=152.44.41.246; envelope-from=ruijie@netyu.xyz; helo=mail.netyu.xyz X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action 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:306362 Archived-At: Gregory Heytings writes: >> >> Where does cargo get the list of libraries to consider using? >> > > The dependencies of a Rust program/library are specified (manually) by the > author of that program/library, in a (structured) text file. The source code of > the libraries on which the program/library depends are downloaded (by Cargo) > from the crates.io registry, and kept in a local cache (CARGO_HOME, by default > $HOME/.cargo). > >> >> Are all the libraries in that default list free/libre? >> > > No, some libraries/programs in the crates.io registry are non-free (but their > source code is always available). This is because, to use your words in your > other post, the crates.io registry is a "repo site where in principle anyone can > put a program", and not a list of "programs that in principle you may wish to > install side by side in one computer". > > As I said in an earlier post, there are currently 115402 available > libraries/programs in the crates.io registry, and out of these the vast majority > (at least 110000) use free software licenses. The recommended license for Rust > libraries/programs is a dual MIT/Apache-2.0 (which is how Rust itself is > licensed), but users are not forced to use these licenses. And, to follow up on that, you can always specify replacement registries in your user configuration (I don't recall if you can do so in any system configuration). Since a registry is just a git repository hosted online or locally, you can fork the crates.io repository, and then you are free to modify it as you see fit, such as filtering out unsuitable libraries (e.g., those who transitively depend on any non-libre libraries). -- Best, RY