pkgsrc is a cross-platform package manager that has been around since 1997. We offer signed binary package sets built every few days from pkgsrc trunk for OS X as an alternative to Homebrew or MacPorts for users who want to install extra software with minimal effort. Feedback welcome!
Shameless plug: if you want to get up and running with pkgsrc/pkgin with Joyent’s repo, you can use the Save OS X bootstrap script: https://github.com/cmacrae/saveosx
SaveOSX is the best way to bootstrap pkgsrc on OS X, I’ve been using it for a long time!
I’ve been using Homebrew for a few years–long enough to not realize what may be its limitations. How is Pkgsrc different/better/worse?
One of the main differences is that it’s binary packages rather than all source. Whenever I finally updated homebrew my Mac was nearly useless for a few hours compiling some rather large packages and their dependencies. Updating pkgsrc takes only a few minutes to update in nearly every case.
Pkgsrc also has over 14k packages whereas homebrew only has about 3500. And pkgsrc is cross-platform. I use it on OS X, SmartOS, OmniOS, and Linux to get a consistent set of packages/versions/configuration style across all platforms. Pkgsrc directly supports 18 different platforms and I’ve seen unofficial builds on several more.
Pkgsrc packages are fairly easy to update if you want a newer version of something, and the maintainers, in my experience, are always willing to work with you to get patches/updates into trunk.
Homebrew cute when you’re in college and beer is the central focus of your life. But really, I just need to get stuff done. For the most part pkgsrc does a better job of that than homebrew.
Homebrew does have binary packages for quite a lot (all?) brews now to be fair, as long as you stick it in
/usr/local.(Not advocating homebrew as better than pkgsrc though. Love pkgsrc on my servers, still using homebrew locally. Love both.)
But really, I just need to get stuff done.
Well, I guess Google doesn’t get stuff done then ;).
https://twitter.com/mxcl/status/608682016205344768?lang=en&lang=en
One of the main differences is that it’s binary packages rather than all source.
That’s years ago. Nowadays, many Homebrew formulae are precompiled, so Homebrew rarely compiles stuff anymore:
https://bintray.com/homebrew/bottles
Pkgsrc also has over 14k packages whereas homebrew only has about 3500.
This is a bit disingenuous, because pkgsrc keeps a lot of old versions. E.g.:
http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/multimedia/
There multiple versions versions of VLC, ffmpeg, etc. Then surprisingly, quite a few packages that I regularly use are absent from the Darwin packages (they are in Homebrew). For instance: Qt 5, bazel (for building tensorflow), Armadillo, ghc, cabal-install, pandoc, libsvm, rust (though I’ve switched to rustup.rs), and SWI Prolog is at an old version and only with all packages disabled (lite).
https://pkgsrc.joyent.com/packages/Darwin/trunk/x86_64/All/
Although I like pkgsrc, there are also some nice advantages to Homebrew. E.g., if you want to compile and install your own software, you just use
/usr/local/Cellar/<mypackage>/<myversion>as the prefix and then the usually Homebrew functionality works (brew link <mypackage>to link under/usr/local,brew uninstall <mypackage>to remove, etc.).Thanks, this is useful, I’ll take a look at adding or fixing these. If there are any other packages that people would find useful that are missing, please feel free to raise an issue.
Thanks, that’s useful background (well, minus the equation of one’s package manager and one’s age or taste for alcohol ;)
I’m a massive fan of pkgsrc and a heavy user of it on my Mac systems. I’ve not used homebrew (something just didn’t sit right with me about their approach, never mind that I found the naming of their tools a bit silly), but I have used MacPorts, Fink and a few others and pkgsrc is by far the best way to make OS X usable.
Kudos to jperkin and Joyent for making binary packages available - I toyed with doing the same myself a few years ago (I even had a name - pkgsrcx!) but they’ve done a far better job than I could’ve.