When comparing pkgsrc vs Homebrew, the Slant community recommends Homebrew for most people. In the question“What are the best power user tools for macOS?” Homebrew is ranked 1st while pkgsrc is ranked 61st. The most important reason people chose Homebrew is:
Homebrew makes it easy for people to quickly install any open source software (that is contained within the apps repositories) for Mac.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro pkgin is an apt-like tools for installing binaries from pkgsrc
pkgin aims to be a tool similar to apt/yum for managing pkgsrc binaries by relying on pkg_summary for installing, removing and upgrading packages and dependencies, using a remote repo.
Pro Adapted for use on over a dozen different operating systems
Has been adopted to be used on several Unix-like operating systems and Windows. It's also the default package manager of DragonflyBSD and of the (now discounted) Bluewall Linux distro.
Pro Installs and works in the same way as MacPorts
Installs its own dependencies which means that it is very secure. Cannot install anything unless you use the "sudo" command which is in keeping with the Unix philosophy.
Pro Both binary packages and source build possible
Fast software installation is possible by using binary packages. It's also easy to build from source which allows for different compile-time options (like different UI backends) as well as gaining access to pre-release versions of software in certain cases.
Pro Offering tooling for backporting fixes
Backporting fixes can be done by cherry-picking updates from a newer branch (pkgsrc is released every 3 months) and creating a package. Sometimes bugs need to be fixed for production and there is neither a fix in newer pkgsrc nor the softwares upstream. So pkgsrc has tools like pkgdiff, mkpatches, etc. that help with developing patches and building binary packages from that. A bit of documentation about that process can be found here.
Pro Does not need Xcode command line tools or Xcode.
This means that you can install it fresh on a new installation of MacOS and have all your favorite apps installed right from the start.
Pro Works easily with Ansible
Can be used from within Ansible to install packages on macOS.
Pro Easy installation if you use 3rd party scripts
This one works brilliantly.
Pro Quick access to a large repository of open source software
Homebrew makes it easy for people to quickly install any open source software (that is contained within the apps repositories) for Mac.
Pro Easy to setup and use
Once installed, you control Homebrew using the brew command. You can find packages using brew search, install them using brew install and remove them using brew uninstall.
Pro Open Source
Pro Less maintenance than Macports
Macports seems to be able to get into a bad state where new packages are unable to be installed, or installed software was unable to be updated. This simply hasn't happened with Homebrew. In addition to not having to deal with corruption problems, Homebrew installs packages in userland. Not requiring root to install software is a big win.
Pro Builds quickly and requires few dependencies
Homebrew as much as possible uses already existing libraries and tools to install software thus making builds quick and requiring few dependencies.
Pro Unintrusive
Homebrew installs packages to their own directory and then symlinks their files into /usr/local
. Homebrew won’t install files outside its prefix, and you can place a Homebrew installation wherever you like.
Pro Does not require using sudo
One of the things to like about Homebrew is that it refuses to run things under sudo
most of the time. This is a great policy, but it causes issues when you want to create symlinks or install in places that SIP has changed permissions on.
Pro Homebrew tries very hard to use existing tools and libraries
Homebrew’s recipes try very hard to use the existing tools and libraries in OS/X, so they tend to build much faster and require fewer dependent libraries.
Cons
Con Not so broadly used on MacOS as compared with MacPorts
You do not hear about Pkgsrc as openly as you hear the words "HomeBrew" or "MacPorts".
Con Outdated packages
Some packages are outdated.
Con Can't install some packages
Even building well known packages (except MacPorts) from source using the ports can fail.
Con Relatively complicated setup and installation
Installing and setting pkgsrc up is a bit more complicated than in other package managers where it often consists in running a single script.
Con May cause issues when trying to create symlinks or installing in places where SIP has changed permissions
One of the things to like about Homebrew is that it refuses to run things under sudo
most of the time. This is a great policy, but it causes issues when you want to create symlinks or install in places that SIP has changed permissions on. (Alternatively, you could install Homebrew somewhere other than /usr/local
, but that might break various packages that depend on having stuff in and relative to /usr/local/
.)
Con Command line tools for XCode required
Once xcode is installed you can install Homebrew, including new(er)/different versions of most of the build stuff that xcode-select installed, like a newer gcc, newer git, etc.
Con Relies on outdated system libs
