Pkgsrc

{{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{{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}}

| 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}}

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,{{cite web |url=http://pkgsrc.joyent.com/install-on-linux/ |title=Joyent Packages Documentation - Install On Linux |publisher=Joyent |access-date=2018-10-10}} macOS,{{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 }} Solaris, and QNX.{{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}}

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.{{cite web|url=http://pkgin.net/|title=pkgin, a binary package manager for pkgsrc}}

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 based on the FreeBSD ports system and intended to support the NetBSD packages collection. It was officially released as part of NetBSD 1.3{{cite web|url=//www.netbsd.org/releases/formal-1.3/|title=Information about 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.{{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}}{{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.{{Cite web|url=http://ftp.netbsd.org/pub/pkgsrc/packages/|title=Index of pub/PKGSRC/Packages/}}

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

|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

}} 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).{{Cite web|url=http://pkgsrc.joyent.com/packages/|title = Index of /Packages/}}

|url=http://mirror1.hpc.uwm.edu/pkgsrc/packages/sharedapps/

|title=mirror1.hpc.uwm.edu/pkgsrc/

|access-date=2018-10-11

}}{{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

}} 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.{{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

}}

References

{{Reflist |refs=

{{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

}}

{{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

}}

}}