<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div dir="ltr"></div><div dir="ltr"><br></div><div dir="ltr"><br><blockquote type="cite">On 22 Dec 2022, at 6:30 pm, mcalhoun@macports.org wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><meta http-equiv="content-type" content="text/html; charset=utf-8">rust-bootstrap can not build on older systems because the upstream binaries won’t run.<div><br></div><div>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.</div></div></blockquote><div><br></div>I don’t see the issue as in practise you would just update rust-bootstrap, wait for the binaries to be ready and then update rust.<div><br></div><div>The advantage of using the regular macports infrastructure to build and distribute the bootstrap binaries seems to me to well outweigh this small disadvantage.</div><div><br><blockquote type="cite"><div dir="ltr"><div><br></div><div>-Marcus<br><div><div><br><blockquote type="cite"><div>On Dec 22, 2022, at 9:28 AM, Chris Jones <jonesc@hep.phy.cam.ac.uk> wrote:</div><br class="Apple-interchange-newline"><div><meta http-equiv="content-type" content="text/html; charset=utf-8"><div dir="auto"><div dir="ltr"></div><div dir="ltr"><br></div><div dir="ltr"><br><blockquote type="cite">On 22 Dec 2022, at 1:28 pm, mcalhoun@macports.org wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><meta http-equiv="content-type" content="text/html; charset=utf-8"><div>Please forgive me if I am misunderstanding your question.</div><div>As Ken pointed out, the rust-bootstrap binaries are generated just fine.</div><div>I suppose it might be possible to include <a href="https://packages.macports.org/">https://packages.macports.org/</a> in the `master_sites` of the Rust port.</div><div>I am afraid I would have to thing about that a little.</div></div></blockquote><div><br></div>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 ?<div><br></div><div>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.</div><div><br></div><div>Cheers Chris</div><div><br><div><blockquote type="cite"><div dir="ltr"><div><br></div><div>-Marcus</div><div><div><div><br></div><div><blockquote type="cite"><div>On Dec 22, 2022, at 2:30 AM, Chris Jones <jonesc@hep.phy.cam.ac.uk> wrote:</div><br class="Apple-interchange-newline"><div><meta charset="UTF-8"><div dir="ltr" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><br class="Apple-interchange-newline"><br><blockquote type="cite">On 22 Dec 2022, at 4:02 am, mcalhoun@macports.org wrote:<br><br></blockquote></div><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;"><div dir="ltr"><div>As many of you know, the<span class="Apple-converted-space"> </span><span style="orphans: 2; white-space: pre-wrap; widows: 2;">Rust compiler is self-hosting, so Rust is required to build Rust.</span></div><div>The problem is that the Rust binaries provided by upstream only work on macOS 10.9 and above.</div><div><br></div><div>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.</div><div>Currently, these binaries are stored on using my personal GitHub account.</div><div><br></div><div>So the entire upgrade process is essentially:</div><div>1) Update the version in rust-bootstrap.</div><div>2) Build Rust binaries on a 10.9 VM.</div><div>3) Upload Rust binaries to GitHub account.</div><div>4) On older machines, use MacPorts Rust binaries to build Rust.</div><div> On newer machines, us the upstream provides binaries to build Rust.</div><div><br></div><div>This is far from ideal, but it has allowed us to get Rust working back to 10.5 (both i386 and x86_64).</div><div><br></div><div>This entire procedure may be modified, and there are a few suggestions on the mailing list</div><div>(<a href="https://lists.macports.org/pipermail/macports-dev/2022-December/thread.html#44855">https://lists.macports.org/pipermail/macports-dev/2022-December/thread.html#44855</a>).</div><div><br></div><div>However, until consensus is reached about major changes, it would be nice to make some incremental improvements.</div><div><br></div><div>The easiest change: does anyone know of a better place to store the MacPorts generated binaries?</div><div><br></div><div>More challenging: can anyone think of a way to automate the process of building the MacPorts Rust binaries after rust-bootstrap is update?</div></div></blockquote><div style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><br></div><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">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 ?</span><div style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><br></div><div style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;">Chris</div><div style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><br><blockquote type="cite"><div dir="ltr"><div><br></div><div>-Marcus</div></div></blockquote></div></div></blockquote></div><br></div></div></div></blockquote></div></div></div></div></blockquote></div><br></div></div></div></blockquote></div></body></html>