From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id 8ksbJtxIvmDMCgAAgWs5BA (envelope-from ) for ; Mon, 07 Jun 2021 18:27:08 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id 2JLsINxIvmD+OQAAbx9fmQ (envelope-from ) for ; Mon, 07 Jun 2021 16:27:08 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 2312025234 for ; Mon, 7 Jun 2021 18:27:08 +0200 (CEST) Received: from localhost ([::1]:38664 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lqI5i-0003Ie-S3 for larch@yhetil.org; Mon, 07 Jun 2021 12:27:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53240) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lqI5Z-0003IT-5p for guix-devel@gnu.org; Mon, 07 Jun 2021 12:26:57 -0400 Received: from mail-out.m-online.net ([212.18.0.9]:34920) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lqI5W-0003SC-M7 for guix-devel@gnu.org; Mon, 07 Jun 2021 12:26:56 -0400 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4FzJfd6TnPz1qtQJ; Mon, 7 Jun 2021 18:26:49 +0200 (CEST) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4FzJfd46ghz1r0w3; Mon, 7 Jun 2021 18:26:49 +0200 (CEST) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id 0p-5e4_DEhHM; Mon, 7 Jun 2021 18:26:46 +0200 (CEST) Received: from hermia.goebel-consult.de (ppp-188-174-54-164.dynamic.mnet-online.de [188.174.54.164]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPS; Mon, 7 Jun 2021 18:26:46 +0200 (CEST) Received: from lenashee.goebel-consult.de (lenashee.goebel-consult.de [192.168.110.2]) by hermia.goebel-consult.de (Postfix) with ESMTP id ED630600F5; Mon, 7 Jun 2021 18:26:56 +0200 (CEST) From: Hartmut Goebel To: John Soo References: <7d180f4a-3e5f-374b-0fcd-6ae5b438a1c8@crazy-compilers.com> <20210606183857.gthvipntymstivh4@thebird.nl> <1030d59f-32ef-bab0-00f7-aa81f2133517@crazy-compilers.com> <20210607082830.uo73mksfvogfxxf6@thebird.nl> <423077fd-39c6-4bff-b4a8-26d33ce6c41d@Canary> Organization: crazy-compilers.com Subject: Re: Some more rust/cargo insights Message-ID: <7087581e-eb31-ff48-50b9-443d7676e498@crazy-compilers.com> Date: Mon, 7 Jun 2021 18:26:44 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.2 MIME-Version: 1.0 In-Reply-To: <423077fd-39c6-4bff-b4a8-26d33ce6c41d@Canary> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Content-Language: en-US Received-SPF: none client-ip=212.18.0.9; envelope-from=h.goebel@crazy-compilers.com; helo=mail-out.m-online.net X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1623083228; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=LeBKuR6fsBcohAGNqd+yLajayt89szjfwlgnTXTEtgg=; b=dwo4zpKaYa/n4kQ8/0irk/pzoLRCxR9ZW1bPxQnKml4W2q+/DdfITDM5r+e7PUCEMaQ0g5 tAWDKB+GbEX4dCsjn4yO/g3fXgxWpOjX2QunQpeLqmhz+7XbI7QzXngU9+QHIhXPE6+cYd BvVURxZdXAPNH5Pj8/9jI22xq2lvVfc1p0ezoIYNGJ9Yan3evFd6IQ7dBMPzus/ChI+KX6 8x7oncDPtvsG6HLMW0R1gDRnJ1Bn/t2dNNgut6dwFkDiYBmucdEs4xB+TqKaOQmNXc0oFv bxvOzhX+hD5pwvNGMdcyDAQk+5db97aP0JY6IKhR1VaYx4p+fMDj29mwDNK4Aw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1623083228; a=rsa-sha256; cv=none; b=cm6rxDd3pv7asIEz/1PbtTG5i910XZKAciMFsOIliJrcUzyAU+tDDAEZwwqTHaQ1DyJKNB NjNVcR6FHr9AACG5hUg/RGJpUip4Xpq6J+UXxwhWmTHRwlpPkLnG5JChKCSsf82sQNw3yI SXWISHCbbp49idx5+TPuNoooIi/ByXQ4QqPrshvf4JLYOpRx8PKToWN4vkUuWbiGZGsZcA +Db5h5Mm8NBFZ193CKZxCddTHAOubT2lDZSXHP4qDcX5J05xyaHJKlbueij3xOtE74kq0Z XZCUT7iVpKh4lXAjtYvOA6zJOdZ30nS5A4ZZF634irkWh5teotqp/rJsDn/hqQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Spam-Score: -2.42 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: 2312025234 X-Spam-Score: -2.42 X-Migadu-Scanner: scn0.migadu.com X-TUID: hhOP/MTGyRxI Hi John. Am 07.06.21 um 17:13 schrieb John Soo: > Rust has a very well documented rfc process and we can at least bring=20 > it up that way. =C2=A0I brought up the possibility of collaboration bet= ween=20 > rust and functional package managers on the rust Zulip, even. =C2=A0The= y=20 > seemed to like the idea. > I'd be more than happy if you could start a RFC process then. This issue = bugs us and other distros since many months. (I have not contact to the=20 rust community and will not sign up at another proprietary communication = platform (Zulip)). > My feeling on this is that we should partner with the Rust community=20 > to make shared library support from cargo a priority. Our issue is a different one: Its about being able to reuse already=20 compiled binaries - keeping current behavior of rust binaries being=20 statically linked. While this looks like being the same as dynamic library support, it is=20 not: While for dynamic libraries you meet to ensure the very correct=20 version of a "crate" is loaded, for static linking with pre-build=20 binaries you only need to ensure this at build-time. (For guix, of=20 course, both would not be a problem, but I doubt we can make rust people = understand this. And other distros will still have the problem.) rustc already has a notion for "static libraries", just cargo fu** it=20 up. (Sorry for hard wording, but I'm actually quite angry about cargos'=20 narrow-minded behavior). So our task is much, much easier and doesn't require changed to rustc,=20 only to cargo. > =C2=A0Specifying an output directory is currently a nightly feature, th= at=20 > could be helpful. Not exactly sure what you mean. But what breaks build with cargo are the = *input* directories - and other magic which gets included into the=20 "meta-data" for no reason. > In general Rust tooling does not compose with existing tools. =C2=A0I=20 > believe they will be amenable to the thought that it should. If Rust=20 > wants to be used in the linux kernel, for instance, it should be easy=20 > to use with Make. From your lips to God's ears. From what I've seen an read, I'm not=20 convident they will change anything. I'd like to be proofed wrong,=20 though :-) > Another path we should checkout is to see what Debian does. My=20 > understanding is that they figured something out. =C2=A0Worth a shot, b= ut=20 > I=E2=80=99d rather the problem be fixed upstream. It will just take col= laboration. I did not check their tollchain lately, but package-earch still does not = show many packages=20 .=20 Last time I check, they basically do what guix does: compile everything=20 from source - again and again. --=20 Regards Hartmut Goebel | Hartmut Goebel | h.goebel@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |