Live data from Hacker News

How to Distribute Binaries for OS X Using Homebrew

octavore.com

71–80 of 84 posts

Re: How to Distribute Binaries for OS X Using Homebrew

#71
post #5

>Cross-platform app distribution is a hard problem! [...] At least on OS X, things are a little easier with Homebrew well.. yeah.. Every OS has an easy way to distribute binaries, the hard part is having something that work on each of them.

Every OS ... except Windows?

Re: How to Distribute Binaries for OS X Using Homebrew

#72
post #5

>Cross-platform app distribution is a hard problem! [...] At least on OS X, things are a little easier with Homebrew well.. yeah.. Every OS has an easy way to distribute binaries, the hard part is having something that work on each of them.

Every OS ... except Windows?

Didn't Windows 10 get PackageManagement FKA OneGet? I mean I haven't upgraded because of privacy, but at least it exists.

Re: How to Distribute Binaries for OS X Using Homebrew

#73
post #5

>Cross-platform app distribution is a hard problem! [...] At least on OS X, things are a little easier with Homebrew well.. yeah.. Every OS has an easy way to distribute binaries, the hard part is having something that work on each of them.

Every OS ... except Windows?

Well, there's Chocolatey but that comes with its own set of quirks.

Re: How to Distribute Binaries for OS X Using Homebrew

#74

Earlier quoted context omitted.

This only makes sense if you believe all Homebrew packages are written in JavaScript... which they aren't. Also I've been using Homebrew for about 4x as long as NPM and I have about 1/10th of the issues, so I'll just stick to the package manager that works.

You can use npm to distribute binaries.

That doesn't mean it's a good idea to.

NPM does a great job of distribiting development dependencies and Node.js applications.

It's not really intended for non-js binary builds and platform-specific dependencies.

You can always use NPM to install directly from specific repo release but you'll still have to have to include a native compile-to-platform step somewhere.

Re: How to Distribute Binaries for OS X Using Homebrew

#75

