Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I don't think it's perfect, but I can tell you why I have come to prefer Homebrew:

1. It's far faster. Installations and all operations take less time.

2. It's far lighter. Sure disk space is cheap, but why waste if I can avoid it?

3. It's written in a language I know well enough to contribute. (Ruby as opposed to Tcl.) And Github is Homebrew's secret weapon here. There are literally hundreds of us with forks, providing constant updates. Packages are updated far faster than Fink or MacPorts. Momentum counts.

4. They maintain a branch dedicated to providing duplicates, where people really want them. I install Vim in just this way, and they in fact provide multiple versions of Python.

That said, it's not for everyone. I didn't object to MacPorts. The only option I really think is bad is overwriting the system's Python, as I said.



Replying again since you updated in response to my questions =)

1. It's far faster. Installations and all operations take less time.

That hasn't been my experience, but have you checked the latest release? It switched the local installation information to sqlite, which seems to make things mighty fast.

2. It's far lighter. Sure disk space is cheap, but why waste if I can avoid it?

Because the "we won't replicate dependencies" thing won't survive another full OS X release cycle. Snow Leopard was a rushed release cycle that brought a quick refresh to the OS-supplied components, but it was a once-off and it's not going to happen again soon, especially given the focus on iOS.

3. ... And Github is Homebrew's secret weapon here. There are literally hundreds of us with forks, providing constant updates. Packages are updated far faster than Fink or MacPorts. Momentum counts.

That doesn't seem to match reality. Take the current case; MacPorts:

* Has been tracking Python2.7 releases since its alpha release 5 months ago.

* Has years worths of institutional knowledge regarding patching Python to actually fully function (see the portfile here: http://trac.macports.org/browser/trunk/dports/lang/python27/...).

* Provides ports for python 2.4, 2.5, 2.6, 2.7 and 3.1 (all of which are not always backwards compatible)

Homebrew is tracking only Python2.6, didn't have any Python2.7 submissions until yesterday, and hasn't integrated the change into mainline.

When they -do- integrate the change into mainline, everybody is going to have to deal with the headaches that invariably occur across minor releases of Python[1], rather than tracking the multiple versions they require, because homebrew has a naively simple and ultimately flawed policy of "only one version".

Most of the complexity in MacPorts and Fink is a direct result of understanding the complexity of the problem space over a decade. Homebrew will become just as complex as time reveals the necessity of many of these compromises.

[1] As an example, http://twistedmatrix.com/trac/query?status=closed&group=...


[deleted]


Faster/lighter how, exactly?

Faster in the simplest sense: sudo port install x takes longer to finish than brew install x. Lighter in just as straightforward a sense: same installations, less space used (fewer dependencies I suppose).

The "it's Ruby" argument was entirely personal. I like to hack and help, if I can. Here I can.

Rudix provides binaries, but fewer packages.

The funny thing is that not that long ago, I was as skeptical as anyone. I installed Homebrew only recently when I updated two machines to Snow Leopard - mostly to prove to myself it wasn't just inertia and stubborn keeping me with MacPorts. I stayed with it because it works so well.

I didn't update my post in reply to you. I often write a quick reply and then do a bunch of expanding edits. Bad habit- sorry. I haven't tried MacPorts in a few months. Maybe it's much faster. I got very, very tired of editing the Python portfile to remove the TK dependency that dragged in an entire xorg system. But I think that deep is now optional. Again, I don't have a religious attitude towards Homebrew. I tried it, and I'm very happy with it for now.


You're recommending to Python users to use a package system written in Ruby? heck, kill me now! ;)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: