Введение
Управляющий пакетами для macOS
MacPorts, ранее DarwinPorts, — это менеджер пакетов для macOS и Darwin. Это проект с открытым исходным кодом, целью которого является упрощение установки другого программного обеспечения с открытым исходным кодом. Он функционально схож с Fink и коллекциями портов BSD. MacPorts поддерживает универсальные двоичные файлы для версий macOS на PowerPC, Intel и Apple silicon, однако для перехода с установки MacPorts на PowerPC на версию для Intel Mac требуется переустановка всех установленных портов.
Передние части
[[Файл:Сайт MacPorts Ports.png|thumb|214x214px|Домашняя страница сайта MacPorts Ports с существенными улучшениями пользовательского интерфейса, внесёнными в программу в 2020 году. На ней отображается информация об отдельных портах, такая как статистика установки и история сборки. Пользователи могут при желании войти в систему, чтобы получать уведомления об обновлениях портов.]
История
thumb|Джордан Хаббард, один из основных создателей MacPorts, возглавлявший UNIX-команду Apple.|143x143px|left
MacPorts был запущен в 2002 году при участии ряда сотрудников Apple Inc., включая Лэндона Фуллера, Кевина Ван Вехтена и Джордана Хаббарда. OpenDarwin был закрыт в 2006 году. DarwinPorts затем был размещен на Mac OS Forge, сервисе хостинга проектов с открытым исходным кодом, созданном и поддерживаемом Apple Inc. для сторонних проектов, не поддерживаемых Apple. Чтобы подчеркнуть ориентацию проекта на macOS, его название было изменено на MacPorts. В рамках этого изменения git был использован в качестве новой системы контроля версий, хотя Trac по-прежнему предпочтительнее для управления задачами, чем GitHub issues. Версия 1.0 была выпущена 28 апреля 2005 года. В декабре 2005 года проект достиг важной вехи, превысив 3000 портов. В то время установка пакетов подразумевала загрузку исходного кода и его компиляцию на компьютере пользователя. Версия 2.0, выпущенная в 2011 году, представила поддержку предварительно скомпилированных бинарных архивов; по умолчанию порты устанавливаются с использованием предварительно скомпилированного бинарного архива, если он доступен, в противном случае они собираются из исходного кода. По состоянию на 2023 год MacPorts насчитывает более 33 600 портов, а поддержка на основе усилий сообщества доступна.
MacPorts was started in 2002 with the involvement of a number of Apple Inc. employees, including Landon Fuller, Kevin Van Vechten, and Jordan Hubbard. OpenDarwin was shut down in 2006. DarwinPorts was then hosted on Mac OS Forge, an open source hosting service created and maintained by Apple Inc. for third party projects not supported by Apple. So as to indicate the project's emphasis on macOS, its name was changed to MacPorts. As part of this change, git was used as the new version control system, although Trac was still preferred for ticket management over GitHub issues. Version 1.0 was released on April 28, 2005. In December 2005 the project reached a milestone, surpassing 3000 ports. At that time, package installation involved the source code being downloaded and compiled on the end user's machine. Version 2.0, released in 2011, introduced support for prebuilt binary archives; by default ports are installed using the prebuilt binary archive if available, and are built from source otherwise. as of 2023, MacPorts has over 33,600 ports and best effort support can be sourced from the community.
Реализация
MacPorts устанавливает программное обеспечение поверх операционной системы, предоставляя более новые версии предустановленных пакетов или программного обеспечения, отсутствующего в macOS. Это отличается от других систем управления пакетами, таких как APT и DNF, которые являются частью операционной системы. По этой причине MacPorts иногда называют системой наложения (overlay distribution). Другие примеры включают Fink и Homebrew. В отличие от FreeBSD Ports Collection, которая устанавливает программное обеспечение в /usr/local, MacPorts по умолчанию хранит свои данные в /opt/local, хотя это можно изменить при компиляции MacPorts из исходного кода. Причина этого изменения заключается в том, что другие системы управления пакетами могут перезаписать установленное MacPorts программное обеспечение, или наоборот. Выделенный каталог помогает избежать этой проблемы. Fink придерживается аналогичного подхода, устанавливая свои данные по умолчанию в /sw.
Разработка
thumb|Беджи встречи MacPorts 2018.|185x185px|слеваthumb|Разработчики MacPorts на встрече 2019 года в Scout Center Bohinj, Словения.|221x221pxПакеты находятся в ответственности отдельных сопровождающих, которые указаны в portfile. Ожидается, что они будут обновлять порт и применять исправления ошибок при необходимости. Любой, кто хочет изменить portfile, должен уведомить сопровождающего перед применением изменений, хотя это не всегда требуется для незначительных изменений. Любой желающий может внести вклад в MacPorts, как правило, через pull requests, а участники могут подать заявку на права коммита после демонстрации хорошей работы в качестве сопровождающего. Команда членов MacPorts, известная как руководители проекта, помогает вести и координировать проект. Начиная с 2016 года, встречи проводятся периодически, примерно раз в год. Обычно они проходят в Словении и позволяют членам MacPorts работать над будущим развитием. Пользователи могут просматривать аналитические данные на веб-сайте MacPorts.