MacPorts, formerly called DarwinPorts, is a package management system that simplifies the installation of software on the macOS and Darwin operating systems. It is an open-source software project to simplify installation of other open source software. Similar in aim and function to Fink and the BSDs' ports collections, DarwinPorts was started in 2002 as part of the OpenDarwin project, with the involvement of a number of Apple Inc. employees including Landon Fuller, Kevin Van Vechten, and Jordan Hubbard.
Screenshot of the port command running in Terminal
2.5.4 / 3 October 2018
|Written in||Tcl and C|
|Operating system||macOS, Darwin|
|Platform||IA-32, x86-64, PowerPC|
|Type||Package management system|
It allows the installation of a number of packages by entering the command sudo port install packagename in the Terminal, which will then download, compile if necessary, and install the requested software, while also installing any required dependencies automatically. Installed packages can be updated with the command sudo port upgrade outdated.
On April 28, 2005, the project released version 1.0 of their software. In December 2005, the project reached a milestone, passing 3000 ports. In August 2010, MacPorts version 1.9.1 surpassed 7000 ports. As of March 2013[update], MacPorts version 2.1.3 has over 16,500 ports.
MacPorts was hosted on Mac OS Forge, an open source hosting service created and maintained by Apple Inc. for third-party projects not supported by Apple. When Apple closed Mac OS Forge in 2016, the project moved to GitHub.  Best-effort support can be sourced from the community.
MacPorts supports universal binaries for both PowerPC and Intel-based versions of Mac OS X, but migrating from a PowerPC installation of MacPorts to a version on an Intel Mac requires reinstalling all installed ports.
The official MacPorts GUI application is called Pallet and began as a Google Summer of Code project in 2009.
MacPorts is notably different from FreeBSD Ports, OpenBSD ports and pkgsrc in that the installation is normally done from the source code by the end user, as, until recently, no binary packages were provided by MacPorts. In 2012, it was announced that binary packages were finally made available for certain ports by the MacPorts project, however, initially, the number of packages was severely limited, as licensing information wasn't originally maintained by MacPorts for many ports in the collection. Alternative solutions for macOS include using pkgsrc with over 17,000 binary packages provided by Joyent, which also provides the binary packages for Enterprise Linux and SmartOS as well, on a regular basis since 2014, making it possible to use the same packages and package-management tools both locally on macOS, as well as in the cloud on Linux or SmartOS, simplifying the development environment.
- "Releases · macports/macports-base · GitHub".
- "DarwinPorts project announces New Hosting and New Name". darwinports.opendarwin.org (archived). August 7, 2006. Retrieved 2007-03-05.
- "MacPorts". www.macports.org. January 5, 2011. Retrieved 2010-10-15.
- Markus Weissmann (April 28, 2005). "DarwinPorts v1.0". darwinports.opendarwin.org (archived). Archived from the original on 2006-06-29. Retrieved 2007-03-05.
- "3000 ports landmark". darwinports.opendarwin.org (archived). December 17, 2005. Archived from the original on 2006-06-29. Retrieved 2007-03-05.
- "The MacPorts Project -- Home". Retrieved 2012-03-23.
- "Archived copy". Archived from the original on 2010-08-20. Retrieved 2010-08-17.CS1 maint: Archived copy as title (link)
- "Migrating a MacPorts install to a new major OS version or CPU architecture". MacPorts. Retrieved 2013-05-27.
- Joshua Root (2012-05-11). "Prebuilt archives available for Lion". MacPorts-announce (Mailing list). Retrieved 2019-03-01.
- "Joyent Packages Documentation - Install On macOS". Joyent. Retrieved 2019-03-01.
These example screenshots show just a small number of the 17,000+ binary packages available in our 64-bit pkgsrc set. All examples were produced on a clean install of macOS El Capitan (10.11.4) inside VMware Fusion.