Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

I always used MacPorts to install and maintain my GCC compilers (4.4, 4.5, 4.6, 4.7, ...) and gnuplot. Now I've heard about Fink and Homebrew. I think these two utilities are gaining ground in the Mac community, but I don't understand the difference between them.

What is the main difference between MacPorts, Fink, and Homebrew? Is there any difference in quality or performance?

share|improve this question
2  
There is also Rudix. –  lhf Sep 21 '12 at 11:20
    
Does this older question address your needs? –  bmike Apr 16 '13 at 19:50
add comment

2 Answers

up vote 20 down vote accepted

Fink has been around since at least 2001. Fink and MacPorts are package managers that want to be "orthogonal" to the system, that is, they install their own version of python, perl, libraries, compilers, etc. in own trees (/sw for Fink, /opt/local for MacPorts). The reason for this is that they have no control what Apple does with its software, and it occasionally broke things when Apple updated their own stuff.

From what I understand, Homebrew wants to be more "integrated" with the system, uses the libraries that Apple provides, and installs its stuff in /usr/local/bin and other standard folders. I guess that means that the software choice is more limited with Homebrew, I can't imagine that one could install KDE with it, but I've not tried that.

One point for Fink vs. MacPorts: a few years back, the Fink project provided binary packages; that is you could download and install the packages without compiling them yourself. Its package manager still has that ability, only there have been no binaries available for a long time. I do not know if that has changed in the meantime.

So in short: without the binary stuff, Fink and MacPorts are very similar. They should have more packages available than Homebrew, while Homebrew should take less disk space for the reasons I stated above. Concerning the quality: I've never installed Homebrew, and between Fink and MacPorts I usually prefer the one that I'm not currently using.

So if you are satisfied with MacPorts, just stay with it.

P.S. The reason I never tried Homebrew is that I use some precompiled packages. These usually also install themselves into /usr/local/bin and the like, which just cries for trouble.

share|improve this answer
    
I thought you must be wrong about KDE, but sure enough it's true. It once had packages for it, but apparently there's something about the way KDE is built that's incompatible with Homebrew's hierarchy. Hopefully that will be fixed some day. –  echristopherson Sep 21 '12 at 3:51
1  
@echristopherson So it had KDE once? A surprise for me. But KDE seems to be quite fragile, I once installed it with Fink, and at the next update, the whole installation got messed up; so you would expect that it is even more fragile with Homebrew. But if they get it right someday, I take back everything I said. –  Percival Ulysses Sep 21 '12 at 11:01
3  
Homebrew installing in /usr/local is the same reason I don't use it either. Sticking to traditional unix philosophy, only I should put stuff in /usr/local.. A package manager should manage some other prefix. –  Jason Oct 8 '12 at 22:45
    
Personally I use MacPorts, but last I checked (which as a while ago) Fink had a much larger collection of packages available. –  HairOfTheDog Oct 12 '12 at 20:54
1  
@Jason Is this also true for a single user machine? I just installed Homebrew, and just hope I won't regret it. I am not however very clear how apple handles root and users with admin privileges. I am the only user on my system. –  haziz Nov 11 '12 at 6:37
show 2 more comments

But as a side note, nothing Apple OS X related would install itself into /usr/local/bin. They use /usr/lib , /usr/bin behind the scenes and frameworks gets packaged up into /Library/Frameworks while stuff you install yourself via the regular Unix ./configure, make, make install will use /usr/local/bin etc, and utilities like MacPorts will use /opt/ and possibly package frameworks to your personal ~/Library/Frameworks/.

My recommendation is to stay with MacPorts if that's what you're used to. Basically the main difference is that MacPorts uses a system that closer resembles the true Unix/BSD ports tree implementation with ports from FreeBSD, while Fink uses applications ported from the Linux Debian archives, and uses the same package manager system as Linux Debian.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.