Live data from Hacker News

Sapphire: Rust based package manager for macOS

github.com

191–200 of 311 posts

Re: Sapphire: Rust based package manager for macOS

#192
post #26

Hey, so I built this thing, most of it at so far at least. And yeah, right now it isn't doing many things better than Homebrew. Setting of relative paths for bottle installs is still not perfect, well it works for every bottle I have tested except rust. Getting bottles working 100% is very doable though imo. Build from source formulae is still pretty f*ed + I do not know if it is really feasible given that the json A…

Good luck. Homebrew hasn't cut it since they started disallowing custom compile flags, and making the user jump through hoops if they want anything slightly different.

Re: Sapphire: Rust based package manager for macOS

#193

Earlier quoted context omitted.

Having different project leadership is probably a big selling point ;)

Does homebrew have bad leadership?

Some of their leadership has been heavy handed with regards to unpopular decisions, like removing options from packages.

Re: Sapphire: Rust based package manager for macOS

#194
post #139

Earlier quoted context omitted.

Just go read the original announcements of homebrew. They expend at length about how Macport was wrong for shipping its own tool chain and homebrew was somehow superior for reusing the one shipped with MacOS (guess how it turned out). The fact that most packages completely broke if installed outside of /usr/local (itself a non sensical default) was just cherry on the cake. And let’s not talk about how everything brok…

Found it because I was curious: https://github.com/Homebrew/legacy-homebrew/commit/29d85578e... Here are the comparisons to other package managers: > Packages are brewed in individual, versioned kegs. Then symlinks are created to give a normal POSIX tree. This way the filesystem is the package database. Everything else is now easy. We are made of win. vs MacPorts registry which used its own homebrewed (lol) Receipts…

> Then symlinks are created to give a normal POSIX tree. This way the filesystem is the package database. Everything else is now easy. We are made of win.

The worst part is that MacPorts already did the same thing, but used hardlinks to avoid the kinds of problems that emerge when (for example) `realpath` resolves a symlink to an unexpected versioned directory that’s supposed to be an implementation detail.

There was a lot of FUD, dishonesty, and shallow understanding from the homebrew creators in the beginning.

Re: Sapphire: Rust based package manager for macOS

#195
post #52

Earlier quoted context omitted.

Is this the guy who was complaining that he didn't get hired by Google even though he made brew? Maybe there were personality issues at play...

I checked out his X account and yep, that's the guy.

If you search for "max howell google interview" it comes up, if you search for "max howell alphabet interview", no dice.

Re: Sapphire: Rust based package manager for macOS

#196
post #139

Earlier quoted context omitted.

Found it because I was curious: https://github.com/Homebrew/legacy-homebrew/commit/29d85578e... Here are the comparisons to other package managers: > Packages are brewed in individual, versioned kegs. Then symlinks are created to give a normal POSIX tree. This way the filesystem is the package database. Everything else is now easy. We are made of win. vs MacPorts registry which used its own homebrewed (lol) Receipts…

From 2009, so before my involvement. I'll note that this also says a bunch of things that aren't true in current-day Homebrew (Casks, for example, are distributions of .app bundles), so I think it'd be accurate to say that it doesn't reflect the project's current (or even past-decade) views.

Things improved a lot as homebrew relearned the design constraints and reasons why MacPorts made the decisions they did, and wound up adopting many of the same solutions.

It was frustrating in the beginning to see so much marketing-driven shade being thrown from an ill-informed position.

Obviously that wasn’t you or the current maintainers of homebrew, and things have improved tremendously, but that’s the era from which frustration like the grandparent post originates.

Re: Sapphire: Rust based package manager for macOS

#197
post #125

Earlier quoted context omitted.

As an experienced homebrewer, I don't think knowing about making beer makes it any clearer to me. Why do I need to install Docker from a Cask? Oh, it's because on Mac, a Cask is actually a Mac package (DMG or PKG or something). It's just arbitrary beer-flavored terminology. No different than the Windows registry, which apparently uses a honeybee / hive metaphor because some Windows dev hated bees and their teammates…

That one was non-obvious to me as well, but I am sympathetic to the need to call them something . Not trying to bikeshed, but if there was a single obvious name for them then you would have used it instead of “DMG or PKG or something”.

Certainly, but I'm sure there's a more descriptive name than "cask"!

Re: Sapphire: Rust based package manager for macOS

#198

With my Homebrew hat on, but not speaking for others: I think this is pretty cool, and demonstrates something that we've discussed indirectly for years. At its core, there are really two parts to Homebrew: 1. There's the client side, i.e. `brew`, which 99.9% of users stick to happy paths (bottle installs, supported platforms) within. These users could be supported with relative ease by a small native-code installer,…

> "it's very hard to RIIR" RIIR - "Rewrite It In Rust" (maybe obvious in context? sharing in case not)

IWNO, thanks.

Re: Sapphire: Rust based package manager for macOS

#199

Earlier quoted context omitted.

Homebrew is dog-slow. If this becomes yet another Rust tool that is 10x faster than the one that it replaces: great.

I use homebrew constantly but the only part I find slow is the custom installations of the software and the lack of downloading while installing? Neither of these is related to the implementation language. What part of the home brew experience do you find slow? eg... % time brew upgrade brew upgrade 0.75s user 0.16s system 68% cpu 1.337 total % time brew list brew list 0.01s user 0.02s system 57% cpu 0.054 total

The slowness comes from its serialized downloads and package installations. If you install a thing that has 10 dependencies, those 10 dependencies will serially install, likely taking many seconds.

Re: Sapphire: Rust based package manager for macOS

#200
post #71

Earlier quoted context omitted.

This has nothing to do with Homebrew. It's a different project.

Yeah, but the relationship makes my spidey senses tingle even if it's not accurate.

Is there something horrible I'm missing here? It's just a not so well designed page of links to Github repos.

Edit: Oh, the Github issue, yeah that's screwed up.

Post reply on HN