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: | new → assigned |
---|
comment:2 follow-up: 3 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 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.
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:6 Changed 12 years ago by larryv (Lawrence Velázquez)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixed in r104052.
Yeah, I think I could be able to coerce the build process into using downloaded distfiles.