Location to store Rust binaries

mcalhoun at macports.org mcalhoun at macports.org
Thu Dec 22 18:29:54 UTC 2022


rust-bootstrap can not build on older systems because the upstream binaries won’t run.

One downside to using the buildbots for distfiles is that there would be a time period when the 10.5-10.8 buildbots wold fail to build Rust because the 10.9 buildbot hadn’t finished building rust-bootstrap.

-Marcus

> On Dec 22, 2022, at 9:28 AM, Chris Jones <jonesc at hep.phy.cam.ac.uk> wrote:
> 
> 
> 
>> On 22 Dec 2022, at 1:28 pm, mcalhoun at macports.org wrote:
>> 
>> 
>> Please forgive me if I am misunderstanding your question.
>> As Ken pointed out, the rust-bootstrap binaries are generated just fine.
>> I suppose it might be possible to include https://packages.macports.org/ in the `master_sites` of the Rust port.
>> I am afraid I would have to thing about that a little.
> 
> My question is simply I am not getting what the reason is why you cannot make rust depend on rust-bootstrap when it needs to, on older systems, as a standard port dependency. Does *all* older systems have to use the binaries built on 10.9, or can rust-bootstrap be built fine as a port in 10.8, 10.7 etc. as well ?
> 
> Even if the answer to that last question is yes, only the 10.9 binaries can be used, I still feel like something custom could be done to allow the use of the standard binary tarball port distribution, so yes packages.macports.org, to distribute the 10.9 binaries of rust-bootstrap to all builds that need it. Basically, I see no need to use any other binary distribution infrastructure than the one we are already using for the regular binary tarballs.
> 
> Cheers Chris
> 
>> 
>> -Marcus
>> 
>>> On Dec 22, 2022, at 2:30 AM, Chris Jones <jonesc at hep.phy.cam.ac.uk> wrote:
>>> 
>>> 
>>> 
>>>> On 22 Dec 2022, at 4:02 am, mcalhoun at macports.org wrote:
>>>> 
>>>> 
>>>> As many of you know, the Rust compiler is self-hosting, so Rust is required to build Rust.
>>>> The problem is that the Rust binaries provided by upstream only work on macOS 10.9 and above.
>>>> 
>>>> To get around this, there is a rust-bootstrap port that build Rust binaries on 10.9+ intended to build Rust on previous macOS version.
>>>> Currently, these binaries are stored on using my personal GitHub account.
>>>> 
>>>> So the entire upgrade process is essentially:
>>>> 1) Update the version in rust-bootstrap.
>>>> 2) Build Rust binaries on a 10.9 VM.
>>>> 3) Upload Rust binaries to GitHub account.
>>>> 4) On older machines, use MacPorts Rust binaries to build Rust.
>>>>     On newer machines, us the upstream provides binaries to build Rust.
>>>> 
>>>> This is far from ideal, but it has allowed us to get Rust working back to 10.5 (both i386 and x86_64).
>>>> 
>>>> This entire procedure may be modified, and there are a few suggestions on the mailing list
>>>> (https://lists.macports.org/pipermail/macports-dev/2022-December/thread.html#44855).
>>>> 
>>>> However, until consensus is reached about major changes, it would be nice to make some incremental improvements.
>>>> 
>>>> The easiest change: does anyone know of a better place to store the MacPorts generated binaries?
>>>> 
>>>> More challenging: can anyone think of a way to automate the process of building the MacPorts Rust binaries after rust-bootstrap is update?
>>> 
>>> I am sure I am missing something but if the bootstrap binaries are generated via a port, rust-bootstrap, why cannot the usual mechanism for distributing the port as a binary not be used ?
>>> 
>>> Chris
>>> 
>>>> 
>>>> -Marcus
>> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-dev/attachments/20221222/8c9f44b0/attachment.htm>


More information about the macports-dev mailing list