I've been forcefully switched to OS X recently because work, and overall it's been pretty great (I view it as a well-integrated UI over FreeBSD). A couple of things drive me nuts though: * (the window manager sucks, but that's not the topic. I had to get it out) * it needs a good package manager For us ol' bearded folk (at least spiritually), OS X comes with a slew of unix tools we love. It already includes both vim…

I used macports through two or three upgrades before switching to home-brew last year. Switching was one of the best decisions I ever made. In terms of MacOS package managers -- in the grand scheme of things it's not really a big deal. First world problems, right? MacPorts is very, umm, opinionated. And doesn't seem to trust anything outside of itself. And has some weird opinions, too. Example: For some reason, svn i…

For the window manager, Hyperdock supports snap to half (top/bottom or left/right) and quarter screen. Mission control can be used for virtual desktops.

I use ctrl-left and ctrl-right to switch virtual desktops. Can't remember if that's the default or if I used custom keybinding. There are a bunch of other window management keybindings that can be found in the OSX System Preferences.

Re: How to Distribute Binaries for OS X Using Homebrew

#76

> At least on OS X, things are a little easier with Homebrew. Absolutely. I adore Homebrew and it's ecosystem. Cask, in particular, is quite satisfying; gotta love installing a swath of neccessary fonts from the terminal. And, fwiw, the project is about to be on Homebrew, with no tap required: https://github.com/Homebrew/homebrew/pull/49040 Though getting it up was not quite as pain-free than our initial publishes to…

> Cask

In my experience, cask is too fragile for its original use of installing binaries. Issues include

* applications expecting to be installed to /Applications

* applications with weird installation requirements/dependencies

* self-updater conflicting with cask's installation settings

* problems with detecting an installation (and uninstalling it) because the updated version's recipe installs differently or something.

For these reasons I now prefer to install applications by their official/expected/supported installation method.

On the other hand, I find brew very useful.

Re: How to Distribute Binaries for OS X Using Homebrew

#77

I've been forcefully switched to OS X recently because work, and overall it's been pretty great (I view it as a well-integrated UI over FreeBSD). A couple of things drive me nuts though: * (the window manager sucks, but that's not the topic. I had to get it out) * it needs a good package manager For us ol' bearded folk (at least spiritually), OS X comes with a slew of unix tools we love. It already includes both vim…

I used macports through two or three upgrades before switching to home-brew last year. Switching was one of the best decisions I ever made. In terms of MacOS package managers -- in the grand scheme of things it's not really a big deal. First world problems, right? MacPorts is very, umm, opinionated. And doesn't seem to trust anything outside of itself. And has some weird opinions, too. Example: For some reason, svn i…

This kind of stuff is why I abandoned MacPorts. In many cases, I can get by with the system software and I don't need MacPorts to install a duplicate of something. I found that it was taking up a lot of space on my drive. Given that my main drives are relatively small SSDs, I appreciate that Homebrew doesn't require that I switch to a different version of a system tool in many cases.

The worst offender for MacPorts was TeX. I had an official install the latest version from TeX Live and MacPorts wanted to install a second version of TeX. I think they fixed it so you can use a TeX Live version, but it was definitely an issue.

Re: How to Distribute Binaries for OS X Using Homebrew

#78
post #61
post #53

Earlier quoted context omitted.

It's a good idea to install elsewhere, because there are other packages that install into /usr/local (TeX, for example) that aren't in homebrew. I like having my homebrew installation totally separate -- I feel significantly more comfortable upgrading my software to bleeding edge versions if there's no chance of some non-homebrew brain-dead configure script grabbing them. I install to ~/.homebrew, and everything work…

The reason that Homebrew defaults to /usr/local is because there are a lot of braindead packages out there that hardcode the possible locations for software (e.g. /usr/lib and /usr/local/lib), and if you install Homebrew somewhere else, you can't use Homebrew to satisfy the dependencies of any such braindead software you come across. However, if everything you're installing that depends on Homebrew-provided software…

That's a really weak justification. For most of those "braindead" packages, it is actually fairly easy to get them to install into arbitrary locations. After all, both Fink and MacPort have been doing that with great success for over a decade.

Sadly, you are correct about "not every single Homebrew formula has actually been tested with a non-/usr/local install path". In fact, while there are many Homebrew formulas of great quality, my impression is that there are also m many of rather poor quality, with other problems in them. E.g. just yesterday, I discovered that the Homebreak lmdb formula does not build properly versioned shared libraries -- because upstream didn't, and the packager either didn't notice or didn't care to fix it

I rarely (if ever) this kind of issue with MacPort and Fink, which try hard to avoid such problems (at the cost of a higher entry barrier for packagers -- for better or worse). Mind you, I am not everything is golden with them, either.

Disclaimer: I've been involved with the Fink project since OS X 10.1 or so.

Re: How to Distribute Binaries for OS X Using Homebrew

#79

I've been forcefully switched to OS X recently because work, and overall it's been pretty great (I view it as a well-integrated UI over FreeBSD). A couple of things drive me nuts though: * (the window manager sucks, but that's not the topic. I had to get it out) * it needs a good package manager For us ol' bearded folk (at least spiritually), OS X comes with a slew of unix tools we love. It already includes both vim…

> * (the window manager sucks, but that's not the topic. I had to get it out)

Agree. I really like Spectacle (https://www.spectacleapp.com/) for window management on OS X. As a bonus, it's open source. (https://github.com/eczarny/spectacle)

Re: How to Distribute Binaries for OS X Using Homebrew

#80
post #5

>Cross-platform app distribution is a hard problem! [...] At least on OS X, things are a little easier with Homebrew well.. yeah.. Every OS has an easy way to distribute binaries, the hard part is having something that work on each of them.

Every OS ... except Windows?

Windows Store?
Post reply on HN