Opened 12 years ago

Closed 12 years ago

#38285 closed defect (fixed)

rust @0.5: build process downloads compiler for bootstrapping

Reported by: larryv (Lawrence Velázquez) Owned by: g5pw (Aljaž Srebrnič)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: cooljeanius (Eric Gallager)
Port: rust

Description

As per http://static.rust-lang.org/doc/0.5/tutorial.html:

Since the Rust compiler is written in Rust, it must be built by a precompiled "snapshot" version of itself (made in an earlier state of development). As such, source builds require a connection to the Internet, to fetch snapshots, and an OS that can execute the available snapshot binaries.

This doesn’t seem optimal; the build phase should not require Internet connectivity. Is there a way to work around this? Maybe by treating the snapshot compiler as a distfile?

Change History (6)

comment:1 Changed 12 years ago by g5pw (Aljaž Srebrnič)

Status: newassigned

Yeah, I think I could be able to coerce the build process into using downloaded distfiles.

comment:2 Changed 12 years ago by g5pw (Aljaž Srebrnič)

Ok, got it to work using distfiles. The thing is, we need two distfiles, one for i686 and one for x86_64. Should we download both and then use the appropriate one? Is there something similar to "platform darwin {}" but for archs?

comment:3 in reply to:  2 Changed 12 years ago by larryv (Lawrence Velázquez)

Replying to g5pw@…:

Ok, got it to work using distfiles. The thing is, we need two distfiles, one for i686 and one for x86_64. Should we download both and then use the appropriate one? Is there something similar to "platform darwin {}" but for archs?

Yeah, you can use “platform darwin i386” and “platform darwin x86_64”.

http://guide.macports.org/chunked/reference.variants.html#reference.variants.platform

It’s probably best to use distfiles-append in each platform block to add whichever bootstrap distfile is required. This way only the necessary one is downloaded.

Last edited 12 years ago by larryv (Lawrence Velázquez) (previous) (diff)

comment:4 Changed 12 years ago by g5pw (Aljaž Srebrnič)

I got this working, see here. There's still a small issue (segmentation fault) but I think it's unrelated.

comment:5 Changed 12 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:6 Changed 12 years ago by larryv (Lawrence Velázquez)

Resolution: fixed
Status: assignedclosed

Fixed in r104052.

Note: See TracTickets for help on using tickets.