pkgsrc logo

Portable Package Management

pkgsrc is a framework for building over 17,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, Mac OS X, and Linux.


Install Binary Packages

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.

Build From Source

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!

Create New Packages

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

SmartOS/Illumos

Our primary platform is SmartOS, but our packages are portable across illumos distributions. They are available in 3 sets (32-bit, 64-bit, multiarch) and are tested on OmniOS and OpenIndiana.

Mac OS X

For OS X 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.

Linux

Our Linux packages are built on CentOS 6 for distributions based on RHEL 6 and are available for 32-bit and 64-bit. They provide a useful companion to the default set of available RPM packages.

Others

For all other platforms you can easily bootstrap the package tools and then start building packages from source. We have support for 23 different operating systems - even Windows/Cygwin and Haiku!