unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Hartmut Goebel <h.goebel@crazy-compilers.com>
To: John Soo <jsoo1@asu.edu>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: Some more rust/cargo insights
Date: Mon, 7 Jun 2021 18:26:44 +0200	[thread overview]
Message-ID: <7087581e-eb31-ff48-50b9-443d7676e498@crazy-compilers.com> (raw)
In-Reply-To: <423077fd-39c6-4bff-b4a8-26d33ce6c41d@Canary>

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 
> it up that way.  I brought up the possibility of collaboration between 
> rust and functional package managers on the rust Zulip, even.  They 
> 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 
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 
> to make shared library support from cargo a priority.

Our issue is a different one: Its about being able to reuse already 
compiled binaries - keeping current behavior of rust binaries being 
statically linked.

While this looks like being the same as dynamic library support, it is 
not: While for dynamic libraries you meet to ensure the very correct 
version of a "crate" is loaded, for static linking with pre-build 
binaries you only need to ensure this at build-time. (For guix, of 
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 
up. (Sorry for hard wording, but I'm actually quite angry about cargos' 
narrow-minded behavior).

So our task is much, much easier and doesn't require changed to rustc, 
only to cargo.


>  Specifying an output directory is currently a nightly feature, that 
> 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 
"meta-data" for no reason.


> In general Rust tooling does not compose with existing tools.  I 
> believe they will be amenable to the thought that it should. If Rust 
> wants to be used in the linux kernel, for instance, it should be easy 
> to use with Make.

 From your lips to God's ears. From what I've seen an read, I'm not 
convident they will change anything. I'd like to be proofed wrong, 
though :-)


> Another path we should checkout is to see what Debian does. My 
> understanding is that they figured something out.  Worth a shot, but 
> I’d rather the problem be fixed upstream. It will just take collaboration.

I did not check their tollchain lately, but package-earch still does not 
show many packages 
<https://packages.debian.org/search?suite=experimental&searchon=names&keywords=rust>. 
Last time I check, they basically do what guix does: compile everything 
from source - again and again.

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel@crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |




  parent reply	other threads:[~2021-06-07 16:27 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-06 14:15 Some more rust/cargo insights Hartmut Goebel
     [not found] ` <20210606183857.gthvipntymstivh4@thebird.nl>
2021-06-07  7:10   ` Hartmut Goebel
2021-06-07  8:28     ` Pjotr Prins
2021-06-07 12:04       ` Hartmut Goebel
2021-06-07 15:13         ` John Soo
2021-06-07 15:15           ` John Soo
2021-06-07 16:26           ` Hartmut Goebel [this message]
2021-06-07 16:41             ` Hartmut Goebel
2021-06-08  9:15               ` Efraim Flashner
2021-06-08 15:38                 ` Hartmut Goebel
2021-06-14  5:22 ` Maxim Cournoyer
  -- strict thread matches above, loose matches on Subject: below --
2021-06-07 18:48 Leo Prikler
2021-06-08 17:01 ` Leo Famulari

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7087581e-eb31-ff48-50b9-443d7676e498@crazy-compilers.com \
    --to=h.goebel@crazy-compilers.com \
    --cc=guix-devel@gnu.org \
    --cc=jsoo1@asu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).