From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jelle Licht Subject: Re: Rust Date: Fri, 29 Jul 2016 18:08:24 +0200 Message-ID: References: <20160325184540.4e02cb2d@scratchpost.org> <87k2kq6wma.fsf@grrlz.net> <87oa8mt8lh.fsf@gmail.com> <87eg9gzgqb.fsf@libertad.pw> <87popyp3od.fsf@we.make.ritual.n0.is> <20160728203144.7df4bb8c@itchy> <87mvl0a302.fsf_-_@gnu.org> <1469806462.309573.680485345.76401C68@webmail.messagingengine.com> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=089e01176d45d8682c0538c875bd Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:33464) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bTAKy-0005mp-Hu for guix-devel@gnu.org; Fri, 29 Jul 2016 12:08:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bTAKv-0001IH-9N for guix-devel@gnu.org; Fri, 29 Jul 2016 12:08:36 -0400 Received: from cavendish.fsfeurope.org ([2001:aa8:ffed::3:102]:55125) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bTAKu-0001Ho-Tw for guix-devel@gnu.org; Fri, 29 Jul 2016 12:08:33 -0400 Received: from localhost (localhost [127.0.0.1]) by cavendish.fsfeurope.org (Postfix) with ESMTP id 647D363B9F2 for ; Fri, 29 Jul 2016 18:08:31 +0200 (CEST) Received: from cavendish.fsfeurope.org ([127.0.0.1]) by localhost (cavendish.fsfeurope.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Fiv+KtnlImm4 for ; Fri, 29 Jul 2016 18:08:27 +0200 (CEST) Received: from mail-wm0-f41.google.com (mail-wm0-f41.google.com [74.125.82.41]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) (Authenticated sender: jlicht) by cavendish.fsfeurope.org (Postfix) with ESMTPSA id 7397D63BA08 for ; Fri, 29 Jul 2016 18:08:27 +0200 (CEST) Received: by mail-wm0-f41.google.com with SMTP id f65so295883054wmi.0 for ; Fri, 29 Jul 2016 09:08:27 -0700 (PDT) In-Reply-To: <1469806462.309573.680485345.76401C68@webmail.messagingengine.com> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Alex Griffin Cc: guix-devel --089e01176d45d8682c0538c875bd Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable I looked into this once; I found a Rust compiler written in OCaml on the web. There should be a path from that compiler to the current version of Rust. The problem lies in the fact that the entire "1.9 build 1.10 builds 1.11" spiel only become the official policy of the Rust project recently. disclaimer: the following is how I interpreted my communications with the rust community. My apologies to anyone involved for any inaccuracies and/or misrepresentations. This means that you could be looking at individual commits, as before this, I believe nightlies (snapshots) were used to compile the Rust compiler. So, to ad to Alex' point, we would also need to expend (one-time) effort to find this 'bootstrap-path' from the OCaml-based compiler to a more recent rustc. In my admittedly little amounts of experience, the people working on rust were not really seeing the problem with the current state of affairs, so good luck getting support with some arcane issues one might encounter packaging these ancient versions of rustc. To quote kibwen from [1]: "We can determine exactly how many builds you'd need by looking at the master snapshot file: https://github.com/rust-lang/rust/blob/master/src/snapshots.... According to this, there have been 290 snapshots in total. And keep in mind that you would also need to rebuild LLVM quite a few times as well during this process, as Rust has continually upgraded its custom LLVM fork over the years." Not sure if all this is worth the effort... - Jelle [1]: https://news.ycombinator.com/item?id=3D8732669 2016-07-29 17:34 GMT+02:00 Alex Griffin : > On Fri, Jul 29, 2016, at 10:16 AM, Ludovic Court=C3=A8s wrote: > > Do you know what=E2=80=99s Rust=E2=80=99s bootstrapping story is? Can = we reasonably > > expect to bootstrap it from source, using a series of previous Rust > > versions, or using an alternative implementation? > > Yes, Rust 1.10 builds with the previous stable release (1.9) for the > first time. So we will only need one binary to bootstrap Rust. Although > this will quickly require a long chain of builds because Rust releases > every 6 weeks and 1.11 is only guaranteed to build with 1.10, etc. > > So after only two years we may need to compile like 17 different > releases to get the current version. > -- > Alex Griffin > > --089e01176d45d8682c0538c875bd Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
I looked into this once= ;
I found a Rust compiler written in OCaml on the web.
Th= ere should be a path from that compiler to the current version of Rust.
=
The problem lies in the fact that the entire "1.9 build 1.10 bui= lds 1.11" spiel only become the official policy of the Rust project re= cently.

disclaimer: the following is how I interpreted my= communications with
the rust community. My apologies to anyo= ne involved for any inaccuracies and/or misrepresentations.
<= br>
This means that you could be looking at individual commits, as bef= ore this, I believe nightlies (snapshots) were used to compile the Rust com= piler.

So, to ad to Alex' point, we would also need to ex= pend (one-time) effort to
find this 'bootstrap-path' from = the OCaml-based compiler to a more recent rustc.

In my admittedly little amounts of experience, the people working on rus= t
were not really seeing the problem with the current state = of affairs, so good luck getting support with some arcane issues one might = encounter packaging these ancient versions of rustc.

To q= uote kibwen from [1]:
"We can determine e= xactly how many builds you'd need by looking at the master snapshot fil= e: https://github.com/rust-lang/rust/blob/master/src/snap= shots....

According to this, there have been 290 snapshots in total. And keep in mind that=20 you would also need to rebuild LLVM quite a few times as well during=20 this process, as Rust has continually upgraded its custom LLVM fork over the years."

Not sure if all this is worth the effort...

=

- Jelle


[1]: https://news.ycombinator.com/item?id=3D8732669

=

=

2016-07-29 17:34 GMT+02:00 Alex Griffin <= a@ajgrf.com>= :
On Fri, Jul 29, 2016, = at 10:16 AM, Ludovic Court=C3=A8s wrote:
> Do you know what=E2=80=99s Rust=E2=80=99s bootstrapping story is?=C2= =A0 Can we reasonably
> expect to bootstrap it from source, using a series of previous Rust > versions, or using an alternative implementation?

Yes, Rust 1.10 builds with the previous stable release (1.9) for the=
first time. So we will only need one binary to bootstrap Rust. Although
this will quickly require a long chain of builds because Rust releases
every 6 weeks and 1.11 is only guaranteed to build with 1.10, etc.

So after only two years we may need to compile like 17 different
releases to get the current version.
--
Alex Griffin


--089e01176d45d8682c0538c875bd--