all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Rust bootstrapping TODO
@ 2020-01-21 18:48 Danny Milosavljevic
  2020-01-25 17:30 ` Ludovic Courtès
  0 siblings, 1 reply; 2+ messages in thread
From: Danny Milosavljevic @ 2020-01-21 18:48 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1492 bytes --]

Hi,

here a list of things we could still do in order to improve the Rust
bootstrapping process.

(1) For all Mozilla Rusts except the latest one, pass
"--disable-docs --disable-compilerdocs" in order to disable building (and
especially TESTING) the docs.  Testing the docs takes a very long time
and no one will ever read the docs of the compilers used for bootstrapping.

For that, we have to find out where these options can be passed.
We use a "./x.py" bootstrapping method so I don't think that the GNU-style
"./configure" ever gets called (or does it?).

(2) Bootstrap rust 1.29.0 directly via mrustc 0.9.
See https://github.com/thepowersgang/mrustc/issues/140 for why that is
currently not working.

(3) Parallelize things again.  In the past I've disabled parts of the
parallel build because of bugs and/or memory constraints, but after (2) we
could check whether they are working now.

(4) Factor out the mrustc bootstrapper into a mrustc-bootstrapped-package
procedure which changes a package in order to use mrustc, including the
phases.  That way, we can easily choose which of the Mozilla Rusts we want
to bootstrap.
Currently, we also have to change the package definition of unrelated packages
(to remove the bootstrapping phases there and replace them by regular phases)
which is not so nice.  That would mean that there are multiple different
mrustc packages at runtime, like mrustc-1.19.0@0.9 and mrustc-1.29.0@0.9--not
sure about the naming.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Rust bootstrapping TODO
  2020-01-21 18:48 Rust bootstrapping TODO Danny Milosavljevic
@ 2020-01-25 17:30 ` Ludovic Courtès
  0 siblings, 0 replies; 2+ messages in thread
From: Ludovic Courtès @ 2020-01-25 17:30 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: guix-devel

Hi,

Danny Milosavljevic <dannym@scratchpost.org> skribis:

> (1) For all Mozilla Rusts except the latest one, pass
> "--disable-docs --disable-compilerdocs" in order to disable building (and
> especially TESTING) the docs.  Testing the docs takes a very long time
> and no one will ever read the docs of the compilers used for bootstrapping.

I guess this kind of change could go in a topic branch that we’d merge
once IceCat is built.

> (2) Bootstrap rust 1.29.0 directly via mrustc 0.9.
> See https://github.com/thepowersgang/mrustc/issues/140 for why that is
> currently not working.

That’d be nice!

BTW, there’s a bounty program currently to get a Rust front-end in GCC,
which would be sweet.

> (3) Parallelize things again.  In the past I've disabled parts of the
> parallel build because of bugs and/or memory constraints, but after (2) we
> could check whether they are working now.

OK.

> (4) Factor out the mrustc bootstrapper into a mrustc-bootstrapped-package
> procedure which changes a package in order to use mrustc, including the
> phases.  That way, we can easily choose which of the Mozilla Rusts we want
> to bootstrap.

Interesting.

BTW, the other day on #guix there was someone from Fedora wondering
about how we’re bootstrapping Rust and looking to adapt it.  Would be
worth joining forces!

Thanks for the update,
Ludo’.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-01-25 17:30 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-21 18:48 Rust bootstrapping TODO Danny Milosavljevic
2020-01-25 17:30 ` Ludovic Courtès

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.