The State of Rust in MacPorts Today

David Gilman davidgilman1 at gmail.com
Tue Dec 13 15:22:30 UTC 2022


The thing blocking me, and probably anyone else in the project, from
bumping the version, and also from testing/updating other ports, is
that I don't have access to build machines with older MacOS X
releases. It is probably better to frame this discussion in that way:
how can we get a build environment available to anyone who wants to
build against old MacOS X?

I don't know what MCL had on-hand to build all those binaries, I
thought about reaching out to him off-list to ask but never did. Even
if he's too busy to do MacPorts rust releases maybe his setup could be
helpful to the rest of us?

Ultimately the GitHub project that hosts the bootstrap binaries is
just a string in the Tcl and could be pointed at an "official"
MacPorts repo or my repo or a separate project or whatever we have to
do.

On Tue, Dec 13, 2022 at 9:57 AM Herby G <herby.gillot at gmail.com> wrote:
>
> Hello all,
>
> Right now, Rust in MacPorts is severely out of date. It's about 5 versions behind the current release, which at the moment is at 1.65.0. In comparison, MacPorts Rust is currently at 1.61.0.
>
> As a core language underlying a lot of other ports, many of these ports cannot be updated to their latest versions because these versions require current versions of Rust. At the time of this writing, 156 ports are being built using Rust ( https://ports.macports.org/port/rust/details/ ), some quite heavily used by the community, including projects like `git-delta`, `bat` and `fd`.
>
> MarcusCalhoun-Lopez's PR here ( https://github.com/macports/macports-ports/pull/14277 ) heavily rewrote the Rust port to run on older systems, and was very much celebrated and endorsed. However, as a result of this PR, the Rust port became a lot more complicated, and also introduced a new critical bootstrap compiler (referenced in the Rust portgroup here: https://github.com/macports/macports-ports/blob/2d39b30a32fcf0f5e1cff04f172e9d55ae08ba48/_resources/port1.0/group/rust-1.0.tcl#L140), which is being hosted in MarcusCalhoun-Lopez's personal Github account ( https://github.com/MarcusCalhoun-Lopez/rust/releases ).  Marcus did try to ask about a more official location to host the bootstrap compiler in a macports-dev thread: https://lists.macports.org/pipermail/macports-dev/2022-April/044243.html , but ultimately per the  responses he decided to just host it in his personal account himself.
>
> Since this massive change to the Rust port at 1.60.0, it's only seen one update since then to 1.61.0 ( https://github.com/macports/macports-ports/commit/8431ccb48eec4824736eca51f643523356091cd6 )
>
> David Gilman opened a PR recently attempting to update Rust to 1.64.0 ( https://github.com/macports/macports-ports/pull/16329 ), but Gilman doesn't have access to update the bootstrap compiler, because as of right now, only MarcusCalhoun-Lopez knows how to build it, and also it's hosted in Calhoun's Github account as mentioned prior.
>
> We need to figure out a more sustainable approach for this bootstrap compiler, including how it can be built, and hosting it somewhere where a small set of MacPorts maintainers can build and update it so that we can get MacPorts Rust back on track.  As things are today, only MarcusCalhoun-Lopez has all the pieces required to update this port, and there's been no word from him for months now as the Rust port has fallen further and further behind. Being such a critical core language port, it may make sense to create a repo within the MacPorts Github organization where a set of maintainers can host and update the Rust bootstrap compiler.



-- 
David Gilman
:DG<


More information about the macports-dev mailing list