pkgsrc is a framework for building over 20,000 open source software packages. It is the native package manager on SmartOS, NetBSD, and Minix, and is portable across 23 different operating systems. Use one package manager across all of your systems!
Joyent provide binary packages for SmartOS/illumos, macOS, and Linux.
We provide the pkgin
binary package manager with our bootstrap kits,
making it easy to search for, install, and upgrade binary packages. If you are used to
apt-get
or yum
on Linux it should feel very familiar.
If you prefer you can build packages from source, perhaps to use different package
options or CFLAGS
. No problem! One simple command automatically
downloads, builds, and installs everything required - even dependencies!
If a package you want isn't available yet, it's easy to create it. Packages are driven by a simple Makefile, tools are available to make creating new packages easy, and there is infrastructure built-in to handle many portability issues.
# pkgin search ffmpeg
ffmpeg3-3.0.1 Decoding, encoding and streaming software (v3.x)
ffmpeg2-2.8.6 Decoding, encoding and streaming software (v2.x)
ffmpeg1-1.2.12 Decoding, encoding and streaming software (v1.x)
# pkgin -y install ffmpeg3
# vi /opt/pkg/etc/mk.conf.local
PKG_OPTIONS.ffmpeg3+= faac x265
CFLAGS+= -O3
# cd pkgsrc/multimedia/ffmpeg3
# bmake install
# mkdir misc/foo
# cd misc/foo
# url2pkg http://si.te/foo-1.0.tar.gz
# vi Makefile
# bmake install
Our primary platform is SmartOS, but our packages are portable across illumos distributions. They are available in 3 sets (32-bit, 64-bit, multiarch) for SmartOS, OmniOS, OpenIndiana, and Tribblix.
For macOS you can choose between 32-bit packages built on Snow Leopard for maximum portability, or 64-bit packages built on Mavericks to take advantage of newer features and compilers.
Our Linux packages are built on CentOS 6 and 7 for distributions based on RedHat Enterprise Linux. They provide a useful companion to the default set of available RPM packages.
For other platforms you can easily bootstrap the package tools and then build packages from source. We have support for 23 different operating systems - even Cygwin and Haiku!