It is _possible_ to write reliable, secure code in C or even assembler. But for large complex software, it's darn unlikely; there's too many ways to mess up, even for capable and meticulous programmers, and most, even if bright and useful, aren't _that_ good.
Rust is supposed to eliminate a number of common types of problems, while still producing efficient code. So of course more projects will adopt it, and rewrite at least critical parts to use it (or something similar). MacPorts is mainly a collection of software from elsewhere, and the mechanisms to automate installation and updates. That does not provide any control over such decisions of individual projects; MacPorts can perhaps feed bug fixes back to projects, but they don't have to accept them, and would not be likely to listen to complaints about depending on rust because of how slow it is to update Give the developers of rust itself a piece of your mind if you like, over how slow it is to compile. Good luck with that - I suspect to be THAT slow (although really? compiling a C compiler suite plus library isn't exactly fast either) they might be doing some things by brute force that they haven't got any other good way to do - like running a serious test suite, as just one example. And of course they're the ones that suffer most over how slow it is to compile, since they have to rebuild rust every time they want to test some seemingly minor change. So I suspect they're already doing what can to speed it up that they don't think sacrifices any other concern. A better question might be why aren't you getting/using one of the pre-built binary packages? On https://packages.macports.org/rust/ <https://packages.macports.org/rust/> I see for the latest rust version: rust-1.56.1_3.darwin_13.x86_64.tbz2 2021-11-24 11:01 101M rust-1.56.1_3.darwin_14.x86_64.tbz2 2021-11-24 15:46 101M rust-1.56.1_3.darwin_15.x86_64.tbz2 2021-11-24 17:20 101M rust-1.56.1_3.darwin_16.x86_64.tbz2 2021-11-24 14:04 101M rust-1.56.1_3.darwin_17.x86_64.tbz2 2021-11-24 14:01 101M rust-1.56.1_3.darwin_18.x86_64.tbz2 2021-11-24 15:54 101M rust-1.56.1_3.darwin_19.x86_64.tbz2 2021-11-24 15:52 101M rust-1.56.1_3.darwin_20.arm64.tbz2 2021-11-25 15:06 94M rust-1.56.1_3.darwin_20.x86_64.tbz2 2021-11-24 10:38 100M rust-1.56.1_3.darwin_21.arm64.tbz2 2021-11-24 08:15 94M rust-1.56.1_3.darwin_21.x86_64.tbz2 2021-11-29 05:47 100M Look at the dates: they don't get pre-built instantly, so if you're updating early, you won't benefit from the pre-built version. There also appears to be a single defined variant (+debug) - the pre-built packages will only be used if that variant is NOT requested. See below for equivalent macOS versions. Darwin version macOS version 1 10.0 Cheetah 5 10.1 Puma (later minor versions, at any rate) 6 10.2 Jaguar 7 10.3 Panther 8 10.4 Tiger 9 10.5 Leopard 10 10.6 Snow Leopard 11 10.7 Lion 12 10.8 Mountain Lion 13 10.9 Mavericks 14 10.10 Yosemite 15 10.11 El Capitan 16 10.12 Sierra 17 10.13 High Sierra 18 10.14 Mojave 19 10.15 Catalina 20 11 Big Sur 21 12 Monterey > On Nov 28, 2021, at 23:37, Kastus Shchuka <[email protected]> wrote: > > Dear macports users, > > Recently, more and more ports began to depend on rust and cargo. > > Maybe rust is a wonderful language that will solve all problems of the world. > I just wonder, if it is so good, why it takes forever and a day (literally) > to compile? I've never seen anything taking that long to build. > > I've been using graphviz port for over 10 years, I guess. I had to delete it > today. > > graphviz depends on gd2. gd2 depends on libheif. libheif depends on rav1e. > Now rav1e started depending on cargo-c, nasm, clang-13, cargo. > An attempt to upgrade rav1e launched a build of cargo-c which I had to kill > as I did not have luxary to wait for tens of hours for it to finish. > > I either have to keep outdated ports or stop using them and delete. > Unfortunately, the usable surface of macports started shrinking for me (or > should I call it "rusting"?). > > Another example is py-cryptography, which now requires rust to build. Until > binary package was made available, it took me over a day to upgrade > py-cryptography. > > I also now have a broken ImageMagic because its dependency chain pulls in > rust. And the list goes on and on. > > I doubt people who rushed rust into macports are going to reconsider their > decisions. I am just sharing my experience with this "rusting" > > Thank you for reading. > > -Kastus > -- eMail: mailto:[email protected]
