<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">In the current pull request, there is no dependency.<div class=""><div class=""><br class=""></div><div class="">The bootstrap compilers are distfiles.</div><div class="">On newer systems, the bootstrap compiler comes from upstream.</div><div class="">On older systems, it comes from wherever we choose to put it (currently the less-than-ideal <a href="https://github.com/MarcusCalhoun-Lopez/rust/releases" class="">https://github.com/MarcusCalhoun-Lopez/rust/releases</a>).</div><div class=""><br class=""></div><div class="">-Marcus<br class=""><div class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Apr 16, 2022, at 11:19 AM, Jonathan Alland <<a href="mailto:wowfunhappy@gmail.com" class="">wowfunhappy@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="content-type" content="text/html; charset=utf-8" class=""><div dir="auto" class="">If a port has a dependency which cannot be compiled from source, shouldn’t -s fail? <div class=""><div dir="ltr" class=""><br class="">On Apr 16, 2022, at 2:08 PM, <a href="mailto:mcalhoun@macports.org" class="">mcalhoun@macports.org</a> wrote:<br class=""><br class=""></div><blockquote type="cite" class=""><div dir="ltr" class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class="">I am glad to know about this ticket, but I do not think it would solve the problem in all cases.<div class="">If `${prefix}` were other than the default or `port` were invoked with the `-s` switch, then the buildbot would be bypassed entirely, and the rust Portfile would still have to download the Rust bootstrap compiler from somewhere.</div><div class=""><br class=""></div><div class="">-Marcus</div><div class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Apr 16, 2022, at 8:46 AM, Jonathan Alland <<a href="mailto:wowfunhappy@gmail.com" class="">wowfunhappy@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="content-type" content="text/html; charset=utf-8" class=""><div dir="auto" class="">I think we’re basically discussing <a href="https://trac.macports.org/ticket/60878" class="">https://trac.macports.org/ticket/60878</a>, right? <br class=""><div dir="ltr" class=""><br class="">On Apr 16, 2022, at 11:38 AM, <a href="mailto:mcalhoun@macports.org" class="">mcalhoun@macports.org</a> wrote:<br class=""><br class=""></div><blockquote type="cite" class=""><div dir="ltr" class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class="">Unmodified, the upstream Rust compiler runs on 10.9 and newer.<div class="">The current rust Portfile uses clever tricks to allow the the upstream Rust compiler to run back to 10.7.</div><div class="">However, there is no known way to force the upstream Rust compiler to start using emulated thread-local-storage, so it cannot run on 10.5 and 10.6.</div><div class=""><br class=""></div><div class="">Instead, the pull request builds a *new* bootstrap compiler that uses emulated thread-local-storage.</div><div class="">The MacPorts bootstrap compiler can only be built on 10.9+ but is meant to be used by other systems.</div><div class="">Therefore, the problem becomes where do the older systems download the new bootstrap compiler?</div><div class=""><br class=""></div><div class="">-Marcus</div><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Apr 16, 2022, at 8:21 AM, Chris Jones <<a href="mailto:jonesc@hep.phy.cam.ac.uk" class="">jonesc@hep.phy.cam.ac.uk</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="content-type" content="text/html; charset=utf-8" class=""><div dir="auto" class=""><div dir="ltr" class=""></div><div dir="ltr" class="">Maybe i am missing some detail here, but why cannot this bootstrap compiler just be a port like everything else, and thus the binary hosting is just the same as any other binary tarball macports distributes ?</div><div dir="ltr" class=""><br class=""><blockquote type="cite" class="">On 15 Apr 2022, at 11:16 pm, Herby G <<a href="mailto:herby.gillot@gmail.com" class="">herby.gillot@gmail.com</a>> wrote:<br class=""><br class=""></blockquote></div><blockquote type="cite" class=""><div dir="ltr" class=""><div dir="ltr" class="">Since this would be adding a component that affects the build of a very core build component to many MacPorts packages, perhaps a bit more care should be taken with where it will be stored.<div class=""><br class=""></div><div class="">Maybe it makes sense for this new bootstrap compiler to live in a repository owned by the MacPorts Github org?</div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Apr 14, 2022 at 6:22 PM Joshua Root <<a href="mailto:jmr@macports.org" class="">jmr@macports.org</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 2022-4-15 02:16 , <a href="mailto:mcalhoun@macports.org" target="_blank" class="">mcalhoun@macports.org</a> wrote:<br class="">
> As many of you know, the standard Rust compiler is self-hosting.<br class="">
> The upstream bootstrap compiler only works (unmodified) on 64-bit 10.9+.<br class="">
> <br class="">
> There is an attempt to build a bootstrap compiler that runs on older<br class="">
> systems [1].<br class="">
> One stumbling block is where to build and store the bootstrap compilers.<br class="">
> I am afraid I know little about this.<br class="">
> Github packages, JFrog, other?<br class="">
> Does anyone have any suggestions?<br class="">
> <br class="">
> Thanks,<br class="">
> Marcus<br class="">
> <br class="">
> 1) <a href="https://github.com/macports/macports-ports/pull/14277" rel="noreferrer" target="_blank" class="">https://github.com/macports/macports-ports/pull/14277</a><br class="">
<br class="">
It's not really different to hosting any other distfiles; pretty much <br class="">
anywhere you can make them available is fine. If you have a GitHub repo <br class="">
where you keep the work that has gone into this, that's an easy place to <br class="">
keep the files - just create a tag and make a release using that tag, <br class="">
and you can attach whatever files you like to it.<br class="">
<br class="">
- Josh<br class="">
</blockquote></div>
</div></blockquote></div></div></blockquote></div><br class=""></div></blockquote></div></div></blockquote></div><br class=""></div></div></blockquote></div></div></div></blockquote></div><br class=""></div></div></div></body></html>