{{Short description|Package manager for Unix-like operating systems}}{{Primary sources|date=April 2024}} {{Lowercase title}} {{Infobox software | name = pkgsrc | logo = Pkgsrc.svg | logo size = 200px | screenshot = | caption = | author = | developer = Alistair Crooks, Hubert Feyrer and Johnny C. Lam<ref name="10yrs-pt1">{{cite web|title=10 years of pkgsrc - pkgsrc and the concepts of package management 1997-2007 (part 1)|url=https://www.netbsd.org/gallery/10years.html#alcrooks|work=www.netbsd.org|publisher= The NetBSD Foundation|access-date=14 October 2010}}</ref> | released = {{Start date and age|1998|01|04}} | latest release version = {{wikidata|property|reference|P348}} | latest release date = {{start date and age|{{wikidata|qualifier|P348|P577}}}} | latest preview version = | latest preview date = | operating system = Unix-like | platform = | programming language = C, Unix shell | genre = Package management system | license = BSD License | website = {{URL|https://www.pkgsrc.org}} }} '''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.{{r|informit-2006}}

{{Asof|September 2025}}, pkgsrc currently contains over 29,000 packages<ref>{{Cite mailing list|url=https://mail-index.netbsd.org/netbsd-announce/2025/09/25/msg000387.html|title=pkgsrc-2025Q3 released|last=Siegert|first=Benn|date=25 September 2025|access-date=1 October 2025}}</ref> 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,<ref name=pkgsrc-linux>{{cite web |url=http://pkgsrc.joyent.com/install-on-linux/ |title=Joyent Packages Documentation - Install On Linux |publisher=Joyent |access-date=2018-10-10}}</ref> macOS,<ref name=pkgsrc-osx>{{cite web |url=http://pkgsrc.joyent.com/install-on-osx/ |title=Joyent Packages Documentation - Install On macOS |publisher=Joyent |access-date=2018-10-10 |archive-date=2018-10-06 |archive-url=https://web.archive.org/web/20181006125302/http://pkgsrc.joyent.com/install-on-osx/ |url-status=dead }}</ref> Solaris, and QNX.<ref>{{cite web |url=http://mail-index.netbsd.org/pkgsrc-users/2018/10/05/msg027525.html |title=Announcing the pkgsrc-2018Q3 release |last=Perkin|first=Jonathan |publisher=NetBSD |date=2018-10-05 |access-date=2018-10-10}}</ref>

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 {{mono|pkg_add}} and {{mono|pkg_delete}} tools. A high-level utility named {{mono|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.<ref>{{cite web|url=http://pkgin.net/|title=pkgin, a binary package manager for pkgsrc}}</ref>

Several vendors, including [https://mnx.io MNX.io], provide binary packages for popular operating systems, including macOS and Linux.{{r|pkgsrc-osx|pkgsrc-linux}}

== Supported platforms == {| class="wikitable" style="margin:auto; margin:0 0 0 2em; font-size:85%;" |- ! 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<ref name="10yrs-pt1"/> based on the FreeBSD ports system and intended to support the NetBSD packages collection. It was officially released as part of NetBSD 1.3<ref>{{cite web|url=//www.netbsd.org/releases/formal-1.3/|title=Information about NetBSD 1.3}}</ref> on January 4, 1998. DragonFly BSD used pkgsrc as its official package system from version 1.4 in 2006, to 3.4 in 2013.<ref>{{cite web |url=https://leaf.dragonflybsd.org/mailarchive/users/2005-08/msg00347.html |first=Matthew |last=Dillon |title=PKGSRC will be officially supported as of the next release |publisher=DragonFly users mailing list |date=2005-08-31}}</ref>{{r|informit-2006}}

On 2017-09-12, a commit message policy that accommodates DVCS was established by the project.{{r|dvcs}}

== 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.<ref name=tnf-packages>{{Cite web|url=http://ftp.netbsd.org/pub/pkgsrc/packages/|title=Index of pub/PKGSRC/Packages/}}</ref>

As of 2018, several vendors provide pre-built binary packages for several platforms:

* Since at least 2014,<ref name=joyent/> Joyent has provided binary packages for SmartOS/illumos, macOS,<ref name=pkgsrc-osx/> and Enterprise Linux (CentOS/Oracle/Red Hat/Scientific).<ref name=pkgsrc-linux/><ref name=joyent>{{cite web |archive-url=https://web.archive.org/web/20140715002720/http://pkgsrc.joyent.com/ |title=Joyent's packages, available for SmartOS/illumos, Linux, and OSX |archive-date=2014-07-15 |access-date=2018-10-11 |url=http://pkgsrc.joyent.com/ |url-status=live }}</ref> Packages are provided on a rolling release basis from the trunk (HEAD, in CVS terminology) of pkgsrc, with updates every few days;<ref name=pkgsrc-osx/> additionally, quarterly stable releases of pkgsrc for Joyent's own SmartOS are also provided (dating back to 2012Q4).<ref>{{Cite web|url=http://pkgsrc.joyent.com/packages/|title = Index of /Packages/}}</ref>

* Since 2017,<ref name=msg025383/> University of Wisconsin–Milwaukee has provided binary packages for NetBSD, RHEL/CentOS, and Darwin/macOS.<ref name=uwm>{{cite web |url=http://mirror1.hpc.uwm.edu/pkgsrc/packages/sharedapps/ |title=mirror1.hpc.uwm.edu/pkgsrc/ |access-date=2018-10-11 }}</ref><ref name=uwm2>{{cite web |url=https://uwm.edu/hpc/software-management/ |title=Software Management |publisher=University of Wisconsin–Milwaukee, High Performance Computing dept |access-date=2018-10-11 }}</ref> 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.<ref name=msg025383>{{cite mailing list |url=http://mail-index.netbsd.org/pkgsrc-users/2017/08/01/msg025383.html |title=Re: Pkgsrc binary packages now available for scientific computing |mailing-list=pkgsrc-users |publisher=NetBSD |date=2017-08-01 |access-date=2018-10-13 }}</ref>

==References== {{Reflist |refs=

<ref name= informit-2006 >{{cite web |author= David Chisnall |date= 2006-10-06 |url= http://www.informit.com/articles/printerfriendly/655422 |title= NetBSD: Not Just for Toasters |publisher= Prentice Hall Professional |website= InformIT |access-date= 2019-07-25 }}</ref>

<ref name=dvcs>{{cite mailing list |author= Thomas Klausner |date= 2017-09-12 |url= http://mail-index.netbsd.org/pkgsrc-users/2017/09/12/msg025574.html |title= pkgsrc Commit Message Policy |mailing-list= pkgsrc-users@ |publisher= NetBSD |access-date= 2019-05-09 }}</ref>

}}

==External links== {{Portal | Computer programming | Free and open-source software | Linux }} * {{Official website}} * [https://pkgsrc.se/ A web interface for pkgsrc] * [https://pkgsrc.org/wip pkgsrc-wip] &ndash; a project to get more people actively involved with pkgsrc * [https://pkgsrc.org/pkgsrcCon pkgsrcCon: An annual conference focusing on pkgsrc] * [https://old.reddit.com/r/pkgsrc /r/pkgsrc] on Reddit

{{NetBSD}} {{Package management systems}}

Category:Console applications Category:Free package management systems Category:Linux package management-related software Category:NetBSD Category:Software using the BSD license Category:Unix package management-related software Category:Utility software for Linux Category:Utility software for macOS