# Pkgsrc

pkgsrc (package source) is a package management system for Unix-like operating systems. It was forked from the FreeBSD ports collection in 1997 as the primary package management system for NetBSD. Since then it has evolved independently; in 1999, support for Solaris was added, followed by support for other operating systems.
pkgsrc currently contains over 22,000 packages and includes most popular open-source software. It is the native package manager on NetBSD, SmartOS and MINIX 3, and is portable across 23 different operating systems, including AIX, various BSD derivatives, HP-UX, IRIX, Linux, macOS, Solaris, and QNX.
There are multiple ways to install programs using pkgsrc. The pkgsrc bootstrap contains a traditional ports collection that utilizes a series of makefiles to compile software from source. Another method is to install pre-built binary packages via the pkg_add and pkg_delete tools. A high-level utility named pkgin also exists, and is designed to automate the installation, removal, and update of binary packages in a manner similar to Debian's Advanced Packaging Tool.
Several vendors, including MNX.io, provide binary packages for popular operating systems, including macOS and Linux.

## Supported platforms

| Platform | Date added |
| NetBSD | October 1997 |
| Solaris | March 1999 |
| Linux | June 1999 |
| Darwin and macOS | October 2001 |
| FreeBSD | November 2002 |
| OpenBSD | November 2002 |
| IRIX | December 2002 |
| BSD/OS | December 2003 |
| AIX | December 2003 |
| Interix (for Windows NT) | March 2004 |
| DragonFly BSD | October 2004 |
| OSF/1 | November 2004 |
| HP-UX | April 2007 |
| QNX | October 2007 |
| Haiku | January 2010 |
| MINIX 3 | August 2010 |
| MirBSD | January 2011 |
| illumos and SmartOS | February 2011 |
| Cygwin | May 2013 |
| GNU/kFreeBSD | July 2013 |
| Bitrig | June 2015 |

## History

On October 3, 1997, NetBSD developers Alistair Crooks and Hubert Feyrer created pkgsrc based on the FreeBSD ports system and intended to support the NetBSD packages collection. It was officially released as part of NetBSD 1.3 on January 4, 1998. DragonFly BSD used pkgsrc as its official package system from version 1.4 in 2006, to 3.4 in 2013.
On 2017-09-12, a commit message policy that accommodates DVCS was established by the project.

## Packages

The NetBSD Foundation provides official, pre-built binary packages for multiple combinations of NetBSD and pkgsrc releases, and occasionally for certain other operating systems as well.
As of 2018, several vendors provide pre-built binary packages for several platforms:
* Since at least 2014, Joyent has provided binary packages for SmartOS/illumos, macOS, and Enterprise Linux (CentOS/Oracle/Red Hat/Scientific). Packages are provided on a rolling release basis from the trunk (HEAD, in CVS terminology) of pkgsrc, with updates every few days; additionally, quarterly stable releases of pkgsrc for Joyent's own SmartOS are also provided (dating back to 2012Q4).
* Since 2017, University of Wisconsin–Milwaukee has provided binary packages for NetBSD, RHEL/CentOS, and Darwin/macOS. Packages are only built from the quarterly releases of pkgsrc, aiding use in long-term experiments, where stability and reproducibility of the findings is of the essence.